/*
 * OhMyBread — Mobile App-like Interface
 * MOBILE_001: Infrastructure & Bottom Navigation Bar
 * Breakpoint: max-width: 430px
 * =================================================================
 */

/* ----------------------------------------------------------------
   CSS VARIABLES — global (hors media query pour héritage)
   Les couleurs sont déjà définies dans homepage.css.
   On redéclare ici pour que mobile.css soit autonome.
   ---------------------------------------------------------------- */
:root {
    --omb-coral:       #FF6B6B;
    --omb-navy:        #2C3E50;
    --omb-cream:       #FFF8F3;
    --omb-rose-powder: #FFE5E5;
    --omb-gray:        #666666;
    --omb-light-gray:  #F5F5F5;
    --omb-green:       #2c662d;
    --omb-nav-height:  64px;
    --omb-nav-safe:    calc(var(--omb-nav-height) + env(safe-area-inset-bottom));
}

/* ----------------------------------------------------------------
   RÈGLES DESKTOP-HIDE
   Éléments injectés via PHP (hooks) mais cachés sur desktop.
   Ces règles doivent précéder le bloc @media.
   ---------------------------------------------------------------- */

/* MOBILE_001 — Bottom navigation bar */
.omb-bottom-nav {
    display: none;
}

/* MOBILE_001b — Carousel dots (injected by mobile.js on all viewports) */
.omb-carousel-dots {
    display: none;
}

/* MOBILE_002 — Sélecteur de langue WPML injecté */
.omb-mobile-lang-switcher {
    display: none;
}

/* MOBILE_003 — Bannière livraison dans le header (front page) */
.omb-header-delivery-badge {
    display: none;
}

/* MOBILE_003 — .omb-cycle-banner removed (2026-03-01) */

/* MOBILE_003 — Icône ♥ best-seller */
.omb-product-card__heart {
    display: none;
}

/* MOBILE_004 — Barre de recherche boutique */
.omb-shop-search {
    display: none;
}

/* MOBILE_004 — Pills catégories boutique */
.omb-category-pills {
    display: none;
}

/* MOBILE_006 — Header dynamique panier + barre progression */
.omb-mobile-cart-header,
.omb-cart-free-shipping-bar {
    display: none;
}

/* MOBILE_007 — Profil utilisateur + bannière livraison */
.omb-mobile-profile,
.omb-mobile-next-delivery {
    display: none;
}

/* ================================================================
   MOBILE STYLES — max-width: 430px
   ================================================================ */
