:root{
  /* Pilotage centralisé des réglages "Personnaliser" (Shoptimizer/Kirki) */
  /* Valeurs par défaut = valeurs actuellement définies dans le Personnaliser. */
  /* Les variables --gold, --gold-light, --dark, --white, --font-serif,       */
  /* --font-sans, --font-size-small sont définies dans css/speednox.css       */
  /* (chargé en dépendance) et réutilisées ici via var().                     */
  --accent:           var(--gold-dark);
  --link-color:       var(--gold-dark);
  --link-hover-color: var(--gold-light);
  --cta-color:        var(--gold);
  --cta-hover-color:  var(--gold-light);
  --star-color:       var(--gold);

  --topbar-bg:  var(--dark-mid);
  --topbar-border: #EEEEEE;
  --topbar-text:   #323232;
  --nav-strip-bg:  #222222;

  --font-accent:     'DM Sans', sans-serif;
  --font-size-base:  15px;
  --h1-size: 26px;
  --h2-size: 24px;
  --h3-size: 20px;
  --h4-size: 17px;
  --h5-size: 16px;

  --logo-height:        38px;
  --logo-height-stuck:  60px;
  --logo-height-mobile: 22px;
}

/* ------------------------------------------------------------------ */
/* Overrides des réglages "Personnaliser" (Shoptimizer / Kirki)       */
/* ------------------------------------------------------------------ */
/* Shoptimizer génère son CSS dynamique via Kirki, qui l'injecte en    */
/* <style id="kirki-inline-styles"> dans le <head> au hook wp_head     */
/* (priorité 999) — donc APRES ce fichier (chargé via wp_enqueue_style,*/
/* imprimé bien plus tôt, priorité 8). A specificité CSS égale, le CSS */
/* de Kirki gagnerait (il arrive en dernier dans le flux HTML) : c'est */
/* pour ça que chaque règle ci-dessous est préfixée par                */
/* :is(.woocommerce, .woocommerce-page) plutôt que par :where(...).    */
/* Contrairement à :where() (spécificité nulle), :is() prend la        */
/* spécificité de son argument le plus fort — ici une classe. Comme on */
/* reprend systématiquement le sélecteur exact généré par Kirki en y   */
/* ajoutant CETTE classe en plus, notre sélecteur a TOUJOURS une       */
/* spécificité strictement supérieure à celui de Kirki : on gagne      */
/* nativement la cascade, sans !important.                             */
/*                                                                      */
/* SCOPE : :is(.woocommerce, .woocommerce-page) = classes posées par    */
/* WooCommerce sur le <body> des pages boutique (shop, catégories,     */
/* produit, panier, checkout, mon compte). Sur les pages de contenu    */
/* (hors boutique), aucune de ces règles ne matche => elles n'ont      */
/* aucun effet et ces pages gardent le rendu Kirki/Personnaliser       */
/* d'origine, inchangé.                                                */
/*                                                                      */
/* Méthode pour ajouter un nouvel override :                           */
/*   1. Inspecter le bloc <style id="kirki-inline-styles"> pour        */
/*      repérer le sélecteur exact généré par un réglage.              */
/*   2. Reprendre ce même sélecteur ici en le préfixant par             */
/*      ":is(.woocommerce, .woocommerce-page) " (ou en insérant       */
/*      ":is(.woocommerce, .woocommerce-page)" juste après "body"     */
/*      si le sélecteur commence par "body"), avec var(--xxx).         */
/*      PAS de !important : la classe ajoutée suffit à gagner.         */
/* Les variables ci-dessus (dans :root) sont les seuls points à        */
/* modifier au quotidien : couleurs, polices/tailles, tailles d'image. */
/* ------------------------------------------------------------------ */

