/**
Theme Name: Sick & Twisted
Author: Mathis Cantin
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* ========== 1. ROOT & VARIABLES ========== */
:root {
    --color-bg: #1e1e1e;
    --color-footer-bg: #323232;
    --color-border: #474747;
    --color-text: #b6b6b6;
    --color-accent-yellow: #fccb00;
    --color-accent-green: #00b460;
    --color-accent-green-hover: #00d670;
    /* Hero : remonte tout le <main> sous le header / drip (ajuste si trop haut / trop bas) */
    --st-hero-main-pull: -40px;
    /* Images : tirage lÃ©ger sous le drip (moins nÃ©gatif = un peu plus de hauteur visible) */
    --st-hero-carousel-img-margin-top: -30px;
    --st-hero-carousel-img-margin-bottom: -22px;
    /* Desktop : plafond hauteur des visuels hero (swiper) */
    --st-hero-slide-max-h: 80vh;
    /* Hero : hauteur minimum du carrousel (Ã©vite un bandeau trop court sur mobile) */
    --st-hero-carousel-min-h: 500px;
    /*
     * Slides 1â€“7 : ratio largeur/hauteur du bandeau = mÃªme cadrage image au resize (object-fit: cover stable).
     * Ajuster pour coller aux dimensions rÃ©elles de 01.webp (desktop) et 01_mobile.webp (â‰¤599px).
     */
    --st-hero-slide-aspect-w: 32;
    --st-hero-slide-aspect-h: 13;
    /* Home: only transition bar â†’ first products carousel overlaps (negative margin); rest uses gap */
    --st-home-section-overlap: clamp(-4.5rem, -8vw, -2.5rem);
    --st-home-section-gap: clamp(1.25rem, 2.75vw, 2rem);
    /* Match hero pagination → first products title (~89px) after CTAs / image-carousel dots */
    --st-home-section-trail: 90px;
    /* Space between last page content and footer (aligned with section trails) */
    --st-footer-trail: 90px;
    /* Home carousels: largeur max (% du conteneur). Produits Woo â‰  bandes image+texte (piment / tomate). */
    --st-products-carousel-max-w: 86%;
    --st-image-carousel-max-w: 77%;
    /* Nos produits : même gouttière que le header (grille 1200px + décalage nav/actions 10rem). */
    --st-nos-produits-max-w: calc(1200px + 20rem);
    --st-nos-produits-pad-x: 1.25rem;
    --gap-footer: 1em;
}

/* Hero carousel: image-only slides, keep the baked-in copy visible */
#hero-carousel .swiper-slide {
    position: relative;
    overflow: hidden;
    background: #1e1e1e;
    min-height: 0 !important;
    height: auto !important;
}

#hero-carousel .swiper-slide > picture {
    display: block;
    width: 100%;
}

#hero-carousel .swiper-slide > picture > img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Desktop CTA hover: jaune layer stacked over blanc (opacity only â€” no src swap / black flash) */
#hero-carousel .swiper-slide > .hero-slide-img--hover {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center center;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.12s ease;
}

@media (min-width: 600px) {
    #hero-carousel .swiper-slide > .hero-slide-img--hover {
        display: block;
    }

    #hero-carousel .swiper-slide.is-cta-hovered > .hero-slide-img--hover {
        opacity: 1;
    }
}

/* Hero baked-in CTA: invisible hit areas (desktop hover reveals jaune layer) */
.hero-slide-cta {
    display: none;
    position: absolute;
    z-index: 2;
    border-radius: 5px;
}

.hero-slide-cta:focus-visible {
    outline: 3px solid var(--color-accent-yellow);
    outline-offset: 2px;
}

/* Desktop CTA hotspots (positions from blanc/jaune pixel diff on 1920Ã—780) */
@media (min-width: 600px) {
    #hero-carousel .hero-slide-cta--desktop {
        display: block;
    }

    #hero-carousel .hero-slide-1 .hero-slide-cta--desktop {
        top: 80.5%;
        left: 67%;
        width: 16%;
        height: 8%;
    }

    #hero-carousel .hero-slide-3 .hero-slide-cta--desktop {
        top: 82%;
        left: 30%;
        width: 18%;
        height: 8%;
    }

    #hero-carousel .hero-slide-4 .hero-slide-cta--desktop {
        top: 82%;
        left: 18%;
        width: 18%;
        height: 8%;
    }

    #hero-carousel .hero-slide-5 .hero-slide-cta--desktop {
        top: 80.5%;
        left: 20%;
        width: 16%;
        height: 8%;
    }

    #hero-carousel .hero-slide-6 .hero-slide-cta--desktop {
        top: 82%;
        left: 17%;
        width: 18%;
        height: 8%;
    }

    #hero-carousel .hero-slide-7 .hero-slide-cta--desktop {
        top: 80.5%;
        left: 16%;
        width: 16%;
        height: 8%;
    }
}

@media (max-width: 599px) {
    #hero-carousel .hero-slide-cta--mobile {
        display: block;
        top: 85%;
        left: 24%;
        width: 52%;
        height: 9%;
    }

    #hero-carousel .hero-slide-1 .hero-slide-cta--mobile,
    #hero-carousel .hero-slide-5 .hero-slide-cta--mobile,
    #hero-carousel .hero-slide-7 .hero-slide-cta--mobile {
        left: 26%;
        width: 48%;
    }
}

@media (max-width: 899px) {
    #hero-carousel .swiper-slide {
        min-height: 0 !important;
        height: auto !important;
    }
}

/* Text selection: white text, dark background (no pink) â€“ !important so child theme wins online */
::selection {
    background: var(--color-footer-bg) !important;
    color: #fff !important;
}
::-moz-selection {
    background: var(--color-footer-bg) !important;
    color: #fff !important;
}

/* All bold text: white */
strong,
b {
    color: #fff !important;
}

/* All site buttons: hover uses --color-footer-bg */
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus {
    background: var(--color-footer-bg) !important;
}

/* Boutons / contrÃ´les natifs : rayon 5px (les flÃ¨ches carrousel etc. gardent leur rÃ¨gle plus spÃ©cifique ou !important) */
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    border-radius: 5px;
}

/* Shared hover color for interactive elements */
a:hover,
a:focus-visible,
button:hover,
button:focus-visible,
[role="button"]:hover,
[role="button"]:focus-visible {
    color: var(--color-accent-yellow) !important;
}

/* Storefront icon / cart / wishlist: no dotted focus ring on click (keyboard users still get focus-visible where we allow) */
.product-card-icon-btn:focus,
.product-card-icon-btn:focus-visible,
.product-card-icon-btn:focus:not(:focus-visible),
.st-product-purchase-box .single_add_to_cart_button:focus,
.st-product-purchase-box .single_add_to_cart_button:focus-visible,
.wc-block-mini-cart__button:focus,
.wc-block-mini-cart__button:focus-visible,
.yith-wcwl-add-to-wishlist a:focus,
.yith-wcwl-add-to-wishlist a:focus-visible,
.yith-wcwl-add-to-wishlist button:focus,
.yith-wcwl-add-to-wishlist button:focus-visible,
.yith-wcwl-add-button a:focus,
.yith-wcwl-add-button a:focus-visible,
.yith-wcwl-wishlistaddedbrowse a:focus,
.yith-wcwl-wishlistaddedbrowse a:focus-visible,
.yith-wcwl-wishlistexistsbrowse a:focus,
.yith-wcwl-wishlistexistsbrowse a:focus-visible,
.st-product-favorites .yith-wcwl-add-to-wishlist a:focus,
.st-product-favorites .yith-wcwl-add-to-wishlist a:focus-visible,
.st-product-favorites .yith-wcwl-add-to-wishlist button:focus,
.st-product-favorites .yith-wcwl-add-to-wishlist button:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* All selects: no background, no border (closed); open panel options use --color-bg, hover/checked use --color-footer-bg */
select {
    background: none !important;
    border: none !important;
    color: var(--color-text);
    appearance: none;
    -webkit-appearance: none;
}
select:hover,
select:focus {
    outline: none;
}
select option {
    background: var(--color-bg);
    color: #fff;
}
select option:hover,
select option:focus {
    background: var(--color-footer-bg);
}
select option:checked {
    background: var(--color-footer-bg);
}

/* ========== 2. FONTS ========== */
/* Myriad Pro faces (Light/Regular/Semibold/Bold) are injected from functions.php
   with theme-relative WOFF2 URLs — do not duplicate @font-face here. */
body,
html {
    font-family: 'Myriad Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Myriad Pro everywhere â€“ override Astra/theme heading fonts */
*,
h1, h2, h3, h4, h5, h6,
.entry-title,
.ast-site-title-wrap,
.products-carousel-title,
p, span, a, li, label, input, button, select, textarea {
    font-family: 'Myriad Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* ========== 2b. SCROLL REVEAL (pop-in when scrolling into view) ========== */
/* Add class .st-scroll-reveal or attribute data-st-scroll-reveal on any block. */
.st-scroll-reveal:not(.st-scroll-reveal--visible) {
    opacity: 0;
    transform: translate3d(0, 2rem, 0) scale(0.97);
}

.st-scroll-reveal.st-scroll-reveal--visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    transition:
        opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.75s cubic-bezier(0.34, 1.2, 0.64, 1);
}

@media (prefers-reduced-motion: reduce) {
    .st-scroll-reveal:not(.st-scroll-reveal--visible) {
        opacity: 1;
        transform: none;
    }

    .st-scroll-reveal.st-scroll-reveal--visible {
        transition: none;
    }
}

/* ========== 3. BASE (html, body, overflow, background) ========== */
html,
body {
    max-width: 100% !important;
}

/*
 * Astra sets body { overflow-x: hidden }, which (CSS quirk) forces overflow-y to
 * compute as auto â†’ a second vertical scrollbar next to the viewport one.
 * Prefer clip: it stops sideways bleed without creating a nested scrollport.
 * Also avoid 100vw full-bleeds (wider than the layout box when a scrollbar exists).
 */
html {
    overflow-x: clip;
}
body {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

/* Mobile only: lock page to vertical scroll (no horizontal pan / rubber-band) */
@media (max-width: 768px) {
    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
        overflow-x: clip !important;
        overscroll-behavior-x: none;
    }

    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: clip !important;
        overscroll-behavior-x: none;
        overflow-anchor: none;
    }

    /*
     * pan-y alone blocks pinch-zoom (S25) AND horizontal pan after zoom (S24).
     * pinch-zoom must be listed; when html.st-is-zoomed, pan-x is re-enabled (see below).
     */
    html,
    body {
        touch-action: pan-y pinch-zoom;
    }

    body {
        position: relative;
        overflow-y: visible !important;
    }

    /* Do NOT set overflow-x on #page/main â€” that also forces overflow-y:auto (nested bar).
       Sideways clip stays on html/body; carousels clip themselves. */
    #page,
    #content,
    .ast-container,
    main,
    main.wp-block-group,
    .site-content,
    .content-area {
        max-width: 100% !important;
        width: 100% !important;
        overscroll-behavior-x: none;
    }

    /* Carousels may swipe horizontally; keep the page clipped around them */
    .hero-carousel-section,
    #hero-carousel,
    #hero-carousel.swiper,
    .pepper-carousel-section,
    .tomato-carousel-section,
    .products-carousel-section,
    .products-carousel-viewport {
        max-width: 100% !important;
        overflow-x: clip !important;
    }

    #hero-carousel .swiper-wrapper,
    #pepper-carousel .swiper-wrapper,
    #tomato-carousel .swiper-wrapper,
    .products-carousel .swiper-wrapper {
        /* Swiper needs to translate slides; clip is on the parent */
        touch-action: pan-y pinch-zoom;
    }

    #hero-carousel,
    #pepper-carousel,
    #tomato-carousel,
    .products-carousel {
        touch-action: pan-y pinch-zoom;
    }

    .header-main-wrapper,
    .announcement-bar-wrapper,
    .transition-bar-overlay {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .announcement-bar-wrapper .announcement-bar-container {
        max-width: 100% !important;
    }

    .mobile-menu-search-input {
        font-size: 16px;
    }
}

/*
 * Pinch-zoom uses the visual viewport. overflow-x:clip + touch-action:pan-y freeze
 * that viewport on Chrome/Samsung: the page zooms but cannot be panned left/right.
 * Descendants (carousels) keep pan-y at 1x; once zoomed they must allow pan-x too.
 */
html.st-is-zoomed,
html.st-is-zoomed body {
    overflow-x: visible !important;
    overflow-y: visible !important;
    overscroll-behavior: auto !important;
    touch-action: pan-x pan-y pinch-zoom !important;
}

html.st-is-zoomed #page,
html.st-is-zoomed #content,
html.st-is-zoomed main,
html.st-is-zoomed .ast-container,
html.st-is-zoomed .site-content,
html.st-is-zoomed .content-area {
    overscroll-behavior-x: auto !important;
}

html.st-is-zoomed,
html.st-is-zoomed * {
    touch-action: pan-x pan-y pinch-zoom !important;
}

html,
body,
main,
.site,
.hfeed,
.site-content,
.ast-container,
.content-area,
#page {
    background-color: var(--color-bg) !important;
}

.wp-site-blocks,
.wp-block-cover,
.wp-block-columns {
    background-color: transparent !important;
}

/* ========== 4. TYPOGRAPHY & LINKS ========== */
/* Text color white site-wide */
html,
body,
body *,
p,
h1, h2, h3, h4, h5, h6,
a,
span,
div,
li,
td,
th,
label,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select,
.site-title,
.site-description,
.widget-title,
.entry-title,
.entry-content,
.entry-summary {
	color: #b6b6b6 !important;
}

/* Links hover state */
a:hover,
a:focus {
	color: #b6b6b6 !important;
	opacity: 0.8;
}

/* Product image is inside an <a>; site-wide a:hover opacity dims the whole photo */
.product-card-link--media:hover,
.product-card-link--media:focus,
.product-card-link--media:focus-visible {
	opacity: 1 !important;
}

/* ========== FORM INPUTS (visible text + rounded style) ========== */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"],
textarea,
.woocommerce-form-row input.input-text,
.woocommerce form .form-row input.input-text {
	color: #1e1e1e !important;
	background-color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 5px !important;
	padding: 0.65em 1em !important;
	font-size: 1em !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
.woocommerce-form-row input.input-text:focus,
.woocommerce form .form-row input.input-text:focus {
	outline: none !important;
	border-color: #6b6b6b !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15) !important;
}
input::placeholder,
textarea::placeholder {
	color: #6b6b6b !important;
	opacity: 1;
}

/* ========== 5. LAYOUT (#page, main, footer flex) ========== */
/* (see Sticky footer and following) */

/* ========== 6. WOOCOMMERCE ========== */
/* WooCommerce container background */
.ast-woocommerce-container {
	background-color: #1e1e1e !important;
}

/* WooCommerce article and product backgrounds */
.ast-article-single,
.ast-article-single.ast-woo-product-no-review,
.type-product,
.product {
	background-color: #1e1e1e !important;
}

/* WooCommerce product link borders */
.attachment-woocommerce_thumbnail {
	border: 10px solid #2d2d2d !important;
}

.attachment-woocommerce_thumbnail:hover {
	border: 10px solid var(--color-border) !important;
}

/* WooCommerce quantity input background */
input.qty,
input[type="number"].qty,
.input-text.qty {
	background-color: #2d2d2d !important;
    color: #b6b6b6 !important;
    border-radius: 0px !important;
}

/* WooCommerce sale badge text color */
.ast-on-card-button,
.ast-onsale-card {
	color: #000000 !important;
}

/* Shopping bag icon color */
.ahfb-svg-iconset .ast-icon.icon-bag,
.ahfb-svg-iconset .ast-icon.icon-bag svg,
.ahfb-svg-iconset .ast-icon.icon-bag svg path {
	fill: #000000 !important;
	color: #000000 !important;
}

/* Mini cart button - remove background, border, and padding */
.wc-block-mini-cart__button {
	background-color: transparent !important;
	background: none !important;
	border: none !important;
	transition: color 0.2s ease;
}

.wc-block-mini-cart__button.st-cart-bounce {
	animation: st-cart-bounce 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.wc-block-mini-cart__button.st-cart-bounce .wc-block-mini-cart__badge {
	animation: st-badge-flash 0.6s ease;
}

@keyframes st-cart-bounce {
	0%   { transform: scale(1); }
	25%  { transform: scale(1.35); }
	50%  { transform: scale(0.9); }
	75%  { transform: scale(1.1); }
	100% { transform: scale(1); }
}

.wc-block-mini-cart__button {
	padding: 0 !important;
}

/* Mini cart badge text color */
.wc-block-mini-cart__badge {
	background-color: #e74c3c !important; /* red pastille */
	color: #ffffff !important;
	min-width: 18px;
	height: 18px;
	padding: 0 6px;
	border-radius: 999px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	font-family: 'Myriad Pro', sans-serif;
	line-height: 1;
}

@keyframes st-badge-flash {
	0%   { transform: translateY(-50%) scale(1); opacity: 1; }
	40%  { transform: translateY(-50%) scale(1.35); opacity: 1; }
	70%  { transform: translateY(-50%) scale(0.9); opacity: 1; }
	100% { transform: translateY(-50%) scale(1); opacity: 1; }
}

/* ========== MINI CART DRAWER (slide-out panel) ========== */
/*
 * WC impose rgba(95,95,95,.35) sur .wc-block-components-drawer__screen-overlay.
 * Structure rÃ©elle : lâ€™overlay ENVELOPPE le panneau (pas .wc-block-mini-cart__drawer .overlay).
 * Mini-cart Interactivity API (footer) : pas de body.drawer-open â†’ classe body.st-wc-mini-cart-open.
 */
[data-wp-interactive="woocommerce/mini-cart"].wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden):has(> .wc-block-mini-cart__drawer.wc-block-components-drawer),
.drawer-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
html.drawer-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
html.st-mini-cart-tray-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
body.drawer-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
body.st-wc-mini-cart-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) {
	background: rgba(0, 0, 0, 0.6) !important;
	background-color: rgba(0, 0, 0, 0.6) !important;
	z-index: 100100 !important;
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

/* Closed tray must not steal clicks (overlay sits in the sticky header). */
.wc-block-components-drawer__screen-overlay.wc-block-components-drawer__screen-overlay--is-hidden:not([data-st-forced-open="1"]),
.wc-block-components-drawer__screen-overlay.wc-block-components-drawer__screen-overlay--is-hidden:not([data-st-forced-open="1"]) .wc-block-mini-cart__drawer,
.wc-block-components-drawer__screen-overlay.wc-block-components-drawer__screen-overlay--is-hidden:not([data-st-forced-open="1"]) .wc-block-mini-cart__drawer * {
	pointer-events: none !important;
}

.wc-block-components-drawer__screen-overlay.wc-block-components-drawer__screen-overlay--is-hidden:not([data-st-forced-open="1"]) {
	visibility: hidden !important;
}

/*
 * If Woo Interactivity never hydrates (Hostinger / slow modules / translated DOM),
 * theme JS sets data-st-forced-open and this still shows the tray.
 */
.wc-block-components-drawer__screen-overlay[data-st-forced-open="1"] {
	background: rgba(0, 0, 0, 0.6) !important;
	background-color: rgba(0, 0, 0, 0.6) !important;
	z-index: 100100 !important;
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.wc-block-components-drawer__screen-overlay[data-st-forced-open="1"] .wc-block-mini-cart__drawer,
.wc-block-components-drawer__screen-overlay[data-st-forced-open="1"] .wc-block-mini-cart__drawer * {
	pointer-events: auto !important;
	visibility: visible !important;
}

.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) .wc-block-mini-cart__drawer.wc-block-components-drawer,
.wc-block-components-drawer__screen-overlay[data-st-forced-open="1"] .wc-block-mini-cart__drawer.wc-block-components-drawer {
	left: auto !important;
	right: 0 !important;
	transform: none !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	background: var(--color-bg, #1e1e1e) !important;
}

/*
 * Drawer shell (LTR): round top-left + bottom-left only.
 * WC uses transform + #fff bg â€” border-radius alone can fail; clip-path reinforces the curve.
 */
.wc-block-mini-cart__drawer.wc-block-components-drawer {
	/* Largeur comme .st-auth-drawer-panel (min(100%, 30rem)) ; WC dÃ©faut 480px sur :root */
	--drawer-width: min(100vw, 30rem) !important;
	--neg-drawer-width: calc(0px - min(100vw, 30rem)) !important;
	background: var(--color-bg, #1e1e1e) !important;
	border: none !important;
	border-left: none !important;
	border-top: none !important;
	outline: none !important;
	box-shadow: -12px 0 40px rgba(0, 0, 0, 0.55) !important;
	border-radius: 14px 0 0 14px !important;
	overflow: hidden !important;
	isolation: isolate;
	-webkit-clip-path: inset(0 round 14px 0 0 14px);
	clip-path: inset(0 round 14px 0 0 14px);
}

/* Glissement : mÃªme durÃ©e / easing que les panneaux .st-* (0.25s ease) */
.drawer-open .wc-block-components-drawer__screen-overlay--with-slide-out .wc-block-mini-cart__drawer.wc-block-components-drawer,
html.st-mini-cart-tray-open .wc-block-components-drawer__screen-overlay--with-slide-out .wc-block-mini-cart__drawer.wc-block-components-drawer,
body.st-wc-mini-cart-open .wc-block-components-drawer__screen-overlay--with-slide-out .wc-block-mini-cart__drawer.wc-block-components-drawer,
.wc-block-components-drawer__screen-overlay--with-slide-out:not(.wc-block-components-drawer__screen-overlay--is-hidden):has(> .wc-block-mini-cart__drawer) .wc-block-mini-cart__drawer.wc-block-components-drawer {
	transition: transform 0.25s ease !important;
}

.drawer-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
html.st-mini-cart-tray-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
body.st-wc-mini-cart-open .wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden),
[data-wp-interactive="woocommerce/mini-cart"].wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) {
	transition: opacity 0.25s ease !important;
}

/* Inner panel: column flex — le contenu rempli défile (items → footer → recommandations) */
.wc-block-mini-cart__drawer.wc-block-components-drawer {
	display: flex !important;
	flex-direction: column !important;
	height: 100dvh !important;
	max-height: 100dvh !important;
}

body.admin-bar .wc-block-mini-cart__drawer.wc-block-components-drawer {
	height: calc(100dvh - 32px) !important;
	max-height: calc(100dvh - 32px) !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .wc-block-mini-cart__drawer.wc-block-components-drawer {
		height: calc(100dvh - 46px) !important;
		max-height: calc(100dvh - 46px) !important;
	}
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
	background: var(--color-bg, #1e1e1e) !important;
	border: none !important;
	border-left: none !important;
	border-top: none !important;
	outline: none !important;
	box-shadow: none !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: 100% !important;
	overflow: hidden !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: 100% !important;
}

/* IAPI toggles [hidden] on filled vs empty branches — never override that with flex. */
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block[hidden],
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block[hidden] {
	display: none !important;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block:not([hidden]),
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block:not([hidden]) {
	display: flex !important;
	flex-direction: column !important;
	/* WC default space-between + height:100% spread title / promos / items / footer. */
	justify-content: flex-start !important;
	align-content: flex-start !important;
	gap: 0 !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: 100% !important;
}

/* Rempli : panier scrollable + dock (reco + COMMANDER) collé en bas */
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block:not([hidden]) {
	overflow: hidden !important;
	-webkit-overflow-scrolling: auto !important;
	overscroll-behavior: none !important;
}

.wc-block-mini-cart__drawer .st-mini-cart-scroll {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior: contain !important;
	display: flex !important;
	flex-direction: column !important;
}

.wc-block-mini-cart__drawer .st-mini-cart-dock {
	flex: 0 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	background: var(--color-bg, #1e1e1e) !important;
	z-index: 4 !important;
	box-shadow: 0 -10px 24px rgba(0, 0, 0, 0.35) !important;
}

/* Clear break between cart lines and recommendations */
.wc-block-mini-cart__drawer .st-mini-cart-scroll {
	border-bottom: none !important;
}

.wc-block-mini-cart__drawer .st-mini-cart-dock .wc-block-mini-cart__footer {
	order: 2 !important;
	margin-top: 0 !important;
	border-top: 1px solid var(--color-border, #636363) !important;
	padding: 1rem 12px max(1rem, env(safe-area-inset-bottom, 0px)) !important;
}

/* RTL: panel slides from the other side â€” round the inner vertical edge */
html[dir="rtl"] .wc-block-mini-cart__drawer.wc-block-components-drawer,
.rtl .wc-block-mini-cart__drawer.wc-block-components-drawer {
	border-radius: 0 14px 14px 0 !important;
	-webkit-clip-path: inset(0 round 0 14px 14px 0);
	clip-path: inset(0 round 0 14px 14px 0);
}

/* Title row (close + heading): same bg so no seam under admin bar / top edge */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer .wc-block-mini-cart__header {
	background: var(--color-bg, #1e1e1e) !important;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	border-left: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part {
	border-left: none !important;
}

/*
 * Mini-panier IAPI : le Ã— est dans .wc-block-components-drawer__close-wrapper (AVANT le <h2>),
 * pas dans le titre â€” on le calque en haut Ã  droite sur la mÃªme ligne visuelle que le titre.
 */
.wc-block-mini-cart__drawer [data-wp-interactive="woocommerce/mini-cart-contents"].wp-block-woocommerce-mini-cart-contents,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents[data-wp-interactive="woocommerce/mini-cart-contents"] {
	position: relative !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	z-index: 6 !important;
	width: 60px !important;
	height: 60px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	pointer-events: auto !important;
}

html[dir="rtl"] .wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper,
.rtl .wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper {
	right: auto !important;
	left: 0 !important;
}

/* Ã— dans le wrapper IAPI (mÃªme rendu que .st-tray-head) */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper .wc-block-components-drawer__close {
	position: static !important;
	inset: auto !important;
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #b6b6b6 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	opacity: 1 !important;
	font-size: 1.75rem !important;
	font-weight: 300 !important;
	line-height: 0 !important;
	cursor: pointer !important;
	transition: color 0.2s ease !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper .wc-block-components-drawer__close svg {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper .wc-block-components-drawer__close::after {
	content: "\00d7";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
	line-height: 0;
	font-weight: 300;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper .wc-block-components-drawer__close:hover,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper .wc-block-components-drawer__close:focus-visible {
	color: #fff !important;
	background: transparent !important;
	outline: none !important;
	box-shadow: none !important;
}

/*
 * RangÃ©e titre : une ligne, texte blanc, libellÃ© + compteur Ã  gauche, Ã— Ã  droite (IAPI via padding).
 * Legacy : bouton fermer DANS le <h2> â†’ row-reverse.
 */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer h2.wc-block-mini-cart__title {
	display: flex !important;
	/* WC default + ancien rÃ©glage Â« center Â» : le texte Ã©tait centrÃ© dans min-height:60px â†’ visuellement trop bas */
	align-items: flex-start !important;
	width: 100% !important;
	min-height: 60px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	/* Annule le masque WC (peut tronquer / dÃ©caler visuellement le titre) */
	mask-image: none !important;
	-webkit-mask-image: none !important;
	/* MÃªme trait que footer / lignes produit du tiroir */
	border-bottom: 1px solid var(--color-border, #636363) !important;
	padding-bottom: 0.75rem !important;
	margin-bottom: 0 !important;
	flex-wrap: nowrap !important;
	white-space: nowrap !important;
	color: #fff !important;
}

/* IAPI & co. : pas de bouton dans le h2 â€” libellÃ© + (n) bien collÃ©s */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title:not(:has(> .wc-block-components-drawer__close)) {
	flex-direction: row !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	padding: 0.4rem 4rem 0.75rem 1rem !important;
}

html[dir="rtl"] .wc-block-mini-cart__drawer .wc-block-mini-cart__title:not(:has(> .wc-block-components-drawer__close)),
.rtl .wc-block-mini-cart__drawer .wc-block-mini-cart__title:not(:has(> .wc-block-components-drawer__close)) {
	padding: 0.4rem 1rem 0.75rem 4rem !important;
}

/* Wrapper interne Woo (souvent un seul enfant du h2) : libellÃ© + compteur sur une ligne, sans ellipsis */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-block {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: baseline !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	overflow: visible !important;
	color: #fff !important;
}

/* Legacy : [Fermer] puis titre dans le <h2> */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title:has(> .wc-block-components-drawer__close) {
	flex-direction: row-reverse !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 0.5rem !important;
	padding: 0.4rem 0 0.75rem 1rem !important;
	border-bottom: 1px solid var(--color-border, #636363) !important;
}

html[dir="rtl"] .wc-block-mini-cart__drawer .wc-block-mini-cart__title:has(> .wc-block-components-drawer__close),
.rtl .wc-block-mini-cart__drawer .wc-block-mini-cart__title:has(> .wc-block-components-drawer__close) {
	flex-direction: row !important;
}

/* LibellÃ© + compteur : blancs, texte entier visible (plus de â€¦ sur Â« Votre panier Â») */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title span,
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-label-block,
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block {
	color: #fff !important;
	margin: 0 !important;
	border: none !important;
	white-space: nowrap !important;
	overflow: visible !important;
	text-overflow: clip !important;
}

/* Espace entre libellÃ© et (n) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block {
	margin-inline-start: 0.55em !important;
	flex: 0 0 auto !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-label-block {
	flex: 0 1 auto !important;
	min-width: 0 !important;
	overflow: visible !important;
	text-overflow: clip !important;
}

/* Si libellÃ© + compteur sont fils directs du h2 (sans wrapper) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title:not(:has(> .wc-block-components-drawer__close)) > span + span,
.wc-block-mini-cart__drawer .wc-block-mini-cart__title:not(:has(> .wc-block-components-drawer__close)) > .wp-block-woocommerce-mini-cart-title-items-counter-block {
	margin-inline-start: 0.55em !important;
}

/* Autres nÅ“uds texte dans le h2 (hors bouton fermer legacy) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title > *:not(button):not(.wc-block-components-button):not(span) {
	color: #fff !important;
}

/* Titre collé en haut pendant le scroll du panier */
.wc-block-mini-cart__drawer .st-mini-cart-scroll > .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer .st-mini-cart-scroll > h2.wc-block-mini-cart__title,
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block:not([hidden]) > .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block:not([hidden]) > h2.wc-block-mini-cart__title {
	position: sticky !important;
	top: 0 !important;
	z-index: 5 !important;
	background: var(--color-bg, #1e1e1e) !important;
}

/* Lignes produit : hauteur naturelle (plus de zone scroll isolée) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__items,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-items-block {
	flex: 0 0 auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	padding-top: 0.85rem !important;
	margin-top: 0 !important;
	border-top: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	margin-top: 0 !important;
	background: var(--color-bg, #1e1e1e) !important;
	border-top: 1px solid var(--color-border, #636363) !important;
	box-shadow: none !important;
	padding: 1.25rem 12px 1rem !important;
}

/* Sous-total : mÃªme fond que le tiroir, pas de Â« carte Â» WC */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-subtotal {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-subtotal {
	margin-bottom: 1rem !important;
	font-family: 'Myriad Pro', sans-serif !important;
}

.wc-block-mini-cart__drawer .wc-block-components-totals-item__label,
.wc-block-mini-cart__drawer .wc-block-components-totals-item__value,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item .wc-block-components-totals-item__value {
	color: #fff !important;
	font-family: 'Myriad Pro', sans-serif !important;
}

/* Mix-deal fee line in mini-cart footer (negative cart fee) — shown above Subtotal. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .st-mini-cart-discount {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin: 0 0 0.35rem !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .st-mini-cart-discount .wc-block-components-totals-item__label,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .st-mini-cart-discount .wc-block-components-totals-item__value {
	color: #00b460 !important;
	font-weight: 600 !important;
}

/* Cart items */
.wc-block-mini-cart__drawer .wc-block-cart-items__row {
	border-bottom: 1px solid var(--color-border, #636363) !important;
	padding: 16px 12px !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name {
	color: #fff !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name:hover {
	color: #b6b6b6 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-price,
.wc-block-mini-cart__drawer .wc-block-components-product-price__value {
	color: #b6b6b6 !important;
	font-size: 1.25rem !important;
	line-height: 1.35 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-price ins {
	color: #fff !important;
	text-decoration: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-price del {
	color: #636363 !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__prices {
	font-size: 1.25rem !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-metadata {
	color: #636363 !important;
	font-size: 1.25rem !important;
}

/* Sale badge — hide "ÉCONOMISEZ" in mini-cart (keep strikethrough + current price). */
.wc-block-mini-cart__drawer .wc-block-components-sale-badge,
.wc-block-mini-cart__drawer .wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-sale-badge {
	display: none !important;
}

/* Quantity selector */
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid var(--color-border, #636363) !important;
	border-radius: 4px !important;
	display: flex !important;
	align-items: center !important;
	width: 7.5rem !important;
	min-width: 7.5rem !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input,
.wc-block-mini-cart__drawer input.wc-block-components-quantity-selector__input {
	background: transparent !important;
	color: #fff !important;
	border: none !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1rem !important;
	font-variant-numeric: tabular-nums !important;
	line-height: 1.2 !important;
	width: 2.75em !important;
	min-width: 2.75em !important;
	flex: 1 1 auto !important;
	padding: 0 4px !important;
	margin: 0 !important;
	text-align: center !important;
	box-sizing: border-box !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input::-webkit-outer-spin-button,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
	display: none !important;
	height: 0 !important;
	width: 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button {
	background: transparent !important;
	color: #b6b6b6 !important;
	border: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button:hover {
	color: #fff !important;
	background: transparent !important;
}

/* Remove item */
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
	color: #636363 !important;
	font-size: 1.25rem !important;
	text-decoration: none !important;
	border: none !important;
	background: none !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover {
	color: #e74c3c !important;
}

/* Prix déjà affiché sous le nom — masquer la colonne total (répétition). */
.wc-block-mini-cart__drawer th.wc-block-cart-items__header-total,
.wc-block-mini-cart__drawer td.wc-block-cart-item__total,
.wc-block-mini-cart__drawer .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: none !important;
}

/* Product image â€” markup flex (anciens blocs) */
.wc-block-mini-cart__drawer .wc-block-components-product-image {
	width: 7rem !important;
	min-width: 7rem !important;
	max-width: 7rem !important;
	flex-shrink: 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-image img {
	width: 100% !important;
	height: auto !important;
	border-radius: 6px !important;
	display: block !important;
}

/*
 * Mini-panier actuel : tableau .wc-block-cart-items (td.wc-block-cart-item__image).
 * Sans Ã§a, la vignette reste ~64px : le sÃ©lecteur .wc-block-components-product-image ne sâ€™applique pas.
 */
.wc-block-mini-cart__drawer table.wc-block-cart-items th.wc-block-cart-items__header-image,
.wc-block-mini-cart__drawer table.wc-block-cart-items td.wc-block-cart-item__image {
	width: 7rem !important;
	min-width: 7rem !important;
	max-width: 7rem !important;
	box-sizing: border-box !important;
	vertical-align: top !important;
	/* air Ã  droite de la vignette, avant la colonne produit / .wc-block-cart-item__wrap */
	padding-inline-end: 14px !important;
}

/* Espace entre la colonne image et le bloc titre + prix + quantitÃ© */
.wc-block-mini-cart__drawer table.wc-block-cart-items th.wc-block-cart-items__header-product,
.wc-block-mini-cart__drawer table.wc-block-cart-items td.wc-block-cart-item__product {
	padding-inline-start: 16px !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__wrap {
	margin-left: 10px !important;
}

.wc-block-mini-cart__drawer td.wc-block-cart-item__image a,
.wc-block-mini-cart__drawer .wc-block-cart-item__image a {
	display: block !important;
	width: 100% !important;
}

/*
 * WC met 2 <img> dans la mÃªme td (hors catalogue vs. dans le lien) ; lâ€™un a [hidden].
 * display:block !important sur tous les img cassait le masquage â†’ double vignette.
 */
.wc-block-mini-cart__drawer td.wc-block-cart-item__image img[hidden],
.wc-block-mini-cart__drawer .wc-block-cart-item__image img[hidden] {
	display: none !important;
}

.wc-block-mini-cart__drawer td.wc-block-cart-item__image img:not([hidden]),
.wc-block-mini-cart__drawer .wc-block-cart-item__image img:not([hidden]) {
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	margin-top: -1px !important;
	border-radius: 6px !important;
	display: block !important;
	object-fit: cover !important;
}

/* Footer buttons â€” match .st-product-purchase-box .single_add_to_cart_button; WC uses __footer-action (singular) + <a class="wc-block-components-button"> */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action .wc-block-components-button,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action a.wc-block-components-button,
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout {
	box-sizing: border-box !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
	padding: 12px 20px !important;
	min-height: 50px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
	box-shadow: none !important;
}

/* Primary: checkout — même vert que les prix (CAD / .amount) */
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action a.wc-block-mini-cart__footer-checkout {
	background: var(--color-accent-green) !important;
	color: #fff !important;
	border: 1px solid var(--color-accent-green) !important;
}

.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout .wc-block-components-button__text,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action a.wc-block-mini-cart__footer-checkout .wc-block-components-button__text,
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout font,
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout font font,
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout .wc-block-components-button__text font,
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout .wc-block-components-button__text font font {
	color: #fff !important;
}

.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout:hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action a.wc-block-mini-cart__footer-checkout:hover {
	background: var(--color-accent-green-hover) !important;
	color: #fff !important;
	border-color: var(--color-accent-green-hover) !important;
}

.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout:hover .wc-block-components-button__text,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action a.wc-block-mini-cart__footer-checkout:hover .wc-block-components-button__text,
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout:hover font,
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout:hover .wc-block-components-button__text font {
	color: #fff !important;
}

/*
 * Pas de page /panier/ : masquer Â« Voir mon panier Â», le tiroir suffit.
 * Le bouton commande prend toute la largeur du pied de panneau.
 */
.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__drawer a[data-block-name="woocommerce/mini-cart-cart-button-block"],
.wc-block-mini-cart__drawer .wc-block-mini-cart-cart-button-block,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-cart-button-block,
.wc-block-components-drawer__content a.wc-block-mini-cart__footer-cart {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
}

.wc-block-mini-cart__drawer a.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action a.wc-block-mini-cart__footer-checkout,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-checkout-button-block {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	min-height: 50px !important;
	height: auto !important;
	white-space: normal !important;
	overflow: visible !important;
}

/* Legacy class names from older markup (outlined / filled wc-block-components-button) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button.outlined,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action .wc-block-components-button.outlined {
	background: transparent !important;
	color: #b6b6b6 !important;
	border: 1px solid #444 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wc-block-components-button.outlined:hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action .wc-block-components-button.outlined:hover {
	background: rgba(255, 255, 255, 0.06) !important;
	color: #fff !important;
	border-color: #636363 !important;
}

/* Filled primary â€” only real <button> (footer links use <a>, styled above) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions button.wc-block-components-button:not(.outlined):not(.is-style-outline),
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action button.wc-block-components-button:not(.outlined):not(.is-style-outline) {
	background: #1e1e1e !important;
	color: #00b460 !important;
	border: 1px solid #444 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions button.wc-block-components-button:not(.outlined):not(.is-style-outline):hover,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-action button.wc-block-components-button:not(.outlined):not(.is-style-outline):hover {
	background: #1e1e1e !important;
	color: #00d670 !important;
	border-color: #555 !important;
}

/*
 * Bouton fermer : annuler le positionnement absolu des blocks WC (.wc-block-components-drawer__close)
 * pour coller au flux flex comme .st-tray-head .st-auth-drawer-close.
 */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wc-block-components-button.wc-block-components-drawer__close,
.wc-block-mini-cart__drawer button[aria-label="Close"],
.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	position: static !important;
	inset: auto !important;
	right: auto !important;
	top: auto !important;
	margin: 0 !important;
	opacity: 1 !important;
	z-index: auto !important;
	color: #b6b6b6 !important;
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	transform: none !important;
	font-size: 1.75rem !important;
	font-weight: 300 !important;
	line-height: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: color 0.2s ease !important;
	cursor: pointer !important;
}

/* MÃªme Â« Ã— Â» typographique que .st-tray-head (pas lâ€™icÃ´ne SVG WC) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wc-block-components-drawer__close svg {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wc-block-components-drawer__close::after {
	content: "\00d7";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
	line-height: 0;
	font-weight: 300;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wc-block-components-drawer__close:focus,
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wc-block-components-drawer__close:focus-visible,
.wc-block-mini-cart__drawer button[aria-label="Close"]:focus,
.wc-block-mini-cart__drawer button[aria-label="Close"]:focus-visible,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:focus,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wc-block-components-drawer__close:hover,
.wc-block-mini-cart__drawer button[aria-label="Close"]:hover,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:hover {
	color: #fff !important;
	background: transparent !important;
	opacity: 1 !important;
}

/* Empty cart state */
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper {
	color: #b6b6b6 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper .wc-block-components-button {
	background: #1e1e1e !important;
	color: #00b460 !important;
	border: 1px solid #444 !important;
	border-radius: 6px !important;
}

/* Hide product descriptions in mini-cart for a cleaner look */
.wc-block-mini-cart__drawer .wc-block-components-product-metadata,
.wc-block-mini-cart__drawer .wc-block-components-product-details,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description {
	display: none !important;
}

/* Texte secondaire sous le sous-total (lisible sur fond #1e1e1e) */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item__description,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer p,
.wc-block-mini-cart__drawer .wc-block-components-payment-method-label,
.wc-block-mini-cart__drawer .wc-block-mini-cart__shipping-free-shipping {
	color: var(--color-text, #b6b6b6) !important;
	font-size: 1.25rem !important;
	line-height: 1.45 !important;
}

/* Heading / title */
.wc-block-mini-cart__drawer h2 {
	color: #fff !important;
}

/* Tray + everything inside it: no scrollbars (still scrollable with wheel / touch) */
.wc-block-mini-cart__drawer.wc-block-components-drawer,
.wc-block-mini-cart__drawer.wc-block-components-drawer * {
	scrollbar-width: none !important; /* Firefox */
	-ms-overflow-style: none !important; /* legacy Edge */
}

.wc-block-mini-cart__drawer.wc-block-components-drawer *::-webkit-scrollbar,
.wc-block-mini-cart__drawer.wc-block-components-drawer::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: transparent !important;
}

/*
 * Scroll lock while trays are open is handled in JS (body-scroll-lock.js).
 * Do NOT set overflow:hidden / position:fixed on html|body here — that jumps
 * scroll to top, and with position:fixed it paints the page solid black.
 */
html:has(body.drawer-open),
html:has(body.st-wc-mini-cart-open),
html:has(body.st-auth-drawer-open),
html:has(body.st-wishlist-drawer-open),
html.st-body-scroll-locked,
body.drawer-open,
body.st-wc-mini-cart-open,
body.st-auth-drawer-open,
body.st-wishlist-drawer-open,
body.st-body-scroll-locked {
	overscroll-behavior: none;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

html:has(body.drawer-open)::-webkit-scrollbar,
html:has(body.st-wc-mini-cart-open)::-webkit-scrollbar,
html:has(body.st-auth-drawer-open)::-webkit-scrollbar,
html:has(body.st-wishlist-drawer-open)::-webkit-scrollbar,
html.st-body-scroll-locked::-webkit-scrollbar,
body.drawer-open::-webkit-scrollbar,
body.st-wc-mini-cart-open::-webkit-scrollbar,
body.st-auth-drawer-open::-webkit-scrollbar,
body.st-wishlist-drawer-open::-webkit-scrollbar,
body.st-body-scroll-locked::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: transparent !important;
}

/* Inner wrappers may still scroll; keep them from showing a second bar */
body.drawer-open #page,
body.drawer-open .wp-site-blocks,
body.drawer-open #content,
body.drawer-open .site-content,
body.drawer-open main,
body.st-wc-mini-cart-open #page,
body.st-wc-mini-cart-open .wp-site-blocks,
body.st-wc-mini-cart-open #content,
body.st-wc-mini-cart-open .site-content,
body.st-wc-mini-cart-open main {
	scrollbar-width: none;
	-ms-overflow-style: none;
}

body.drawer-open #page::-webkit-scrollbar,
body.drawer-open .wp-site-blocks::-webkit-scrollbar,
body.drawer-open #content::-webkit-scrollbar,
body.drawer-open .site-content::-webkit-scrollbar,
body.drawer-open main::-webkit-scrollbar,
body.st-wc-mini-cart-open #page::-webkit-scrollbar,
body.st-wc-mini-cart-open .wp-site-blocks::-webkit-scrollbar,
body.st-wc-mini-cart-open #content::-webkit-scrollbar,
body.st-wc-mini-cart-open .site-content::-webkit-scrollbar,
body.st-wc-mini-cart-open main::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Fallback if :has() or body class differs on older WC — scrollbar only, no overflow lock */
html:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)),
body:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) {
	scrollbar-width: none;
	-ms-overflow-style: none;
	overscroll-behavior: none;
}

html:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden))::-webkit-scrollbar,
body:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden))::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Customer account block (if used elsewhere) */
.wp-block-woocommerce-customer-account,
.wp-block-woocommerce-customer-account a {
	background-color: transparent !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
}

/* Header: compte — même typo que .header-nav-link (CONTACT, etc.) */
.header-account-search {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.75em;
	flex: 0 0 auto;
	min-width: 0;
}

/* FOX: hide plugin widgets; we use the bottom-right float next to G Translate. */
.woocs_auto_switcher,
.woocommerce-currency-switcher-form {
	display: none !important;
}

.header-auth-links {
	display: flex;
	align-items: center;
	gap: var(--st-header-nav-gap);
	margin-right: 0;
	flex-wrap: nowrap;
	flex: 0 0 auto;
}

/* Plan d’empilement prévisible avec la rangée recherche + icônes */
#masthead .header-actions .header-auth-links {
	position: relative;
	z-index: 0;
}

/* Header icons â€“ same size (2em), account + cart + wishlist use --color-text (#b6b6b6) */
.wc-block-customer-account__account-icon,
.wc-block-customer-account__account-icon svg,
.wc-block-customer-account .wc-block-customer-account__account-icon svg,
.wc-block-mini-cart__icon,
.wc-block-mini-cart__icon svg,
.wc-block-mini-cart .wc-block-mini-cart__icon,
.wc-block-mini-cart__button .wc-block-mini-cart__icon,
.wishlist-icon img {
	width: 2em !important;
	height: 2em !important;
	min-width: 2em !important;
	min-height: 2em !important;
	max-width: 2em !important;
	max-height: 2em !important;
	flex-shrink: 0 !important;
}

/* Make header cart + account icons slightly bigger (wishlist/search stays 2em) */
.wc-block-customer-account__account-icon,
.wc-block-customer-account__account-icon svg,
.wc-block-customer-account .wc-block-customer-account__account-icon svg,
.wc-block-mini-cart__icon,
.wc-block-mini-cart__icon svg,
.wc-block-mini-cart .wc-block-mini-cart__icon,
.wc-block-mini-cart__button .wc-block-mini-cart__icon {
	width: 2.25em !important;
	height: 2.25em !important;
	min-width: 2.25em !important;
	min-height: 2.25em !important;
	max-width: 2.25em !important;
	max-height: 2.25em !important;
	flex-shrink: 0 !important;
}

.wc-block-customer-account__account-icon svg,
.wc-block-mini-cart__button svg {
	fill: var(--color-text) !important;
	color: var(--color-text) !important;
	stroke: var(--color-text) !important;
	stroke-width: 1 !important;
}

.wc-block-customer-account a:hover .wc-block-customer-account__account-icon svg,
.wc-block-customer-account a:focus-visible .wc-block-customer-account__account-icon svg,
.wc-block-customer-account a:hover .wc-block-customer-account__account-icon,
.wc-block-customer-account a:focus-visible .wc-block-customer-account__account-icon,
.wc-block-mini-cart__button:hover svg,
.wc-block-mini-cart__button:focus-visible svg {
	fill: var(--color-accent-yellow) !important;
	color: var(--color-accent-yellow) !important;
	stroke: var(--color-accent-yellow) !important;
}

.wp-block-woocommerce-customer-account > a:hover > .wc-block-customer-account__account-icon,
.wp-block-woocommerce-customer-account > a:focus-visible > .wc-block-customer-account__account-icon,
.header-actions .wp-block-woocommerce-customer-account > a:hover > .wc-block-customer-account__account-icon,
.header-actions .wp-block-woocommerce-customer-account > a:focus-visible > .wc-block-customer-account__account-icon {
	fill: var(--color-accent-yellow) !important;
	color: var(--color-accent-yellow) !important;
	stroke: var(--color-accent-yellow) !important;
}

.header-actions .wp-block-woocommerce-customer-account > a:hover,
.header-actions .wp-block-woocommerce-customer-account > a:focus-visible {
	color: var(--color-accent-yellow) !important;
}

.header-actions .wp-block-woocommerce-customer-account > a:hover > .wc-block-customer-account__account-icon *,
.header-actions .wp-block-woocommerce-customer-account > a:focus-visible > .wc-block-customer-account__account-icon * {
	fill: var(--color-accent-yellow) !important;
	stroke: var(--color-accent-yellow) !important;
	color: var(--color-accent-yellow) !important;
}

.wishlist-icon img {
	object-fit: contain !important;
	display: block !important;
	width: 1.85em !important;
	height: 1.85em !important;
	min-width: 1.85em !important;
	min-height: 1.85em !important;
	max-width: 1.85em !important;
	max-height: 1.85em !important;
	filter: brightness(0) invert(1) !important;
	opacity: 0.714 !important; /* ~#b6b6b6 to match --color-text */
	-webkit-filter: brightness(0) invert(1) drop-shadow(0 0 0.3px #fff) drop-shadow(0 0 0.3px #fff) !important;
}

.wishlist-icon a:hover img,
.wishlist-icon a:focus-visible img,
.wishlist-icon .wishlist-icon-button:hover img,
.wishlist-icon .wishlist-icon-button:focus-visible img {
	filter: brightness(0) saturate(100%) invert(77%) sepia(74%) saturate(1346%) hue-rotate(359deg) brightness(103%) contrast(106%) !important;
	-webkit-filter: brightness(0) saturate(100%) invert(77%) sepia(74%) saturate(1346%) hue-rotate(359deg) brightness(103%) contrast(106%) !important;
	opacity: 1 !important;
}

.wishlist-icon .wishlist-icon-button {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
	line-height: 0;
	border-radius: 0;
}

.wishlist-icon .wishlist-icon-button:focus-visible {
	outline: 2px solid var(--color-accent-yellow, #fccb00);
	outline-offset: 2px;
}

.wishlist-icon {
	width: 1.85em;
	height: 1.85em;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: relative;
	display: inline-block;
}

/* Wishlist header badge (red pastille) */
#wishlist-count-badge.wishlist-count-badge,
.wishlist-count-badge {
	position: absolute;
	top: -6px;
	right: -6px;
	background-color: #e00000 !important;
	color: #ffffff !important;
	border-radius: 999px;
	min-width: 18px;
	height: 18px;
	padding: 0 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	font-family: 'Myriad Pro', sans-serif;
	line-height: 1;
	z-index: 2;
	pointer-events: none;
}

.wishlist-count-badge[hidden] {
	display: none !important;
}

/* ========== 7. STICKY FOOTER & LAYOUT ========== */
/* Sticky footer - ensure footer stays at bottom */
html {
	min-height: 100vh;
	height: 100%;
}

body {
	min-height: 100vh;
	height: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
}

/* Main container - WordPress block theme uses .wp-site-blocks */
.wp-site-blocks {
	min-height: 100vh !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1;
}

/* Legacy support for #page if it exists */
#page {
	min-height: 100vh;
	display: flex !important;
	flex-direction: column !important;
	flex: 1;
}

/* WooCommerce pages - ensure proper flex layout regardless of container structure.
   flex: 1 0 auto (not flex: 1) so #page grows with content — flex-shrink + basis 0%
   pins #page to the viewport and breaks position:sticky on the header. */
body.single-product .wp-site-blocks,
body.woocommerce-page.single-product .wp-site-blocks,
body.woocommerce-shop .wp-site-blocks,
body.woocommerce-archive .wp-site-blocks {
	min-height: 100vh !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 0 auto;
}

/* If product pages don't use .wp-site-blocks, ensure #page or direct body children work */
body.single-product #page,
body.woocommerce-page.single-product #page,
body.woocommerce-shop #page,
body.woocommerce-archive #page {
	min-height: 100vh !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 0 auto;
}

/* Header stays at top */
header,
.site-header,
header.wp-block-template-part {
	flex-shrink: 0;
}

/* Footer stays at the bottom when the page is shorter than the viewport */
#page > .footer-main-wrapper,
.footer-main-wrapper {
	flex-shrink: 0;
	margin-top: auto;
}

/* Content area - grow so short pages still push footer down */
#content,
.site-content {
	flex: 1 1 0%;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* Ensure #content on product pages works with flexbox */
body.single-product #content,
body.woocommerce-page.single-product #content,
body.woocommerce-shop #content,
body.woocommerce-archive #content {
	flex: 1 0 auto !important;
	min-height: 0 !important;
}

.ast-container {
	flex: 1 1 0%;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

/* Main content - expand to fill space when content is short, but allow natural growth when content is long */
main,
main.wp-block-group,
main.is-layout-flow,
main.wp-block-group.is-layout-flow {
	flex: 1 0 auto !important;
	min-height: 0;
}

/* WooCommerce product pages - ensure main doesn't interfere with footer */
body.single-product main,
body.woocommerce-page.single-product main,
body.woocommerce-shop main,
body.woocommerce-archive main,
main.st-product-page,
main.site-main {
	flex: 1 0 auto !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
}

/* Remove min-height from product page containers that interfere with flexbox */
body.single-product .st-product-page,
body.woocommerce-page.single-product .st-product-page {
	min-height: 0 !important;
}

/* Single product — full-width wrappers (related carousel = full-bleed like home);
   product content width is constrained on .st-single-product */
body.single-product .ast-woocommerce-container,
body.single-product .site-content > .ast-container {
    max-width: none !important;
    width: 100% !important;
}

/* Ensure WooCommerce wrappers don't interfere with flexbox */
body.single-product .woocommerce,
body.woocommerce-page.single-product .woocommerce,
body.woocommerce-shop .woocommerce,
body.woocommerce-archive .woocommerce {
	min-height: 0 !important;
}

/* Piment category: attribute filters (Espece, Chaleur) â€“ above product list */
.piment-attribute-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1rem 1.5rem;
	margin-bottom: 1.25rem;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.piment-filter-intro {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 1.25rem;
	color: var(--color-text, #b6b6b6);
}
.piment-filter-intro-bar {
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1;
}

.piment-filter-group {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

/* Custom dropdown (piment filters): trigger = no bg, no border; panel = --color-bg + --color-footer-bg border; option hover = --color-footer-bg */
.piment-custom-select {
	position: relative;
	min-width: 160px;
}
.piment-custom-select__trigger {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 1.25rem;
	color: var(--color-text, #b6b6b6);
	background: none;
	border: none;
	text-align: left;
	cursor: pointer;
	appearance: none;
}
/* Downward chevron arrow (small, light grey, to the right of label) */
.piment-custom-select__trigger::after {
	content: "";
	flex-shrink: 0;
	width: 0;
	height: 0;
	margin-left: auto;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
}
.piment-custom-select__trigger:hover,
.piment-custom-select__trigger:focus {
	background: var(--color-footer-bg);
	outline: none;
}
.piment-custom-select__panel {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 100;
	min-width: 100%;
	margin-top: 0.25rem;
	padding: 0.25rem 0;
	background: var(--color-bg);
	border: 1px solid var(--color-footer-bg);
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.piment-custom-select__option {
	display: block;
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 1.25rem;
	color: #fff;
	background: transparent;
	border: none;
	text-align: left;
	cursor: pointer;
}
.piment-custom-select__option:hover,
.piment-custom-select__option:focus {
	background: var(--color-footer-bg);
	outline: none;
}
.piment-custom-select__option[aria-selected="true"] {
	background: var(--color-footer-bg);
}

/* Native selects (rest of site): no bg, no border; option styling where supported */
select {
	min-width: 160px;
}
select:hover,
select:focus {
	outline: none;
}
select option {
	background: var(--color-bg);
	color: #fff;
}
select option:checked {
	background: var(--color-footer-bg);
}

/* My Account â€“ address blocks & table rows; nav active tab (not bare `tr` â€” that broke checkout/cart row borders) */
.woocommerce-Address,
.woocommerce-MyAccount-content tr,
.cart_totals h2,
.woocommerce-Address-title,
.woocommerce-Addresses .woocommerce-Address,
.woocommerce-MyAccount-content .woocommerce-Address,
.woocommerce-MyAccount-navigation-link.is-active,
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--orders.is-active,
.woocommerce-MyAccount-navigation-link a[aria-current="page"],
.woocommerce-MyAccount-navigation-link:has(a[aria-current="page"]) {
	background-color: var(--color-footer-bg) !important;
	color: #b6b6b6 !important;
}

/* Confirmation de commande — titres sans bandeau blanc Astra (#fbfbfb) */
body.woocommerce-order-received .woocommerce-order h2.woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-order h2.woocommerce-column__title,
.woocommerce-order h2.woocommerce-order-details__title,
.woocommerce-order h2.woocommerce-column__title {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--color-text, #b6b6b6) !important;
	border: none !important;
	border-bottom: 1px solid var(--color-border, #474747) !important;
	padding: 20px 0 14px !important;
	margin: 0 0 1rem !important;
	box-shadow: none !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

body.woocommerce-order-received .woocommerce-order table.shop_table,
body.woocommerce-order-received .woocommerce-order table.woocommerce-table--order-details,
.woocommerce-order table.shop_table,
.woocommerce-order table.woocommerce-table--order-details {
	background: transparent !important;
	border-color: var(--color-border, #474747) !important;
	color: var(--color-text, #b6b6b6) !important;
}

body.woocommerce-order-received .woocommerce-order table.shop_table th,
body.woocommerce-order-received .woocommerce-order table.shop_table td,
body.woocommerce-order-received .woocommerce-order table.woocommerce-table--order-details th,
body.woocommerce-order-received .woocommerce-order table.woocommerce-table--order-details td,
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td {
	background: transparent !important;
	border-color: var(--color-border, #474747) !important;
	color: var(--color-text, #b6b6b6) !important;
}

body.woocommerce-order-received .woocommerce-customer-details address,
.woocommerce-order .woocommerce-customer-details address {
	background: transparent !important;
	border-color: var(--color-border, #474747) !important;
	color: var(--color-text, #b6b6b6) !important;
	padding: 0.75rem 0 0 !important;
}

body.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview,
.woocommerce-order ul.woocommerce-order-overview {
	background: transparent !important;
	border: none !important;
	color: var(--color-text, #b6b6b6) !important;
}

body.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li,
.woocommerce-order ul.woocommerce-order-overview li {
	background: transparent !important;
	border-color: var(--color-border, #474747) !important;
	color: var(--color-text, #b6b6b6) !important;
}

/* Checkout & cart â€“ full-width row lines (#order_review / form â€” do not rely on .woocommerce wrapper) */
#order_review table.shop_table.woocommerce-checkout-review-order-table,
form.checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce-cart-form table.shop_table.shop_table_responsive.cart,
.woocommerce table.shop_table.cart {
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	border-radius: 0 !important;
}

/* Same row: product-name + product-total must share one row height so the horizontal rule is straight */
#order_review table.shop_table.woocommerce-checkout-review-order-table td,
#order_review table.shop_table.woocommerce-checkout-review-order-table th,
form.checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table td,
form.checkout.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table td,
.woocommerce table.shop_table.woocommerce-checkout-review-order-table th {
	display: table-cell !important;
	vertical-align: middle !important;
	padding-top: 0.65em !important;
	padding-bottom: 0.65em !important;
	line-height: 1.45 !important;
}

/* ========== Checkout – select, checkbox (gris #b6b6b6 comme les autres champs) ========== */
form.checkout.woocommerce-checkout select:not(.select2-hidden-accessible),
body.woocommerce-checkout form.checkout.woocommerce-checkout .form-row select:not(.select2-hidden-accessible) {
	color: #1e1e1e !important;
	background-color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 5px !important;
	padding: 0.65em 2.25em 0.65em 1em !important;
	font-size: 1em !important;
	width: 100%;
	max-width: 100%;
	min-height: calc(1em + 1.3em + 2px);
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231e1e1e' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85em center;
	background-size: 0.65em auto;
}

form.checkout.woocommerce-checkout select:not(.select2-hidden-accessible):focus,
body.woocommerce-checkout form.checkout.woocommerce-checkout .form-row select:not(.select2-hidden-accessible):focus {
	outline: none !important;
	border-color: #6b6b6b !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15) !important;
}

/* Select2 native <select> must stay clipped — our select styles were un-hiding it. */
form.checkout.woocommerce-checkout select.select2-hidden-accessible {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	min-width: 1px !important;
	max-width: 1px !important;
	min-height: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	white-space: nowrap !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Pays / province : SelectWoo — hauteur flottante (52px) comme les inputs */
form.checkout.woocommerce-checkout .select2-container {
	width: 100% !important;
}

form.checkout.woocommerce-checkout .select2-container--default .select2-selection--single,
form.checkout.woocommerce-checkout .select2-container .select2-selection--single {
	background-color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 5px !important;
	height: 52px !important;
	min-height: 52px !important;
	max-height: 52px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

form.checkout.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #1e1e1e !important;
	display: block !important;
	box-sizing: border-box !important;
	height: 52px !important;
	line-height: 1.2 !important;
	padding: 22px 2.5em 6px 1em !important;
	margin: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

form.checkout.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #5a5a5a !important;
	line-height: 52px !important;
	padding: 0 2.5em 0 1em !important;
	margin: 0 !important;
	height: 52px !important;
}

form.checkout.woocommerce-checkout .form-row.st-float-label:not(.is-filled):not(.is-active) .select2-selection__rendered {
	line-height: 52px !important;
	padding: 0 2.5em 0 1em !important;
}

form.checkout.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 52px !important;
	top: 0 !important;
	right: 0.5em !important;
	width: 1.5em !important;
}

form.checkout.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #1e1e1e transparent transparent transparent !important;
	margin-top: -3px !important;
	margin-left: -6px !important;
}

form.checkout.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
form.checkout.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: #6b6b6b !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15) !important;
}

form.checkout.woocommerce-checkout .select2-dropdown {
	background-color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	color: #1e1e1e !important;
}

form.checkout.woocommerce-checkout .select2-results__option--highlighted[aria-selected],
form.checkout.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: #323232 !important;
	color: #fff !important;
}

/* Cases à cocher — gris comme les champs */
form.checkout.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout form.checkout.woocommerce-checkout input[type="checkbox"],
body.page-commande form.checkout input[type="checkbox"],
body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page input[type="checkbox"],
body.woocommerce-checkout #order_review input[type="checkbox"],
body.woocommerce-checkout #payment input[type="checkbox"] {
	width: 1.15em !important;
	height: 1.15em !important;
	min-width: 1.15em !important;
	min-height: 1.15em !important;
	max-width: 1.15em !important;
	max-height: 1.15em !important;
	flex: 0 0 1.15em !important;
	flex-shrink: 0 !important;
	flex-grow: 0 !important;
	box-sizing: border-box !important;
	display: inline-block !important;
	padding: 0 !important;
	margin-top: 0.2em;
	margin-right: 0.5em;
	vertical-align: middle;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
	opacity: 1 !important;
	accent-color: #b6b6b6 !important;
	background-color: #b6b6b6 !important;
	background-image: none !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 2px !important;
	box-shadow: none !important;
}

form.checkout.woocommerce-checkout input[type="checkbox"]:checked,
body.woocommerce-checkout form.checkout.woocommerce-checkout input[type="checkbox"]:checked {
	accent-color: #b6b6b6 !important;
	background-color: #b6b6b6 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231e1e1e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l3 3.1 6-6.4'/%3E%3C/svg%3E") !important;
	background-size: 100% 100% !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	opacity: 1 !important;
}

form.checkout.woocommerce-checkout input[type="checkbox"]:focus,
body.woocommerce-checkout form.checkout.woocommerce-checkout input[type="checkbox"]:focus {
	outline: 2px solid rgba(182, 182, 182, 0.55) !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}

/* RÃ©cap commande â€” pas de cadre sur le bloc (#order_review) */
form.checkout.woocommerce-checkout #order_review {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	background: transparent !important;
}

form.checkout.woocommerce-checkout #order_review table.shop_table,
form.checkout.woocommerce-checkout #order_review table.shop_table.woocommerce-checkout-review-order-table,
form.checkout.woocommerce-checkout #order_review table.shop_table th,
form.checkout.woocommerce-checkout #order_review table.shop_table td,
form.checkout.woocommerce-checkout #order_review table.shop_table tr,
form.checkout.woocommerce-checkout #order_review table.shop_table thead,
form.checkout.woocommerce-checkout #order_review table.shop_table tbody,
form.checkout.woocommerce-checkout #order_review table.shop_table tfoot {
	border: none !important;
	border-top: none !important;
	border-bottom: none !important;
	border-left: none !important;
	border-right: none !important;
}

/* WooCommerce info/notice â€“ dark background, light text so message is visible */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background-color: var(--color-footer-bg) !important;
	color: #b6b6b6 !important;
	border-color: #4d4d4d !important;
}
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
	color: #b6b6b6 !important;
}

/* WooCommerce login form â€“ center and wider */
.woocommerce-form.woocommerce-form-login.login {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
    padding: 2rem;
}

/* Fix floating footer on front page */
#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	flex: 1 0 auto;
}

/* ========== 9. HEADER (refactor: tokens, single grid definition, smooth overlay) ========== */

.header-main-wrapper {
    --st-header-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --st-header-shift-dur: 280ms;
    /* Logo (scroll + tiroir menu) : plus lent que le reste du header */
    --st-header-logo-motion-dur: 520ms;
    --st-header-pad-dur: 260ms;
    --st-header-grid-max: 1200px;
    --st-header-pad-inline: 1.25rem;
    --st-header-col-gap: 3rem;
    /* Toolbar + logo: look from astra-child-header (taille / motif drip) */
    --st-header-toolbar-pt: 1em;
    --st-header-toolbar-pb: 1em;
    --st-header-toolbar-min-h: 96px;
    --st-header-logo-max-w: 420px;
    /* CrÃ©neau vertical unique : padding-top du drip = min-height de la couche logo (scroll + breakpoints) */
    --st-header-logo-overlay-h: 3.05rem;
    /* Hauteur banniÃ¨re livraison â€” repliÃ©e progressivement au scroll */
    --st-header-banner-h: 2.75rem;
    --st-header-banner-inset: var(--st-header-banner-h);
    /* Progression du repli (0 = banniÃ¨re pleine, 1 = totalement disparue), pilotÃ©e au scroll par JS. */
    --st-banner-progress: 0;
    --st-banner-collapse-distance: 120px;
    /* DÃ©calage logo = hauteur banniÃ¨re dÃ©jÃ  repliÃ©e (le drip remonte en flux ; le logo suit via translateY). */
    --st-header-banner-shift: calc(var(--st-header-banner-inset) * var(--st-banner-progress, 0));
    /* Slot logo â€” pad-top = crÃ©neau logo seulement (banniÃ¨re dÃ©jÃ  en flux au-dessus du drip) */
    --st-header-logo-slot-h: 3.05rem;
    --st-header-drip-pad-top: var(--st-header-logo-slot-h);
    --st-header-actions-gap: 2em;
    /* Espace entre PIMENTS | TOMATES | â€¦ (desktop) â€” largeur globale proche du bloc actions */
    --st-header-nav-gap: clamp(0.85rem, 1.2vw + 0.65rem, 1.35rem);
    --st-header-grid-gap-row: 0.65em;
    /* Tuile drip : motif dâ€™origine (astra-child-header) */
    --st-header-drip-tile-width: 1800px;
    --st-header-drip-tile-height: 220px;
    /* Fond sous la zone au-dessus des gouttes (Ã©vite le gap noir sans masquer les gouttes) */
    --st-header-drip-bg-color: var(--color-footer-bg);
    --st-header-drip-translate-y: 0px;
    --st-header-drip-img-max-h: 170px;
    /* Hauteur minimale du bandeau drip */
    --st-header-drip-min-h: calc(
        var(--st-header-drip-pad-top) + var(--st-header-toolbar-min-h) + 0.95rem
    );
    /* DÃ©calage vertical de la grille toolbar dans le drip */
    --st-header-toolbar-nudge-y: -1.35rem;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 1000;
    overflow: visible;
    margin-top: 0 !important;
    padding-top: 0 !important;
    transition: none;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Barre admin WP : sticky sous la barre, pas dâ€™espace fantÃ´me au-dessus du header */
body.admin-bar .header-main-wrapper {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar .header-main-wrapper {
        top: 46px !important;
    }
}

/* Groupe bloc WP : pas de marge/padding fantÃ´me au-dessus du drip */
.wp-block-group.header-main-wrapper,
#masthead.wp-block-group {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
    padding-top: 0 !important;
    padding-block-start: 0 !important;
}

/* BanniÃ¨re totalement disparue (progress = 1) â€” look overlay comme astra-child-header */
.header-main-wrapper.header-scrolled {
    transform: none !important;
    --st-header-logo-overlay-h: 2.8rem;
}

/* "Maintien" du contenu pendant le repli de la banniÃ¨re : marge haute pilotÃ©e au scroll (JS).
   Tant que la banniÃ¨re n'est pas totalement disparue, le contenu reste figÃ© (ne dÃ©file pas),
   puis reprend un dÃ©filement normal. DÃ©fini sur :root par le JS ; 0 par dÃ©faut / sans JS. */
:root { --st-content-hold: 0px; }
#content.site-content {
    margin-top: var(--st-content-hold, 0px);
}

/* Decorative drip : 2e rangÃ©e (sous banniÃ¨re), contient nav + actions.
   padding-top = mÃªme valeur que .header-logo-layer min-height (--st-header-logo-overlay-h). */
.header-drip-image-wrapper {
    max-width: 100% !important;
    min-height: var(--st-header-drip-min-h) !important;
    margin: 0 !important;
    padding-top: var(--st-header-drip-pad-top) !important;
    display: grid !important;
    align-items: center !important;
    align-content: center !important;
    z-index: 1 !important;
    background-color: transparent !important;
    /* Motif drip (look astra-child-header) + aplat gris au-dessus des gouttes seulement */
    background-image:
        url('/wp-content/themes/astra-child/assets/icones/Barre_Menu_haut.webp'),
        linear-gradient(var(--st-header-drip-bg-color), var(--st-header-drip-bg-color));
    background-repeat: repeat-x, no-repeat;
    background-size:
        var(--st-header-drip-tile-width, 1800px) var(--st-header-drip-tile-height),
        100% calc(100% - var(--st-header-drip-tile-height) + 1px);
    background-position: left bottom, left top;
    /* Pas de translateY : le drip reste ancrÃ© ; le repli de la banniÃ¨re en flux remonte tout naturellement */
    transform: none;
    transition: none;
}

/* Doublon avec le fond tuilÃ© ; lâ€™image stretchait et masquait lâ€™effet */
.header-drip-image-wrapper .header-drip-image {
    display: none !important;
}

.header-drip-image-wrapper > .header-content-grid {
    margin-top: var(--st-header-toolbar-nudge-y) !important;
}

.header-main-wrapper.header-scrolled .header-drip-image-wrapper > .header-content-grid {
    margin-top: var(--st-header-toolbar-nudge-y) !important;
}

/* BanniÃ¨re livraison : en flux, puis repliÃ©e au scroll pour libÃ©rer l'espace du header */
.announcement-bar-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-block: 0 !important;
    /* Hauteur / rembourrage / opacitÃ© interpolÃ©s 1:1 avec la progression du scroll (repli progressif) */
    max-height: calc(var(--st-header-banner-h) * (1 - var(--st-banner-progress, 0))) !important;
    margin-top: 0 !important;
    padding: calc(0.5em * (1 - var(--st-banner-progress, 0))) 0 !important;
    overflow: hidden !important;
    z-index: 5 !important;
    opacity: calc(1 - var(--st-banner-progress, 0)) !important;
    transform: none;
    /* PilotÃ© au scroll (rAF) : pas de transition temporelle pour coller au doigt/molette */
    transition: none !important;
    background-color: var(--color-footer-bg) !important;
    background-image: none !important;
    color: #fff !important;
    box-sizing: border-box;
    isolation: isolate;
}

.announcement-bar-wrapper .announcement-bar-container {
    width: 100% !important;
    max-width: 100% !important;
    background-color: var(--color-footer-bg) !important;
}

.announcement-bar-wrapper .announcement-bar-scroll {
    background-color: var(--color-footer-bg) !important;
}

.header-main-wrapper.header-scrolled .announcement-bar-wrapper {
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.header-main-wrapper.header-scrolled .announcement-bar-scroll {
    animation-play-state: paused !important;
}

.header-main-wrapper.header-scrolled .header-drip-image-wrapper {
    opacity: 1 !important;
}

@keyframes scroll-announcement {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.announcement-bar-scroll {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    width: fit-content;
    visibility: visible !important;
    opacity: 1 !important;
    animation: scroll-announcement 120s linear infinite;
}

.announcement-bar-content {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    flex-shrink: 0 !important;
    align-items: center;
    letter-spacing: 0.5px;
    white-space: nowrap;
    color: #fff !important;
    font-weight: 700 !important;
}

.announcement-divider {
    margin: 0 1em;
}

/* Logo : au-dessus de la banniÃ¨re ; remonte avec le drip (mÃªme amplitude que le repli en flux) */
.header-logo-layer {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-height: calc(var(--st-header-banner-inset) + var(--st-header-logo-overlay-h)) !important;
    padding: 0.12rem var(--st-header-pad-inline) 0.12rem !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    pointer-events: none !important;
    background: transparent !important;
    z-index: 8 !important;
    transform: translateY(calc(-1 * var(--st-header-banner-shift)));
    opacity: 1;
    /* Suit le scroll (--st-header-banner-shift) â€” pas de transition temporelle */
    transition: none;
}

.header-logo-layer .site-logo,
.header-logo-layer .site-logo a {
    pointer-events: auto !important;
}

.header-logo-layer .site-logo {
    margin: 0 !important;
}

.header-logo-layer .site-logo img {
    max-width: var(--st-header-logo-max-w) !important;
    min-width: 118px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin-top: -2px !important;
}

.header-main-wrapper.header-scrolled .header-logo-layer .site-logo img {
    margin-top: 0 !important;
}

/* Inner bar: max width + horizontal padding (grid est dans .header-drip-image-wrapper) */
.header-main-wrapper > .alignwide.header-content-grid,
.header-main-wrapper > .header-content-grid,
.header-drip-image-wrapper > .alignwide.header-content-grid,
.header-drip-image-wrapper > .header-content-grid {
    max-width: var(--st-header-grid-max) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--st-header-pad-inline) !important;
    padding-right: var(--st-header-pad-inline) !important;
    box-sizing: border-box !important;
}

.header-main-wrapper > .alignwide.header-logo-layer {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Toolbar : dans le wrapper drip */
.header-content-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    row-gap: var(--st-header-grid-gap-row);
    column-gap: 3rem;
    align-items: center;
    margin-top: 0 !important;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
    min-height: var(--st-header-toolbar-min-h) !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 7;
    transition: gap var(--st-header-pad-dur) var(--st-header-ease);
    background: transparent !important;
}

.header-main-wrapper.header-scrolled .header-content-grid {
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
    min-height: var(--st-header-toolbar-min-h) !important;
}

@media (min-width: 1331px) {
    .header-content-grid {
        grid-template-columns: minmax(0, 1fr) auto !important;
        column-gap: var(--st-header-col-gap) !important;
    }

    .header-content-grid > .wp-block-group:first-child,
    .header-content-grid > .header-cell--nav {
        justify-self: start !important;
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        min-width: 0;
        position: static !important;
    }

    /* Nav principale : un peu plus Ã  gauche dans la grille (Ã©quilibre avec les actions Ã  droite) */
    .header-content-grid > .header-cell--nav,
    #masthead .header-drip-image-wrapper .header-content-grid > .header-cell--nav {
        margin-left: -10rem !important;
    }

    .header-navigation.desktop-navigation {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap;
        min-width: 0;
        gap: var(--st-header-nav-gap) !important;
    }
}


/* Toolbar cells : remontÃ©e comme astra-child-header */
.header-content-grid > .header-cell--nav,
.header-content-grid > .header-cell--actions {
    margin-top: -55px !important;
}

/* MÃªme remontÃ©e sur la rangÃ©e actions (auth + icÃ´nes) â€” #masthead bat les styles de bloc WP */
#masthead .header-drip-image-wrapper .header-content-grid > .header-actions.header-cell--actions,
#masthead .header-drip-image-wrapper .header-content-grid > .wp-block-group.header-actions,
#masthead .header-drip-image-wrapper .header-content-grid.is-layout-grid > .wp-block-group.header-actions.is-layout-flex,
#masthead .header-actions.header-cell--actions {
    margin-top: -55px !important;
}

/* Desktop : décale CONNEXION / icônes / panier vers la droite (pas de margin-top : ça montait le bloc) */
@media (min-width: 1331px) {
    .header-content-grid > .header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .header-actions.header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .wp-block-group.header-actions,
    #masthead .header-drip-image-wrapper .header-content-grid.is-layout-grid > .wp-block-group.header-actions.is-layout-flex,
    #masthead .header-actions.header-cell--actions {
        transform: translateX(10rem);
    }
}

/* 1331–1500px : moins d’écart artificiel — nav vers la droite, bloc actions vers la gauche */
@media (min-width: 1331px) and (max-width: 1500px) {
    .header-content-grid > .header-cell--nav,
    #masthead .header-drip-image-wrapper .header-content-grid > .header-cell--nav {
        margin-left: -3rem !important;
    }

    .header-content-grid > .header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .header-actions.header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .wp-block-group.header-actions,
    #masthead .header-drip-image-wrapper .header-content-grid.is-layout-grid > .wp-block-group.header-actions.is-layout-flex,
    #masthead .header-actions.header-cell--actions {
        transform: translateX(5rem);
    }
}

/* Pas de marge nÃ©gative sur les actions : avec barre burger+panier seulement, Ã§a sortait le panier du viewport aux largeurs intermÃ©diaires */

.header-content-grid > .wp-block-group:last-child,
.header-content-grid > .header-cell--actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    margin-right: 0.25rem;
}

/* â‰¥ 1331px : colonnes resserrÃ©es sur tablette large si besoin (montant panier toujours visible) */
@media (min-width: 1331px) and (max-width: 1399px) {
    .header-content-grid {
        column-gap: min(1.35rem, 3.5vw) !important;
    }

    .header-content-grid > .header-cell--actions,
    .header-content-grid > .wp-block-group.header-actions.header-cell--actions {
        min-width: 0 !important;
        margin-right: 0.15rem !important;
    }
}

/* â‰¤1500px : nav un peu resserrÃ©e ; actions = assez dâ€™air (loupe â†” panier â†” montant) */
@media (max-width: 1500px) {
    .header-main-wrapper {
        --st-header-actions-gap: 1.45em;
        --st-header-nav-gap: 0.5em;
    }
}

/* Equal spacing between search, wishlist and mini-cart (all breakpoints) */
.header-actions {
    gap: var(--st-header-actions-gap) !important;
    align-items: center !important;
}

.header-cell--actions {
    align-self: center !important;
}

/* Nav desktop : masquÃ©e â‰¤ 1330px (menu burger). Voir @media (min-width: 1331px) pour lâ€™affichage. */
@media (max-width: 1330px) {
    .header-navigation.desktop-navigation {
        display: none !important;
    }
}

.header-nav-link,
.header-auth-link {
    color: #fff;
    text-decoration: none;
    padding: 0 0.75em;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.04em;
    transition: color 0.2s var(--st-header-ease);
}

/* Align PIMENTS with FILTRER PAR (toolbar) — drop the first-link left pad. */
.header-navigation.desktop-navigation > .header-nav-link:first-of-type {
    padding-left: 0;
}

.header-nav-link:hover,
.header-nav-link:focus-visible,
.header-auth-link:hover,
.header-auth-link:focus-visible {
    color: var(--color-accent-yellow) !important;
}

.header-nav-separator,
.header-auth-separator {
    color: #fff;
    opacity: 0.4;
    font-size: 16px;
    user-select: none;
    pointer-events: none;
}

/*
 * IcÃ´nes toolbar (#masthead) : spÃ©cificitÃ© > WC Blocks + .has-text-color.has-light-color + theme.json.
 * Loupe = stroke only ; panier Woo = fill="currentColor" sur svg + paths.
 * Couleur repos = --color-text (gris clair) pour coller au cÅ“ur / au corps, pas blanc pur (#fff nav).
 */
#masthead .header-actions .spotlight-search-trigger {
    color: var(--color-text) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#masthead .header-actions .spotlight-search-trigger svg {
    display: block !important;
}

#masthead .header-actions .spotlight-search-trigger svg,
#masthead .header-actions .spotlight-search-trigger svg * {
    fill: none !important;
    stroke: currentColor !important;
    color: inherit !important;
}

#masthead .header-actions .spotlight-search-trigger:hover,
#masthead .header-actions .spotlight-search-trigger:focus {
    color: var(--color-accent-yellow) !important;
}

#masthead .header-actions .spotlight-search-trigger:hover svg,
#masthead .header-actions .spotlight-search-trigger:focus svg,
#masthead .header-actions .spotlight-search-trigger:hover svg *,
#masthead .header-actions .spotlight-search-trigger:focus svg * {
    fill: none !important;
    stroke: currentColor !important;
}

/* Compte connectÃ© : icÃ´ne utilisateur (mÃªme lecture que loupe / favoris) */
#masthead .header-actions .header-account-link {
    color: var(--color-text) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 0.35em !important;
    text-decoration: none !important;
    transition: color 0.2s var(--st-header-ease);
}

#masthead .header-actions .header-account-link:hover,
#masthead .header-actions .header-account-link:focus-visible {
    color: var(--color-accent-yellow) !important;
}

#masthead .header-actions .header-account-icon {
    display: block !important;
    width: 2em !important;
    height: 2em !important;
    flex-shrink: 0 !important;
}

#masthead .header-actions .header-account-link .header-account-icon,
#masthead .header-actions .header-account-link .header-account-icon * {
    fill: none !important;
    stroke: currentColor !important;
    color: inherit !important;
}

#masthead .header-actions .wc-block-mini-cart__button {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.7em !important;
    color: var(--color-text) !important;
}

#masthead .header-actions .wc-block-mini-cart__quantity-badge {
    order: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    color: var(--color-text) !important;
}

#masthead .header-actions .wc-block-mini-cart__quantity-badge svg.wc-block-mini-cart__icon {
    display: block !important;
    color: var(--color-text) !important;
}

#masthead .header-actions .wc-block-mini-cart__amount {
    order: 0 !important;
    color: var(--color-text) !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    /* WC masque le prix sous 768px sauf display:initial â€” forcer dans la barre */
    display: inline !important;
}

#masthead .header-actions .wc-block-mini-cart__tax-label {
    order: 0 !important;
    color: var(--color-text) !important;
    margin: 0 !important;
}

#masthead .header-actions .wp-block-woocommerce-mini-cart .wc-block-mini-cart__button svg.wc-block-mini-cart__icon,
#masthead .header-actions .wp-block-woocommerce-mini-cart .wc-block-mini-cart__button svg.wc-block-mini-cart__icon circle,
#masthead .header-actions .wp-block-woocommerce-mini-cart .wc-block-mini-cart__button svg.wc-block-mini-cart__icon path,
#masthead .header-actions .wc-block-mini-cart__button svg.wc-block-mini-cart__icon,
#masthead .header-actions .wc-block-mini-cart__button svg.wc-block-mini-cart__icon circle,
#masthead .header-actions .wc-block-mini-cart__button svg.wc-block-mini-cart__icon path {
    fill: currentColor !important;
    color: var(--color-text) !important;
    stroke: none !important;
}

#masthead .header-actions .wc-block-mini-cart__button:hover,
#masthead .header-actions .wc-block-mini-cart__button:focus-visible,
#masthead .header-actions .wc-block-mini-cart__button:hover .wc-block-mini-cart__amount,
#masthead .header-actions .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__amount,
#masthead .header-actions .wc-block-mini-cart__button:hover .wc-block-mini-cart__tax-label,
#masthead .header-actions .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__tax-label,
#masthead .header-actions .wc-block-mini-cart__button:hover .wc-block-mini-cart__quantity-badge,
#masthead .header-actions .wc-block-mini-cart__button:focus-visible .wc-block-mini-cart__quantity-badge {
    color: var(--color-accent-yellow) !important;
}

/* IcÃ´ne : le svg a color --color-text en repos â€” forcer jaune au survol (sinon !important bloque lâ€™hÃ©ritage) */
#masthead .header-actions .wc-block-mini-cart__button:hover svg.wc-block-mini-cart__icon,
#masthead .header-actions .wc-block-mini-cart__button:focus-visible svg.wc-block-mini-cart__icon,
#masthead .header-actions .wc-block-mini-cart__button:hover svg.wc-block-mini-cart__icon circle,
#masthead .header-actions .wc-block-mini-cart__button:hover svg.wc-block-mini-cart__icon path,
#masthead .header-actions .wc-block-mini-cart__button:focus-visible svg.wc-block-mini-cart__icon circle,
#masthead .header-actions .wc-block-mini-cart__button:focus-visible svg.wc-block-mini-cart__icon path {
    color: var(--color-accent-yellow) !important;
    fill: currentColor !important;
}

#masthead .header-actions .wc-block-mini-cart__button svg:not(.wc-block-mini-cart__icon) path,
#masthead .header-actions .wc-block-mini-cart__button .wc-block-mini-cart__icon svg path {
    fill: currentColor !important;
    stroke: none !important;
}

/* Garde-fou : mÃªmes couleurs si #masthead absent du markup */
.header-main-wrapper .header-actions .spotlight-search-trigger {
    color: var(--color-text) !important;
}

.header-main-wrapper .header-actions .spotlight-search-trigger svg,
.header-main-wrapper .header-actions .spotlight-search-trigger svg * {
    fill: none !important;
    stroke: currentColor !important;
    color: inherit !important;
}

.header-main-wrapper .header-actions .wc-block-mini-cart__button {
    color: var(--color-text) !important;
}

.header-main-wrapper .header-actions .wc-block-mini-cart__button svg.wc-block-mini-cart__icon,
.header-main-wrapper .header-actions .wc-block-mini-cart__button svg.wc-block-mini-cart__icon circle,
.header-main-wrapper .header-actions .wc-block-mini-cart__button svg.wc-block-mini-cart__icon path {
    fill: currentColor !important;
    color: var(--color-text) !important;
    stroke: none !important;
}

.header-main-wrapper .header-actions .wc-block-mini-cart__button:hover svg.wc-block-mini-cart__icon,
.header-main-wrapper .header-actions .wc-block-mini-cart__button:focus-visible svg.wc-block-mini-cart__icon,
.header-main-wrapper .header-actions .wc-block-mini-cart__button:hover svg.wc-block-mini-cart__icon circle,
.header-main-wrapper .header-actions .wc-block-mini-cart__button:hover svg.wc-block-mini-cart__icon path,
.header-main-wrapper .header-actions .wc-block-mini-cart__button:focus-visible svg.wc-block-mini-cart__icon circle,
.header-main-wrapper .header-actions .wc-block-mini-cart__button:focus-visible svg.wc-block-mini-cart__icon path {
    color: var(--color-accent-yellow) !important;
    fill: currentColor !important;
}

/* CÅ“ur contour gris â†’ lisible blanc sur la barre */
.header-main-wrapper .header-actions .wishlist-icon img {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.header-main-wrapper .header-actions .wishlist-icon a:hover img,
.header-main-wrapper .header-actions .wishlist-icon a:focus-visible img {
    filter: brightness(0) invert(1) sepia(1) saturate(5) hue-rotate(5deg);
    opacity: 1;
}

/* ≤ 1330px : compte, loupe, favoris → dans le burger uniquement */
@media (max-width: 1330px) {
    #masthead .header-actions .header-account-search,
    #masthead .header-actions .header-auth-links,
    #masthead .header-actions .header-product-search,
    #masthead .header-actions .wishlist-icon {
        display: none !important;
    }
}

/* ≥ 1331px : réafficher la barre d’actions (icônes + liens compte) */
@media (min-width: 1331px) {
    #masthead .header-actions .header-account-search {
        display: inline-flex !important;
    }

    #masthead .header-actions .header-auth-links {
        display: flex !important;
    }

    /* Desktop : pas de loupe dans le header (recherche via le menu mobile / la page produits) */
    #masthead .header-actions .header-product-search {
        display: none !important;
    }

    #masthead .header-actions .wishlist-icon {
        display: block !important;
    }
}

.header-logo-layer .site-logo a:focus-visible {
    outline: 2px solid var(--color-accent-yellow);
    outline-offset: 2px;
}

.wishlist-icon {
    margin-right: 0.5em;
    margin-left: 0.5em;
}

.header-actions .wishlist-icon,
.header-actions .header-account-search,
.header-actions .header-product-search,
.header-actions .wc-block-mini-cart {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Burger : uniquement â‰¤ 1330px (desktop = nav + icÃ´nes dans la barre dÃ¨s 1331px) */
.mobile-menu-toggle {
    display: none;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    padding: 0.75em;
    flex-direction: column;
    justify-content: space-around;
    width: 40px;
    height: 40px;
    z-index: 1002;
    position: relative;
    outline: none !important;
    box-shadow: none !important;
    color: #fff !important;
    appearance: none;
    transition: color 0.2s var(--st-header-ease);
}

.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus,
.mobile-menu-toggle:focus-visible,
.mobile-menu-toggle:active,
.mobile-menu-toggle[aria-expanded="true"] {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: var(--color-accent-yellow) !important;
}

.burger-line {
    width: 100%;
    height: 3px;
    background-color: #fff !important;
    border-radius: 2px;
    transform-origin: center;
    transition: transform 0.28s var(--st-header-ease), opacity 0.2s ease;
}

.mobile-menu-toggle[aria-expanded="true"] .burger-line:nth-child(1) {
    transform: rotate(45deg) translate(10px, 10px);
}

.mobile-menu-toggle[aria-expanded="true"] .burger-line:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle[aria-expanded="true"] .burger-line:nth-child(3) {
    transform: rotate(-45deg) translate(9px, -9px);
}

/* Menu burger : overlay fixe plein Ã©cran + panneau fixe (mÃªme logique que mini-panier / connexion) */
.mobile-menu-overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    z-index: 1001;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    overscroll-behavior: contain;
    background: transparent;
}

.mobile-menu-overlay.active {
    visibility: visible;
    pointer-events: auto;
}

.mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: opacity 0.3s ease;
    cursor: pointer;
    z-index: 0;
}

.mobile-menu-overlay.active .mobile-menu-backdrop {
    opacity: 1;
}

.mobile-menu-panel {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 22rem);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100vh;
    max-height: 100dvh;
    background-color: var(--color-bg, #1e1e1e) !important;
    border: none;
    border-radius: 0 14px 14px 0;
    -webkit-clip-path: inset(0 round 0 14px 14px 0);
    clip-path: inset(0 round 0 14px 14px 0);
    box-shadow: none;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    overflow: hidden;
    overscroll-behavior: contain;
    z-index: 1;
    isolation: isolate;
}

.mobile-menu-overlay.active .mobile-menu-panel {
    transform: translateX(0);
}

.mobile-menu-panel-inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    padding-bottom: env(safe-area-inset-bottom, 0);
    /* Comme le mini-panier : le tiroir recouvre toute la hauteur (banniÃ¨re comprise), pas de dÃ©calage sous la banniÃ¨re */
    padding-top: max(0.35rem, env(safe-area-inset-top, 0px));
}

body.admin-bar.mobile-menu-open .mobile-menu-panel-inner {
    padding-top: max(0.35rem, calc(env(safe-area-inset-top, 0px) + 32px));
}

@media screen and (max-width: 782px) {
    body.admin-bar.mobile-menu-open .mobile-menu-panel-inner {
        padding-top: max(0.35rem, calc(env(safe-area-inset-top, 0px) + 46px));
    }
}

.mobile-menu-close-row {
    width: 100%;
    flex-shrink: 0;
    position: relative;
    z-index: 3;
}

/* Contenu du panneau : scroll sous lâ€™en-tÃªte (comme les autres tiroirs) */
.mobile-menu-panel .mobile-menu-search-wrap {
    flex-shrink: 0;
}

.mobile-menu-panel .mobile-menu-navigation {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.mobile-menu-panel .mobile-menu-navigation::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* Alignement horizontal avec .mobile-menu-link (1.25rem) â€” pas de Â« carte Â», champ + loupe dans la rangÃ©e */
.mobile-menu-search-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.25rem 0.75rem;
    flex-shrink: 0;
    border-bottom: 1px solid var(--color-border);
    background: transparent;
    box-sizing: border-box;
}

.mobile-menu-search-input {
    flex: 1 1 auto;
    min-width: 0;
    width: 0;
    margin: 0;
    padding: 0.4rem 0;
    border: none;
    border-bottom: 1px solid var(--color-border);
    border-radius: 5px;
    background: transparent;
    color: var(--color-text);
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.35;
    outline: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.2s var(--st-header-ease);
}

.mobile-menu-search-input::placeholder {
    opacity: 0.65;
    color: var(--color-text);
}

.mobile-menu-search-input:focus {
    border-bottom-color: var(--color-accent-yellow);
}

.mobile-menu-search-input::-webkit-search-decoration,
.mobile-menu-search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.mobile-menu-search-submit {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-text);
    cursor: pointer;
    line-height: 0;
    transition: color 0.2s var(--st-header-ease);
}

.mobile-menu-search-submit:hover,
.mobile-menu-search-submit:focus-visible {
    color: var(--color-accent-yellow);
}

.mobile-menu-search-submit:focus-visible {
    outline: 2px solid var(--color-accent-yellow);
    outline-offset: 2px;
}

.mobile-menu-search-icon {
    width: 22px;
    height: 22px;
    display: block;
    flex-shrink: 0;
}

.mobile-menu-search-submit svg,
.mobile-menu-search-icon {
    stroke: currentColor;
}

#header-mobile-overlay .mobile-menu-search-wrap,
.mobile-menu-panel .mobile-menu-search-wrap {
    width: 100%;
    max-width: 100%;
}

.mobile-menu-navigation {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    padding: 0;
}

.mobile-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu-list > li {
    border-bottom: 1px solid var(--color-border);
}

.mobile-menu-link {
    display: block;
    margin: 0;
    padding: 1rem 1.25rem;
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    transition: color 0.2s var(--st-header-ease), background-color 0.2s ease;
}

.mobile-menu-link:hover,
.mobile-menu-link:focus {
    color: var(--color-accent-yellow);
}

.mobile-menu-list > li > .mobile-menu-link:hover,
.mobile-menu-list > li > .mobile-menu-link:focus-visible {
    color: var(--color-accent-yellow) !important;
}

.mobile-menu-link:focus-visible {
    outline: 2px solid var(--color-accent-yellow);
    outline-offset: -2px;
}

.mobile-menu-favoris {
    position: relative;
    padding-right: 2.75rem;
}

/* Pastille favoris dans le menu burger : masquÃ©e tant que le tiroir est ouvert */
body.mobile-menu-open .mobile-menu-favoris-badge,
html.mobile-menu-open .mobile-menu-favoris-badge {
    display: none !important;
}

.mobile-menu-favoris-badge {
    top: 50%;
    right: 1.25rem;
    transform: translateY(-50%);
}


@media (max-width: 1330px) {
    .mobile-menu-toggle {
        display: flex !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .header-drip-image-wrapper > .header-content-grid,
    .header-drip-image-wrapper > .alignwide.header-content-grid {
        position: relative !important;
        z-index: 7 !important;
    }

    #masthead .header-actions.header-cell--actions,
    #masthead .header-cell--nav {
        position: relative !important;
        z-index: 2 !important;
    }

    .header-content-grid {
        grid-template-columns: auto 1fr !important;
        row-gap: var(--st-header-grid-gap-row) !important;
        column-gap: 1em !important;
        padding-top: 0.35rem !important;
        padding-bottom: 0.35rem !important;
        min-height: var(--st-header-toolbar-min-h) !important;
    }

    .header-content-grid > .wp-block-group:first-child,
    .header-content-grid > .header-cell--nav {
        justify-self: start !important;
        justify-content: flex-start !important;
    }
    /* Prevent fixed header from covering entire viewport on mobile so scroll/touch work */
    .header-main-wrapper {
        min-height: 0 !important;
        height: auto !important;
    }

    .header-main-wrapper.header-scrolled .header-drip-image-wrapper > .header-content-grid {
        margin-top: var(--st-header-toolbar-nudge-y) !important;
    }

    .header-main-wrapper.header-scrolled .header-content-grid {
        padding-top: 0.35rem !important;
    }
}

@media (max-width: 630px) {
    .header-main-wrapper {
        /* Bandeau drip plus compact â€” tailles astra-child-header */
        /* Logo : aussi large que possible sans chevaucher burger (~40px) + panier (~48px) + padding */
        --st-header-logo-max-w: min(280px, calc(100vw - 8.75rem));
        --st-header-drip-tile-height: 96px;
        --st-header-drip-img-max-h: 72px;
        --st-header-toolbar-min-h: 50px;
        --st-header-logo-overlay-h: 1.75rem;
        --st-header-logo-slot-h: 1.75rem;
        --st-header-banner-h: 2.5rem;
        --st-header-banner-inset: var(--st-header-banner-h);
        --st-header-drip-pad-top: var(--st-header-logo-slot-h);
        --st-header-toolbar-nudge-y: -1rem;
        --st-header-drip-min-h: calc(
            var(--st-header-drip-pad-top) + var(--st-header-toolbar-min-h) + 0.95rem
        );
    }

    .header-main-wrapper.header-scrolled {
        --st-header-logo-overlay-h: 1.2rem;
    }

    /* Mini-cart : masquer le montant (sous 630px lâ€™espace header est serrÃ©) */
    #masthead .header-actions .wc-block-mini-cart__amount,
    .header-main-wrapper .header-actions .wc-block-mini-cart__amount {
        display: none !important;
    }

    /* Compact drip : entre -55 (trop haut) et 0 (trop bas) â€” centre visuel logo/bandeau */
    .header-content-grid > .header-cell--nav,
    .header-content-grid > .header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .header-actions.header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .wp-block-group.header-actions,
    #masthead .header-drip-image-wrapper .header-content-grid.is-layout-grid > .wp-block-group.header-actions.is-layout-flex,
    #masthead .header-actions.header-cell--actions {
        margin-top: -35px !important;
    }

    .header-logo-layer .site-logo img {
        /* Laisse rÃ©trÃ©cir sous le min desktop si lâ€™Ã©cran est trop Ã©troit */
        min-width: 0 !important;
    }

    /* Au-dessus du logo (z-index 8) pour rester cliquables si le logo est large */
    .mobile-menu-toggle,
    #masthead .header-actions.header-cell--actions,
    #masthead .header-cell--nav {
        position: relative !important;
        z-index: 9 !important;
    }
}

@media (max-width: 600px) {
    .wp-block-group.header-main-wrapper,
    .header-main-wrapper {
        --st-header-pad-inline: 1rem;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .header-logo-layer {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .header-main-wrapper > .alignwide.header-content-grid,
    .header-main-wrapper > .header-content-grid,
    .header-drip-image-wrapper > .alignwide.header-content-grid,
    .header-drip-image-wrapper > .header-content-grid,
    .wp-block-group.alignwide.header-content-grid,
    .wp-block-group.header-content-grid.is-layout-grid,
    .header-content-grid[class*="wp-container-core-group"],
    .header-content-grid {
        padding-left: max(var(--st-header-pad-inline), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--st-header-pad-inline), env(safe-area-inset-right, 0px)) !important;
        padding-top: 0.35rem !important;
        padding-bottom: 0.35rem !important;
        min-height: var(--st-header-toolbar-min-h) !important;
    }
}

/* Sous 630px : padding vertical de la grille dans le drip (aprÃ¨s le bloc 600px qui le fixait Ã  0.35rem) */
@media (max-width: 630px) {
    .header-drip-image-wrapper > .alignwide.header-content-grid,
    .header-drip-image-wrapper > .header-content-grid {
        padding-top: 0.15rem !important;
        padding-bottom: 0.15rem !important;
    }
}

@media (max-width: 560px) {
    .header-actions .wc-block-mini-cart {
        margin-left: 0 !important;
    }
}

@media (max-width: 482px) {
    .header-content-grid {
        padding-top: 0.35rem !important;
        padding-bottom: 0.35rem !important;
        min-height: var(--st-header-toolbar-min-h) !important;
        row-gap: var(--st-header-grid-gap-row) !important;
    }
}

@media (max-width: 338px) {
    .header-content-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* â‰¤370px : bandeau encore plus compact â€” logo garde la formule â€œmax sans cacher les boutonsâ€ */
@media (max-width: 370px) {
    .header-main-wrapper {
        --st-header-logo-max-w: min(340px, calc(100vw - 8.75rem));
        --st-header-drip-tile-height: 70px;
        --st-header-drip-img-max-h: 54px;
        --st-header-toolbar-min-h: 36px;
        --st-header-logo-overlay-h: 1.2rem;
        --st-header-logo-slot-h: 1.2rem;
        --st-header-banner-h: 2.35rem;
        --st-header-banner-inset: var(--st-header-banner-h);
        --st-header-drip-pad-top: var(--st-header-logo-slot-h);
        --st-header-toolbar-nudge-y: -0.35rem;
        --st-header-drip-min-h: calc(
            var(--st-header-drip-pad-top) + var(--st-header-toolbar-min-h) + 0.45rem
        );
    }

    .header-main-wrapper.header-scrolled {
        --st-header-logo-overlay-h: 0.4rem;
    }

    .header-logo-layer .site-logo img {
        min-width: 0 !important;
    }

    .header-content-grid > .header-cell--nav,
    .header-content-grid > .header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .header-actions.header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .wp-block-group.header-actions,
    #masthead .header-drip-image-wrapper .header-content-grid.is-layout-grid > .wp-block-group.header-actions.is-layout-flex,
    #masthead .header-actions.header-cell--actions {
        margin-top: -20px !important;
    }

    .header-drip-image-wrapper > .alignwide.header-content-grid,
    .header-drip-image-wrapper > .header-content-grid {
        padding-top: 0.08rem !important;
        padding-bottom: 0.08rem !important;
    }
}

/* â‰¤318px : masquer le logo, bandeau encore plus bas â€” look astra-child-header */
@media (max-width: 318px) {
    .header-main-wrapper {
        --st-header-logo-overlay-h: 0.55rem;
        --st-header-logo-slot-h: 0.55rem;
        --st-header-banner-h: 2.25rem;
        --st-header-banner-inset: var(--st-header-banner-h);
        --st-header-drip-pad-top: var(--st-header-logo-slot-h);
        --st-header-drip-tile-height: 62px;
        --st-header-drip-img-max-h: 48px;
        --st-header-toolbar-min-h: 44px;
        /* Sans logo : pas de remontÃ©e artificielle â€” centre burger/panier dans le bandeau */
        --st-header-toolbar-nudge-y: 0px;
        --st-header-drip-min-h: calc(
            var(--st-header-drip-pad-top) + var(--st-header-toolbar-min-h) + 0.35rem
        );
    }

    .header-main-wrapper.header-scrolled {
        --st-header-logo-overlay-h: 0.45rem;
    }

    .header-logo-layer .site-logo img {
        display: none !important;
    }

    .header-logo-layer .site-logo {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Annule le -35px du breakpoint 630px ; lÃ©gÃ¨re remontÃ©e (0 Ã©tait trop bas) */
    .header-content-grid > .header-cell--nav,
    .header-content-grid > .header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .header-actions.header-cell--actions,
    #masthead .header-drip-image-wrapper .header-content-grid > .wp-block-group.header-actions,
    #masthead .header-drip-image-wrapper .header-content-grid.is-layout-grid > .wp-block-group.header-actions.is-layout-flex,
    #masthead .header-actions.header-cell--actions {
        margin-top: -20px !important;
    }

    .header-drip-image-wrapper > .alignwide.header-content-grid,
    .header-drip-image-wrapper > .header-content-grid,
    .header-content-grid {
        align-items: center !important;
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
        min-height: var(--st-header-toolbar-min-h) !important;
    }

    .mobile-menu-toggle,
    #masthead .header-actions,
    #masthead .header-actions .wc-block-mini-cart,
    #masthead .header-actions .wc-block-mini-cart__button {
        align-self: center !important;
    }
}

body.mobile-menu-open,
html.mobile-menu-open {
	/* Scroll locked in JS — avoid position:fixed (black page / scroll jump). */
	overscroll-behavior: none;
	width: 100%;
}

/* Menu mobile : au-dessus du logo, du mini-panier WC, carrousels, etc. */
body.mobile-menu-open #masthead.header-main-wrapper,
body.mobile-menu-open .header-main-wrapper#masthead {
    z-index: 500000 !important;
}

/* BanniÃ¨re livraison sous le tiroir (comme sous lâ€™overlay du panier WC, hors header) */
body.mobile-menu-open .announcement-bar-wrapper {
    z-index: 0 !important;
}

/* Drip + colonne nav au-dessus de la banniÃ¨re pour que lâ€™overlay fixe recouvre tout lâ€™Ã©cran */
body.mobile-menu-open #masthead .header-drip-image-wrapper {
    z-index: 10002 !important;
}

/* Logo : remonte (mÃªme durÃ©e / easing que .header-logo-layer) puis disparaÃ®t en opacitÃ© */
body.mobile-menu-open #masthead .header-logo-layer {
    transform: translateY(-10rem) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.mobile-menu-open #masthead .mobile-menu-toggle {
    margin-top: -100px !important;
    z-index: 10001;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.mobile-menu-open #masthead .header-cell--nav {
    position: relative;
    z-index: 100050 !important;
}

body.mobile-menu-open #masthead .header-cell--actions,
body.mobile-menu-open #masthead .header-actions.header-cell--actions {
    position: relative;
    z-index: 0 !important;
}

/* Au-dessus de la banniÃ¨re (z-index 6) et cohÃ©rent avec un plein Ã©cran type tiroir panier */
body.mobile-menu-open .mobile-menu-overlay {
    z-index: 100000 !important;
}

@media (prefers-reduced-motion: reduce) {
    .header-main-wrapper,
    .announcement-bar-wrapper,
    .header-drip-image-wrapper,
    .header-content-grid,
    .header-logo-layer,
    .mobile-menu-overlay,
    .mobile-menu-panel,
    .mobile-menu-backdrop,
    .burger-line,
    .header-nav-link,
    .header-auth-link,
    .header-account-link,
    .mobile-menu-link,
    .mobile-menu-close,
    .header-logo-layer .site-logo img {
        transition-duration: 0.01ms !important;
    }

    .announcement-bar-scroll {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Hero pages: negative margin pulls hero image slightly under the sticky header */
main,
.wp-block-group:has(.hero-carousel-section),
body > main {
    padding-top: 0 !important;
    margin-top: -40px !important;
}

/* Page dâ€™accueil : remonte le hero sous le drip (ne pas forcer margin-top: 0, Ã§a annulait le pull) */
main:has(.hero-carousel-section),
body > main:has(.hero-carousel-section),
.wp-block-group:has(.hero-carousel-section) {
    margin-top: var(--st-hero-main-pull) !important;
}


/* Mobile: hero pages stay at 0; non-hero pages reduce padding progressively */
@media (max-width: 1330px) {
    main:has(.hero-carousel-section),
    .wp-block-group:has(.hero-carousel-section),
    body > main:has(.hero-carousel-section) {
        padding-top: 0 !important;
    }
}

/* Offset sticky header + global main { margin-top: -40px } on small screens.
   Include single-product (was wrongly excluded) and nos-produits (main has no .site-main).
   Breakpoint alignÃ© sur le header burger (max-width: 1330px). */
@media (max-width: 1330px) {
    main.site-main:not(:has(.hero-carousel-section)),
    main.nos-produits-page:not(:has(.hero-carousel-section)),
    main.st-devenir-partenaire-page:not(:has(.hero-carousel-section)) {
        padding-top: 50px !important;
    }
}

@media (max-width: 480px) {
    main:has(.hero-carousel-section),
    .wp-block-group:has(.hero-carousel-section),
    body > main:has(.hero-carousel-section) {
        padding-top: 0 !important;
    }
    main.site-main:not(:has(.hero-carousel-section)),
    main.nos-produits-page:not(:has(.hero-carousel-section)),
    main.st-devenir-partenaire-page:not(:has(.hero-carousel-section)) {
        padding-top: 20px !important;
    }
}

/* Set normal text color to #b8b8b8 for pages without hero carousel */
main.site-main p,
main.site-main article p {
    color: #b8b8b8 !important;
}

/* Set list items color to #b8b8b8 and fix indentation */
main.site-main:not(:has(.hero-carousel-section)) ul,
main.site-main:not(:has(.hero-carousel-section)) article ul {
    margin-left: 1.5em !important;
    padding-left: 0 !important;
}


/* Hero Carousel Styles */
.hero-carousel-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #1e1e1e;
    padding: 0;
    margin: 0;
}

main.wp-block-group:first-of-type {
    margin-top: 0;
    padding-top: 0;
    margin-bottom: 0;
    background-color: #1e1e1e;
}

#hero-carousel {
    position: relative;
    width: 100%;
    /* manipulation: allow vertical page scroll + horizontal swipe (pan-x blocks vertical scroll on mobile) */
    touch-action: manipulation;
}

#hero-carousel .swiper-slide {
    position: relative;
    container-type: inline-size;
    container-name: hero-slide;
}

/* First <picture> = fond : remplit toute la slide ; lâ€™img couvre (slide 8 incluse si min-height > ratio naturel). */
#hero-carousel .swiper-slide > picture {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    overflow: hidden;
    margin: 0;
    pointer-events: none;
}

#hero-carousel .swiper-slide > picture img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center center;
    display: block;
    margin: 0;
}


/* First products strip overlap uses --st-home-section-overlap; later sections use --st-home-section-gap */
.products-carousel-gap {
    height: 0;
    min-height: 0;
}


.cta-chevron-right {
    color: inherit;
    margin-left: 0.2em;
    font-size: 3em;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.04em;
    display: inline-block;
    align-self: center;
    vertical-align: middle;
    position: relative;
    top: -0.08em;
    transition: color 0.2s ease;
}


/* Carousel Navigation Arrows */
.hero-carousel-prev,
.hero-carousel-next,
.pepper-carousel-prev,
.pepper-carousel-next,
.tomato-carousel-prev,
.tomato-carousel-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    color: #b6b6b6;
    font-size: 30px;
    background: rgba(0, 0, 0, 0.5);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

.hero-carousel-prev:hover,
.hero-carousel-next:hover,
.pepper-carousel-prev:hover,
.pepper-carousel-next:hover,
.tomato-carousel-prev:hover,
.tomato-carousel-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

/* Carousel Pagination Dots */
.hero-carousel-pagination,
.pepper-carousel-pagination,
.tomato-carousel-pagination {
    position: relative !important;
    text-align: center;
    margin-top: 30px !important;
    margin-bottom: var(--st-home-section-trail) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    z-index: 200 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 40px !important;
    bottom: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
    max-width: 60% !important;
}

.hero-carousel-section {
    position: relative;
}

.hero-carousel-pagination {
    z-index: 1 !important;
    position: absolute !important;
    top: auto !important;
    bottom: 70px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100% !important;
}

/* Ensure pagination stays within hero section on large screens */
@media (min-width: 1920px) {
    .hero-carousel-section {
        /* clip (not hidden): hidden + visible-y forces overflow-y:auto â†’ nested scrollbar */
        overflow-x: clip !important;
        overflow-y: visible !important;
    }
    
    .hero-carousel-pagination {
        bottom: 90px !important;
        max-height: calc(100% - 90px) !important;
    }
}

.hero-carousel-pagination .swiper-pagination-bullet,
.pepper-carousel-pagination .swiper-pagination-bullet,
.tomato-carousel-pagination .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    background: rgba(255, 255, 255, 0.7) !important;
    opacity: 1 !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
    display: inline-block !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 10001 !important;
    flex-shrink: 0 !important;
}

.hero-carousel-pagination .swiper-pagination-bullet-active,
.pepper-carousel-pagination .swiper-pagination-bullet-active,
.tomato-carousel-pagination .swiper-pagination-bullet-active {
    background: var(--color-accent-yellow) !important;
    width: 14px !important;
    height: 14px !important;
    opacity: 1 !important;
}

.hero-carousel-pagination .swiper-pagination-bullet:hover,
.hero-carousel-pagination .swiper-pagination-bullet:focus-visible,
.pepper-carousel-pagination .swiper-pagination-bullet:hover,
.pepper-carousel-pagination .swiper-pagination-bullet:focus-visible,
.tomato-carousel-pagination .swiper-pagination-bullet:hover,
.tomato-carousel-pagination .swiper-pagination-bullet:focus-visible {
    background: var(--color-accent-yellow) !important;
}

/* Extra breathing room above tomato carousel dots (carousel slides â†’ pagination) */
.tomato-carousel-pagination {
    margin-top: 40px !important;
}

/* Adjust pagination position for smaller carousels */
/* Removed absolute positioning to allow margin-top to work */

/* Hero carousel section */
.hero-carousel-section {
    position: relative;
}

/* Transition bar (Barre_transition_image_couverture): tile horizontally like .header-drip-image-wrapper â€” fixed tile width + height, no stretch on 2K.
   Use 100% (not 100vw): 100vw includes the scrollbar gutter and overflows the layout box â†’ horizontal scroll + seam under the drip. */
.transition-bar-overlay {
    --st-transition-bar-tile-w: 1800px;
    --st-transition-bar-tile-height: 220px;
    /* Remonte assez pour masquer tout jeu de pixels / arrondis sous le hero */
    --st-transition-bar-overlap: clamp(2.25rem, 6vw, 4.5rem);
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
    /* Remonte lÃ©gÃ¨rement sous le bas du swiper (dÃ©cor) ; px/clamp pour rester prÃ©visible au resize */
    margin-top: calc(-1 * var(--st-transition-bar-overlap));
    flex-shrink: 0;
    z-index: 10;
    min-height: var(--st-transition-bar-tile-height);
    background-color: transparent;
    background-image: url('/wp-content/themes/astra-child/assets/icones/Barre_transition_image_couverture.webp');
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: var(--st-transition-bar-tile-w) var(--st-transition-bar-tile-height);
}
/* Pagination inside transition bar: centered over the bar */
.transition-bar-overlay .hero-carousel-pagination {
    position: absolute !important;
    top: 55px !important;
    bottom: auto !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    text-align: center;
    z-index: 5;
}

/* MÃªme tuile que le drip header : hauteur explicite (pas auto) pour un rendu net au mobile */
@media (max-width: 530px) {
    .transition-bar-overlay {
        --st-transition-bar-tile-height: 108px;
    }

    .transition-bar-overlay .hero-carousel-pagination {
        top: 38px !important;
    }
}

/* Footer Bar Overlay */
.footer-main-wrapper {
    position: relative;
    background-color: var(--color-footer-bg);
}

.footer-alignwide {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2em;
    padding-top: 7.25rem;
    padding-bottom: 7.25rem;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

.footer-item a {
    text-decoration: none;
    color: #B8C0CC;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 400;
}

.footer-item a:hover,
.footer-item a:focus-visible {
    color: var(--color-accent-yellow) !important;
}

.footer-item:hover a,
.footer-item:focus-within a {
    color: var(--color-accent-yellow) !important;
}

.footer-item span:not(.footer-separator) {
    color: #B8C0CC;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 400;
    transition: color 0.2s ease;
}

.footer-item:hover span:not(.footer-separator),
.footer-item:focus-within span:not(.footer-separator) {
    color: var(--color-accent-yellow) !important;
}

.footer-item > div {
    display: flex;
    gap: 1.5em;
}

.footer-item img {
    height: 42px;
    display: block;
}

.footer-item:first-child img {
    height: 40px;
}

.footer-main-wrapper .wp-block-group.alignwide:last-of-type,
.footer-copyright-wrapper {
    margin-top: 0;
    padding: 0 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.footer-copyright-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.25rem;
}

.footer-main-wrapper .footer-copyright-logos .footer-copyright-logo,
.footer-copyright-wrapper .footer-copyright-logo {
    display: block !important;
    height: 33px !important;
    width: auto !important;
    max-height: 33px !important;
    max-width: 50px !important;
    object-fit: contain !important;
}

.footer-main-wrapper .wp-block-group.alignwide:last-of-type p,
.footer-main-wrapper p.has-text-align-center,
.footer-copyright-text {
    color: #B8C0CC;
    margin: 0;
    text-align: center;
}

.footer-copyright-rights {
    white-space: nowrap;
}

/* Footer bar (Barre_bas): 1800Ã—400, repeat when wider, crop from right when narrower */
.footer-bar-overlay {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    height: 200px;
    transform: translateY(-20%);
    background-image: url('/wp-content/themes/astra-child/assets/icones/Barre_bas.webp');
    background-repeat: repeat-x;
}

.footer-main-wrapper > .alignwide {
    position: relative;
    z-index: 2;
}

/* Hide img â€“ background handles all widths (repeat when > 1800px, crop when < 1800px) */
.footer-main-wrapper .footer-bar-overlay img,
.footer-bar-overlay img {
    display: none !important;
}

/* Footer items: flex layout, wrap when needed */
.footer-items-container {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2em;
    width: 100%;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}

.footer-separator {
    display: block;
    width: 1px;
    height: 42px;
    align-self: flex-end;
    flex-shrink: 0;
    background-color: #1e1e1e;
    color: transparent;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

.footer-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.35em;
    flex: 0 0 auto;
    min-width: 0;
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .footer-items-container {
        gap: 2.75em;
    }

    .footer-item > div {
        gap: 2.75em;
    }
}

@media (max-width: 640px) {
    .footer-alignwide {
        padding-top: 3.75rem;
        padding-bottom: 2.75rem;
        gap: 0;
    }

    .footer-items-container {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 0;
        width: 100%;
    }

    .footer-item {
        flex: 0 0 auto;
        max-width: none;
        width: auto;
        padding: 1.15rem 0;
        gap: 1em;
    }

    /* Même gris que les icônes / séparateurs desktop (#1e1e1e), ligne longue sans bord */
    .footer-separator {
        display: block;
        width: min(18rem, 72%);
        height: 1px;
        align-self: center;
        background-color: #1e1e1e;
        opacity: 1;
        margin: 0.85rem 0;
    }

    .footer-bar-overlay {
        height: 140px;
        transform: translateY(-28%);
    }

    /*
     * Extra scroll room under copyright so fixed cookie + language chips
     * (bottom ~14px, ~42px tall) do not cover the legal line.
     */
    .footer-main-wrapper {
        padding-bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    .footer-main-wrapper .footer-copyright-wrapper,
    .footer-copyright-wrapper {
        padding-bottom: 0.75rem !important;
    }

    .footer-main-wrapper .footer-copyright-text,
    .footer-copyright-wrapper .footer-copyright-text {
        white-space: normal;
        font-size: 0.75rem !important;
        letter-spacing: 0.01em;
        line-height: 1.45;
    }

    .footer-copyright-rights {
        display: inline-block;
        white-space: nowrap;
    }
}

@media (max-width: 400px) {
    .footer-main-wrapper .footer-copyright-text,
    .footer-copyright-wrapper .footer-copyright-text {
        font-size: 0.65rem !important;
    }
}

/* Pepper and Tomato Carousel Sections */
.pepper-carousel-section,
.tomato-carousel-section {
    position: relative;
    width: 100%;
    max-width: var(--st-image-carousel-max-w);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    background-color: transparent;
    display: block;
}

#pepper-carousel,
#tomato-carousel {
    position: relative;
    height: fit-content;
    padding: 0;
    max-width: 100%;
    touch-action: manipulation;
    margin: 0 auto;
    border: 9px solid var(--color-footer-bg);
    border-radius: 5px;
    background-color: var(--color-footer-bg);
    overflow: hidden;
    box-sizing: border-box;
}

#pepper-carousel .swiper-slide,
#tomato-carousel .swiper-slide {
    height: auto;
    min-height: 0;
    display: flex;
    align-items: stretch;
}

/* Slide height follows content; image column stretches to match. */
.pepper-slide-container,
.tomato-slide-container {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: stretch;
    overflow: visible;
    background-color: var(--color-bg);
}

/* Image Column (Left) — does not drive slide height (absolute img fills text column height) */
.pepper-slide-image,
.tomato-slide-image {
    flex: 0 0 50%;
    width: 50%;
    position: relative;
    display: block;
    align-self: stretch;
    background-color: transparent;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
}

.pepper-slide-image img,
.tomato-slide-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    display: block;
    object-fit: cover;
    object-position: center;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-user-drag: none;
    user-select: none;
}

#pepper-carousel,
#tomato-carousel {
    width: 100%;
}

#pepper-carousel .swiper-wrapper,
#tomato-carousel .swiper-wrapper {
    padding: 0 !important;
    margin: 0 !important;
}

#pepper-carousel .swiper-slide,
#tomato-carousel .swiper-slide {
    padding: 0 !important;
    margin: 0 !important;
}

.pepper-slide-container,
.tomato-slide-container {
    padding: 0 !important;
    margin: 0 !important;
}


/* Content Column (Right) — full text visible, drives slide height (no scroll) */
.pepper-slide-content,
.tomato-slide-content {
    position: static;
    flex: 0 0 50%;
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 16px 40px 32px 48px;
    background-color: var(--color-bg);
    border-left: none;
    color: #b6b6b6;
    min-width: 0;
    min-height: 0;
    height: auto;
    align-self: stretch;
    overflow: visible;
    box-sizing: border-box;
}

h2.pepper-slide-heading,
h2.tomato-slide-heading {
    font-size: 3rem;
    font-weight: 700;
    color: #fff !important;
    margin: 0 0 0.35rem !important;
    padding: 0;
    line-height: 1.15;
    letter-spacing: 1.5px;
    flex-shrink: 0;
}

.pepper-slide-heading + .pepper-slide-text,
.tomato-slide-heading + .tomato-slide-text {
    margin-top: 0 !important;
}

.pepper-slide-text,
.tomato-slide-text {
    font-size: 20px;
    line-height: 1.35;
    margin-bottom: 0.85rem;
    color: #b6b6b6;
    opacity: 0.95;
    word-wrap: break-word;
    overflow-wrap: break-word;
    flex: 0 0 auto;
}

.pepper-slide-text--lg {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.35;
    color: #fff;
}

.pepper-slide-text:last-of-type,
.tomato-slide-text:last-of-type {
    margin-bottom: 0.85rem;
}

.pepper-slide-text strong,
.tomato-slide-text strong {
    font-weight: 700;
    color: #fff !important;
}

.pepper-slide-cta,
.tomato-slide-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.42em;
    line-height: 1;
    color: #fff !important;
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
    transition: color 0.2s ease, opacity 0.3s ease;
    cursor: pointer;
    align-self: center;
    flex-shrink: 0;
    margin-top: 0.35rem;
    padding-top: 0;
}

.pepper-slide-cta:hover,
.pepper-slide-cta:focus-visible,
.tomato-slide-cta:hover,
.tomato-slide-cta:focus-visible {
    color: var(--color-accent-yellow) !important;
    opacity: 1;
}

.pepper-slide-cta .cta-chevron-right--carousel,
.tomato-slide-cta .cta-chevron-right--carousel {
    font-size: inherit !important;
    margin-left: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
    position: static !important;
    top: auto !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    height: 1em;
}

.pepper-slide-cta .cta-chevron-right--carousel .cta-chevron-svg-icon,
.tomato-slide-cta .cta-chevron-right--carousel .cta-chevron-svg-icon {
    display: block;
    width: auto;
    /* Cap height matches uppercase label better than 1em */
    height: 1.15cap;
    flex-shrink: 0;
    overflow: visible;
    color: inherit;
    transition: color 0.2s ease;
}

.pepper-slide-cta .cta-chevron-right--carousel .cta-chevron-svg-icon path,
.tomato-slide-cta .cta-chevron-right--carousel .cta-chevron-svg-icon path {
    stroke: currentColor;
    transition: stroke 0.2s ease;
}

.pepper-slide-cta:hover .cta-chevron-right--carousel,
.pepper-slide-cta:focus-visible .cta-chevron-right--carousel,
.tomato-slide-cta:hover .cta-chevron-right--carousel,
.tomato-slide-cta:focus-visible .cta-chevron-right--carousel {
    color: var(--color-accent-yellow) !important;
}

.pepper-slide-cta:hover .cta-chevron-right--carousel .cta-chevron-svg-icon,
.pepper-slide-cta:focus-visible .cta-chevron-right--carousel .cta-chevron-svg-icon,
.tomato-slide-cta:hover .cta-chevron-right--carousel .cta-chevron-svg-icon,
.tomato-slide-cta:focus-visible .cta-chevron-right--carousel .cta-chevron-svg-icon {
    color: var(--color-accent-yellow) !important;
}

.pepper-slide-cta:hover .cta-chevron-right--carousel .cta-chevron-svg-icon path,
.pepper-slide-cta:focus-visible .cta-chevron-right--carousel .cta-chevron-svg-icon path,
.tomato-slide-cta:hover .cta-chevron-right--carousel .cta-chevron-svg-icon path,
.tomato-slide-cta:focus-visible .cta-chevron-right--carousel .cta-chevron-svg-icon path {
    stroke: var(--color-accent-yellow) !important;
}

/* Responsive Styles */
/* Mid screens (1001–1650): image as darkened background behind text */
@media (max-width: 1650px) and (min-width: 1001px) {
    .pepper-slide-container,
    .tomato-slide-container {
        display: block;
        position: relative;
        /* Clip image bleed only; height grows with translated copy via JS equalize */
        overflow: hidden;
        min-height: 420px;
        height: auto;
        background-color: #000;
    }

    .pepper-slide-image,
    .tomato-slide-image {
        position: absolute;
        inset: 0;
        z-index: 0;
        flex: none;
        width: 100%;
        height: 100%;
        display: block;
        overflow: hidden;
    }

    .pepper-slide-image img,
    .tomato-slide-image img {
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: center;
    }

    .pepper-slide-image::after,
    .tomato-slide-image::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.55) 0%,
            rgba(0, 0, 0, 0.72) 45%,
            rgba(0, 0, 0, 0.82) 100%
        );
        pointer-events: none;
    }

    .pepper-slide-content,
    .tomato-slide-content {
        position: relative;
        z-index: 2;
        flex: none;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 40px 48px 44px;
        background-color: transparent;
        min-height: 420px;
        height: auto;
        justify-content: center;
        box-sizing: border-box;
    }

    h2.pepper-slide-heading,
    h2.tomato-slide-heading {
        font-size: 2.5rem;
        text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
    }

    .pepper-slide-text,
    .tomato-slide-text {
        font-size: 20px;
        color: #e0e0e0;
        text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
    }

    .pepper-slide-text--lg {
        color: #fff;
    }

    .pepper-slide-cta,
    .tomato-slide-cta {
        align-self: flex-start;
        margin-top: 0.75rem;
    }
}

/* Stack image + text vertically below ~1000px (same structure as mobile) */
@media (max-width: 1000px) {
    .pepper-slide-container,
    .tomato-slide-container {
        flex-direction: column;
        display: flex;
        height: auto !important;
        min-height: 0 !important;
    }

    .pepper-slide-image,
    .tomato-slide-image {
        position: static;
        inset: auto;
        flex: none;
        width: 100%;
        height: auto;
        padding: 0;
        min-height: 0 !important;
    }

    .pepper-slide-image::after,
    .tomato-slide-image::after {
        content: none;
        display: none;
    }

    .pepper-slide-image img,
    .tomato-slide-image img {
        position: static;
        inset: auto;
        width: 100%;
        height: auto;
        max-width: 100%;
        object-fit: contain;
    }

    .pepper-slide-content,
    .tomato-slide-content {
        position: static;
        width: 100%;
        max-width: none;
        flex: none;
        padding: 24px 28px 28px;
        min-height: 0 !important;
        height: auto !important;
        overflow-y: visible !important;
        overflow: visible !important;
        border-left: none;
        border-top: none;
        background-color: var(--color-bg);
        justify-content: flex-start;
        box-sizing: border-box;
    }

    #pepper-carousel .swiper-slide,
    #tomato-carousel .swiper-slide {
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: stretch !important;
    }
}

@media (max-width: 1024px) {
    .pepper-slide-content,
    .tomato-slide-content {
        padding: 18px 25px;
    }
    
    h2.pepper-slide-heading,
    h2.tomato-slide-heading {
        font-size: 2.5rem;
        margin-bottom: 0.3rem !important;
    }

    .pepper-slide-text--lg {
        font-size: 1.75rem;
    }
    
    .pepper-slide-text,
    .tomato-slide-text {
        font-size: 20px;
        margin-bottom: 0.7rem;
        line-height: 1.35;
    }
    
    .pepper-slide-cta,
    .tomato-slide-cta {
        font-size: 1.25rem;
    }
}

@media (max-width: 768px) {
    .hero-carousel-prev,
    .hero-carousel-next,
    .pepper-carousel-prev,
    .pepper-carousel-next,
    .tomato-carousel-prev,
    .tomato-carousel-next {
        width: 35px;
        height: 35px;
        font-size: 24px;
    }
    
    .hero-carousel-prev,
    .pepper-carousel-prev,
    .tomato-carousel-prev {
        left: 10px;
    }
    
    .hero-carousel-next,
    .pepper-carousel-next,
    .tomato-carousel-next {
        right: 10px;
    }
    
    .pepper-carousel-section,
    .tomato-carousel-section {
        max-width: 100% !important;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }

    /* Pepper and Tomato carousels mobile adjustments —
       bordered inset container stays; layout already stacked ≤1000px */
    #pepper-carousel,
    #tomato-carousel {
        max-width: 100% !important;
        margin: 0 !important;
        border: 9px solid var(--color-footer-bg) !important;
        border-radius: 5px;
        box-sizing: border-box;
        overflow: hidden;
        background-color: var(--color-footer-bg);
    }
    
    .pepper-slide-content,
    .tomato-slide-content {
        padding: 24px 20px;
    }
    
    h2.pepper-slide-heading,
    h2.tomato-slide-heading {
        font-size: 2.1rem;
        margin-bottom: 0.3rem !important;
    }

    .pepper-slide-text--lg {
        font-size: 1.5rem;
    }
    
    .pepper-slide-text,
    .tomato-slide-text {
        font-size: 20px;
        margin-bottom: 0.65rem;
        line-height: 1.35;
    }
    
    .pepper-slide-cta,
    .tomato-slide-cta {
        font-size: 1.25rem;
    }
    
    /* Fix pagination for pepper and tomato carousels on mobile */
    .pepper-carousel-pagination {
        margin-top: 20px !important;
        margin-bottom: var(--st-home-section-trail) !important;
        gap: 15px !important;
        flex-wrap: wrap !important;
    }

    .tomato-carousel-pagination {
        margin-top: 30px !important;
        margin-bottom: var(--st-home-section-trail) !important;
        gap: 15px !important;
        flex-wrap: wrap !important;
    }
    
    .pepper-carousel-pagination .swiper-pagination-bullet,
    .tomato-carousel-pagination .swiper-pagination-bullet {
        width: 10px !important;
        height: 10px !important;
        margin: 0 4px !important;
        flex-shrink: 0 !important;
    }
    
    .pepper-carousel-pagination .swiper-pagination-bullet-active,
    .tomato-carousel-pagination .swiper-pagination-bullet-active {
        width: 12px !important;
        height: 12px !important;
    }
}

@media (max-width: 480px) {
    #pepper-carousel .swiper-slide,
    #tomato-carousel .swiper-slide {
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        align-items: stretch !important;
    }
    
    .pepper-slide-container,
    .tomato-slide-container {
        min-height: 0 !important;
        height: auto !important;
    }
    
    .pepper-slide-image,
    .tomato-slide-image {
        padding: 0;
        flex: none !important;
        width: 100%;
        min-height: 0 !important;
    }
    
    .pepper-slide-content,
    .tomato-slide-content {
        position: static;
        width: 100%;
        padding: 22px 18px;
        min-height: 0 !important;
        height: auto !important;
        overflow-y: visible !important;
        overflow: visible !important;
    }
    
    h2.pepper-slide-heading,
    h2.tomato-slide-heading {
        font-size: 1.75rem;
        margin-bottom: 0.25rem !important;
    }

    .pepper-slide-text--lg {
        font-size: 1.25rem;
    }
    
    .pepper-slide-text,
    .tomato-slide-text {
        font-size: 20px;
        margin-bottom: 0.6rem;
        line-height: 1.35;
    }
    
    .pepper-slide-cta,
    .tomato-slide-cta {
        font-size: 1.25rem;
    }
}

/* Products Carousel Sections */
.products-carousel-section {
    position: relative;
    width: 100%;
    background-color: #1e1e1e;
    overflow: visible !important;
    z-index: 300 !important;
}

.products-carousel-container {
    z-index: 9999 !important;
}

/* Only first products carousel overlaps the transition bar; other home bands stay separated */
.hero-carousel-section + .products-carousel-section {
    margin-top: calc(var(--st-home-section-overlap) + 10px) !important;
}

/* Trail spacing comes from button / pagination margin-bottom (--st-home-section-trail) */
.products-carousel-section + .pepper-carousel-section,
.pepper-carousel-section + .products-carousel-section,
.products-carousel-section + .tomato-carousel-section {
    margin-top: 0 !important;
}

/* Avis / Reviews — plein écran + marquee CSS (comme bannière livraison) */
.avis-carousel-section {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: var(--st-home-section-gap);
    /* Trail to footer is owned by padding-bottom below; keep margin 0 to avoid double gap */
    margin-bottom: 0;
    padding: clamp(2rem, 4vw, 3rem) 0 var(--st-footer-trail);
    background-color: var(--color-bg);
    box-sizing: border-box;
    overflow: hidden;
}

.tomato-carousel-section + .avis-carousel-section {
    margin-top: 0;
    /* Trail alone matches hero→title; avoid stacking with avis padding-top */
    padding-top: 0;
}

.tomato-carousel-section:has(+ .avis-carousel-section) .tomato-carousel-pagination {
    margin-bottom: var(--st-home-section-trail) !important;
}

.avis-carousel-header {
    max-width: var(--st-products-carousel-max-w);
    margin: 0 auto 1.75rem;
    padding: 0 80px;
    box-sizing: border-box;
}

.avis-carousel-title {
    text-align: left;
    color: #c9c9c9;
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    padding: 0 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: 'Myriad Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-variant-ligatures: none;
    font-feature-settings: "liga" 0, "dlig" 0, "calt" 0;
}

.avis-carousel-viewport {
    width: 100%;
    overflow: hidden;
    cursor: grab;
    /* Vertical page scroll + pinch-zoom; JS locks to touch-action:none once horizontal drag wins */
    touch-action: pan-y pinch-zoom;
}

.avis-carousel-viewport.is-dragging {
    cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
}

@keyframes scroll-avis {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.avis-carousel-scroll {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: fit-content;
    animation: scroll-avis 80s linear infinite;
    will-change: transform;
}

/* Sticky :hover after touch was pausing/resuming and causing a snap on mobile */
@media (hover: hover) and (pointer: fine) {
    .avis-carousel-scroll:hover {
        animation-play-state: paused;
    }
}

.avis-carousel-scroll.is-dragging {
    animation: none !important;
    cursor: grabbing;
}

.avis-carousel-track {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    flex-shrink: 0;
    align-items: stretch;
    gap: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}

.avis-card {
    display: flex;
    flex-direction: column;
    flex: 0 0 280px;
    width: 280px;
    max-width: 280px;
    padding: 1.35rem 1.4rem 1.5rem;
    background-color: var(--color-footer-bg);
    border-radius: 12px;
    box-sizing: border-box;
    text-align: left;
}

.avis-card-stars {
    display: block;
    line-height: 1;
    margin-bottom: 0.85rem;
    color: #fccb00 !important;
}

.avis-card-stars-svg {
    display: block;
    width: 110px;
    height: 18px;
}

.avis-card-stars-svg path {
    fill: #fccb00 !important;
}

.avis-card-text {
    flex: 1 1 auto;
    margin: 0 0 1.1rem;
    color: var(--color-text);
    font-size: 1rem;
    line-height: 1.45;
    font-family: 'Myriad Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.avis-card-divider {
    display: block;
    width: 100%;
    height: 0;
    margin: 0 0 0.9rem;
    border: 0;
    border-top: 1px solid var(--color-border);
}

.avis-card-name {
    margin: 0 0 0.2rem;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
    font-family: 'Myriad Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.avis-card-location {
    margin: 0;
    color: #8a8a8a;
    font-size: 0.85rem;
    line-height: 1.3;
    font-family: 'Myriad Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

@media (max-width: 768px) {
    .avis-carousel-section {
        padding: 1.5rem 0 var(--st-footer-trail);
        margin-bottom: 0;
    }

    .avis-carousel-header {
        margin-bottom: 1.25rem;
        padding: 0 10px;
        max-width: 100%;
    }

    .avis-carousel-title {
        font-size: 1.1rem;
        letter-spacing: 2px;
    }

    .avis-carousel-scroll {
        animation-duration: 55s;
    }

    .avis-card {
        flex-basis: 240px;
        width: 240px;
        max-width: 240px;
        padding: 1.15rem 1.15rem 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .avis-carousel-scroll {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 640px) {
    :root {
        --st-home-section-overlap: clamp(-2.75rem, -6vw, -1.5rem);
        --st-home-section-trail: 70px;
        --st-footer-trail: 56px;
    }
}


@media (max-width: 480px) {
    /* Colonne hero + barre : pas dâ€™Ã©cart (sinon fond #1e1e1e entre image et transition) */
    .hero-carousel-section {
        gap: 0 !important;
    }
}


.products-carousel-container {
    max-width: var(--st-products-carousel-max-w);
    margin: 0 auto;
    padding: 0 80px;
    position: relative;
    overflow: visible !important;
    box-sizing: border-box;
}

.products-carousel-section {
    overflow: visible !important;
}

.products-carousel-title {
    text-align: left;
    color: #c9c9c9;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    padding: 0 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    /* Samsung / Android: Ã©vite ligature OE â†’ Å’ (police de secours, graisse diffÃ©rente) */
    font-variant-ligatures: none;
    font-feature-settings: "liga" 0, "dlig" 0, "calt" 0;
}

.products-carousel {
    position: relative;
    padding: 0;
    margin-bottom: 40px;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}

/* No CTA under the strip (ex. coups de cœur) → same air as hero dots → next title */
.products-carousel-section:not(:has(.products-carousel-button)) .products-carousel {
    margin-bottom: var(--st-home-section-trail);
}

.products-carousel-container {
    overflow: visible !important;
}

.products-carousel .swiper-wrapper {
    display: flex;
    align-items: stretch;
    box-sizing: border-box;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.products-carousel.swiper {
    overflow: hidden;
    touch-action: manipulation;
}

.products-carousel .swiper-container {
    overflow: hidden;
}

.products-carousel .swiper-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    /* --st-product-slide-width set by carousels.js so only full cards fit (no clipping) */
    width: var(--st-product-slide-width, 300px) !important;
    max-width: var(--st-product-slide-width, 300px) !important;
    min-width: var(--st-product-slide-width, 300px) !important;
    flex-shrink: 0 !important;
    padding: 10px;
    box-sizing: border-box;
}

.product-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
    cursor: pointer;
    height: 100%;
    max-width: 100%;
    gap: 20px;
}

.products-carousel .swiper-slide > .product-card {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    gap: 20px;
}

.products-carousel .product-card-info-row {
    margin-top: 0;
    margin-bottom: 8px;
}

/* Links must not wrap cart/wishlist (nested <a> is invalid and breaks YITH). */
.product-card-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.product-card-link--media {
    flex-shrink: 0;
}

.product-card-link--info {
    flex: none;
    width: 100%;
    min-width: 0;
    align-self: stretch;
}

/* PremiÃ¨re rangÃ©e: Image avec contour */
.product-card-row {
    width: 100%;
}

.product-card-image-row {
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-card-image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
    overflow: hidden;
    /* Same as border — avoids a dark “hairline” where subpixels show the section bg */
    background-color: var(--color-footer-bg);
    border: 9px solid var(--color-footer-bg) !important;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.3s ease;
}

/* Mystery “coming soon” tile at end of nouveautés carousels */
.product-card--mystery {
    cursor: default;
    pointer-events: none;
    gap: 0;
}

.product-card-mystery-tile {
    background-color: #000 !important;
    border-color: #000 !important;
}

.product-card-mystery-label {
    display: block;
    width: 100%;
    padding: 1rem;
    box-sizing: border-box;
    color: #fff;
    text-align: center;
    font-family: var(--font-heading, inherit);
    font-size: clamp(0.85rem, 2.2vw, 1.15rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.25;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .product-card-image-wrapper {
        border-width: 1px !important;
    }
}

/* WooCommerce sets .woocommerce img { height: auto } â€” beat it so the image fits the square */
.woocommerce .product-card-image-wrapper img,
.woocommerce-page .product-card-image-wrapper img,
.product-card-image-wrapper img {
    position: absolute;
    /* 1px bleed past inner edge kills anti-alias gaps next to the border */
    top: -1px;
    left: -1px;
    width: calc(100% + 2px) !important;
    height: calc(100% + 2px) !important;
    max-width: none !important;
    object-fit: contain;
    object-position: center center;
    display: block;
    /* Block theme/plugin zoom/fade on hover â€” only the wrapper border may change */
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
    transition: none !important;
}

/* Carousels: pointer-down on images must swipe, not trigger native image/link drag */
.products-carousel .product-card-image-wrapper img,
.products-carousel .product-card-link--media {
    -webkit-user-drag: none;
    user-select: none;
}

.product-card:hover .product-card-image-wrapper {
    border-color: var(--color-border) !important;
}

/* Reinforce: no image motion/fade when hovering card or media link (Astra/Woo often add scale/opacity) */
.product-card:hover .product-card-image-wrapper img,
.product-card .product-card-link--media:hover .product-card-image-wrapper img,
.product-card .product-card-image-wrapper img:hover {
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
}

.woocommerce .product-card.is-out-of-stock .product-card-image-wrapper img,
.woocommerce-page .product-card.is-out-of-stock .product-card-image-wrapper img,
.product-card.is-out-of-stock .product-card-image-wrapper img,
.product-card.is-out-of-stock:hover .product-card-image-wrapper img,
.product-card.is-out-of-stock .product-card-link--media:hover .product-card-image-wrapper img,
.product-card.is-out-of-stock .product-card-image-wrapper img:hover {
    filter: grayscale(100%) !important;
    opacity: 0.4 !important;
}

.product-card.is-out-of-stock .product-card-full-name,
.product-card.is-out-of-stock .product-card-heat-actions {
    opacity: 0.5;
}

/* DeuxiÃ¨me rangÃ©e: titre seul, puis chaleur + panier/cÅ“ur sur la mÃªme ligne */
.product-card-info-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    flex: 0 0 auto;
    min-height: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.product-card-info-content {
    flex: none;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.product-card-heat-actions {
    --st-product-card-action-size: 28px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 12px;
    width: 100%;
    min-height: var(--st-product-card-action-size);
    margin-top: 0;
}

.product-card-heat-actions .product-card-heat {
    grid-column: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    height: var(--st-product-card-action-size);
    line-height: 1;
}

.product-card-heat-actions .product-card-actions {
    grid-column: 2;
    justify-self: end;
    align-self: center;
    margin-left: 0;
    height: var(--st-product-card-action-size);
}

.product-card-full-name {
    color: #b6b6b6;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    margin: 0;
    max-width: 100%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-card-heat {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
    flex-shrink: 0;
    line-height: 1;
}

.product-card-heat.doux {
    color: #2e865d !important;
}

.product-card-heat.moderate {
    color: #a48f2c !important;
}

.product-card-heat.chaud {
    color: #b06f22 !important;
}
.product-card-heat.tres-chaud {
    color: #9e501d !important; 
}
.product-card-heat.super-chaud {
    color: #9e3737 !important;
}

.product-card-heat.product-card-type {
    color: #b6b6b6 !important;
    /* Use the full heat-actions column (was 58% / 9.5rem — cut off "TOMATILLO"). */
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
    letter-spacing: 0.06em;
}

.product-card-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-shrink: 0;
}

.product-card-icon-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--st-product-card-action-size, 28px);
    height: var(--st-product-card-action-size, 28px);
    flex-shrink: 0;
}

.product-card-icon {
    width: var(--st-product-card-action-size, 28px);
    height: var(--st-product-card-action-size, 28px);
    color: #b6b6b6;
    transition: opacity 0.3s ease;
    display: block;
}

.product-card-icon-btn:hover .product-card-icon {
    color: var(--color-accent-yellow) !important;
    opacity: 1;
}

.product-card-icon-btn:hover,
.product-card-icon-btn:focus-visible {
    color: var(--color-accent-yellow) !important;
}

.product-card-icon-btn:hover .product-card-icon,
.product-card-icon-btn:focus-visible .product-card-icon {
    stroke: var(--color-accent-yellow) !important;
}

.product-card-icon-btn.add_to_cart_button.loading .product-card-icon {
    animation: st-spin 0.6s linear infinite;
    color: #fff;
}

.product-card-icon-btn.add_to_cart_button.added {
    position: relative;
}

.product-card-icon-btn.add_to_cart_button.added .product-card-icon {
    color: #27ae60;
    animation: st-added-pop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    opacity: 0;
}

.product-card-icon-btn.add_to_cart_button.added::after {
    content: '\2713';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #27ae60;
    font-size: 22px;
    font-weight: 700;
    animation: st-added-pop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes st-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(180deg); }
}

@keyframes st-added-pop {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.45); }
    70%  { transform: scale(0.9); }
    100% { transform: scale(1); }
}

@keyframes st-heart-pop {
	0%   { transform: scale(1); }
	40%  { transform: scale(1.35); }
	70%  { transform: scale(0.9); }
	100% { transform: scale(1); }
}

/* Toggled by assets/js/storefront-feedback.js */
.add_to_cart_button.st-atc-pop {
	animation: st-added-pop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

a.st-wishlist-pop,
button.st-wishlist-pop {
	animation: st-heart-pop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes st-wishlist-badge-flash {
	0%   { transform: translateY(0) scale(1); }
	35%  { transform: translateY(0) scale(1.35); }
	65%  { transform: translateY(0) scale(0.9); }
	100% { transform: translateY(0) scale(1); }
}

/* Pop animation when clicking the wishlist heart */
.yith-wcwl-add-to-wishlist a.st-wishlist-pop,
.yith-wcwl-add-to-wishlist button.st-wishlist-pop,
.yith-wcwl-add-button a.st-wishlist-pop,
.yith-wcwl-add-button button.st-wishlist-pop,
.yith-wcwl-wishlistaddedbrowse a.st-wishlist-pop,
.yith-wcwl-wishlistaddedbrowse button.st-wishlist-pop,
.yith-wcwl-wishlistexistsbrowse a.st-wishlist-pop,
.yith-wcwl-wishlistexistsbrowse button.st-wishlist-pop,
.yith-wcwl-remove-from-wishlist a.st-wishlist-pop {
	animation: st-heart-pop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Heart animation similar to cart bounce */
.yith-wcwl-add-to-wishlist a.st-heart-bounce,
.yith-wcwl-add-to-wishlist button.st-heart-bounce,
.yith-wcwl-add-button a.st-heart-bounce,
.yith-wcwl-wishlistaddedbrowse a.st-heart-bounce,
.yith-wcwl-wishlistaddedbrowse button.st-heart-bounce,
.yith-wcwl-wishlistexistsbrowse a.st-heart-bounce,
.yith-wcwl-wishlistexistsbrowse button.st-heart-bounce,
.yith-wcwl-remove-from-wishlist a.st-heart-bounce,
.yith-wcwl-remove-from-wishlist button.st-heart-bounce {
	animation: st-cart-bounce 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Header wishlist count pulse */
.wishlist-count-badge.st-wishlist-badge-flash {
	animation: st-wishlist-badge-flash 0.6s ease;
}

.product-card-actions .added_to_cart {
    display: none !important;
}

/* Wishlist on product cards: red heart when item is in the list */
.product-card-actions .yith-wcwl-add-to-wishlist.exists svg,
.product-card-actions .yith-wcwl-wishlistaddedbrowse svg,
.product-card-actions .yith-wcwl-wishlistexistsbrowse svg,
.product-card-actions .yith-wcwl-add-to-wishlist.exists .yith-wcwl-icon,
.product-card-actions .yith-wcwl-wishlistaddedbrowse .yith-wcwl-icon,
.product-card-actions .yith-wcwl-wishlistexistsbrowse .yith-wcwl-icon {
	fill: #e00000 !important;
	stroke: #e00000 !important;
	color: #e00000 !important;
}

.product-card-actions .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a,
.product-card-actions .yith-wcwl-wishlistaddedbrowse a,
.product-card-actions .yith-wcwl-wishlistexistsbrowse a {
	color: #e00000 !important;
}

/* If YITH browse/exists markup has no SVG, keep a visible red heart icon */
.product-card-actions .yith-wcwl-wishlistaddedbrowse a,
.product-card-actions .yith-wcwl-wishlistexistsbrowse a,
.product-card-actions .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: var(--st-product-card-action-size, 28px);
	height: var(--st-product-card-action-size, 28px);
	min-width: var(--st-product-card-action-size, 28px);
	text-decoration: none !important;
}

/* SVG coeur plein : \2665 devient emoji couleur sur Samsung / Chrome Android */
.product-card-actions .yith-wcwl-wishlistaddedbrowse a::before,
.product-card-actions .yith-wcwl-wishlistexistsbrowse a::before,
.product-card-actions .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item::before {
	content: '';
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	line-height: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e00000' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E")
		center / 20px 20px no-repeat;
}

.product-card-actions .yith-wcwl-wishlistaddedbrowse a.st-wishlist-pop::before,
.product-card-actions .yith-wcwl-wishlistexistsbrowse a.st-wishlist-pop::before,
.product-card-actions .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item.st-wishlist-pop::before {
	animation: st-heart-pop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.product-card-actions .yith-wcwl-wishlistaddedbrowse a svg,
.product-card-actions .yith-wcwl-wishlistexistsbrowse a svg,
.product-card-actions .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item svg,
.product-card-actions .yith-wcwl-wishlistaddedbrowse a .yith-wcwl-icon,
.product-card-actions .yith-wcwl-wishlistexistsbrowse a .yith-wcwl-icon,
.product-card-actions .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item .yith-wcwl-icon {
	display: none !important;
}

.products-carousel-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.72em;
    max-width: min(100%, 400px);
    width: 100%;
    box-sizing: border-box;
    /* Same trailing space as hero pagination → first title / image-carousel dots */
    margin: 0 auto var(--st-home-section-trail);
    padding: 0.875rem 2rem;
    background-color: var(--color-footer-bg);
    color: #b6b6b6;
    text-decoration: none;
    font-size: 1.25rem;
    font-weight: 600;
    border-radius: 5px;
    transform: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.products-carousel-button:hover,
.products-carousel-button:focus-visible {
    background-color: var(--color-border) !important;
    color: var(--color-accent-yellow) !important;
    transform: none;
}

/* Navigation Arrows for Products Carousel */
.products-carousel-container {
    position: relative;
}

/* Ancrage des flÃ¨ches sur la zone Swiper (vertical) ; overflow visible pour flÃ¨ches hors piste */
.products-carousel-viewport {
    position: relative;
    overflow: visible;
}

.products-carousel-next,
.products-carousel-prev {
    color: #b6b6b6 !important;
    background: transparent !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 0 !important;
    transition: opacity 0.3s ease !important;
    z-index: 102 !important;
    cursor: pointer !important;
    position: absolute !important;
    pointer-events: auto !important;
    /* Centre sur lâ€™image produit ; --st-products-nav-top mis Ã  jour par carousels.js (Ã©crase le top inline Swiper) */
    top: var(--st-products-nav-top, calc(10px + 12px + (var(--st-product-slide-width, 300px) - 20px) / 2)) !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    touch-action: manipulation !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hors des cartes : dans la marge/padding latÃ©ral du conteneur (pas au-dessus du produit) */
.products-carousel-viewport .products-carousel-prev {
    left: -44px !important;
    right: auto !important;
}

.products-carousel-viewport .products-carousel-next {
    right: -44px !important;
    left: auto !important;
}

.products-carousel-next:hover,
.products-carousel-prev:hover {
    background: transparent !important;
}

.products-carousel-next:hover::after,
.products-carousel-prev:hover::after {
    color: var(--color-accent-yellow) !important;
}

.products-carousel-next::after,
.products-carousel-prev::after {
    font-size: 20px !important;
    font-weight: 700;
    color: #b6b6b6 !important;
}

/* Hide navigation arrows when not needed */
.products-carousel-next.swiper-button-disabled,
.products-carousel-prev.swiper-button-disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

/* Scrollbar removed — products carousels autoplay like hero / pepper / tomato */
.products-carousel .products-carousel-scrollbar {
    display: none !important;
}

/* Responsive Styles for Products Carousel */
@media (max-width: 1024px) {
    .products-carousel {
        padding: 0;
    }
    
    .products-carousel-title {
        font-size: 1.25rem;
    }

    .avis-carousel-title {
        font-size: 1.25rem;
    }
    
}

@media (max-width: 768px) {
    .products-carousel-container {
        padding: 0 10px;
        max-width: 100% !important;
    }
    
    .products-carousel {
        padding: 0;
    }

    /* Accueil : bouton collé aux produits, plus d’air avant le titre suivant */
    body.home .products-carousel-section .products-carousel {
        margin-bottom: 8px;
    }

    body.home .products-carousel-button {
        width: auto;
        max-width: max-content;
        margin-bottom: 56px;
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }
    
    .products-carousel-title {
        font-size: 1.1rem;
        margin-bottom: 16px;
    }

    /* Accueil : saut de ligne FR seulement — EN reste sur une ligne */
    body.home .products-carousel-title-break {
        display: inline;
    }

    html[lang^="fr"]:not([data-st-gt-lang]) body.home .products-carousel-title-break,
    html[data-st-gt-lang="fr"] body.home .products-carousel-title-break {
        display: block;
    }

    html[data-st-gt-lang="en"] body.home .products-carousel-title-break {
        display: inline;
    }

    html[data-st-gt-lang="en"] body.home .products-carousel-title:has(.products-carousel-title-break),
    html[lang^="en"] body.home .products-carousel-title:has(.products-carousel-title-break) {
        white-space: nowrap;
    }

    .product-card-full-name {
        font-size: 16px;
    }
    
    .product-card-heat {
        font-size: 0.875rem;
    }
    
    .products-carousel-next,
    .products-carousel-prev {
        width: 40px !important;
        height: 40px !important;
    }
    
    .products-carousel-viewport .products-carousel-prev {
        left: -44px !important;
    }
    
    .products-carousel-viewport .products-carousel-next {
        right: -44px !important;
    }
}

@media (max-width: 480px) {
    .products-carousel-container {
        padding: 0 8px;
        max-width: 100% !important;
    }
    
    .products-carousel {
        padding: 0;
    }
    
    .products-carousel-viewport .products-carousel-prev {
        left: -36px !important;
    }
    
    .products-carousel-viewport .products-carousel-next {
        right: -36px !important;
    }
    
    .products-carousel-title {
        font-size: 1rem;
        margin-bottom: 14px;
    }

    .avis-carousel-title {
        font-size: 1rem;
    }
    
    .product-card-full-name {
        font-size: 16px;
    }
    
    .product-card-heat-actions {
        --st-product-card-action-size: 24px;
    }

    .product-card-heat {
        font-size: 0.875rem;
    }
    
    .product-card-icon {
        width: var(--st-product-card-action-size, 24px);
        height: var(--st-product-card-action-size, 24px);
    }
}

/* Hero Carousel: slides 1â€“7 height = f(largeur) via aspect-ratio ; slide 8 garde min-h + JS */
.hero-carousel-section {
    height: auto !important;
    min-height: 0 !important;
    /* visible-y so the transition bar can overlap; clip-x so slides don't spawn page scroll */
    overflow-x: clip !important;
    overflow-y: visible !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
}

/* Ne pas forcer height:auto sur .swiper / .swiper-wrapper : Ã§a Ã©crase le height inline de Swiper (autoHeight) et le wrapper devient aussi haut que la plus grande slide â†’ bande vide au-dessus de la barre de transition. */
#hero-carousel {
    min-height: 0 !important;
}

#hero-carousel .swiper-wrapper {
    min-height: 0 !important;
    /* Ã‰vite stretch sur la hauteur de la slide la plus haute dans la rangÃ©e flex */
    align-items: flex-start !important;
    overflow-x: visible !important;
}

#hero-carousel .swiper-slide {
    aspect-ratio: var(--st-hero-slide-aspect-w) / var(--st-hero-slide-aspect-h);
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#hero-carousel .swiper-slide > picture {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    overflow: hidden !important;
    margin: 0 !important;
    pointer-events: none !important;
}

#hero-carousel .swiper-slide > picture img {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Desktop hero (â‰¥769px): keep section open on Y; clip X (visible+hidden forces nested scrollbar) */
@media (min-width: 769px) {
    .hero-carousel-section {
        --st-hero-carousel-min-h-desktop: 580px;
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    #hero-carousel.swiper {
        overflow: visible !important;
    }

    #hero-carousel {
        min-height: 0 !important;
    }

    #hero-carousel .swiper-wrapper {
        min-height: 0 !important;
        overflow-x: visible !important;
    }

    #hero-carousel .swiper-slide {
        aspect-ratio: var(--st-hero-slide-aspect-w) / var(--st-hero-slide-aspect-h) !important;
        height: auto !important;
        min-height: var(--st-hero-carousel-min-h-desktop) !important;
        overflow: hidden !important;
    }

}






@media (max-width: 599px) {
    .hero-carousel-section {
        /* Ratio mobile : hauteur du bandeau (plus h = plus de hauteur visible, object-fit: cover) */
        --st-hero-slide-aspect-w: 20;
        --st-hero-slide-aspect-h: 31;
        /* Plancher : un peu plus haut qu'avant, sans remplir tout l'Ã©cran */
        --st-hero-carousel-min-h-mobile: 74svh;
        height: auto !important;
        min-height: 0 !important;
        overflow-anchor: none;
    }

    .header-main-wrapper {
        overflow-anchor: none;
    }

    /* Repli header instantanÃ© : pas de padding animÃ© (sauts de scroll Android) */
    .header-drip-image-wrapper,
    .header-logo-layer {
        transition: none !important;
    }

    main:has(.hero-carousel-section),
    body > main:has(.hero-carousel-section),
    .wp-block-group:has(.hero-carousel-section) {
        --st-hero-main-pull: clamp(-4.25rem, -10vw, -2.5rem);
        margin-top: var(--st-hero-main-pull) !important;
    }

    #hero-carousel {
        min-height: 0 !important;
    }
    
    #hero-carousel .swiper-slide {
        aspect-ratio: var(--st-hero-slide-aspect-w) / var(--st-hero-slide-aspect-h) !important;
        min-height: var(--st-hero-carousel-min-h-mobile) !important;
        height: auto !important;
        display: block !important;
        position: relative !important;
        overflow: hidden !important;
    }

    #hero-carousel .swiper-wrapper {
        min-height: 0 !important;
    }
    
    #hero-carousel .swiper-slide > picture {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
    }

    #hero-carousel .swiper-slide > picture img {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center center !important;
        margin: 0 !important;
    }

}



@media (max-width: 768px) {
    #hero-carousel .swiper-slide > picture {
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
    }

    #hero-carousel .swiper-slide > picture img {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center center !important;
        margin: 0 !important;
    }

    .hero-carousel-pagination {
        gap: 15px !important;
    }
    
    .hero-carousel-pagination .swiper-pagination-bullet {
        width: 9px !important;
        height: 9px !important;
        margin: 0 2px !important;
        flex-shrink: 0 !important;
    }
    
    .hero-carousel-pagination .swiper-pagination-bullet-active {
        width: 11px !important;
        height: 11px !important;
    }
}

@media (max-width: 480px) {



    .hero-carousel-section {
        height: auto !important;
        min-height: 0 !important;
    }
    
    #hero-carousel {
        min-height: 0 !important;
    }
    

    




    
    
    .hero-carousel-pagination .swiper-pagination-bullet {
        width: 7px !important;
        height: 7px !important;
        margin: 0 3px !important;
    }
    
    .hero-carousel-pagination .swiper-pagination-bullet-active {
        width: 9px !important;
        height: 9px !important;
    }
}

/*
 * Hero â€” image de fond (<picture>) : cadrage cover par slide.
 * Slides 1,2,6,7 : ancrage gauche | 3,4,5 : ancrage droite | 8 : cover centrÃ© (comme rÃ¨gle de base carousel).
 */
#hero-carousel .swiper-slide.hero-slide-1 > picture img,
#hero-carousel .swiper-slide.hero-slide-2 > picture img,
#hero-carousel .swiper-slide.hero-slide-6 > picture img,
#hero-carousel .swiper-slide.hero-slide-7 > picture img {
    object-fit: cover !important;
    object-position: left center !important;
}

#hero-carousel .swiper-slide.hero-slide-3 > picture img,
#hero-carousel .swiper-slide.hero-slide-4 > picture img,
#hero-carousel .swiper-slide.hero-slide-5 > picture img {
    object-fit: cover !important;
    object-position: right center !important;
}

#hero-carousel .swiper-slide.hero-slide-8 > picture img {
    object-fit: cover !important;
    object-position: center center !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   NOS PRODUITS PAGE â€“ Grid layout, Search bar, Filters
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.nos-produits-page {
    background-color: #1e1e1e;
    min-height: 100vh;
    padding-bottom: var(--st-footer-trail);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Keep the page at full container width even when few / smaller product images
   would otherwise shrink-wrap Astra’s .ast-container. */
body.page-template-page-nos-produits #content.site-content > .ast-container,
body.page-template-page-nos-produits .site-content > .ast-container,
body.page-template-page-devenir-partenaire #content.site-content > .ast-container,
body.page-template-page-devenir-partenaire .site-content > .ast-container,
body.page-template-page-partenaires #content.site-content > .ast-container,
body.page-template-page-partenaires .site-content > .ast-container {
    width: 100% !important;
    max-width: none;
    box-sizing: border-box;
}

.st-devenir-partenaire-page.nos-produits-page {
	min-height: 0 !important;
	padding-bottom: 0;
}

.st-partenaires-gate,
.st-devenir-partenaire-form {
	max-width: var(--st-nos-produits-max-w);
	margin: 0 auto;
	padding: 2rem var(--st-nos-produits-pad-x) var(--st-footer-trail);
	box-sizing: border-box;
	color: #c9c9c9;
}

.st-partenaires-gate > p:first-child,
.st-devenir-partenaire-form > p:first-child {
	max-width: 42rem;
	margin: 0 0 1.25rem;
	font-size: 1.25rem;
	line-height: 1.55;
	color: #b8b8b8;
}

.st-partenaires-gate-actions {
	margin: 0;
}

.st-partenaires-gate .st-partenaires-gate-cta,
.st-partenaires-gate .tomato-slide-cta {
	display: inline-flex;
	margin-top: 0.25rem;
}

.st-devenir-partenaire-form .srfm-form-container,
.st-devenir-partenaire-form .sureforms-form,
.st-devenir-partenaire-form form {
	max-width: 720px;
}

@media (max-width: 768px) {
	.st-partenaires-gate,
	.st-devenir-partenaire-form {
		padding: 1.5rem 20px var(--st-footer-trail);
	}
}

@media (max-width: 480px) {
	.st-partenaires-gate,
	.st-devenir-partenaire-form {
		padding: 1.25rem 15px var(--st-footer-trail);
	}
}

/* â”€â”€ Page Header â”€â”€ */
.nos-produits-header {
    max-width: var(--st-nos-produits-max-w);
    margin: 0 auto;
    padding: 60px var(--st-nos-produits-pad-x) 0;
}

.nos-produits-title {
    color: #c9c9c9;
    font-size: 2.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0;
}

/* â”€â”€ Barre filtres + recherche (mÃªme ligne, recherche Ã  droite) â”€â”€ */
.nos-produits-toolbar {
    max-width: var(--st-nos-produits-max-w);
    margin: 0 auto;
    padding: 72px var(--st-nos-produits-pad-x) 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 16px 24px;
    box-sizing: border-box;
}

.nos-produits-toolbar .nos-produits-filters {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    max-width: none;
}

.nos-produits-toolbar .nos-produits-search-bar {
    position: relative;
    flex: 0 0 min(280px, 100%);
    width: min(280px, 100%);
    max-width: min(280px, 100%);
    margin-left: auto;
}

/* â”€â”€ Search bar â”€â”€ */
.nos-produits-search-bar {
    position: relative;
    max-width: 500px;
    width: 100%;
}

/* Icône loupe à droite */
.nos-produits-search-icon-wrap {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    color: #fff;
    z-index: 2;
}

.nos-produits-search-bar:has(.nos-produits-search-clear:not([hidden])) .nos-produits-search-icon-wrap {
    display: none;
}

.nos-produits-search-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: inherit;
}

.nos-produits-search-icon circle,
.nos-produits-search-icon line {
    stroke: currentColor;
}

input.nos-produits-search-input,
.nos-produits-search-input {
    width: 100%;
    height: 32px !important;
    padding: 4px 36px 4px 12px !important;
    background: none !important;
    background-color: transparent !important;
    border: 1px solid var(--color-footer-bg) !important;
    border-radius: 0 !important;
    color: #e0e0e0 !important;
    font-size: 16px !important;
    font-family: 'Myriad Pro', sans-serif;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}

.nos-produits-search-input::-webkit-search-decoration,
.nos-produits-search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.nos-produits-search-bar:has(.nos-produits-search-clear:not([hidden])) .nos-produits-search-input {
    padding-right: 36px !important;
}

input.nos-produits-search-input::placeholder,
.nos-produits-search-input::placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

input.nos-produits-search-input:focus,
.nos-produits-search-input:focus {
    border-color: var(--color-footer-bg) !important;
    box-shadow: none !important;
    background: none !important;
    background-color: transparent !important;
}

.nos-produits-search-clear {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: color 0.2s ease;
}

.nos-produits-search-clear:not([hidden]) {
    display: flex;
}

.nos-produits-search-clear[hidden] {
    display: none !important;
}

.nos-produits-search-clear:hover {
    color: #ccc;
}

/* â”€â”€ Filters row (seul ou dans .nos-produits-toolbar) â”€â”€ */
.nos-produits-filters {
    max-width: var(--st-nos-produits-max-w);
    margin: 0 auto;
    padding: 25px var(--st-nos-produits-pad-x) 0;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.nos-produits-filter-label {
    color: #fff;
    font-size: 16px !important;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: normal;
}

.nos-produits-filter-separator {
    color: #fff;
    opacity: 0.4;
    font-size: 16px !important;
    user-select: none;
    line-height: normal;
}

/* â”€â”€ Custom select dropdowns â”€â”€ */
.nos-produits-select {
    position: relative;
}

.nos-produits-select[hidden] {
    display: none !important;
}

.nos-produits-select__trigger {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    background: none !important;
    background-color: transparent !important;
    border: none;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    color: #fff;
    font-size: 16px !important;
    font-family: 'Myriad Pro', sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: normal;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.2s ease;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
}

.nos-produits-select__text {
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    line-height: inherit;
}

.nos-produits-select__trigger:hover,
.nos-produits-select__trigger:focus,
.nos-produits-select__trigger:focus-visible {
    color: var(--color-accent-yellow) !important;
    background: none !important;
    background-color: transparent !important;
    border: none;
    box-shadow: none !important;
    outline: none !important;
}

.nos-produits-select__trigger[aria-expanded="true"] {
    color: var(--color-accent-yellow) !important;
    background: none !important;
    background-color: transparent !important;
    border: none;
}

.nos-produits-select__trigger[aria-expanded="true"] .nos-produits-select__arrow {
    transform: rotate(180deg);
}

.nos-produits-select__arrow {
    width: 12px;
    height: 12px;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.nos-produits-select__panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 180px;
    max-height: 280px;
    overflow-y: auto;
    background-color: #2a2a2a;
    border: 1px solid #444;
    border-radius: 5px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
    z-index: 1000;
    padding: 6px 0;
}

.nos-produits-select__option {
    padding: 8px 14px;
    color: #c9c9c9;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    white-space: nowrap;
}

.nos-produits-select__option:hover {
    background-color: #3a3a3a;
}

.nos-produits-select__option.selected {
    color: #fff;
    background-color: #444;
    font-weight: 600;
}

.nos-produits-select__option.is-disabled {
    color: #666;
    cursor: default;
    pointer-events: none;
    opacity: 0.45;
}

.nos-produits-select__option.is-disabled:hover {
    background-color: transparent;
}

.nos-produits-select__option.selected.is-disabled {
    color: #888;
    background-color: #3a3a3a;
    opacity: 0.7;
    pointer-events: auto;
}

/* Reset button */
.nos-produits-reset-btn {
    padding: 0;
    background: none !important;
    background-color: transparent !important;
    border: none;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    color: #999;
    font-size: 16px !important;
    font-family: 'Myriad Pro', sans-serif;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: normal;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.2s ease;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
}

.nos-produits-reset-btn:hover,
.nos-produits-reset-btn:focus,
.nos-produits-reset-btn:focus-visible {
    color: var(--color-accent-yellow) !important;
    background: none !important;
    background-color: transparent !important;
    border: none;
    box-shadow: none !important;
    outline: none !important;
}

/* â”€â”€ Products count â”€â”€ */
.nos-produits-count {
    max-width: var(--st-nos-produits-max-w);
    margin: 0 auto;
    padding: 20px var(--st-nos-produits-pad-x) 0;
    color: #777;
    font-size: 1.25rem;
}

/* â”€â”€ Products Grid â”€â”€ */
.nos-produits-grid {
    max-width: var(--st-nos-produits-max-w);
    width: 100%;
    margin: 0 auto;
    padding: 30px var(--st-nos-produits-pad-x) 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 30px;
    row-gap: 44px;
    box-sizing: border-box;
}

.nos-produits-item {
    display: flex;
    min-width: 0;
    width: 100%;
    transition: opacity 0.3s ease;
    /* Skip layout/paint for off-screen cards (JS still toggles display for filters). */
    content-visibility: auto;
    contain-intrinsic-size: auto 360px;
}

/* Re-use the exact same product-card styles from front page,
   just make sure the card fills the grid cell */
.nos-produits-item .product-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
    cursor: pointer;
    height: 100%;
    gap: 20px;
}

/* â”€â”€ No results message â”€â”€ */
.nos-produits-no-results {
    max-width: var(--st-nos-produits-max-w);
    margin: 0 auto;
    padding: 80px var(--st-nos-produits-pad-x);
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    color: #666;
    text-align: center;
}

.nos-produits-no-results.visible {
    display: flex;
}

.nos-produits-no-results svg {
    opacity: 0.4;
}

.nos-produits-no-results p {
    font-size: 1.25rem;
    margin: 0;
}

/* Alphabet filter + pagination */
.nos-produits-browse {
    max-width: var(--st-nos-produits-max-w);
    margin: 0 auto;
    padding: 104px var(--st-nos-produits-pad-x) 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    box-sizing: border-box;
}

.nos-produits-alpha {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.2em 0.45em;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
}

.nos-produits-alpha__letter {
    appearance: none;
    -webkit-appearance: none;
    background: none !important;
    background-color: transparent !important;
    border: none;
    border-radius: 0;
    box-shadow: none;
    outline: none;
    color: #fff;
    padding: 4px 2px;
    margin: 0;
    font-family: 'Myriad Pro', sans-serif;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s ease;
}

.nos-produits-alpha__letter:hover,
.nos-produits-alpha__letter:focus,
.nos-produits-alpha__letter:focus-visible,
.nos-produits-alpha__letter.is-active {
    color: var(--color-accent-yellow) !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

.nos-produits-alpha__letter.is-disabled,
.nos-produits-alpha__letter.is-disabled:hover,
.nos-produits-alpha__letter.is-disabled:focus,
.nos-produits-alpha__letter.is-disabled:focus-visible {
    color: #fff !important;
    opacity: 0.22;
    cursor: default;
    pointer-events: none;
}

.nos-produits-alpha__letter.is-disabled.is-active {
    color: var(--color-accent-yellow) !important;
    pointer-events: auto;
    cursor: pointer;
    opacity: 0.7;
}

.nos-produits-alpha__sep {
    color: #fff;
    opacity: 0.85;
    user-select: none;
    pointer-events: none;
}

.nos-produits-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6px 10px;
}

.nos-produits-page-ellipsis {
    color: #fff;
    opacity: 0.65;
    user-select: none;
    pointer-events: none;
    font-family: 'Myriad Pro', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 0 1px;
}

.nos-produits-page-btn {
    appearance: none;
    -webkit-appearance: none;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: #fff;
    box-sizing: border-box;
    position: relative;
    isolation: isolate;
    width: 32px;
    min-width: 32px;
    max-width: 32px;
    height: 32px;
    min-height: 32px;
    max-height: 32px;
    aspect-ratio: 1 / 1;
    flex: 0 0 32px;
    padding: 0 !important;
    margin: 0;
    font-family: 'Myriad Pro', sans-serif;
    font-size: 14px !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1 !important;
    text-align: center;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
    place-content: center;
    border-radius: 50% !important;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s ease;
    vertical-align: middle;
}

.nos-produits-page-btn:hover,
.nos-produits-page-btn:focus,
.nos-produits-page-btn:focus-visible {
    color: var(--color-accent-yellow) !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Perfect circle drawn behind the digit (avoids padding / UA quirks off-centering the fill). */
.nos-produits-page-btn.is-active::before {
    content: '';
    position: absolute;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #3a3a3a;
    z-index: -1;
    pointer-events: none;
}

.nos-produits-page-btn.is-active,
.nos-produits-page-btn.is-active:hover,
.nos-produits-page-btn.is-active:focus,
.nos-produits-page-btn.is-active:focus-visible {
    background: none !important;
    background-color: transparent !important;
    color: #fff !important;
    border-radius: 50% !important;
}

.nos-produits-page-btn:disabled,
.nos-produits-page-btn:disabled:hover {
    color: #666 !important;
    background: none !important;
    background-color: transparent !important;
    cursor: default;
    opacity: 0.45;
}

/* 1331–1500px : le header décale moins la nav (−3rem) et les actions (+5rem). */
@media (min-width: 1331px) and (max-width: 1500px) {
    :root {
        --st-nos-produits-max-w: calc(1200px + 8rem);
    }
}

/* â”€â”€ Responsive: Nos Produits page â”€â”€ */
@media (max-width: 1024px) {
    .nos-produits-header {
        padding: 40px 30px 0;
    }
    .nos-produits-toolbar {
        padding: 36px 30px 0;
    }
    .nos-produits-count {
        padding: 16px 30px 0;
    }
    .nos-produits-grid {
        padding: 24px 30px 0;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        column-gap: 24px;
        row-gap: 36px;
    }
    .nos-produits-browse {
        padding: 80px 30px 64px;
    }
    .nos-produits-title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .nos-produits-header {
        padding: 30px 20px 0;
    }
    .nos-produits-toolbar {
        padding: 40px 20px 0;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .nos-produits-toolbar .nos-produits-search-bar {
        margin-left: 0;
        max-width: none;
        width: 100%;
        flex: 1 1 auto;
    }
    .nos-produits-search-bar {
        max-width: 100%;
    }
    .nos-produits-filters {
        gap: 10px;
    }
    .nos-produits-count {
        padding: 14px 20px 0;
    }
    .nos-produits-grid {
        padding: 20px 20px 0;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 20px;
        row-gap: 32px;
    }
    .nos-produits-browse {
        padding: 48px 20px 20px;
        gap: 20px;
    }
    .nos-produits-alpha {
        font-size: 13px;
        gap: 0.15em 0.35em;
    }
    .nos-produits-pagination {
        flex-wrap: nowrap;
        gap: 4px 6px;
    }
    .nos-produits-page-btn {
        width: 28px;
        min-width: 28px;
        max-width: 28px;
        height: 28px;
        min-height: 28px;
        max-height: 28px;
        flex: 0 0 28px;
        font-size: 13px !important;
    }
    .nos-produits-title {
        font-size: 1.75rem;
    }
    .nos-produits-select__trigger {
        padding: 0;
        font-size: 16px !important;
    }
}

@media (max-width: 480px) {
    .nos-produits-header {
        padding: 20px 15px 0;
    }
    .nos-produits-toolbar {
        padding: 36px 15px 0;
    }
    .nos-produits-filters {
        gap: 8px;
    }
    .nos-produits-filter-label,
    .nos-produits-filter-separator {
        display: none;
    }
    .nos-produits-count {
        padding: 12px 15px 0;
    }
    .nos-produits-grid {
        padding: 16px 15px 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 14px;
        row-gap: 28px;
    }
    .nos-produits-browse {
        padding: 40px 15px 16px;
        gap: 16px;
    }
    .nos-produits-alpha {
        font-size: 12px;
        gap: 0.1em 0.28em;
    }
    .nos-produits-pagination {
        gap: 2px 4px;
    }
    .nos-produits-page-btn {
        width: 26px;
        min-width: 26px;
        max-width: 26px;
        height: 26px;
        min-height: 26px;
        max-height: 26px;
        flex: 0 0 26px;
        font-size: 12px !important;
    }
    .nos-produits-title {
        font-size: 1.5rem;
    }
    .nos-produits-search-input {
        padding: 4px 34px 4px 10px;
        font-size: 16px;
        height: 32px;
    }
    .nos-produits-search-bar:has(.nos-produits-search-clear:not([hidden])) .nos-produits-search-input {
        padding-right: 36px;
    }
    .nos-produits-no-results {
        padding: 60px 15px;
    }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Recherche header : loupe seule â†’ clic = champ + masque compte ; â†’ Nos produits
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.header-product-search {
    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35em;
    flex: 0 0 auto;
    min-width: 0;
    vertical-align: middle;
}

#masthead .header-actions.header-search-is-open .header-auth-links {
    display: none !important;
}

#masthead .header-actions.header-search-is-open .header-account-search {
    flex: 1 1 auto;
    max-width: min(320px, 48vw);
    min-width: 0;
}

#masthead .header-actions.header-search-is-open .header-product-search {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
}

#masthead .header-product-search .header-product-search__input {
    box-sizing: border-box;
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    width: clamp(100px, 16vw, 210px);
    height: 2.25em;
    padding: 0.2em 0.55em;
    line-height: 1.35;
    background: #2a2a2a;
    border: 1px solid var(--color-border, #3a3a3a);
    border-radius: 5px;
    color: #e8e8e8;
    font-size: 1.25rem;
    font-family: inherit;
    outline: none;
}

#masthead .header-product-search .header-product-search__input::placeholder {
    color: #888;
}

#masthead .header-product-search .header-product-search__input:focus {
    border-color: #555;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.06);
}

#masthead .header-product-search .header-product-search__submit,
#masthead .header-product-search .spotlight-search-trigger.header-product-search__submit {
    flex-shrink: 0;
    margin: 0 !important;
}

/* Trigger button in header */
.spotlight-search-trigger {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #b6b6b6;
    transition: opacity 0.2s ease;
	margin-right: 0.3em;
	width: 2em;
	height: 2em;
	padding: 0;
	line-height: 0;
}

.spotlight-search-trigger:hover,
.spotlight-search-trigger:focus {
    color: var(--color-accent-yellow) !important;
    opacity: 1;
    background: none !important;
}

.spotlight-search-trigger:hover svg,
.spotlight-search-trigger:focus svg,
.spotlight-search-trigger:hover svg * ,
.spotlight-search-trigger:focus svg * {
    color: var(--color-accent-yellow) !important;
    stroke: var(--color-accent-yellow) !important;
}

.product-card-actions .yith-wcwl-add-button a:hover,
.product-card-actions .yith-wcwl-add-button a:focus-visible,
.product-card-actions .yith-wcwl-add-to-wishlist-button:hover,
.product-card-actions .yith-wcwl-add-to-wishlist-button:focus-visible {
    color: #e00000 !important;
}

.product-card-actions .yith-wcwl-add-button a:hover svg,
.product-card-actions .yith-wcwl-add-button a:focus-visible svg,
.product-card-actions .yith-wcwl-add-to-wishlist-button:hover svg,
.product-card-actions .yith-wcwl-add-to-wishlist-button:focus-visible svg,
.product-card-actions .yith-wcwl-add-button a:hover .yith-wcwl-icon-svg,
.product-card-actions .yith-wcwl-add-button a:focus-visible .yith-wcwl-icon-svg,
.product-card-actions .yith-wcwl-add-button a:hover #yith-wcwl-icon-heart-outline,
.product-card-actions .yith-wcwl-add-button a:focus-visible #yith-wcwl-icon-heart-outline {
    fill: #e00000 !important;
    stroke: #e00000 !important;
    color: #e00000 !important;
}

.spotlight-search-trigger svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* ========== Connexion + favoris : overlay plein écran + panneau fixe (comme mini-panier WC) ========== */
/* Scroll lock: body-scroll-lock.js — do not overflow:hidden html/body (jumps to top). */

.st-auth-drawer,
.st-wishlist-drawer {
	position: fixed;
	inset: 0;
	z-index: 100100;
	visibility: hidden;
	pointer-events: none;
	overscroll-behavior: contain;
}

.st-auth-drawer.is-open,
.st-wishlist-drawer.is-open {
	visibility: visible;
	pointer-events: auto;
}

.st-auth-drawer-backdrop,
.st-wishlist-drawer-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	transition: opacity 0.3s ease;
	cursor: pointer;
	z-index: 0;
}

.st-auth-drawer.is-open .st-auth-drawer-backdrop,
.st-wishlist-drawer.is-open .st-wishlist-drawer-backdrop {
	opacity: 1;
}

.st-auth-drawer-panel,
.st-wishlist-drawer-panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(100%, 30rem);
	max-width: 100%;
	display: flex;
	flex-direction: column;
	min-height: 0;
	max-height: 100vh;
	max-height: 100dvh;
	background-color: var(--color-bg, #1e1e1e) !important;
	border: none;
	border-radius: 14px 0 0 14px;
	overflow: hidden;
	isolation: isolate;
	-webkit-clip-path: inset(0 round 14px 0 0 14px);
	clip-path: inset(0 round 14px 0 0 14px);
	box-shadow: none;
	transform: translateX(100%);
	transition: transform 0.25s ease;
	z-index: 1;
}

html[dir="rtl"] .st-auth-drawer-panel,
.rtl .st-auth-drawer-panel,
html[dir="rtl"] .st-wishlist-drawer-panel,
.rtl .st-wishlist-drawer-panel {
	right: auto;
	left: 0;
	border-radius: 0 14px 14px 0;
	-webkit-clip-path: inset(0 round 0 14px 14px 0);
	clip-path: inset(0 round 0 14px 14px 0);
	transform: translateX(-100%);
}

.st-auth-drawer.is-open .st-auth-drawer-panel,
.st-wishlist-drawer.is-open .st-wishlist-drawer-panel {
	transform: translateX(0);
}

.st-auth-drawer-inner {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	height: 100%;
	max-height: 100%;
	overflow: hidden;
	padding-bottom: env(safe-area-inset-bottom, 0);
}

/*
 * RangÃ©e dâ€™en-tÃªte : titre Ã  gauche, Ã— tout Ã  droite (justify-content: space-between).
 */
.st-tray-head,
.st-auth-drawer-head,
.st-wishlist-drawer-head {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	flex-shrink: 0;
	min-height: 60px;
	padding: 0 0 0 1rem;
	border-bottom: 1px solid var(--color-border, #636363);
	background-color: var(--color-bg, #1e1e1e);
}

.st-auth-drawer-head,
.st-wishlist-drawer-head {
	z-index: 2;
}

.st-tray-head .st-auth-drawer-screen-title,
.st-tray-head .st-wishlist-drawer-title,
.st-tray-head .mobile-menu-drawer-title {
	margin: 0;
	flex: 1;
	min-width: 0;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.02em;
	text-transform: none;
	color: #fff !important;
	padding: 0.35rem 0.5rem 0.35rem 0 !important;
	border: none !important;
	text-align: left;
}

.st-tray-head .st-auth-drawer-close,
.st-tray-head .st-wishlist-drawer-close,
.st-tray-head .mobile-menu-close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0;
	width: 60px !important;
	height: 60px !important;
	min-width: 60px !important;
	min-height: 60px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer;
	color: #b6b6b6 !important;
	transform: none !important;
	transition: color 0.2s ease;
	font-size: 1.75rem !important;
	font-weight: 300 !important;
	line-height: 0 !important;
}

.st-tray-head .st-auth-drawer-close:hover,
.st-tray-head .st-auth-drawer-close:focus-visible,
.st-tray-head .st-wishlist-drawer-close:hover,
.st-tray-head .st-wishlist-drawer-close:focus-visible,
.st-tray-head .mobile-menu-close:hover,
.st-tray-head .mobile-menu-close:focus-visible {
	color: #fff !important;
	background: transparent !important;
}

.st-tray-head .st-auth-drawer-close:focus-visible,
.st-tray-head .st-wishlist-drawer-close:focus-visible,
.st-tray-head .mobile-menu-close:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

.st-tray-head .st-auth-drawer-close-x,
.st-tray-head .st-wishlist-drawer-close-x,
.st-tray-head .mobile-menu-close-x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1.75rem;
	line-height: 0;
	font-weight: 300;
}

.st-wishlist-drawer-inner {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	height: 100%;
	max-height: 100%;
	overflow: hidden;
	padding-bottom: env(safe-area-inset-bottom, 0);
}

.st-wishlist-drawer-body {
	flex: 1;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0.85rem 0 1.5rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.st-wishlist-drawer-body::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

/* YITH dans le tiroir : lisibilitÃ© sur fond sombre */
.st-wishlist-drawer-body .wishlist-title-container,
.st-wishlist-drawer-body .wishlist-title {
	display: none !important;
}

/* SuccÃ¨s Â« ajoutÃ© au panier Â» dans le tiroir (souvent injectÃ© par AJAX) â€” pas de banniÃ¨re verte ici */
.st-wishlist-drawer .woocommerce-message {
	display: none !important;
}

.st-wishlist-drawer-body .yith_wcwl_wishlist_bulk_action,
.st-wishlist-drawer-body .yith_wcwl_wishlist_footer {
	margin-bottom: 1rem;
	padding-left: 12px;
	padding-right: 12px;
}

/* Tiroir : un seul template (tableau), jamais la liste mobile YITH */
#st-wishlist-drawer .wishlist_table.mobile {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

#st-wishlist-drawer .wishlist_table:not(.mobile) {
	display: block !important;
}

/* Liste favoris : mÃªme esprit que le mini-panier WC (lignes empilÃ©es, pas de tableau) */
.st-wishlist-drawer-body .shop_table.wishlist_table {
	display: block !important;
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	margin: 0 !important;
	color: #e8e8e8 !important;
}

.st-wishlist-drawer-body .wishlist_table thead {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table tbody,
.st-wishlist-drawer-body .wishlist_table tfoot {
	display: block !important;
	width: 100% !important;
}

/* Tiroir max 30rem : grille 2 colonnes (vignette | contenu), 2 lignes (titre + actions) */
.st-wishlist-drawer-body .wishlist_table tbody tr {
	display: grid !important;
	grid-template-columns: 5.5rem minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	align-items: start !important;
	column-gap: 14px !important;
	row-gap: 8px !important;
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	padding: 16px 12px !important;
	min-height: 0 !important;
	border-bottom: none !important;
	font-family: 'Myriad Pro', sans-serif !important;
}

/* Pas de surbrillance grise au survol (#id pour gagner sur .wishlist_table â€¦ :hover td plus bas) */
#st-wishlist-drawer .wishlist_table tbody tr:hover td {
	background: transparent !important;
}

/* SÃ©parateur entre lignes : retrait latÃ©ral (comme une liste type panier, sans trait bord Ã  bord) */
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:last-child)::after {
	content: "" !important;
	position: absolute !important;
	left: 8px !important;
	right: 8px !important;
	bottom: 0 !important;
	height: 1px !important;
	background: var(--color-border, #636363) !important;
	pointer-events: none !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:last-child {
	border-bottom: none !important;
}

/* Liste vide : le formulaire remplit la zone scroll pour centrer le message */
.st-wishlist-drawer-body:has(td.wishlist-empty) {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	min-height: 100% !important;
	box-sizing: border-box !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
}

.st-wishlist-drawer-body:has(td.wishlist-empty) #yith-wcwl-form {
	flex: 0 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 22rem !important;
	min-height: 0 !important;
	margin: 0 auto !important;
}

.st-wishlist-drawer-body:has(td.wishlist-empty) .shop_table.wishlist_table {
	flex: 1 1 auto !important;
	min-height: 0 !important;
}

.st-wishlist-drawer-body:has(td.wishlist-empty) .wishlist_table tbody.wishlist-items-wrapper {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-height: 0 !important;
}

/* Liste vide : centrÃ© dans le panneau (comme le message mini-panier vide) */
.st-wishlist-drawer-body .wishlist_table tbody tr:has(td.wishlist-empty) {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	align-items: center !important;
	align-content: center !important;
	width: 100% !important;
	min-height: 0 !important;
	padding: 1rem 0 !important;
	border-bottom: none !important;
	gap: 0 !important;
	position: static !important;
}

.st-wishlist-drawer-body .wishlist_table tbody td.wishlist-empty {
	display: block !important;
	width: 100% !important;
	max-width: 22rem !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
	text-align: center !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	line-height: 1.5 !important;
	color: var(--color-text, #b6b6b6) !important;
	background: transparent !important;
	cursor: default !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:has(td.wishlist-empty):hover td.wishlist-empty {
	background: transparent !important;
	color: var(--color-text, #b6b6b6) !important;
}

.st-wishlist-drawer-body .wishlist_table tbody td {
	display: block !important;
	border: none !important;
	padding: 0 !important;
	vertical-align: top !important;
	background: transparent !important;
}

/* Pas de libellÃ©s Â« responsive Â» en colonne (Ã©vite le rendu type tableau mobile) */
.st-wishlist-drawer-body .wishlist_table tbody td::before {
	content: none !important;
	display: none !important;
}

/* Pas de case Ã  cocher dans le tiroir (actions groupÃ©es, comme le panier) */
.st-wishlist-drawer-body .wishlist_table .product-checkbox {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) .product-thumbnail,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) .product-thumbnail {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	align-self: start !important;
}

/* Ligne actions : prix + stock, puis bouton ajouter au panier */
#st-wishlist-drawer .wishlist_table tbody td.st-wl-item-footer {
	grid-column: 2 !important;
	grid-row: 2 !important;
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
}

#st-wishlist-drawer .st-wl-item-footer-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	width: 100% !important;
	min-width: 0 !important;
}

#st-wishlist-drawer .st-wl-item-actions-left {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
	flex: 0 1 auto !important;
	min-width: 0 !important;
}

/* Ajouter au panier â€” mÃªme style bouton que la poubelle (desktop + mobile, aprÃ¨s regroupement JS) */
#st-wishlist-drawer .st-wl-item-actions-left a.add_to_cart_button,
#st-wishlist-drawer .st-wl-item-actions-left a.button:not(.remove_from_wishlist),
#st-wishlist-drawer .st-wl-item-actions-left a[class*="product_type_"]:not(.remove_from_wishlist) {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	height: 2.25rem !important;
	min-width: 2.25rem !important;
	min-height: 2.25rem !important;
	max-height: 2.25rem !important;
	margin: 0 !important;
	padding: 0 0.75rem !important;
	overflow: visible !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-indent: 0 !important;
	white-space: nowrap !important;
	text-align: center !important;
	color: #e8e8e8 !important;
	border: 1px solid var(--color-border, #636363) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	background-color: rgba(255, 255, 255, 0.06) !important;
	text-decoration: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease !important;
}

#st-wishlist-drawer .st-wl-item-actions-left a.add_to_cart_button:hover,
#st-wishlist-drawer .st-wl-item-actions-left a.button:not(.remove_from_wishlist):hover,
#st-wishlist-drawer .st-wl-item-actions-left a[class*="product_type_"]:not(.remove_from_wishlist):hover,
#st-wishlist-drawer .st-wl-item-actions-left a.add_to_cart_button:focus-visible,
#st-wishlist-drawer .st-wl-item-actions-left a.button:not(.remove_from_wishlist):focus-visible,
#st-wishlist-drawer .st-wl-item-actions-left a[class*="product_type_"]:not(.remove_from_wishlist):focus-visible {
	background: rgba(255, 255, 255, 0.1) !important;
	background-color: rgba(255, 255, 255, 0.1) !important;
	border-color: #b6b6b6 !important;
	color: #fff !important;
	opacity: 1 !important;
}

#st-wishlist-drawer .st-wl-item-actions-left a.remove_from_wishlist,
#st-wishlist-drawer .st-wl-item-actions-left a.remove.remove_from_wishlist {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

#st-wishlist-drawer .st-wl-item-actions-right {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	margin-left: 0 !important;
	text-align: left !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	color: var(--color-text, #b6b6b6) !important;
}

#st-wishlist-drawer .st-wl-item-actions-right > *,
#st-wishlist-drawer .st-wl-item-actions-right td.value {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
	vertical-align: middle !important;
}

#st-wishlist-drawer .st-wl-item-actions-right .product-price,
#st-wishlist-drawer .st-wl-item-actions-right .woocommerce-Price-amount,
#st-wishlist-drawer .st-wl-item-actions-right .amount,
#st-wishlist-drawer .st-wl-item-actions-right .amount bdi,
#st-wishlist-drawer .st-wl-item-actions-right .amount span,
#st-wishlist-drawer .st-wl-item-actions-right .woocommerce-Price-currencySymbol {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: #b6b6b6 !important;
	vertical-align: middle !important;
}

#st-wishlist-drawer .st-wl-item-actions-right .amount span,
#st-wishlist-drawer .st-wl-item-actions-right .woocommerce-Price-currencySymbol {
	color: inherit !important;
}

/* Wishlist partner prices: same as mini-cart (struck public + current), no "Prix public" labels. */
#st-wishlist-drawer .st-partner-price__label {
	display: none !important;
}

#st-wishlist-drawer .st-partner-prices {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	justify-content: flex-start !important;
	gap: 0.45rem !important;
}

#st-wishlist-drawer .st-partner-price {
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
}

#st-wishlist-drawer .st-partner-price--public .st-partner-price__amount,
#st-wishlist-drawer .st-partner-price--public .st-partner-price__amount .amount,
#st-wishlist-drawer .st-partner-price--public .st-partner-price__amount .amount bdi,
#st-wishlist-drawer .st-partner-price--public .st-partner-price__amount .amount span,
#st-wishlist-drawer .st-partner-price--public .st-partner-price__amount .woocommerce-Price-currencySymbol {
	color: #636363 !important;
	font-size: 1.25rem !important;
	font-weight: 400 !important;
	text-decoration: line-through !important;
}

#st-wishlist-drawer .st-partner-price--buy .st-partner-price__amount,
#st-wishlist-drawer .st-partner-price--buy .st-partner-price__amount .amount,
#st-wishlist-drawer .st-partner-price--buy .st-partner-price__amount .amount bdi,
#st-wishlist-drawer .st-partner-price--buy .st-partner-price__amount .amount span,
#st-wishlist-drawer .st-partner-price--buy .st-partner-price__amount .woocommerce-Price-currencySymbol {
	color: #fff !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

#st-wishlist-drawer .st-wl-item-actions-right .wishlist-in-stock,
#st-wishlist-drawer .st-wl-item-actions-right .wishlist-out-of-stock {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
}

#st-wishlist-drawer .st-wl-item-actions-right,
#st-wishlist-drawer .st-wl-item-actions-right * {
	text-decoration: none !important;
}

#st-wishlist-drawer .st-wl-item-actions-right a:hover,
#st-wishlist-drawer .st-wl-item-actions-right a:focus {
	text-decoration: none !important;
}

/* Poubelle dans la rangÃ©e dâ€™actions (mÃªme rendu desktop / mobile) */
#st-wishlist-drawer .st-wl-item-actions-left a.remove.remove_from_wishlist,
#st-wishlist-drawer .st-wl-item-actions-left a.remove_from_wishlist {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	width: 2.25rem !important;
	height: 2.25rem !important;
	min-width: 2.25rem !important;
	min-height: 2.25rem !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-indent: -9999px !important;
	border: 1px solid var(--color-border, #636363) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	text-decoration: none !important;
}

#st-wishlist-drawer .st-wl-item-actions-left a.remove.remove_from_wishlist::after,
#st-wishlist-drawer .st-wl-item-actions-left a.remove_from_wishlist::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	display: block !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	background-color: #e8e8e8 !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v2H3V6zm2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8H5zm5 3h2v8H10v-8zm4 0h2v8h-2v-8zM9 4V3h6v1H9z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v2H3V6zm2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8H5zm5 3h2v8H10v-8zm4 0h2v8h-2v-8zM9 4V3h6v1H9z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	pointer-events: none !important;
}

#st-wishlist-drawer .wishlist_table tbody td.st-wl-item-footer-source {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	border: none !important;
}

/* < 350px (largeur du tiroir) : stock + prix sur la mÃªme ligne que le titre */
#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow {
	grid-template-columns: 4.25rem minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	column-gap: 10px !important;
	row-gap: 6px !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow td.product-name.st-wl-item-name-collapsed {
	display: none !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow td.st-wl-item-footer {
	grid-column: 2 !important;
	grid-row: 1 / span 2 !important;
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-footer-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 6px !important;
	width: 100% !important;
	min-width: 0 !important;
}

/* < 350px : titre dans le footer, puis prix + stock, puis bouton */
#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-line {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-line .st-wl-item-actions-right {
	flex: none !important;
	margin-left: 0 !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-text {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	font-size: 1.25rem !important;
	line-height: 1.35 !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-text a {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	word-break: break-word !important;
	color: #fff !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-line .st-wl-item-actions-right {
	flex: 0 0 auto !important;
	margin-left: auto !important;
	gap: 5px !important;
	font-size: 1.25rem !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-line .st-wl-item-actions-right .amount,
#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-line .st-wl-item-actions-right .woocommerce-Price-amount {
	font-size: 1.25rem !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-line .st-wl-item-actions-right .wishlist-in-stock,
#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-title-line .st-wl-item-actions-right .wishlist-out-of-stock {
	font-size: 1.25rem !important;
}

#st-wishlist-drawer .wishlist_table tbody tr.st-wl-item-is-narrow .st-wl-item-actions-left {
	width: 100% !important;
	max-width: 100% !important;
}

/* Ne pas mettre display:contents sur le td (Safari / cas limites) : les <td> sont des items de grille superposÃ©s pour coller poubelle et Â« Ajouter au panier Â» */
.st-wishlist-drawer-body .wishlist_table .product-remove > div {
	display: contents !important;
}

.st-wishlist-drawer-body .wishlist_table tbody td.product-remove {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	width: auto !important;
	max-width: none !important;
	height: 2.25rem !important;
	min-height: 2.25rem !important;
	max-height: 2.25rem !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.st-wishlist-drawer-body .wishlist_table tbody td.product-add-to-cart {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	width: auto !important;
	max-width: none !important;
	min-height: 2.25rem !important;
	height: auto !important;
	max-height: none !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) td.product-remove,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) td.product-remove {
	grid-column: 2 !important;
	grid-row: 2 !important;
	justify-self: start !important;
	align-self: start !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) td.product-add-to-cart,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) td.product-add-to-cart {
	grid-column: 2 !important;
	grid-row: 2 !important;
	justify-self: start !important;
	align-self: start !important;
	margin: 0 !important;
	margin-inline-start: calc(2.25rem + 4px) !important;
}

/* Pas de colonne Â« retirer Â» : le bouton panier ne doit pas Ãªtre dÃ©calÃ© comme sâ€™il y avait une poubelle */
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(td.product-remove)) td.product-add-to-cart {
	margin-inline-start: 0 !important;
}

#st-wishlist-drawer .st-wl-item-footer .product-add-to-cart,
#st-wishlist-drawer .st-wl-item-actions-left .product-add-to-cart,
#st-wishlist-drawer .st-wl-item-actions-left td.product-add-to-cart {
	margin: 0 !important;
	margin-inline-start: 0 !important;
}

/* Annule le disque WooCommerce (.woocommerce a.remove { border-radius: 100% }) â€” classe YITH Â« remove Â» */
.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist,
.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	width: 2.25rem !important;
	height: 2.25rem !important;
	min-width: 2.25rem !important;
	min-height: 2.25rem !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	font-weight: 400 !important;
	text-align: center !important;
	overflow: hidden !important;
	color: transparent !important;
	text-indent: -9999px !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	border: 1px solid var(--color-border, #636363) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	background-clip: padding-box !important;
	box-shadow: none !important;
	outline: none !important;
	-webkit-tap-highlight-color: transparent !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: border-color 0.2s ease, background 0.2s ease !important;
}

.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist::before,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist::before,
.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist::before,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist::before {
	content: none !important;
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist::after,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist::after,
.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist::after,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	display: block !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	text-indent: 0 !important;
	opacity: 1 !important;
	/* MÃªme teinte Â« au repos Â» que le bouton panier (#e8e8e8), pas #b6b6b6 (trop terne avec le masque) */
	background-color: #e8e8e8 !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v2H3V6zm2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8H5zm5 3h2v8H10v-8zm4 0h2v8h-2v-8zM9 4V3h6v1H9z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v2H3V6zm2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8H5zm5 3h2v8H10v-8zm4 0h2v8h-2v-8zM9 4V3h6v1H9z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	pointer-events: none !important;
}

.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist:hover,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist:hover,
.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist:hover,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist:hover {
	border-color: #e74c3c !important;
	background: rgba(255, 255, 255, 0.1) !important;
}

.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist:hover::after,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist:hover::after,
.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist:hover::after,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist:hover::after {
	background-color: #e74c3c !important;
	transform: translate(-50%, -50%) !important;
}

.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist:focus,
.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist:focus-visible,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist:focus,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist:focus-visible,
.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist:focus,
.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist:focus-visible,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist:focus,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

.st-wishlist-drawer-body .wishlist_table .product-remove .remove_from_wishlist:focus-visible,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.remove_from_wishlist:focus-visible,
.st-wishlist-drawer-body .wishlist_table a.remove.remove_from_wishlist:focus-visible,
#st-wishlist-drawer .wishlist_table a.remove.remove_from_wishlist:focus-visible {
	border-color: #b6b6b6 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-thumbnail {
	flex: unset !important;
	width: 100% !important;
	max-width: 5.5rem !important;
	margin: 0 !important;
	align-self: start !important;
}

.st-wishlist-drawer-body .wishlist_table .product-thumbnail a {
	display: block !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 5.5rem !important;
}

.st-wishlist-drawer-body .wishlist_table .product-thumbnail img {
	width: 100% !important;
	height: auto !important;
	max-width: 5.5rem !important;
	border: none !important;
	border-radius: 6px !important;
	display: block !important;
	box-shadow: none !important;
	outline: none !important;
	vertical-align: top !important;
	object-fit: cover !important;
}

/* Colonne contenu : titre, prix, stock, puis actions */
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) .product-name,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) .product-name {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-name {
	flex: unset !important;
	min-width: 0 !important;
	padding-right: 4px !important;
	font-size: 1.25rem !important;
	line-height: 1.35 !important;
	margin: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-name a {
	color: #fff !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.st-wishlist-drawer-body .wishlist_table .product-name a:hover {
	color: #b6b6b6 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-name .wc-item-meta,
.st-wishlist-drawer-body .wishlist_table .product-name dl.variation {
	margin: 0.35rem 0 0 !important;
	font-size: 1.25rem !important;
	color: var(--color-text, #b6b6b6) !important;
	font-weight: 400 !important;
}

/* Prix et stock : rangÃ©e actions (ou lignes 2â€“3 si pas encore regroupÃ©es par JS) */
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) .product-price,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) .product-price {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-price {
	flex: unset !important;
	margin: 0 !important;
	margin-inline-end: 0 !important;
	text-align: left !important;
	white-space: normal !important;
	font-size: 1.25rem !important;
	color: #b6b6b6 !important;
	justify-self: start !important;
}

/* Annule le vert / la taille globale (.amount bdi, .amount span fiche produit) â€” alignÃ© mini-panier */
.st-wishlist-drawer-body .wishlist_table .product-price,
.st-wishlist-drawer-body .wishlist_table .product-price .woocommerce-Price-amount,
.st-wishlist-drawer-body .wishlist_table .product-price .woocommerce-Price-currencySymbol,
.st-wishlist-drawer-body .wishlist_table .product-price .amount bdi,
.st-wishlist-drawer-body .wishlist_table .product-price .amount span {
	color: #b6b6b6 !important;
	font-size: inherit !important;
	font-weight: 600 !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) .product-stock-status,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) .product-stock-status {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-stock-status {
	flex: unset !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	margin-top: 0.1rem !important;
	margin-inline-end: 0 !important;
	font-size: 1.25rem !important;
	align-self: start !important;
	justify-self: start !important;
	text-align: left !important;
	white-space: normal !important;
}

.st-wishlist-drawer-body .wishlist_table .product-stock-status,
.st-wishlist-drawer-body .wishlist_table .wishlist-in-stock {
	color: var(--color-text, #b6b6b6) !important;
}

.st-wishlist-drawer-body .wishlist_table .wishlist-out-of-stock {
	color: #e74c3c !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) .product-quantity,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) .product-quantity {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-quantity {
	flex: unset !important;
	width: 100% !important;
	margin-top: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-quantity input[type="number"] {
	max-width: 5rem !important;
	padding: 6px 8px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	border: 1px solid var(--color-border, #636363) !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-family: 'Myriad Pro', sans-serif !important;
}

/* Le span WC (aria-describedby) ne doit pas gÃªner le flex du td ni la grille */
.st-wishlist-drawer-body .wishlist_table tbody td.product-add-to-cart > span.screen-reader-text,
.st-wishlist-drawer-body .wishlist_table tbody tr > span.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
	pointer-events: none !important;
}

.st-wishlist-drawer-body .wishlist_table .product-add-to-cart > .dateadded,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart > select.change-wishlist,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart > a.move-to-another-wishlist-button {
	display: none !important;
}

/* Un seul bouton retirer (colonne dÃ©diÃ©e) : Ã©vite doublon si YITH rÃ©pÃ¨te Â« Remove Â» dans la colonne panier */
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.remove_from_wishlist.button {
	display: none !important;
}

/* Liens en enfant direct du <tr> : mÃªme rangÃ©e dâ€™actions que les <td> */
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) > a.remove_from_wishlist,
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) > a.add_to_cart_button,
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) > a.button[class*="product_type_"]:not(.remove_from_wishlist),
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) > a.remove_from_wishlist,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) > a.add_to_cart_button,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) > a.button[class*="product_type_"]:not(.remove_from_wishlist) {
	grid-column: 2 !important;
	grid-row: 2 !important;
	justify-self: start !important;
	align-self: start !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) > a.add_to_cart_button,
.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) > a.button[class*="product_type_"]:not(.remove_from_wishlist),
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) > a.add_to_cart_button,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) > a.button[class*="product_type_"]:not(.remove_from_wishlist) {
	margin-inline-start: calc(2.25rem + 4px) !important;
}

.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart button {
	margin-top: 0 !important;
	margin-right: 0 !important;
}

/* Ajouter au panier : libellÃ© lisible (Woo/YITH dÃ©jÃ  traduit Â« Ajouter au panier Â», etc.) */
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.add_to_cart_button,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.add_to_cart_button:not(.remove_from_wishlist),
.st-wishlist-drawer-body .wishlist_table tbody tr > a.button[class*="product_type_"]:not(.remove_from_wishlist) {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 2.25rem !important;
	margin: 0 !important;
	padding: 0.42rem 0.75rem !important;
	overflow: visible !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.02em !important;
	text-indent: 0 !important;
	white-space: normal !important;
	text-align: center !important;
	color: #e8e8e8 !important;
	border: 1px solid var(--color-border, #636363) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	text-decoration: none !important;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease !important;
}

.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button::after,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.add_to_cart_button::after,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.add_to_cart_button:not(.remove_from_wishlist)::after,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.button[class*="product_type_"]:not(.remove_from_wishlist)::after {
	content: none !important;
}

.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button:hover,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.add_to_cart_button:hover,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.add_to_cart_button:not(.remove_from_wishlist):hover,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.button[class*="product_type_"]:not(.remove_from_wishlist):hover,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button:focus-visible,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.add_to_cart_button:focus-visible,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.add_to_cart_button:not(.remove_from_wishlist):focus-visible,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.button[class*="product_type_"]:not(.remove_from_wishlist):focus-visible {
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: #b6b6b6 !important;
	color: #fff !important;
}

/* Confirmation flash : Â« AjoutÃ© au panier Â» aprÃ¨s ajout rÃ©ussi via ::after + data-st-wl-msg (localisÃ© PHP). */
#st-wishlist-drawer .st-wl-item-actions-left a.add_to_cart_button.st-wl-atc-added,
#st-wishlist-drawer .st-wl-item-actions-left a.button.st-wl-atc-added,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.add_to_cart_button.st-wl-atc-added,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button.st-wl-atc-added,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.add_to_cart_button.st-wl-atc-added,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.button.st-wl-atc-added {
	width: auto !important;
	min-width: 2.25rem !important;
	min-height: 2.25rem !important;
	padding: 0 0.85rem !important;
	border-color: var(--color-accent-yellow, #fccb00) !important;
	background: rgba(252, 203, 0, 0.12) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
}

#st-wishlist-drawer .st-wl-item-actions-left a.add_to_cart_button.st-wl-atc-added::after,
#st-wishlist-drawer .st-wl-item-actions-left a.button.st-wl-atc-added::after,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.add_to_cart_button.st-wl-atc-added::after,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button.st-wl-atc-added::after,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.add_to_cart_button.st-wl-atc-added::after,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.button.st-wl-atc-added::after {
	content: attr(data-st-wl-msg) !important;
	position: static !important;
	transform: none !important;
	display: inline-block !important;
	text-indent: 0 !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--color-accent-yellow, #fccb00) !important;
	white-space: nowrap !important;
}

.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.add_to_cart_button.st-wl-atc-added > *,
.st-wishlist-drawer-body .wishlist_table .product-add-to-cart a.button.st-wl-atc-added > *,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.add_to_cart_button.st-wl-atc-added > *,
.st-wishlist-drawer-body .wishlist_table tbody tr > a.button.st-wl-atc-added > * {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table tbody tr:not(:has(.product-checkbox)) .product-arrange,
.st-wishlist-drawer-body .wishlist_table tbody tr:has(.product-checkbox) .product-arrange {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

.st-wishlist-drawer-body .wishlist_table .product-arrange {
	flex: unset !important;
	width: 100% !important;
	margin-top: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table tfoot tr {
	display: flex !important;
	flex-wrap: wrap !important;
	padding: 12px !important;
	border: none !important;
}

.st-wishlist-drawer-body .wishlist_table tfoot td {
	display: block !important;
	border: none !important;
	padding: 4px 0 !important;
}

.st-wishlist-drawer-body .yith-wcwl-share {
	display: none !important;
}

/*
 * YITH mobile : <ul class="wishlist_table mobile"> (pas de <table>/<tr>).
 * Les rÃ¨gles grille ci-dessus ne sâ€™appliquent pas â€” calquer le mini-panier WC.
 */
.st-wishlist-drawer-body .wishlist_table.mobile {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
	border: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile > li {
	display: block !important;
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 16px 12px !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile > li:not(:last-child)::after {
	content: "" !important;
	position: absolute !important;
	left: 12px !important;
	right: 12px !important;
	bottom: 0 !important;
	height: 1px !important;
	background: var(--color-border, #636363) !important;
	pointer-events: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-checkbox,
.st-wishlist-drawer-body .wishlist_table.mobile .move-to-another-wishlist {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .item-wrapper {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-thumbnail {
	flex: 0 0 5.5rem !important;
	width: 5.5rem !important;
	min-width: 5.5rem !important;
	max-width: 5.5rem !important;
	margin: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-thumbnail a {
	display: block !important;
	width: 100% !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-thumbnail img {
	width: 100% !important;
	height: auto !important;
	border: none !important;
	border-radius: 6px !important;
	display: block !important;
	object-fit: cover !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .item-details {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-name {
	margin: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-name h3 {
	margin: 0 0 0.35rem !important;
	padding: 0 !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-name a {
	color: #fff !important;
	text-decoration: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-name a:hover {
	color: #b6b6b6 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .item-details-table,
.st-wishlist-drawer-body .wishlist_table.mobile .additional-info {
	width: 100% !important;
	margin: 0 !important;
	border: none !important;
	border-collapse: collapse !important;
	background: transparent !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .item-details-table td.label,
.st-wishlist-drawer-body .wishlist_table.mobile .additional-info td.label {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .item-details-table td.value {
	display: block !important;
	padding: 0 !important;
	color: #b6b6b6 !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .st-wl-item-footer {
	display: block !important;
	width: 100% !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .item-details .st-wl-item-footer {
	width: 100% !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .additional-info-wrapper.st-wl-item-footer-source,
.st-wishlist-drawer-body .wishlist_table.mobile .item-details-table .st-wl-item-footer-source {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .additional-info-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 12px 0 0 !important;
	padding: 0 0 0 calc(5.5rem + 14px) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .additional-info {
	flex: 1 1 100% !important;
	order: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .additional-info td.value {
	display: block !important;
	padding: 0 !important;
	font-size: 1.25rem !important;
	color: var(--color-text, #b6b6b6) !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .additional-info .wishlist-out-of-stock {
	color: #e74c3c !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-quantity {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-remove,
.st-wishlist-drawer-body .wishlist_table.mobile .product-add-to-cart {
	flex: 0 0 auto !important;
	order: 1 !important;
	margin: 0 !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-remove a.remove_from_wishlist,
#st-wishlist-drawer .wishlist_table.mobile .product-remove a.remove_from_wishlist {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	width: 2.25rem !important;
	height: 2.25rem !important;
	min-width: 2.25rem !important;
	min-height: 2.25rem !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-indent: -9999px !important;
	border: 1px solid var(--color-border, #636363) !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, 0.06) !important;
	text-decoration: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-remove a.remove_from_wishlist i,
#st-wishlist-drawer .wishlist_table.mobile .product-remove a.remove_from_wishlist i {
	display: none !important;
}

.st-wishlist-drawer-body .wishlist_table.mobile .product-remove a.remove_from_wishlist::after,
#st-wishlist-drawer .wishlist_table.mobile .product-remove a.remove_from_wishlist::after {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	display: block !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	background-color: #e8e8e8 !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v2H3V6zm2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8H5zm5 3h2v8H10v-8zm4 0h2v8h-2v-8zM9 4V3h6v1H9z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v2H3V6zm2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8H5zm5 3h2v8H10v-8zm4 0h2v8h-2v-8zM9 4V3h6v1H9z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	pointer-events: none !important;
}

/* Mobile : boutons panier/poubelle â€” voir #st-wishlist-drawer .st-wl-item-actions-left (layout unifiÃ©) */

.st-wishlist-drawer-body .wishlist_table.mobile p.wishlist-empty {
	display: block !important;
	width: 100% !important;
	max-width: 22rem !important;
	margin: 0 auto !important;
	padding: 1.5rem 1.25rem !important;
	text-align: center !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	line-height: 1.5 !important;
	color: var(--color-text, #b6b6b6) !important;
}

.st-wishlist-drawer-body:has(.wishlist_table.mobile p.wishlist-empty) {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	min-height: 100% !important;
	padding-left: 1.25rem !important;
	padding-right: 1.25rem !important;
}

@media (max-width: 768px) {
	.st-wishlist-drawer-panel {
		width: min(100vw, 30rem) !important;
	}

	.st-wishlist-drawer-body {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.st-wishlist-drawer-body .yith_wcwl_wishlist_bulk_action,
	.st-wishlist-drawer-body .yith_wcwl_wishlist_footer {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

.st-auth-drawer-body {
	flex: 1;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 1.25rem 1.25rem 1.5rem;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.st-auth-drawer-body::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.st-auth-drawer-body .woocommerce-error,
.st-auth-drawer-body .woocommerce-message,
.st-auth-drawer-body .woocommerce-info {
	margin-bottom: 1rem;
}

.st-auth-drawer-body .woocommerce-form.woocommerce-form-login.login {
	display: block;
	width: 100%;
	align-items: stretch;
	padding: 0;
	margin: 0;
}

.st-auth-drawer-body .woocommerce-form-login .form-row {
	margin-bottom: 1rem;
}

.st-auth-drawer-body .woocommerce-form-login .form-row-first,
.st-auth-drawer-body .woocommerce-form-login .form-row-last {
	width: 100% !important;
	float: none !important;
}

.st-auth-drawer-body .woocommerce-form-login .clear {
	display: none;
}

.st-auth-drawer-body .woocommerce-form-login label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--color-text, #b6b6b6);
	font-size: 1.25rem;
}

.st-auth-drawer-body .woocommerce-form-login .input-text {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.75rem;
	background: #252525;
	border: 1px solid var(--color-border, #3a3a3a);
	border-radius: 6px;
	color: #e8e8e8;
}

.st-auth-drawer-body .woocommerce-form-login .st-auth-password-field .input-text,
.st-auth-drawer-body #loginform .st-auth-password-field input[type="text"],
.st-auth-drawer-body #loginform .st-auth-password-field input[type="password"] {
	padding-right: 2.85rem;
}

.st-auth-password-field {
	position: relative;
	width: 100%;
}

/* Bouton Å“il WooCommerce : masquÃ© dans le tiroir (remplacÃ© par .st-auth-password-toggle) */
#st-auth-drawer button.show-password-input,
.st-auth-drawer button.show-password-input {
	display: none !important;
}

.st-auth-password-field .st-auth-password-toggle {
	position: absolute;
	right: 0.35rem;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(252, 203, 0, 0.45) !important;
	background: rgba(0, 0, 0, 0.45) !important;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35) !important;
	color: var(--color-accent-yellow, #fccb00) !important;
	cursor: pointer;
	border-radius: 6px;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.st-auth-password-field .st-auth-password-toggle:hover,
.st-auth-password-field .st-auth-password-toggle:focus-visible {
	color: #fff3b8 !important;
	background: rgba(252, 203, 0, 0.18) !important;
	border-color: var(--color-accent-yellow, #fccb00) !important;
	box-shadow: 0 0 12px rgba(252, 203, 0, 0.25) !important;
}

.st-auth-password-field .st-auth-password-toggle:focus-visible {
	outline: 2px solid var(--color-accent-yellow, #fccb00);
	outline-offset: 1px;
}

.st-auth-password-field .st-auth-password-toggle svg {
	width: 1.3rem;
	height: 1.3rem;
	display: block;
}

.st-auth-drawer-login-footer,
.st-auth-drawer-register-footer {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-border, #3a3a3a);
	text-align: center;
}

.st-auth-drawer-login-footer-text,
.st-auth-drawer-register-footer-text {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
	color: var(--color-text, #b6b6b6);
}

.st-auth-switch-to-register,
.st-auth-switch-to-login {
	margin: 0;
	padding: 0;
	border: none !important;
	background: none !important;
	box-shadow: none !important;
	font: inherit;
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--color-accent-yellow, #fccb00) !important;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.st-auth-switch-to-register:hover,
.st-auth-switch-to-register:focus-visible,
.st-auth-switch-to-login:hover,
.st-auth-switch-to-login:focus-visible {
	color: #ffe14d !important;
}

.st-auth-switch-to-register:focus-visible,
.st-auth-switch-to-login:focus-visible {
	outline: 2px solid var(--color-accent-yellow, #fccb00);
	outline-offset: 2px;
}

.st-auth-drawer-body .woocommerce-form-login .woocommerce-form-login__submit {
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.75rem 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-radius: 6px;
	cursor: pointer;
}

.st-auth-drawer-body .woocommerce-form-login .lost_password {
	margin-top: 1rem;
	text-align: center;
	font-size: 1.25rem;
}

.st-auth-drawer-body .woocommerce-form-login .lost_password a {
	color: var(--color-accent-yellow, #fccb00);
}

.st-auth-drawer-body #loginform {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.st-auth-drawer-body #loginform label {
	color: var(--color-text, #b6b6b6);
	font-size: 1.25rem;
}

.st-auth-drawer-body #loginform input[type="text"],
.st-auth-drawer-body #loginform input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.75rem;
	background: #252525;
	border: 1px solid var(--color-border, #3a3a3a);
	border-radius: 6px;
	color: #e8e8e8;
}

.st-auth-drawer-body #loginform input[type="submit"] {
	margin-top: 0.25rem;
	padding: 0.75rem 1rem;
	font-weight: 600;
	cursor: pointer;
	border-radius: 6px;
}

.st-auth-drawer-register {
	margin: 0;
	padding: 1rem 1.25rem 1.5rem;
	border-top: 1px solid var(--color-border, #3a3a3a);
	font-size: 1.25rem;
	color: var(--color-text, #b6b6b6);
	text-align: center;
}

.st-auth-drawer-register a {
	color: var(--color-accent-yellow, #fccb00);
	font-weight: 600;
}

.st-auth-drawer-pane[hidden] {
	display: none !important;
}

.st-auth-drawer-body .woocommerce-form-register .form-row {
	margin-bottom: 1rem;
}

.st-auth-drawer-body .woocommerce-form-register .form-row-wide {
	width: 100% !important;
	float: none !important;
}

.st-auth-drawer-body .woocommerce-form-register label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--color-text, #b6b6b6);
	font-size: 1.25rem;
}

.st-auth-drawer-body .woocommerce-form-register .input-text {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.75rem;
	background: #252525;
	border: 1px solid var(--color-border, #3a3a3a);
	border-radius: 6px;
	color: #e8e8e8;
}

.st-auth-drawer-body .woocommerce-form-register .st-auth-password-field .input-text {
	padding-right: 2.85rem;
}

.st-auth-drawer-body .woocommerce-form-register .woocommerce-form-register__submit {
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.75rem 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-radius: 6px;
	cursor: pointer;
}

/* ========== SINGLE PRODUCT PAGE (custom layout) ========== */

/* Main gallery image — same 8px rounding as thumbs / purchase box */
.st-product-gallery .flex-viewport {
	border: none !important;
	border-radius: 8px;
	overflow: hidden !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	position: relative;
}

.st-product-gallery .woocommerce-product-gallery__wrapper,
.st-product-gallery .woocommerce-product-gallery__image,
.st-product-gallery .woocommerce-product-gallery__image img,
.st-product-gallery .flex-viewport img,
.st-product-gallery .zoomImg {
	border-radius: 8px;
}

/* Remove any border from individual slides â€“ the viewport border is enough */
.woocommerce-product-gallery__image.flex-active-slide {
	border: none !important;
}

/* Prevent horizontal overflow on single product pages at all widths */
body.single-product {
    overflow-x: clip !important;
}

body.single-product .ast-container,
body.single-product .content-area,
body.single-product .site-main,
body.single-product .ast-woocommerce-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}

.st-single-product {
    max-width: var(--st-nos-produits-max-w) !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 16px var(--st-nos-produits-pad-x) var(--st-footer-trail) !important;
    box-sizing: border-box !important;
}

.st-single-product *,
.st-single-product *::before,
.st-single-product *::after {
    box-sizing: border-box !important;
}

.st-product-layout {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 48px;
    align-items: start;
    margin-top: 16px !important;
}

/* Left: Gallery */
.st-product-gallery {
    flex: 0 0 40% !important;
    width: 40% !important;
    min-width: 0;
    overflow: visible;
    padding-left: 0 !important;
    align-self: flex-start;
    position: relative;
    z-index: 2;
}

.st-product-gallery .woocommerce-product-gallery {
    height: auto !important;
    overflow: visible !important;
}

.st-product-gallery .woocommerce-product-gallery__wrapper {
    overflow: hidden !important;
    width: 100% !important;
    border-radius: 8px;
}

/* Miniatures TOUJOURS visibles en bas (display = grille sur .flex-control-thumbs ci-dessous) */
.st-product-gallery .flex-control-nav.flex-control-thumbs,
.st-product-gallery ol.flex-control-thumbs {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Une slide = 100% largeur, pas de dÃ©bordement */
.st-product-gallery .woocommerce-product-gallery__image {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Miniatures : sous lâ€™image principale (pas de chevauchement) ; max 4 / ligne, mÃªme taille fixe partout (ligne incomplÃ¨te = vide Ã  droite) */
.st-product-gallery .flex-control-thumbs {
    --st-thumb-gap: 8px;
    --st-thumb-cell: calc((100% - 3 * var(--st-thumb-gap)) / 4);
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: var(--st-thumb-gap) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 0 !important;
    padding: 0 0 8px 0 !important;
    list-style: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    position: relative !important;
    float: none !important;
    height: auto !important;
}

.st-product-gallery .flex-control-thumbs li {
    flex: 0 0 var(--st-thumb-cell) !important;
    width: var(--st-thumb-cell) !important;
    max-width: var(--st-thumb-cell) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 8px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.st-product-gallery .flex-control-thumbs li img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    border: none !important;
    border-radius: 8px;
    box-sizing: border-box !important;
}
/* Override WooCommerce block gallery constraint - fill column */
.st-product-gallery .wp-block-woocommerce-product-image-gallery,
.single-product .woocommerce-product-gallery,
.st-product-gallery .wc-block-product-gallery {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
}

/* Kill WooCommerce float layout â€“ our flex parent handles placement */
.woocommerce div.product div.images,
.woocommerce #content div.product div.images,
.woocommerce-page div.product div.images {
    float: none !important;
    width: 100% !important;
}

.woocommerce div.product div.summary,
.woocommerce #content div.product div.summary,
.woocommerce-page div.product div.summary {
    float: none !important;
    width: 100% !important;
}

/* Right: Info */
.st-product-info {
    flex: 1 1 0% !important;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.st-product-title {
    font-size: 2.75rem;
    font-weight: 600;
    line-height: 1.15;
    color: #fff !important;
    margin: 0 0 8px;
}

/* Section 1: Attributs (horizontal) */
/* Attributes: Label (bold): value - white */
.st-product-attributes-section .st-product-attributes {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.st-product-attributes-section .st-product-attr-item,
.st-product-attributes-section .st-product-attr-item *,
.st-product-attributes-section .st-product-attr-item a,
.st-product-attributes-section .st-product-attr-item .notranslate,
.st-product-attributes-section .st-product-attr-value {
    color: #fff !important;
    font-size: 1.25rem;
}

.st-product-attributes-section .st-product-attr-label {
    font-weight: 700;
    color: #fff !important;
}

.st-product-attributes-section .st-product-attr-sep {
    font-weight: 700;
    color: #fff !important;
    margin: 0 0.35em;
}

.st-product-attributes-section .st-product-attr-value {
    font-weight: 400;
}

/* Chaleur attribute - image + colored h3 text */
.st-product-attr-chaleur {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 30px;
}

.st-chaleur-image {
    height: 50px !important;
    width: auto;
    object-fit: contain;
    flex-shrink: 0;
}

h3.st-chaleur-text {
    font-family: 'Myriad Pro', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

h3.st-chaleur-text.doux        { color: #2e865d !important; }
h3.st-chaleur-text.moderate     { color: #a48f2c !important; }
h3.st-chaleur-text.chaud        { color: #b06f22 !important; }
h3.st-chaleur-text.tres-chaud   { color: #9e501d !important; }
h3.st-chaleur-text.super-chaud  { color: #9e3737 !important; }

h3.st-sous-titre-text {
    color: #fff !important;
}

/* Row: Attributes (left) | Purchase box (right) */
.st-product-attributes-purchase-row {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
}

.st-product-attributes-section {
    flex: 1 1 200px;
    width: auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Right: Purchase box with background */
.st-product-purchase-box {
    flex: 1 1 280px;
    width: auto;
    min-width: 0;
    background: var(--color-footer-bg);
    margin-top: 0;
    padding: 28px 24px 24px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-sizing: border-box;
}

.st-product-purchase-box .st-product-price-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 0.15em;
}

.st-product-purchase-box .st-product-price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px;
}

.st-product-purchase-box .st-product-price-row .price {
    margin: 0;
}

.st-product-purchase-box .st-product-low-stock {
    margin: 0;
    font-family: 'Myriad Pro', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    color: #9e3737 !important;
    line-height: 1.3;
}

.amount bdi, .amount span{
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--color-accent-green) !important;
}

.st-product-purchase-box .st-price-semence {
    font-family: 'Myriad Pro', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff !important;
    margin: 0;
    padding: 0;
    line-height: 1.2;
    display: inline;
}

.woocommerce-js div.product .woocommerce-tabs{
    margin: 0px !important;
    padding: 0px !important;
}

.st-product-purchase-box .cart {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    width: 100%;
}

/* WooCommerce clearfix pseudos become extra flex items and steal gap space */
.woocommerce-js div.product .st-product-purchase-box form.cart::before,
.woocommerce-js div.product .st-product-purchase-box form.cart::after {
    content: none !important;
    display: none !important;
}

.st-product-purchase-box .cart .quantity {
    margin: 0 !important;
    flex-shrink: 0;
}

.st-product-purchase-box .woocommerce-variation-add-to-cart.variations_button {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.st-product-purchase-box .woocommerce-variation-add-to-cart .quantity {
    margin: 0;
    flex-shrink: 0;
}

/* Before Astra injects +/- (until window load), keep qty field aligned with add to cart */
.st-product-purchase-box .quantity:not(.buttons_added) input.qty {
	min-height: 50px !important;
	border-radius: 6px !important;
	border: 1px solid #444 !important;
	background-color: #2a2a2a !important;
	color: #fff !important;
	text-align: center !important;
	font-variant-numeric: tabular-nums;
	appearance: textfield;
	-moz-appearance: textfield;
}

.st-product-purchase-box .quantity:not(.buttons_added) input.qty::-webkit-outer-spin-button,
.st-product-purchase-box .quantity:not(.buttons_added) input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Quantity stepper: segmented control, no native spinners (needs Astra +/- script) */
.st-product-purchase-box .quantity.buttons_added {
	display: inline-flex !important;
	align-items: stretch;
	flex-direction: row;
	flex-wrap: nowrap;
	border: 1px solid #444;
	border-radius: 6px;
	overflow: hidden;
	background-color: #2a2a2a;
	height: 50px;
	min-height: 50px;
	box-sizing: border-box;
}

.st-product-purchase-box .quantity.buttons_added .minus,
.st-product-purchase-box .quantity.buttons_added .plus {
	position: relative !important;
	z-index: 1 !important;
	margin: 0 !important;
	width: 44px !important;
	min-width: 44px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background-color: #252525 !important;
	color: #b6b6b6 !important;
	border: none !important;
	border-radius: 0 !important;
	font-size: 1.35rem !important;
	font-weight: 500;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
	user-select: none;
}

.st-product-purchase-box .quantity.buttons_added .minus {
	border-right: 1px solid #444 !important;
}

.st-product-purchase-box .quantity.buttons_added .plus {
	border-left: 1px solid #444 !important;
}

.st-product-purchase-box .quantity.buttons_added .minus:hover,
.st-product-purchase-box .quantity.buttons_added .plus:hover,
.st-product-purchase-box .quantity.buttons_added .minus:focus-visible,
.st-product-purchase-box .quantity.buttons_added .plus:focus-visible {
	background-color: #1e1e1e !important;
	outline: none;
}

.st-product-purchase-box .quantity.buttons_added input.input-text.qty,
.st-product-purchase-box .quantity.buttons_added input.qty {
	width: 3.25rem !important;
	max-width: none !important;
	min-width: 2.75rem !important;
	margin: 0 !important;
	flex: 0 0 auto;
	min-height: 0 !important;
	height: auto !important;
	align-self: stretch;
	border: none !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	background: transparent !important;
	color: #fff !important;
	text-align: center !important;
	font-family: 'Myriad Pro', sans-serif;
	font-size: 1.25rem !important;
	font-variant-numeric: tabular-nums;
	padding: 0 0.35rem !important;
	box-shadow: none !important;
	appearance: textfield;
	-moz-appearance: textfield;
}

.st-product-purchase-box .quantity.buttons_added input.qty::-webkit-outer-spin-button,
.st-product-purchase-box .quantity.buttons_added input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.st-product-purchase-box .quantity.buttons_added input.qty:focus {
	outline: none !important;
	box-shadow: inset 0 0 0 2px rgba(0, 180, 96, 0.35) !important;
}

.woocommerce div.product .st-product-purchase-box form.cart .button.single_add_to_cart_button,
.st-product-purchase-box .single_add_to_cart_button {
    position: relative;
    flex: 1 1 0% !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    margin: 0 !important;
    padding: 12px 24px;
    background: #1e1e1e;
    color: #00b460 !important;
    border: 1px solid #444;
    border-radius: 6px;
    cursor: pointer;
    font-family: 'Myriad Pro', sans-serif;
    font-size: 1.25rem;
    height: 50px !important;
    box-sizing: border-box;
}

.st-product-purchase-box .single_add_to_cart_button:hover {
    background: #1e1e1e !important;
}

/* Single product AJAX add-to-cart: check + pop (matches product cards) */
.st-product-purchase-box .single_add_to_cart_button.added {
	color: transparent !important;
	text-shadow: none !important;
}

.st-product-purchase-box .single_add_to_cart_button.added::after {
	content: '\2713';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #27ae60;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	animation: st-added-pop 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Accordion inside purchase box */
.st-product-purchase-box .st-product-accordion {
    margin: 0;
}

.st-delivery-accordion .st-accordion-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
}

.st-delivery-accordion .st-delivery-accordion-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
}

.st-product-purchase-box .st-accordion-item {
    border-color: #444;
}

.st-product-purchase-box .st-accordion-trigger {
    background: #2a2a2a;
}

.st-product-purchase-box .st-accordion-panel {
    background: #252525;
}

.st-product-purchase-box .st-delivery-item {
    color: #ccc;
}

.st-accordion-item {
    border: 1px solid #333;
    border-radius: 8px;
    margin-bottom: 8px;
    overflow: hidden;
}

.st-accordion-item:last-child {
    margin-bottom: 0;
}

.st-accordion-trigger {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: #2d2d2d;
    border: none;
    color: #fff;
    font-family: 'Myriad Pro', sans-serif;
    font-size: 1.25rem;
    cursor: pointer;
    text-align: left;
}

.st-accordion-trigger:hover {
    background: #363636;
}

.st-accordion-arrow {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.st-accordion-item [aria-expanded="true"] .st-accordion-arrow {
    transform: rotate(180deg);
}

.st-accordion-panel {
    background: #1e1e1e;
    border-top: 1px solid #333;
    overflow: hidden;
    max-height: 0;
    padding: 0 20px;
    opacity: 0;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                padding 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.25s ease;
}

.st-accordion-panel.is-open {
    max-height: 520px;
    padding: 20px;
    opacity: 1;
}

.st-accordion-panel p:last-child {
    margin-bottom: 0;
}

.st-delivery-accordion .st-delivery-list {
    margin: 0;
    padding-left: 1.25em;
    color: #ccc;
    font-size: 1.125rem;
    line-height: 1.55;
}

.st-delivery-accordion .st-delivery-list li {
    margin: 0 0 0.4em;
}

.st-delivery-accordion .st-delivery-list li:last-child {
    margin-bottom: 0;
}

/* Delivery */
.st-product-delivery {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.st-delivery-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #b6b6b6;
    font-size: 1.25rem;
}

.st-delivery-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

/* ========== YITH WISHLIST â€” GLOBAL: ICON ONLY, NO TEXT ========== */

/* React button (v4+): hide all text, keep only the SVG icon */
.yith-wcwl-add-to-wishlist-button {
    font-size: 0 !important;
    gap: 0 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.yith-wcwl-add-to-wishlist-button svg.yith-wcwl-icon-svg,
.yith-wcwl-add-to-wishlist-button svg {
    font-size: 1.25rem !important;
}

.yith-add-to-wishlist-button-block {
    margin: 0 !important;
    width: auto !important;
}

/* Legacy PHP template: hide <span> text labels */
.yith-wcwl-add-to-wishlist a > span,
.yith-wcwl-add-to-wishlist .feedback {
    display: none !important;
}

/* Legacy: also set font-size 0 for text nodes */
.yith-wcwl-add-button a,
.yith-wcwl-wishlistaddedbrowse a,
.yith-wcwl-wishlistexistsbrowse a {
    font-size: 0 !important;
}

.yith-wcwl-add-button a .yith-wcwl-icon,
.yith-wcwl-wishlistaddedbrowse a .yith-wcwl-icon,
.yith-wcwl-wishlistexistsbrowse a .yith-wcwl-icon {
    font-size: 24px !important;
}

/* Hide feedback popup & tooltip globally */
.yith-wcwl-add-to-wishlist__feedback,
.yith-wcwl-add-to-wishlist-tooltip,
.yith-wcwl-tooltip,
#yith-wcwl-popup-message {
    display: none !important;
}

/* YITH remove template: hide "or View ›" next to the heart */
.yith-wcwl-add-button .separator,
.yith-wcwl-add-button a.view-wishlist,
.st-product-favorites .yith-wcwl-add-button .separator,
.st-product-favorites .yith-wcwl-add-button a.view-wishlist {
    display: none !important;
}

/* ========== YITH WISHLIST â€” SINGLE PRODUCT PAGE ========== */
/* YITH frontend (add-to-wishlist.css) centre le bloc avec margin:auto et align-items:center â€” on force tout Ã  gauche */
.st-product-attributes-section .st-product-favorites {
    margin-top: 16px;
    padding-top: 0;
    width: 100%;
    max-width: 100%;
    text-align: left !important;
    align-self: flex-start;
}

.st-product-favorites {
    margin-top: 0;
}

.st-product-attributes-section .st-product-favorites .yith-wcwl-add-to-wishlist {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    text-align: left !important;
}

.st-product-attributes-section .st-product-favorites .yith-add-to-wishlist-button-block {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline: 0 !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
}

.st-product-attributes-section .st-product-favorites .yith-wcwl-wishlistaddedbrowse,
.st-product-attributes-section .st-product-favorites .yith-wcwl-wishlistexistsbrowse {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: 100% !important;
}

.st-product-attributes-section .st-product-favorites .yith-wcwl-wishlistaddedbrowse .feedback,
.st-product-attributes-section .st-product-favorites .yith-wcwl-wishlistexistsbrowse .feedback {
    text-align: left !important;
    justify-content: flex-start !important;
    width: 100% !important;
}

.st-product-attributes-section .st-product-favorites .yith-wcwl-add-button {
    width: 100% !important;
    text-align: left !important;
    margin-top: 40px;
}

.st-product-attributes-section .st-product-favorites .yith-wcwl-add-button a,
.st-product-attributes-section .st-product-favorites .yith-wcwl-wishlistaddedbrowse a,
.st-product-attributes-section .st-product-favorites .yith-wcwl-wishlistexistsbrowse a {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    text-align: left !important;
    align-self: flex-start !important;
}

.st-product-favorites .yith-wcwl-add-to-wishlist,
.st-product-favorites .yith-add-to-wishlist-button-block {
    margin: 0 !important;
}

.st-product-favorites .yith-wcwl-add-to-wishlist-button,
.st-product-favorites .yith-wcwl-add-button a {
    color: #b6b6b6 !important;
    cursor: pointer;
    text-decoration: none !important;
}

.st-product-favorites .yith-wcwl-add-to-wishlist-button:hover,
.st-product-favorites .yith-wcwl-add-button a:hover {
    color: #b6b6b6 !important;
}

.st-product-favorites .yith-wcwl-add-to-wishlist-button--added:hover,
.st-product-favorites .yith-wcwl-wishlistaddedbrowse a:hover,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a:hover,
.st-product-favorites .yith-wcwl-add-button a.delete_item:hover {
    color: #e00000 !important;
}

.st-product-favorites .yith-wcwl-add-to-wishlist-button--added,
.st-product-favorites .yith-wcwl-wishlistaddedbrowse a,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a {
    color: #e00000 !important;
}

/* Legacy remove-template (delete_item): show red heart + label */
.st-product-favorites .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item {
    color: #e00000 !important;
    font-size: 1.25rem !important;
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
}

.st-product-favorites .yith-wcwl-add-button a.delete_item {
    color: #e00000 !important;
    font-size: 1.25rem !important;
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
}
.st-product-favorites .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item svg.yith-wcwl-icon-svg,
.st-product-favorites .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item svg {
    fill: #e00000 !important;
    stroke: #e00000 !important;
}

.st-product-favorites .yith-wcwl-add-button a.delete_item svg.yith-wcwl-icon-svg,
.st-product-favorites .yith-wcwl-add-button a.delete_item svg {
    fill: #e00000 !important;
    stroke: #e00000 !important;
}

/* Ensure red heart in favorite state (SVG fill/stroke) */
.st-product-favorites .yith-wcwl-add-to-wishlist-button--added svg,
.st-product-favorites .yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon {
    fill: #e00000 !important;
    stroke: #e00000 !important;
}

.st-product-favorites .yith-wcwl-wishlistaddedbrowse a svg,
.st-product-favorites .yith-wcwl-wishlistaddedbrowse a .yith-wcwl-icon,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a svg,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a .yith-wcwl-icon {
    fill: #e00000 !important;
    stroke: #e00000 !important;
}

/* Extra safety: force all SVG hearts red inside YITH "in wishlist" UI */
.st-product-favorites .yith-wcwl-add-to-wishlist.exists svg,
.st-product-favorites .yith-wcwl-wishlistaddedbrowse svg,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse svg,
.st-product-favorites .yith-wcwl-add-to-wishlist-button--added svg {
    fill: #e00000 !important;
    stroke: #e00000 !important;
}

.st-product-favorites .yith-wcwl-add-to-wishlist-button svg,
.st-product-favorites .yith-wcwl-add-to-wishlist .yith-wcwl-icon,
.st-product-favorites .yith-wcwl-add-button a svg,
.st-product-favorites .yith-wcwl-add-button a svg.yith-wcwl-icon-svg,
.st-product-favorites .yith-wcwl-add-button a #yith-wcwl-icon-heart-outline {
    width: 30px !important;
    height: 30px !important;
    color: currentColor !important;
    stroke: currentColor !important;
}

.st-product-favorites .yith-wcwl-add-button a path {
    color: currentColor !important;
    stroke: currentColor !important;
}

.st-product-favorites .yith-wcwl-wishlistaddedbrowse a svg,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a svg,
.st-product-favorites .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item svg,
.st-product-favorites .yith-wcwl-wishlistaddedbrowse a path,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a path,
.st-product-favorites .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a.delete_item path {
    color: #e00000 !important;
    stroke: #e00000 !important;
    fill: #e00000 !important;
}

/* Single product: show wishlist text next to the heart icon */
.st-product-favorites .yith-wcwl-add-to-wishlist-button {
    --add-to-wishlist-icon-color: #b6b6b6;
    --added-to-wishlist-icon-color: #e00000;
    display: flex;
    align-items: center;
    gap: 10px !important;
    font-size: 1.25rem !important; /* overrides global font-size:0 (icon-only mode) */
}

.st-product-attributes-section .st-product-favorites .yith-wcwl-add-to-wishlist-button {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    margin-inline: 0 !important;
}

/* Legacy markup: <a> contains a <span> label */
.st-product-favorites .yith-wcwl-add-to-wishlist a > span {
    display: inline !important;
    font-size: 1.25rem !important;
}

/* Ensure legacy icon-only rules don't zero out text nodes */
.st-product-favorites .yith-wcwl-add-button a,
.st-product-favorites .yith-wcwl-wishlistaddedbrowse a,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a {
    font-size: 1.25rem !important;
}

/* In case YITH renders the label as a span inside the React button */
.st-product-favorites .yith-wcwl-add-to-wishlist-button span {
    display: inline !important;
    font-size: 1.25rem !important;
}

/* Short description */
.st-product-short-description {
    margin-top: 24px;
    color: #b6b6b6;
    font-size: 1.25rem;
    line-height: 1.6;
}

.st-product-short-description p:last-child {
    margin-bottom: 0;
}

/* Reviews below short description */
.st-product-reviews {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #333;
}

.st-product-reviews .woocommerce-Reviews-title,
.st-product-reviews #reply-title {
    color: #fff;
    font-size: 1.25rem;
}

.st-product-reviews .comment-list .comment {
    color: #b6b6b6;
}

.st-product-reviews .comment-form label {
    color: #b6b6b6;
}

.st-product-reviews .comment-form input,
.st-product-reviews .comment-form textarea {
    background: #2d2d2d;
    border: 1px solid #444;
    color: #fff;
}

/* Related / similar products — même carrousel que l’accueil (.products-carousel-section) */
.st-product-related {
    /* Même air qu’accueil : trail entre sections (bouton / pagination → titre suivant) */
    margin-top: var(--st-home-section-trail);
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: var(--st-footer-trail);
    border-top: none;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 1;
}

.st-product-related .products-carousel-section,
.st-product-related .products-carousel-container {
    z-index: 1 !important;
}

/* Related owns the footer trail — avoid stacking with .st-single-product padding */
body.single-product:has(.st-product-related) .st-single-product {
    padding-bottom: 0 !important;
}

/*
 * Related has no CTA button; the global
 * .products-carousel-section:not(:has(.products-carousel-button)) rule would add
 * another --st-home-section-trail under the strip → double gap before footer.
 */
.st-product-related .products-carousel-section:not(:has(.products-carousel-button)) .products-carousel,
.st-product-related .products-carousel {
    margin-bottom: 0 !important;
}

@media (min-width: 1301px) {
    .st-product-attributes-purchase-row {
        margin-top: 20px;
    }
}

@media (min-width: 1501px) {
    .st-product-related .products-carousel-section {
        margin-top: 0;
    }
}

.st-product-related .products-carousel-container {
    position: relative;
    z-index: 0;
    overflow: visible !important;
}

/* â•â•â• Product page â‰¤ 1300px â€“ 2-column with responsive sizing â•â•â• */
@media (max-width: 1300px) {
    /* Prevent horizontal scrollbar */
    body.single-product {
        overflow-x: clip !important;
    }

    /* Constrain Astra wrapper chain to body width */
    body.single-product .ast-container,
    body.single-product .content-area,
    body.single-product .site-main,
    body.single-product .ast-woocommerce-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Universal border-box */
    .st-single-product *,
    .st-single-product *::before,
    .st-single-product *::after {
        box-sizing: border-box !important;
    }

    /* Container — same horizontal gutter as nos-produits */
    .st-single-product {
        width: 100% !important;
        max-width: var(--st-nos-produits-max-w) !important;
        padding: 12px var(--st-nos-produits-pad-x) var(--st-footer-trail) !important;
        box-sizing: border-box !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    /* 2-column layout â€“ gallery 40%, info 60% */
    .st-product-layout {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 30px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .st-product-gallery {
        flex: 0 0 40% !important;
        width: 40% !important;
        max-width: 40% !important;
        min-width: 0 !important;
        padding: 0 !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    .st-product-info {
        flex: 1 1 0% !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Gallery internals â€“ fit within column */
    .st-product-gallery .woocommerce-product-gallery,
    .st-product-gallery .wp-block-woocommerce-product-image-gallery,
    .st-product-gallery .wc-block-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    .st-product-gallery .flex-viewport,
    .st-product-gallery .woocommerce-product-gallery .flex-viewport,
    .woocommerce-product-gallery .flex-viewport {
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        border: none !important;
        border-radius: 8px;
    }

    .st-product-gallery .woocommerce-product-gallery__wrapper,
    .st-product-gallery .woocommerce-product-gallery__image,
    .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
    .woocommerce-product-gallery .woocommerce-product-gallery__image {
        width: 100% !important;
        max-width: 100% !important;
    }

    .st-product-gallery img,
    .st-product-gallery .woocommerce-product-gallery__image img,
    .st-product-gallery .flex-viewport img,
    .woocommerce-product-gallery img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .st-product-gallery .zoomImg,
    .woocommerce-product-gallery .zoomImg {
        max-width: 100% !important;
    }

    /* Thumbnails â€“ max 4 / ligne, cellules fixes */
    .st-product-gallery .flex-control-thumbs {
        --st-thumb-gap: 8px;
        --st-thumb-cell: calc((100% - 3 * var(--st-thumb-gap)) / 4);
        display: flex !important;
        flex-wrap: wrap !important;
        gap: var(--st-thumb-gap) !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 12px 0 0 0 !important;
        padding: 0 0 8px 0 !important;
        overflow: visible !important;
    }

    .st-product-gallery .flex-control-thumbs li {
        flex: 0 0 var(--st-thumb-cell) !important;
        width: var(--st-thumb-cell) !important;
        max-width: var(--st-thumb-cell) !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .st-product-gallery .flex-control-thumbs li img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center !important;
        background: transparent !important;
        border: none !important;
        border-radius: 8px;
        box-sizing: border-box !important;
    }

    /* Accordion */
    .st-accordion-trigger {
        max-width: 100% !important;
    }

    /* Description text */
    .st-product-short-description,
    .st-product-short-description p {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important;
    }

    /* Purchase box */
    .st-product-attributes-purchase-row {
        flex-wrap: wrap !important;
    }

    .st-product-purchase-box {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box !important;
        margin-top: 0 !important;
        padding: 28px 24px 24px !important;
        flex: 1 1 280px !important;
    }
}

/*
 * Dès que galerie | info n’offrent plus assez de place pour attrs + boîte
 * côte à côte, tout passe en vertical : image en premier, puis le reste.
 */
@media (max-width: 1200px) {
    .st-product-layout {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 28px !important;
        align-items: stretch !important;
    }

    .st-product-gallery,
    .st-product-info {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .st-product-attributes-purchase-row {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }

    .st-product-attributes-section,
    .st-product-purchase-box {
        flex: 1 1 280px !important;
        width: auto !important;
        max-width: 100% !important;
    }
}

/* â•â•â• Product page â‰¤ 768px â€“ switch to 1-column + tablet refinements â•â•â• */
@media (max-width: 768px) {
    /* Override WooCommerce float-based two-column layout */
    .woocommerce div.product div.images,
    .woocommerce #content div.product div.images,
    .woocommerce-page div.product div.images {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }

    .woocommerce div.product div.summary,
    .woocommerce #content div.product div.summary,
    .woocommerce-page div.product div.summary {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
    }

    /* Single-column layout */
    .st-product-layout {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .st-product-gallery {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .st-product-info {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    .st-product-gallery .flex-control-thumbs {
        --st-thumb-gap: 6px;
        --st-thumb-cell: calc((100% - 3 * var(--st-thumb-gap)) / 4);
        margin: 12px 0 0 0 !important;
        padding: 0 0 8px 0 !important;
        gap: var(--st-thumb-gap) !important;
    }


    .st-single-product {
        padding: 15px 14px var(--st-footer-trail) !important;
    }

    .st-product-title {
        font-size: 2.1rem !important;
    }

    .st-product-purchase-box {
        margin-top: 0 !important;
        padding: 22px 18px 18px !important;
    }

    .st-product-purchase-box .quantity.buttons_added,
    .st-product-purchase-box .quantity:not(.buttons_added) input.qty {
        height: 44px;
        min-height: 44px;
    }

    .st-product-purchase-box .single_add_to_cart_button {
        font-size: 1.25rem !important;
        padding: 10px 18px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    h3.st-chaleur-text {
        font-size: 1.25rem !important;
    }

    .st-chaleur-image {
        height: 40px !important;
    }
}

/* â•â•â• Product page â‰¤ 480px â€“ mobile refinements â•â•â• */
@media (max-width: 480px) {
    .st-single-product {
        padding: 10px 10px var(--st-footer-trail) !important;
    }

    .st-product-layout {
        gap: 16px !important;
    }

    .st-product-title {
        font-size: 1.75rem !important;
    }


    .st-product-gallery .flex-control-thumbs {
        --st-thumb-gap: 4px;
        --st-thumb-cell: calc((100% - 3 * var(--st-thumb-gap)) / 4);
        margin: 10px 0 0 0 !important;
        padding: 0 0 6px 0 !important;
        gap: var(--st-thumb-gap) !important;
    }

    .st-product-purchase-box {
        margin-top: 0 !important;
        padding: 18px 14px 14px !important;
        gap: 14px !important;
    }

    .st-product-purchase-box .cart,
    .st-product-purchase-box .woocommerce-variation-add-to-cart.variations_button {
        flex-wrap: wrap;
    }

    .st-product-purchase-box .single_add_to_cart_button {
        flex: 1 1 100% !important;
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    .st-product-purchase-box .amount bdi,
    .st-product-purchase-box .amount span,
    .st-product-purchase-box .st-price-semence,
    .st-product-purchase-box .st-partner-price--public .st-partner-price__amount,
    .st-product-purchase-box .st-partner-price--public .st-partner-price__amount .amount,
    .st-product-purchase-box .st-partner-price--public .st-partner-price__amount .amount bdi,
    .st-product-purchase-box .st-partner-price--public .st-partner-price__amount .amount span,
    .st-product-purchase-box .st-partner-price--buy .st-partner-price__amount,
    .st-product-purchase-box .st-partner-price--buy .st-partner-price__amount .amount,
    .st-product-purchase-box .st-partner-price--buy .st-partner-price__amount .amount bdi,
    .st-product-purchase-box .st-partner-price--buy .st-partner-price__amount .amount span {
        font-size: 1.5rem !important;
    }

    h3.st-chaleur-text {
        font-size: 1.25rem !important;
    }

    .st-chaleur-image {
        height: 35px !important;
    }

    .st-accordion-trigger {
        padding: 10px 14px !important;
        font-size: 1.25rem !important;
    }

    .st-product-short-description {
        font-size: 1.25rem !important;
    }
}

/* ========== YITH WISHLIST â€” PRODUCT CARDS (carousels / related) ========== */
.product-card-actions .yith-wcwl-add-to-wishlist,
.product-card-actions .yith-add-to-wishlist-button-block {
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--st-product-card-action-size, 28px);
    height: var(--st-product-card-action-size, 28px);
    position: relative;
    z-index: 2;
}

.product-card-actions .yith-wcwl-add-to-wishlist-button svg,
.product-card-actions .yith-wcwl-add-to-wishlist .yith-wcwl-icon {
    width: var(--st-product-card-action-size, 28px) !important;
    height: var(--st-product-card-action-size, 28px) !important;
    color: #b6b6b6;
}

.product-card-actions .yith-wcwl-add-to-wishlist-button--added svg,
.product-card-actions .yith-wcwl-wishlistaddedbrowse .yith-wcwl-icon,
.product-card-actions .yith-wcwl-wishlistexistsbrowse .yith-wcwl-icon {
    color: #e00000 !important;
    fill: #e00000;
}

.product-card-actions .yith-wcwl-add-to-wishlist-button:hover svg,
.product-card-actions .yith-wcwl-add-to-wishlist a:hover .yith-wcwl-icon {
    opacity: 0.7;
}

/* ========== YITH WISHLIST â€” PAGE (wishlist view) ========== */
#yith-wcwl-form,
.yith-wcwl-form,
.woocommerce-wishlist .yith-wcwl-form {
    color: #b6b6b6;
}

.wishlist_table,
.woocommerce-wishlist .wishlist_table {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-bg, #1e1e1e) !important;
}

.wishlist_table td,
.wishlist_table th {
    background: transparent !important;
}

.wishlist_table th,
.woocommerce-wishlist .wishlist_table th {
    background: var(--color-footer-bg, #323232) !important;
    color: #fff !important;
    font-family: 'Myriad Pro', sans-serif;
    font-weight: 600;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--color-border, #636363);
}

.wishlist_table td,
.woocommerce-wishlist .wishlist_table td {
    padding: 16px;
    border-bottom: 1px solid var(--color-border, #636363) !important;
    vertical-align: middle;
    color: #b6b6b6 !important;
}

/* Pas de surbrillance de ligne sur le message Â« liste vide Â» (le tiroir favoris neutralise via #st-wishlist-drawer â€¦ plus haut) */
.wishlist_table tbody tr:not(:has(td.wishlist-empty)):hover td,
.woocommerce-wishlist .wishlist_table tbody tr:not(:has(td.wishlist-empty)):hover td {
	background: var(--color-footer-bg, #323232) !important;
}

.wishlist_table .product-name a,
.woocommerce-wishlist .wishlist_table .product-name a {
    color: #fff !important;
    text-decoration: none;
    font-family: 'Myriad Pro', sans-serif;
    font-weight: 600;
}

.wishlist_table .product-name a:hover,
.woocommerce-wishlist .wishlist_table .product-name a:hover {
    color: #b6b6b6 !important;
}

.wishlist_table .product-thumbnail img,
.woocommerce-wishlist .wishlist_table .product-thumbnail img {
    max-width: 80px;
    height: auto;
    border-radius: 4px;
}

.wishlist_table .product-price,
.woocommerce-wishlist .wishlist_table .product-price {
    color: #fff !important;
    font-weight: 600;
}

.wishlist_table .product-remove a,
.wishlist_table .remove_from_wishlist,
.woocommerce-wishlist .wishlist_table .product-remove a,
.woocommerce-wishlist .wishlist_table .remove_from_wishlist {
    color: #b6b6b6 !important;
    font-size: 1.25rem;
    text-decoration: none;
}

.wishlist_table .product-remove a:hover,
.wishlist_table .remove_from_wishlist:hover,
.woocommerce-wishlist .wishlist_table .product-remove a:hover,
.woocommerce-wishlist .wishlist_table .remove_from_wishlist:hover {
    color: #e74c3c !important;
}

.wishlist_table .product-add-to-cart a,
.woocommerce-wishlist .wishlist_table .product-add-to-cart a {
    background: var(--color-footer-bg, #323232) !important;
    color: #fff !important;
    border: 1px solid var(--color-border, #636363) !important;
    padding: 8px 20px !important;
    font-family: 'Myriad Pro', sans-serif !important;
    font-size: 1.25rem !important;
    text-decoration: none;
    border-radius: 2px;
    transition: background 0.2s ease, color 0.2s ease;
}

.wishlist_table .product-add-to-cart a:hover,
.woocommerce-wishlist .wishlist_table .product-add-to-cart a:hover {
    background: var(--color-bg, #1e1e1e) !important;
    color: #fff !important;
}

.wishlist_table .wishlist-in-stock,
.woocommerce-wishlist .wishlist_table .wishlist-in-stock {
    color: #27ae60 !important;
}

.wishlist_table .wishlist-out-of-stock,
.woocommerce-wishlist .wishlist_table .wishlist-out-of-stock {
    color: #e74c3c !important;
}

.wishlist-title h2,
.wishlist-title-container h2,
.woocommerce-wishlist .wishlist-title h2,
.woocommerce-wishlist .wishlist-title-container h2 {
    color: #fff !important;
    font-family: 'Myriad Pro', sans-serif;
    font-weight: 700;
}

.wishlist-empty,
.woocommerce-wishlist .wishlist-empty {
    color: #b6b6b6;
    text-align: center;
    padding: 40px 20px;
    font-size: 1.25rem;
}

.yith-wcwl-share {
    margin-top: 20px;
}

.yith-wcwl-share .share-button a {
    color: #b6b6b6 !important;
}

.yith-wcwl-share .share-button a:hover {
    color: #fff !important;
}

/* YITH Tooltip styling */
.yith-wcwl-tooltip {
    background: var(--color-footer-bg, #323232) !important;
    color: #fff !important;
    font-family: 'Myriad Pro', sans-serif !important;
    font-size: 1.25rem !important;
    border: 1px solid var(--color-border, #636363) !important;
    border-radius: 4px !important;
}

/* YITH popup: hidden (empty toast on add/remove) */
#yith-wcwl-popup-message {
    display: none !important;
}

/* YITH React button global reset */
.yith-wcwl-add-to-wishlist-button {
    --add-to-wishlist-icon-color: #b6b6b6;
    --added-to-wishlist-icon-color: #e00000;
}

/* Mobile: wishlist table responsive */
@media (max-width: 768px) {
    .woocommerce-wishlist .wishlist_table.mobile li {
        background: var(--color-footer-bg, #323232);
        border: 1px solid var(--color-border, #636363);
        border-radius: 4px;
        margin-bottom: 12px;
        padding: 16px;
    }

    .woocommerce-wishlist .wishlist_table.mobile li .item-wrapper {
        display: flex;
        gap: 16px;
        align-items: center;
    }

    .woocommerce-wishlist .wishlist_table.mobile li .product-thumbnail img {
        max-width: 70px;
    }

    .woocommerce-wishlist .wishlist_table.mobile li .product-name a {
        font-size: 1.25rem;
    }

    .woocommerce-wishlist .wishlist_table.mobile li .additional-info-wrapper {
        margin-top: 10px;
    }
}

/* ========== Checkout â€” renforts cascade (commande) ========== */
form.checkout.woocommerce-checkout .form-row select:not(.select2-hidden-accessible),
form.checkout.woocommerce-checkout .woocommerce-input-wrapper select:not(.select2-hidden-accessible) {
	color: #1e1e1e !important;
	background-color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 5px !important;
}

form.checkout.woocommerce-checkout .select2-container--default .select2-selection--single,
form.checkout.woocommerce-checkout .selectWoo-container--default .selectWoo-selection--single,
form.checkout.woocommerce-checkout .select2-container .select2-selection--single,
form.checkout.woocommerce-checkout .selectWoo-container .selectWoo-selection--single {
	background-color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 5px !important;
	height: 52px !important;
	min-height: 52px !important;
	max-height: 52px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

form.checkout.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
form.checkout.woocommerce-checkout .selectWoo-container--default .selectWoo-selection--single .selectWoo-selection__rendered {
	color: #1e1e1e !important;
	display: block !important;
	box-sizing: border-box !important;
	height: 52px !important;
	line-height: 1.2 !important;
	padding: 22px 2.5em 6px 1em !important;
	margin: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

form.checkout.woocommerce-checkout input[type="checkbox"],
form.checkout.woocommerce-checkout #order_review input[type="checkbox"],
form.checkout.woocommerce-checkout #payment input[type="checkbox"],
form.checkout.woocommerce-checkout .woocommerce-form__input-checkbox,
form.checkout.woocommerce-checkout .create-account input[type="checkbox"],
form.checkout.woocommerce-checkout #createaccount,
body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page input[type="checkbox"],
body.woocommerce-checkout .hostinger-reach-optin input[type="checkbox"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 1.15em !important;
	height: 1.15em !important;
	min-width: 1.15em !important;
	min-height: 1.15em !important;
	max-width: 1.15em !important;
	max-height: 1.15em !important;
	flex: 0 0 1.15em !important;
	flex-shrink: 0 !important;
	flex-grow: 0 !important;
	box-sizing: border-box !important;
	display: inline-block !important;
	padding: 0 !important;
	accent-color: #b6b6b6 !important;
	background-color: #b6b6b6 !important;
	background-image: none !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	vertical-align: middle;
	opacity: 1 !important;
}

form.checkout.woocommerce-checkout label.woocommerce-form__label-for-checkbox,
form.checkout.woocommerce-checkout label.checkbox,
form.checkout.woocommerce-checkout .hostinger-reach-optin label,
form.checkout.woocommerce-checkout .create-account label {
	display: inline-flex !important;
	align-items: flex-start !important;
	gap: 0.35rem !important;
	width: auto !important;
	line-height: 1.45 !important;
	cursor: pointer;
	position: static !important;
}

form.checkout.woocommerce-checkout .woocommerce-input-wrapper:has(> input[type="checkbox"]) {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center;
}

form.checkout.woocommerce-checkout input[type="checkbox"]:checked,
form.checkout.woocommerce-checkout #order_review input[type="checkbox"]:checked,
form.checkout.woocommerce-checkout .woocommerce-form__input-checkbox:checked,
form.checkout.woocommerce-checkout .create-account input[type="checkbox"]:checked,
form.checkout.woocommerce-checkout #createaccount:checked {
	accent-color: #b6b6b6 !important;
	background-color: #b6b6b6 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231e1e1e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l3 3.1 6-6.4'/%3E%3C/svg%3E") !important;
	background-size: 100% 100% !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	opacity: 1 !important;
}

form.checkout.woocommerce-checkout #order_review,
form.checkout.woocommerce-checkout .col2-set #order_review {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	/* Annule le padding latéral Astra (padding: 0 2em) — pleine largeur */
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table {
	width: 100% !important;
	max-width: 100% !important;
	table-layout: fixed !important;
}

form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table,
form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table td,
form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table tr {
	border: none !important;
}

/* Checkout line items — même lecture que le mini-panier (vignette + nom + qty) */
form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table thead {
	display: none !important;
}

form.checkout.woocommerce-checkout #order_review_heading,
form.checkout #order_review_heading {
	margin: 0 0 5px !important;
}

form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item {
	border-bottom: 1px solid var(--color-border, #636363) !important;
}

form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td.product-name,
form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td.product-total {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	vertical-align: top !important;
}

form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table > tbody > tr.cart_item:first-child td.product-name,
form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table > tbody > tr.cart_item:first-child td.product-total {
	padding-top: 5px !important;
}

form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td.product-name {
	padding-left: 0 !important;
	padding-right: 12px !important;
	width: auto !important;
}

form.checkout.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td.product-total {
	padding-left: 8px !important;
	padding-right: 14px !important;
	text-align: right !important;
	white-space: nowrap !important;
	color: #b6b6b6 !important;
	font-size: 0.95rem !important;
	font-family: 'Myriad Pro', sans-serif !important;
	line-height: 1.35 !important;
}

/* Annule .amount bdi { 1.6rem } — garde le vert, taille compacte du récap */
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-total .woocommerce-Price-amount,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-total .amount,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-total .amount bdi,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table td.product-total .amount span,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot td .woocommerce-Price-amount,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot td .amount,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot td .amount bdi,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot td .amount span {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: var(--color-accent-green, #00b460) !important;
	line-height: 1.35 !important;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot td {
	padding-right: 14px !important;
}

/*
 * Récap totaux — groupes collés + lignes :
 * 1) Sous-total / livraison / frais
 * 2) Taxes
 * 3) Total
 */
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr:not(.st-checkout-coupon-row) > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr:not(.st-checkout-coupon-row) > td {
	padding-top: 0.4rem !important;
	padding-bottom: 0.4rem !important;
	padding-left: 0 !important;
	border: none !important;
	border-top: none !important;
	border-bottom: none !important;
	vertical-align: middle !important;
	line-height: 1.3 !important;
	font-size: 0.95rem !important;
	color: var(--color-text, #b6b6b6) !important;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.st-checkout-coupon-row > td {
	border-bottom: 1px solid var(--color-border, #474747) !important;
	padding-bottom: 1rem !important;
}

/* Groupe 1 : sous-total → livraison → réductions / frais */
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.cart-subtotal > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.cart-subtotal > td {
	padding-top: 0.85rem !important;
	padding-bottom: 0.35rem !important;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.woocommerce-shipping-totals > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.woocommerce-shipping-totals > td,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.shipping > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.shipping > td,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.cart-discount > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.cart-discount > td,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.fee > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.fee > td {
	padding-top: 0.3rem !important;
	padding-bottom: 0.3rem !important;
}

/* Ligne avant les taxes (1re ligne de taxe seulement) */
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.tax-rate > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.tax-rate > td,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.tax-total > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.tax-total > td {
	border-top: 1px solid var(--color-border, #474747) !important;
	padding-top: 0.75rem !important;
	padding-bottom: 0.28rem !important;
	font-size: 0.9rem !important;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.tax-rate + tr.tax-rate > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.tax-rate + tr.tax-rate > td {
	border-top: none !important;
	padding-top: 0.28rem !important;
}

/* Ligne forte + Total mis en avant */
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.order-total > th,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.order-total > td {
	border-top: 1px solid var(--color-border, #636363) !important;
	padding-top: 0.85rem !important;
	padding-bottom: 0.35rem !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #fff !important;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.order-total td .woocommerce-Price-amount,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.order-total td .amount,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.order-total td .amount bdi,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.order-total td .amount span {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
}

/* Shipping label compact (liste méthodes) */
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.woocommerce-shipping-totals ul,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.shipping ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.woocommerce-shipping-totals li,
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr.shipping li {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

form.checkout.woocommerce-checkout .st-checkout-item {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	min-width: 0 !important;
}

form.checkout.woocommerce-checkout .st-checkout-item__thumb {
	display: block !important;
	flex: 0 0 5rem !important;
	width: 5rem !important;
	min-width: 5rem !important;
	max-width: 5rem !important;
	line-height: 0 !important;
	text-decoration: none !important;
}

form.checkout.woocommerce-checkout .st-checkout-item__thumb img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	border-radius: 6px !important;
	object-fit: cover !important;
}

form.checkout.woocommerce-checkout .st-checkout-item__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 4px !important;
	min-width: 0 !important;
	padding-top: 2px !important;
}

form.checkout.woocommerce-checkout .st-checkout-item__name {
	color: #fff !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

form.checkout.woocommerce-checkout a.st-checkout-item__name:hover {
	color: #b6b6b6 !important;
}

form.checkout.woocommerce-checkout .st-checkout-item__qty,
form.checkout.woocommerce-checkout .st-checkout-item .product-quantity {
	color: #636363 !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

form.checkout.woocommerce-checkout .st-checkout-item .wc-item-meta,
form.checkout.woocommerce-checkout .st-checkout-item dl.variation {
	color: #636363 !important;
	font-size: 0.85rem !important;
	margin: 0 !important;
}

/* « Votre commande » + titres Contact / Livraison */
form.checkout.woocommerce-checkout #order_review_heading,
form.checkout #order_review_heading,
body.woocommerce-checkout #customer_details h3:not(.st-checkout-section-title),
form.checkout.woocommerce-checkout .woocommerce-billing-fields > h3:not(.st-checkout-section-title),
form.checkout.woocommerce-checkout .st-checkout-section-title {
	font-size: 1.25rem;
	font-weight: 700;
	padding: 20px 0 14px !important;
	margin: 0 0 20px !important;
	border: none !important;
	border-bottom: 1px solid var(--color-border, #474747) !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
}

form.checkout.woocommerce-checkout #order_review_heading,
form.checkout #order_review_heading {
	color: var(--color-text, #b6b6b6) !important;
}

/* Paiement express — même police / poids / soulignement que « Votre commande » */
form.checkout.woocommerce-checkout .st-express-checkout-title {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	padding: 20px 0 14px !important;
	margin: 40px 0 0.55rem !important;
	border: none !important;
	border-bottom: 1px solid var(--color-border, #474747) !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--color-text, #b6b6b6) !important;
	text-align: left !important;
	line-height: 1.3 !important;
}

/* Contact plus proche du « — OU — » */
form.checkout.woocommerce-checkout .st-checkout-section-head.st-checkout-contact-head {
	margin-top: 0.35rem !important;
	margin-bottom: 0.75rem !important;
	padding-top: 0 !important;
}

form.checkout.woocommerce-checkout .st-checkout-section-head.st-checkout-contact-head .st-checkout-section-title,
form.checkout.woocommerce-checkout .st-checkout-section-head.st-checkout-contact-head .st-checkout-signin {
	padding-top: 8px !important;
}

form.checkout.woocommerce-checkout .st-checkout-section-head {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	margin: 0 0 1rem !important;
	padding: 0 0 14px !important;
	border: none !important;
	border-bottom: 1px solid var(--color-border, #474747) !important;
}

form.checkout.woocommerce-checkout .st-checkout-section-head .st-checkout-section-title {
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 20px 0 0 !important;
	border: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

form.checkout.woocommerce-checkout .st-checkout-signin {
	flex: 0 0 auto !important;
	color: var(--color-text, #b6b6b6) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	text-decoration-color: var(--color-text, #b6b6b6) !important;
	white-space: nowrap !important;
	padding: 20px 0 0 !important;
	margin: 0 !important;
	border: none !important;
}

form.checkout.woocommerce-checkout .st-checkout-signin:hover {
	color: #fff !important;
	text-decoration-color: #fff !important;
}

/* Alignés sur le bord gauche des champs (même inset) */
form.checkout.woocommerce-checkout .st-checkout-newsletter,
form.checkout.woocommerce-checkout .st-checkout-account-fields,
form.checkout.woocommerce-checkout .woocommerce-account-fields {
	margin: 0.15rem 0 0.35rem !important;
	padding-left: 0 !important;
	box-sizing: border-box !important;
}

form.checkout.woocommerce-checkout .st-checkout-newsletter.form-row,
form.checkout.woocommerce-checkout .st-checkout-account-fields .create-account.form-row,
form.checkout.woocommerce-checkout .woocommerce-account-fields .create-account.form-row {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

form.checkout.woocommerce-checkout .st-checkout-newsletter label.checkbox,
form.checkout.woocommerce-checkout .st-checkout-newsletter label.woocommerce-form__label-for-checkbox,
form.checkout.woocommerce-checkout .st-checkout-account-fields .create-account label.checkbox,
form.checkout.woocommerce-checkout .st-checkout-account-fields .create-account label.woocommerce-form__label-for-checkbox,
form.checkout.woocommerce-checkout .woocommerce-account-fields .create-account label.checkbox,
form.checkout.woocommerce-checkout .woocommerce-account-fields .create-account label.woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.55rem !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
	cursor: pointer !important;
	width: 100% !important;
}

form.checkout.woocommerce-checkout .st-checkout-newsletter input[type="checkbox"],
form.checkout.woocommerce-checkout .st-checkout-account-fields .create-account input[type="checkbox"],
form.checkout.woocommerce-checkout .st-checkout-newsletter #hostinger_reach_optin,
form.checkout.woocommerce-checkout .st-checkout-account-fields #createaccount {
	margin: 0 !important;
	align-self: center !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	accent-color: #b6b6b6 !important;
	color: #1e1e1e !important;
	background-color: #b6b6b6 !important;
	background-image: none !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 2px !important;
	box-shadow: none !important;
}

form.checkout.woocommerce-checkout .st-checkout-newsletter input[type="checkbox"]:checked,
form.checkout.woocommerce-checkout .st-checkout-account-fields .create-account input[type="checkbox"]:checked,
form.checkout.woocommerce-checkout .st-checkout-newsletter #hostinger_reach_optin:checked,
form.checkout.woocommerce-checkout .st-checkout-account-fields #createaccount:checked {
	accent-color: #b6b6b6 !important;
	background-color: #b6b6b6 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231e1e1e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2l3 3.1 6-6.4'/%3E%3C/svg%3E") !important;
	background-size: 100% 100% !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	color: #1e1e1e !important;
}

form.checkout.woocommerce-checkout .st-checkout-newsletter input[type="checkbox"]:focus,
form.checkout.woocommerce-checkout .st-checkout-account-fields .create-account input[type="checkbox"]:focus {
	outline: 2px solid rgba(182, 182, 182, 0.55) !important;
	outline-offset: 2px !important;
}

form.checkout.woocommerce-checkout .st-checkout-newsletter .hostinger-reach-optin__checkbox-text,
form.checkout.woocommerce-checkout .st-checkout-account-fields .create-account label span {
	display: inline-flex !important;
	align-items: center !important;
	line-height: 1.35 !important;
	padding-top: 0 !important;
}

/* Masquer le sélecteur devise (GeoIP suffit) */
form.checkout.woocommerce-checkout #order_review .st-checkout-currency,
form.checkout.woocommerce-checkout .st-checkout-currency {
	display: none !important;
}

/* Code promo entre produits et totaux (rangée tfoot) */
form.checkout.woocommerce-checkout #order_review tr.st-checkout-coupon-row > td {
	padding: 1rem 0 0.85rem !important;
	border: none !important;
}

form.checkout.woocommerce-checkout #order_review tr.st-checkout-coupon-row .st-checkout-coupon {
	margin: 0 !important;
}

form.checkout.woocommerce-checkout #order_review .st-checkout-coupon,
form.checkout.woocommerce-checkout #order_review > .st-checkout-coupon__row {
	margin: 1rem 0 0.85rem !important;
}

form.checkout.woocommerce-checkout .st-checkout-delivery-heading {
	margin-top: 0.85rem !important;
}

/* Adresse de livraison — accordéon cliquable + flèche */
form.checkout.woocommerce-checkout button.st-checkout-delivery-heading.st-checkout-accordion-trigger {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	width: 100% !important;
	cursor: pointer !important;
	text-align: left !important;
	font-family: inherit !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
}

form.checkout.woocommerce-checkout button.st-checkout-delivery-heading.st-checkout-accordion-trigger:focus-visible {
	outline: 2px solid rgba(182, 182, 182, 0.55) !important;
	outline-offset: 2px !important;
}

form.checkout.woocommerce-checkout .st-checkout-accordion-arrow {
	flex: 0 0 auto !important;
	width: 0.65rem !important;
	height: 0.65rem !important;
	border-right: 2px solid currentColor !important;
	border-bottom: 2px solid currentColor !important;
	transform: rotate(45deg) !important; /* ouvert → pointe vers le bas */
	transition: transform 0.2s ease !important;
	opacity: 0.85 !important;
	margin: 0 0.2rem 0.2rem 0 !important;
}

form.checkout.woocommerce-checkout.st-delivery-collapsed .st-checkout-accordion-arrow,
form.checkout.woocommerce-checkout button.st-checkout-accordion-trigger[aria-expanded="false"] .st-checkout-accordion-arrow {
	transform: rotate(-45deg) !important; /* fermé → pointe vers la droite */
	margin-bottom: 0 !important;
}

/* Deux titres clairs : Adresse de livraison + Autre adresse (collapse) */
form.checkout.woocommerce-checkout .st-checkout-address-body {
	overflow: hidden;
	transition: opacity 0.2s ease;
}

form.checkout.woocommerce-checkout.st-delivery-collapsed #st-billing-delivery-body {
	display: none !important;
}

form.checkout.woocommerce-checkout .st-checkout-delivery-heading,
form.checkout.woocommerce-checkout .st-checkout-shipping-heading {
	opacity: 1;
}

form.checkout.woocommerce-checkout.st-delivery-collapsed .st-checkout-delivery-heading {
	opacity: 0.85;
}

form.checkout.woocommerce-checkout:not(.st-ship-different-open) .st-checkout-shipping-heading {
	opacity: 0.85;
}

/* Moyen de paiement — plus proche de la section au-dessus */
form.checkout.woocommerce-checkout .st-checkout-payment-heading {
	margin: 0.15rem 0 0.35rem !important;
	padding: 4px 0 8px !important;
}

form.checkout.woocommerce-checkout .st-checkout-shipping-head {
	margin: 0.85rem 0 0.5rem !important;
	padding: 0 !important;
	border: none !important;
	border-bottom: none !important;
	display: block !important;
	align-items: unset !important;
	justify-content: unset !important;
}

form.checkout.woocommerce-checkout .st-checkout-shipping-heading,
form.checkout.woocommerce-checkout #ship-to-different-address {
	margin: 0.35rem 0 !important;
	padding: 0 !important;
	border: none !important;
	border-bottom: none !important;
	width: 100% !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	background: transparent !important;
}

form.checkout.woocommerce-checkout .st-checkout-shipping-toggle {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.55rem !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	cursor: pointer !important;
	font-size: inherit !important;
	font-weight: 500 !important;
	color: var(--color-text, #b6b6b6) !important;
	line-height: 1.35 !important;
}

form.checkout.woocommerce-checkout .st-checkout-shipping-toggle .st-checkout-shipping-heading-text,
form.checkout.woocommerce-checkout .st-checkout-shipping-toggle .st-checkout-section-label {
	display: inline-flex !important;
	align-items: center !important;
	font-size: 1em !important;
	font-weight: 500 !important;
	color: var(--color-text, #b6b6b6) !important;
	line-height: 1.35 !important;
	padding-top: 0 !important;
}

form.checkout.woocommerce-checkout .st-checkout-shipping-toggle input[type="checkbox"] {
	margin: 0 !important;
	flex: 0 0 auto !important;
	align-self: center !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
}

/* Livraison — grille type Shopify / Écoumène
 * Cible aussi le wrapper billing par défaut (si form-billing custom absent). */
form.checkout.woocommerce-checkout .st-checkout-delivery-fields,
form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 0.75rem 0.85rem !important;
	width: 100% !important;
}

form.checkout.woocommerce-checkout .st-checkout-delivery-fields::before,
form.checkout.woocommerce-checkout .st-checkout-delivery-fields::after,
form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::before,
form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::before,
form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after {
	display: none !important;
	content: none !important;
}

form.checkout.woocommerce-checkout .st-checkout-delivery-fields .form-row,
form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row {
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

form.checkout.woocommerce-checkout .st-checkout-delivery-fields .form-row-wide,
form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide {
	flex: 1 1 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Contact email alone (when split wrappers exist) */
form.checkout.woocommerce-checkout .st-checkout-contact-fields {
	display: block !important;
	width: 100% !important;
}

form.checkout.woocommerce-checkout .st-checkout-contact-fields .form-row {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 0.75rem !important;
}

/* Prénom | Nom — desktop */
@media (min-width: 769px) {
	form.checkout.woocommerce-checkout .st-checkout-delivery-fields .form-row-first:not(.st-checkout-third),
	form.checkout.woocommerce-checkout .st-checkout-delivery-fields .form-row-last:not(.st-checkout-third),
	form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first:not(.st-checkout-third),
	form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last:not(.st-checkout-third),
	form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first:not(.st-checkout-third),
	form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last:not(.st-checkout-third) {
		flex: 1 1 calc(50% - 0.425rem) !important;
		width: calc(50% - 0.425rem) !important;
		max-width: calc(50% - 0.425rem) !important;
	}

	/* Ville | Province | Code postal — desktop */
	form.checkout.woocommerce-checkout .st-checkout-delivery-fields .st-checkout-third,
	form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .st-checkout-third,
	form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .st-checkout-third,
	form.checkout.woocommerce-checkout #billing_city_field,
	form.checkout.woocommerce-checkout #billing_state_field,
	form.checkout.woocommerce-checkout #billing_postcode_field,
	form.checkout.woocommerce-checkout #shipping_city_field,
	form.checkout.woocommerce-checkout #shipping_state_field,
	form.checkout.woocommerce-checkout #shipping_postcode_field {
		flex: 1 1 calc(33.333% - 0.57rem) !important;
		width: calc(33.333% - 0.57rem) !important;
		max-width: calc(33.333% - 0.57rem) !important;
	}
}

/* Select2 province — une seule rangée, pas de wrapper géant */
form.checkout.woocommerce-checkout #billing_state_field .woocommerce-input-wrapper,
form.checkout.woocommerce-checkout #shipping_state_field .woocommerce-input-wrapper,
form.checkout.woocommerce-checkout #billing_country_field .woocommerce-input-wrapper,
form.checkout.woocommerce-checkout #shipping_country_field .woocommerce-input-wrapper {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	overflow: visible !important;
}

form.checkout.woocommerce-checkout #billing_state_field .select2-container,
form.checkout.woocommerce-checkout #shipping_state_field .select2-container,
form.checkout.woocommerce-checkout #billing_country_field .select2-container,
form.checkout.woocommerce-checkout #shipping_country_field .select2-container {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
}

form.checkout.woocommerce-checkout #billing_state_field select.state_select,
form.checkout.woocommerce-checkout #shipping_state_field select.state_select,
form.checkout.woocommerce-checkout #billing_country_field select.country_to_state,
form.checkout.woocommerce-checkout #shipping_country_field select.country_to_state {
	max-height: 0 !important;
	min-height: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 768px) {
	/* Mobile : tous les champs adresse empilés verticalement */
	form.checkout.woocommerce-checkout .st-checkout-delivery-fields .form-row-first,
	form.checkout.woocommerce-checkout .st-checkout-delivery-fields .form-row-last,
	form.checkout.woocommerce-checkout .st-checkout-delivery-fields .form-row-middle,
	form.checkout.woocommerce-checkout .st-checkout-delivery-fields .st-checkout-third,
	form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
	form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-middle,
	form.checkout.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .st-checkout-third,
	form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
	form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last,
	form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-middle,
	form.checkout.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .st-checkout-third,
	form.checkout.woocommerce-checkout .shipping_address .form-row-first,
	form.checkout.woocommerce-checkout .shipping_address .form-row-last,
	form.checkout.woocommerce-checkout .shipping_address .form-row-middle,
	form.checkout.woocommerce-checkout .shipping_address .st-checkout-third,
	form.checkout.woocommerce-checkout #billing_first_name_field,
	form.checkout.woocommerce-checkout #billing_last_name_field,
	form.checkout.woocommerce-checkout #billing_city_field,
	form.checkout.woocommerce-checkout #billing_state_field,
	form.checkout.woocommerce-checkout #billing_postcode_field,
	form.checkout.woocommerce-checkout #shipping_first_name_field,
	form.checkout.woocommerce-checkout #shipping_last_name_field,
	form.checkout.woocommerce-checkout #shipping_city_field,
	form.checkout.woocommerce-checkout #shipping_state_field,
	form.checkout.woocommerce-checkout #shipping_postcode_field {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Code promo : champ + bouton empilés, champ lisible */
	form.checkout.woocommerce-checkout #order_review .st-checkout-coupon .st-checkout-coupon__row,
	form.checkout.woocommerce-checkout #order_review > .st-checkout-coupon__row,
	form.checkout.woocommerce-checkout #order_review tr.st-checkout-coupon-row .st-checkout-coupon__row,
	form.checkout.woocommerce-checkout #order_review #woocommerce-checkout-form-coupon .st-checkout-coupon__row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0.55rem !important;
		height: auto !important;
		overflow: visible !important;
	}

	form.checkout.woocommerce-checkout #order_review #coupon_code,
	form.checkout.woocommerce-checkout #order_review .st-checkout-coupon__field--input {
		flex: 1 1 auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	form.checkout.woocommerce-checkout #order_review .st-checkout-coupon__field--button,
	form.checkout.woocommerce-checkout #order_review button[name="apply_coupon"],
	form.checkout.woocommerce-checkout #order_review input.button[name="apply_coupon"] {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Totaux : labels plus larges, table pleine largeur */
	form.checkout.woocommerce-checkout #order_review,
	form.checkout.woocommerce-checkout #order_review_heading {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table {
		width: 100% !important;
		table-layout: fixed !important;
	}

	form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr:not(.st-checkout-coupon-row) > th {
		width: 62% !important;
		min-width: 0 !important;
		padding-right: 0.5rem !important;
		padding-left: 0 !important;
		white-space: normal !important;
	}

	form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot > tr:not(.st-checkout-coupon-row) > td {
		width: 38% !important;
		padding-right: 0 !important;
		text-align: right !important;
	}

	form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot th,
	form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tfoot td {
		padding-right: 0 !important;
	}

	form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.cart_item td.product-name,
	form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table tr.cart_item td.product-total {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Shipping address grid when expanded */
form.checkout.woocommerce-checkout .shipping_address .woocommerce-shipping-fields__field-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 0.75rem 0.85rem !important;
	width: 100% !important;
}

form.checkout.woocommerce-checkout .shipping_address .woocommerce-shipping-fields__field-wrapper .form-row {
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Ville | Province | Code postal — desktop only (mobile = full width below) */
@media (min-width: 769px) {
	form.checkout.woocommerce-checkout .shipping_address #shipping_city_field,
	form.checkout.woocommerce-checkout #billing_city_field {
		flex: 1 1 calc(33.333% - 0.57rem) !important;
		width: calc(33.333% - 0.57rem) !important;
		max-width: calc(33.333% - 0.57rem) !important;
		order: 90 !important;
	}

	form.checkout.woocommerce-checkout .shipping_address #shipping_state_field,
	form.checkout.woocommerce-checkout #billing_state_field {
		flex: 1 1 calc(33.333% - 0.57rem) !important;
		width: calc(33.333% - 0.57rem) !important;
		max-width: calc(33.333% - 0.57rem) !important;
		order: 100 !important;
	}

	form.checkout.woocommerce-checkout .shipping_address #shipping_postcode_field,
	form.checkout.woocommerce-checkout #billing_postcode_field {
		flex: 1 1 calc(33.333% - 0.57rem) !important;
		width: calc(33.333% - 0.57rem) !important;
		max-width: calc(33.333% - 0.57rem) !important;
		order: 110 !important;
	}
}

form.checkout.woocommerce-checkout .woocommerce-account-fields .create-account,
form.checkout.woocommerce-checkout #ship-to-different-address {
	margin: 0.35rem 0 !important;
}

/* Ancien style checkbox shipping — ne pas écraser le titre section */
form.checkout.woocommerce-checkout #ship-to-different-address:not(.st-checkout-shipping-heading) label {
	display: flex !important;
	align-items: center !important;
	gap: 0.55rem !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
	font-weight: 500 !important;
	color: var(--color-text, #b6b6b6) !important;
}

form.checkout.woocommerce-checkout #ship-to-different-address:not(.st-checkout-shipping-heading) label span {
	color: var(--color-text, #b6b6b6) !important;
}

/* Express title (mobile / fallback) — même look que Votre commande */
form.checkout.woocommerce-checkout .st-express-checkout-title {
	display: block;
	margin: 40px 0 0.55rem;
	padding: 20px 0 14px;
	border: none;
	border-bottom: 1px solid var(--color-border, #474747);
	text-align: left;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-text, #b6b6b6);
	line-height: 1.3;
}

/* Checkout — sélecteur devise (après code promo, même style que les champs) */
form.checkout.woocommerce-checkout #order_review .st-checkout-currency {
	display: block;
	width: 100%;
	margin: 0.85rem 0 1.1rem;
	padding: 0;
	border: none;
	position: relative;
}

form.checkout.woocommerce-checkout #order_review .st-checkout-currency > label {
	position: absolute !important;
	left: 1em !important;
	right: 2.5em !important;
	top: 0.4em !important;
	transform: none !important;
	z-index: 3 !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #4a4a4a !important;
	background: transparent !important;
}

form.checkout.woocommerce-checkout #order_review .st-checkout-currency .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

form.checkout.woocommerce-checkout #order_review .st-checkout-currency__select,
form.checkout.woocommerce-checkout #order_review select#st_checkout_currency {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	max-width: 100%;
	height: 52px !important;
	min-height: 52px !important;
	box-sizing: border-box !important;
	color: #1e1e1e !important;
	background-color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 5px !important;
	padding: 22px 2.5em 6px 1em !important;
	font-size: 1em !important;
	line-height: 1.2 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231e1e1e' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85em center;
	background-size: 0.65em auto;
	cursor: pointer;
}

form.checkout.woocommerce-checkout #order_review .st-checkout-currency__select:focus,
form.checkout.woocommerce-checkout #order_review select#st_checkout_currency:focus {
	outline: none !important;
	border-color: #6b6b6b !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15) !important;
}

form.checkout.woocommerce-checkout #order_review,
form.checkout #order_review {
	border: none !important;
	border-width: 0 !important;
}

form.checkout.woocommerce-checkout #order_review .woocommerce-info,
form.checkout.woocommerce-checkout #order_review .woocommerce-message,
form.checkout.woocommerce-checkout #order_review .woocommerce-error {
	border: none !important;
	border-top: none !important;
}

/* Code promo — champ + bouton dans #order_review (sans bandeau toggle) */
form.checkout.woocommerce-checkout #order_review .woocommerce-form-coupon-toggle {
	display: none !important;
}

/*
 * Le <form> coupon est retiré par le navigateur (form imbriqué dans form.checkout).
 * On cible donc .st-checkout-coupon ET la rangée orpheline.
 * 33px = marge sous « Votre commande » + 1re rangée facturation (Prénom/Nom).
 */
form.checkout.woocommerce-checkout #order_review .st-checkout-coupon,
form.checkout.woocommerce-checkout #order_review > .st-checkout-coupon__row {
	--st-coupon-control-height: 52px;
	display: block !important;
	margin: 33px 0 0.85rem !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

form.checkout.woocommerce-checkout #order_review .st-checkout-coupon .st-checkout-coupon__row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.65rem !important;
	height: var(--st-coupon-control-height);
	margin: 0 !important;
	overflow: hidden;
}

form.checkout.woocommerce-checkout #order_review > .st-checkout-coupon__row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.65rem !important;
	height: var(--st-coupon-control-height);
	overflow: hidden;
}

form.checkout.woocommerce-checkout #order_review #coupon_code,
form.checkout.woocommerce-checkout #order_review .st-checkout-coupon__field--input {
	-webkit-appearance: none;
	appearance: none;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: var(--st-coupon-control-height, 52px);
	min-height: var(--st-coupon-control-height, 52px);
	max-height: var(--st-coupon-control-height, 52px);
	margin: 0;
	padding: 0 1em !important;
	font-size: 1em;
	line-height: 1.25;
	box-sizing: border-box;
}

form.checkout.woocommerce-checkout #order_review .st-checkout-coupon__field--button,
form.checkout.woocommerce-checkout #order_review button[name="apply_coupon"],
form.checkout.woocommerce-checkout #order_review input.button[name="apply_coupon"] {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: var(--st-coupon-control-height, 52px);
	min-height: var(--st-coupon-control-height, 52px);
	max-height: var(--st-coupon-control-height, 52px);
	margin: 0;
	padding: 0 1em !important;
	border: 1px solid #3d3d3d;
	border-radius: 5px;
	font-size: 1em;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	background-color: #2c2c2c;
	color: #ffffff;
}

/* Checkout — masquer les messages d’erreur texte (validation visuelle en rouge) */
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout,
body.woocommerce-checkout .woocommerce > .woocommerce-error,
body.woocommerce-checkout form.checkout ~ .woocommerce-NoticeGroup,
body.woocommerce-checkout .entry-content > .woocommerce-error {
	display: none !important;
}

/* Champs invalides : bordure rouge */
form.checkout.woocommerce-checkout .woocommerce-invalid input.input-text,
form.checkout.woocommerce-checkout .woocommerce-invalid select,
form.checkout.woocommerce-checkout .woocommerce-invalid textarea,
form.checkout.woocommerce-checkout .woocommerce-invalid-required-field input.input-text,
form.checkout.woocommerce-checkout .woocommerce-invalid-required-field select,
form.checkout.woocommerce-checkout .woocommerce-invalid-required-field textarea,
form.checkout.woocommerce-checkout input.input-text.woocommerce-invalid,
form.checkout.woocommerce-checkout select.woocommerce-invalid {
	border-color: #e74c3c !important;
	box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.35) !important;
}

/* Checkout — labels flottants style Écoumène / Shopify */
form.checkout.woocommerce-checkout .form-row.st-float-label {
	position: relative !important;
	margin-top: 0.5em;
}

form.checkout.woocommerce-checkout .form-row.st-float-label > label {
	position: absolute !important;
	left: 1em !important;
	right: 2.5em !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 3 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: calc(100% - 3em) !important;
	pointer-events: none !important;
	font-size: 1em !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #5a5a5a !important;
	background: transparent !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	clip: auto !important;
	height: auto !important;
	clip-path: none !important;
	transition: top 0.15s ease, transform 0.15s ease, font-size 0.15s ease, color 0.15s ease !important;
}

form.checkout.woocommerce-checkout .form-row.st-float-label > label .required,
form.checkout.woocommerce-checkout .form-row.st-float-label > label .optional {
	display: none !important;
}

form.checkout.woocommerce-checkout .form-row.st-float-label.is-filled > label,
form.checkout.woocommerce-checkout .form-row.st-float-label.is-active > label {
	top: 0.4em !important;
	transform: none !important;
	font-size: 0.82rem !important;
	color: #4a4a4a !important;
}

form.checkout.woocommerce-checkout .form-row.st-float-label .woocommerce-input-wrapper {
	display: block !important;
	width: 100% !important;
}

form.checkout.woocommerce-checkout .form-row.st-float-label input.input-text,
form.checkout.woocommerce-checkout .form-row.st-float-label textarea {
	height: 52px !important;
	min-height: 52px !important;
	padding: 1.35em 1em 0.4em !important;
	box-sizing: border-box !important;
}

form.checkout.woocommerce-checkout .form-row.st-float-label textarea {
	height: auto !important;
	min-height: 80px !important;
	max-height: 110px !important;
	padding-top: 1.5em !important;
	resize: vertical;
	overflow-y: auto;
}

/* Notes: keep the floating title at the top (never vertically centered in a tall box). */
form.checkout.woocommerce-checkout #order_comments_field.st-float-label > label,
form.checkout.woocommerce-checkout .form-row.st-float-label:has(textarea) > label {
	top: 0.4em !important;
	transform: none !important;
	font-size: 0.82rem !important;
	color: #4a4a4a !important;
}

form.checkout.woocommerce-checkout #order_comments_field textarea#order_comments {
	min-height: 110px !important;
	max-height: 110px !important;
	height: 110px !important;
}

/* Product list in order summary — cap height, scroll if many items */
form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table {
	display: block;
	width: 100%;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > thead {
	display: table;
	width: 100%;
	table-layout: fixed;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tbody {
	display: block;
	max-height: min(75vh, 780px);
	overflow-x: hidden;
	overflow-y: auto;
	width: 100%;
	scrollbar-width: thin;
	scrollbar-color: #555 #2c2c2c;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tbody > tr {
	display: table;
	width: 100%;
	table-layout: fixed;
}

form.checkout.woocommerce-checkout #order_review table.woocommerce-checkout-review-order-table > tfoot {
	display: table;
	width: 100%;
	table-layout: fixed;
}

form.checkout.woocommerce-checkout .form-row.st-float-label input.input-text::placeholder,
form.checkout.woocommerce-checkout .form-row.st-float-label textarea::placeholder {
	color: transparent !important;
	opacity: 0 !important;
}

form.checkout.woocommerce-checkout .woocommerce-invalid .select2-container--default .select2-selection--single,
form.checkout.woocommerce-checkout .woocommerce-invalid-required-field .select2-container--default .select2-selection--single {
	border-color: #e74c3c !important;
	box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.35) !important;
}

form.checkout.woocommerce-checkout .woocommerce-invalid input[type="checkbox"]:not(:checked),
form.checkout.woocommerce-checkout .woocommerce-invalid-required-field input[type="checkbox"]:not(:checked),
form.checkout.woocommerce-checkout .form-row.woocommerce-invalid input[type="checkbox"]:not(:checked),
form.checkout.woocommerce-checkout input[type="checkbox"].woocommerce-invalid:not(:checked) {
	border-color: transparent !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Seule la case « J’ai lu et j’accepte… » peut être rouge si invalide */
form.checkout.woocommerce-checkout #terms.woocommerce-invalid:not(:checked),
form.checkout.woocommerce-checkout input[name="terms"].woocommerce-invalid:not(:checked),
form.checkout.woocommerce-checkout .form-row.woocommerce-invalid #terms:not(:checked) {
	outline: 2px solid #e74c3c !important;
	outline-offset: 1px !important;
}

form.checkout.woocommerce-checkout #payment ul.wc_payment_methods.woocommerce-invalid,
form.checkout.woocommerce-checkout #payment ul.payment_methods.woocommerce-invalid {
	border: 1px solid #e74c3c !important;
	box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.25) !important;
	border-radius: 5px;
}

/* Paiement â€” message info alignÃ©, plus dâ€™espace en bas */
form.checkout.woocommerce-checkout #payment {
	padding-bottom: 2.5rem !important;
}

form.checkout.woocommerce-checkout #payment ul.wc_payment_methods,
form.checkout.woocommerce-checkout #payment ul.payment_methods {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

form.checkout.woocommerce-checkout #payment ul.wc_payment_methods > li,
form.checkout.woocommerce-checkout #payment ul.payment_methods > li {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

form.checkout.woocommerce-checkout #payment .woocommerce-info {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
}

form.checkout.woocommerce-checkout #payment .woocommerce-info::before {
	display: none !important;
}

/* Code promo — annule padding global sur champ + bouton submit */
form.checkout.woocommerce-checkout #order_review form.checkout_coupon.st-checkout-coupon input[type="text"].input-text,
form.checkout.woocommerce-checkout #order_review form.checkout_coupon.st-checkout-coupon input[type="submit"].button {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/*
 * Checkout desktop — page builder Astra = pleine largeur collée à gauche.
 * On recentre et on limite la largeur pour un parcours plus lisible.
 */
/* Titre « Commande » retiré — contenu plus près du header */
body.woocommerce-checkout .entry-header,
body.page-commande .entry-header {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout article.ast-article-single,
body.page-commande article.ast-article-single {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.woocommerce-checkout .entry-content,
body.page-commande .entry-content {
	margin-top: 0 !important;
	padding-top: calc(0.5rem + 20px) !important;
}

@media (min-width: 922px) {
	body.woocommerce-checkout.ast-page-builder-template #content.site-content > .ast-container,
	body.woocommerce-checkout.ast-page-builder-template .site-content > .ast-container,
	body.page-commande.ast-page-builder-template #content.site-content > .ast-container,
	body.page-commande.ast-page-builder-template .site-content > .ast-container {
		max-width: 1180px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 2rem !important;
		padding-right: 2rem !important;
		box-sizing: border-box !important;
	}

	body.woocommerce-checkout article.ast-article-single,
	body.page-commande article.ast-article-single {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: none !important;
	}

	body.woocommerce-checkout form.checkout.woocommerce-checkout,
	body.page-commande form.checkout.woocommerce-checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 2.5rem;
		row-gap: 0;
		align-items: start;
		max-width: 100%;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}

	body.woocommerce-checkout form.checkout.woocommerce-checkout::after,
	body.page-commande form.checkout.woocommerce-checkout::after {
		display: none !important;
		content: none !important;
	}

	/* Colonne gauche : express (+40px) → contact/livraison → paiement */
	body.woocommerce-checkout form.checkout .st-express-checkout-title,
	body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-element,
	body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-button-separator,
	body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
	body.woocommerce-checkout form.checkout > .woocommerce-notices-wrapper,
	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout form.checkout .st-checkout-payment-heading,
	body.woocommerce-checkout form.checkout #payment,
	body.page-commande form.checkout .st-express-checkout-title,
	body.page-commande form.checkout #wc-stripe-express-checkout-element,
	body.page-commande form.checkout #wc-stripe-express-checkout-button-separator,
	body.page-commande form.checkout #customer_details,
	body.page-commande form.checkout .st-checkout-payment-heading,
	body.page-commande form.checkout #payment {
		grid-column: 1 !important;
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	/* Colonne droite alignée en haut avec Paiement express (+40px) */
	body.woocommerce-checkout form.checkout #order_review_heading,
	body.woocommerce-checkout form.checkout #order_review,
	body.page-commande form.checkout #order_review_heading,
	body.page-commande form.checkout #order_review {
		grid-column: 2 !important;
		float: none !important;
		clear: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		align-self: start !important;
	}

	body.woocommerce-checkout form.checkout #order_review_heading,
	body.page-commande form.checkout #order_review_heading {
		grid-row: 1 !important;
		margin-top: 40px !important;
		margin-bottom: 0 !important;
	}

	body.woocommerce-checkout form.checkout #order_review,
	body.page-commande form.checkout #order_review {
		grid-row: 2 / span 40 !important;
	}

	/* Express — même look que Votre commande, aligné en haut */
	body.woocommerce-checkout form.checkout .st-express-checkout-title,
	body.page-commande form.checkout .st-express-checkout-title {
		display: block !important;
		grid-row: 1 !important;
		margin: 40px 0 0.55rem !important;
		padding: 20px 0 14px !important;
		border: none !important;
		border-bottom: 1px solid var(--color-border, #474747) !important;
		text-align: left !important;
		font-size: 1.25rem !important;
		font-weight: 700 !important;
		color: var(--color-text, #b6b6b6) !important;
		line-height: 1.3 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-button-separator,
	body.page-commande form.checkout #wc-stripe-express-checkout-button-separator {
		display: block !important;
		margin: 0.55rem 0 0.45rem !important;
		text-align: center !important;
	}

	body.woocommerce-checkout form.checkout #payment,
	body.page-commande form.checkout #payment {
		margin: 0.15rem 0 0 !important;
		padding-top: 0 !important;
	}

	body.woocommerce-checkout form.checkout #payment ul.wc_payment_methods,
	body.page-commande form.checkout #payment ul.wc_payment_methods,
	body.woocommerce-checkout form.checkout #payment ul.payment_methods,
	body.page-commande form.checkout #payment ul.payment_methods {
		margin-top: 0.15rem !important;
		padding-top: 0 !important;
	}

	body.woocommerce-checkout form.checkout .st-checkout-payment-heading,
	body.page-commande form.checkout .st-checkout-payment-heading {
		margin: 0.1rem 0 0.25rem !important;
		padding: 2px 0 8px !important;
	}

	/* Stripe injecte clear:both inline */
	body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-element,
	body.page-commande form.checkout #wc-stripe-express-checkout-element {
		clear: none !important;
	}

	/* Apple Pay + Google Pay côte à côte */
	body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-element,
	body.page-commande form.checkout #wc-stripe-express-checkout-element {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0.75rem !important;
		box-sizing: border-box !important;
		margin: 0 0 0.35rem !important;
	}

	body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-element > .StripeElement,
	body.page-commande form.checkout #wc-stripe-express-checkout-element > .StripeElement,
	body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-element > div,
	body.page-commande form.checkout #wc-stripe-express-checkout-element > div {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	@media (max-width: 600px) {
		body.woocommerce-checkout form.checkout #wc-stripe-express-checkout-element,
		body.page-commande form.checkout #wc-stripe-express-checkout-element {
			flex-direction: column !important;
		}
	}
}

/* Stripe payment box — fond sombre (sinon UPE force le thème clair + boîte blanche) */
body.woocommerce-checkout form.checkout #payment div.payment_box,
body.page-commande form.checkout #payment div.payment_box,
body.woocommerce-checkout form.checkout #payment div.payment_box.payment_method_stripe,
body.page-commande form.checkout #payment div.payment_box.payment_method_stripe {
	background: #2c2c2c !important;
	background-color: #2c2c2c !important;
	color: #b6b6b6 !important;
	border: 1px solid #3d3d3d !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

body.woocommerce-checkout form.checkout #payment div.payment_box::before,
body.page-commande form.checkout #payment div.payment_box::before,
body.woocommerce-checkout form.checkout #payment div.payment_box.payment_method_stripe::before,
body.page-commande form.checkout #payment div.payment_box.payment_method_stripe::before {
	border-bottom-color: #2c2c2c !important;
	border-color: transparent transparent #2c2c2c transparent !important;
}

/* Même fond que .payment_box : Stripe lit .wc-payment-form en premier pour le thème UPE */
body.woocommerce-checkout form.checkout #payment div.payment_box fieldset,
body.page-commande form.checkout #payment div.payment_box fieldset,
body.woocommerce-checkout form.checkout #payment #wc-stripe-upe-form,
body.page-commande form.checkout #payment #wc-stripe-upe-form,
body.woocommerce-checkout form.checkout #payment .wc-payment-form,
body.page-commande form.checkout #payment .wc-payment-form {
	background: #2c2c2c !important;
	background-color: #2c2c2c !important;
	color: #b6b6b6 !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout form.checkout #payment div.payment_box p,
body.page-commande form.checkout #payment div.payment_box p,
body.woocommerce-checkout form.checkout #payment div.payment_box label,
body.page-commande form.checkout #payment div.payment_box label {
	color: #b6b6b6 !important;
}

body.woocommerce-checkout form.checkout #payment .wc-stripe-upe-element,
body.page-commande form.checkout #payment .wc-stripe-upe-element {
	background: transparent !important;
}

/* Bouton final PAYER — fond vert, texte blanc (comme COMMANDER) */
body.woocommerce-checkout form.checkout #place_order,
body.page-commande form.checkout #place_order,
body.woocommerce-checkout form.checkout button[name="woocommerce_checkout_place_order"],
body.page-commande form.checkout button[name="woocommerce_checkout_place_order"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 50px !important;
	margin-top: 0.75rem !important;
	padding: 12px 20px !important;
	box-sizing: border-box !important;
	font-family: 'Myriad Pro', sans-serif !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	border-radius: 6px !important;
	border: 1px solid var(--color-accent-green) !important;
	background: var(--color-accent-green) !important;
	color: #fff !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease !important;
}

body.woocommerce-checkout form.checkout #place_order font,
body.page-commande form.checkout #place_order font,
body.woocommerce-checkout form.checkout #place_order font font,
body.page-commande form.checkout #place_order font font {
	color: #fff !important;
}

body.woocommerce-checkout form.checkout #place_order:hover,
body.page-commande form.checkout #place_order:hover,
body.woocommerce-checkout form.checkout #place_order:focus-visible,
body.page-commande form.checkout #place_order:focus-visible {
	background: var(--color-accent-green-hover) !important;
	color: #fff !important;
	border-color: var(--color-accent-green-hover) !important;
}

body.woocommerce-checkout form.checkout #place_order:hover font,
body.page-commande form.checkout #place_order:hover font {
	color: #fff !important;
}

/* Break out of Astra .ast-container (otherwise ~760px centered — looks broken on desktop) */
body.page-template-page-make-peppers-great-again #content.site-content > .ast-container,
body.page-template-page-make-peppers-great-again .site-content > .ast-container,
body.page-template-page-semences-isolees #content.site-content > .ast-container,
body.page-template-page-semences-isolees .site-content > .ast-container,
body.page-template-page-demarez-vos-semis #content.site-content > .ast-container,
body.page-template-page-demarez-vos-semis .site-content > .ast-container,
body.page-template-page-les-bienfaits #content.site-content > .ast-container,
body.page-template-page-les-bienfaits .site-content > .ast-container,
body.page-template-page-cest-quoi-la-capsaicine #content.site-content > .ast-container,
body.page-template-page-cest-quoi-la-capsaicine .site-content > .ast-container,
body.page-template-page-les-anthocyanes #content.site-content > .ast-container,
body.page-template-page-les-anthocyanes .site-content > .ast-container,
body.page-template-page-qui-sommes-nous #content.site-content > .ast-container,
body.page-template-page-qui-sommes-nous .site-content > .ast-container {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.page-template-page-make-peppers-great-again main.st-info-page,
body.page-template-page-semences-isolees main.st-info-page,
body.page-template-page-demarez-vos-semis main.st-info-page,
body.page-template-page-les-bienfaits main.st-info-page,
body.page-template-page-cest-quoi-la-capsaicine main.st-info-page,
body.page-template-page-les-anthocyanes main.st-info-page,
body.page-template-page-qui-sommes-nous main.st-info-page {
	width: 100% !important;
	max-width: none !important;
}

/* Pages info : fond noir pur (pas le gris site) */
body.page-template-page-make-peppers-great-again,
body.page-template-page-make-peppers-great-again #page,
body.page-template-page-make-peppers-great-again #content,
body.page-template-page-make-peppers-great-again .site-content,
body.page-template-page-make-peppers-great-again .ast-container,
body.page-template-page-make-peppers-great-again main.st-info-page,
body.page-template-page-semences-isolees,
body.page-template-page-semences-isolees #page,
body.page-template-page-semences-isolees #content,
body.page-template-page-semences-isolees .site-content,
body.page-template-page-semences-isolees .ast-container,
body.page-template-page-semences-isolees main.st-info-page,
body.page-template-page-demarez-vos-semis,
body.page-template-page-demarez-vos-semis #page,
body.page-template-page-demarez-vos-semis #content,
body.page-template-page-demarez-vos-semis .site-content,
body.page-template-page-demarez-vos-semis .ast-container,
body.page-template-page-demarez-vos-semis main.st-info-page,
body.page-template-page-les-bienfaits,
body.page-template-page-les-bienfaits #page,
body.page-template-page-les-bienfaits #content,
body.page-template-page-les-bienfaits .site-content,
body.page-template-page-les-bienfaits .ast-container,
body.page-template-page-les-bienfaits main.st-info-page,
body.page-template-page-cest-quoi-la-capsaicine,
body.page-template-page-cest-quoi-la-capsaicine #page,
body.page-template-page-cest-quoi-la-capsaicine #content,
body.page-template-page-cest-quoi-la-capsaicine .site-content,
body.page-template-page-cest-quoi-la-capsaicine .ast-container,
body.page-template-page-cest-quoi-la-capsaicine main.st-info-page,
body.page-template-page-les-anthocyanes,
body.page-template-page-les-anthocyanes #page,
body.page-template-page-les-anthocyanes #content,
body.page-template-page-les-anthocyanes .site-content,
body.page-template-page-les-anthocyanes .ast-container,
body.page-template-page-les-anthocyanes main.st-info-page,
body.page-template-page-qui-sommes-nous,
body.page-template-page-qui-sommes-nous #page,
body.page-template-page-qui-sommes-nous #content,
body.page-template-page-qui-sommes-nous .site-content,
body.page-template-page-qui-sommes-nous .ast-container,
body.page-template-page-qui-sommes-nous main.st-info-page {
	background-color: #000 !important;
}

/* ========== Info pages (MPGA, Semences isolées, …) ========== */
/*
 * Mobile assets: 1000×1550 portrait with baked-in title.
 * Desktop assets: 1920×1080 landscape, full-bleed.
 * Hero height = displayed image height × title fraction so copy starts under the slogan.
 * Spacing is driven by --title-2 / --title-3 / --title-4 (baked-in title row count).
 */
.st-info-page {
	--st-info-under-drip: clamp(-3.5rem, -8vw, -2.25rem);
	/* Mobile-first: portrait Infos/*_m.webp */
	--st-info-img-w: 1000;
	--st-info-img-h: 1550;
	/* Default = 2-row baked-in title */
	--st-info-title-frac: 0.28;
	/* Displayed bg width (matches background-size) */
	--st-info-bg-w: 100%;
	container-type: inline-size;
	container-name: st-info;
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-height: 100vh;
	box-sizing: border-box;
	margin-top: var(--st-info-under-drip) !important;
	padding: 0 0 var(--st-footer-trail) !important;
	background-color: #000 !important;
	background-image: var(--st-info-page-bg-mobile, var(--st-info-page-bg));
	background-size: var(--st-info-bg-w) auto;
	background-position: center top;
	background-repeat: no-repeat;
	background-attachment: scroll;
}

/*
 * Title-row spacing (baked-in slogan height).
 * Same row count = same gap on every info page.
 * 1-row titles (e.g. Isolés VS Non-isolés) use --title-2.
 */
.st-info-page--title-2 {
	--st-info-title-frac: 0.31;
}

.st-info-page--title-3 {
	--st-info-title-frac: 0.35;
}

.st-info-page--title-4 {
	--st-info-title-frac: 0.43;
}

/* Desktop / tablet: landscape 1920×1080 full-bleed */
@media (min-width: 600px) {
	.st-info-page {
		--st-info-img-w: 1920;
		--st-info-img-h: 1080;
		--st-info-title-frac: 0.33;
		--st-info-bg-w: 100%;
		background-image: var(--st-info-page-bg);
	}

	.st-info-page--title-2 {
		--st-info-title-frac: 0.37;
	}

	.st-info-page--title-3 {
		--st-info-title-frac: 0.45;
	}

	.st-info-page--title-4 {
		--st-info-title-frac: 0.56;
	}
}

/* Espace = bas du slogan baked-in ; l’article suit immédiatement */
.st-info-page__hero {
	position: relative;
	z-index: 0;
	width: 100%;
	flex: 0 0 auto;
	/* Matches background-size: 100% auto → image height scales with container */
	height: calc(
		100cqw * (var(--st-info-img-h) / var(--st-info-img-w)) * var(--st-info-title-frac)
	);
	min-height: 0;
	max-height: none;
	pointer-events: none;
}

.st-info-page__overlay {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	/* Fade to solid black so text/signature sit on pure #000 (no grey veil seam). */
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.08) 0%,
		rgba(0, 0, 0, 0.14) 38%,
		rgba(0, 0, 0, 0.62) 56%,
		rgba(0, 0, 0, 0.92) 68%,
		#000 78%,
		#000 100%
	);
}

.st-info-page__article {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 42rem;
	margin: 0 auto;
	padding: 0 clamp(1.1rem, 4vw, 1.75rem);
	box-sizing: border-box;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.st-info-page__content {
	color: #dcdcdc;
}

.st-info-page__content p {
	margin: 0 0 1.45rem !important;
	color: #dcdcdc !important;
	font-size: clamp(1.25rem, 1.6vw, 1.25rem);
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.01em;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
}

.st-info-page__content p:last-child {
	margin-bottom: 0 !important;
}

.st-info-page__content h2 {
	margin: 2.35rem 0 1.1rem !important;
	color: var(--color-accent-yellow, #fccb00) !important;
	font-size: clamp(1.25rem, 2.2vw, 1.4rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

.st-info-page__content h2:first-of-type {
	margin-top: 1.75rem !important;
}

.st-info-page__content h3 {
	margin: 1.75rem 0 0.85rem !important;
	color: #fff !important;
	font-size: clamp(1.25rem, 1.8vw, 1.25rem);
	font-weight: 700;
	line-height: 1.4;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
}

.st-info-page__content ul {
	margin: 0 0 1.45rem !important;
	padding: 0 0 0 1.15rem !important;
	color: #dcdcdc !important;
	font-size: clamp(1.25rem, 1.6vw, 1.25rem);
	line-height: 1.75;
	letter-spacing: 0.01em;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
}

.st-info-page__content li {
	margin: 0 0 0.7rem !important;
	color: #dcdcdc !important;
}

.st-info-page__content li:last-child {
	margin-bottom: 0 !important;
}

.st-info-page__content em {
	font-style: italic;
	color: #e8e8e8;
}

.st-info-page__aside-title {
	margin-top: 3rem !important;
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.st-info-page__aside {
	color: #e8e8e8 !important;
}

.st-info-page__closing {
	margin-top: 2.5rem !important;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	color: #e8e8e8 !important;
	font-size: clamp(1.25rem, 2vw, 1.25rem) !important;
	line-height: 1.75;
}

.st-info-page__closing strong {
	color: #b8b8b8 !important;
	font-weight: 700;
	text-shadow: none;
}

.st-info-page__signoff {
	margin-top: 1.75rem !important;
	color: var(--color-accent-yellow, #fccb00) !important;
	font-size: clamp(1.25rem, 2vw, 1.25rem) !important;
	letter-spacing: 0.02em;
}

.st-info-page__signoff strong {
	color: var(--color-accent-yellow, #fccb00) !important;
	font-weight: 700;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

.st-info-page__signature {
	margin: 2.5rem 0 0 !important;
	padding: 0;
	text-align: center;
}

.st-info-page__signature img {
	display: block;
	width: min(100%, 720px);
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

/* Closing brand lines: same grey as body copy (not yellow / not white). */
.st-info-page--mpga .st-info-page__closing,
.st-info-page--mpga .st-info-page__closing strong,
.st-info-page--semis .st-info-page__signoff,
.st-info-page--semis .st-info-page__signoff strong {
	color: #b8b8b8 !important;
	text-shadow: none;
}

@media (min-width: 960px) {
	.st-info-page__article {
		/* Match Termes & Conditions content width (~ast-container 1240 − padding) */
		max-width: 1200px;
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 630px) {
	.st-info-page {
		--st-info-under-drip: clamp(-2.75rem, -8vw, -1.75rem);
	}
}

/*
 * Footer trail — same gap after last content on every page (matches home avis → footer).
 * Home / info / nos-produits / product already set their own; this covers Astra default pages.
 */
body:not(.home):not(.front-page):not(.single-product) #content .ast-container > .site-main:not(.st-info-page):not(.nos-produits-page),
body:not(.home):not(.front-page):not(.single-product) #primary > .site-main:not(.st-info-page):not(.nos-produits-page),
body.woocommerce-cart #content .ast-container > .site-main,
body.woocommerce-cart #primary > .site-main,
body.woocommerce-checkout #content .ast-container > .site-main,
body.woocommerce-checkout #primary > .site-main,
body.woocommerce-account #content .ast-container > .site-main,
body.woocommerce-account #primary > .site-main {
	padding-bottom: var(--st-footer-trail) !important;
}

/*
 * Lost / reset password — Astra page-builder template goes full-bleed.
 * Match habitual nos-produits gutters so the message isn’t edge-to-edge.
 */
body.woocommerce-lost-password.ast-page-builder-template #content.site-content > .ast-container,
body.woocommerce-lost-password.ast-page-builder-template .site-content > .ast-container {
	max-width: var(--st-nos-produits-max-w) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--st-nos-produits-pad-x) !important;
	padding-right: var(--st-nos-produits-pad-x) !important;
	box-sizing: border-box !important;
}

body.woocommerce-lost-password article.ast-article-single {
	padding-left: 0 !important;
	padding-right: 0 !important;
	max-width: none !important;
}

body.woocommerce-lost-password .entry-header,
body.woocommerce-lost-password .entry-content,
body.woocommerce-lost-password .woocommerce {
	max-width: 42rem;
}

/* Reset password: stack the 2 fields; keep inputs a stable full width while typing */
body.woocommerce-lost-password form.lost_reset_password .form-row-first,
body.woocommerce-lost-password form.lost_reset_password .form-row-last,
body.woocommerce-lost-password form.woocommerce-ResetPassword .form-row-first,
body.woocommerce-lost-password form.woocommerce-ResetPassword .form-row-last {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	clear: both;
}

body.woocommerce-lost-password form.lost_reset_password .form-row,
body.woocommerce-lost-password form.woocommerce-ResetPassword .form-row {
	margin-bottom: 1rem;
}

body.woocommerce-lost-password form.lost_reset_password .password-input,
body.woocommerce-lost-password form.woocommerce-ResetPassword .password-input {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.woocommerce-lost-password form.lost_reset_password .input-text,
body.woocommerce-lost-password form.lost_reset_password input[type="text"],
body.woocommerce-lost-password form.lost_reset_password input[type="password"],
body.woocommerce-lost-password form.woocommerce-ResetPassword .input-text,
body.woocommerce-lost-password form.woocommerce-ResetPassword input[type="text"],
body.woocommerce-lost-password form.woocommerce-ResetPassword input[type="password"] {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

body.woocommerce-lost-password .woocommerce-password-strength,
body.woocommerce-lost-password .woocommerce-password-hint {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.woocommerce-lost-password form.lost_reset_password .clear,
body.woocommerce-lost-password form.woocommerce-ResetPassword .clear {
	display: none;
}

@media (max-width: 768px) {
	body.woocommerce-lost-password.ast-page-builder-template #content.site-content > .ast-container,
	body.woocommerce-lost-password.ast-page-builder-template .site-content > .ast-container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

@media (max-width: 480px) {
	body.woocommerce-lost-password.ast-page-builder-template #content.site-content > .ast-container,
	body.woocommerce-lost-password.ast-page-builder-template .site-content > .ast-container {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
}

/* Product pages: trail lives on .st-product-related (or .st-single-product if no related) */
body.single-product #primary > .site-main,
body.single-product #content .ast-container > .site-main,
body.single-product main.site-main {
	padding-bottom: 0 !important;
}

/* Astra often injects ~80px under #primary — would double the footer trail */
#primary.content-area,
.content-area.primary {
	margin-bottom: 0 !important;
}

/* ========== GLOBAL MIN FONT SIZE (20px) ========== */
html {
	font-size: 100%; /* keep 16px root so rem math stays predictable */
}

body {
	font-size: 20px !important;
}

/* Header & footer keep original sizes (exempt from 20px floor) */
.header-main-wrapper,
#masthead,
.site-header,
.mobile-menu-panel,
#header-mobile-overlay,
.footer-main-wrapper,
.site-footer,
footer.site-footer {
	font-size: 16px;
}

.header-nav-link,
.header-auth-link,
.header-nav-separator,
.header-auth-separator {
	font-size: 16px !important;
}

.footer-item a,
.footer-item span:not(.footer-separator) {
	font-size: 14px !important;
}

.footer-separator {
	font-size: 0 !important;
}

.footer-main-wrapper .has-small-font-size,
.footer-copyright-wrapper .has-small-font-size,
.footer-main-wrapper p.has-text-align-center {
	font-size: 0.875rem !important; /* WP "small" (~14px at 16px root) */
}

.wc-block-mini-cart__badge,
.wishlist-count-badge,
#wishlist-count-badge.wishlist-count-badge {
	font-size: 12px !important;
}

.mobile-menu-search-input,
.mobile-menu-link {
	font-size: 0.9375rem !important;
}

#masthead .header-actions .wc-block-mini-cart__amount {
	font-size: 1.25rem !important;
}

/* WP / Astra size utilities that stay under 20px */
small,
.has-small-font-size,
.has-extra-small-font-size,
.ast-small-font-size {
	font-size: 20px !important;
}

.header-main-wrapper small,
#masthead small,
.site-header small,
.footer-main-wrapper small,
.footer-main-wrapper .has-small-font-size,
.footer-copyright-wrapper .has-small-font-size {
	font-size: 0.875rem !important;
}

/* Partner / commerçant prices */
.st-partner-prices {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.st-partner-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.4rem;
}

.st-partner-price__label {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.6;
	color: #b6b6b6;
}

.st-partner-price--public .st-partner-price__amount,
.st-partner-price--public .st-partner-price__amount .amount,
.st-partner-price--public .st-partner-price__amount .amount bdi,
.st-partner-price--public .st-partner-price__amount .amount span,
.st-partner-price--public .st-partner-price__amount .woocommerce-Price-currencySymbol {
	color: #00b460 !important;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2;
}

.st-partner-price--buy .st-partner-price__amount,
.st-partner-price--buy .st-partner-price__amount .amount,
.st-partner-price--buy .st-partner-price__amount .amount bdi,
.st-partner-price--buy .st-partner-price__amount .amount span,
.st-partner-price--buy .st-partner-price__amount .woocommerce-Price-currencySymbol {
	color: #00b460 !important;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2;
}

.st-product-purchase-box .st-partner-price--public .st-partner-price__amount,
.st-product-purchase-box .st-partner-price--public .st-partner-price__amount .amount,
.st-product-purchase-box .st-partner-price--public .st-partner-price__amount .amount bdi,
.st-product-purchase-box .st-partner-price--public .st-partner-price__amount .amount span,
.st-product-purchase-box .st-partner-price--buy .st-partner-price__amount,
.st-product-purchase-box .st-partner-price--buy .st-partner-price__amount .amount,
.st-product-purchase-box .st-partner-price--buy .st-partner-price__amount .amount bdi,
.st-product-purchase-box .st-partner-price--buy .st-partner-price__amount .amount span {
	color: #00b460 !important;
	font-size: 1.6rem;
	font-weight: 600;
}

.st-product-purchase-box .st-partner-price__label {
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.6;
	color: #b6b6b6;
}

.st-partenaires-gate a.st-auth-drawer-trigger,
.st-partenaires-gate a.st-auth-drawer-trigger-register {
	display: inline;
	margin: 0;
	color: #b6b6b6;
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 1px;
	text-decoration: none;
	text-transform: none;
}

.st-partenaires-gate a.st-auth-drawer-trigger:hover,
.st-partenaires-gate a.st-auth-drawer-trigger:focus,
.st-partenaires-gate a.st-auth-drawer-trigger:focus-visible,
.st-partenaires-gate a.st-auth-drawer-trigger-register:hover,
.st-partenaires-gate a.st-auth-drawer-trigger-register:focus,
.st-partenaires-gate a.st-auth-drawer-trigger-register:focus-visible {
	color: var(--color-accent-yellow, #fccb00) !important;
	opacity: 1;
	text-decoration: none;
}

.st-partenaires-gate .st-partenaires-gate-or {
	color: #b6b6b6;
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 1px;
}

.st-partner-card-price {
	margin-top: 0.4rem;
}

.st-partner-card-price .st-partner-prices {
	gap: 0.15rem;
}

.st-partner-card-price .st-partner-price__label,
.st-partner-card-price .st-partner-price__amount,
.st-partner-card-price .st-partner-price__amount .amount,
.st-partner-card-price .amount bdi,
.st-partner-card-price .amount span {
	font-size: 0.85rem !important;
	line-height: 1.3;
}

.st-partner-card-price .st-partner-price--public .st-partner-price__amount,
.st-partner-card-price .st-partner-price--public .st-partner-price__amount .amount,
.st-partner-card-price .st-partner-price--public .st-partner-price__amount .amount bdi,
.st-partner-card-price .st-partner-price--public .st-partner-price__amount .amount span,
.st-partner-card-price .st-partner-price--buy .st-partner-price__amount,
.st-partner-card-price .st-partner-price--buy .st-partner-price__amount .amount,
.st-partner-card-price .st-partner-price--buy .st-partner-price__amount .amount bdi,
.st-partner-card-price .st-partner-price--buy .st-partner-price__amount .amount span {
	color: #00b460 !important;
	font-weight: 600;
}

.st-mix-deal-accordion .st-accordion-trigger {
	color: #fccb00;
}

.st-mix-deal-accordion-icon {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	color: #fccb00;
}

.st-mix-deal-list {
	color: #fccb00 !important;
}

.st-mix-deal-list .st-mix-deal-note {
	display: block;
}

/* Buy + free on one line when there is room; wrap only if the box is narrow */
.st-mix-deal-list .st-mix-deal-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 0.35em;
	row-gap: 0.1em;
}

.st-mix-deal-list .st-mix-deal-buy,
.st-mix-deal-list .st-mix-deal-free {
	display: inline;
	white-space: nowrap;
}

.st-mix-deal-notice {
	margin: 0.4rem 0 0;
	padding: 0;
	list-style: none;
	font-family: 'Myriad Pro', sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	color: #fccb00;
	line-height: 1.35;
}

.st-mix-deal-notice li {
	margin: 0;
	padding: 0;
}

.st-mini-cart-extras {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
}

.st-mix-deal-cart {
	margin: 0.65rem 1rem 0.75rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid #444;
	border-radius: 8px;
	background: #2a2a2a;
}

.st-mix-deal-cart__headline,
.st-mix-deal-cart__hint {
	margin: 0;
	padding: 0;
	font-family: 'Myriad Pro', sans-serif;
	line-height: 1.35;
}

.st-mix-deal-cart__headline {
	font-size: 0.95rem;
	font-weight: 700;
	color: #fccb00;
}

.st-mix-deal-cart__hint {
	font-size: 0.85rem;
	font-weight: 600;
	color: #fccb00;
}

.st-mix-deal-cart__headline + .st-mix-deal-cart__hint:not([hidden]) {
	margin-top: 0.25rem;
}

.st-free-ship {
	display: block !important;
	flex: 0 0 auto;
	margin: 0.75rem 1rem 0.5rem;
	padding: 0;
}

.st-free-ship__text {
	margin: 0 0 0.4rem;
	font-family: 'Myriad Pro', sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	color: #fccb00;
	line-height: 1.3;
}

.st-free-ship__track {
	display: block;
	width: 100%;
	height: 6px;
	border-radius: 99px;
	background: #474747;
	overflow: hidden;
}

.st-free-ship__fill {
	display: block;
	height: 100%;
	border-radius: 99px;
	background: #fccb00;
	transition: width 0.25s ease;
}

.st-free-ship--canada .st-free-ship__fill,
.st-free-ship--free .st-free-ship__fill {
	width: 100%;
}

tr.st-free-ship-row th {
	padding: 0.75rem 0 1rem !important;
	border: none !important;
}

#order_review .st-free-ship {
	margin: 0;
}

/* Hide G Translate flags; keep language codes / names */
#gt_float_wrapper img,
.gt_float_switcher img,
.gt-current-lang img,
.gt_float_switcher .gt_options img,
[id^="gt-wrapper"] img[src*="gtranslate/flags"] {
	display: none !important;
}

/*
 * Currency + G Translate floats — same cookie-pill chrome,
 * same overlay dropdown (opens above, chip size never grows).
 */
#gt_float_wrapper,
#st-currency-float {
	line-height: 0;
	font-size: 0;
}

#gt_float_wrapper {
	bottom: 14px !important;
	right: 14px !important;
}

#st-currency-float {
	position: fixed;
	bottom: 14px;
	right: 114px; /* 14px inset + 92px language pill + 8px gap */
	z-index: 999998;
}

.st-currency-float__switcher,
#gt_float_wrapper .gt_float_switcher {
	position: relative;
	display: inline-block;
	overflow: visible !important;
	background: transparent !important;
	border-radius: 0;
	box-shadow: none !important;
	line-height: 1;
	font-size: 0.72rem;
	font-family: 'Myriad Pro', sans-serif;
	color: #b6b6b6;
	transition: none !important;
}

#gt_float_wrapper .gt_float_switcher .gt-selected {
	background: transparent !important;
	overflow: visible !important;
	float: none !important;
}

.st-currency-float__selected,
#gt_float_wrapper .gt_float_switcher .gt-selected .gt-current-lang {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	box-sizing: border-box;
	width: 92px;
	height: 38px;
	margin: 0;
	padding: 0.45rem 0.75rem !important;
	border: 1px solid #474747 !important;
	border-radius: 999px !important;
	background: #1e1e1e !important;
	color: #b6b6b6 !important;
	font-family: 'Myriad Pro', sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	min-height: 0 !important;
	min-width: 0 !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35) !important;
	appearance: none;
	-webkit-appearance: none;
}

.st-currency-float__selected:hover,
.st-currency-float__selected:focus-visible,
#gt_float_wrapper .gt_float_switcher .gt-selected .gt-current-lang:hover {
	background: #323232 !important;
	color: #d8d8d8 !important;
}

.st-currency-float__code,
#gt_float_wrapper .gt_float_switcher .gt-selected .gt-current-lang .gt-lang-code {
	position: static;
	top: auto !important;
	color: inherit !important;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
}

.st-currency-float__arrow,
#gt_float_wrapper .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
	display: block;
	flex: 0 0 7px;
	box-sizing: border-box;
	width: 7px;
	height: 7px;
	margin-top: -6px;
	border: 0;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	background-image: none !important;
	background: none !important;
	transition: transform 0.2s ease;
	transform: rotate(45deg);
}

.st-currency-float.is-open .st-currency-float__arrow,
#gt_float_wrapper .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow.gt_arrow_rotate {
	margin-top: 2px;
	transform: rotate(-135deg);
}

.st-currency-float__options,
#gt_float_wrapper .gt_float_switcher .gt_options {
	position: absolute !important;
	left: auto !important;
	right: 0 !important;
	bottom: calc(100% + 8px) !important;
	float: none !important;
	z-index: 777;
	box-sizing: border-box;
	min-width: 92px;
	max-height: none;
	overflow: visible !important;
	padding: 0.3rem 0;
	background: #1e1e1e !important;
	border: 1px solid #474747;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
	transform: none !important;
	opacity: 1 !important;
	transition: none !important;
}

.st-currency-float__options {
	width: 92px;
}

#gt_float_wrapper .gt_float_switcher .gt_options {
	width: max-content;
	max-width: none;
}

.st-currency-float__options[hidden] {
	display: none !important;
}

.st-currency-float__option,
#st-currency-float a.woocs_flag_view_item.st-currency-float__option,
#gt_float_wrapper .gt_float_switcher .gt_options a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100% !important;
	height: auto !important;
	min-height: 28px;
	margin: 0 !important;
	padding: 0.45rem 0.85rem !important;
	color: #b6b6b6 !important;
	text-align: center;
	text-decoration: none !important;
	font-family: 'Myriad Pro', sans-serif;
	font-size: 0.72rem !important;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	background: transparent !important;
	border: 0 !important;
	white-space: nowrap;
	opacity: 1 !important;
}

.st-currency-float__option {
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.st-currency-float__option,
#st-currency-float a.woocs_flag_view_item.st-currency-float__option {
	width: 100% !important;
}

#gt_float_wrapper .gt_float_switcher .gt_options a {
	width: auto !important;
	min-width: 100%;
	text-transform: none;
}

.st-currency-float__option:hover,
.st-currency-float__option:focus-visible,
#gt_float_wrapper .gt_float_switcher .gt_options a:hover {
	background: #323232 !important;
	color: #d8d8d8 !important;
}

#st-currency-float a.woocs_flag_view_item.st-currency-float__option--current,
#gt_float_wrapper .gt_float_switcher .gt_options a.gt-current {
	display: none !important;
}

/* Hide G Translate + currency floats when right-side drawers / menus are open */
body.st-auth-drawer-open #gt_float_wrapper,
body.st-wishlist-drawer-open #gt_float_wrapper,
body.st-wc-mini-cart-open #gt_float_wrapper,
body.drawer-open #gt_float_wrapper,
body.mobile-menu-open #gt_float_wrapper,
html:has(body.st-auth-drawer-open) #gt_float_wrapper,
html:has(body.st-wishlist-drawer-open) #gt_float_wrapper,
html:has(body.st-wc-mini-cart-open) #gt_float_wrapper,
html:has(body.drawer-open) #gt_float_wrapper,
html:has(body.mobile-menu-open) #gt_float_wrapper,
body.st-auth-drawer-open [id^="gt-wrapper"],
body.st-wishlist-drawer-open [id^="gt-wrapper"],
body.st-wc-mini-cart-open [id^="gt-wrapper"],
body.drawer-open [id^="gt-wrapper"],
body.mobile-menu-open [id^="gt-wrapper"],
html:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) .wc-block-mini-cart__drawer) #gt_float_wrapper,
html:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) .wc-block-mini-cart__drawer) [id^="gt-wrapper"],
html:has([data-wp-interactive="woocommerce/mini-cart"].wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) #gt_float_wrapper,
html:has([data-wp-interactive="woocommerce/mini-cart"].wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) [id^="gt-wrapper"],
body.st-auth-drawer-open #st-currency-float,
body.st-wishlist-drawer-open #st-currency-float,
body.st-wc-mini-cart-open #st-currency-float,
body.drawer-open #st-currency-float,
body.mobile-menu-open #st-currency-float,
html:has(body.st-auth-drawer-open) #st-currency-float,
html:has(body.st-wishlist-drawer-open) #st-currency-float,
html:has(body.st-wc-mini-cart-open) #st-currency-float,
html:has(body.drawer-open) #st-currency-float,
html:has(body.mobile-menu-open) #st-currency-float,
html:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) .wc-block-mini-cart__drawer) #st-currency-float,
html:has([data-wp-interactive="woocommerce/mini-cart"].wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden)) #st-currency-float {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/*
 * G Translate wraps translated text in <font> nodes that often keep their own color,
 * so heat labels / CTA hover no longer pick up theme colors. Force inherit.
 */
#page font,
#page font font,
.product-card-heat font,
.product-card-heat font font,
.products-carousel-button font,
.products-carousel-button font font,
.pepper-slide-cta font,
.tomato-slide-cta font,
.header-auth-link font,
.header-nav-link font,
h3.st-chaleur-text font,
.st-product-favorites font,
.yith-wcwl-add-button font,
.wc-block-mini-cart__footer-checkout font,
.wc-block-mini-cart__footer-checkout font font,
#place_order font,
#place_order font font {
	color: inherit !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

.product-card-heat.doux,
.product-card-heat.doux font {
	color: #2e865d !important;
}

.product-card-heat.moderate,
.product-card-heat.moderate font {
	color: #a48f2c !important;
}

.product-card-heat.chaud,
.product-card-heat.chaud font {
	color: #b06f22 !important;
}

.product-card-heat.tres-chaud,
.product-card-heat.tres-chaud font {
	color: #9e501d !important;
}

.product-card-heat.super-chaud,
.product-card-heat.super-chaud font {
	color: #9e3737 !important;
}

.product-card-heat.product-card-type,
.product-card-heat.product-card-type font {
	color: #b6b6b6 !important;
}

.products-carousel-button,
.products-carousel-button font {
	color: #b6b6b6;
}

.products-carousel-button:hover,
.products-carousel-button:hover font,
.products-carousel-button:focus-visible,
.products-carousel-button:focus-visible font {
	color: var(--color-accent-yellow) !important;
}

h3.st-chaleur-text.doux,
h3.st-chaleur-text.doux font { color: #2e865d !important; }
h3.st-chaleur-text.moderate,
h3.st-chaleur-text.moderate font { color: #a48f2c !important; }
h3.st-chaleur-text.chaud,
h3.st-chaleur-text.chaud font { color: #b06f22 !important; }
h3.st-chaleur-text.tres-chaud,
h3.st-chaleur-text.tres-chaud font { color: #9e501d !important; }
h3.st-chaleur-text.super-chaud,
h3.st-chaleur-text.super-chaud font { color: #9e3737 !important; }

.st-product-favorites .yith-wcwl-add-button a,
.st-product-favorites .yith-wcwl-add-button a font {
	color: #b6b6b6 !important;
}

.st-product-favorites .yith-wcwl-wishlistaddedbrowse a,
.st-product-favorites .yith-wcwl-wishlistaddedbrowse a font,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a,
.st-product-favorites .yith-wcwl-wishlistexistsbrowse a font,
.st-product-favorites .yith-wcwl-add-button a.delete_item,
.st-product-favorites .yith-wcwl-add-button a.delete_item font,
.st-product-favorites .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a,
.st-product-favorites .yith-wcwl-add-to-wishlist.exists .yith-wcwl-add-button a font {
	color: #e00000 !important;
}

/* ========== FAQ page ========== */
body.page-template-page-faq #content.site-content > .ast-container,
body.page-template-page-faq .site-content > .ast-container {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

.st-faq-page {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding-bottom: var(--st-footer-trail);
	background-color: #1e1e1e;
}

.st-faq-header {
	/* Same content column as .st-info-page__article (Les Bienfaits, etc.) */
	max-width: 42rem;
	margin: 0 auto;
	padding: 60px clamp(1.1rem, 4vw, 1.75rem) 0;
	box-sizing: border-box;
}

.st-faq-title {
	margin: 0;
	color: #c9c9c9;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.st-faq-list {
	max-width: 42rem;
	margin: 0 auto;
	padding: 2.25rem clamp(1.1rem, 4vw, 1.75rem) 0;
	box-sizing: border-box;
}

.st-faq-category {
	padding-bottom: 2.15rem;
	margin-bottom: 2.15rem;
}

.st-faq-category:not(:last-child) {
	border-bottom: 1px solid #6e6e6e;
}

.st-faq-category-title {
	margin: 0 0 1.15rem !important;
	color: var(--color-accent-yellow, #fccb00) !important;
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
}

.st-faq-item {
	margin: 0;
	padding: 0.35rem 0;
	outline: none;
	cursor: pointer;
}

.st-faq-question {
	margin: 0 !important;
	color: #dcdcdc !important;
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	font-weight: 600;
	line-height: 1.45;
	transition: color 0.18s ease;
}

.st-faq-item:hover .st-faq-question,
.st-faq-item:focus-within .st-faq-question,
.st-faq-item.is-open .st-faq-question {
	color: var(--color-accent-yellow, #fccb00) !important;
}

.st-faq-answer {
	display: grid;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 0.28s ease, opacity 0.22s ease;
}

.st-faq-answer-inner {
	overflow: hidden;
	min-height: 0;
}

.st-faq-answer-inner p {
	margin: 0.55rem 0 0.85rem !important;
	color: #b6b6b6 !important;
	font-size: clamp(1rem, 1.4vw, 1.125rem);
	font-weight: 400;
	line-height: 1.7;
}

.st-faq-answer-inner a {
	color: var(--color-accent-yellow, #fccb00) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	opacity: 1;
}

.st-faq-answer-inner a:hover,
.st-faq-answer-inner a:focus {
	opacity: 0.85;
}

.st-faq-item:hover .st-faq-answer,
.st-faq-item:focus-within .st-faq-answer,
.st-faq-item.is-open .st-faq-answer {
	grid-template-rows: 1fr;
	opacity: 1;
}

@media (min-width: 960px) {
	.st-faq-header,
	.st-faq-list {
		max-width: 1200px;
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 768px) {
	.st-faq-header {
		padding-top: 40px;
	}

	.st-faq-title {
		font-size: 1.85rem;
		letter-spacing: 1.5px;
	}

	.st-faq-list {
		padding-top: 1.75rem;
	}

	.st-faq-category {
		padding-bottom: 1.6rem;
		margin-bottom: 1.6rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.st-faq-answer,
	.st-faq-question {
		transition: none;
	}
}