@media (max-width: 430px) {

    /* ----------------------------------------------------------------
       BODY — Padding pour que le contenu ne passe pas sous la bottom nav
       ---------------------------------------------------------------- */
    body {
        padding-bottom: var(--omb-nav-safe) !important;
    }

    /* ----------------------------------------------------------------
       BOTTOM NAVIGATION BAR — MOBILE_001
       ---------------------------------------------------------------- */
    .omb-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: #fff;
        border-top: 1px solid rgba(44, 62, 80, 0.12);
        display: flex;
        align-items: stretch;
        height: var(--omb-nav-height);
        padding-bottom: env(safe-area-inset-bottom);
        box-shadow: 0 -2px 12px rgba(44, 62, 80, 0.08);
    }

    /* ---- Tab ---- */
    .omb-bottom-nav__tab {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        text-decoration: none;
        color: var(--omb-gray);
        font-size: 10px;
        font-weight: 500;
        letter-spacing: 0.02em;
        padding: 8px 4px;
        min-width: 44px;
        min-height: 44px;
        position: relative;
        -webkit-tap-highlight-color: transparent;
        transition: color 0.15s ease;
    }

    /* Active indicator — trait en haut de l'onglet */
    .omb-bottom-nav__tab.is-active::before {
        content: '';
        position: absolute;
        top: 0;
        left: 20%;
        right: 20%;
        height: 2px;
        background: var(--omb-coral);
        border-radius: 0 0 2px 2px;
    }

    /* ---- Active state ---- */
    .omb-bottom-nav__tab.is-active,
    .omb-bottom-nav__tab.is-active .omb-bottom-nav__icon,
    .omb-bottom-nav__tab.is-active .omb-bottom-nav__label {
        color: var(--omb-coral);
    }

    /* ---- Icon ---- */
    .omb-bottom-nav__icon {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        color: inherit;
    }

    .omb-bottom-nav__icon svg {
        width: 22px;
        height: 22px;
    }

    /* ---- Label ---- */
    .omb-bottom-nav__label {
        font-size: 10px;
        line-height: 1.2;
        color: inherit;
        white-space: nowrap;
    }

    /* ---- Cart badge ---- */
    .omb-cart-badge {
        position: absolute;
        top: -4px;
        right: -8px;
        min-width: 16px;
        height: 16px;
        padding: 0 4px;
        background: var(--omb-coral);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 16px;
        text-align: center;
        border-radius: 8px;
        border: 2px solid #fff;
        display: inline-block;
    }

    .omb-cart-badge--hidden {
        display: none;
    }

    /* ----------------------------------------------------------------
       COMPAT — Header : non-sticky sur mobile + sous la bottom nav
       ---------------------------------------------------------------- */
    .site-header {
        z-index: 999 !important;
    }

    /* Disable sticky header on mobile — behave as normal in-flow header */
    .has-sticky-header.sticky-header-for-all-devices .site-header-inner.fixed {
        position: static !important;
    }

    /* Prevent JS placeholder height from creating whitespace */
    #masthead {
        height: auto !important;
    }

    /* Remove Woostify's 3.5em top margin on .site-content (Gutenberg pages) */
    .site-content {
        margin-top: 0 !important;
    }

    /* Small gap between header and first content element */
    .site-content .woostify-container {
        padding-top: 6px !important;
    }

    /* ================================================================
       MOBILE_002 – Header simplifié
       ================================================================ */

    /* ---- Masquer hamburger, nav, icône compte ---- */
    .wrap-toggle-sidebar-menu,
    .site-navigation,
    .sidebar-menu,
    .tools-icon.my-account {
        display: none !important;
    }

    /* ---- Logo — ajuster la taille si nécessaire ---- */
    .site-branding .custom-logo {
        max-height: 40px;
        width: auto;
    }
    .site-branding .custom-mobile-logo {
        max-height: 40px;
        width: auto;
    }

    /* Lang switcher moved to Mon Compte — hidden from header */
    .omb-mobile-lang-switcher {
        display: none !important;
    }

    .omb-mobile-lang-item {
        display: flex;
        align-items: center;
        gap: 3px;
        text-decoration: none;
        font-size: 11px;
        font-weight: 600;
        color: var(--omb-gray);
        padding: 4px 2px;
        min-width: 44px;
        min-height: 44px;
        justify-content: center;
        -webkit-tap-highlight-color: transparent;
    }

    .omb-mobile-lang-item img {
        width: 14px;
        height: 14px;
        object-fit: cover;
        border-radius: 2px;
    }

    .omb-mobile-lang-item--active {
        color: var(--omb-coral);
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    /* Header cart hidden — already in bottom nav */
    .site-tools .shopping-bag-button,
    .site-tools .shopping-cart {
        display: none !important;
    }

    /* ---- Header layout: logo left, badge right (MOBILE_003 FIX) ---- */
    .site-header-inner .woostify-container {
        justify-content: space-between !important;
        align-items: center !important;
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }

    .site-branding {
        text-align: left !important;
        flex-shrink: 0 !important;
        min-width: 44px !important;
    }

    /* Force mobile logo visible (overrides Woostify cascade) */
    .site-branding .custom-mobile-logo-url {
        display: block !important;
    }

    .site-branding .custom-mobile-logo {
        display: block !important;
        height: 36px !important;
        width: auto !important;
        max-height: 36px !important;
    }


    /* ---- CookieYes revisit button — overlaps mobile bottom nav ---- */
    .cky-btn-revisit-wrapper {
        display: none !important;
    }

    /* ---- Delivery badge injected in header (front page) ---- */
    .omb-header-delivery-badge {
        display: block;
        font-size: 10.5px;
        font-weight: 600;
        color: var(--omb-coral);
        background: #fff5f2;
        border: 1px solid rgba(242, 100, 48, 0.25);
        border-radius: 50px;
        padding: 5px 10px;
        line-height: 1.35;
        text-align: center;
        max-width: 220px;
    }

    /* ================================================================
       MOBILE_003 – Homepage mobile
       ================================================================ */

    /* ---- Bannière RAF — pleine largeur ---- */
    .omb-raf-banner {
        margin: 0 0 0.875rem !important;
        border-radius: 0 !important;
    }

    /* ---- Hero — min height ---- */
    .omb-hero {
        min-height: auto;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding: 0.5rem 0 0.75rem;
        border-bottom: none;
        margin: 0 12px 1.5rem;
        background: var(--omb-rose-powder) !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
        overflow: hidden;
    }

    /* Badge + subtitle moved/hidden on mobile */
    .omb-hero .omb-badge,
    .omb-hero__subtitle {
        display: none !important;
    }

    .omb-hero__content {
        width: 100%;
    }

    /* ---- CTA Buttons ---- */
    .omb-btn--primary .wp-block-button__link,
    .omb-hero .wp-block-button__link {
        background: var(--omb-coral) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 50px !important;
        min-width: 200px !important;
        min-height: 48px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        padding: 12px 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
    }

    .omb-btn--secondary .wp-block-button__link {
        color: var(--omb-navy) !important;
        border-color: var(--omb-navy) !important;
        min-height: 44px !important;
        border-radius: 50px !important;
        font-size: 14px !important;
        padding: 10px 20px !important;
    }

    /* ---- Grille produits — 2 colonnes ---- */
    .omb-product-cards {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        padding: 0 12px !important;
    }

    /* Column: flex container so card can fill row height */
    .omb-product-cards .wp-block-column {
        min-width: 0 !important;
        width: auto !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* Card fills column height → button stays at bottom */
    .omb-product-cards .omb-product-card {
        flex: 1 !important;
    }

    /* 3ème card (Browse shop) — pleine largeur */
    .omb-product-cards .wp-block-column:last-child {
        grid-column: 1 / -1;
    }

    /* Image ratio 1:1 dans la grille */
    .omb-product-cards .omb-product-card__image-wrapper {
        height: 0 !important;
        padding-bottom: 100% !important;
        position: relative;
    }

    .omb-product-cards .omb-product-card__image {
        position: absolute !important;
        inset: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }

    /* Compact typography + padding on mobile */
    .omb-product-cards .omb-product-card__name {
        font-size: 1rem !important;
        padding: 0.75rem 0.75rem 0 !important;
        margin-bottom: 0.25rem !important;
    }

    .omb-product-cards .omb-product-card__description {
        font-size: 0.75rem !important;
        padding: 0 0.75rem !important;
        margin-bottom: 0.4rem !important;
    }

    .omb-product-cards .omb-product-card__price {
        font-size: 1.1rem !important;
        padding: 0 0.75rem 0.5rem !important;
    }

    /* Button: compact + no text wrap + pushed to bottom */
    .omb-product-cards .omb-product-card__order-btn {
        margin: auto 0.75rem 0.75rem !important;
        padding: 0.55rem 0.5rem !important;
        font-size: 0.78rem !important;
        white-space: nowrap !important;
    }

    /* Qty selector: compact */
    .omb-product-cards .omb-product-card__qty-selector {
        margin: 0 0.75rem 0.75rem !important;
        padding-top: 0.5rem !important;
    }

    .omb-product-cards .omb-qty-confirm {
        font-size: 0.78rem !important;
        padding: 0.55rem 0.5rem !important;
        white-space: nowrap !important;
    }

    /* Qty controls: compact + clean on mobile */
    .omb-product-cards .omb-qty-minus,
    .omb-product-cards .omb-qty-plus {
        width: 32px !important;
        height: 32px !important;
        font-size: 1.2rem !important;
        flex-shrink: 0 !important;
    }

    .omb-product-cards .omb-qty-input {
        width: 36px !important;
        height: 32px !important;
        font-size: 1rem !important;
        padding: 0 !important;
        -moz-appearance: textfield !important;
    }

    .omb-product-cards .omb-qty-input::-webkit-inner-spin-button,
    .omb-product-cards .omb-qty-input::-webkit-outer-spin-button {
        -webkit-appearance: none !important;
        margin: 0;
    }

    .omb-product-cards .omb-product-card__qty-selector .quantity-controls {
        gap: 0.4rem !important;
    }

    /* ---- Icône ♥ best-seller ---- */
    .omb-product-card__heart {
        display: flex;
        position: absolute;
        top: 6px;
        right: 6px;
        width: 26px;
        height: 26px;
        background: rgba(255, 255, 255, 0.85);
        border-radius: 50%;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        color: var(--omb-coral);
        line-height: 1;
        pointer-events: none;
        z-index: 1;
        box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    }

    /* ---- "Comment ça marche" — card + carousel ---- */
    .omb-how-it-works {
        background: none !important;
        padding: 1.25rem 1rem 0 !important;
        margin-bottom: 1.5rem;
        border-top: 2px solid #D4859A;
    }

    /* Card container (inner wp-block-group) */
    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group {
        background: var(--omb-rose-powder) !important;
        border-radius: 16px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    }

    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
        padding: 1.25rem 1rem 0 !important;
        max-width: 100% !important;
    }

    /* Hide badge, title at hero-title size */
    .omb-how-it-works .omb-badge {
        display: none !important;
    }

    .omb-how-it-works .omb-section-title {
        font-size: 1.25rem !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 1rem !important;
        line-height: 1.3 !important;
    }

    /* Carousel: full-width steps, break out of horizontal padding */
    .omb-steps.wp-block-columns {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 -1rem !important;
        width: calc(100% + 2rem) !important;
    }

    .omb-steps.wp-block-columns::-webkit-scrollbar {
        display: none;
    }

    /* Kill any Woostify/GB default border on the carousel track */
    .omb-how-it-works .omb-steps,
    .omb-how-it-works .omb-steps::before,
    .omb-how-it-works .omb-steps::after,
    .omb-how-it-works .omb-step {
        border: none !important;
        outline: none !important;
    }

    /* FIX 3 residual: hide livraison step connector lines that leak into homepage carousel */
    .omb-how-it-works .omb-step::after,
    .omb-how-it-works .omb-step::before {
        display: none !important;
        content: none !important;
    }

    .omb-steps.wp-block-columns .wp-block-column.omb-step {
        flex: 0 0 100% !important;
        min-width: 100% !important;
        scroll-snap-align: start;
        padding: 0.75rem 1.25rem 1.5rem !important;
        box-sizing: border-box !important;
        text-align: center !important;
        border: none !important;
    }

    /* Step internals */
    .omb-how-it-works .omb-step__number {
        width: 48px !important;
        height: 48px !important;
        font-size: 1.2rem !important;
        line-height: 48px !important;
        margin: 0 auto 0.875rem !important;
    }

    .omb-how-it-works .omb-step h3 {
        font-size: 1.1rem !important;
        color: var(--omb-navy) !important;
        margin-bottom: 0.5rem !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        min-height: unset !important;
    }

    .omb-how-it-works .omb-step p:not(.omb-step__number) {
        font-size: 0.875rem !important;
        color: var(--omb-gray) !important;
        line-height: 1.5 !important;
        margin: 0 !important;
    }

    /* Carousel dots */
    .omb-carousel-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        padding: 12px 0 1rem;
    }

    .omb-carousel-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(44, 62, 80, 0.2);
        transition: all 0.25s ease;
        flex-shrink: 0;
    }

    .omb-carousel-dot--active {
        background: var(--omb-coral);
        width: 18px;
        border-radius: 3px;
    }

    /* ---- Avis clients — scroll horizontal ---- */
    .omb-testimonials {
        padding: 1.25rem 1rem 0 !important;
        margin-top: 0.5rem;
        border-top: 2px solid #D4859A;
    }

    .omb-testimonials__grid .wp-block-columns {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 12px !important;
        padding-bottom: 8px;
    }

    .omb-testimonials__grid .wp-block-columns::-webkit-scrollbar {
        display: none;
    }

    .omb-testimonials__grid .wp-block-column {
        flex: 0 0 80vw !important;
        min-width: 80vw !important;
        scroll-snap-align: start;
    }

    /* ---- Zone de livraison — card redesign ---- */
    .omb-delivery-zones {
        position: relative;
        z-index: 2;
        background: none !important;
        padding: 1.25rem 1rem 0 !important;
        margin-bottom: 1.5rem;
        border-top: 2px solid #D4859A;
    }

    /* Single card — rose-powder background, matching product card shape */
    .omb-delivery-zones .omb-delivery-zones__content {
        background: var(--omb-rose-powder) !important;
        border-radius: 16px;
        overflow: visible;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    }

    .omb-delivery-zones .omb-delivery-zones__content > .wp-block-group__inner-container {
        padding: 1.25rem 1rem 1.25rem !important;
        max-width: 100% !important;
    }

    /* Hide everything except the title + search */
    .omb-delivery-zones .omb-badge,
    .omb-delivery-zones .omb-section-subtitle,
    .omb-delivery-zones .omb-delivery-info,
    .omb-delivery-zones .omb-stats-bar {
        display: none !important;
    }

    /* Title: matches hero title (2rem / bold / navy / line-height 1.2) */
    .omb-delivery-zones .omb-section-title {
        font-size: 2rem !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 1.25rem !important;
        line-height: 1.2 !important;
    }

    .omb-delivery-zones .omb-section-title .omb-highlight {
        color: var(--omb-coral) !important;
    }

    /* Search wrapper: full width, no extra margin */
    .omb-delivery-zones .omb-delivery-search {
        margin: 0;
    }

    /* Input wrapper: white card on rose-powder background */
    .omb-delivery-zones .omb-delivery-search__input-wrapper {
        display: flex !important;
        align-items: center !important;
        background: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        padding: 0 12px !important;
        height: 48px !important;
        gap: 8px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    }

    /* Input field */
    .omb-delivery-zones .omb-delivery-search__input {
        flex: 1 !important;
        border: none !important;
        background: transparent !important;
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        height: 48px !important;
        padding: 0 !important;
        outline: none !important;
        box-shadow: none !important;
    }

    /* Search icon: coral */
    .omb-delivery-zones .omb-delivery-search__icon {
        color: var(--omb-coral) !important;
        flex-shrink: 0;
        width: 18px !important;
        height: 18px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Results dropdown */
    .omb-delivery-zones .omb-delivery-search__results {
        margin-top: 8px;
        border-radius: 10px;
        overflow: hidden;
    }

    /* ================================================================
       MOBILE_004 – Page Boutique
       ================================================================ */

    /* ---- Masquer pagination ---- */
    .woocommerce-pagination {
        display: none !important;
    }

    /* ---- Barre de recherche ---- */
    .omb-shop-search {
        display: block;
        margin-bottom: 12px;
    }

    .omb-shop-search__form {
        display: flex;
        align-items: center;
        background: #fff;
        border: 1.5px solid rgba(44, 62, 80, 0.2);
        border-radius: 8px;
        padding: 0 12px;
        height: 44px;
        gap: 8px;
    }

    .omb-shop-search__icon {
        color: var(--omb-gray);
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }

    .omb-shop-search__input {
        flex: 1;
        border: none !important;
        background: transparent !important;
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        height: 44px !important;
        padding: 0 !important;
        outline: none !important;
        box-shadow: none !important;
    }

    /* ---- Filtres catégories pills ---- */
    .omb-category-pills {
        display: flex;
        overflow-x: auto;
        white-space: nowrap;
        gap: 8px;
        padding-bottom: 4px;
        margin-bottom: 16px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .omb-category-pills::-webkit-scrollbar {
        display: none;
    }

    .omb-category-pill {
        display: inline-flex;
        align-items: center;
        padding: 6px 14px;
        border-radius: 50px;
        border: 1.5px solid rgba(44, 62, 80, 0.2);
        background: #fff;
        color: var(--omb-navy);
        font-size: 13px;
        font-weight: 500;
        text-decoration: none;
        white-space: nowrap;
        min-height: 34px;
        -webkit-tap-highlight-color: transparent;
        flex-shrink: 0;
        transition: all 0.15s ease;
    }

    .omb-category-pill--active {
        background: var(--omb-coral) !important;
        border-color: var(--omb-coral) !important;
        color: #fff !important;
    }

    /* ---- Grille produits 2 colonnes ---- */
    ul.products,
    .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    ul.products li.product {
        width: auto !important;
        margin: 0 !important;
        float: none !important;
    }

    /* ---- Image produit — ratio 1:1 ---- */
    .product-loop-image-wrapper {
        position: relative;
        overflow: hidden;
        padding-bottom: 100% !important;
        height: 0 !important;
    }

    .product-loop-image-wrapper img.product-loop-image,
    .product-loop-image-wrapper img {
        position: absolute !important;
        inset: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* ---- Titre produit — 2 lignes max ---- */
    .woocommerce-loop-product__title {
        font-size: 12px !important;
        line-height: 1.3 !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        max-height: 2.6em !important;
        margin-bottom: 4px !important;
    }

    /* ---- Prix ---- */
    .product-loop-content .price,
    .woocommerce ul.products li.product .price {
        color: var(--omb-coral) !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    /* ---- Bouton + (Add to cart) ---- */
    .product-loop-content .add_to_cart_button,
    ul.products li.product .add_to_cart_button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        border-radius: 50% !important;
        background: var(--omb-coral) !important;
        color: #fff !important;
        border: none !important;
        font-size: 0 !important;
        padding: 0 !important;
        position: absolute !important;
        bottom: 8px !important;
        right: 8px !important;
        box-shadow: 0 2px 6px rgba(255, 107, 107, 0.4) !important;
        -webkit-tap-highlight-color: transparent !important;
        text-decoration: none !important;
        cursor: pointer !important;
    }

    .product-loop-content .add_to_cart_button::before,
    ul.products li.product .add_to_cart_button::before {
        content: '+';
        font-size: 20px;
        font-weight: 300;
        line-height: 1;
    }

    /* Feedback AJAX — loading state */
    .product-loop-content .add_to_cart_button.loading::before,
    ul.products li.product .add_to_cart_button.loading::before {
        content: '…';
        font-size: 14px;
        opacity: 0.7;
    }

    /* Feedback AJAX — added state */
    .product-loop-content .add_to_cart_button.added::before,
    ul.products li.product .add_to_cart_button.added::before {
        content: '✓';
        font-size: 14px;
        color: #fff;
    }

    .product-loop-content .add_to_cart_button.added {
        background: #2c662d !important;
        transition: background 0.3s ease !important;
    }

    /* Produit épuisé — masquer le bouton + */
    ul.products li.product.outofstock .add_to_cart_button {
        display: none !important;
    }

    /* ---- Produit card layout ---- */
    .product-loop-content {
        position: relative;
        padding: 8px !important;
        padding-bottom: 44px !important;
    }

    /* ---- Woostify product loop wrapper ---- */
    .product-loop-wrapper {
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    /* ---- Action icons (quick view, wishlist) — masqués sur mobile ---- */
    .product-loop-action {
        display: none !important;
    }

    /* ================================================================
       MOBILE_005 – Page Livraison (zones-de-livraisons)
       Override des styles inline de la page wp:html
       ================================================================ */

    /* ---- Padding section principal ---- */
    .delivery-zones-section {
        padding: 32px 16px !important;
    }

    /* ---- Titre principal ---- */
    .delivery-zones-section .section-title {
        font-size: 26px !important;
        line-height: 1.2 !important;
        margin-bottom: 12px !important;
    }

    .delivery-zones-section .section-subtitle {
        font-size: 15px !important;
        margin-bottom: 20px !important;
    }

    /* ---- Stats : 2×2 grid ---- */
    .stats-bar {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
        margin-bottom: 28px !important;
    }

    .stat-box {
        padding: 16px !important;
        border-radius: 12px !important;
    }

    .stat-number {
        font-size: 24px !important;
        margin-bottom: 4px !important;
    }

    .stat-label {
        font-size: 12px !important;
    }

    /* ---- Search box ---- */
    .search-container {
        margin-bottom: 28px !important;
    }

    .search-box {
        padding: 12px 50px 12px 16px !important;
        font-size: 15px !important;
        min-height: 48px !important;
        border-radius: 50px !important;
    }

    /* ---- Communes grid : 2 colonnes ---- */
    .communes-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .commune-card {
        padding: 10px !important;
        font-size: 13px !important;
    }

    /* ---- Region name ---- */
    .region-name {
        font-size: 18px !important;
        margin-bottom: 14px !important;
    }

    /* ---- Communes list container ---- */
    .communes-list {
        padding: 20px !important;
        border-radius: 16px !important;
    }

    /* ---- Search not found CTA ---- */
    .search-waitlist-btn {
        min-height: 44px !important;
        font-size: 14px !important;
    }

    /* ================================================================
       MOBILE_006 – Page Panier (WC Cart Block)
       ================================================================ */

    /* ---- Header dynamique "Mon panier · X articles" ---- */
    .omb-mobile-cart-header {
        display: flex !important;
        align-items: center;
        padding: 12px 16px 4px;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        gap: 0;
    }

    .omb-mobile-cart-header__sep {
        color: var(--omb-gray);
    }

    .omb-mobile-cart-header__count {
        color: var(--omb-coral);
    }

    /* ---- Barre de progression livraison gratuite ---- */
    .omb-cart-free-shipping-bar {
        display: block !important;
        background: var(--omb-cream);
        border-radius: 12px;
        padding: 12px 16px;
        margin: 8px 16px 0;
    }

    .omb-cart-free-shipping-bar__text {
        font-size: 13px !important;
        color: var(--omb-gray) !important;
        margin: 0 0 8px !important;
        text-align: center;
    }

    .omb-cart-free-shipping-bar__track {
        height: 6px;
        background: #eee;
        border-radius: 3px;
        overflow: hidden;
    }

    .omb-cart-free-shipping-bar__fill {
        height: 100%;
        background: var(--omb-green);
        border-radius: 3px;
        transition: width 0.3s ease;
    }

    /* ---- Layout principal : items avant totaux ---- */
    .woocommerce-cart .wc-block-components-sidebar-layout,
    .woocommerce-cart .wc-block-components-sidebar-layout {
        flex-direction: column !important;
    }

    .woocommerce-cart .wc-block-cart__main,
    .woocommerce-cart .wc-block-cart__main {
        order: 1 !important;
        width: 100% !important;
        padding: 0 16px !important;
    }

    .woocommerce-cart .wc-block-cart__sidebar,
    .woocommerce-cart .wc-block-cart__sidebar {
        order: 2 !important;
        width: 100% !important;
        padding: 0 16px !important;
        margin-bottom: 0 !important;
    }

    /* ---- Articles : grille ajustée ---- */
    .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
        grid-template-columns: 70px 1fr !important;
    }

    .wc-block-cart-item__image img {
        width: 60px !important;
        height: 60px !important;
        object-fit: cover !important;
        border-radius: 8px !important;
    }

    /* ---- Quantité : touch targets ---- */
    .wc-block-components-quantity-selector {
        gap: 4px !important;
    }

    .wc-block-components-quantity-selector__button {
        min-width: 36px !important;
        min-height: 36px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1.5px solid var(--omb-coral) !important;
        color: var(--omb-coral) !important;
        background: transparent !important;
        font-size: 18px !important;
        padding: 0 !important;
    }

    .wc-block-components-quantity-selector__button:hover,
    .wc-block-components-quantity-selector__button:active {
        background: var(--omb-coral) !important;
        color: white !important;
    }

    .wc-block-components-quantity-selector__input {
        font-size: 15px !important;
        width: 36px !important;
        text-align: center !important;
        border: none !important;
        background: transparent !important;
        font-weight: 600 !important;
        -moz-appearance: textfield !important;
        appearance: textfield !important;
    }

    .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
    .wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
        -webkit-appearance: none !important;
    }

    /* ---- Bouton suppression ---- */
    .wc-block-cart-item__remove-link {
        display: inline !important;
        font-size: 12px !important;
        color: var(--omb-gray) !important;
        text-decoration: underline !important;
        min-height: 44px !important;
        padding: 8px 0 !important;
    }

    /* ---- Récapitulatif financier ---- */
    .wc-block-components-totals-item {
        padding: 10px 0 !important;
        font-size: 15px !important;
    }

    .wc-block-components-totals-item__label {
        color: var(--omb-gray) !important;
    }

    .wc-block-components-totals-footer-item {
        padding: 12px 0 !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }

    /* ---- Bouton checkout CTA ---- */
    .wc-block-cart__submit-button,
    .wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
        background: var(--omb-coral) !important;
        color: white !important;
        border: none !important;
        border-radius: 50px !important;
        min-height: 52px !important;
        width: 100% !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-align: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        margin: 16px 0 !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .wc-block-cart__submit-button:hover,
    .wc-block-cart__submit-button:focus {
        background: #e55f55 !important;
        color: white !important;
        text-decoration: none !important;
    }

    /* ---- Panier vide ---- */
    .wp-block-woocommerce-empty-cart-block {
        text-align: center !important;
        padding: 40px 24px !important;
    }

    .wc-block-cart__empty-cart__title.with-empty-cart-icon {
        font-size: 18px !important;
        color: var(--omb-navy) !important;
    }

    .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
        color: var(--omb-navy) !important;
        height: 4em !important;
        mask-size: 4em !important;
        width: 4em !important;
    }

    .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
        background: var(--omb-coral) !important;
        color: white !important;
        border-radius: 50px !important;
        padding: 12px 24px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }

    /* ---- Cart categories section (CARTFIX) ---- */
    .omb-cart-categories {
        padding: 0 !important;
        margin-bottom: 16px !important;
    }

    .omb-cart-categories__grid--cols-3 {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }

    .omb-cart-category-card__image-wrapper {
        height: 80px !important;
    }

    .omb-cart-category-card__content {
        padding: 6px 8px !important;
    }

    .omb-cart-category-card__name {
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .omb-cart-category-card__arrow {
        display: none !important;
    }

    /* ---- Padding bas : room pour la bottom nav ---- */
    .woocommerce-cart .wc-block-components-sidebar-layout,
    .woocommerce-cart .wc-block-components-sidebar-layout {
        padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    }

    /* ================================================================
       MOBILE_007 – Mon Compte mobile (dashboard + login)
       ================================================================ */

    /* ---- Profil utilisateur ---- */
    .omb-mobile-profile {
        display: flex !important;
        align-items: center;
        gap: 16px;
        padding: 20px 16px 16px;
        background: white;
        border-bottom: 1px solid #f0f0f0;
        margin-bottom: 8px;
    }

    .omb-mobile-profile__avatar {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        background: var(--omb-coral);
        color: white;
        font-size: 24px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        letter-spacing: 1px;
    }

    .omb-mobile-profile__info {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .omb-mobile-profile__name {
        font-size: 16px;
        font-weight: 700;
        color: var(--omb-navy);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .omb-mobile-profile__email {
        font-size: 12px;
        color: var(--omb-gray);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* ---- Bannière prochaine livraison ---- */
    .omb-mobile-next-delivery {
        display: block !important;
        background: var(--omb-cream);
        border-left: 4px solid var(--omb-coral);
        border-radius: 0 12px 12px 0;
        padding: 14px 16px;
        margin: 0 16px 16px;
    }

    .omb-mobile-next-delivery__label {
        display: block;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--omb-coral);
        margin-bottom: 6px;
    }

    .omb-mobile-next-delivery__details {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-bottom: 8px;
    }

    .omb-mobile-next-delivery__date,
    .omb-mobile-next-delivery__time {
        font-size: 14px;
        color: var(--omb-navy);
        font-weight: 500;
    }

    .omb-mobile-next-delivery__status {
        display: inline-block;
        font-size: 11px;
        font-weight: 600;
        padding: 3px 10px;
        border-radius: 20px;
        background: rgba(255, 107, 107, 0.15);
        color: var(--omb-coral);
    }

    .omb-mobile-next-delivery__status--processing {
        background: rgba(44, 102, 45, 0.1);
        color: var(--omb-green);
    }

    .omb-mobile-next-delivery__status--on-hold {
        background: rgba(255, 107, 107, 0.1);
        color: var(--omb-coral);
    }

    /* ---- Masquer le message de bienvenue WC (remplacé par profil mobile) ---- */
    .omb-dashboard__welcome {
        display: none !important;
    }

    /* ---- Cards : layout horizontal sur mobile ---- */
    .omb-dashboard-card {
        flex-direction: row !important;
        align-items: center !important;
        padding: 14px 16px !important;
        text-align: left !important;
        min-height: 60px !important;
        gap: 12px !important;
    }

    .omb-dashboard-card__image {
        width: 44px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
    }

    .omb-dashboard-card__icon svg {
        width: 28px !important;
        height: 28px !important;
    }

    .omb-dashboard-card__content {
        flex: 1 !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .omb-dashboard-card__title {
        font-size: 15px !important;
        margin-bottom: 2px !important;
        text-align: left !important;
    }

    .omb-dashboard-card__desc {
        font-size: 12px !important;
        text-align: left !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .omb-dashboard-card__arrow {
        font-size: 20px !important;
        color: var(--omb-gray) !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
    }

    /* ---- Dashboard padding bottom (bottom nav) ---- */
    .woocommerce-account .omb-dashboard {
        padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    }

    /* ---- Formulaire de connexion ---- */
    .woocommerce-account .woocommerce-form-login,
    .woocommerce-account .woocommerce-form-register {
        padding: 20px 16px !important;
        border: none !important;
        box-shadow: none !important;
        background: white !important;
        border-radius: 12px !important;
        margin-bottom: 16px !important;
    }

    .woocommerce-account .woocommerce-Input--text,
    .woocommerce-account input[type="text"].input-text,
    .woocommerce-account input[type="email"].input-text,
    .woocommerce-account input[type="password"].input-text {
        min-height: 48px !important;
        border-radius: 8px !important;
        border: 1.5px solid #d0d0d0 !important;
        padding: 0 14px !important;
        font-size: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-account .woocommerce-Input--text:focus,
    .woocommerce-account input[type="text"].input-text:focus,
    .woocommerce-account input[type="email"].input-text:focus,
    .woocommerce-account input[type="password"].input-text:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15) !important;
    }

    .woocommerce-account .woocommerce-form-login__submit,
    .woocommerce-account .woocommerce-form-register__submit {
        background: var(--omb-coral) !important;
        color: white !important;
        border: none !important;
        border-radius: 50px !important;
        min-height: 52px !important;
        width: 100% !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        margin-top: 8px !important;
    }

    /* ---- My Account page : padding bottom nav ---- */
    .woocommerce-account .woocommerce-MyAccount-content {
        padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
    }

    /* ---- Sous-pages : breadcrumb lisible ---- */
    .omb-myaccount-breadcrumb {
        font-size: 13px !important;
        padding: 10px 16px !important;
    }

} /* end @media (max-width: 430px) */


/* ===================================================
   OHM — PANIER MOBILE FUNNEL (added Mars 2026)
   Tasks: PANIER_003 + PANIER_005
   =================================================== */

@media (max-width: 430px) {

    /* ================================================================
       PANIER_003 – Masquage éléments distracteurs (panier mobile)
       CSS-only — aucune modification PHP.
       ================================================================ */

    /* Masquer la barre de progression livraison gratuite (MOBILE_006)
       sur mobile : dans le contexte d'achat, l'utilisateur doit se
       concentrer sur le checkout, pas sur les promotions. */
    .omb-cart-free-shipping-bar {
        display: none !important;
    }

    /* Masquer les cartes de catégories (CARTFIX shortcode [omb_cart_categories])
       sur mobile : distracteur en contexte d'achat. */
    .omb-cart-categories {
        display: none !important;
    }

    /* ================================================================
       PANIER_005 – Checkout mobile : sections en cards + Woo Delivery
       Approche CSS-only — aucune manipulation du DOM React.
       Sélecteurs WC Checkout Block stables depuis WC 8.x.
       ================================================================ */

    /* -- Card générique pour chaque section du Checkout Block -- */
    .wc-block-components-checkout-step {
        background: #fff !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 12px !important;
        padding: 16px !important;
        margin-bottom: 12px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    }

    /* -- Titre de section : reprise du pattern EDITADDR/EDITACCT -- */
    .wc-block-components-checkout-step__heading {
        margin-bottom: 14px !important;
        padding-bottom: 10px !important;
        border-bottom: 2px solid var(--omb-rose-powder) !important;
    }

    .wc-block-components-checkout-step__heading-content {
        font-size: 15px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        display: block !important;
    }

    /* Numéros de section via ::before sur le heading content */
    .wc-block-components-checkout-step:nth-child(1)
        .wc-block-components-checkout-step__heading-content::before {
        content: '1 · ';
        color: var(--omb-coral);
        font-weight: 700;
    }

    .wc-block-components-checkout-step:nth-child(2)
        .wc-block-components-checkout-step__heading-content::before {
        content: '2 · ';
        color: var(--omb-coral);
        font-weight: 700;
    }

    .wc-block-components-checkout-step:nth-child(3)
        .wc-block-components-checkout-step__heading-content::before {
        content: '3 · ';
        color: var(--omb-coral);
        font-weight: 700;
    }

    /* Masquer l'icône/numéro natif du Checkout Block (cercle de step) */
    .wc-block-components-checkout-step__icon {
        display: none !important;
    }

    /* -- Champs de formulaire checkout : specs EDITADDR/EDITACCT -- */
    .wc-block-checkout .wc-block-components-text-input input,
    .wc-block-checkout .wc-block-components-country-input input,
    .wc-block-checkout .wc-block-components-state-input select,
    .wc-block-checkout .wc-block-components-select select,
    .wc-block-checkout input[type="text"],
    .wc-block-checkout input[type="email"],
    .wc-block-checkout input[type="tel"],
    .wc-block-checkout select {
        height: 48px !important;
        border: 1.5px solid rgba(44, 62, 80, 0.2) !important;
        border-radius: 8px !important;
        padding: 0 14px !important;
        font-size: 15px !important;
        color: var(--omb-navy) !important;
        background: #fff !important;
        transition: border-color 0.2s ease !important;
        box-sizing: border-box !important;
        width: 100% !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .wc-block-checkout .wc-block-components-text-input input:focus,
    .wc-block-checkout .wc-block-components-country-input input:focus,
    .wc-block-checkout .wc-block-components-select select:focus,
    .wc-block-checkout input[type="text"]:focus,
    .wc-block-checkout input[type="email"]:focus,
    .wc-block-checkout input[type="tel"]:focus,
    .wc-block-checkout select:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15) !important;
    }

    /* Labels de champs */
    .wc-block-checkout .wc-block-components-text-input label,
    .wc-block-checkout .wc-block-components-select label,
    .wc-block-checkout .wc-block-components-country-input label,
    .wc-block-checkout label {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        margin-bottom: 6px !important;
        display: block !important;
    }

    /* Erreurs de validation */
    .wc-block-checkout .wc-block-components-validation-error {
        font-size: 12px !important;
        color: #e74c3c !important;
        margin-top: 4px !important;
    }

    /* -- Woo Delivery : re-style du picker (date + créneau) -- */
    /* Le plugin injecte ses champs dans la section "Adresse de livraison"
       avec block_field_position: "shipping-address". */

    .coderockz-woo-delivery-date-section,
    .coderockz-woo-delivery-time-section,
    .coderockz_woo_delivery_date,
    .coderockz_woo_delivery_time {
        margin-bottom: 12px !important;
        margin-top: 12px !important;
    }

    /* Labels Woo Delivery */
    .coderockz-woo-delivery-date-section > label,
    .coderockz-woo-delivery-time-section > label,
    .coderockz_woo_delivery_date > label,
    .coderockz_woo_delivery_time > label,
    label[for="coderockz_delivery_date"],
    label[for="coderockz_delivery_time"] {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        margin-bottom: 6px !important;
        display: block !important;
    }

    /* Inputs et selects Woo Delivery */
    #coderockz_delivery_date,
    #coderockz_delivery_time,
    .coderockz-woo-delivery-date-section input[type="text"],
    .coderockz-woo-delivery-time-section select,
    .coderockz_woo_delivery_date input[type="text"],
    .coderockz_woo_delivery_time select {
        height: 48px !important;
        border: 1.5px solid rgba(44, 62, 80, 0.2) !important;
        border-radius: 8px !important;
        padding: 0 14px !important;
        font-size: 15px !important;
        color: var(--omb-navy) !important;
        background: #fff !important;
        width: 100% !important;
        box-sizing: border-box !important;
        transition: border-color 0.2s ease !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    #coderockz_delivery_date:focus,
    #coderockz_delivery_time:focus,
    .coderockz-woo-delivery-date-section input:focus,
    .coderockz-woo-delivery-time-section select:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15) !important;
    }

    /* -- Bouton "Payer" (WC Checkout Block) -- */
    .wc-block-components-checkout-place-order-button,
    .wp-block-woocommerce-checkout-order-summary-block
        .wc-block-components-checkout-place-order-button {
        background: var(--omb-coral) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 14px 24px !important;
        min-height: 48px !important;
        width: 100% !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-align: center !important;
        transition: background 0.3s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        letter-spacing: 0.3px !important;
    }

    .wc-block-components-checkout-place-order-button:active {
        background: var(--omb-navy) !important;
    }

    /* État désactivé (traitement Stripe en cours) */
    .wc-block-components-checkout-place-order-button:disabled,
    .wc-block-components-checkout-place-order-button[aria-disabled="true"],
    .wc-block-components-checkout-place-order-button.is-loading,
    .wc-block-components-checkout-place-order-button[data-is-loading="true"] {
        background: #ccc !important;
        color: #fff !important;
        cursor: not-allowed !important;
        opacity: 0.7 !important;
    }

    /* Récapitulatif commande au checkout */
    .wc-block-checkout__order-summary {
        background: var(--omb-cream) !important;
        border: 1px solid var(--omb-rose-powder) !important;
        border-radius: 12px !important;
        padding: 16px !important;
        margin-top: 8px !important;
        margin-bottom: 12px !important;
    }

    /* Padding bas pour la bottom nav */
    .woocommerce-checkout .wc-block-checkout,
    .page-checkout .wc-block-checkout {
        padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
    }

} /* end @media (max-width: 430px) — PANIER */

/* ===================================================
   OHM — HOME MOBILE PERSONALISATION (added Mars 2026)
   Tasks: HOME_002 + HOME_003
   =================================================== */

/* HOME_001 — Blocs injectés PHP (cachés sur desktop, activés dans @media) */
.omb-welcome-block,
.omb-next-delivery-card,
.omb-value-prop-block {
    display: none;
}

/* ================================================================
   HOME_001 — Personnalisation homepage mobile par état utilisateur
   HOME_002 : masquage sections existantes
   HOME_003 : styles visuels blocs PHP dynamiques
   ================================================================ */

@media (max-width: 430px) {

    /* ================================================================
       HOME_002 — 1. MASQUAGE ÉTAT CONNECTÉ — sections Gutenberg homepage
       body.logged-in = classe WordPress native pour utilisateurs authentifiés
       ================================================================ */

    /* Bannière cycle de commande : masquée pour client connecté (HOME-4) */
    body.logged-in .omb-cycle-banner {
        display: none !important;
    }

    /* Hero : fond effacé pour client connecté (décision C-1 + M-3, REQS §12.2)
       NB : display:none masquerait aussi .omb-product-cards (imbriquées dans .omb-hero)
       Solution : effacer background + min-height + éléments visuels uniquement */
    body.logged-in .omb-hero {
        background: none !important;
        background-image: none !important;
        min-height: auto !important;
        border-bottom: none !important;
        padding: 0 0 8px !important;
        display: block !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    /* Masquer uniquement les éléments visuels du hero pour le client connecté */
    body.logged-in .omb-hero .omb-hero__title,
    body.logged-in .omb-hero .omb-badge,
    body.logged-in .omb-hero .omb-badge--animated,
    body.logged-in .omb-hero .omb-hero__subtitle,
    body.logged-in .omb-hero .wp-block-button,
    body.logged-in .omb-hero .omb-btn--primary {
        display: none !important;
    }

    /* Section "Comment ça marche" : masquée pour client connecté (HOME-22) */
    body.logged-in .omb-how-it-works {
        display: none !important;
    }

    /* Zones de livraison : masquées pour client connecté (HOME-28) */
    body.logged-in .omb-delivery-zones {
        display: none !important;
    }

    /* ================================================================
       HOME_002 — 2. VISITEUR ANONYME — Hero réduit à 45vh (décision C-1, REQS §12.2)
       Le CTA doit être visible above-the-fold sur iPhone SE
       ================================================================ */

    body:not(.logged-in) .omb-hero {
        min-height: 45vh !important;
    }

    /* ================================================================
       HOME_002 — 3. BANNIÈRE RAF — max 44px de hauteur (HOME-2)
       ================================================================ */

    .omb-raf-banner {
        max-height: 44px !important;
        overflow: hidden !important;
    }

    /* Compresser le padding interne pour tenir dans 44px */
    .omb-raf-banner .omb-raf-banner__inner,
    .omb-raf-banner .wp-block-group.omb-raf-banner__inner {
        padding: 0.45rem 0.75rem !important;
        gap: 0.25rem 0.5rem !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        min-height: auto !important;
    }

    .omb-raf-banner__text {
        font-size: 11px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        flex: 1;
        min-width: 0;
    }

    .omb-raf-banner__cta a {
        font-size: 10.5px !important;
        padding: 0.18rem 0.55rem !important;
        white-space: nowrap !important;
    }

    /* ================================================================
       HOME_002 — 4. BLOCS PHP INJECTÉS — activation dans le breakpoint mobile
       (définis display:none en global, activés ici pour la carte livraison)
       ================================================================ */

    .omb-next-delivery-card {
        display: block !important;
        margin: 8px 12px 4px !important;
    }

    /* ================================================================
       HOME_003 — 1. Bloc bienvenue (§5.9) — client connecté
       ================================================================ */

    .omb-welcome-block {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        background: var(--omb-cream) !important;
        border-bottom: 1px solid var(--omb-rose-powder) !important;
        padding: 16px 16px 12px !important;
        margin-bottom: 16px !important;
        animation: ombHomeFadeIn 0.4s ease both !important;
    }

    /* Titre "Bonjour, Prénom !" */
    .omb-welcome-block__greeting {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
    }

    /* Sous-titre */
    .omb-welcome-block__subtitle {
        font-size: 13px !important;
        font-weight: 400 !important;
        color: #555 !important;
        margin: 0 !important;
    }

    /* CTA coral pill */
    .omb-welcome-block__cta {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: var(--omb-coral) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 10px 20px !important;
        min-height: 44px !important;
        min-width: 160px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        margin-top: 6px !important;
        align-self: flex-start !important;
        transition: background 0.3s ease !important;
    }

    .omb-welcome-block__cta:active {
        background: var(--omb-navy) !important;
        color: #fff !important;
    }

    .omb-welcome-block__cta:focus-visible {
        outline: 2px solid var(--omb-coral) !important;
        outline-offset: 2px !important;
    }

    /* ================================================================
       HOME_003 — 2. Carte prochaine livraison — classes spécifiques homepage
       Les styles de base viennent de .omb-mobile-next-delivery (mobile.css existant)
       ================================================================ */

    /* WCAG : label uppercase — couleur #E05050 (ratio 4.6:1 sur cream) */
    .omb-next-delivery-card .omb-mobile-next-delivery__label {
        color: #E05050 !important;
        font-size: 12px !important;
    }

    /* Décompte "dans X jours" en coral */
    .omb-homepage-delivery__countdown {
        display: inline !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--omb-coral) !important;
    }

    /* Lien "Voir ma commande" — tap target WCAG 44px (HOME-40, m-1) */
    .omb-homepage-delivery__link {
        display: flex !important;
        align-items: center !important;
        min-height: 44px !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        color: var(--omb-coral) !important;
        text-decoration: none !important;
        margin-top: 2px !important;
    }

    .omb-homepage-delivery__link:hover {
        text-decoration: underline !important;
    }

    .omb-homepage-delivery__link:focus-visible {
        outline: 2px solid var(--omb-coral) !important;
        outline-offset: 2px !important;
    }

    /* ================================================================
       HOME_003 — 3. Bloc explicatif "Ce que nous livrons" (§5.5) — visiteur anonyme
       ================================================================ */

    .omb-value-prop-block {
        display: block !important;
        background: var(--omb-cream) !important;
        border: 1px solid var(--omb-rose-powder) !important;
        border-radius: 12px !important;
        padding: 16px !important;
        margin: 16px 12px !important;
        animation: ombHomeFadeIn 0.4s ease 0.1s both !important;
    }

    /* Titre du bloc explicatif */
    .omb-value-prop-block__title {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 8px !important;
        line-height: 1.3 !important;
    }

    /* Corps de texte */
    .omb-value-prop-block__text {
        font-size: 13px !important;
        font-weight: 400 !important;
        color: #555 !important;
        line-height: 1.6 !important;
        margin: 0 0 10px !important;
    }

    /* Lien "Voir les zones" — tap target WCAG (m-3) */
    .omb-value-prop-block__link {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 44px !important;
        padding: 0 4px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--omb-coral) !important;
        text-decoration: underline !important;
    }

    .omb-value-prop-block__link:focus-visible {
        outline: 2px solid var(--omb-coral) !important;
        outline-offset: 2px !important;
    }

    /* ================================================================
       HOME_003 — 4. Animation fadeIn partagée
       ================================================================ */

    @keyframes ombHomeFadeIn {
        from { opacity: 0; }
        to   { opacity: 1; }
    }

    /* Désactivation animations si prefers-reduced-motion (m-4, §11.5) */
    @media (prefers-reduced-motion: reduce) {
        .omb-welcome-block,
        .omb-next-delivery-card,
        .omb-value-prop-block {
            animation: none !important;
        }
    }

} /* end @media (max-width: 430px) — HOME */