/* --- Couleurs : accent (prix, badges, onglets, panier, menu) --- */
:is(.woocommerce, .woocommerce-page) .price ins,
:is(.woocommerce, .woocommerce-page) .woocommerce-pagination .page-numbers li .page-numbers.current,
:is(.woocommerce, .woocommerce-page) div.product p.price,
:is(.woocommerce, .woocommerce-page) #secondary .widget ins span.amount,
:is(.woocommerce, .woocommerce-page) #secondary .widget ins span.amount span,
:is(.woocommerce, .woocommerce-page) .widget-area .widget.widget_categories a:hover,
:is(.woocommerce, .woocommerce-page) .widget-area .widget a:hover,
:is(.woocommerce, .woocommerce-page) #secondary .widget ul li a:hover,
:is(.woocommerce, .woocommerce-page) #secondary.widget-area .widget li.chosen a,
:is(.woocommerce, .woocommerce-page) #secondary .widget_recent_comments ul li a:hover,
:is(.woocommerce, .woocommerce-page) .search-results article h2 a:hover,
body:is(.woocommerce, .woocommerce-page):not(.mobile-toggled) .main-navigation ul.menu li.full-width.menu-item-has-children ul li.highlight > a,
body:is(.woocommerce, .woocommerce-page):not(.mobile-toggled) .main-navigation ul.menu li.full-width.menu-item-has-children ul li.highlight > a:hover,
:is(.woocommerce, .woocommerce-page) .main-navigation ul.menu ul li.menu-item:not(.menu-item-image):not(.heading) > a:hover,
:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents .count,
:is(.woocommerce, .woocommerce-page) .shoptimizer-cart-icon i
{
	color: var(--accent);
}
:is(.woocommerce, .woocommerce-page) .spinner > div,
:is(.woocommerce, .woocommerce-page) .widget_price_filter .ui-slider .ui-slider-range,
:is(.woocommerce, .woocommerce-page) .widget_price_filter .ui-slider .ui-slider-handle,
:is(.woocommerce, .woocommerce-page) #page .woocommerce-tabs ul.tabs li span,
:is(.woocommerce, .woocommerce-page) .woocommerce-tabs ul.tabs li a span,
:is(.woocommerce, .woocommerce-page) .commercekit-atc-tab-links li a span,
:is(.woocommerce, .woocommerce-page) .main-navigation ul li a span strong,
:is(.woocommerce, .woocommerce-page) .widget_layered_nav ul.woocommerce-widget-layered-nav-list li.chosen:before,
:is(.woocommerce, .woocommerce-page) .header-widget-region,
:is(.woocommerce, .woocommerce-page) .call-back-feature button,
:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents:hover .count
{
	background-color: var(--accent);
}
:is(.woocommerce, .woocommerce-page) .woocommerce-tabs .tabs li a::after,
:is(.woocommerce, .woocommerce-page) .commercekit-atc-tab-links li a:after,
:is(.woocommerce, .woocommerce-page) .menu-primary-menu-container > ul > li > a span:before,
:is(.woocommerce, .woocommerce-page) .menu-primary-menu-container > ul > li.nolink > span:before,
:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents .count,
:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents .count:after
{
	border-color: var(--accent);
}
:is(.woocommerce, .woocommerce-page) .header-widget-region,
:is(.woocommerce, .woocommerce-page) .header-widget-region a,
:is(.woocommerce, .woocommerce-page) .call-back-feature button,
:is(.woocommerce, .woocommerce-page) .site-content div.call-back-feature button:hover,
:is(.woocommerce, .woocommerce-page) .shoptimizer-cart .cart-contents
{
	color: var(--white);
}
:is(.woocommerce, .woocommerce-page) .header-widget-region,
:is(.woocommerce, .woocommerce-page) .top-bar
{
	font-size: var(--font-size-small);
}

