/**
 * Okane — habillage sombre des pages WooCommerce (panier, commande, compte,
 * boutique, produit), cohérent avec la landing et la page presets.
 *
 * Scopé sous body.woocommerce-page / .woocommerce pour n'affecter que le
 * contenu WooCommerce — jamais le header/footer partagés ni la page [okane_presets].
 */

body.woocommerce-page {
	/* Jetons du thème (okane-portfolio) ; repli = mode sombre d'origine. */
	--wc-bg: var(--ok-bg, #0a0a0b);
	--wc-soft: var(--ok-bg-soft, #14141a);
	--wc-ink: var(--ok-ink, #f4f2ee);
	--wc-muted: var(--ok-muted, #8b8a86);
	--wc-line: var(--ok-line, rgba(255, 255, 255, .14));
	--wc-accent: var(--ok-accent, #e9dccb);
	--wc-display: 'Space Grotesk', system-ui, sans-serif;
	--wc-serif: 'Fraunces', Georgia, serif;
	background: var(--wc-bg) !important;
	color: var(--wc-ink);
	font-family: var(--wc-display);
}

/* Rendre transparents les conteneurs clairs du thème pour laisser voir le fond. */
body.woocommerce-page #page,
body.woocommerce-page #content,
body.woocommerce-page .site-content,
body.woocommerce-page .ast-container,
body.woocommerce-page .site-primary,
body.woocommerce-page #primary,
body.woocommerce-page .entry-content,
body.woocommerce-page .ast-article-single {
	background: transparent !important;
	color: var(--wc-ink);
	box-shadow: none;
}

/* En-tête de page / fil d'ariane du thème. */
body.woocommerce-page .entry-title,
body.woocommerce-page .ast-single-post-order,
body.woocommerce-page h1,
body.woocommerce-page h2,
body.woocommerce-page h3 {
	color: var(--wc-ink);
}
body.woocommerce-page .entry-title {
	font-family: var(--wc-serif);
	font-style: italic;
	font-weight: 500;
}
.woocommerce-breadcrumb {
	color: var(--wc-muted) !important;
	font-size: 13px;
	letter-spacing: .04em;
}
.woocommerce-breadcrumb a { color: var(--wc-muted); }
.woocommerce-breadcrumb a:hover { color: var(--wc-accent); }

/* Liens de contenu WooCommerce. */
.woocommerce a:not(.button):not(.wc-block-components-button) { color: var(--wc-accent); }
.woocommerce a:not(.button):hover { color: var(--wc-ink); }

/* --- Tableaux (panier, totaux, revue de commande, commandes) --- */
.woocommerce table.shop_table,
.woocommerce table.woocommerce-table,
.woocommerce .cart_totals table,
.woocommerce-checkout-review-order-table,
.woocommerce table.my_account_orders {
	background: var(--wc-soft);
	border: 1px solid var(--wc-line);
	border-radius: 12px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	color: var(--wc-ink);
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce .cart_totals th,
.woocommerce .cart_totals td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce table.my_account_orders th,
.woocommerce table.my_account_orders td {
	border-top: 1px solid var(--wc-line) !important;
	color: var(--wc-ink);
	background: transparent;
}
/* Astra peint l'entete des tableaux avec sa propre variable claire
   (--ast-wc-container-head-bg-color, posee sur table.shop_table thead). Nos
   regles ne touchaient que th/td : la bande restait donc blanche sous un texte
   blanc. On reprend la variable a la source, et on repeint thead par securite. */
body.woocommerce-page,
body.woocommerce {
	--ast-wc-container-head-bg-color: transparent;
	/* Astra n'emploie ce jeton QUE pour le bandeau de titre des totaux du panier
	   (« Cart totals »), en #fbfbfb : un texte clair y devenait invisible. */
	--ast-global-dark-lfs: var(--ok-field-bg, rgba(255, 255, 255, .03));
	/* Tous les filets des pages WooCommerce, une quarantaine d'usages chez
	   Astra : ils doivent suivre le fond sombre, pas le thème clair d'origine. */
	--ast-border-color: var(--wc-line);
}
.woocommerce table.shop_table thead,
.woocommerce table.woocommerce-table thead,
.woocommerce-checkout-review-order-table thead,
.woocommerce table.my_account_orders thead {
	background: var(--ok-field-bg, rgba(255, 255, 255, .03)) !important;
	color: var(--wc-ink);
}
.woocommerce table.shop_table thead th { border-top: 0 !important; }
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td { background: var(--ok-field-bg, rgba(255, 255, 255, .03)); }
.woocommerce table.shop_table td.product-name a,
.woocommerce .cart-item__name a { color: var(--wc-ink); }
.woocommerce .product-remove a.remove {
	color: var(--wc-accent) !important;
	border: 1px solid var(--wc-line);
}
.woocommerce .product-remove a.remove:hover { background: var(--wc-accent); color: var(--ok-on-accent,#0a0a0b) !important; }
.woocommerce .woocommerce-Price-amount { color: var(--wc-ink); }

/* --- Champs de formulaire (commande, connexion, coupon) --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce #coupon_code {
	background: var(--wc-soft) !important;
	color: var(--wc-ink) !important;
	border: 1px solid var(--wc-line) !important;
	border-radius: 8px !important;
}
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce textarea::placeholder { color: var(--wc-muted); }
.woocommerce form .form-row input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce #coupon_code:focus {
	border-color: var(--wc-accent) !important;
	outline: none;
}
.woocommerce label,
.woocommerce .woocommerce-form__label,
body.woocommerce-page .woocommerce-input-wrapper,
.woocommerce-checkout h3 { color: var(--wc-ink); }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--wc-ink); }
.woocommerce .select2-dropdown,
.woocommerce .select2-results { background: var(--wc-soft); color: var(--wc-ink); }

.woocommerce .quantity input.qty {
	background: var(--wc-soft) !important;
	color: var(--wc-ink) !important;
	border: 1px solid var(--wc-line) !important;
	border-radius: 8px;
}

/* --- Boutons --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: transparent;
	color: var(--wc-ink);
	border: 1px solid var(--wc-line);
	border-radius: 999px;
	padding: 12px 24px;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	font-weight: 500;
	transition: transform .3s cubic-bezier(.19,1,.22,1), border-color .3s, background .3s, color .3s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { border-color: var(--wc-accent); color: var(--wc-accent); transform: translateY(-2px); }

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	background: var(--wc-accent) !important;
	color: var(--ok-on-accent,#0a0a0b) !important;
	border-color: var(--wc-accent) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover { transform: translateY(-2px); opacity: .92; }

/* --- Notices --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	background: var(--wc-soft) !important;
	color: var(--wc-ink) !important;
	border-top: 3px solid var(--wc-accent) !important;
	border-radius: 8px;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--wc-accent); }
.woocommerce-error { border-top-color: #d9534f !important; }
.woocommerce-error::before { color: #d9534f; }

/* --- Mon compte : navigation en onglets --- */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	border: 1px solid var(--wc-line);
	border-radius: 12px;
	overflow: hidden;
	background: var(--wc-soft);
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--wc-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 20px;
	color: var(--wc-muted);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 13px;
	transition: background .3s, color .3s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--wc-ink); background: var(--ok-hover, rgba(255,255,255,.07)); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--ok-on-accent,#0a0a0b); background: var(--wc-accent); }

/* --- Boutique / boucle produit --- */
.woocommerce ul.products li.product {
	background: var(--wc-soft);
	border: 1px solid var(--wc-line);
	border-radius: 14px;
	overflow: hidden;
	padding: 0 0 18px;
	transition: transform .5s cubic-bezier(.19,1,.22,1), border-color .5s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-6px); border-color: var(--ok-line-strong, rgba(255,255,255,.22)); }
.woocommerce ul.products li.product a img { margin: 0 0 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 16px; color: var(--wc-ink); font-size: 1.1rem; }
.woocommerce ul.products li.product .price { padding: 0 16px; color: var(--wc-ink) !important; }
.woocommerce ul.products li.product .price del { color: var(--wc-muted); opacity: .7; }
.woocommerce ul.products li.product .button { margin: 12px 16px 0; }

/* --- Produit seul --- */
.woocommerce div.product .product_title { color: var(--wc-ink); font-family: var(--wc-serif); font-style: italic; }

/* Visuel encadré sur la fiche d'un tirage (moulure + passe-partout + ombre),
   cohérent avec la page /tirages. Ciblé sur la catégorie « tirages » seulement. */
.woocommerce div.product.product_cat-tirages .woocommerce-product-gallery__image {
	background: #ece9e1;
	padding: clamp(18px, 5%, 40px);
	border: 12px solid #17140f;
	border-radius: 2px;
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, .05),
		inset 0 0 0 1px rgba(0, 0, 0, .3),
		0 40px 60px -30px rgba(0, 0, 0, .85);
}
.woocommerce div.product.product_cat-tirages .woocommerce-product-gallery__image img { background: #ece9e1; }

.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--wc-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--wc-soft);
	border-color: var(--wc-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--wc-line); }
.woocommerce-tabs .panel { color: var(--wc-ink); }

/* Séparateurs / divers */
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading { color: var(--wc-ink); }
.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-register,
.woocommerce .col-1, .woocommerce .col-2 {
	border-color: var(--wc-line);
}