/* ================================================================
   PANIER_001 – Indicateur d'étape (step indicator) — fix 2026-03-02
   ================================================================ */
@media (max-width: 430px) {

    .omb-step-indicator-wrapper {
        padding: 0 16px;
        margin-bottom: 4px;
    }

    .omb-step-indicator {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding: 12px 0;
    }

    .omb-step {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        flex: 1;
        position: relative;
    }

    .omb-step:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 12px;
        left: calc(50% + 12px);
        width: calc(100% - 24px);
        height: 1px;
        background: #e0e0e0;
    }

    .omb-step--complete:not(:last-child)::after {
        background: #2c662d;
    }

    .omb-step__circle {
        width: 24px;
        height: 24px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 700;
        flex-shrink: 0;
        position: relative;
        z-index: 1;
    }

    .omb-step--active .omb-step__circle {
        background: var(--omb-coral, #FF6B6B);
        color: #fff;
        border: none;
    }

    .omb-step--complete .omb-step__circle {
        background: #2c662d;
        color: #fff;
        border: none;
    }

    .omb-step--upcoming .omb-step__circle {
        background: transparent;
        color: #767676;
        border: 2px solid #ccc;
    }

    .omb-step__label {
        font-size: 10px;
        text-align: center;
        white-space: nowrap;
        line-height: 1.2;
    }

    .omb-step--active .omb-step__label {
        font-weight: 700;
        color: var(--omb-coral, #FF6B6B);
    }

    .omb-step--complete .omb-step__label {
        font-weight: 500;
        color: #2c662d;
    }

    .omb-step--upcoming .omb-step__label {
        font-weight: 400;
        color: #767676;
    }

} /* end @media (max-width: 430px) — PANIER step indicator */

/* ================================================================
   HOME_FIX_001 — Testimonials carousel selector fix — 2026-03-02
   Root cause: .omb-testimonials__grid IS the wp-block-columns element.
   ================================================================ */
@media (max-width: 430px) {

    .omb-testimonials__grid {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 12px !important;
        padding-bottom: 12px !important;
        padding-right: 16px !important;
    }

    .omb-testimonials__grid::-webkit-scrollbar {
        display: none !important;
    }

    .omb-testimonials__grid {
        scrollbar-width: none !important;
    }

    .omb-testimonials__grid > .wp-block-column {
        flex: 0 0 80vw !important;
        min-width: 80vw !important;
        max-width: 80vw !important;
        scroll-snap-align: start !important;
        box-sizing: border-box !important;
    }

    .omb-testimonials::after {
        content: 'Faites glisser \2192';
        display: block;
        font-size: 11px;
        color: #999;
        text-align: center;
        padding: 4px 0 8px;
        letter-spacing: 0.03em;
    }

} /* end HOME_FIX_001 */

/* ================================================================
   HOME_FIX_002 — How-it-works: fix overflow clipping on parents
   ================================================================ */
@media (max-width: 430px) {

    .omb-how-it-works > .wp-block-group__inner-container,
    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group,
    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
        overflow: visible !important;
    }

    .omb-steps.wp-block-columns {
        overflow-x: scroll !important;
        overflow-y: visible !important;
    }

} /* end HOME_FIX_002 */

/* ================================================================
   HOME_FIX_003 — Hide redundant dark navy browse card on mobile
   ================================================================ */
@media (max-width: 430px) {

    .omb-browse-card {
        display: none !important;
    }

} /* end HOME_FIX_003 */

/* ================================================================
   HOME_FIX_005 — Polish: section title + banner legibility
   ================================================================ */
@media (max-width: 430px) {

    .omb-cycle-banner p,
    .omb-cycle-banner span,
    .omb-cycle-banner a {
        font-size: max(12px, 0.75rem) !important;
    }

    .omb-raf-banner,
    .omb-raf-banner p,
    .omb-raf-banner span {
        font-size: max(12px, 0.75rem) !important;
    }

} /* end HOME_FIX_005 */

/* ================================================================
   HOME_FIX_002b — How-it-works: correct overflow & scroll (2026-03-02)
   FIX_002 set overflow:visible → all 4 steps exposed simultaneously.
   Fix: revert to overflow:hidden, remove negative margin on .omb-steps.
   The card (border-radius:16px + overflow:hidden) now clips the carousel.
   ================================================================ */