/* --- Couleurs : accent version mobile (menu burger, icônes) --- */
@media (max-width: 992px)
{
	:is(.woocommerce, .woocommerce-page) .menu-toggle .bar,
	:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents:hover .count
	{
		background-color: var(--gold);
	}
	:is(.woocommerce, .woocommerce-page) .menu-toggle .bar-text,
	:is(.woocommerce, .woocommerce-page) .menu-toggle:hover .bar-text,
	:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents .count,
	:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents:not(:hover) .count
	{
		color: var(--gold);
	}
	:is(.woocommerce, .woocommerce-page) .mobile-search-toggle svg,
	:is(.woocommerce, .woocommerce-page) .shoptimizer-myaccount svg,
	:is(.woocommerce, .woocommerce-page) .shoptimizer-cart-icon svg
	{
		stroke: var(--gold);
	}
	:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents .count,
	:is(.woocommerce, .woocommerce-page) .shoptimizer-cart a.cart-contents .count:after
	{
		border-color: var(--gold);
	}
}

/* --- Couleurs : liens --- */
/* :not(footer *) : exclut tout élément situé dans le footer (géré par Elementor). */
:is(.woocommerce, .woocommerce-page) a:not(footer *)
{
	color: var(--link-color);
}
:is(.woocommerce, .woocommerce-page) a:hover:not(footer *)
{
	color: var(--link-hover-color);
}

/* --- Couleurs : boutons CTA (ajouter au panier, commander, formulaires) --- */
/* :not(footer *) sur les sélecteurs génériques : le footer (Elementor) ne doit jamais être touché.  */
/* :not(.woocommerce-message *):not(.woocommerce-info *):not(.woocommerce-error *) sur les            */
/* sélecteurs génériques : les boutons DANS une notification WooCommerce (ajout panier, info, erreur) */
/* doivent conserver le rendu natif Shoptimizer (fond transparent + séparateur gauche, texte blanc)   */
/* pour rester cohérents avec le fond coloré de la notif (vert/bleu/rouge) — et non prendre le gold.  */
:is(.woocommerce, .woocommerce-page) .button:not(footer *):not(.woocommerce-message *):not(.woocommerce-info *):not(.woocommerce-error *),
:is(.woocommerce, .woocommerce-page) .wc-proceed-to-checkout a.button,
:is(.woocommerce, .woocommerce-page) .commercekit-wishlist-table button,
:is(.woocommerce, .woocommerce-page) input[type=submit]:not(footer *),
:is(.woocommerce, .woocommerce-page) ul.products li.product .button,
:is(.woocommerce, .woocommerce-page) ul.products li.product .added_to_cart,
:is(.woocommerce, .woocommerce-page) ul.wc-block-grid__products .wp-block-button__link,
:is(.woocommerce, .woocommerce-page) .site .widget_shopping_cart a.button.checkout,
:is(.woocommerce, .woocommerce-page) .woocommerce #respond input#submit.alt,
:is(.woocommerce, .woocommerce-page) .main-navigation ul.menu ul li a.button,
:is(.woocommerce, .woocommerce-page) .site div.wpforms-container-full .wpforms-form button[type=submit],
:is(.woocommerce, .woocommerce-page) .product .cart .single_add_to_cart_button,
:is(.woocommerce, .woocommerce-page) .woocommerce-cart p.return-to-shop a,
:is(.woocommerce, .woocommerce-page) .elementor-row .feature p a,
:is(.woocommerce, .woocommerce-page) .image-feature figcaption span,
:is(.woocommerce, .woocommerce-page) .wp-element-button.wc-block-cart__submit-button,
:is(.woocommerce, .woocommerce-page) .wp-element-button.wc-block-components-button.wc-block-components-checkout-place-order-button
{
	color: var(--white);
	background-color: var(--cta-color);
}
:is(.woocommerce, .woocommerce-page) .widget_shopping_cart a.button.checkout
{
	border-color: var(--cta-color);
}
:is(.woocommerce, .woocommerce-page) .button:hover:not(footer *):not(.woocommerce-message *):not(.woocommerce-info *):not(.woocommerce-error *),
:is(.woocommerce, .woocommerce-page) [type="submit"]:hover:not(footer *),
:is(.woocommerce, .woocommerce-page) .commercekit-wishlist-table button:hover,
:is(.woocommerce, .woocommerce-page) ul.products li.product .button:hover,
:is(.woocommerce, .woocommerce-page) #place_order[type="submit"]:hover,
body:is(.woocommerce, .woocommerce-page) .woocommerce #respond input#submit.alt:hover,
:is(.woocommerce, .woocommerce-page) .product .cart .single_add_to_cart_button:hover,
:is(.woocommerce, .woocommerce-page) .site div.wpforms-container-full .wpforms-form button[type=submit]:hover,
:is(.woocommerce, .woocommerce-page) ul.products li.product .added_to_cart:hover,
:is(.woocommerce, .woocommerce-page) ul.wc-block-grid__products .wp-block-button__link:hover,
:is(.woocommerce, .woocommerce-page) .widget_shopping_cart a.button.checkout:hover,
:is(.woocommerce, .woocommerce-page) .woocommerce-cart p.return-to-shop a:hover,
:is(.woocommerce, .woocommerce-page) .wp-element-button.wc-block-cart__submit-button:hover,
:is(.woocommerce, .woocommerce-page) .wp-element-button.wc-block-components-button.wc-block-components-checkout-place-order-button:hover
{
	background-color: var(--cta-hover-color);
}
:is(.woocommerce, .woocommerce-page) .widget_shopping_cart a.button.checkout:hover
{
	border-color: var(--cta-hover-color);
}
:is(.woocommerce, .woocommerce-page) ul.checkout-bar:before,
:is(.woocommerce, .woocommerce-page) .woocommerce-checkout .checkout-bar li.active:after,
:is(.woocommerce, .woocommerce-page) ul.checkout-bar li.visited:after
{
	background-color: var(--cta-color);
}

/* --- Couleurs : badge promo (onsale) --- */
:is(.woocommerce, .woocommerce-page) .onsale,
:is(.woocommerce, .woocommerce-page) .product-label,
:is(.woocommerce, .woocommerce-page) .wc-block-grid__product-onsale
{
	background-color: var(--cta-color);
	color: var(--white);
}
:is(.woocommerce, .woocommerce-page) .content-area .summary .onsale
{
	color: var(--cta-color);
}
:is(.woocommerce, .woocommerce-page) .summary .product-label:before,
:is(.woocommerce, .woocommerce-page) .product-details-wrapper .product-label:before
{
	border-right-color: var(--cta-color);
}

/* --- Couleurs : avis / étoiles --- */
:is(.woocommerce, .woocommerce-page) .entry-content .testimonial-entry-title:after,
:is(.woocommerce, .woocommerce-page) .cart-summary .widget li strong::before,
:is(.woocommerce, .woocommerce-page) p.stars.selected a.active::before,
:is(.woocommerce, .woocommerce-page) p.stars:hover a::before,
:is(.woocommerce, .woocommerce-page) p.stars.selected a:not(.active)::before
{
	color: var(--star-color);
}
:is(.woocommerce, .woocommerce-page) .star-rating > span:before
{
	background-color: var(--star-color);
}