@media (max-width: 430px) {

    /* Revert FIX_002's overflow:visible on all 3 parent levels */
    .omb-how-it-works > .wp-block-group__inner-container,
    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group,
    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
        overflow: hidden !important;
    }

    /* Zero out horizontal padding on constrained inner container
       so steps reach the card edges (no side clipping) */
    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 1rem !important;
    }

    /* Restore horizontal indent on title (container no longer provides it) */
    .omb-how-it-works .omb-section-title {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Remove negative margin — steps now fit inside overflow:hidden card */
    .omb-steps.wp-block-columns {
        margin: 0 !important;
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    /* Swipe hint inside the pink card, below steps + dots */
    .omb-how-it-works > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container::after {
        content: 'Glissez \2192';
        display: block;
        font-size: 12px;
        font-weight: 500;
        color: var(--omb-coral);
        text-align: center;
        padding: 2px 0 0;
        opacity: 0.72;
    }

} /* end HOME_FIX_002b */

/* ================================================================
   HOME_FIX_006 — UI polish: harmonious borders + carousel polish
   ================================================================ */
@media (max-width: 430px) {

    /* 1. Replace harsh #D4859A (2px) with soft rose-powder (1.5px) */
    .omb-how-it-works,
    .omb-testimonials,
    .omb-delivery-zones {
        border-top: 1.5px solid var(--omb-rose-powder) !important;
    }

    /* 2. Testimonials: breathing room for dots + swipe hint */
    .omb-testimonials {
        padding-bottom: 1.5rem !important;
    }

    /* 3. Hide "Temoignages" badge chip — cleaner mobile layout */
    .omb-testimonials .omb-badge {
        display: none !important;
    }

    /* 4. Testimonials section title — match how-it-works / delivery-zones */
    .omb-testimonials .omb-section-title {
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 1.25rem !important;
        line-height: 1.2 !important;
    }
    .omb-testimonials .omb-section-title .omb-highlight {
        color: var(--omb-coral) !important;
    }

    /* 5. Remove bottom margin on each grid so dots appear flush */
    .omb-testimonials__grid {
        margin-bottom: 0 !important;
    }

    /* 6. Testimonial card: tighter padding on mobile for readability */
    .omb-testimonial-card {
        padding: 1.25rem !important;
    }

    /* 7. Swipe hint on testimonials: coral + visible (overrides gray from FIX_001) */
    .omb-testimonials::after {
        content: 'Glissez pour plus  \2192' !important;
        display: block !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        color: var(--omb-coral) !important;
        text-align: center !important;
        padding: 8px 0 4px !important;
        opacity: 0.72 !important;
        letter-spacing: 0.02em !important;
    }

} /* end HOME_FIX_006 */

/* ================================================================
   HOME_FIX_007 — Testimonials: design alignment (2026-03-02)
   Fix 4.1: remove border-top separator
   Fix 4.2: rose-powder card (matching omb-how-it-works)
   Fix 4.3: compact cards
   Fix 4.4: remove swipe hint
   ================================================================ */
@media (max-width: 430px) {

    /* 4.1 — Remove border-top separator, normalize spacing */
    .omb-testimonials {
        border-top: none !important;
        background: none !important;
        overflow: visible !important;
        padding: 0 1rem 1.5rem !important;
        margin-top: 0 !important;
    }

    /* Hide decorative 300px emoji watermark */
    .omb-testimonials::before {
        display: none !important;
    }

    /* 4.2 — Rose-powder card wrapper (mirrors omb-how-it-works pattern) */
    .omb-testimonials > .wp-block-group__inner-container > .wp-block-group:first-child {
        background: var(--omb-rose-powder) !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
        overflow: hidden !important;
        padding: 1.25rem 0 1.25rem !important;
    }

    /* Strip constrained-layout default padding */
    .omb-testimonials > .wp-block-group__inner-container > .wp-block-group:first-child > .wp-block-group__inner-container {
        padding: 0 !important;
        max-width: 100% !important;
    }

    /* Restore section title horizontal spacing */
    .omb-testimonials .omb-section-title {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        margin-bottom: 1rem !important;
    }

    /* Dots: restore side padding inside card */
    .omb-testimonials .omb-carousel-dots {
        padding: 0.25rem 1rem 0 !important;
    }

    /* 4.3 — Compact card: auto height + shorter padding */
    .omb-testimonial-card {
        height: auto !important;
        padding: 1rem !important;
    }

    /* Carousel track: cards align to top (no flex-stretch inflation) */
    .omb-testimonials .omb-testimonials__grid {
        align-items: flex-start !important;
    }

    /* Quote: no flex-grow, compact typography */
    .omb-testimonials .omb-testimonial-card__quote {
        flex-grow: 0 !important;
        margin-bottom: 0.75rem !important;
        font-size: 0.875rem !important;
        line-height: 1.5 !important;
    }

    /* Author: tighter top spacing */
    .omb-testimonials .omb-testimonial-card__author {
        padding-top: 0.625rem !important;
    }

    /* Avatar: slightly smaller on mobile */
    .omb-testimonials .omb-testimonial-card__avatar {
        width: 36px !important;
        height: 36px !important;
        font-size: 0.8rem !important;
        line-height: 36px !important;
    }

    /* 4.4 — Remove swipe hint */
    .omb-testimonials::after {
        content: none !important;
        display: none !important;
    }

} /* end HOME_FIX_007 */

/* =====================================================================
   HOME_FIX_008 — FIX 5.5 Testimonials : hauteur uniforme + alignement interne
   Remplace l'align-items: flex-start de HOME_FIX_007 par stretch
   pour forcer des cards de hauteur identique dans le carousel.
   ===================================================================== */
@media (max-width: 430px) {
    /* Revert flex-start → stretch pour hauteur uniforme par colonne */
    .omb-testimonials .omb-testimonials__grid {
        align-items: stretch !important;
    }
    /* Card : height:100% + overflow:hidden = taille uniforme + clip contenu long */
    .omb-testimonial-card {
        height: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }
    /* Quote : flex-grow → remplit l'espace, pousse l'auteur en bas */
    .omb-testimonials .omb-testimonial-card__quote {
        flex-grow: 1 !important;
        overflow: hidden !important;
        margin-bottom: 0.625rem !important;
    }
    /* Guillemet décoratif : réduit pour ne pas envahir la card */
    .omb-testimonial-card::before {
        font-size: 2rem !important;
        top: 4px !important;
        left: 8px !important;
        opacity: 0.3 !important;
    }
    /* Auteur : corrige l'alignement flex Gutenberg */
    .omb-testimonial-card__author > .wp-block-group__inner-container {
        display: flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
    }
    /* Groupe interne (nom + étoiles) : colonne serrée */
    .omb-testimonial-card__author .wp-block-group:not(.omb-testimonial-card__author) > .wp-block-group__inner-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 1px !important;
        align-items: flex-start !important;
    }
    .omb-testimonial-card__name,
    .omb-testimonial-card__stars {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.3 !important;
    }
} /* end HOME_FIX_008 */

/* =====================================================================
   HOME_FIX_009 — FIX 5.2 Section Produit : compresser la hauteur
   Réduction h1, ratio image 3:2, espacement serré, CTA boutique
   ===================================================================== */
@media (max-width: 430px) {
    /* Titre hero : 2rem → 1.4rem */
    .omb-hero .omb-hero__title,
    .omb-hero h1 {
        font-size: 1.4rem !important;
        line-height: 1.25 !important;
        margin-bottom: 1rem !important;
    }
    /* Image : ratio 1:1 → 3:2 (62%) */
    .omb-product-cards .omb-product-card__image-wrapper {
        padding-bottom: 62% !important;
    }
    /* Nom produit : + compact */
    .omb-product-cards .omb-product-card__name {
        font-size: 0.875rem !important;
        padding: 0.5rem 0.6rem 0 !important;
        margin-bottom: 0.1rem !important;
    }
    /* Description : + compact */
    .omb-product-cards .omb-product-card__description {
        font-size: 0.7rem !important;
        padding: 0 0.6rem !important;
        margin-bottom: 0.2rem !important;
    }
    /* Prix */
    .omb-product-cards .omb-product-card__price {
        font-size: 0.95rem !important;
        padding: 0 0.6rem 0.3rem !important;
    }
    /* Bouton Commander */
    .omb-product-cards .omb-product-card__order-btn {
        margin: auto 0.6rem 0.6rem !important;
        padding: 0.45rem 0.4rem !important;
    }
    /* CTA Boutique — pleine largeur sous les cartes produits */
    .omb-shop-cta-wrapper {
        padding: 0.25rem 1rem 1rem;
        width: 100%;
        box-sizing: border-box;
    }
    .omb-shop-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        background: var(--omb-coral);
        color: white !important;
        text-decoration: none !important;
        border-radius: 50px;
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
        font-weight: 700;
        box-sizing: border-box;
        min-height: 46px;
    }
} /* end HOME_FIX_009 */

/* =====================================================================
   FIX 5.3 — RAF CTA dans le header : style lien + masquer bandeau body
   ===================================================================== */
@media (max-width: 430px) {
    /* Badge header = lien cliquable RAF */
    .omb-header-raf-cta {
        text-decoration: none !important;
        cursor: pointer;
        display: block;
    }
    /* Masquer le bandeau RAF du corps de page (redondant avec header) */
    body.home .omb-raf-banner {
        display: none !important;
    }
} /* end FIX 5.3 CSS */

/* =====================================================================
   FIX 5.4 — Masquer la section "Nous livrons dans 26 communes" mobile
   Déjà masqué pour logged-in users, on étend à tous les visiteurs mobile.
   ===================================================================== */
@media (max-width: 430px) {
    .omb-delivery-zones {
        display: none !important;
    }
} /* end FIX 5.4 */

/* =====================================================================
   HOME_FIX_010 — Testimonials: redesign professionnel (2026-03-05)
   Corrections structurelles + design épuré.

   Problèmes résolus :
   - Badge drapeau belge : position:absolute visible, design chargé → supprimé
   - Inner container en flux normal → flex-grow sur la quote ineffectif → fixé
   - Auteur flottant au milieu de la card → ancré en bas grâce à flex
   - Guillemet décoratif mal placé → repositionné, discret
   - Typographie de la quote trop petite (12.25px) → 13.5px
   ===================================================================== */
@media (max-width: 430px) {

    /* 1 — Supprimer le badge drapeau belge (gradient CSS, position absolute) */
    .omb-testimonial-card__badge {
        display: none !important;
    }

    /* 2 — Correction structurelle CLEF :
       L'inner container est en layout "flow" (block).
       Sans le passer en flex colonne, flex-grow sur la quote n'a aucun effet,
       et l'auteur flotte au milieu de la card au lieu d'être ancré en bas. */
    .omb-testimonial-card > .wp-block-group__inner-container {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        box-sizing: border-box !important;
    }

    /* 3 — Card : accent corail gauche, coins arrondis côté droit seulement
       Style éditorial / "pull quote" qui ancre visuellement le contenu */
    .omb-testimonial-card {
        border-left: 3px solid var(--omb-coral) !important;
        border-radius: 0 12px 12px 0 !important;
        padding: 12px 14px !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
    }

    /* 4 — Guillemet décoratif : placé top-right, très discret (opacity 0.10) */
    .omb-testimonial-card::before {
        content: '\201C' !important;
        font-size: 3.5rem !important;
        line-height: 0.9 !important;
        font-family: Georgia, 'Times New Roman', serif !important;
        color: var(--omb-coral) !important;
        opacity: 0.10 !important;
        position: absolute !important;
        top: 6px !important;
        right: 10px !important;
        left: auto !important;
        pointer-events: none !important;
    }

    /* 5 — Quote : plus lisible, remplit l'espace (auteur ancré en bas) */
    .omb-testimonials .omb-testimonial-card__quote {
        font-size: 0.84375rem !important;   /* 13.5px */
        line-height: 1.6 !important;
        color: var(--omb-navy) !important;
        flex-grow: 1 !important;
        overflow: hidden !important;
        margin: 0 0 0.625rem !important;
        padding-top: 0 !important;
    }

    /* 6 — Auteur : ancré en bas, séparateur subtil, jamais compressé */
    .omb-testimonials .omb-testimonial-card__author {
        border-top: 1px solid rgba(0, 0, 0, 0.07) !important;
        padding-top: 0.5rem !important;
        margin-top: 0 !important;
        gap: 0.5rem !important;
        flex-shrink: 0 !important;
        align-items: center !important;
    }

    /* 7 — Avatar : 30px, ombre supprimée, non-compressible */
    .omb-testimonials .omb-testimonial-card__avatar {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        font-size: 0.6875rem !important;   /* 11px */
        line-height: 30px !important;
        box-shadow: none !important;
        flex-shrink: 0 !important;
    }

    /* 8 — Groupe interne nom+étoiles : flex colonne, espacement minimal */
    .omb-testimonial-card__author .wp-block-group:not(.omb-testimonial-card__author) > .wp-block-group__inner-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        align-items: flex-start !important;
    }

    /* 9 — Nom : semibold, navy, compact */
    .omb-testimonial-card__name {
        font-size: 0.75rem !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.25 !important;
    }

    /* 10 — Étoiles : 10px, coral, espacement lettre pour aération */
    .omb-testimonial-card__stars {
        font-size: 0.625rem !important;   /* 10px */
        color: var(--omb-coral) !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
        letter-spacing: 1px !important;
    }

} /* end HOME_FIX_010 */

/* =====================================================================
   HOME_FIX_011 — Testimonials: harmonisation avec le design de la page
   Remplace HOME_FIX_010 : suppression de la bordure gauche corail
   et du border-radius asymétrique qui cassaient la cohérence visuelle.

   Règle design : les cards de témoignages doivent suivre le même
   langage que les product cards et la section hero :
     background : warm white (#FFF8F3 = --omb-cream)
     border-radius : 16px (identique à toutes les sections)
     box-shadow : 0px 4px 20px rgba(0,0,0,0.08) (identique aux product cards)
     pas de border (aucune autre card n'en a)
   ===================================================================== */
@media (max-width: 430px) {

    /* 1 — Card : forme harmonisée avec le reste de la page */
    .omb-testimonial-card {
        background: var(--omb-cream, #FFF8F3) !important;
        border-radius: 16px !important;
        border-left: none !important;
        border: none !important;
        box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08) !important;
        padding: 14px 16px !important;
    }

    /* 2 — Guillemet : top-left visible (élément design intentionnel)
       Déplacé du top-right vers top-left, opacity augmentée */
    .omb-testimonial-card::before {
        content: '\201C' !important;
        font-size: 2.5rem !important;
        line-height: 0.85 !important;
        font-family: Georgia, 'Times New Roman', serif !important;
        color: var(--omb-coral) !important;
        opacity: 0.35 !important;
        position: absolute !important;
        top: 8px !important;
        left: 14px !important;
        right: auto !important;
        pointer-events: none !important;
    }

    /* 3 — Quote : légère indentation pour dégager le guillemet */
    .omb-testimonials .omb-testimonial-card__quote {
        padding-top: 1.5rem !important;
        margin-bottom: 0.75rem !important;
        font-size: 0.84375rem !important;
        line-height: 1.6 !important;
        color: var(--omb-navy) !important;
        flex-grow: 1 !important;
        overflow: hidden !important;
    }

    /* 4 — Auteur : séparateur plus chaud sur fond cream */
    .omb-testimonials .omb-testimonial-card__author {
        border-top: 1px solid rgba(44, 62, 80, 0.08) !important;
        padding-top: 0.625rem !important;
        gap: 0.5rem !important;
        flex-shrink: 0 !important;
        align-items: center !important;
        margin-top: 0 !important;
    }

    /* 5 — Avatar : conserve le gradient corail, taille 32px */
    .omb-testimonials .omb-testimonial-card__avatar {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        line-height: 32px !important;
        font-size: 0.7rem !important;
        font-weight: 700 !important;
        box-shadow: none !important;
        flex-shrink: 0 !important;
    }

    /* 6 — Nom : navy, compact */
    .omb-testimonial-card__name {
        font-size: 0.75rem !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.25 !important;
    }

    /* 7 — Étoiles : coral vif, compact */
    .omb-testimonial-card__stars {
        font-size: 0.6875rem !important;
        color: var(--omb-coral) !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.5px !important;
    }

} /* end HOME_FIX_011 */

/* =====================================================================
   HOME_FIX_012 — Testimonials carousel : padding harmonisé
   La grid n'avait pas de padding-left → première carte collée au bord
   du container rose-powder. On aligne avec les autres sections.

   Calcul :
     Section width : 372px
     padding-left grid : 16px (1rem)
     Carte : calc(80vw - 1rem) = 328px
     → Card 1 débute à 16px du bord gauche ✓
     → Card 2 : 16 + 328 + 12gap = 356px → peek = 372 - 356 = 16px ✓
     padding-right existant (16px) conservé tel quel
   ===================================================================== */
@media (max-width: 430px) {

    /* Breathing room gauche — aligne avec les autres sections */
    .omb-testimonials__grid {
        padding-left: 1rem !important;
    }

    /* Réduire la carte de 1rem pour maintenir le peek de la suivante */
    .omb-testimonials__grid > .wp-block-column {
        flex: 0 0 calc(80vw - 1rem) !important;
        min-width: calc(80vw - 1rem) !important;
        max-width: calc(80vw - 1rem) !important;
    }

} /* end HOME_FIX_012 */

/* =====================================================================
   HOME_FIX_013 — Testimonials: alignement visuel avec "Comment ca marche"
   3 corrections ciblées basées sur mesures comparatives.

   Différences identifiées :
   1. Titre 24.5px vs 17.5px (Comment ca marche) → réduit à 1.1rem
   2. flex-grow + align-items:stretch → vide excessif sur quotes courtes
      Fix : line-clamp:3 + align-items:flex-start → hauteur naturelle
   3. Dots padding-left:14px → mal centré → reset à 0
   ===================================================================== */
@media (max-width: 430px) {

    /* 1 — Titre : même taille que "Comment ca marche" (17.5px = 1.1rem) */
    .omb-testimonials .omb-section-title,
    .omb-testimonials h2 {
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
        margin-bottom: 0.875rem !important;
    }

    /* 2a — Grille : flex-start → hauteur naturelle par card */
    .omb-testimonials .omb-testimonials__grid {
        align-items: flex-start !important;
    }

    /* 2b — Card : hauteur auto, retrait de height:100% */
    .omb-testimonial-card {
        height: auto !important;
    }

    /* 2c — Inner container : pas de height:100% si la card est auto */
    .omb-testimonial-card > .wp-block-group__inner-container {
        height: auto !important;
    }

    /* 2d — Quote : line-clamp 3 lignes max + pas de flex-grow
       Élimine l'espace vide entre texte court et auteur */
    .omb-testimonials .omb-testimonial-card__quote {
        flex-grow: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        margin-bottom: 0.75rem !important;
    }

    /* 3 — Dots : centré, padding-left supprimé */
    .omb-testimonials .omb-carousel-dots {
        padding-left: 0 !important;
        text-align: center !important;
    }

} /* end HOME_FIX_013 */

/* =====================================================================
   HOME_FIX_014 — Testimonials: uniformité + proportions carousel

   3 corrections ciblées sur HOME_FIX_012 + HOME_FIX_013 :
   1. Grid padding : 14px → 12px symétrique (left+right)
   2. Card width : calc(80vw - 1rem) → 72vw = ~310px
      → peek de 40px sur la carte suivante (vs 16px avant)
   3. line-clamp : 3 → 2 lignes → hauteur naturelle identique pour toutes les cartes
      (2 lignes wrappent sur toutes les quotes à 72vw)
   ===================================================================== */
@media (max-width: 430px) {

    /* 1 — Grid : padding équilibré 12px + gap légèrement réduit */
    .omb-testimonials .omb-testimonials__grid {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 10px !important;
    }

    /* 2 — Colonnes : 72vw = 310px → peek ~40px sur la carte suivante */
    .omb-testimonials__grid > .wp-block-column {
        flex: 0 0 72vw !important;
        min-width: 72vw !important;
        max-width: 72vw !important;
    }

    /* 3 — Quote : 2 lignes → hauteur naturelle uniforme sur toutes les cartes */
    .omb-testimonials .omb-testimonial-card__quote {
        -webkit-line-clamp: 2 !important;
    }

} /* end HOME_FIX_014 */

/* =====================================================================
   HOME_FIX_015 — Testimonials: hauteur uniforme des cards

   Problème : la quote courte (1 ligne) donne height=120px,
   les autres (2 lignes) = 139px → hauteur incohérente visuellement.

   Fix : height:139px fixe (= hauteur naturelle 2 lignes) + inner container
   en justify-content:space-between → auteur toujours ancré en bas.
   ===================================================================== */
@media (max-width: 430px) {

    /* 1 — Card : hauteur fixe = hauteur naturelle d'une card 2 lignes */
    .omb-testimonial-card {
        height: 139px !important;
        overflow: hidden !important;
    }

    /* 2 — Inner container : height:100% + auteur ancré en bas */
    .omb-testimonial-card > .wp-block-group__inner-container {
        height: 100% !important;
        justify-content: space-between !important;
    }

} /* end HOME_FIX_015 */

/* =====================================================================
   HOME_FIX_016 — Testimonials: fix définitif du padding carousel

   Bug racine trouvé via diagnostic Playwright :
   - gridScrollLeft = 12 au chargement → Chrome initialise scrollLeft = padding-left
     sur les overflow:auto containers, rendant le padding-left INVISIBLE.
   - Container rose = .omb-testimonials > .inner > .wp-block-group:first-child
     a overflow:hidden + padding: 1.25rem 0px → 0 espace latéral pour les cards.

   Fix : padding-left:0 sur le grid + margin-left sur :first-child
         (les margins ne déclenchent PAS le bug scrollLeft de Chrome).
   ===================================================================== */
@media (max-width: 430px) {

    /* 1 — Grid : supprimer padding-left (évite scrollLeft=12 au chargement)
              garder padding-right pour l'espace en fin de scroll */
    .omb-testimonials .omb-testimonials__grid {
        padding-left: 0 !important;
        padding-right: 14px !important;
    }

    /* 2 — Première carte : margin-left = breathing room depuis le bord du container rose */
    .omb-testimonials .omb-testimonials__grid > .wp-block-column:first-child {
        margin-left: 14px !important;
    }

} /* end HOME_FIX_016 */

/* =====================================================================
   HOME_FIX_017 — Testimonials: fix structurel du carousel

   Analyse complète (HOME_FIX_016 → scrollLeft=14 persistant) :
   Chrome's scroll snap origin: scrollLeft = margin-left du premier item
   car scroll-snap-type:x mandatory snap le premier item à x=0 du port.
   Mettre padding/margin AVANT le premier item déclenche systématiquement
   ce comportement dans Chrome/Safari.

   Solution définitive : padding sur le CONTAINER ROSE (pas sur le grid).
   - Container rose : padding-left/right: 14px → grid contenu à l'intérieur
   - Grid part de 14px depuis le bord rose → aucun empty space avant col0
   - scrollLeft = 0 naturellement (rien avant le premier item dans le grid)
   - padding symétrique → titre h2 reste centré visuellement
   - Cards : 69vw = 297px → peek de 37px sur la carte suivante
   ===================================================================== */
@media (max-width: 430px) {

    /* 1 — Container rose : padding horizontal 14px (symétrique → titre centré)
              Override de "padding: 1.25rem 0px !important" */
    .omb-testimonials > .wp-block-group__inner-container > .wp-block-group:first-child {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    /* 2 — Grid : reset margin-left et padding-left (inutiles, causaient le bug)
              Le grid démarre naturellement à 14px du bord du container rose */
    .omb-testimonials .omb-testimonials__grid {
        padding-left: 0 !important;
    }
    .omb-testimonials .omb-testimonials__grid > .wp-block-column:first-child {
        margin-left: 0 !important;
    }

    /* 3 — Cards : 69vw = 297px → grille content 344px → peek 37px
              (344 - 297 - 10gap = 37px de la carte suivante visible) */
    .omb-testimonials__grid > .wp-block-column {
        flex: 0 0 69vw !important;
        min-width: 69vw !important;
        max-width: 69vw !important;
    }

} /* end HOME_FIX_017 */

/* =================================================================
   CONSIST — Mobile Consistency & Premium Features
   Date: 2026-03-10
   Design ref: DESIGN_MOBILE_CONSISTENCY_001 + 002
   Scope: @media (max-width: 430px) ONLY — zero desktop impact
   ================================================================= */

/* ----------------------------------------------------------------
   DESKTOP-HIDE RULES (must be outside @media for inheritance)
   ---------------------------------------------------------------- */

/* CONSIST_011 — Sticky checkout bar */
.omb-sticky-checkout { display: none; }

/* CONSIST_013 — Cross-sell strip */
.omb-cross-sell-strip { display: none; }

/* CONSIST_014 — Floating cart bar */
.omb-floating-cart-bar { display: none; }

/* CONSIST_015 — Toast container */
.omb-toast-container { display: none; }

/* CONSIST_016 — Product badges */
.omb-product-badges { display: none; }

/* CONSIST_017 — Commune checker */
.omb-commune-checker-wrap { display: none; }

/* CONSIST_018 — Delivery timeline */
.omb-delivery-timeline { display: none; }

/* CONSIST_019 — Trust section */
.omb-trust-section { display: none; }


/* ================================================================
   CONSIST — MOBILE STYLES
   ================================================================ */
@media (max-width: 430px) {

    /* ================================================================
       CONSIST_001 — Panier: masquer bouton Supprimer dupliqué
       Le WC Cart Block génère un <button> parasite hors du flux.
       ================================================================ */
    .wc-block-cart-items__row > td:last-child > button:not(.wc-block-components-quantity-selector__button),
    .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__remove-icon,
    .wc-block-cart-items__row > button {
        display: none !important;
    }

    /* ================================================================
       CONSIST_002 — Boutique catégories: cards
       ================================================================ */

    /* Container padding */
    .woocommerce.post-type-archive-product ul.products,
    .woocommerce.tax-product_cat ul.products,
    body.post-type-archive-product ul.products {
        padding: 0 16px !important;
    }

    /* Category cards */
    ul.products li.product-category {
        background: #fff !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07) !important;
        transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    }

    ul.products li.product-category:active {
        transform: scale(0.97) !important;
    }

    /* Category image */
    ul.products li.product-category a img {
        width: 100% !important;
        height: 140px !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 0 !important;
    }

    /* Category title */
    ul.products li.product-category a h2,
    ul.products li.product-category h2 {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        padding: 10px 12px !important;
        margin: 0 !important;
        text-align: center !important;
        line-height: 1.3 !important;
    }

    /* Count badge */
    ul.products li.product-category h2 mark,
    ul.products li.product-category a h2 mark {
        background: var(--omb-rose-powder) !important;
        color: var(--omb-coral) !important;
        border-radius: 50px !important;
        padding: 2px 8px !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        margin-left: 4px !important;
    }

    /* Orphan (odd last child) — full width */
    ul.products li.product-category:last-child:nth-child(odd) {
        grid-column: 1 / -1 !important;
    }
    ul.products li.product-category:last-child:nth-child(odd) a img {
        height: 160px !important;
    }

    /* ================================================================
       CONSIST_003 — Boutique catégories polish
       ================================================================ */

    /* Search bar focus */
    .omb-shop-search__form:focus-within {
        border-color: var(--omb-coral) !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12) !important;
    }

    /* Category pills margin */
    .omb-category-pills {
        margin-bottom: 20px !important;
    }

    /* Min-height to avoid short page */
    .woocommerce.post-type-archive-product main,
    .woocommerce.tax-product_cat main {
        min-height: calc(100vh - var(--omb-nav-height) - 60px) !important;
    }

    /* ================================================================
       CONSIST_004 — Boutique produits: cards styling
       ================================================================ */

    /* Product card wrapper */
    ul.products li.product .product-loop-wrapper {
        background: #fff !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    }

    /* Product image border-radius */
    ul.products li.product .product-loop-image-wrapper {
        border-radius: 12px 12px 0 0 !important;
        position: relative !important;
    }

    /* li.product needs relative for badge positioning */
    ul.products li.product {
        position: relative !important;
    }

    /* Fix italic on product titles */
    .woocommerce-loop-product__title,
    h2.woocommerce-loop-product__title,
    ul.products li.product h2 {
        font-style: normal !important;
    }

    /* Masquer les coeurs wishlist Woostify uniformément */
    .product-loop-image-wrapper .woostify-wishlist-button-wrapper,
    .product-loop-image-wrapper [class*="wishlist"],
    .product-loop-image-wrapper .tinv-wraper,
    .product-loop-image-wrapper > span:not(.onsale):not(.omb-product-badge) {
        display: none !important;
    }

    /* Product card content padding */
    .product-loop-content {
        padding: 10px 10px 42px !important;
    }

    /* ================================================================
       CONSIST_005 + 012 — Panier vide: empty state styling
       ================================================================ */

    /* Icon color — coral */
    .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
        background-color: var(--omb-coral) !important;
        height: 64px !important;
        width: 64px !important;
        mask-size: 64px !important;
        opacity: 0.45 !important;
        margin-bottom: 8px !important;
    }

    /* Empty state container */
    .wp-block-woocommerce-empty-cart-block {
        text-align: center !important;
        padding: 32px 20px 16px !important;
    }

    /* Empty state title */
    .wc-block-cart__empty-cart__title {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin-bottom: 8px !important;
    }

    /* Hide separator ··· */
    .wp-block-woocommerce-empty-cart-block .wp-block-separator,
    .wp-block-woocommerce-empty-cart-block hr {
        display: none !important;
    }

    /* Suggestions grid 2 columns */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
        margin: 0 !important;
        background: #fff !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
        text-align: center !important;
    }

    /* Images compactes */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
        height: 120px !important;
        overflow: hidden !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
        width: 100% !important;
        height: 120px !important;
        object-fit: cover !important;
    }

    /* Product title */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        padding: 8px 8px 2px !important;
        margin: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        line-height: 1.3 !important;
    }

    /* Price */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
        color: var(--omb-coral) !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        padding: 2px 8px 6px !important;
        margin: 0 !important;
    }

    /* Add to cart button */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wp-block-button {
        padding: 0 8px 10px !important;
        margin: 0 !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wp-block-button__link {
        background: var(--omb-coral) !important;
        color: #fff !important;
        border-radius: 50px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        padding: 8px 14px !important;
        border: none !important;
        width: auto !important;
        display: inline-block !important;
    }

    /* Suggestion section title */
    .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        text-align: left !important;
        margin: 24px 0 12px !important;
    }

    /* CTA Continuer les achats — prominent (empty cart) */
    .woocommerce-cart article > a[href*="boutique"],
    .woocommerce-cart article > a[href*="winkel"],
    .woocommerce-cart article > a[href*="shop"] {
        display: block !important;
        text-align: center !important;
        background: var(--omb-coral) !important;
        color: #fff !important;
        border-radius: 50px !important;
        padding: 14px 24px !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        margin: 20px 0 32px !important;
        text-decoration: none !important;
        box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3) !important;
    }

    /* ================================================================
       CONSIST_006 — Panier rempli: cleanup
       ================================================================ */

    /* Delivery preview card */
    .omb-cart-delivery-preview,
    .woocommerce-cart .omb-cart-delivery-info {
        background: var(--omb-cream) !important;
        border-left: 4px solid var(--omb-coral) !important;
        border-radius: 12px !important;
        padding: 14px 16px !important;
        margin: 12px 16px 8px !important;
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        line-height: 1.5 !important;
    }
    .omb-cart-delivery-preview strong,
    .woocommerce-cart .omb-cart-delivery-info strong {
        font-weight: 700 !important;
    }

    /* Reduce spacing */
    .woocommerce-cart .wc-block-cart__submit-container {
        margin-bottom: 0 !important;
    }

    /* Remove link styling */
    .wc-block-cart-item__remove-link {
        font-size: 13px !important;
        color: rgba(255, 107, 107, 0.7) !important;
        text-decoration: none !important;
        padding: 6px 0 !important;
    }
    .wc-block-cart-item__remove-link:hover,
    .wc-block-cart-item__remove-link:active {
        color: var(--omb-coral) !important;
        text-decoration: underline !important;
    }

    /* Shipping info — de-bold */
    .wc-block-components-totals-shipping .wc-block-components-totals-item__description,
    .wc-block-components-shipping-rates-control__no-results-notice {
        font-weight: 400 !important;
        font-size: 12px !important;
        color: var(--omb-gray) !important;
    }

    /* ================================================================
       CONSIST_009 — Boutique produits: select tri + polish
       ================================================================ */

    .woocommerce-ordering select.orderby,
    .woocommerce .woocommerce-ordering select {
        height: 40px !important;
        border: 1.5px solid rgba(44, 62, 80, 0.2) !important;
        border-radius: 8px !important;
        padding: 0 32px 0 12px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: var(--omb-navy) !important;
        background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232C3E50' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 10px center !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        width: 100% !important;
        margin-bottom: 12px !important;
    }
    .woocommerce-ordering select.orderby:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12) !important;
    }

    /* ================================================================
       CONSIST_010 — Panier: coupon + financial summary polish
       ================================================================ */

    /* Coupon panel styling */
    .wc-block-components-panel__button {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
    }
    .wc-block-components-panel__button svg {
        color: var(--omb-coral) !important;
    }

    /* Coupon input */
    .wc-block-components-totals-coupon__content input[type="text"] {
        height: 44px !important;
        border: 1.5px solid rgba(44, 62, 80, 0.2) !important;
        border-radius: 8px !important;
        padding: 0 12px !important;
        font-size: 14px !important;
    }
    .wc-block-components-totals-coupon__content input[type="text"]:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12) !important;
    }

    /* Coupon apply button */
    .wc-block-components-totals-coupon__content button {
        background: var(--omb-coral) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 8px !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        min-height: 44px !important;
    }

    /* Totals separator */
    .wc-block-components-totals-wrapper {
        border-top: 1px solid var(--omb-rose-powder) !important;
        margin-top: 8px !important;
        padding-top: 8px !important;
    }

    /* Total value — larger */
    .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        color: var(--omb-navy) !important;
        font-weight: 700 !important;
        font-size: 20px !important;
    }

    /* Tax info — subtle */
    .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
        font-size: 12px !important;
        color: var(--omb-gray) !important;
        font-weight: 400 !important;
    }

    /* ================================================================
       CONSIST_011 — Panier: Sticky Checkout Bar
       ================================================================ */
    .omb-sticky-checkout {
        display: flex !important;
        position: fixed !important;
        bottom: var(--omb-nav-height) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 9998 !important;
        background: #fff !important;
        border-top: 1px solid rgba(44, 62, 80, 0.08) !important;
        padding: 10px 16px !important;
        padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
        align-items: center !important;
        justify-content: space-between !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08) !important;
        gap: 12px !important;
    }
    .omb-sticky-checkout__info {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }
    .omb-sticky-checkout__count {
        font-size: 12px !important;
        color: var(--omb-gray) !important;
        font-weight: 500 !important;
    }
    .omb-sticky-checkout__total {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
    }
    .omb-sticky-checkout__cta {
        background: var(--omb-coral) !important;
        color: #fff !important;
        border-radius: 50px !important;
        padding: 12px 24px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3) !important;
        transition: background 0.2s ease !important;
    }
    .omb-sticky-checkout__cta:active {
        background: var(--omb-navy) !important;
    }

    /* Hide native WC checkout button when sticky bar visible */
    .woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block {
        display: none !important;
    }

    /* Extra bottom padding for cart content */
    .woocommerce-cart .wc-block-components-sidebar-layout {
        padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
    }

    /* ================================================================
       CONSIST_013 — Panier: Cross-sell strip
       ================================================================ */
    .omb-cross-sell-strip {
        display: block !important;
        padding: 16px 0 8px !important;
        margin: 0 16px !important;
        border-top: 1px solid var(--omb-rose-powder) !important;
    }
    .omb-cross-sell-strip__title {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 12px !important;
    }
    .omb-cross-sell-strip__scroll {
        display: flex !important;
        overflow-x: auto !important;
        gap: 10px !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding-bottom: 4px !important;
    }
    .omb-cross-sell-strip__scroll::-webkit-scrollbar { display: none !important; }
    .omb-cross-sell-card {
        flex: 0 0 110px !important;
        scroll-snap-align: start !important;
        background: #fff !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
        position: relative !important;
        text-align: center !important;
    }
    .omb-cross-sell-card__img {
        width: 110px !important;
        height: 90px !important;
        object-fit: cover !important;
        display: block !important;
    }
    .omb-cross-sell-card__name {
        font-size: 11px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        padding: 6px 6px 2px !important;
        line-height: 1.2 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    .omb-cross-sell-card__price {
        font-size: 12px !important;
        font-weight: 700 !important;
        color: var(--omb-coral) !important;
        padding: 0 6px 24px !important;
    }
    .omb-cross-sell-card__add {
        position: absolute !important;
        bottom: 6px !important;
        right: 6px !important;
        width: 26px !important;
        height: 26px !important;
        border-radius: 50% !important;
        background: var(--omb-coral) !important;
        color: #fff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        text-decoration: none !important;
        box-shadow: 0 2px 6px rgba(255, 107, 107, 0.3) !important;
    }

    /* ================================================================
       CONSIST_014 — Boutique: Floating Cart Summary Bar
       ================================================================ */
    .omb-floating-cart-bar {
        display: flex !important;
        position: fixed !important;
        bottom: var(--omb-nav-height) !important;
        left: 12px !important;
        right: 12px !important;
        z-index: 9998 !important;
        background: var(--omb-coral) !important;
        border-radius: 16px !important;
        padding: 12px 16px !important;
        align-items: center !important;
        justify-content: space-between !important;
        box-shadow: 0 8px 32px rgba(255, 107, 107, 0.35) !important;
        animation: omb-cart-bar-slide-up 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    @keyframes omb-cart-bar-slide-up {
        from { transform: translateY(100%); opacity: 0; }
        to { transform: translateY(0); opacity: 1; }
    }

    .omb-floating-cart-bar__left {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-width: 0 !important;
    }
    .omb-floating-cart-bar__icon { font-size: 18px !important; }
    .omb-floating-cart-bar__text {
        display: flex !important;
        align-items: baseline !important;
        gap: 4px !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 600 !important;
    }
    .omb-floating-cart-bar__count { font-weight: 700 !important; }
    .omb-floating-cart-bar__sep { opacity: 0.7 !important; }
    .omb-floating-cart-bar__total { font-weight: 700 !important; }
    .omb-floating-cart-bar__cta {
        background: #fff !important;
        color: var(--omb-coral) !important;
        border-radius: 50px !important;
        padding: 8px 16px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
    .omb-floating-cart-bar__cta:active {
        background: var(--omb-rose-powder) !important;
    }

    /* Extra body padding when cart bar is visible */
    body.omb-has-cart-items:not(.page-cart):not(.woocommerce-cart) {
        padding-bottom: calc(var(--omb-nav-safe) + 60px) !important;
    }

    /* ================================================================
       CONSIST_015 — Boutique: Toast add-to-cart
       ================================================================ */
    .omb-toast-container {
        display: block !important;
        position: fixed !important;
        bottom: calc(var(--omb-nav-height) + 68px) !important;
        left: 16px !important;
        right: 16px !important;
        z-index: 10000 !important;
        pointer-events: none !important;
    }
    body:not(.omb-has-cart-items) .omb-toast-container {
        bottom: calc(var(--omb-nav-height) + 12px) !important;
    }
    .omb-toast {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        background: var(--omb-navy) !important;
        color: #fff !important;
        border-radius: 12px !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        box-shadow: 0 8px 24px rgba(44, 62, 80, 0.25) !important;
        pointer-events: auto !important;
        transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease !important;
    }
    .omb-toast--enter { transform: translateY(20px) !important; opacity: 0 !important; }
    .omb-toast--visible { transform: translateY(0) !important; opacity: 1 !important; }
    .omb-toast--exit { transform: translateY(-10px) !important; opacity: 0 !important; }
    .omb-toast__icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 22px !important;
        height: 22px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.2) !important;
        font-size: 12px !important;
        flex-shrink: 0 !important;
    }
    .omb-toast__text {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* ================================================================
       CONSIST_016 — Boutique: Product badges
       ================================================================ */
    .omb-product-badges {
        display: flex !important;
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        gap: 4px !important;
        z-index: 2 !important;
        flex-wrap: wrap !important;
    }
    .omb-product-badge {
        padding: 3px 10px !important;
        border-radius: 50px !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: 0.3px !important;
        text-transform: uppercase !important;
        line-height: 1.4 !important;
    }
    .omb-badge--popular {
        background: var(--omb-coral) !important;
        color: #fff !important;
        box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3) !important;
    }
    .omb-badge--new {
        background: var(--omb-navy) !important;
        color: #fff !important;
        box-shadow: 0 2px 8px rgba(44, 62, 80, 0.2) !important;
    }

    /* ================================================================
       CONSIST_017 — Livraison: Commune Checker
       ================================================================ */
    .omb-commune-checker-wrap {
        display: block !important;
        margin: 16px !important;
    }
    .omb-commune-checker {
        background: #fff !important;
        border-radius: 16px !important;
        padding: 20px 16px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
        position: relative !important;
    }
    .omb-commune-checker__title {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 12px !important;
    }
    .omb-commune-checker__input-wrap { position: relative !important; }
    .omb-commune-checker__input {
        width: 100% !important;
        height: 48px !important;
        border: 2px solid rgba(44, 62, 80, 0.15) !important;
        border-radius: 12px !important;
        padding: 0 16px !important;
        font-size: 15px !important;
        color: var(--omb-navy) !important;
        box-sizing: border-box !important;
        background: #fff !important;
    }
    .omb-commune-checker__input:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12) !important;
    }
    .omb-commune-checker__dropdown {
        display: none;
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        background: #fff !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
        z-index: 10 !important;
        overflow: hidden !important;
        margin-top: 4px !important;
        max-height: 250px !important;
        overflow-y: auto !important;
    }
    .omb-commune-checker__item {
        display: block !important;
        width: 100% !important;
        padding: 12px 16px !important;
        text-align: left !important;
        border: none !important;
        background: transparent !important;
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        cursor: pointer !important;
        border-bottom: 1px solid #f5f5f5 !important;
    }
    .omb-commune-checker__item:active { background: var(--omb-cream) !important; }
    .omb-commune-checker__item--other {
        color: var(--omb-gray) !important;
        font-style: italic !important;
    }

    /* Result — covered */
    .omb-commune-result--success {
        display: none;
        background: #e8f5e9 !important;
        border-radius: 12px !important;
        padding: 20px !important;
        margin: 16px !important;
        text-align: center !important;
        animation: omb-cart-bar-slide-up 0.3s ease !important;
    }
    .omb-commune-result--success h3 {
        color: #2e7d32 !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        margin: 0 0 8px !important;
    }
    .omb-commune-result--success p {
        color: #333 !important;
        font-size: 14px !important;
        margin: 0 0 16px !important;
    }
    .omb-commune-result--success a {
        display: inline-block !important;
        background: var(--omb-coral) !important;
        color: #fff !important;
        border-radius: 50px !important;
        padding: 12px 28px !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        text-decoration: none !important;
        box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3) !important;
    }

    /* Result — not covered */
    .omb-commune-result--fail {
        display: none;
        background: var(--omb-cream) !important;
        border-radius: 12px !important;
        padding: 20px !important;
        margin: 16px !important;
        animation: omb-cart-bar-slide-up 0.3s ease !important;
    }
    .omb-commune-result--fail h3 {
        color: var(--omb-navy) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        margin: 0 0 8px !important;
    }
    .omb-commune-result--fail p {
        color: var(--omb-gray) !important;
        font-size: 14px !important;
        margin: 0 0 12px !important;
    }
    .omb-commune-result--fail input[type="email"] {
        width: 100% !important;
        height: 48px !important;
        border: 2px solid rgba(44, 62, 80, 0.15) !important;
        border-radius: 12px !important;
        padding: 0 16px !important;
        font-size: 15px !important;
        margin-bottom: 10px !important;
        box-sizing: border-box !important;
    }
    .omb-commune-result--fail input[type="email"]:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.12) !important;
    }
    .omb-commune-result--fail button {
        width: 100% !important;
        background: var(--omb-coral) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 14px !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        cursor: pointer !important;
    }

    /* ================================================================
       CONSIST_018 — Livraison: Delivery timeline
       ================================================================ */
    .omb-delivery-timeline {
        display: block !important;
        padding: 20px 16px !important;
        margin: 16px !important;
        background: #fff !important;
        border-radius: 16px !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
    }
    .omb-delivery-timeline__title {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 20px !important;
        text-align: center !important;
    }
    .omb-delivery-timeline__steps {
        display: flex !important;
        flex-direction: column !important;
    }
    .omb-timeline-step {
        display: flex !important;
        align-items: flex-start !important;
        gap: 14px !important;
        padding: 4px 0 !important;
        opacity: 0.45 !important;
        transition: opacity 0.3s ease !important;
    }
    .omb-timeline-step--active,
    .omb-timeline-step--done { opacity: 1 !important; }
    .omb-timeline-step__icon {
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        background: var(--omb-light-gray) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 20px !important;
        flex-shrink: 0 !important;
    }
    .omb-timeline-step--active .omb-timeline-step__icon {
        background: var(--omb-rose-powder) !important;
        box-shadow: 0 0 0 4px rgba(255, 107, 107, 0.15) !important;
    }
    .omb-timeline-step--done .omb-timeline-step__icon { background: #e8f5e9 !important; }
    .omb-timeline-step__content { flex: 1 !important; padding-top: 2px !important; }
    .omb-timeline-step__title {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin-bottom: 2px !important;
    }
    .omb-timeline-step--active .omb-timeline-step__title { color: var(--omb-coral) !important; }
    .omb-timeline-step__desc {
        font-size: 13px !important;
        color: var(--omb-gray) !important;
        line-height: 1.4 !important;
    }
    .omb-timeline-connector {
        width: 2px !important;
        height: 20px !important;
        background: #e0e0e0 !important;
        margin-left: 21px !important;
    }
    .omb-timeline-connector--done { background: var(--omb-coral) !important; }

    /* ================================================================
       CONSIST_019 — Livraison: Trust counters + social proof
       ================================================================ */
    .omb-trust-section {
        display: block !important;
        padding: 0 16px !important;
        margin-top: 20px !important;
    }
    .omb-trust-stats {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
        margin-bottom: 16px !important;
    }
    .omb-trust-stat {
        background: #fff !important;
        border-radius: 12px !important;
        padding: 14px 8px !important;
        text-align: center !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    }
    .omb-trust-stat__icon { font-size: 20px !important; margin-bottom: 4px !important; }
    .omb-trust-stat__number {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        line-height: 1.2 !important;
    }
    .omb-trust-stat__label {
        font-size: 11px !important;
        color: var(--omb-gray) !important;
        margin-top: 2px !important;
        line-height: 1.3 !important;
    }
    .omb-trust-testimonial {
        background: var(--omb-cream) !important;
        border-radius: 12px !important;
        padding: 16px !important;
        text-align: center !important;
    }
    .omb-trust-testimonial__quote {
        font-size: 14px !important;
        font-style: italic !important;
        color: var(--omb-navy) !important;
        line-height: 1.5 !important;
        margin-bottom: 8px !important;
    }
    .omb-trust-testimonial__author {
        font-size: 12px !important;
        color: var(--omb-gray) !important;
        font-weight: 600 !important;
    }

    /* ================================================================
       LIVRAISON_SPACING — Remove excessive gaps on livraison page
       The hub had 80px padding-bottom for bottom nav clearance,
       but accordions now sit below it. Reduce to tight spacing.
       ================================================================ */
    .omb-livraison-hub {
        padding-bottom: 8px !important;
    }
    /* Hide empty <p> tag between shortcode and page content */
    .page-id-3800 article > p:empty,
    .page-id-3808 article > p:empty,
    .page-id-3806 article > p:empty {
        display: none !important;
        margin: 0 !important;
    }
    /* Tighten empty state card */
    .omb-livraison-empty {
        padding: 24px 16px !important;
        margin-bottom: 0 !important;
    }
    /* Description text inside commune checker accordion */
    .omb-commune-checker__desc {
        font-size: 13px !important;
        color: var(--omb-gray) !important;
        margin: 0 0 12px !important;
        line-height: 1.4 !important;
    }

    /* ================================================================
       LIVRAISON_ACCORDION — Collapsible sections for logged-in users
       Matches the cart promo code panel visual style.
       Uses native <details>/<summary> for accessibility + zero JS.
       ================================================================ */
    .omb-livraison-accordion {
        margin: 8px 16px !important;
        background: #fff !important;
        border-radius: 12px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
        overflow: hidden !important;
    }
    .omb-livraison-accordion__summary {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 18px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        cursor: pointer !important;
        list-style: none !important;
        min-height: 48px !important;
        -webkit-tap-highlight-color: transparent !important;
        user-select: none !important;
    }
    .omb-livraison-accordion__summary::-webkit-details-marker {
        display: none !important;
    }
    .omb-livraison-accordion__summary::marker {
        display: none !important;
        content: '' !important;
    }
    .omb-livraison-accordion__summary .omb-accordion__chevron {
        flex-shrink: 0 !important;
        width: 20px !important;
        height: 20px !important;
        color: var(--omb-gray) !important;
        transition: transform 0.25s ease !important;
    }
    .omb-livraison-accordion[open] .omb-accordion__chevron {
        transform: rotate(180deg) !important;
    }
    .omb-livraison-accordion__summary:active {
        background: rgba(44, 62, 80, 0.03) !important;
    }

    /* Override inner section styles when inside accordion */
    .omb-livraison-accordion .omb-commune-checker-wrap {
        margin: 0 !important;
        box-shadow: none !important;
    }
    .omb-livraison-accordion .omb-commune-checker {
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 18px 16px !important;
    }
    .omb-livraison-accordion .omb-commune-checker__title {
        display: none !important;
    }
    .omb-livraison-accordion .omb-delivery-timeline {
        margin: 0 !important;
        padding: 0 18px 16px !important;
    }
    .omb-livraison-accordion .omb-delivery-timeline__title {
        display: none !important;
    }
    .omb-livraison-accordion .omb-trust-section {
        margin: 0 !important;
        padding: 0 10px 16px !important;
    }

} /* end @media (max-width: 430px) — CONSIST */