/* --- Couleurs : structure générale (body, header, bandeau) --- */
/* Footer exclu volontairement : géré par Elementor, ne jamais override.*/
body:is(.woocommerce, .woocommerce-page)
{
	background-color: var(--white);
}
:is(.woocommerce, .woocommerce-page) .col-full.topbar-wrapper
{
	background-color: var(--topbar-bg);
	border-bottom-color: var(--topbar-border);
}
:is(.woocommerce, .woocommerce-page) .top-bar,
:is(.woocommerce, .woocommerce-page) .top-bar a
{
	color: var(--topbar-text);
}
body:is(.woocommerce, .woocommerce-page):not(.header-4) .site-header,
:is(.woocommerce, .woocommerce-page) .header-4-container
{
	background-color: var(--dark);
}
@media (min-width: 993px)
{
	:is(.woocommerce, .woocommerce-page) .col-full-nav
	{
		background-color: var(--nav-strip-bg);
	}
}
@media (max-width: 992px)
{
	:is(.woocommerce, .woocommerce-page) .col-full-nav,
	:is(.woocommerce, .woocommerce-page) .m-search-bh .site-search,
	:is(.woocommerce, .woocommerce-page) .m-search-toggled .site-search,
	:is(.woocommerce, .woocommerce-page) .site-branding button.menu-toggle,
	:is(.woocommerce, .woocommerce-page) .site-branding button.menu-toggle:hover
	{
		background-color: var(--dark);
	}
}
/* --- Typographie : base --- */
/* :not(footer *) : le footer (Elementor) ne doit jamais être touché. */
body:is(.woocommerce, .woocommerce-page),
:is(.woocommerce, .woocommerce-page) button:not(footer *),
:is(.woocommerce, .woocommerce-page) input:not(footer *),
:is(.woocommerce, .woocommerce-page) select:not(footer *),
:is(.woocommerce, .woocommerce-page) option:not(footer *),
:is(.woocommerce, .woocommerce-page) textarea:not(footer *)
{
	font-family: var(--font-sans);
	font-size: var(--font-size-base);
}

/* --- Typographie : titres --- */
:is(.woocommerce, .woocommerce-page) h1:not(footer *)
{
	font-family: var(--font-serif);
	font-size: var(--h1-size);
	font-weight: 300;
}
:is(.woocommerce, .woocommerce-page) h2:not(footer *)
{
	font-family: var(--font-serif);
	font-size: var(--h2-size);
	font-weight: 300;
}
:is(.woocommerce, .woocommerce-page) h3:not(footer *)
{
	font-family: var(--font-serif);
	font-size: var(--h3-size);
	font-weight: 300;
}
:is(.woocommerce, .woocommerce-page) h4:not(footer *)
{
	font-family: var(--font-serif);
	font-size: var(--h4-size);
}
:is(.woocommerce, .woocommerce-page) h5:not(footer *)
{
	font-family: var(--font-serif);
	font-size: var(--h5-size);
	font-weight: 300;
}

/* --- Typographie : titres de widgets --- */
:is(.woocommerce, .woocommerce-page) .widget .widget-title:not(footer *),
:is(.woocommerce, .woocommerce-page) .widget .widgettitle:not(footer *),
:is(.woocommerce, .woocommerce-page) .widget.widget_block h2:not(footer *)
{
	font-family: var(--font-accent);
	font-weight: 600;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

/* --- Typographie : nom produit en vues listes (boucle boutique) --- */
/* Graisse seule : la taille reste celle du Personnaliser / Kirki. */
:is(.woocommerce, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title,
:is(.woocommerce, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title a,
:is(.woocommerce, .woocommerce-page) ul.products li.product:not(.product-category) h2.woocommerce-loop-product__title,
:is(.woocommerce, .woocommerce-page) .wc-block-grid__product .wc-block-grid__product-title
{
	font-weight: 600;
}
:is(.woocommerce, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title .speednox-loop-product-sku
{
	font-weight: 400;
}

/* --- Typographie : nom produit en vue fiche --- */
/* Kirki cible `.summary h1` (réglage Single Product Title). Scope `.single-product` : */
/* les titres de boucle (related, upsells) restent sur les règles listes ci-dessus. */
:is(.woocommerce, .woocommerce-page).single-product .summary h1
{
	color: var(--dark);
	font-weight: 400;
	margin-top: 0.25em;
}

/* --- Images : logo --- */
:is(.woocommerce, .woocommerce-page) .site-header .custom-logo-link img
{
	height: var(--logo-height);
}
:is(.woocommerce, .woocommerce-page) .is_stuck .logo-mark
{
	width: var(--logo-height-stuck);
}
@media (max-width: 992px)
{
	body.theme-shoptimizer:is(.woocommerce, .woocommerce-page) .site-header .custom-logo-link img,
	body.wp-custom-logo:is(.woocommerce, .woocommerce-page) .site-header .custom-logo-link img
	{
		height: var(--logo-height-mobile);
	}
}