/* CONSIST_014_FIX — Hide cart bar when count shows 0 */
@media (max-width: 430px) {
    .omb-floating-cart-bar[style*="display:none"],
    .omb-floating-cart-bar[data-count="0"] {
        display: none !important;
    }
}

/* =================================================================
   CONSIST_FIX — Design polish pass (2026-03-10)
   Fixes identified during visual QA audit
   ================================================================= */
@media (max-width: 430px) {

    /* ================================================================
       FIX 1 — Hide native WC checkout button (stronger selector)
       The WC Block generates it within .wc-block-cart__submit-container
       ================================================================ */
    .woocommerce-cart .wc-block-cart__submit-container,
    .woocommerce-cart .wc-block-cart__submit-container,
    .woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
    .woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block,
    .woocommerce-cart .wc-block-cart__submit-button,
    .woocommerce-cart .wc-block-cart__submit-button {
        display: none !important;
    }

    /* ================================================================
       FIX 2 — Sticky checkout bar polish
       Better visual separation, rounder, shadow
       ================================================================ */
    .omb-sticky-checkout {
        background: #fff !important;
        border-top: none !important;
        box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.10) !important;
        padding: 12px 16px !important;
        padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;
        gap: 16px !important;
        border-radius: 20px 20px 0 0 !important;
    }
    .omb-sticky-checkout__total {
        font-size: 20px !important;
    }
    .omb-sticky-checkout__cta {
        padding: 14px 28px !important;
        font-size: 15px !important;
        letter-spacing: 0.2px !important;
    }

    /* ================================================================
       FIX 3 — "Prochaine livraison" card in filled cart
       Target the custom div injected by omb_cart_delivery_preview()
       ================================================================ */
    .woocommerce-cart article > div:not([class]):has(> p > strong),
    .woocommerce-cart article > .omb-step-indicator ~ div:not([class]) {
        background: var(--omb-cream) !important;
        border-left: 4px solid var(--omb-coral) !important;
        border-radius: 12px !important;
        padding: 14px 16px !important;
        margin: 4px 16px 12px !important;
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        line-height: 1.5 !important;
    }

    /* ================================================================
       FIX 4 — Cross-sell strip: position BEFORE the totals sidebar,
       not after the entire cart block. Since render_block appends,
       we use CSS order to reposition within the flex layout.
       ================================================================ */
    .woocommerce-cart article {
        display: flex !important;
        flex-direction: column !important;
    }
    .woocommerce-cart .omb-step-indicator { order: 1 !important; }
    .woocommerce-cart .omb-mobile-cart-header { order: 2 !important; }
    .woocommerce-cart .wc-block-cart { order: 3 !important; }
    .woocommerce-cart .omb-cross-sell-strip { order: 4 !important; margin-top: -8px !important; }
    .woocommerce-cart article > div:not([class]) { order: 5 !important; } /* livraison preview */
    .woocommerce-cart article > a { order: 6 !important; } /* continuer les achats */

    /* ================================================================
       FIX 5 — "Continuer les achats" button styling (filled cart)
       ================================================================ */
    .woocommerce-cart article > a[href*="boutique"],
    .woocommerce-cart article > a[href*="winkel"],
    .woocommerce-cart article > a[href*="shop"] {
        display: block !important;
        text-align: center !important;
        border: 1.5px solid rgba(44, 62, 80, 0.15) !important;
        color: var(--omb-navy) !important;
        border-radius: 50px !important;
        padding: 12px 20px !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        margin: 8px 16px 24px !important;
        text-decoration: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* ================================================================
       FIX 6 — Reduce excess whitespace in cart totals
       ================================================================ */
    .woocommerce-cart .wc-block-cart__sidebar {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    .woocommerce-cart .wc-block-components-sidebar-layout {
        gap: 0 !important;
        padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important;
    }

    /* ================================================================
       FIX 7 — Empty cart: uniform image height in suggestion cards
       ================================================================ */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image a {
        height: 130px !important;
        overflow: hidden !important;
        display: block !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
        width: 100% !important;
        object-fit: cover !important;
    }

    /* Fix: uniform card height via grid stretch */
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
        align-items: start !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
        display: flex !important;
        flex-direction: column !important;
    }

    /* ================================================================
       FIX 8 — Empty cart: hide ··· separator (text node)
       The ··· is a text node inside the empty-cart block, not an HR.
       We hide it by targeting the container's font-size and restoring children.
       ================================================================ */
    .wp-block-woocommerce-empty-cart-block > .wc-block-cart__empty-cart__title ~ *:not(h2):not(.wc-block-grid):not(ul) {
        font-size: 0 !important;
        line-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ================================================================
       FIX 9 — "Supprimer l'élément" link: coral colored, touch-friendly
       ================================================================ */
    .wc-block-cart-item__remove-link,
    button.wc-block-cart-item__remove-link {
        font-size: 13px !important;
        color: var(--omb-coral) !important;
        opacity: 0.65 !important;
        text-decoration: none !important;
        border: none !important;
        background: none !important;
        padding: 8px 0 !important;
        min-height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        cursor: pointer !important;
    }
    .wc-block-cart-item__remove-link:active {
        opacity: 1 !important;
    }

    /* ================================================================
       FIX 10 — Coupon chevron: coral accent
       ================================================================ */
    .wc-block-components-panel__button svg,
    .wc-block-components-panel__button path {
        color: var(--omb-coral) !important;
        stroke: var(--omb-coral) !important;
    }

    /* ================================================================
       FIX 11 — Category cards on shop landing: ensure border-radius
       and overflow hidden even when images are raw <a><img>
       ================================================================ */
    ul.products li.product-category > a {
        display: block !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07) !important;
        background: #fff !important;
    }
    ul.products li.product-category > a img {
        border-radius: 0 !important;
    }
    /* Override any existing category link styling */
    ul.products li.product-category {
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    /* ================================================================
       FIX 12 — Wishlist hearts: hide ALL variants (Woostify native)
       ================================================================ */
    .product-loop-image-wrapper .omb-product-card__heart,
    .product-loop-image-wrapper > a > span:last-child,
    .product-loop-image-wrapper > a > .omb-product-card__heart {
        display: none !important;
    }

    /* ================================================================
       FIX 13 — Livraison page: hide original waitlist when commune
       checker is present (avoid duplication)
       ================================================================ */
    .omb-commune-checker-wrap ~ .omb-livraison-waitlist,
    body.page-id-3800 .omb-livraison-waitlist,
    body.page-id-3808 .omb-livraison-waitlist,
    body.page-id-3806 .omb-livraison-waitlist {
        display: none !important;
    }

} /* end @media CONSIST_FIX */

/* =================================================================
   CONSIST_FIX_2 — Targeted fixes with correct class names
   ================================================================= */
@media (max-width: 430px) {

    /* FIX — Cross-sell strip: move BEFORE the delivery preview
       by reordering within the article flexbox */
    .woocommerce-cart article#post-607,
    .woocommerce-cart article[id^="post-"] {
        display: flex !important;
        flex-direction: column !important;
    }
    .woocommerce-cart .omb-cart-categories { order: 0 !important; }
    .woocommerce-cart .omb-step-indicator-wrapper { order: 1 !important; }
    .woocommerce-cart .omb-mobile-cart-header { order: 2 !important; }
    .woocommerce-cart .omb-cart-free-shipping-bar { order: 3 !important; }
    .woocommerce-cart .wp-block-woocommerce-cart { order: 4 !important; }
    .woocommerce-cart .omb-cross-sell-strip {
        order: 5 !important;
        margin: 0 16px 8px !important;
        border-top: 1px solid var(--omb-rose-powder) !important;
        padding-top: 16px !important;
    }
    .woocommerce-cart .omb-delivery-slot-preview { order: 6 !important; }
    .woocommerce-cart .omb-cart-continue-wrapper { order: 7 !important; }

    /* FIX — Delivery slot preview card styling */
    .woocommerce-cart .omb-delivery-slot-preview {
        background: var(--omb-cream) !important;
        border-left: 4px solid var(--omb-coral) !important;
        border-radius: 12px !important;
        padding: 14px 16px !important;
        margin: 8px 16px 12px !important;
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        line-height: 1.5 !important;
    }
    .woocommerce-cart .omb-delivery-slot-preview strong {
        font-weight: 700 !important;
    }
    /* Label "Prochaine livraison" as uppercase small text */
    .woocommerce-cart .omb-delivery-slot-preview > span:first-child,
    .woocommerce-cart .omb-delivery-slot-preview > div:first-child {
        display: block !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: var(--omb-coral) !important;
        margin-bottom: 4px !important;
    }

    /* FIX — "Continuer les achats" wrapper styling */
    .woocommerce-cart .omb-cart-continue-wrapper {
        margin: 0 16px 24px !important;
    }
    .woocommerce-cart .omb-cart-continue-wrapper a {
        display: block !important;
        text-align: center !important;
        border: 1.5px solid rgba(44, 62, 80, 0.15) !important;
        color: var(--omb-navy) !important;
        border-radius: 50px !important;
        padding: 12px 20px !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        text-decoration: none !important;
        background: transparent !important;
    }

    /* FIX — Ensure enough bottom padding for sticky bar */
    .woocommerce-cart article[id^="post-"] {
        padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
    }

    /* FIX — WC Block native checkout button: ensure hidden
       The button may be inside the sidebar or as a standalone block */
    .woocommerce-cart .wc-block-cart__submit-button {
        display: none !important;
    }
    /* Also hide the wc-block link that wraps the button */
    .woocommerce-cart a.wc-block-cart__submit-button,
    .woocommerce-cart .wc-block-cart__submit-container a {
        display: none !important;
    }

} /* end CONSIST_FIX_2 */

/* ====================================================================
   PANIER_REDESIGN — Batch 1: Visual consistency & cohérence homepage
   All CSS-only overrides, scoped to @media (max-width: 430px).
   ==================================================================== */
@media (max-width: 430px) {

    /* ---- A1. Step indicator → CSS variables (override PANIER_001) ---- */
    .omb-step:not(:last-child)::after {
        background: var(--omb-rose-powder) !important;
    }
    .omb-step--complete:not(:last-child)::after {
        background: var(--omb-green) !important;
    }
    .omb-step--complete .omb-step__circle {
        background: var(--omb-green) !important;
    }
    .omb-step--upcoming .omb-step__circle {
        color: var(--omb-gray) !important;
        border-color: var(--omb-rose-powder) !important;
    }
    .omb-step--upcoming .omb-step__label {
        color: var(--omb-gray) !important;
    }

    /* ---- A2. Product images 60→80px ---- */
    .wc-block-cart-item__image img {
        width: 80px !important;
        height: 80px !important;
        border-radius: 10px !important;
    }
    .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
        grid-template-columns: 90px 1fr !important;
    }

    /* ---- A3. Shipping text de-bold ---- */
    .wc-block-components-totals-shipping .wc-block-components-totals-item__description,
    .wc-block-components-totals-shipping p,
    .wc-block-components-shipping-rates-control__no-results-notice {
        font-weight: 400 !important;
        color: var(--omb-gray) !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    /* ---- A4. Totals sidebar → card style ---- */
    .woocommerce-cart .wc-block-cart__sidebar {
        background: #fff !important;
        border-radius: 12px !important;
        border: 1px solid var(--omb-rose-powder) !important;
        padding: 16px !important;
        margin: 8px 16px 0 !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    }

    /* ---- A5. Cart items → card wrapper ---- */
    .woocommerce-cart .wc-block-cart__main {
        background: #fff !important;
        border-radius: 12px !important;
        border: 1px solid var(--omb-rose-powder) !important;
        padding: 12px !important;
        margin: 0 16px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    }

    /* ---- A6. Page background → cream ---- */
    .woocommerce-cart {
        background: var(--omb-cream) !important;
    }

    /* ---- A7. Empty cart → enhanced visual ---- */
    .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
        opacity: 0.7 !important;
        height: 72px !important;
        width: 72px !important;
        mask-size: 72px !important;
    }
    .wp-block-woocommerce-empty-cart-block {
        padding: 24px 16px 16px !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img,
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image a {
        height: 130px !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
        border: 1px solid var(--omb-rose-powder) !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wp-block-button__link {
        box-shadow: 0 2px 8px rgba(255, 107, 107, 0.2) !important;
    }

    /* ---- A8. WPML language dialog → OMB style ---- */
    .wpml-ls-dialog,
    .wpml-ls-modal {
        border-radius: 16px !important;
        font-family: inherit !important;
    }
    .wpml-ls-dialog .wpml-ls-dialog__title {
        color: var(--omb-navy) !important;
        font-weight: 700 !important;
    }
    .wpml-ls-dialog .wpml-ls-dialog__button--primary {
        background: var(--omb-coral) !important;
        border-radius: 50px !important;
        color: #fff !important;
    }

    /* ---- A9. Quantity selector → pill style ---- */
    .wc-block-components-quantity-selector {
        background: var(--omb-cream) !important;
        border-radius: 50px !important;
        padding: 2px !important;
    }

    /* ---- A10. Cart header → styled block ---- */
    .omb-mobile-cart-header {
        background: var(--omb-cream) !important;
        padding: 14px 16px 10px !important;
        border-bottom: 1px solid var(--omb-rose-powder) !important;
        margin: 0 0 8px !important;
    }

    /* ---- B1. Login nudge banner (anonymous + cart not empty) ---- */
    .omb-cart-login-nudge {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        background: var(--omb-rose-powder) !important;
        border-radius: 10px !important;
        padding: 10px 16px !important;
        margin: 0 16px 8px !important;
    }
    .omb-cart-login-nudge__text {
        font-size: 13px !important;
        color: var(--omb-navy) !important;
        flex: 1 !important;
    }
    .omb-cart-login-nudge__link {
        font-size: 13px !important;
        font-weight: 700 !important;
        color: var(--omb-coral) !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        margin-left: 12px !important;
    }

    /* ---- B2. Welcome block (logged-in + empty cart) ---- */
    .omb-cart-welcome {
        background: var(--omb-cream) !important;
        padding: 16px !important;
        border-bottom: 1px solid var(--omb-rose-powder) !important;
        margin: 0 0 8px !important;
    }
    .omb-cart-welcome__greeting {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 4px !important;
    }
    .omb-cart-welcome__subtitle {
        font-size: 13px !important;
        color: var(--omb-gray) !important;
        margin: 0 !important;
    }

    /* ---- B4. Empty cart CTA → coral pill ---- */
    .omb-cart-empty-cta-wrapper {
        text-align: center !important;
        padding: 8px 16px 24px !important;
    }
    .omb-cart-empty-cta {
        display: inline-block !important;
        background: var(--omb-coral) !important;
        color: #fff !important;
        border-radius: 50px !important;
        padding: 14px 32px !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        text-decoration: none !important;
        box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3) !important;
    }

    /* ---- C3. Toast remove notification ---- */
    .omb-toast--remove .omb-toast__icon {
        background: var(--omb-coral) !important;
    }

} /* end PANIER_REDESIGN */

/* =====================================================================
   CHECKOUT_REDESIGN — Refonte visuelle checkout mobile (Mars 2026)
   Batches 1-3 : cohérence cream/cards/shadows avec homepage + panier.
   ===================================================================== */

/* -- Desktop-hide : éléments injectés en PHP (Batch 2) + sticky bar (Batch 3) -- */
.omb-checkout-header { display: none; }
.omb-checkout-delivery-reminder { display: none; }
.omb-checkout-reassurance { display: none; }
.omb-sticky-pay { display: none; }

@media (max-width: 430px) {

    /* ---- A1. Fond page → cream ---- */
    .woocommerce-checkout {
        background: var(--omb-cream) !important;
    }

    /* ---- A2. Section cards → rose-powder border + shadow ---- */
    .woocommerce-checkout .wc-block-components-checkout-step {
        border-color: var(--omb-rose-powder) !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    }

    /* ---- A4. Order summary → shadow ---- */
    .woocommerce-checkout .wc-block-checkout__order-summary {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    }

    /* ---- A5. Bouton "Payer" → shadow ---- */
    .wc-block-components-checkout-place-order-button {
        box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3) !important;
    }
    .wc-block-components-checkout-place-order-button:disabled,
    .wc-block-components-checkout-place-order-button[aria-disabled="true"] {
        box-shadow: none !important;
    }

    /* ---- A6. Express payment → card style ---- */
    .wc-block-checkout__payment-method .wc-block-components-express-payment,
    .wc-block-checkout__actions .wc-block-components-express-payment {
        background: #fff !important;
        border: 1px solid var(--omb-rose-powder) !important;
        border-radius: 12px !important;
        padding: 16px !important;
        margin-bottom: 12px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    }

    /* ---- A7. Radio boutons shipping → coral selected ---- */
    .wc-block-checkout .wc-block-components-radio-control__input:checked {
        border-color: var(--omb-coral) !important;
        background-color: var(--omb-coral) !important;
    }
    .wc-block-checkout .wc-block-components-radio-control__label {
        font-size: 14px !important;
        color: var(--omb-navy) !important;
    }
    .wc-block-checkout .wc-block-components-radio-control__description {
        font-size: 12px !important;
        color: var(--omb-gray) !important;
    }
    .wc-block-checkout .wc-block-components-radio-control__option--checked {
        background: rgba(255, 107, 107, 0.05) !important;
        border: 1px solid var(--omb-rose-powder) !important;
        border-radius: 8px !important;
    }

    /* ---- A8. Checkbox CGV → coral (cart + checkout) ---- */
    .wc-block-checkout .wc-block-components-checkbox__input:checked,
    .wc-block-cart .wc-block-components-checkbox__input:checked {
        background-color: var(--omb-coral) !important;
        border-color: var(--omb-coral) !important;
    }
    .wc-block-checkout .wc-block-components-checkbox__label a,
    .wc-block-cart .wc-block-components-checkbox__label a {
        color: var(--omb-coral) !important;
    }

    /* ---- A9. Textarea note de commande ---- */
    .wc-block-checkout textarea,
    .wc-block-checkout .wc-block-components-textarea {
        border: 1.5px solid rgba(44, 62, 80, 0.2) !important;
        border-radius: 8px !important;
        padding: 12px 14px !important;
        font-size: 15px !important;
        color: var(--omb-navy) !important;
        background: #fff !important;
        min-height: 80px !important;
        resize: vertical !important;
    }
    .wc-block-checkout textarea:focus {
        border-color: var(--omb-coral) !important;
        outline: none !important;
        box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15) !important;
    }

    /* ---- A10. Coupon chevron → coral ---- */
    .wc-block-checkout .wc-block-components-panel__button-icon svg {
        fill: var(--omb-coral) !important;
    }

    /* ---- B1. Greeting header (PHP-injected) ---- */
    .omb-checkout-header {
        display: block !important;
        background: var(--omb-cream) !important;
        padding: 14px 16px !important;
        border-bottom: 2px solid var(--omb-rose-powder) !important;
    }
    .omb-checkout-header__greeting {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
        margin: 0 0 2px !important;
    }
    .omb-checkout-header__subtitle {
        font-size: 13px !important;
        color: var(--omb-gray) !important;
        margin: 0 !important;
    }

    /* ---- B2. Delivery slot reminder ---- */
    .omb-checkout-delivery-reminder {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        background: var(--omb-cream) !important;
        border-left: 4px solid var(--omb-coral) !important;
        border-radius: 0 12px 12px 0 !important;
        padding: 12px 16px !important;
        margin: 8px 16px 0 !important;
    }
    .omb-checkout-delivery-reminder__icon {
        font-size: 22px !important;
        flex-shrink: 0 !important;
    }
    .omb-checkout-delivery-reminder__content {
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        line-height: 1.4 !important;
    }
    .omb-checkout-delivery-reminder__label {
        display: block !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: var(--omb-coral) !important;
        margin-bottom: 2px !important;
    }
    .omb-checkout-delivery-reminder__note {
        font-size: 12px !important;
        color: var(--omb-gray) !important;
    }

    /* ---- B2. Reassurance banner ---- */
    .omb-checkout-reassurance {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        background: rgba(44, 102, 45, 0.08) !important;
        border-radius: 10px !important;
        padding: 10px 16px !important;
        margin: 8px 16px 0 !important;
    }
    .omb-checkout-reassurance__icon {
        font-size: 16px !important;
        flex-shrink: 0 !important;
    }
    .omb-checkout-reassurance__text {
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #2c662d !important;
    }

    /* ---- C1. Sticky "Payer" bar ---- */
    .omb-sticky-pay {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: fixed !important;
        bottom: var(--omb-nav-height) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 999 !important;
        background: #fff !important;
        border-top: 1px solid var(--omb-rose-powder) !important;
        padding: 10px 16px !important;
        padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    }
    .omb-sticky-pay__total {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
    }
    .omb-sticky-pay__cta {
        background: var(--omb-coral) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 12px 32px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3) !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    .omb-sticky-pay__cta:active {
        background: var(--omb-navy) !important;
    }
    .omb-sticky-pay__cta:disabled {
        background: #ccc !important;
        box-shadow: none !important;
        cursor: not-allowed !important;
    }

    /* Hide inline Place Order button when sticky bar is present */
    .woocommerce-checkout .wc-block-components-checkout-place-order-button {
        display: none !important;
    }

    /* Extra bottom padding for sticky bar */
    .woocommerce-checkout .wc-block-checkout {
        padding-bottom: calc(140px + env(safe-area-inset-bottom)) !important;
    }

    /* ---- C3. Processing state ---- */
    body.omb-checkout-processing::after {
        content: '' !important;
        position: fixed !important;
        inset: 0 !important;
        background: rgba(255, 248, 243, 0.7) !important;
        z-index: 9998 !important;
        pointer-events: all !important;
    }
    body.omb-checkout-processing .omb-sticky-pay {
        z-index: 9999 !important;
    }
    body.omb-checkout-processing .omb-sticky-pay__cta {
        position: relative !important;
        color: transparent !important;
    }
    body.omb-checkout-processing .omb-sticky-pay__cta::after {
        content: '' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 20px !important;
        height: 20px !important;
        margin: -10px 0 0 -10px !important;
        border: 3px solid #fff !important;
        border-top-color: transparent !important;
        border-radius: 50% !important;
        animation: ombCheckoutSpin 0.8s linear infinite !important;
    }

    @keyframes ombCheckoutSpin {
        to { transform: rotate(360deg); }
    }

    /* ---- C2. Toast errors ---- */
    .omb-toast--error .omb-toast__icon {
        background: #e74c3c !important;
    }

} /* end CHECKOUT_REDESIGN */

/* =====================================================================
   VISUAL_POLISH — Cart & Checkout visual glitch fixes (Mars 2026)
   ===================================================================== */

@media (max-width: 430px) {

    /* ================================================================
       CHECKOUT FIX 1 — Floating label overlap on pre-filled inputs
       WC Block text inputs: when .is-active, label floats up but
       overlaps the input value. Add padding-top to push value down.
       ================================================================ */
    .woocommerce-checkout .wc-block-components-text-input.is-active input,
    .woocommerce-checkout .wc-block-components-text-input input:focus,
    .woocommerce-checkout .wc-block-components-text-input input:not(:placeholder-shown) {
        padding-top: 18px !important;
        padding-bottom: 4px !important;
    }
    .woocommerce-checkout .wc-block-components-text-input label {
        pointer-events: none !important;
    }
    .woocommerce-checkout .wc-block-components-text-input.is-active label {
        top: 4px !important;
        font-size: 11px !important;
        color: var(--omb-gray) !important;
    }

    /* Select/dropdown floating label overlap (Pays/Région, Heure de livraison) */
    .woocommerce-checkout .wc-blocks-components-select__container select {
        padding-top: 18px !important;
        padding-bottom: 4px !important;
        height: 52px !important;
    }
    .woocommerce-checkout .wc-blocks-components-select__container label {
        position: absolute !important;
        top: 4px !important;
        left: 14px !important;
        font-size: 11px !important;
        color: var(--omb-gray) !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    /* ================================================================
       CHECKOUT FIX 2 — Hide "2 ·" step counter artifact
       ================================================================ */
    .woocommerce-checkout .wc-block-components-checkout-step__heading-content {
        display: none !important;
    }

    /* ================================================================
       CHECKOUT FIX 3 — Reduce bottom gap (was 140px → 16px)
       The delivery reminder and reassurance sit right after the form.
       ================================================================ */
    .woocommerce-checkout .wc-block-checkout {
        padding-bottom: 16px !important;
    }

    /* ================================================================
       CHECKOUT FIX 4 — "Retour au panier" styled link
       ================================================================ */
    .woocommerce-checkout .wc-block-checkout__actions_row a[href*="panier"],
    .woocommerce-checkout .wc-block-checkout__actions_row a[href*="cart"],
    .woocommerce-checkout .wc-block-checkout__actions_row a[href*="winkelwagen"],
    .woocommerce-checkout a.wc-block-components-checkout-return-to-cart-button {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        color: var(--omb-navy) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        border: 1.5px solid rgba(44, 62, 80, 0.15) !important;
        border-radius: 50px !important;
        padding: 10px 20px !important;
        margin: 8px 0 16px !important;
        background: transparent !important;
    }

    /* ================================================================
       CHECKOUT FIX 5 — Totals "Livraison" text overflow
       ================================================================ */
    .woocommerce-checkout .wc-block-components-totals-shipping__fieldset,
    .woocommerce-checkout .wc-block-components-totals-item__description {
        font-size: 12px !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    .woocommerce-checkout .wc-block-components-totals-item {
        gap: 8px !important;
    }

    /* ================================================================
       CHECKOUT FIX 6 — Coral focus ring on all form inputs
       ================================================================ */
    .woocommerce-checkout .wc-block-components-text-input input:focus {
        border-color: var(--omb-coral) !important;
        box-shadow: 0 0 0 2px rgba(255, 107, 107, 0.15) !important;
        outline: none !important;
    }
    .woocommerce-checkout .wc-blocks-components-select__container select:focus {
        border-color: var(--omb-coral) !important;
        box-shadow: 0 0 0 2px rgba(255, 107, 107, 0.15) !important;
        outline: none !important;
    }
    .woocommerce-checkout .wc-block-components-text-input.is-active input:focus + label,
    .woocommerce-checkout .wc-block-components-text-input input:focus + label {
        color: var(--omb-coral) !important;
    }

    /* ================================================================
       CHECKOUT FIX 7 — "Date de livraison" / Woo Delivery heading
       Reduce size to match form section style
       ================================================================ */
    .woocommerce-checkout .coderockz-woo-delivery-field-set h2,
    .woocommerce-checkout .wc-block-components-checkout-step .coderockz_woo_delivery_section_heading,
    .woocommerce-checkout fieldset .wc-block-components-checkout-step__title:has(+ * .coderockz-woo-delivery) {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        margin-bottom: 8px !important;
    }
    /* Generic Woo Delivery "Type de commande" label */
    .woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-checkout-step__description {
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: var(--omb-gray) !important;
        font-weight: 600 !important;
    }

    /* ================================================================
       CHECKOUT FIX 8 — Checkbox vertical alignment (cart + checkout)
       The <label> contains input + SVG + span as inline children.
       Must flex the LABEL (not just the container) for proper alignment.
       ================================================================ */
    .woocommerce-checkout .wc-block-components-checkbox label,
    .woocommerce-cart .wc-block-components-checkbox label {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        position: relative !important;
    }
    .woocommerce-checkout .wc-block-components-checkbox__input,
    .woocommerce-cart .wc-block-components-checkbox__input {
        flex-shrink: 0 !important;
        margin: 0 !important;
    }
    .woocommerce-checkout .wc-block-components-checkbox__label,
    .woocommerce-cart .wc-block-components-checkbox__label {
        font-size: 13px !important;
        line-height: 1.3 !important;
    }

    /* ================================================================
       CHECKOUT FIX 9 — Form inputs: consistent border-radius
       ================================================================ */
    .woocommerce-checkout .wc-block-components-text-input input,
    .woocommerce-checkout .wc-blocks-components-select__container select {
        border-radius: 10px !important;
        border: 1.5px solid rgba(44, 62, 80, 0.18) !important;
        font-size: 15px !important;
        color: var(--omb-navy) !important;
        background: #fff !important;
    }

    /* ================================================================
       CHECKOUT FIX 10 — Delivery reminder + reassurance margin
       Tighten spacing between form end and these banners
       ================================================================ */
    .omb-checkout-delivery-reminder {
        margin-top: 12px !important;
        margin-bottom: 8px !important;
    }
    .omb-checkout-reassurance {
        margin-bottom: 24px !important;
    }

    /* ================================================================
       CART FIX 1 — Cross-sell scroll fade indicator
       Overlay gradient on the right edge of the strip container
       ================================================================ */
    .omb-cross-sell-strip {
        position: relative !important;
    }
    .omb-cross-sell-strip::after {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        right: -1px !important;
        bottom: 0 !important;
        width: 48px !important;
        background: linear-gradient(to right, transparent, var(--omb-cream)) !important;
        pointer-events: none !important;
        z-index: 3 !important;
    }

    /* ================================================================
       CART FIX 2 — Hide footer + language bar on cart/checkout
       These pages have sticky bars; footer clutters the view.
       ================================================================ */
    .woocommerce-cart .site-footer,
    .woocommerce-checkout .site-footer {
        display: none !important;
    }
    .woocommerce-cart .wpml-ls-statics-footer,
    .woocommerce-checkout .wpml-ls-statics-footer,
    .woocommerce-cart footer.entry-footer,
    .woocommerce-checkout footer.entry-footer {
        display: none !important;
    }

    /* ================================================================
       CART FIX 3 — Cart header dot spacing
       ================================================================ */
    .omb-mobile-cart-header__sep {
        margin: 0 4px !important;
        color: var(--omb-gray) !important;
    }

    /* ================================================================
       CART FIX 4 — Remove excess gap between totals and cross-sell
       The sidebar-layout had 100px padding for old sticky bar layout.
       Now handled by article padding-bottom instead.
       ================================================================ */
    .woocommerce-cart .wc-block-components-sidebar-layout {
        padding-bottom: 0 !important;
    }

    /* ================================================================
       CART FIX 5 — Reduce article bottom padding (was 80px)
       Just enough for sticky bar clearance.
       ================================================================ */
    .woocommerce-cart article[id^="post-"] {
        padding-bottom: 24px !important;
    }

    /* ================================================================
       CHECKOUT FIX 11 — "Retour au panier" centering
       Parent uses flex + justify-content: space-between → center instead
       ================================================================ */
    .woocommerce-checkout .wc-block-checkout__actions_row {
        justify-content: center !important;
    }

    /* ================================================================
       CHECKOUT FIX 12 — Totals "Livraison" text truncation fix
       The value text sits in a flex cell; allow it to shrink and wrap.
       ================================================================ */
    .woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
        white-space: normal !important;
        word-break: break-word !important;
        font-size: 11px !important;
        text-align: right !important;
        min-width: 0 !important;
        flex-shrink: 1 !important;
    }
    .woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
        flex-shrink: 0 !important;
        margin-right: 8px !important;
    }

    /* ================================================================
       CHECKOUT FIX 13 — Ensure enough bottom space for sticky pay bar
       The delivery reminder + reassurance need to not be hidden behind
       the sticky bar.
       ================================================================ */
    .woocommerce-checkout article[id^="post-"] {
        padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
    }

} /* end VISUAL_POLISH */

/* =====================================================================
   DESIGN_CONSISTENCY — Full audit: Cart & Checkout vs Homepage (Mars 2026)
   Aligns typography, colors, borders, spacing to homepage design tokens.
   ===================================================================== */

@media (max-width: 430px) {

    /* ================================================================
       DC-1 — Cart product name: orange → navy (matches homepage headings)
       ================================================================ */
    .woocommerce-cart a.wc-block-components-product-name,
    .woocommerce-cart .wc-block-cart a.wc-block-components-product-name {
        color: var(--omb-navy) !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        text-decoration: none !important;
    }

    /* ================================================================
       DC-2 — Cart product price: black → coral (matches homepage prices)
       ================================================================ */
    .woocommerce-cart .wc-block-components-product-price,
    .woocommerce-cart .wc-block-components-product-price .wc-block-components-formatted-money-amount,
    .woocommerce-cart .wc-block-components-product-price .wc-block-formatted-money-amount,
    .woocommerce-cart .wc-block-components-product-price__value {
        color: var(--omb-coral) !important;
        font-weight: 600 !important;
    }
    /* Right-aligned total price per item */
    .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-price--currency,
    .woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-price--currency .wc-block-formatted-money-amount {
        color: var(--omb-coral) !important;
        font-weight: 700 !important;
    }

    /* ================================================================
       DC-3 — "Continuer les achats" → pill button (matches "Retour au panier")
       ================================================================ */
    .woocommerce-cart .omb-cart-continue-link,
    .woocommerce-cart .omb-continue-shopping {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
        color: var(--omb-navy) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        border: 1.5px solid rgba(44, 62, 80, 0.15) !important;
        border-radius: 50px !important;
        padding: 12px 20px !important;
        margin: 12px 0 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    /* ================================================================
       DC-4 — Total labels: gray → navy + bolder (cart + checkout)
       ================================================================ */
    .woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
    .woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
        color: var(--omb-navy) !important;
        font-weight: 700 !important;
    }
    .woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
    .woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        color: var(--omb-navy) !important;
        font-weight: 700 !important;
    }

    /* ================================================================
       DC-5 — Checkout section headings: lighter gray → navy + 600
       ================================================================ */
    .woocommerce-checkout .wc-block-components-checkout-step__title {
        color: var(--omb-navy) !important;
        font-weight: 600 !important;
    }

    /* ================================================================
       DC-6 — Checkout "Résumé de la commande" heading alignment
       ================================================================ */
    .woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > h2,
    .woocommerce-checkout .wc-block-components-order-summary h2 {
        color: var(--omb-navy) !important;
        font-weight: 700 !important;
        font-size: 18px !important;
    }

    /* ================================================================
       DC-7 — Shipping radio options: 4px → 10px radius + better card style
       ================================================================ */
    .woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option {
        border-radius: 10px !important;
        border: 1.5px solid rgba(44, 62, 80, 0.12) !important;
        margin-bottom: 8px !important;
        background: transparent !important;
        transition: border-color 0.2s ease, background 0.2s ease !important;
    }
    .woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option--checked,
    .woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option:has(input:checked) {
        border-color: var(--omb-coral) !important;
        background: rgba(255, 107, 107, 0.04) !important;
    }
    /* Radio dot → coral */
    .woocommerce-checkout .wc-block-components-radio-control__input:checked {
        border-color: var(--omb-coral) !important;
        background-color: var(--omb-coral) !important;
    }

    /* ================================================================
       DC-8 — Coupon accordion → consistent navy + 14px on both pages
       ================================================================ */
    .woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-totals-coupon__button,
    .woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-totals-coupon__button,
    .woocommerce-cart .wc-block-components-panel__button,
    .woocommerce-checkout .wc-block-components-panel__button {
        color: var(--omb-navy) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
    }

    /* ================================================================
       DC-9 — Subtotal label rows: consistent font sizing
       ================================================================ */
    .woocommerce-cart .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__label,
    .woocommerce-checkout .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__label {
        color: var(--omb-gray) !important;
        font-size: 14px !important;
    }
    .woocommerce-cart .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__value,
    .woocommerce-checkout .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) .wc-block-components-totals-item__value {
        color: var(--omb-navy) !important;
        font-size: 14px !important;
    }

    /* ================================================================
       DC-10 — Checkout terms/privacy text: better spacing + readability
       ================================================================ */
    .woocommerce-checkout .wc-block-checkout__terms {
        font-size: 12px !important;
        line-height: 1.5 !important;
        color: var(--omb-gray) !important;
        margin: 16px 0 !important;
        padding: 0 4px !important;
    }
    .woocommerce-checkout .wc-block-checkout__terms a {
        color: var(--omb-coral) !important;
        text-decoration: underline !important;
    }

    /* ================================================================
       DC-11 — Checkout "Ajouter une note" checkbox alignment
       ================================================================ */
    .woocommerce-checkout .wc-block-checkout__add-note {
        margin: 12px 0 8px !important;
    }
    .woocommerce-checkout .wc-block-checkout__add-note .wc-block-components-checkbox__label {
        color: var(--omb-navy) !important;
        font-size: 13px !important;
    }

    /* ================================================================
       DC-12 — Cart "Supprimer l'élément" link: consistent coral + 12px
       ================================================================ */
    .woocommerce-cart .wc-block-cart-item__remove-link {
        color: var(--omb-coral) !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        text-decoration: none !important;
        opacity: 0.8 !important;
    }
    .woocommerce-cart .wc-block-cart-item__remove-link:hover,
    .woocommerce-cart .wc-block-cart-item__remove-link:active {
        opacity: 1 !important;
    }

    /* ================================================================
       DC-13 — Cart product description: tone down, navy
       ================================================================ */
    .woocommerce-cart .wc-block-components-product-metadata {
        color: var(--omb-gray) !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    /* ================================================================
       DC-14 — Checkout fieldset legend → uppercase label, refined
       ================================================================ */
    .woocommerce-checkout .wc-block-components-checkout-step > legend {
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: var(--omb-coral) !important;
    }

    /* ================================================================
       DC-15 — Delivery preview card on cart: consistent with checkout
       ================================================================ */
    .woocommerce-cart .omb-delivery-slot-preview {
        background: var(--omb-cream) !important;
        border-radius: 12px !important;
        border: 1px solid var(--omb-rose-powder) !important;
        padding: 14px 16px !important;
        margin: 12px 16px !important;
    }
    .woocommerce-cart .omb-delivery-slot-preview__label {
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: var(--omb-coral) !important;
    }
    .woocommerce-cart .omb-delivery-slot-preview p,
    .woocommerce-cart .omb-delivery-slot-preview__content {
        font-size: 14px !important;
        color: var(--omb-navy) !important;
        margin: 4px 0 0 !important;
    }

    /* ================================================================
       DC-16 — Cart sidebar totals: consistent tax text styling
       ================================================================ */
    .woocommerce-cart .wc-block-components-totals-footer-item-tax-value,
    .woocommerce-checkout .wc-block-components-totals-footer-item-tax-value {
        font-size: 11px !important;
        color: var(--omb-gray) !important;
    }

    /* ================================================================
       DC-17 — Cross-sell heading alignment with homepage headings
       ================================================================ */
    .woocommerce-cart .omb-cross-sell-strip h3 {
        color: var(--omb-navy) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        margin: 0 0 12px 16px !important;
    }
    .woocommerce-cart .omb-cross-sell-strip__price {
        color: var(--omb-coral) !important;
        font-weight: 600 !important;
    }

    /* ================================================================
       DC-18 — Checkout payment error: softer, matches design
       ================================================================ */
    .woocommerce-checkout .wc-block-components-notice-banner.is-error {
        border-radius: 10px !important;
        border: 1px solid rgba(231, 76, 60, 0.2) !important;
        background: rgba(231, 76, 60, 0.05) !important;
        color: var(--omb-navy) !important;
        font-size: 13px !important;
        padding: 12px 16px !important;
    }

    /* ================================================================
       DC-19 — Checkout greeting refinement: match homepage greeting
       ================================================================ */
    .omb-checkout-greeting p:first-child {
        font-size: 22px !important;
        font-weight: 700 !important;
        color: var(--omb-navy) !important;
    }
    .omb-checkout-greeting p:last-child {
        font-size: 14px !important;
        color: var(--omb-gray) !important;
    }

    /* ================================================================
       DC-20 — Checkout context banners: consistent card style
       ================================================================ */
    .omb-checkout-delivery-reminder,
    .omb-checkout-reassurance {
        background: var(--omb-cream) !important;
        border-radius: 12px !important;
        border: 1px solid var(--omb-rose-powder) !important;
        padding: 12px 16px !important;
        font-size: 13px !important;
        color: var(--omb-navy) !important;
    }

} /* end DESIGN_CONSISTENCY */

/* =====================================================================
   DEFECT_FIX — User-reported defects from real-device testing (Mars 2026)
   ===================================================================== */

@media (max-width: 430px) {

    /* ================================================================
       DF-1 — Hide inline order summary (products + coupon + subtotal)
       The collapsible summary button already shows the total.
       Keep: Total row, "Retour au panier" link.
       ================================================================ */
    .woocommerce-checkout .checkout-order-summary-block-fill-wrapper {
        display: none !important;
    }

    /* ================================================================
       DF-2 — Checkbox: proper styled checkbox (cart + checkout)
       WC Blocks uses appearance:none + SVG checkmark. iOS Safari
       renders the default as a coral filled square. Fix: custom
       checkbox with proper alignment via flex on the parent label.
       ================================================================ */
    .woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"],
    .woocommerce-cart .wc-block-components-checkbox__input[type="checkbox"] {
        appearance: none !important;
        -webkit-appearance: none !important;
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        border: 2px solid rgba(44, 62, 80, 0.25) !important;
        border-radius: 6px !important;
        background: #fff !important;
        cursor: pointer !important;
        position: relative !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        vertical-align: middle !important;
    }
    .woocommerce-checkout .wc-block-components-checkbox__input[type="checkbox"]:checked,
    .woocommerce-cart .wc-block-components-checkbox__input[type="checkbox"]:checked {
        background: var(--omb-coral) !important;
        border-color: var(--omb-coral) !important;
    }
    .woocommerce-checkout .wc-block-components-checkbox__mark,
    .woocommerce-cart .wc-block-components-checkbox__mark {
        position: absolute !important;
        top: 50% !important;
        left: 3px !important;
        transform: translateY(-50%) !important;
        width: 16px !important;
        height: 16px !important;
        fill: #fff !important;
        pointer-events: none !important;
    }

    /* ================================================================
       DF-3 — Cart quantity +/- buttons: stronger styling + fix container
       The parent .quantity-selector has a cream bg pill that shows
       behind the circular buttons. Make it transparent.
       ================================================================ */
    .woocommerce-cart .wc-block-components-quantity-selector {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }
    .woocommerce-cart .wc-block-components-quantity-selector__button {
        color: var(--omb-navy) !important;
        border: 1.5px solid var(--omb-navy) !important;
        background: transparent !important;
        opacity: 1 !important;
        font-weight: 600 !important;
        border-radius: 50% !important;
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .woocommerce-cart .wc-block-components-quantity-selector__button:active {
        background: var(--omb-navy) !important;
        color: #fff !important;
    }
    .woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
        border: none !important;
        background: transparent !important;
        width: 36px !important;
        text-align: center !important;
        font-weight: 600 !important;
        color: var(--omb-navy) !important;
        font-size: 15px !important;
    }
    /* Cart card: prevent horizontal overflow */
    .woocommerce-cart .wc-block-cart__main {
        overflow: hidden !important;
    }

    /* ================================================================
       DF-4 — Hide "LIVRAISON PRÉVUE" delivery reminder on checkout
       Redundant: delivery date is already in the form fields above.
       Also reduce gap between "Retour au panier" and bottom banners.
       ================================================================ */
    .woocommerce-checkout .omb-checkout-delivery-reminder {
        display: none !important;
    }
    /* Tighten space after the order summary / before reassurance */
    .woocommerce-checkout .omb-checkout-reassurance {
        margin-top: 8px !important;
    }

} /* end DEFECT_FIX */
