    /* ============================================
       Mademoiselle Bûche - Thème PrestaShop
       Version : 1.0
       ============================================ */

    /* --- Import des polices Google Fonts --- */
    @import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,800;1,400&family=Oxygen:wght@400;700&display=swap');

    /* --- Réinitialisation et variables --- */
    :root {
        --color-primary: #EB6A1E;
        --color-primary-dark: #C9570F;
        --color-primary-light: #FFE3CD;
        --color-secondary: #231F20;
        --color-secondary-light: #2F2A2C;
        --color-bg: #FFFFFF;
        --color-bg-alt: #FAF6F0;
        --color-border: #E9DFD2;
        --color-text: #231F20;
        --color-text-light: #5F5A58;
        --color-text-muted: #9A8F82;
        --color-white: #FFFFFF;
        --color-success: #2F9E5F;
        --color-shadow: rgba(35, 31, 32, 0.12);
        --color-shadow-dark: rgba(35, 31, 32, 0.25);
        --font-serif: 'Playfair Display', serif;
        --font-sans: 'Oxygen', sans-serif;
        --radius: 0.875rem;
        --radius-full: 9999px;
        --transition: 0.2s ease-in-out;
    }

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
         max-width: 100%;
    }
#wrapper {
    display: block !important;
}
/* ==========================================================
   PRODUCT PAGE - TRUE FULL WIDTH
   ========================================================== */
button:focus {
    
    outline: unset !important;
}
body#product #wrapper{
    width:100%;
    max-width:100%;
    padding:0;
    margin:0;
}

body#product #wrapper > .container{
    width:100%;
    max-width:none !important;
    padding-left:0;
    padding-right:0;
    margin:0;
}

body#product #wrapper > .container > .row{
    margin-left:0;
    margin-right:0;
}

body#product #content-wrapper{
    flex:0 0 100%;
    max-width:100%;
    width:100%;
    padding:0;
}

/* Main product container */
body#product .product-container{
    width:100%;
    max-width:1800px;   /* change to your desired max width */
    margin:0 auto;
    padding:40px 60px;
    display:flex;
    gap:60px;
}

/* Responsive */
@media (max-width:1200px){
    body#product .product-container{
        padding:30px;
    }
}

@media (max-width:768px){
    body#product .product-container{
        padding:20px;
        display:block;
    }
}
#wrapper .breadcrumb {
    padding: 15px 60px !important;
}
    body {
        font-family: var(--font-sans);
        color: var(--color-text);
        background: var(--color-bg);
        line-height: 1.6;
          overflow-x: hidden;
    width: 100%;
    }

    a {
        color: var(--color-primary) ;
        text-decoration: none;
        transition: color var(--transition);
    }
.tel{
    color:#fff !important;
}
   

    img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    /* --- Utilitaires --- */
    .container {
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 clamp(16px, 2vw, 24px);
    }

    .text-center {
        text-align: center;
    }

    .text-serif {
        font-family: var(--font-serif);
    }

    /* --- Boutons PrestaShop --- */
    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        font-weight: 700;
        font-size: 16px;
        padding: 14px 28px;
        border-radius: var(--radius);
        border: none;
        cursor: pointer;
        transition: all var(--transition);
        font-family: var(--font-sans);
    }

    .btn-primary {
        background: var(--color-primary);
        color: var(--color-white);
    }

    .btn-primary:hover {
        background: var(--color-primary-dark);
        color: var(--color-white);
        transform: scale(1.02);
    }

    .btn-secondary {
        background: var(--color-white);
        color: var(--color-primary-dark);
        border: 1px solid var(--color-border);
    }

    .btn-secondary:hover {
        background: var(--color-bg-alt);
        transform: scale(1.02);
    }

    .btn-dark {
        background: var(--color-secondary);
        color: var(--color-white);
    }

    .btn-dark:hover {
        background: var(--color-secondary-light);
        transform: scale(1.02);
    }

    .btn-outline-light {
        background: transparent;
        color: var(--color-white);
        border: 2px solid var(--color-white);
    }

    .btn-outline-light:hover {
        background: var(--color-white);
        color: var(--color-primary-dark);
    }

    /* --- Top Banner (Barre d'annonce) --- */
    .top-banner {
        background: var(--color-secondary);
        color: var(--color-white);
        font-size: 14px;
        padding: 9px 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 14px;
        flex-wrap: wrap;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    .top-banner .banner-item {
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

    .top-banner .separator {
        color: #4A4A50;
    }

    .top-banner a {
        color: var(--color-white);
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }

    .top-banner a:hover {
        color: var(--color-primary-light);
    }

    .top-banner .icon {
        width: 16px;
        height: 16px;
        stroke: var(--color-primary);
        flex-shrink: 0;
    }

    /* --- Header --- */
    .site-header {
        background: var(--color-white);
        border-bottom: 1px solid var(--color-border);
        position: sticky;
        top: 0;
        z-index: 50;
    }

    .header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 14px clamp(16px, 2vw, 24px);
        max-width: 1400px;
        margin: 0 auto;
        flex-wrap: wrap;
    }

    .logo img {
        height: 58px;
        width: auto;
        display: block;
    }

    .nav-desktop {
        display: flex;
        align-items: center;
        gap: 4px;
        flex-wrap: wrap;
    }

    .nav-desktop a,
    .nav-desktop button {
        color: var(--color-text);
        font-size: 16px;
        padding: 10px 12px;
        background: none;
        border: none;
        cursor: pointer;
        font-weight: 700;
        font-family: var(--font-sans);
        transition: color var(--transition);
    }

    .nav-desktop a:hover,
    .nav-desktop button:hover {
        color: var(--color-primary);
    }

    .nav-desktop .shop-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }
#header {
    position: sticky !important;
    top: 0 !important;;
    z-index: 9999 !important;;
    width: 100% !important;;
    box-shadow: 0 2px 10px rgba(0,0,0,.08) !important;;
}
   #header .header-actions {
        display: flex;
        align-items: center;
        gap: 14px;
    }
#header 
    .header-actions .account-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--color-text);
        font-weight: 700;
        font-size: 16px;
        padding: 12px 14px;
        border-radius: 12px;
        transition: background var(--transition);
    }

  #header   .header-actions .account-link:hover {
        background: var(--color-bg-alt);
    }

 #header    .header-actions .cart-link {
        position: relative;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        background: var(--color-primary);
        color: var(--color-white);
        font-weight: 700;
        font-size: 16px;
        padding: 12px 22px;
        border-radius: var(--radius-full);
        min-height: 48px;
        transition: background var(--transition);
    }

 #header    .header-actions .cart-link:hover {
        background: var(--color-primary-dark);
        color: var(--color-white);
    }

#header     .header-actions .cart-badge {
        position: absolute;
        top: -6px;
        right: -6px;
        background: var(--color-secondary);
        color: var(--color-white);
        font-size: 13px;
        font-weight: 700;
        min-width: 22px;
        height: 22px;
        border-radius: var(--radius-full);
        display: grid;
        place-items: center;
        border: 2px solid var(--color-white);
        line-height: 1;
    }
   .hero-card {
        position: relative;
        overflow: hidden;
        flex: 2 1 640px;
        min-width: 0;
        border: 1px solid var(--color-border);
        border-radius: 1.5rem;
        box-shadow: 0 6px 24px -8px var(--color-shadow);
    }

    /* --- Slides --- */
    .hero-slide {
        display: none;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        animation: fadeSlide 0.5s ease forwards;
    }

    .hero-slide.active {
        display: grid;
    }

    @keyframes fadeSlide {
        from {
            opacity: 0;
            transform: translateY(8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* --- Dots --- */
    .hero-dots .dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        border: none;
        padding: 0;
        cursor: pointer;
        background: #E9DFD2;
        transition: all 0.3s ease;
    }

    .hero-dots .dot.active {
        background: #EB6A1E;
        width: 32px;
        border-radius: 999px;
    }

    .hero-dots .dot:hover {
        transform: scale(1.2);
    }

    /* --- Flèches --- */
    .hero-arrows {
        position: absolute;
        top: 14px;
        right: 14px;
        display: flex;
        gap: 8px;
        z-index: 10;
    }

    .hero-arrows .arrow-btn {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: rgba(250, 246, 240, 0.92);
        border: 1px solid var(--color-border);
        cursor: pointer;
        font-size: 20px;
        color: var(--color-text);
        display: grid;
        place-items: center;
        transition: all 0.2s ease;
        backdrop-filter: blur(4px);
    }

    .hero-arrows .arrow-btn:hover {
        background: #EB6A1E;
        color: #FFFFFF;
        transform: scale(1.05);
    }

    /* --- Responsive --- */
    @media (max-width: 768px) {
        .hero-slide {
            grid-template-columns: 1fr;
        }

        .hero-arrows {
            top: auto;
            bottom: 100px;
            right: 16px;
        }

        .hero-arrows .arrow-btn {
            width: 36px;
            height: 36px;
            font-size: 16px;
        }
    }



<!-- ============================================
     JAVASCRIPT - CARROUSEL
     ============================================ -->
    .burger-btn {
        width: 48px;
        height: 48px;
        border: 1px solid var(--color-border);
        border-radius: 12px;
        background: var(--color-white);
        cursor: pointer;
        display: none;
        place-items: center;
        color: var(--color-text);
    }

    /* --- Hero Section --- */
    .hero-section {
        background: var(--color-white);
        padding: 10px clamp(16px, 2vw, 24px) 48px;
    }

    .hero-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 18px;
        align-items: stretch;
        max-width: 1400px;
        margin: 0 auto;
    }

    .hero-card {
        flex: 2 1 640px;
        min-width: 0;
        border: 1px solid var(--color-border);
        border-radius: 1.5rem;
        overflow: hidden;
        box-shadow: 0 6px 24px -8px var(--color-shadow);
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    .hero-text {
        background: var(--color-bg-alt);
        padding: clamp(26px, 3.5vw, 40px);
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .hero-text .badge {
        align-self: flex-start;
        background: var(--color-primary);
        color: var(--color-white);
        font-weight: 700;
        font-size: 13.5px;
        letter-spacing: 0.08em;
        padding: 7px 16px;
        border-radius: var(--radius-full);
        margin-bottom: 18px;
    }

    .hero-text h1 {
        margin: 0 0 16px 0;
        font-family: var(--font-serif);
        font-weight: 800;
        font-size: clamp(32px, 3.2vw, 44px);
        line-height: 1.12;
        letter-spacing: -0.01em;
        color: var(--color-text);
    }

    .hero-text p {
        margin: 0 0 22px 0;
        font-size: 18px;
        color: var(--color-text-light);
    }

    .hero-text .price-old {
        color: #A08B72;
        font-size: 18px;
        text-decoration: line-through;
    }
#header .header-top {
    padding: unset !important;
}
    .hero-text .price-current {
        font-size: 40px;
        font-weight: 700;
        color: var(--color-primary);
        font-family: var(--font-serif);
    }

    .hero-text .price-note {
        margin: 0 0 22px 0;
        font-size: 16px;
        color: var(--color-text-light);
    }

    .hero-text .btn {
        align-self: flex-start;
    }

    .hero-dots {
        display: flex;
        gap: 8px;
        margin-top: auto;
        padding-top: 16px;
    }

    .hero-dots button {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        border: none;
        padding: 0;
        cursor: pointer;
        transition: background var(--transition);
    }

    .hero-photo {
        position: relative;
        min-height: 380px;
        min-width: 0;
        background: var(--color-white);
    }

    .hero-photo img {
    position: absolute;
    inset: 0px;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 18px;
    box-sizing: border-box;
    }

    .hero-arrows {
        position: absolute;
        top: 14px;
        right: 14px;
        display: flex;
        gap: 8px;
    }

    .hero-arrows button {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: rgba(250, 246, 240, 0.92);
        border: 1px solid var(--color-border);
        cursor: pointer;
        font-size: 20px;
        color: var(--color-text);
        display: grid;
        place-items: center;
        transition: background var(--transition);
    }

    .hero-arrows button:hover {
        background: var(--color-white);
    }

    /* --- Side Cards (Hero) --- */
    .hero-sidecards {
        flex: 1 1 300px;
        display: grid;
        gap: 14px;
        align-content: stretch;
        min-width: 0;
    }

    .sidecard {
        display: block;
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: 16px;
        padding: 20px 22px;
        box-shadow: 0 6px 24px -8px var(--color-shadow);
        position: relative;
        color: var(--color-text);
        transition: transform 0.18s;
    }

    .sidecard:hover {
        transform: translateY(-2px);
    }

    .sidecard-dark {
        background: var(--color-secondary);
        color: #F3EBE0;
    }

    .sidecard-dark .sidecard-meta {
        color: #B5AA9D;
    }

    .sidecard-dark .sidecard-text {
        color: #B5AA9D;
    }

    .sidecard .sidecard-meta {
        margin: 0 0 6px 0;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.3em;
        color: var(--color-text-light);
    }

    .sidecard .sidecard-title {
        margin: 0 0 8px 0;
        font-family: var(--font-serif);
        font-size: 22px;
        font-weight: 700;
        line-height: 1.25;
        color: #231f20 !important;
    }

 .sidecard .sidecard-titre {
        margin: 0 0 8px 0;
        font-family: var(--font-serif);
        font-size: 22px;
        font-weight: 700;
        line-height: 1.25;
        color: #fff !important;
    }
    .sidecard .sidecard-title em {
        color: var(--color-primary);
        font-style: normal;
    }
   .sidecard .sidecard-titre em {
        color: var(--color-primary);
        font-style: normal;
    }
    .sidecard .sidecard-desc {
        margin: 0;
        font-size: 15.5px;
        color: var(--color-text-light);
        padding-right: 26px;
    }
        .sidecard .desc {
        margin: 0;
        font-size: 15.5px;
        color: #d8d0cb !important;
        padding-right: 26px;
    }


    .sidecard .sidecard-icon {
        position: absolute;
        right: 18px;
        bottom: 14px;
        color: var(--color-primary);
        font-size: 26px;
        line-height: 1;
    }

  

    .sidecard .payment-badges {
        display: flex;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
        padding-right: 20px;
    }

    .sidecard .payment-badges span {
        border-radius: 8px;
        padding: 5px ;
        font-weight: 700;
        font-size: 13.5px;
    }

    .sidecard .payment-badges .cb {
        background: var(--color-secondary);
        color: var(--color-white);
    }

    .sidecard .payment-badges .paypal {
        border: 1px solid var(--color-border);
        font-style: italic;
        color: #1F3A93;
    }

    .sidecard .payment-badges .cheque {
        background: var(--color-success);
        color: var(--color-white);
        border-radius: var(--radius-full);
        padding: 6px 13px;
    }

    .sidecard .payment-badges .secure {
        font-size: 12px;
        color: var(--color-text-light);
    }

  .sidecard-cta{
    position: relative;
    display: block;
    background: #EB6A1E;
    border-radius: 18px;
    padding: 28px 34px;
    text-decoration: none;
    color: #fff;
    overflow: hidden;
    transition: all .3s ease;
}

.sidecard-cta:hover{
    background:#e46214;
    box-shadow:0 12px 30px rgba(235,106,30,.25);
}

.sidecard-meta{
    margin:0;
    font-size:14px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,.85);
}

.sidecard-cta .help-title{
    margin:18px 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size:22px;
    line-height:1.1;
    font-weight:700;
    color:#fff !important;
}
.sidecard-cta  .help-title em {
        color: #000 !important;
        font-style: normal;
    }
.help-title::first-line{
    color:#fff;
}

.help-title{
    max-width:600px;
}

.help-title strong,
.help-title span{
    color:#231F20;
}

.phone{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 10px;
    font-size:20px;
    font-weight:700;
    color:#fff;
}

.phone svg{
    width:22px;
    height:22px;
    flex-shrink:0;
}

.help-desc{
    margin:0;
    max-width:560px;
    font-size:15.5px;
    line-height:1.45;
    color:rgba(255,255,255,.95);
}

.sidecard-icon{
    position:absolute;
    right:28px;
    bottom:28px;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:40px;
    line-height:1;
    font-weight:300;
    transition:transform .3s ease;
}

.sidecard-cta:hover .sidecard-icon{
    transform:translateX(6px);
}

@media (max-width:768px){

    .sidecard-cta{
        padding:22px;
    }

    .help-title{
        font-size:34px;
    }

    .phone{
        font-size:20px;
    }

    .help-desc{
        font-size:16px;
    }

    .sidecard-icon{
        right:20px;
        bottom:20px;
        font-size:30px;
    }
}
    /* --- Section Générique --- */
    .section {
        padding: clamp(64px, 8vw, 96px) 16px;
    }

    .section-alt {
        background: var(--color-bg-alt);
        border-top: 1px solid var(--color-border);
        border-bottom: 1px solid var(--color-border);
    }

    .section-header {
        text-align: center;
        max-width: 720px;
        margin: 0 auto 44px auto;
    }

    .section-header .label {
        margin: 0 0 12px 0;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.3em;
        color: var(--color-primary);
        text-transform: uppercase;
            text-align: center !important;
    }
        .faq-container {
        text-align: center;
        max-width: 720px;
        margin: 0 auto 44px auto;
    }

    .faq-container .label {
        margin: 0 0 12px 0;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.3em;
        color: var(--color-primary);
        text-transform: uppercase;
            text-align: center !important;
    }
    .faq-container em {
    color: var(--color-primary);
    font-style: normal;
}

.comparison-title {
    margin: 0 0 40px 0;
    font-family: var(--font-serif);
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 800;
    text-align: center;
    line-height: 1.15;
}

.comparison-title em {
    color: var(--color-primary);
    font-style: normal;
}

.comparison-title sup {
    font-size: 0.55em;
}
td.highlight {
    padding: 14px 20px !important;
    color:  rgb(47, 158, 95) !important;
    font-weight: 700 !important;
}
th .highlight {
    padding: 14px 20px !important;
    color:rgb(255, 176, 115) !important;
    font-weight: 700 !important;
}
    .section-header h2 {
        margin: 0 0 14px 0;
        font-family: var(--font-serif);
        font-size: clamp(32px, 4vw, 46px);
        font-weight: 800;
        line-height: 1.15;
    }

    .section-header h2 em {
        color: var(--color-primary);
        font-style: normal;
    }

    .section-header p {
        margin: 0;
        font-size: 18px;
        color: var(--color-text-light);
    }

    /* --- Grille Produits --- */
    .products-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 24px;
        max-width: 1100px;
        margin: 0 auto;
    }

    .product-card {
        position: relative;
        display: flex;
        flex-direction: column;
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: 1.5rem;
        overflow: hidden;
        box-shadow: 0 6px 24px -8px var(--color-shadow);
        transition: transform var(--transition), box-shadow var(--transition);
    }

    .product-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 40px -12px var(--color-shadow-dark);
    }

    .product-card.featured {
        border: 2px solid var(--color-primary);
    }

    .product-card .product-badge {
        position: absolute;
        top: 16px;
        right: 16px;
        font-weight: 700;
        font-size: 14px;
        padding: 7px 14px;
        border-radius: var(--radius-full);
        z-index: 2;
        white-space: nowrap;
    }

    .product-card .product-badge.badge-hot {
        background: var(--color-primary);
        color: var(--color-white);
    }

    .product-card .product-badge.badge-fr {
        background: var(--color-success);
        color: var(--color-white);
    }

    .product-card .product-badge.badge-light {
        background: var(--color-bg-alt);
        border: 1px solid var(--color-border);
        color: var(--color-text);
    }

    .product-card figure {
        margin: 0;
        aspect-ratio: 4 / 3;
        position: relative;
        background: var(--color-white);
    }

    .product-card figure img {
      position: absolute;
    inset: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    }

    .product-card figure img.contain {
        object-fit: contain;
        padding: 16px;
    }

    .product-card .product-body {
        display: flex;
        flex-direction: column;
        flex: 1;
        padding: 28px;
    }

    .product-card .product-body h3 {
        margin: 0 0 10px 0;
        font-family: var(--font-serif);
        font-size: 26px;
        font-weight: 700;
        line-height: 1.25;
    }

    .product-card .product-body .desc {
        margin: 0 0 14px 0;
        font-size: 18px;
        color: var(--color-text-light);
    }

    .product-card .product-body .features {
        margin: 0 0 18px 0;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 8px;
        font-size: 18px;
        color: var(--color-text-light);
    }

    .product-card .product-body .features li {
        display: flex;
        gap: 9px;
        align-items: flex-start;
    }

    .product-card .product-body .features li svg {
        flex: 0 0 auto;
        margin-top: 5px;
        stroke: var(--color-primary);
    }

    .product-card .product-body .price-old {
        color: #A08B72;
        font-size: 17px;
        text-decoration: line-through;
    }

    .product-card .product-body .price-current {
        font-size: 36px;
        font-weight: 700;
        color: var(--color-primary);
    }

    .product-card .product-body .price-note {
        margin: 0 0 18px 0;
        font-size: 15px;
        color: var(--color-text-light);
    }

    .product-card .product-body .btn {
        width: 100%;
        border-radius: var(--radius);
        min-height: 52px;
    }

    /* --- Grille Avis --- */
    .reviews-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 24px;
        max-width: 1152px;
        margin: 0 auto;
    }

    .review-card {
        background: #fff;
        border: 1px solid var(--color-border);
        border-radius: var(--radius);
        padding: 26px 24px;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .review-card .stars {
        margin: 0;
        color: var(--color-primary);
        font-size: 17px;
        letter-spacing: 0.12em;
    }

    .review-card .text {
        margin: 0;
        font-size: 16px;
        font-style: italic;
        flex: 1;
        color:#000 !important;
    }

    .review-card .author {
        display: flex;
        align-items: center;
        gap: 12px;
    }

 .author {
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid #E9DFD2;
    font-size: 16px;
}

.review-card  .author .name {
    font-weight: 700;
    color: #231F20;
}

.review-card .author .meta {
    color: #5F5A58;
}

   
   

    /* --- Grille Livraison --- */
    .delivery-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 20px;
    }

    .delivery-step {
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: 16px;
        box-shadow: 0 6px 24px -8px var(--color-shadow);
        padding: 26px 24px;
    }

    .delivery-step .step-header {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 14px;
    }

    .delivery-step .step-number {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: var(--color-primary);
        color: var(--color-white);
        font-weight: 700;
        font-size: 20px;
        font-family: var(--font-serif);
        flex: 0 0 auto;
    }

    .delivery-step .step-icon {
        stroke: var(--color-primary);
        flex-shrink: 0;
    }

    .delivery-step h3 {
        margin: 0 0 8px 0;
        font-size: 20px;
        font-weight: 700;
    }

    .delivery-step p {
        margin: 0;
        font-size: 16.5px;
        color: var(--color-text-light);
    }

    .delivery-subgrid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 20px;
        margin-top: 20px;
    }

    .delivery-subgrid .item {
        
        border: 1px solid var(--color-border);
        border-radius: 16px;
        padding: 26px 24px;
        box-shadow: 0 6px 24px -8px var(--color-shadow);
    }

    .delivery-subgrid .item h3 {
        margin: 0 0 8px 0;
        font-size: 20px;
        font-weight: 700;
    }

    .delivery-subgrid .item p {
        margin: 0;
        font-size: 16.5px;
        color: var(--color-text-light);
    }

    /* --- Grille Paiement --- */
    .payment-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
    }

    .payment-item {
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: 1rem;
        box-shadow: 0 6px 24px -8px var(--color-shadow);
        padding: 26px 24px;
    }

    .payment-item .icon-wrap {
        display: grid;
        place-items: center;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: var(--color-bg-alt);
        margin-bottom: 14px;
        color: var(--color-primary);
    }

    .payment-item h3 {
        margin: 0 0 4px 0;
        font-family: var(--font-serif);
        font-size: 22px;
        font-weight: 700;
        line-height: 1.25;
    }

    .payment-item .sub {
        margin: 0 0 10px 0;
        font-size: 15px;
        color: #8A7864;
    }

    .payment-item .desc {
        margin: 0;
        font-size: 16.5px;
        color: var(--color-text-light);
    }

    /* --- Tableau Comparatif --- */
    .comparison-wrapper {
        max-width: 900px;
        margin: 0 auto;
        overflow-x: auto;
        background: var(--color-white);
        border: 1px solid var(--color-border);
        border-radius: var(--radius);
        box-shadow: 0 6px 24px -8px var(--color-shadow);
    }

    .comparison-wrapper table {
        width: 100%;
        border-collapse: collapse;
        font-size: 17px;
        min-width: 560px;
    }

    .comparison-wrapper thead {
        background: var(--color-secondary);
        color: #F3EBE0;
    }

    .comparison-wrapper th {
        text-align: left;
        padding: 14px 20px;
        font-weight: 700;
    }

    .comparison-wrapper th.highlight {
        color: #FFB073;
    }

    .comparison-wrapper td {
        padding: 14px 20px;
        color: var(--color-text-light);
        border-top: 1px solid #F0E5D3;
    }

    .comparison-wrapper tr:nth-child(even) td {
        background: #FDF9F2;
    }

    .comparison-wrapper td .highlight {
        color: var(--color-success);
        font-weight: 700;
    }

    /* --- CTA Section --- */
    .cta-section {
        background: var(--color-primary)!important;
        padding: 72px 16px;
        text-align: center;
    }

    .cta-section h2 {
        margin: 0 0 12px 0;
        font-family: var(--font-serif);
        font-size: clamp(32px, 4.2vw, 48px);
        font-weight: 800;
        color: var(--color-white);
        line-height: 1.15;
    }

    .cta-section p {
        margin: 0 0 30px 0;
        font-size: 18px;
        color: var(--color-primary-light);
    }

    .cta-section .cta-actions {
        display: flex;
        gap: 20px;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }

    .cta-section .cta-actions .btn-white {
        background: var(--color-white);
        color: #C9560F;
        font-weight: 700;
        font-size: 17px;
        padding: 15px 32px;
        border-radius: var(--radius);
        min-height: 52px;
    }

    .cta-section .cta-actions .btn-white:hover {
        background: var(--color-bg-alt);
        transform: scale(1.02);
        color: #C9560F;
    }

    .cta-section .cta-actions .btn-phone {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: var(--color-white);
        font-weight: 700;
        font-size: 20px;
    }

    .cta-section .cta-actions .btn-phone:hover {
        color: var(--color-primary-light);
    }

    /* --- Newsletter --- */
    .newsletter-section {
        background: var(--color-bg-alt);
        padding: 72px 16px;
        text-align: center;
    }

    .newsletter-section .newsletter-inner {
        max-width: 768px;
        margin: 0 auto;
    }

    .newsletter-section .icon-circle {
        display: grid;
        place-items: center;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: #FDE4CF;
        margin: 0 auto 18px auto;
    }

    .newsletter-section h2 {
        margin: 0 0 10px 0;
        font-family: var(--font-serif);
        font-size: clamp(28px, 3.4vw, 38px);
        font-weight: 800;
        line-height: 1.2;
    }

    .newsletter-section h2 em {
        color: var(--color-primary);
        font-style: normal;
    }

    .newsletter-section p {
        margin: 0 0 26px 0;
        font-size: 17px;
        color: var(--color-text-light);
    }
.team-card .content .btn {
    background: var(--color-primary);
    color: var(--color-white);
}
    .newsletter-section form {
        display: flex;
        gap: 12px;
        justify-content: center;
        flex-wrap: wrap;
    }
.reviews-section {
    background: var(--color-white);
    padding: 80px 16px;
}

.reviews-section h2 {
    max-width: 1152px;
    margin: 0 auto 40px;
}
    .newsletter-section input[type="email"] {
        font-family: var(--font-sans);
        font-size: 17px;
        padding: 14px 20px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius);
        min-width: min(320px, 80vw);
        min-height: 52px;
        background: var(--color-white);
        color: var(--color-text);
    }

    .newsletter-section input[type="email"]:focus {
        outline: 2px solid var(--color-primary);
        outline-offset: 2px;
    }

    /* --- Footer --- */
    .site-footer {
        background: var(--color-secondary);
        color: #D8CFC2;
    }

    .footer-inner {
        max-width: 1280px;
        margin: 0 auto;
        padding: 56px 16px 30px;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
        gap: 36px;
    }

    .footer-inner .col-title {
        margin: 0 0 18px 0;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.2em;
        color: #F3EBE0;
        text-transform: uppercase;
    }

    .footer-inner .col-links {
        display: grid;
        gap: 12px;
        font-size: 16px;
    }

    .footer-inner .col-links a {
        color: #D8CFC2;
        transition: color var(--transition);
    }

    .footer-inner .col-links a:hover {
        color: var(--color-primary-light);
    }

    .footer-bottom {
        max-width: 1280px;
        margin: 0 auto;
        padding: 22px 16px 34px;
        border-top: 1px solid rgba(241, 235, 224, 0.12);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
        font-size: 15px;
        color: #9A8F82;
    }

    .footer-bottom .payment-icons {
        display: flex;
        gap: 8px;
        align-items: center;
        flex-wrap: wrap;
    }

    .footer-bottom .payment-icons span {
        border: 1px solid rgba(241, 235, 224, 0.25);
        border-radius: 6px;
        padding: 4px 10px;
        font-size: 13px;
        font-weight: 700;
    }

    .footer-bottom a {
        color: #FFB073;
        font-weight: 700;
    }

    .footer-bottom a:hover {
        color: var(--color-primary-light);
    }

    /* --- FAQ --- */
    .faq-container {
        max-width: 768px;
        margin: 0 auto;
    }

    .faq-container h2 {
        margin: 0 0 32px 0;
        font-family: var(--font-serif);
        font-size: clamp(32px, 4vw, 46px);
        font-weight: 800;
        text-align: center;
        line-height: 1.15;
    }

    .faq-list {
        border-top: 1px solid var(--color-border);
    }

    .faq-item {
        border-bottom: 1px solid var(--color-border);
    }

    .faq-item summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        padding: 20px 4px;        cursor: pointer;
        font-weight: 700;
        font-size: 18px;
        list-style: none;
    }

    .faq-item summary::-webkit-details-marker {
        display: none;
    }

    .faq-item .chevron {
        flex: 0 0 auto;
        transition: transform var(--transition);
    }

    .faq-item[open] .chevron {
        transform: rotate(180deg);
    }

    .faq-item .answer {
        margin: 0;
        padding: 0 4px 20px;
        font-size: 17px;
        color: var(--color-text-light);
    }

    /* --- Guide Box --- */
    .guide-box {
        max-width: 768px;
        margin: 0 auto;
        text-align: center;
        background: var(--color-bg-alt);
        border: 1px solid var(--color-border);
        border-radius: 1.5rem;
        padding: 44px 28px;
    }

    .guide-box h2 {
        margin: 0 0 12px 0;
        font-family: var(--font-serif);
        font-size: clamp(26px, 3.2vw, 36px);
        font-weight: 800;
        line-height: 1.2;
    }

    .guide-box p {
        margin: 0 0 26px 0;
        font-size: 17px;
        color: var(--color-text-light);
    }

    /* --- Équipe --- */
    .team-section {
        background: var(--color-white);
        padding: 0 16px 80px;
    }

    .team-card {
        max-width: 1280px;
        margin: 0 auto;
        background: var(--color-secondary);
        border-radius: 1.5rem;
        padding: clamp(28px, 4.5vw, 56px);
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: clamp(24px, 4vw, 48px);
        align-items: center;
        box-shadow: 0 20px 60px -20px var(--color-shadow-dark);
    }

    .team-card figure {
        margin: 0;
        border-radius: 1rem;
        overflow: hidden;
        position: relative;
        min-height: 300px;
        border: 1px solid rgba(241, 235, 224, 0.14);
    }

    .team-card figure img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .team-card .content .label {
        margin: 0 0 14px 0;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.3em;
        color: var(--color-primary);
        text-transform: uppercase;
        text-align: justify !important;
    }

    .team-card .content h2 {
        margin: 0 0 20px 0;
        font-family: var(--font-serif);
        font-size: clamp(30px, 3.6vw, 48px);
        font-weight: 800;
        color: #F3EBE0;
        line-height: 1.15;
    }

    .team-card .content h2 em {
        color: var(--color-primary);
        font-style: normal;
    }

    .team-card .content p {
        margin: 0 0 16px 0;
        color: #D8CFC2;
    }

    .team-card .content .btn {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        background: var(--color-primary);
        color: var(--color-white);
        font-weight: 700;
        font-size: 16px;
        padding: 14px 28px;
        border-radius: var(--radius);
        min-height: 52px;
    }

    .team-card .content .btn:hover {
        background: var(--color-primary-dark);
        color: var(--color-white);
    }

    /* --- Responsive --- */
    @media (max-width: 1024px) {
        .nav-desktop {
            display: none;
        }

        .burger-btn {
            display: grid;
        }

        .header-actions .account-link span {
            display: none;
        }

        .header-actions .account-link {
            padding: 12px;
        }
    }
#wrapper {
    padding-top: unset !important;
}
.newsletter-section form {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.newsletter-section form input[type="email"] {
    font-family: var(--font-sans);
    font-size: 17px;
    padding: 14px 20px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    min-width: min(320px, 80vw);
    min-height: 52px;
    background: var(--color-white);
    color: var(--color-text);
}
#footer {
    padding-top: unset !important;
}
.footer-bottom {
    max-width: 1280px;
    margin: 0 auto;
    padding: 22px 16px 34px;
    border-top: 1px solid rgba(241, 235, 224, 0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 15px;
    color: #9A8F82;
}

.footer-bottom .payment-icons span {
    border: 1px solid rgba(241, 235, 224, 0.25);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 700;
}

.footer-bottom a {
    color: #FFB073;
    font-weight: 700;
}
.newsletter-section form .btn {
    background: var(--color-primary);
    color: var(--color-white);
    font-weight: 700;
    min-height: 52px;
    padding: 14px 28px;
}


.newsletter-message {
    margin-top:20px;
    font-size:14px;
    color:var(--color-text-light);
}


@media(max-width:768px){

    .newsletter-section form {
        flex-direction:column;
        align-items:center;
    }

    .newsletter-section form input[type="email"],
    .newsletter-section form .btn {
        width:100%;
    }

}
    @media (max-width: 768px) {
        .hero-card {
            grid-template-columns: 1fr;
        }

        .hero-text .btn {
            align-self: stretch;
            justify-content: center;
        }

        .hero-photo {
            min-height: 280px;
        }

        .hero-sidecards {
            flex: 1 1 100%;
        }

        .top-banner {
            font-size: 12px;
            padding: 6px 12px;
        }

        .top-banner .banner-extra {
            display: none;
        }

        .top-banner .separator {
            display: none;
        }

        .section {
            padding: 48px 12px;
        }

        .product-card .product-body {
            padding: 20px;
        }

        .product-card .product-body h3 {
            font-size: 22px;
        }

        .footer-inner {
            grid-template-columns: 1fr 1fr;
            gap: 24px;
        }

        .footer-bottom {
            flex-direction: column;
            text-align: center;
        }

        .cta-section .cta-actions {
            flex-direction: column;
        }

        .newsletter-section form {
            flex-direction: column;
            align-items: center;
        }

        .newsletter-section input[type="email"] {
            min-width: 100%;
            max-width: 400px;
        }
    }

    @media (max-width: 480px) {
        .header-inner {
            gap: 12px;
        }

        .logo img {
            height: 40px;
        }

        .header-actions .cart-link {
            padding: 10px 16px;
            font-size: 14px;
        }

        .header-actions .cart-link span {
            display: none;
        }

        .header-actions .cart-badge {
            top: -4px;
            right: -4px;
            min-width: 18px;
            height: 18px;
            font-size: 11px;
        }

        .hero-text h1 {
            font-size: 28px;
        }

        .hero-text .price-current {
            font-size: 32px;
        }

        .sidecard .sidecard-title {
            font-size: 18px;
        }

        .sidecard .phone {
            font-size: 20px;
            flex-wrap: wrap;
        }

        .footer-inner {
            grid-template-columns: 1fr;
        }
    }

    /* --- Mobile Menu Overlay (à activer avec JS) --- */
    .mobile-menu-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 100;
        backdrop-filter: blur(4px);
    }

    .mobile-menu-overlay.active {
        display: block;
    }

    .mobile-menu-panel {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 300px;
        background: var(--color-white);
        padding: 24px;
        z-index: 101;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        overflow-y: auto;
        box-shadow: 4px 0 24px var(--color-shadow-dark);
    }

    .mobile-menu-panel.active {
        transform: translateX(0);
    }

    .mobile-menu-panel .close-btn {
        background: none;
        border: none;
        font-size: 28px;
        cursor: pointer;
        color: var(--color-text);
        padding: 8px;
        margin-left: auto;
        display: block;
    }

    .mobile-menu-panel nav {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 24px;
    }

    .mobile-menu-panel nav a,
    .mobile-menu-panel nav button {
        padding: 12px 16px;
        font-size: 18px;
        font-weight: 700;
        color: var(--color-text);
        border: none;
        background: none;
        text-align: left;
        cursor: pointer;
        border-radius: 8px;
        transition: background var(--transition);
        font-family: var(--font-sans);
    }

    .mobile-menu-panel nav a:hover,
    .mobile-menu-panel nav button:hover {
        background: var(--color-bg-alt);
    }

    /* --- PrestaShop Specific Overrides --- */
    /* Pour intégrer dans un thème PrestaShop, ajustez les sélecteurs existants */

    /* Correction du conteneur PrestaShop */
    .page-content {
        padding: 0;
    }

    /* Les liens PrestaShop héritent des styles */
    .btn-primary,
    .btn-secondary,
    .btn-dark {
        font-family: var(--font-sans);
    }

    /* Les inputs PrestaShop */
    .form-control {
        font-family: var(--font-sans);
        font-size: 17px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius);
        color: var(--color-text);
        width: 100%;
    }

    .form-control:focus {
        outline: 2px solid var(--color-primary);
        outline-offset: 2px;
    }
    
    /* HEADER GLOBAL */
.header-top {
    background:#fff;
}

.header-top .container {
    max-width:1400px;
    margin:auto;
    padding:14px clamp(16px,2vw,24px);
}

.header-top .row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0;
}


/* LOGO */
#_desktop_logo {
    flex:0 0 auto !important;
    width:auto !important;
    padding:0 !important;
}

#_desktop_logo img {
    height:58px;
    width:auto;
}



/* ZONE DROITE */
.header-top-right {
    flex:1;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    width:auto;
}



/* MENU */
#_desktop_top_menu {
    display:flex;
    align-items:center;
}


#_desktop_top_menu ul.top-menu {
    display:flex;
    align-items:center;
    gap:4px;
    margin:0;
    padding:0;
}


#_desktop_top_menu li {
    list-style:none;
}


#_desktop_top_menu a {

    display:flex;
    align-items:center;

    padding:10px 12px;

    font-family:Oxygen,sans-serif;
    font-size:16px;
    font-weight:700;

    color:#221f20;

    text-decoration:none;
}


#_desktop_top_menu a:hover {
    color:#eb6a1e;
}



/* COMPTE */
#_desktop_user_info {
    display:flex;
    align-items:center;
}


#_desktop_user_info .user-info a {

    display:flex;
    align-items:center;
    gap:8px;

    padding:12px 14px;

    min-height:48px;

    color:#231f20;

    font-size:16px;
    font-weight:700;

    border-radius:12px;

    text-decoration:none;

}


#_desktop_user_info i {
    font-size:22px;
}


/* changer Connexion en Mon compte */
#_desktop_user_info .hidden-sm-down {
    font-size:0;
}

  

.user-info .hidden-sm-down {
    display: inline-block !important;
    font-size: 16px !important;
}

/* PANIER */
#_desktop_cart {
    display:flex;
}


.blockcart {

    background:#eb6a1e !important;

    border-radius:999px;

    padding:12px 22px;

    min-height:48px;

}


.blockcart .header {

    display:flex;
    align-items:center;
    gap:9px;

    position:relative;

}


.blockcart .shopping-cart {
    color:white;
    font-size:20px;
}


.blockcart span.hidden-sm-down {

    color:white;

    font-size:16px;
    font-weight:700;

}



/* badge */
.cart-products-count {

    position:absolute;

    top:-18px;

    right:-18px;


    background:#231f20;

    color:white!important;

    width:22px;
    height:22px;

    border-radius:50%;

    display:flex!important;
    align-items:center;
    justify-content:center;

    font-size:13px!important;

    border:2px solid white;

}


/* enlever clearfix */
.header-top .clearfix {
    display:none;
}
.footer-container {
    background:#17130f;
    color:#d8cfc2;
}


.custom-footer-content {
    max-width:1280px;
    margin:0 auto;
    padding:56px 16px 30px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:36px;
}


.footer-column p {
    margin:0 0 18px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.2em;
    color:#f3ebe0;
}


.footer-column div {
    display:grid;
    gap:12px;
    font-size:16px;
}


.footer-column a {
    color:#d8cfc2;
    text-decoration:none;
    transition:.3s;
}


.footer-column a:hover {
    color:#ffb073;
}



.footer-bottom {

    max-width:1280px;
    margin:0 auto;
    padding:22px 16px 34px;

    border-top:1px solid rgba(241,235,224,.12);

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:16px;
    flex-wrap:wrap;

    font-size:15px;
    color:#9a8f82;

}



.payment-icons {

    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;

}

#lnk-boutique{
    position:relative;
}

#lnk-boutique .mega-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    width:1100px;
    background:#fff;
    padding:30px;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
    z-index:9999;
}

#lnk-boutique:hover .mega-menu{
    display:block;
}

.mega-menu{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
}

.mega-section a{
    display:flex;
    align-items:center;
    gap:15px;
    margin:12px 0;
}
.payment-icons span {

    border:1px solid rgba(241,235,224,.25);

    border-radius:6px;

    padding:4px 10px;

    font-size:13px;

    font-weight:700;

}



.footer-phone a {

    color:#ffb073;

    font-weight:700;

    text-decoration:none;

}



@media(max-width:768px){

    .footer-bottom {

        flex-direction:column;

        align-items:flex-start;

    }
    #checkout #_mobile_cart , #checkout #_mobile_user_info, #checkout #menu-icon{
    display:none !important;
}

}
/* =====================================================
   RESPONSIVE HEADER + MENU HAMBURGER MOBILE
   ===================================================== */


/* Bouton hamburger */
.mobile-menu-btn {
    display:none;
    width:46px;
    height:46px;
    border-radius:12px;
    border:1px solid var(--color-border);
    background:#fff;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
}


.mobile-menu-btn span{
    width:22px;
    height:2px;
    background:#231f20;
    display:block;
    transition:.3s;
}


/* Menu mobile */
.mobile-menu-wrapper{

    position:fixed;
    top:0;
    left:0;

    width:320px;
    max-width:90%;

    height:100vh;

    background:#fff;

    z-index:99999;

    transform:translateX(-100%);
    transition:.35s ease;

    box-shadow:5px 0 30px rgba(0,0,0,.15);

    overflow-y:auto;

}


.mobile-menu-wrapper.active{
    transform:translateX(0);
}



/* Overlay */
.mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    z-index:99998;

    opacity:0;

    visibility:hidden;

    transition:.3s;

}


.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}



/* Header mobile menu */
.mobile-menu-header{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:20px;

    border-bottom:1px solid var(--color-border);

}


.mobile-menu-close{

    border:0;
    background:none;

    font-size:30px;

    cursor:pointer;

}



/* Liens */
.mobile-menu-wrapper ul{

    list-style:none;

    margin:0;
    padding:20px;

}


.mobile-menu-wrapper li{

    border-bottom:1px solid #eee;

}


.mobile-menu-wrapper a{

    display:block;

    padding:15px 5px;

    color:#231f20;

    font-size:17px;

    font-weight:700;

}



/* Mega menu mobile */

#lnk-boutique .mega-menu{

    position:static;

    width:100%;

    box-shadow:none;

    padding:0;

    display:none;

}


#lnk-boutique.open .mega-menu{

    display:block;

}


.mega-menu{

    grid-template-columns:1fr;

    gap:10px;

}


.mega-section a{

    font-size:15px;

}



/* =====================================================
   TABLETTE
   ===================================================== */

@media(max-width:991px){
    div#_mobile_user_info {
    display: block !important;
}


    /* Header */
    .header-inner,
    .header-top .row{

        flex-wrap:nowrap;

    }

    .top-banner .separator {
        display:none !important;
    }

    #_desktop_top_menu{

        display:none;

    }


    .mobile-menu-btn{

        display:flex;

    }



    .header-top-right{

        gap:8px;

    }





    .blockcart{

        padding:10px 15px;

    }



}



/* =====================================================
   MOBILE
   ===================================================== */

@media(max-width:768px){


    body.menu-open{

        overflow:hidden;

    }
.separator {
    display:none;
}

    .header-top .container{

        padding:10px 15px;

    }



    #_desktop_logo img{

        height:42px;

    }



    .header-top .row{

        justify-content:space-between;

    }



    .header-top-right{

        margin-left:auto;

    }






    .blockcart{

        width:45px;

        height:45px;

        padding:0;

        border-radius:50%;

        display:flex;

        align-items:center;

        justify-content:center;

    }



    .cart-products-count{

        top:-8px;

        right:-8px;

    }


    .header-actions{

        gap:8px;

    }



}



/* =====================================================
   PETIT MOBILE
   ===================================================== */

@media(max-width:480px){


    .mobile-menu-wrapper{

        width:280px;

    }



    #_desktop_logo img{

        height:38px;

    }



    .mobile-menu-btn{

        width:42px;

        height:42px;

    }



}
/* Cart Styles */
.header-cart {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.cart-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    position: relative;
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #EB6A1E;
    color: white;
    border-radius: 50%;
    padding: 2px 6px;
    font-size: 12px;
    min-width: 20px;
    text-align: center;
}

.cart-label {
    margin-left: 5px;
    font-weight: 600;
    color: #333;
}

/* Mobile menu button */
.mobile-menu-btn {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    padding: 10px;
}

.mobile-menu-btn span {
    width: 25px;
    height: 3px;
    background: #333;
    border-radius: 3px;
    transition: 0.3s;
}

@media (max-width: 768px) {
    .mobile-menu-btn {
        display: flex;
    }
}
.mb-header{
    background:#fff;
    border-bottom:1px solid #e9dfd2;
    position:relative;
    z-index:50;
}

.mb-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:84px;
}

.mb-logo img{
    height:58px;
    width:auto;
}

.mb-navigation{
    flex:1;
    display:flex;
    justify-content:center;
}

.mb-navigation .top-menu{
    display:flex;
    gap:8px;
}

.mb-actions{
    display:flex;
    align-items:center;
    gap:15px;
}

/* Reset any conflicting styles */



@media (max-width:1199px){

    .mb-navigation{
        display:none;
    }
      .top-banner .separator {
            display: none;
        }

.top-banner .banner-item {
    display: none !important;
}
    .menu-toggle{
        display:flex !important;
        justify-content:center;
        align-items:center;
    }

    #mobile_top_menu_wrapper{
        display:block;
        background:#fff;
        border-top:1px solid #eee;
    }

    .mb-header-inner{
        min-height:70px;
    }

    .mb-logo img{
        height:46px;
    }

}
.menu-toggle {
    background: transparent;
    border: 0;
    width: 40px;
    height: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
}

.menu-toggle span {
    display:block;
    width:25px;
    height:2px;
    background:#333;
    transition:.3s;
}


#mobile_top_menu_wrapper .top-menu {
    display:block;
    padding:20px;
}


.menu-toggle {
    display: flex ;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: transparent;
    border: 1px solid #e9dfd2;
    border-radius: 12px;
    cursor: pointer;
    padding: 10px;
    box-sizing: border-box;
}

.menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #333;
    transition: 0.3s;
}

.menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
/* Mobile menu styles */
.mobile-menu-btn {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    padding: 10px;
    cursor: pointer;
}

.mobile-menu-btn span {
    width: 25px;
    height: 3px;
    background: #333;
    border-radius: 3px;
    transition: 0.3s;
}

@media (max-width: 1199px) {
 
    .mobile-menu-btn {
        display: flex;
    }
    
    .mb-navigation {
        display: none !important;
    }
    
    .mb-header-inner {
        min-height: 70px;
    }
    
    .mb-logo img {
        height: 46px;
    }
}

/* Hamburger animation */
.menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Mobile menu content */
#mobile_top_menu_wrapper .top-menu {
    display: block;
    padding: 0;
}

#mobile_top_menu_wrapper li {
    list-style: none;
    border-bottom: 1px solid #eee;
}

#mobile_top_menu_wrapper a {
    display: block;
    color: #231f20;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

/* Mobile Header - Layout adapté */
@media (max-width: 991px) {
    .mb-header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 70px;
        padding: 10px 0;
    }
    
    /* Logo au centre */
    .mb-logo {
        flex: 1;
        text-align: center;
    }
    
    .mb-logo img {
        height: 46px;
        max-height: 46px;
    }
    
    /* Actions à droite : panier + burger + compte */
    .mb-actions {
        display: flex;
        align-items: center;
        gap: 10px;
        order: 3;
    }
    
    /* Panier à gauche du burger */
    #_desktop_cart {
        display: flex;
        order: 1;
    }
    
    /* Burger menu */
    .menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        width: 44px;
        height: 44px;
        background: transparent;
        border: 1px solid #E9DFD2;
        border-radius: 12px;
        cursor: pointer;
        order: 2;
    }
    
    /* Compte à droite */
    #_desktop_user_info {
        display: flex;
        order: 3;
    }
    
  
    
    #_desktop_user_info .user-info a {
        padding: 10px 12px;
        min-height: 44px;
        font-size: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    #_desktop_user_info .user-info i {
        font-size: 24px;
        margin: 0;
    }
    
    /* Menu desktop caché */
    .mb-navigation {
        display: none !important;
    }
    
    /* Mobile menu - styles pour menu vertical */
    #mobile_top_menu_wrapper {
        transform: translateX(100%);
        transition: transform 0.35s ease;
    }
    
    #mobile_top_menu_wrapper .top-menu {
        display: block !important;
    }
    
    #mobile_top_menu_wrapper ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    #mobile_top_menu_wrapper li {
        border-bottom: 1px solid #eee;
        list-style: none;
    }
    
    #mobile_top_menu_wrapper a {
        display: block;
        color: #231f20;
        font-size: 17px;
        font-weight: 700;
        text-decoration: none;
    }
    
    #mobile_top_menu_wrapper a:hover {
        color: #EB6A1E;
    }
    
    /* Style pour le compte dans le menu mobile */
    #_mobile_user_info a {
        display: block;
        padding: 15px 5px;
        color: #231f20;
        font-size: 17px;
        font-weight: 700;
        text-decoration: none;
    }
    
    #_mobile_user_info i {
        margin-right: 10px;
        vertical-align: middle;
    }
}

/* Petit mobile */
@media (max-width: 480px) {
    .mb-logo img {
        height: 38px;
    }
    
    .menu-toggle {
        width: 40px;
        height: 40px;
    }
    
    .menu-toggle span {
        width: 20px;
        height: 2px;
    }
    
    #_desktop_cart .blockcart {
        padding: 8px 12px;
        min-height: 40px;
    }
    
    #_desktop_cart .blockcart span.hidden-sm-down {
        display: none;
    }
}
/* Mobile menu wrapper - hidden by default */
#mobile_top_menu_wrapper {
    position: fixed;
    top: 0;
    right: 0;
    width: 85%;
    max-width: 400px;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    overflow-y: auto;
    box-shadow: -5px 0 15px rgba(0,0,0,.1);
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    visibility: visible;
    display: block !important; /* Override any hidden-lg-up */
}

/* When menu is open */
#mobile_top_menu_wrapper.open {
    transform: translateX(0);
}

/* Overlay */
#mobile_overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

#mobile_overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Hide desktop menu on mobile */
@media (max-width: 1199px) {
  
    
    #mobile_top_menu_wrapper {
        display: block !important;
    }
}
/* =====================================================
   MOBILE MENU - VERTICAL STYLES
   ===================================================== */

@media (max-width: 991px) {
    
    /* Main menu container */
    #_mobile_top_menu .menu {
        display: block !important;
        position: static !important;
    }
    
    /* Top menu list - vertical layout */
    #_mobile_top_menu .top-menu {
        display: block !important;
        flex-direction: column !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    
    /* Each menu item */
    #_mobile_top_menu .top-menu > li {
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid #e9dfd2 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }
    
    /* Main menu links */
    #_mobile_top_menu .top-menu > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 15px 5px !important;
        color: #231f20 !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        transition: color 0.3s ease !important;
    }
    
    #_mobile_top_menu .top-menu > li > a:hover {
        color: #EB6A1E !important;
    }
    
    /* Arrow icon for expandable items */
    #_mobile_top_menu .menu-arrow {
        font-size: 24px !important;
        transition: transform 0.3s ease !important;
        color: #231f20 !important;
    }
    
    /* Rotate arrow when active */
    #_mobile_top_menu .top-menu > li.active > a .menu-arrow {
        transform: rotate(180deg) !important;
    }
    
    /* =============================================
       MEGA MENU - Mobile vertical layout
       ============================================= */
    #_mobile_top_menu .mega-menu {
        display: none !important;
        padding: 0 0 15px 15px !important;
        background: #f9f8f6 !important;
        border-radius: 0 0 8px 8px !important;
    }
    
    /* Show mega menu when parent is active/open */
    #_mobile_top_menu .top-menu > li.open .mega-menu,
    #_mobile_top_menu .top-menu > li.active .mega-menu {
        display: block !important;
    }
    
    /* Mega menu sections */
    #_mobile_top_menu .mega-section {
        display: block !important;
        width: 100% !important;
        padding: 10px 0 !important;
        margin-bottom: 5px !important;
        border-bottom: 1px solid #e9dfd2 !important;
    }
    
    #_mobile_top_menu .mega-section:last-child {
        border-bottom: none !important;
        margin-bottom: 0 !important;
    }
    
    /* Mega section titles */
    #_mobile_top_menu .mega-section h4 {
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #EB6A1E !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
    }
    
    /* Mega menu links */
    #_mobile_top_menu .mega-section a {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 0 !important;
        color: #231f20 !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        transition: color 0.3s ease, padding-left 0.3s ease !important;
        border-bottom: 1px solid rgba(233, 223, 210, 0.3) !important;
    }
    
    #_mobile_top_menu .mega-section a:last-child {
        border-bottom: none !important;
    }
    
    #_mobile_top_menu .mega-section a:hover {
        color: #EB6A1E !important;
        padding-left: 5px !important;
    }
    
    /* Mega menu images */
    #_mobile_top_menu .mega-section a img {
        width: 50px !important;
        height: 50px !important;
        object-fit: cover !important;
        border-radius: 8px !important;
        flex-shrink: 0 !important;
        border: 1px solid #e9dfd2 !important;
    }
    
    /* =============================================
       TOGGLE FUNCTIONALITY (for "Boutique" dropdown)
       ============================================= */
    /* Clickable area for dropdown toggle */
    #_mobile_top_menu .top-menu > li.link:first-child > a {
        cursor: pointer !important;
    }
    
    /* Remove default dropdown behavior */
    #_mobile_top_menu .dropdown-item {
        background: none !important;
        border: none !important;
    }
}

/* =====================================================
   VERY SMALL SCREENS (480px and below)
   ===================================================== */
@media (max-width: 480px) {
    #_mobile_top_menu .top-menu > li > a {
        font-size: 15px !important;
        padding: 12px 5px !important;
    }
    
    #_mobile_top_menu .mega-section a {
        font-size: 14px !important;
        padding: 8px 0 !important;
    }
    
    #_mobile_top_menu .mega-section a img {
        width: 40px !important;
        height: 40px !important;
    }
    
    #_mobile_top_menu .mega-section h4 {
        font-size: 13px !important;
    }
}





.content-section {
    padding: 80px 0;
    background: #ffffff;
}


.container {
    max-width: 1200px;
    margin: auto;
    padding: 15px 20px 0 20px;

}


/* HEADER */

.section-header {
    text-align: center;
    max-width: 750px;
    margin: 0 auto 50px;
}


.section-label {
    color: var(--color-primary);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3em;
}


.section-header h2 {
    font-family: Georgia, serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.1;
    margin-top: 18px;
    color: #2b2b2b;
}


.section-header h2 span {
    color: var(--color-primary);
    font-style: italic;
}


/* CARDS */

.content-grid {

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: auto;

}


.content-card {

    background: #ffffff;
    border: 1px solid #e5ded5;
    border-radius: 20px;
    padding: 28px;

    transition: .3s ease;

}


.content-card:hover {

    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,.06);

}


.card-icon {

    font-size: 40px;
    margin-bottom: 18px;

}


.content-card h3 {

    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    color: #2b2b2b;
    margin: 0 0 12px;

}


.content-card p {

    font-size: 16px;
    line-height: 1.7;
    color: #666;
    margin: 0;

}


/* FOOTER TEXT */

.section-footer {

    max-width: 750px;
    margin: 40px auto 0;
    text-align: center;

    font-size: 16px;
    line-height: 1.7;
    color: #666;

}


.section-footer a {

    color: var(--color-primary);
    font-weight: 700;
    text-decoration: underline;

}



/* MOBILE */

@media(max-width:768px){

    .content-section {
        padding: 50px 0;
    }


    .section-header h2 {

        font-size: 32px;

    }


    .content-grid {

        grid-template-columns: 1fr;
        gap: 18px;

    }


    .content-card {

        padding: 22px;

    }


    .section-footer {

        font-size: 14px;

    }

}
.features-section {

    padding: 80px 0;
    background: #ffffff;

}


.container {

    max-width: 1200px;
    margin: auto;
    padding: 0 20px;

}


/* HEADER */

.section-header {

    text-align: center;
    max-width: 750px;
    margin: 0 auto 50px;

}


.section-label {

    color: var(--color-primary);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3em;

}


.section-header h2 {

    font-family: Georgia, serif;
    font-size: 48px;
    line-height: 1.1;
    font-weight: 700;
    color: #2b2b2b;
    margin-top: 18px;

}


.section-header h2 span {

    color: var(--color-primary);
    font-style: italic;

}



/* TABLE */

.table-wrapper {

    max-width: 1000px;
    margin: auto;

    background: white;

    border: 1px solid #e5ded5;
    border-radius: 20px;

    overflow: hidden;

}


.features-table {

    width: 100%;
    border-collapse: collapse;
    font-size: 16px;

}



.features-table thead {

    background: #2b2b2b;
    color: white;

}


.features-table th {

    text-align: left;
    padding: 18px 20px;

    font-family: Georgia, serif;
    font-weight: 700;

}



.features-table td {

    padding: 18px 20px;
    vertical-align: top;

    color: #666;
    line-height: 1.6;

    border-bottom: 1px solid #eee;

}



.features-table tbody tr:nth-child(even) {

    background: #f5f1eb;

}



.features-table tbody tr:last-child td {

    border-bottom: none;

}



.feature-name {

    font-weight: 700;
    color: #2b2b2b !important;

}



.feature-value {

    color: var(--color-primary) !important;
    font-weight: 700;

}



/* MOBILE */

@media(max-width:768px){


    .features-section {

        padding: 50px 0;

    }


    .section-header h2 {

        font-size: 32px;

    }

    .table-wrapper {

        border-radius: 15px;
        overflow-x: auto;

    }


    .features-table {

        min-width: 750px;

    }


    .features-table th,
    .features-table td {

        padding: 14px 15px;

    }

}

@media(max-width:991px){
.mb-actions div#_desktop_user_info {
    display: none !important;
}



}
/* ==========================================
   PRODUCTS EXTRA
========================================== */

.products-extra{
    padding:80px 20px;
    background:#faf8f5;
}
.allume-feu{
  padding: 80px 0;
background: #ffffff;
}
.products-extra *{
    box-sizing:border-box;
}

.products-extra .container{
    width:100%;
    max-width:1300px;
    margin:0 auto;
}

.products-extra .section-heading{
    text-align:center;
    margin-bottom:60px;
}

.products-extra .section-heading h2{
    margin:0;
    font-family:Georgia,serif;
    font-size:48px;
    line-height:1.1;
    font-weight:700;
    color:#1e1b18;
}

.products-extra .section-heading span{
    color:var(--color-primary);
    font-style:italic;
}

/* ==========================================
   GRID
========================================== */

.products-extra .products-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px;
}

/* ==========================================
   CARD
========================================== */

.products-extra .pcard{
    display:flex;
    align-items:center;
    gap:28px;

    padding:28px;

    background:#fff;
    border:1px solid #e7ddd2;
    border-radius:22px;

    transition:.3s ease;

    width:100%;
    overflow:hidden;
}

.products-extra .pcard:hover{
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transform:translateY(-2px);
}

/* ==========================================
   IMAGE
========================================== */

.products-extra .pcard img{
    width:150px;
    height:150px;
    object-fit:contain;
    flex-shrink:0;
}

/* ==========================================
   CONTENT
========================================== */

.products-extra .product-content{
    flex:1;
    min-width:0;

    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.products-extra .product-content h3{
    margin:0 0 14px;

    font-family:Georgia,serif;
    font-size:22px;
    line-height:1.35;
    font-weight:700;

    color:#1f1b18;

    word-break:break-word;
}

.products-extra .product-content p{
    margin:0 0 22px;

    font-size:18px;
    line-height:1.6;

    color:#5f5a56;

    word-break:break-word;
}

/* ==========================================
   BUTTON
========================================== */

.products-extra .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:14px 28px;

    border-radius:999px;

    text-decoration:none;
    font-size:17px;
    font-weight:700;

    white-space:nowrap;
}

/* ==========================================
   TABLET
========================================== */

@media (max-width:991px){

    .products-extra .products-grid{
        grid-template-columns:1fr;
    }

}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:768px){

    .products-extra{
        padding:60px 15px;
    }

    .products-extra .section-heading h2{
        font-size:36px;
    }

    .products-extra .pcard{
        flex-direction:column;
        text-align:center;
        align-items:center;
        padding:25px;
    }

    .products-extra .pcard img{
        width:140px;
        height:140px;
    }

    .products-extra .product-content{
        align-items:center;
    }

    .products-extra .product-content h3{
        font-size:24px;
    }

    .products-extra .product-content p{
        font-size:17px;
    }

    .products-extra .btn{
        width:100%;
        max-width:300px;
        white-space:normal;
    }

}

/* ==========================================
   SMALL PHONES
========================================== */

@media (max-width:480px){

    .products-extra{
        padding:50px 12px;
    }

    .products-extra .section-heading h2{
        font-size:30px;
    }

    .products-extra .pcard{
        padding:20px;
    }

    .products-extra .pcard img{
        width:120px;
        height:120px;
    }

    .products-extra .product-content h3{
        font-size:20px;
    }

    .products-extra .product-content p{
        font-size:16px;
    }

    .products-extra .btn{
        font-size:16px;
        padding:13px 20px;
    }

}
/* ==========================================
   PRODUCT DESCRIPTION
   File: product-description.css
========================================== */


#product-description-content{

    padding:80px 20px;

    background:#ffffff;

}



#product-description-content 
.product-description-container{

    max-width:800px;

    margin:0 auto;

    font-size:18px;

    line-height:1.75;

    color:#555;

}



#product-description-content h2{


    font-family:"Playfair Display", serif;

    font-size:42px;

    line-height:1.1;

    font-weight:700;

    letter-spacing:-0.8px;

    color:#202820;

    margin:0 0 28px;

}



#product-description-content p{

    margin:0 0 40px;

    color:#666;

}





#product-description-content a:hover{

    color:#5c7025;

}



/* MOBILE */

@media(max-width:768px){


    #product-description-content{

        padding:50px 20px;

    }


    #product-description-content 
    .product-description-container{

        font-size:16px;

        line-height:1.65;

    }


    #product-description-content h2{

        font-size:32px;

    }


}
#product-faq{

    background:#f6f0e8;

    padding:80px 20px;

}


#product-faq .faq-container{

    max-width:768px;

    margin:auto;

}



#product-faq .faq-header{

    text-align:center;

    margin-bottom:48px;

}


#product-faq .faq-label{

    color:var(--color-primary);

    font-size:11px;

    font-weight:700;

    letter-spacing:.3em;

    text-transform:uppercase;

}


#product-faq h2{

    margin-top:16px;

    font-family:"Playfair Display",serif;

    font-size:48px;

    line-height:1.1;

    font-weight:700;

}


#product-faq h2 span{

    color:var(--color-primary);

    font-style:italic;

}



/* FAQ */

#product-faq .faq-item{

    border-bottom:1px solid #e9dfd2;

}


#product-faq summary{

    list-style:none;

    cursor:pointer;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    padding:22px 0;

    font-size:18px;

    font-weight:700;

    color:#231F20;

}



#product-faq summary::-webkit-details-marker{

    display:none;

}



#product-faq .chevron{

    transition:.3s ease;

    flex-shrink:0;

}


#product-faq details[open] .chevron{

    transform:rotate(180deg);

}



#product-faq .answer{

    padding:0 0 25px;

    color:#666;

    font-size:16px;

    line-height:1.7;

}



@media(max-width:768px){

    #product-faq{

        padding:50px 20px;

    }


    #product-faq h2{

        font-size:34px;

    }


    #product-faq summary{

        font-size:16px;

    }

}




/* =====================================
   PRODUCT REVIEWS
===================================== */


#avis{

    padding:80px 20px;

    background:#f6f0e8;

}



#avis .reviews-container{

    max-width:1200px;

    margin:auto;

}



/* HEADER */


#avis .reviews-header{

    max-width:768px;

    margin:0 auto 48px;

    text-align:center;

}



#avis .reviews-label{

    display:block;

    color:var(--color-primary);

    font-size:11px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.3em;

    margin-bottom:16px;

}



#avis h2{

    font-family:"Playfair Display",serif;

    font-size:48px;

    line-height:1.1;

    font-weight:700;

    color:#231F20;

    margin:16px 0;

}



#avis h2 span{

    color:var(--color-primary);

    font-style:italic;

}



#avis .reviews-header p{

    color:#666;

    font-size:18px;

}



/* GRID */


#avis .reviews-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

    max-width:1150px;

    margin:auto;

    align-items:start;

}



/* CARD */


#avis .review-card{

    background:#fff;

    border:1px solid #e9dfd2;

    border-radius:20px;

    padding:28px;

    display:flex;

    flex-direction:column;

    transition:.3s ease;

}



#avis .review-card:hover{

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}



/* STARS */


#avis .stars{

    color:var(--color-primary);

    font-size:20px;

    letter-spacing:2px;

}



/* TEXT */


#avis .review-text{

    margin-top:16px;

    color:#231F20;

    font-size:16px;

    line-height:1.7;

    font-style:italic;

    flex:1;

}



/* AUTHOR */


#avis .review-author{

    margin-top:24px;

    padding-top:20px;

    border-top:1px solid #e9dfd2;

}



#avis .review-author p{

    margin:0;

    font-size:15px;

    font-weight:700;

    color:#231F20;

}



#avis .review-author span{

    display:block;

    margin-top:6px;

    font-size:12px;

    color:#777;

}



/* MOBILE */


@media(max-width:900px){


    #avis .reviews-grid{

        grid-template-columns:1fr;

    }


    #avis h2{

        font-size:34px;

    }


    #avis{

        padding:50px 20px;

    }

}
/* =====================================
   PRODUCT CTA
===================================== */


#product-cta{

    background:var(--color-primary);

    color:white;

    padding:80px 20px;

    text-align:center;

}



#product-cta .cta-container{

    max-width:768px;

    margin:auto;

}



/* TITLE */


#product-cta h2{

    font-family:"Playfair Display",serif;

    font-size:48px;

    line-height:1.1;

    font-weight:700;

    margin:0;

}



#product-cta h2 span{

    font-style:italic;

}





/* PRICE */


#product-cta .cta-price{

    display:flex;

    justify-content:center;

    align-items:baseline;

    gap:12px;

    flex-wrap:wrap;

    margin-top:24px;

}



#product-cta .current-price{

    font-family:"Playfair Display",serif;

    font-size:56px;

    font-weight:700;
    color:#fff !important;

}



#product-cta .old-price{

    font-size:28px;

    text-decoration:line-through;

    opacity:.8;

}





/* BUTTON */


#product-cta .cta-button{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    margin-top:32px;

    background:white;

    color:var(--color-primary);

    font-size:18px;

    font-weight:700;

    padding:20px 40px;

    border-radius:999px;

    text-decoration:none;

    transition:.3s ease;

}



#product-cta .cta-button:hover{

    opacity:.9;

}





/* PHONE */


#product-cta .cta-phone{

    margin-top:24px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    flex-wrap:wrap;

    font-size:16px;
    color:#fff !important;

}

.tabs{
    display: none !important;
}

#product-cta .cta-phone svg{

    width:16px;

    height:16px;

}



#product-cta .cta-phone a{

    color:white;

    font-weight:700;

    text-decoration:underline;

}





/* MOBILE */


@media(max-width:768px){


    #product-cta{

        padding:55px 20px;

    }


    #product-cta h2{

        font-size:34px;

    }


    #product-cta .current-price{

        font-size:44px;

    }


    #product-cta .old-price{

        font-size:22px;

    }


    #product-cta .cta-button{

        width:100%;

    }

}
.product-add-to-cart{
    max-width:615px;
}


/* STOCK */

.custom-availability{
    margin:15px 0 25px;
    color:#07843b;
    font-size:17px;
    font-weight:600;
}



/* QUANTITY */

.custom-quantity{
    display:flex;
    align-items:center;
    gap:15px;
}


.custom-quantity .control-label{
    font-weight:600;
    font-size:18px;
}


.custom-quantity .qty{
    display:flex;
    align-items:center;
    border:1px solid #eadbd0;
    border-radius:30px;
    height:46px;
}


.qty-btn{

    width:45px;
    height:44px;
    background:white;
    border:0;
    font-size:25px;

}


.custom-quantity input{

    width:50px;
    border:0;
    text-align:center;
    font-size:18px;

}



/* REMISE */

.quantity-discount-box{
    margin-top:28px;
}


.quantity-discount-box h4{

    font-size:14px;
    color:#555;
    letter-spacing:.5px;

}


.discount-title,
.discount-row{

    display:grid;
    grid-template-columns:1fr 1.5fr 1.5fr;

}


.discount-title{

    padding:15px 0;
    font-size:13px;
    color:#555;

}


.discount-row{

    padding:16px 0;
    border-bottom:1px solid #eadfd7;
}



/* MESSAGE */

.shipping-box{

    margin-top:25px;
    background:#faf7f2;
    border:1px solid #e9ddd1;
    border-radius:18px;

    padding:20px;

    display:flex;
    gap:15px;

}


.shipping-box p{
    margin:0;
    font-size:16px;
}



/* BUTTON */

.add .add-to-cart{

    margin-top:25px;

    width:100%;
    height:68px;

    border-radius:40px;

    background:#f35b18;
    border:0;

    font-size:20px;
    font-weight:700;

}


.add .add-to-cart:hover{

    background:#e34f10;

}
/* =====================================
   REMISES PAR QUANTITE
===================================== */

.quantity-discount {
    margin-top: 35px;
    width: 100%;
}


/* Titre */
.discount-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #77706a;
    font-weight: 700;
    margin-bottom: 12px;
}


/* Table */
.discount-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}


/* Header */
.discount-table thead tr {
    border-bottom: 1px solid #e9dfd2;
}


.discount-table th {
    text-align: left;
    padding: 10px 8px;
    font-size: 13px;
    text-transform: uppercase;
    color: #77706a;
    font-weight: 700;
}


/* Rows */
.discount-table tbody tr {
    border-bottom: 1px solid #e9dfd2;
}


.discount-table td {
    padding: 10px 8px;
    color: #3d352d;
}


/* Hover */
.discount-table tbody tr:hover {
    background: #faf7f2;
}


/* Mobile */
@media(max-width:768px){

    .discount-table {
        font-size:14px;
    }

    .discount-table th {
        font-size:12px;
    }

    .discount-table td,
    .discount-table th {
        padding:9px 5px;
    }

}
.stock-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 15px;
    padding: 8px 14px;
    color: #198754;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
}

.stock-status.js-product-availability {
    color: #198754;
}
.payment-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 1rem;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 999px;
  white-space: nowrap;
}

.badge-outline {
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  color: #222;
}

.paypal {
  color: #003087;
}

.badge-primary {
  background:#ff9a5230;
  color: var(--color-primary);
}

.badge-success {
  background: #dcfce7;
  color: #166534;
}

.secure-payment {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6b7280;
}

.secure-payment svg {
  width: 14px;
  height: 14px;
  color: #6b7280;
  flex-shrink: 0;
}
.product-prices .tax-shipping-delivery-label{
    display:none;
}
.product-price {
    color:var(--color-primary) !important;
}
.bootstrap-touchspin {
    display: flex !important;

}
.product-price-wrapper {
    margin: 25px 0;
}

.price-row{
    display:flex;
    align-items:flex-end;
    gap:14px;
    flex-wrap:wrap;
}

.current-price{
    font-size:42px;
    font-weight:700;
    color:var(--color-primary);
    line-height:1;
}

.old-price{
    font-size:24px;
    color:#8b8b8b;
    text-decoration:line-through;
    line-height:1;
}

.saving-badge{
    display:inline-flex;
    align-items:center;
    background:#dcfce7;
    color:#166534;
    padding:6px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}

@media (max-width:768px){

    .current-price{
        font-size:34px;
    }

    .old-price{
        font-size:20px;
    }
}
.engagements-section {
  max-width: 800px;
  margin-bottom: 5rem;
}

.engagements-section--intro {
  margin-bottom: 3rem;
}

.engagements-section h1,
.engagements-section h2,
.feature-card h3,
.cta-box h2 {
  font-family: serif;
  font-weight: 700;
  color: inherit;
  margin: 0 0 1rem;
}

.engagements-section h1 {
  font-size: 2.25rem;
  line-height: 1.2;
}

.engagements-section h2 {
  font-size: 1.875rem;
  line-height: 1.3;
}

.engagements-section p,
.content {
  font-size: 1.125rem;
  line-height: 1.7;
  color: #000 !important;
}

.engagements-section p {
  margin: 0 0 1.25rem;
}

.engagements-section .features-section {
  max-width: 900px;
}

.features-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.feature-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
}

.feature-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.feature-card h3 {
  font-size: 1.25rem;
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

.feature-card p {
  margin: 0;
  color: rgba(0, 0, 0, 0.85);
  flex: 1;
}

.check-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

.check-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: #000 !important;
}

.check-list li::before {
    content: "";
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    display: block;
    margin-top: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23eb621e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.link-line {
  padding-top: 0.5rem;
  margin:12px 0;
}

.link-line a {
  display: inline-flex;
  align-items: center;
  color: #eb621e;
  font-weight: 600;
  text-decoration: none;
}

.engagements-section .cta-section {
  max-width: 900px;
  margin: 0 auto 2rem;
}

.cta-box {
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  background: #eb621e;
  color: #fff;
  padding: 1.5rem 1.5rem 3rem;
  text-align: center;
  margin: 15px;
}

.cta-box::before,
.cta-box::after {
  content: "";
  position: absolute;
  border-radius: 9999px;
  filter: blur(48px);
}

.cta-box::before {
  top: -6rem;
  left: -6rem;
  width: 18rem;
  height: 18rem;
  background: rgba(255, 255, 255, 0.1);
}

.cta-box::after {
  bottom: -8rem;
  right: -6rem;
  width: 24rem;
  height: 24rem;
  background: rgba(0, 0, 0, 0.2);
}

.cta-box > * {
  position: relative;
  z-index: 1;
}

.cta-box p {
  color: rgba(255, 255, 255, 0.95);
}

.cta-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
}



.btn-outline {
  border: 2px solid #fff;
  color: #fff;
}

.btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
}

.cta-phone {
  font-size: 1.125rem;
  color: rgba(255, 255, 255, 0.9);
  margin: 0;
}
.page-content.page-cms {
    padding: 0 !important;
    text-align: initial !important;
    background: transparent !important;
}
#cms section#wrapper{
    background :#fff !important;
}
@media (min-width: 768px) {
  .engagements-section h1 {
    font-size: 3rem;
  }

  .engagements-section h2 {
    font-size: 2.25rem;
  }

  .features-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .feature-card {
    padding: 2rem;
  }

  .cta-box {
    padding: 4rem 3rem;
  }

  .cta-actions {
    flex-direction: row;
  }
}


#main .page-content, #main .page-footer, #main .page-header {
     margin-bottom: 0 !important;
}




/* Main container */
.mm_columns_ul{
    flex-direction:column !important;
    width:100% !important;
    gap:30px !important;
    padding:24px !important;
    margin:0 !important;
    list-style:none !important;
    background:#fff !important;
}

/* Section */
.mm_blocks_ul{
    display:flex !important;
    flex-direction:column !important;
    gap:25px !important;
    padding:0 !important;
    margin:0 !important;
    list-style:none !important;
}

.mm_blocks_li{
    width:100% !important;
    margin:0 !important;
}

/* Category title */
.ets_mm_block > .h4{
    display:block !important;
    margin:0 0 18px !important;
    font-size:12px !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:.15em !important;
    color:#666 !important;
    border:0 !important;
}

/* Products grid */
.ets_mm_block_content{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
}

/* Product card */
#header .product-miniature{
    width:auto !important;
    margin:0 !important;
}

#header .product-miniature .thumbnail-container{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    min-height:88px !important;
    padding:14px !important;
    border:1px solid #ddd !important;
    border-radius:18px !important;
    background:#fff !important;
    transition:.25s !important;
}

#header .product-miniature .thumbnail-container:hover{
    border-color:#b8863b !important;
    box-shadow:0 8px 24px rgba(0,0,0,.08) !important;
}

/* Image */
#header .product-thumbnail{
    flex:0 0 64px !important;
    width:64px !important;
    height:64px !important;
}

#header .product-thumbnail img{
    width:64px !important;
    height:64px !important;
    object-fit:cover !important;
    border-radius:12px !important;
}

/* Text block */
.mm-product-description{
    flex:1 !important;
    min-width:0 !important;
}

/* Product name */
.product-title{
    display:block !important;
    margin:0 0 8px !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
}

.product-title a{
    color:#222 !important;
    text-decoration:none !important;
}

/* Price */
.product-price-and-shipping{
    margin-top:6px !important;
}

.product-price-and-shipping .price{
    font-size:20px !important;
    font-weight:700 !important;
    color:var(--color-primary) !important;
}

.product-price-and-shipping .regular-price{
    display:block !important;
    margin-top:3px !important;
    font-size:13px !important;
    color: var(--color-primary) !important;
}

/* Hide unnecessary elements */
.product-list-reviews,
.highlighted-informations,
.quick-view,
.product-flags{
    display:none !important;
}

/* Divider between categories */
.mm_blocks_li + .mm_blocks_li{
    border-top:1px solid #e5e5e5 !important;
    padding-top:24px !important;
}

/* Responsive */
@media (max-width:1200px){
    .ets_mm_block_content{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:768px){
    .ets_mm_block_content{
        grid-template-columns:1fr !important;
    }
}

/* ============================
   HIDE ELEMENTS
============================ */

.product-list-reviews,
.highlighted-informations,
.product-flags{
    display:none !important;
}


/* ============================
   MOBILE
============================ */

@media(max-width:991px){

    .ets_mm_block_content{
        grid-template-columns:1fr;
    }

}
/* ===============================
   HEADER GLOBAL
================================ */

#header {
    margin-bottom:0!important;
    background:#fff;
}







/* ===============================
   HEADER PRINCIPAL
================================ */

#header  .mb-header {
    background:#fff!important;
    box-shadow:none!important;
    border:none!important;
}

#header  .mb-header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
}


/* Logo */




/* ===============================
   MEGA MENU REMOVE BOX
================================ */

#header  .ets_mm_megamenu,
#header  .ets_mm_megamenu_content,
#header .ets_mm_megamenu_content_content,
#header  .ets_mm_megamenu .container {

    background:transparent!important;
    box-shadow:none!important;
    border:none!important;
}



#header  .mm_menus_li.mm_has_sub {
    position: static !important;
}
#header  .ets_mm_megamenu {
    position: static !important;
}

#header  .mm_menus_li.mm_has_sub {
    position: static !important;
}

#header  .mm_columns_ul {
    position: absolute !important;
    left: -283px !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    transform: none !important;
    z-index: 9999;
}
/* Menu principal */

#header  .mm_menus_ul {

    display:flex!important;
    align-items:center;
    justify-content:center;
    background:transparent!important;
    border:none!important;
    box-shadow:none!important;

}


#header  .mm_menus_li {

    background:none!important;
    border:none!important;
}


#header  .mm_menus_li > a {

    color:#333!important;
    font-weight:500;
    padding:15px 0!important;

}


/* enlever carré autour dropdown */





/* ===============================
   ACTIONS DROITE
================================ */


#header  .mb-actions {

    display:flex;
    align-items:center;
    gap:25px;

}


#header  #_desktop_user_info a,
#header  #_desktop_cart a {

    color:#333!important;
    text-decoration:none;

}


/* ===============================
 MOBILE
================================ */

#header  #mobile_top_menu_wrapper {

    background:#fff!important;
    box-shadow:none!important;

}


#header  #mobile_top_menu_wrapper.open {

    transform:translateX(0)!important;

}


#header  #mobile_top_menu_wrapper {

    box-shadow:none!important;
}



/* enlever background module mobile */

#header  #_mobile_top_menu .ets_mm_megamenu,
#header  #_mobile_top_menu .ets_mm_megamenu_content {

    background:#fff!important;
    border:none!important;
    box-shadow:none!important;

}


/* Bouton menu */

#header  .menu-toggle span {

    background:#333!important;

}

/* HEADER STRUCTURE */
#header  .mb-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 110px;
}




/* MEGA MENU CENTER */
#header  .mb-navigation {
    flex: 1;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    z-index:10;
}


#header  #_desktop_top_menu {
    width:auto;
}


/* MEGA MENU INTERNAL CONTAINER */
#header  .ets_mm_megamenu .container{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
}

/* RIGHT ICONS */
#header  .mb-actions {
    display:flex !important;
    align-items:center;
    gap:20px;
    flex:0 0 auto;
    z-index:20;
}


/* éviter que mega menu cache le header */
#header  .ets_mm_megamenu {
    position:relative;
    z-index:15;
}


/* menu items */
#header  .mm_menus_ul {
    display:flex !important;
    align-items:center;
}
/* ==========================================
   ETS MEGAMENU MOBILE - DIRECT MENU
   Sans bouton Burger
========================================== */

@media (max-width: 1199px) {


    /* Conteneur principal */
 #header    #_mobile_top_menu {
        padding: 0 20px !important;
    }


   #header  .ets_mm_megamenu {
        width: 100% !important;
        background: #fff !important;
        position: relative !important;
        box-shadow: none !important;
    }


   #header  .ets_mm_megamenu_content,
 #header    .ets_mm_megamenu_content_content,
  #header   .ets_mm_megamenu .container {
        width:100% !important;
        padding:0 !important;
        margin:0 !important;
    }


    /* ==================================
       SUPPRESSION DU BURGER ETS
    ================================== */

   #header  .ybc-menu-toggle,
  #header    .ybc-menu-btn {
        display:none !important;
    }

@media(max-width:1199px){

#header .ets_mm_megamenu .mm_columns_ul {

    position:static !important;

    width:100% !important;

    display:none !important;

    opacity:0 !important;

    visibility:hidden !important;

    transform:none !important;

    padding:10px 0 !important;

    background:#fafafa !important;

}
    /* ==================================
       MENU PRINCIPAL TOUJOURS VISIBLE
    ================================== */

 #header    .ets_mm_megamenu .mm_menus_ul {

        display:flex !important;
        flex-direction:column !important;

        position:static !important;

        width:100% !important;
        height:auto !important;

        opacity:1 !important;
        visibility:visible !important;

        transform:none !important;

        overflow:visible !important;

        padding:0 !important;
        margin:0 !important;
    }



    /* ==================================
       CACHER HEADER RETOUR MENU
    ================================== */

   #header  .mm_menus_ul .close_menu {
        display:none !important;
    }



    /* ==================================
       ITEMS MENU
    ================================== */

  #header   .ets_mm_megamenu .mm_menus_li {

        display:block !important;

        width:100% !important;

        border-bottom:1px solid #eeeeee !important;

        background:#fff !important;

    }



    /* dernier item sans bordure */

   #header  .ets_mm_megamenu .mm_menus_li:last-child {

        border-bottom:none !important;

    }



    /* ==================================
       LIENS MENU
    ================================== */

 #header    .ets_mm_megamenu .ets_mm_url {

        display:flex !important;

        align-items:center !important;

        justify-content:space-between !important;

        width:100% !important;

        padding:16px 0 !important;

        font-size:16px !important;

        font-weight:600 !important;

        color:#111 !important;

        text-decoration:none !important;

    }



 #header    .ets_mm_megamenu .mm_menu_content_title {

        color:#111 !important;

    }








    /* ==================================
       SOUS MENU BOUTIQUE
    ================================== */




#header .ets_mm_megamenu .mm_menus_li.mm_has_sub.active > .mm_columns_ul,
#header .ets_mm_megamenu .mm_menus_li.mm_has_sub.open > .mm_columns_ul,
#header .ets_mm_megamenu .mm_menus_li.mm_has_sub:hover > .mm_columns_ul {

    display:block !important;

    opacity:1 !important;

    visibility:visible !important;

}

}



    /* colonnes produits */

#header     .ets_mm_megamenu .mm_columns_li {

        width:100% !important;

        display:block !important;

    }



    /* ==================================
       PRODUITS DANS BOUTIQUE
    ================================== */


#header     .ets_mm_block {

        padding:10px 0 !important;

    }


  #header   .ets_mm_block .h4 {

        font-size:14px !important;

        margin-bottom:10px !important;

    }



    #header .product-miniature {

        display:flex !important;

        gap:10px !important;

        margin-bottom:15px !important;

    }



    #header .product-miniature .thumbnail-container {

        display:flex !important;

        align-items:center !important;

    }



    #header .product-miniature img {

        width:60px !important;

        height:60px !important;

        object-fit:cover !important;

    }



 #header    .mm-product-description {

        padding-left:10px !important;

    }



#header     .product-title a {

        font-size:13px !important;

        color:#111 !important;

    }



#header     .product-price-and-shipping .price {

        color:var(--color-primary); !important;

        font-weight:700 !important;

    }



    /* ==================================
       HAUTEUR MENU MOBILE
    
================================== */

#header     #mobile_top_menu_wrapper {

        overflow-y:auto !important;

        max-height:100vh !important;

    }


}
@media (max-width:991px){


/* CONTENEUR PRODUITS */
#header  .ets_mm_block_content,
#header .ets_mm_block,
#header  .mm_blocks_ul,
#header  .mm_blocks_li {

    width:100% !important;
    display:block !important;
    padding:0 !important;
    margin:0 !important;

}



/* TITRE CATEGORIE */

#header .ets_mm_block > .h4 {

    display:block !important;

    padding:16px 6px 8px !important;

    font-size:12px !important;

    font-weight:700 !important;

    text-transform:uppercase;

    letter-spacing:.14em;

    color:#231f20 !important;

}



/* CHAQUE PRODUIT EN LIGNE */

#header .product-miniature {

    display:flex !important;

    width:100% !important;

    padding:12px 6px !important;

    margin:0 !important;

    min-height:56px !important;

}



#header  .thumbnail-container {

    display:flex !important;

    align-items:center !important;

    width:100% !important;

}



/* IMAGE GAUCHE */

#header .product-thumbnail {

    width:48px !important;

    height:48px !important;

    flex:none !important;

    margin-right:12px !important;

}



#header .product-thumbnail img {

    width:48px !important;

    height:48px !important;

    object-fit:cover !important;

    border-radius:8px !important;

}



/* TEXTE A DROITE */

#header  .mm-product-description {

    flex:1 !important;

    padding:0 !important;

    margin:0 !important;

}



/* NOM PRODUIT */

#header  .product-title {

    margin:0 !important;

}


#header  .product-title a {

    display:block !important;

    font-size:15px !important;

    font-weight:700 !important;

    line-height:1.25 !important;

    color:#231f20 !important;

}



/* PRIX */

#header  .product-price-and-shipping {

    margin-top:3px !important;

}


#header  .product-price-and-shipping .price {

    color:#eb6a1e !important;

    font-size:15px !important;

    font-weight:700 !important;

}



/* CACHE ELEMENTS INUTILES */

#header  .product-list-reviews,
#header  .regular-price,
#header  .product-flags,
#header  .highlighted-informations {

    display:none !important;

}



/* SEPARATION CATEGORIES */

#header  .mm_blocks_li + .mm_blocks_li {

    border-top:1px solid #e9dfd2;

    margin-top:10px !important;

}



}
/* ==========================================
   SUPPRESSION TOTALE DES HOVER / SHADOW
   ========================================== */

#header  .ets_mm_megamenu *,
#header  .ets_mm_megamenu *:focus,
#header  .ets_mm_megamenu *:active {
  background: inherit !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
  text-shadow: none !important;
  outline: none !important;
}


/* ANNULATION DU VOILE NOIR DU MEGA MENU */
#header   .layout_layout1.ets_mm_megamenu::before,
#header   .layout_layout1.ets_mm_megamenu::after {
    background-color: transparent !important;
    display: none !important;
    content: none !important;
}
#header  .ets_mm_megamenu .mm_columns_ul {
  box-shadow: none !important;
}
/* Forcer le fond blanc du mega menu au survol de Boutique */
#header  .ets_mm_megamenu .mm_menus_li.mm_has_sub:hover .mm_columns_ul,
#header  .ets_mm_megamenu .mm_columns_ul:hover {
    background: #ffffff !important;
}

/* Forcer le blanc pour tous les éléments à l'intérieur du mega menu quand il est ouvert */
#header  .ets_mm_megamenu .mm_columns_ul * {
    background: transparent !important;
}

/* ===============================
   MOBILE PRODUCT LIST
================================= */
@media (max-width:1199px){

    /* Plus de grille */
  #header   .ets_mm_block_content{
        display:block !important;
    }

    /* Article */
    #header .product-miniature{
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
    }

    /* Plus de carte */
    #header .product-miniature .thumbnail-container{
        display:flex !important;
        align-items:center !important;
        gap:12px !important;

        min-height:56px !important;
        padding:12px 0 !important;

        border:none !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    #header .product-miniature .thumbnail-container:hover{
        border:none !important;
        box-shadow:none !important;
    }

    /* Image */
    #header .product-thumbnail{
        flex:0 0 48px !important;
        width:48px !important;
        height:48px !important;
        margin:0 !important;
    }

    #header .product-thumbnail img{
        width:48px !important;
        height:48px !important;
        object-fit:cover !important;
        border-radius:8px !important;
    }

    /* Texte */
   #header  .mm-product-description{
        flex:1 !important;
        min-width:0 !important;
        padding:0 !important;
    }

    /* Nom */
 #header    .product-title{
        margin:0 0 2px !important;
        font-size:15px !important;
        line-height:1.25 !important;
        font-weight:700 !important;
    }

 #header    .product-title a{
        color:#222 !important;
        text-decoration:none !important;
    }

    /* Prix */
  #header   .product-price-and-shipping{
        margin:0 !important;
    }

 #header    .product-price-and-shipping .price{
        font-size:15px !important;
        font-weight:700 !important;
        color:#EB6A1E !important;
    }

    /* Cacher ancien prix */
  #header   .product-price-and-shipping .regular-price{
        display:none !important;
    }

    /* Cacher éléments inutiles */
#header     .product-list-reviews,
#header     .highlighted-informations,
#header     .quick-view,
#header     .product-flags{
        display:none !important;
    }

}
#header  .mm-view-all{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:12px 0;
    margin-top:12px;

    border-top:1px solid #e9dfd2;

    font-size:15px;
    font-weight:700;

    color:var(--color-primary);
    text-decoration:none;

    transition:.2s;
}

#header .mm-view-all span{
    margin-left:6px;
    transition:transform .2s;
    
}

#header  .mm-view-all:hover{
    color:#EB6A1E;
}

#header  .mm-view-all:hover span{
    transform:translateX(4px);
}
#header  a.mm-view-all {
    color:var(--color-primary) !important;
}
#header .mb-header-inner {
    min-height: auto !important;
}

.js-footer{
    display:block  !important;
}
#_mobile_top_menu .mm_columns_ul {
    display:none !important;
}


#_mobile_top_menu .mm_has_sub.active > .mm_columns_ul {
    display:block !important;
}


#_mobile_top_menu .arrow {
    transition:transform .3s ease;
}


#_mobile_top_menu .arrow.opened {
    transform:rotate(180deg);
}


#_mobile_top_menu .arrow.closed {
    transform:rotate(0deg);
}

/* ==================================================
   PAGE LIVRAISON — MADEMOISELLE BÛCHE
   CSS entièrement limité à .mlb-livraison
   ================================================== */

.mlb-livraison {
  --mlb-primary: #eb6a1e;
  --mlb-primary-foreground: #ffffff;
  --mlb-background: #ffffff;
  --mlb-secondary: #f7f2e9;
  --mlb-border: #e7e1d6;
  --mlb-foreground: #231f20;
  --mlb-muted: #6b6560;
  --mlb-cream: #fbf6ee;
  --mlb-cream-border: #e9dfd2;
  --mlb-shadow: 0 12px 35px rgba(98, 65, 42, 0.09);
  --mlb-shadow-orange: 0 12px 35px rgba(235, 106, 30, 0.14);
  --mlb-font-display: "Fraunces", Georgia, serif;
  --mlb-font-body: "Inter", Arial, sans-serif;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--mlb-foreground) !important;
  background: var(--mlb-background) !important;
  font-family: var(--mlb-font-body) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.mlb-livraison,
.mlb-livraison * {
  box-sizing: border-box !important;
}

.mlb-livraison section {
  width: 100% !important;
  margin: 0 !important;
}

.mlb-livraison .container {
  display: block !important;
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.mlb-livraison .max-w-3xl {
  margin-bottom: 51px;
  margin-top: 51px;
}

.mlb-livraison .max-w-4xl {
  margin-bottom: 51px !important;;
}

.mlb-livraison .max-w-6xl {
  max-width: 1152px !important;
  margin-bottom: 51px !important;;
}

.mlb-livraison h1,
.mlb-livraison h2,
.mlb-livraison h3,
.mlb-livraison p {
  padding: 0 !important;
  border: 0 !important;
}

.mlb-livraison h1,
.mlb-livraison h2,
.mlb-livraison h3 {
  margin-top: 0 !important;
  color: var(--mlb-foreground) !important;
  font-family: var(--mlb-font-display) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.mlb-livraison p {
  margin-top: 0 !important;
  font-size:21px;
}

.mlb-livraison a {
  text-decoration: none;
}

.mlb-livraison ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.mlb-livraison svg {
  display: block !important;
}

.mlb-livraison .italic {
  font-style: italic !important;
}

.mlb-livraison .text-primary {
  color: var(--mlb-primary) !important;
}

/* HERO */

.mlb-livraison .hero {
  background: #ffffff !important;
  border-bottom: 1px solid var(--mlb-border) !important;
}

.mlb-livraison .hero-inner {
  padding-top:50px !important;
}

.mlb-livraison .hero h1 {
  margin-bottom: 24px !important;
  font-size: clamp(38px, 5vw, 62px) !important;
  font-weight: 700 !important;
  line-height: 1.04 !important;
}

.mlb-livraison .hero p {
  max-width: 740px !important;
  margin-bottom: 0 !important;
  color: var(--mlb-muted) !important;
  font-size: 19px !important;
  line-height: 1.7 !important;
}

/* BANDEAU */

.mlb-livraison .info-bar {
  background: var(--mlb-secondary) !important;
  border-bottom: 1px solid var(--mlb-border) !important;
}

.mlb-livraison .info-bar-inner {
  padding: 30px !important;
  background:#faf6f0 !important;
}

.mlb-livraison .info-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.mlb-livraison .info-card,
.mlb-livraison .info-call {
  min-height: 94px !important;
  border-radius: 16px !important;
}

.mlb-livraison .info-card {
  display: flex !important;
  align-items: center !important;
  padding: 22px !important;
  background: #ffffff !important;
  border: 1px solid var(--mlb-border) !important;
}
#main > header > h1{
    display:none;
}
.mlb-livraison h1{
    font-size:48px;
}
.mlb-livraison .info-line {

  background: var(--color-primary) !important;
padding: 22px !important;
  min-height: 94px !important;
border-radius: 16px !important;
}
.mlb-livraison .label-line {
color: #ffffff !important;
}
.mlb-livraison .info-card p {
  margin-bottom: 0 !important;
  color: var(--mlb-foreground) !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

.mlb-livraison .info-call {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 20px 22px !important;
  color: #ffffff !important;
  background: var(--mlb-primary) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.mlb-livraison .info-call:hover {
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--mlb-shadow-orange) !important;
}

.mlb-livraison .info-call svg {
  width: 25px !important;
  height: 25px !important;
  flex: 0 0 auto !important;
}

.mlb-livraison .info-call .label {
  margin-bottom: 3px !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.mlb-livraison .info-call .phone {
  margin-bottom: 0 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 750 !important;
}

/* SECTIONS */

.mlb-livraison .section {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
  background: #ffffff !important;
}

.mlb-livraison .section-secondary {
  background: var(--mlb-secondary) !important;
}

/* PRIX */

.mlb-livraison .price-box {
  padding: 42px !important;
  background: var(--mlb-cream) !important;
  border: 1px solid var(--mlb-cream-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--mlb-shadow-orange) !important;
}

.mlb-livraison .price-box h2 {
  margin-bottom: 28px !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.mlb-livraison .price-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-bottom: 24px !important;
}

.mlb-livraison .price-card {
  padding: 26px !important;
  background: #ffffff !important;
  border: 1px solid var(--mlb-cream-border) !important;
  border-radius: 16px !important;
}

.mlb-livraison .amount-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.mlb-livraison .emoji {
  font-size: 30px !important;
  line-height: 1 !important;
}

.mlb-livraison .amount {
  color: var(--mlb-primary) !important;
  font-family: var(--mlb-font-display) !important;
  font-size: 34px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
}

.mlb-livraison .price-card .desc,
.mlb-livraison .price-note {
  margin-bottom: 0 !important;
  color: #3e3936 !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.mlb-livraison .price-note a {
  color: var(--mlb-primary) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* TITRES */

.mlb-livraison .section-header {
  max-width: 800px !important;
  margin: 0 auto 52px !important;
  text-align: center !important;
}

.mlb-livraison .eyebrow {
  display: block !important;
  color: var(--mlb-primary) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.28em !important;
}

.mlb-livraison .section-header h2 {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  font-size: clamp(34px, 4vw, 49px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
}

/* ÉTAPES */

.mlb-livraison .steps-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.mlb-livraison .step-card {
  min-width: 0 !important;
  padding: 26px !important;
  background: #ffffff !important;
  border: 1px solid var(--mlb-border) !important;
  border-radius: 20px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.mlb-livraison .step-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--mlb-shadow) !important;
}

.mlb-livraison .step-top {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 22px !important;
}

.mlb-livraison .step-number {
  display: flex !important;
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  background: var(--mlb-primary) !important;
  border-radius: 50% !important;
  font-family: var(--mlb-font-display) !important;
  font-size: 19px !important;
  font-weight: 750 !important;
}

.mlb-livraison .step-icon {
  width: 25px !important;
  height: 25px !important;
  color: var(--mlb-primary) !important;
}

.mlb-livraison .step-card h3 {
  margin-bottom: 10px !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.mlb-livraison .step-card p {
  margin-bottom: 0 !important;
  color: var(--mlb-muted) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* RÉCEPTION */

.mlb-livraison .reception-box {
  padding: 42px !important;
  background: #ffffff !important;
  border: 1px solid var(--mlb-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--mlb-shadow) !important;
}

.mlb-livraison .reception-box h2 {
  margin-bottom: 28px !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.mlb-livraison .reception-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 17px !important;
}

.mlb-livraison .reception-list li {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  color: var(--mlb-foreground) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.mlb-livraison .reception-list li > span:first-child {
  flex: 0 0 auto !important;
}

.mlb-livraison .reception-list a {
  color: var(--mlb-primary) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

.mlb-livraison .reception-note {
  margin-top: 28px !important;
  margin-bottom: 0 !important;
  padding-top: 26px !important;
  color: var(--mlb-muted) !important;
  border-top: 1px solid var(--mlb-border) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* BLOCS COMPLÉMENTAIRES */

.mlb-livraison .info-blocks {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.mlb-livraison .info-block {
  padding: 30px !important;
  background: var(--mlb-cream) !important;
  border: 1px solid var(--mlb-cream-border) !important;
  border-radius: 20px !important;
}

.mlb-livraison .info-block h3 {
  margin-bottom: 12px !important;
  font-size: 21px !important;
  font-weight: 700 !important;
}

.mlb-livraison .info-block p {
  margin-bottom: 0 !important;
  color: #3e3936 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.mlb-livraison .info-block a {
  color: var(--mlb-primary) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

/* FAQ */

.mlb-livraison .faq-section {
  background: #ffffff !important;
  border-top: 1px solid var(--mlb-border) !important;
}

.mlb-livraison .faq-list {
  width: 100% !important;
}

.mlb-livraison .faq-item {
  width: 100% !important;
  border-bottom: 1px solid var(--mlb-cream-border) !important;
}

.mlb-livraison .faq-item:first-child {
  border-top: 1px solid var(--mlb-cream-border) !important;
}

.mlb-livraison .faq-item h3 {
  margin: 0 !important;
}

.mlb-livraison .faq-question {
  display: flex !important;
  width: 100% !important;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 22px 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  color: var(--mlb-foreground) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--mlb-font-body) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  text-transform: none !important;
  cursor: pointer !important;
  appearance: none !important;
}

.mlb-livraison .faq-question:hover,
.mlb-livraison .faq-question:focus {
  color: var(--mlb-primary) !important;
  background: transparent !important;
}

.mlb-livraison .faq-chevron {
  position: relative !important;
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  flex: 0 0 12px !important;
  margin-right: 5px !important;
  border-right: 1.5px solid currentColor !important;
  border-bottom: 1.5px solid currentColor !important;
  transform: rotate(45deg) translateY(-3px) !important;
  transition: transform 0.25s ease !important;
}

.mlb-livraison .faq-question[aria-expanded="true"] .faq-chevron {
  transform: rotate(225deg) translate(-2px, -2px) !important;
}

.mlb-livraison .faq-answer {
  display: grid !important;
  grid-template-rows: 0fr !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transition:
    grid-template-rows 0.3s ease,
    opacity 0.25s ease !important;
}

.mlb-livraison .faq-item.active .faq-answer {
  grid-template-rows: 1fr !important;
  opacity: 1 !important;
}

.mlb-livraison .faq-answer-inner {
  min-height: 0 !important;
  overflow: hidden !important;
}

.mlb-livraison .faq-answer p {
  margin: 0 !important;
  padding: 0 45px 24px 0 !important;
  color: #4d4844 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

/* CTA */

.mlb-livraison .cta-section {
  color: #ffffff !important;
  background: var(--mlb-primary) !important;
}

.mlb-livraison .cta-inner {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
  text-align: center !important;
  background:#eb621e !important;
}

.mlb-livraison .cta-inner h2 {
  margin-bottom: 28px !important;
  color: #ffffff !important;
  font-size: clamp(36px, 4vw, 48px) !important;
  font-weight: 700 !important;
}

.mlb-livraison .cta-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
}

.mlb-livraison .btn-white {
  display: inline-flex !important;
  min-height: 54px !important;
  padding: 15px 30px !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--mlb-primary) !important;
  background: #ffffff !important;
  border: 1px solid #ffffff !important;
  border-radius: 999px !important;
  font-size: 17px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

.mlb-livraison .cta-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}

.mlb-livraison .cta-phone svg {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
}

/* TABLETTE */

@media (max-width: 1023px) {
  .mlb-livraison .info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .mlb-livraison .steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .mlb-livraison .container {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  .mlb-livraison .hero-inner {
    padding-top: 48px !important;
    padding-bottom: 52px !important;
  }

  .mlb-livraison .hero h1 {
    margin-bottom: 19px !important;
    font-size: 36px !important;
    line-height: 1.08 !important;
  }

  .mlb-livraison .hero p {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  .mlb-livraison .info-grid,
  .mlb-livraison .price-grid,
  .mlb-livraison .steps-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .mlb-livraison .info-card,
  .mlb-livraison .info-call {
    min-height: auto !important;
  }

  .mlb-livraison .section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .mlb-livraison .price-box,
  .mlb-livraison .reception-box {
    padding: 26px 22px !important;
    border-radius: 20px !important;
  }

  .mlb-livraison .price-box h2,
  .mlb-livraison .reception-box h2 {
    font-size: 27px !important;
  }

  .mlb-livraison .price-card {
    padding: 22px !important;
  }

  .mlb-livraison .section-header {
    margin-bottom: 36px !important;
  }

  .mlb-livraison .section-header h2 {
    font-size: 34px !important;
  }

  .mlb-livraison .step-card {
    padding: 24px !important;
  }

  .mlb-livraison .reception-list li {
    font-size: 16px !important;
  }

  .mlb-livraison .info-block {
    padding: 24px !important;
  }

  .mlb-livraison .faq-question {
    min-height: 70px !important;
    padding: 19px 0 !important;
    font-size: 16px !important;
  }

  .mlb-livraison .faq-answer p {
    padding-right: 25px !important;
    font-size: 15px !important;
  }

  .mlb-livraison .cta-inner {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
  }

  .mlb-livraison .cta-actions {
    flex-direction: column !important;
    gap: 20px !important;
  }

  .mlb-livraison .btn-white {
    width: 100% !important;
    max-width: 300px !important;
  }

  .mlb-livraison .cta-phone {
    max-width: 330px !important;
    justify-content: center !important;
    text-align: left !important;
  }
}



/* ==========================================================
   SECTIONS FULL WIDTH AVEC ESPACE INTERNE
   ========================================================== */

/* Supprimer les limites CMS */
#content-wrapper,
.page-content,
.cms,
.cms-page,
#main,
#wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Wrapper page */
.mlb-livraison {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Toutes les sections prennent l'écran */
.mlb-livraison .hero,
.mlb-livraison .info-bar,
.mlb-livraison .section,
.mlb-livraison .section-secondary,
.mlb-livraison .faq-section,
.mlb-livraison .cta-section {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}


/* ================================
   BACKGROUNDS FULL WIDTH
================================ */

.mlb-livraison .info-bar,
.mlb-livraison .section-secondary {
    background-color: #F7F2E9 !important;
}


.mlb-livraison .cta-section {
    background-color: #EB6A1E !important;
}


.mlb-container{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding-left:30px;
    padding-right:30px;
}
/* ==========================================
   CMS LIVRAISON FULL WIDTH PRESTASHOP
========================================== */

body#cms .container:has(.mlb-livraison),
body#cms .container:has(.mlb-livraison) .row,
body#cms .container:has(.mlb-livraison) #content-wrapper,
body#cms .container:has(.mlb-livraison) #main,
body#cms .container:has(.mlb-livraison) #content {
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}


.mlb-livraison{
    width:100%;
    overflow:hidden;
}


/* Ton contenu garde les marges */
.mlb-livraison .container{
    max-width:1200px;
    margin:auto;
    padding-left:30px !important;
    padding-right:30px !important;
}


  /* ==========================================================================
     1) VARIABLES — modifiables sans toucher au reste du CSS
     ========================================================================== */
  .gcb-page {
    --gcb-primary: #eb621e;          /* couleur d'accent (liens, prix, boutons) */
    --gcb-primary-foreground: #FFF8F0;
    --gcb-foreground: #2B2013;       /* texte principal */
    --gcb-muted: #6B5F4F;            /* texte secondaire */
    --gcb-border: #E9DFD2;
    --gcb-bg-page: #FDFBF7;
    --gcb-bg-white: #FFFFFF;
    --gcb-bg-secondary: rgba(233, 223, 210, 0.4);
    --gcb-radius: 14px;
    --gcb-radius-lg: 16px;
    --gcb-shadow-warm: 0 8px 24px -8px rgba(181, 101, 29, 0.25);
    --gcb-shadow-warm-lg: 0 16px 40px -12px rgba(181, 101, 29, 0.3);
    --gcb-font-display: "Fraunces", "Georgia", serif;
    --gcb-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    font-family: var(--gcb-font-body);
    color: var(--gcb-foreground);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }


  .gcb-hero {
    background: var(--gcb-bg-white);
    border-bottom: 1px solid var(--gcb-border);
  }
  .gcb-hero__inner {
    padding: 40px 16px;
  }

 

  .gcb-hero__title {
    font-family: var(--gcb-font-display);
    font-weight: 700;
    font-size: clamp(2.25rem, 4vw + 1rem, 3.75rem);
    line-height: 1.1;
    margin: 0 0 20px;
    color: var(--gcb-foreground);
  }
  .gcb-hero__title em {
    font-style: italic;
    color: var(--gcb-primary);
  }
  .gcb-hero__lead {
    font-size: clamp(1.125rem, .5vw + 1rem, 1.25rem);
    color: var(--gcb-muted);
    line-height: 1.7;
    margin: 0;
  }

  /* ==========================================================================
     4) EN-TÊTES DE SECTION
     ========================================================================== */
  .gcb-section { padding: 48px 0; }
  .gcb-section--tinted { background: var(--gcb-bg-secondary); }

  .gcb-section__head { margin-bottom: 32px; }
  .gcb-section__title {
    font-family: var(--gcb-font-display);
    font-weight: 700;
    font-size: clamp(1.875rem, 2vw + 1rem, 2.25rem);
    margin: 0 0 8px;
    color: var(--gcb-foreground);
  }
  .gcb-section__title em { font-style: italic; color: var(--gcb-primary); }
  .gcb-section__subtitle {
    font-size: 1.125rem;
    color: var(--gcb-muted);
    margin: 0;
  }

  /* ==========================================================================
     5) GRILLE DE CARTES "GUIDE"
     ========================================================================== */
.gcb-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}


.gcb-card{
    display:block;
    background:#fff;
    border:1px solid #e9dfd2;
    border-radius:14px;
    padding:24px;
    text-decoration:none;
    transition:.3s ease;
}


.gcb-card:hover{
    border-color:#EB6A1E;
    transform:translateY(-3px);
    box-shadow:0 10px 30px rgba(120,70,20,.12);
}


.gcb-card__icon{
    font-size:28px;
    line-height:1;
    margin-bottom:14px;
}


.gcb-card__eyebrow{
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#8a7b68;
    margin-bottom:8px;
}


.gcb-card__title{
    font-size:20px;
    line-height:1.3;
    color:#2B2013;
    margin:0 0 10px;
}


.gcb-card__text{
    font-size:15px;
    color:#6B5F52;
    margin-bottom:15px;
}


.gcb-card__cta{
    color:#EB6A1E;
    font-size:14px;
    font-weight:700;
}


@media(max-width:992px){
    .gcb-grid{
        grid-template-columns:repeat(2,1fr);
    }
}


@media(max-width:600px){
    .gcb-grid{
        grid-template-columns:1fr;
    }
}
  /* ==========================================================================
     6) BLOC "GUIDE" PLEINE LARGEUR (pizza / livraison)
     ========================================================================== */
  .gcb-wide-card {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background: var(--gcb-bg-white);
    border: 1px solid var(--gcb-border);
    border-radius: var(--gcb-radius);
    padding: 24px;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .gcb-wide-card:hover {
    border-color: var(--gcb-primary);
    box-shadow: var(--gcb-shadow-warm);
  }
  @media (min-width: 768px) {
    .gcb-wide-card { padding: 32px; }
  }
  .gcb-wide-card__icon { font-size: 40px; line-height: 1; }
  .gcb-wide-card__body { flex: 1; }
  .gcb-wide-card__title {
    font-family: var(--gcb-font-display);
    font-size: 22px;
    line-height: 1.35;
    margin: 0 0 8px;
    color: var(--gcb-foreground);
    transition: color .2s ease;
  }
  @media (min-width: 768px) {
    .gcb-wide-card__title { font-size: 24px; }
  }
  .gcb-wide-card:hover .gcb-wide-card__title { color: var(--gcb-primary); }

  /* ==========================================================================
     7) SECTION PRODUITS
     ========================================================================== */
  .gcb-section__title--center {
    text-align: center;
    margin-bottom: 40px;
  }

  .gcb-products {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 24px;
  }
  @media (min-width: 768px) {
    .gcb-products { grid-template-columns: repeat(2, 1fr); }
  }

  .gcb-product-card {
    display: block;
    background: var(--gcb-bg-white);
    border: 1px solid var(--gcb-border);
    border-radius: var(--gcb-radius-lg);
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .gcb-product-card:hover {
    border-color: var(--gcb-primary);
    box-shadow: var(--gcb-shadow-warm-lg);
  }
  .gcb-product-card img {
    width: 100%;
    height: 224px;
    object-fit: cover;
  }
  .gcb-product-card__body { padding: 24px; }
  .gcb-product-card__title {
    font-family: var(--gcb-font-display);
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 8px;
    transition: color .2s ease;
  }
  .gcb-product-card:hover .gcb-product-card__title { color: var(--gcb-primary); }
  .gcb-product-card__price {
    font-size: 30px;
    font-weight: 700;
    color: var(--gcb-primary);
    margin: 0;
  }

  .gcb-accessory {
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--gcb-bg-white);
    border: 1px solid var(--gcb-border);
    border-radius: var(--gcb-radius-lg);
    padding: 20px;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .gcb-accessory:hover {
    border-color: var(--gcb-primary);
    box-shadow: var(--gcb-shadow-warm);
  }
  .gcb-accessory img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
  }
  .gcb-accessory__body { flex: 1; }
  .gcb-accessory__title {
    font-family: var(--gcb-font-display);
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    transition: color .2s ease;
  }
  .gcb-accessory:hover .gcb-accessory__title { color: var(--gcb-primary); }
  .gcb-accessory__text {
    font-size: 14px;
    color: var(--gcb-muted);
    margin: 4px 0 0;
  }
  .gcb-accessory__price {
    font-size: 24px;
    font-weight: 700;
    color: var(--gcb-primary);
    white-space: nowrap;
    margin: 0;
  }

  /* ==========================================================================
     8) SECTION "FORMATS DÉCOUVERTE"
     ========================================================================== */
  .gcb-discover {
    background: var(--gcb-bg-page);
    padding: 56px 0;
    border-top: 1px solid var(--gcb-border);
    border-bottom: 1px solid var(--gcb-border);
  }
  .gcb-discover__intro {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 40px;
  }
  .gcb-badge {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--gcb-primary);
    background: var(--gcb-bg-white);
    border: 1px solid var(--gcb-border);
    border-radius: 999px;
    padding: 6px 16px;
    margin-bottom: 16px;
  }
  .gcb-discover__title {
    font-family: var(--gcb-font-display);
    font-weight: 700;
    font-size: clamp(1.875rem, 2vw + 1rem, 2.25rem);
    margin: 0 0 16px;
    color: var(--gcb-foreground);
  }
  .gcb-discover__title em { font-style: italic; color: var(--gcb-primary); }
  .gcb-discover__text {
    font-size: 1.125rem;
    color: var(--gcb-muted);
    line-height: 1.7;
    margin: 0;
  }

  .gcb-discover-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 24px;
  }
  @media (min-width: 768px) {
    .gcb-discover-grid { grid-template-columns: repeat(2, 1fr); }
  }

  .gcb-discover-card {
    display: block;
    background: var(--gcb-bg-white);
    border: 1px solid var(--gcb-border);
    border-radius: var(--gcb-radius-lg);
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
  }
  .gcb-discover-card:hover {
    border-color: var(--gcb-primary);
    box-shadow: var(--gcb-shadow-warm);
  }
  .gcb-discover-card img {
    width: 100%;
    height: 192px;
    object-fit: cover;
  }
  .gcb-discover-card__body { padding: 20px; }
  .gcb-discover-card__title {
    font-family: var(--gcb-font-display);
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 4px;
    transition: color .2s ease;
  }
  .gcb-discover-card:hover .gcb-discover-card__title { color: var(--gcb-primary); }
  .gcb-discover-card__text {
    font-size: 14px;
    color: var(--gcb-muted);
    margin: 0 0 16px;
  }
  .gcb-discover-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 600;
    color: var(--gcb-primary);
    transition: transform .2s ease;
  }
  .gcb-discover-card:hover .gcb-discover-card__cta { transform: translateX(4px); }

  .gcb-discover__more {
    text-align: center;
    margin-bottom: 32px;
  }
  .gcb-link-muted {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 600;
    color: var(--gcb-muted);
    transition: color .15s ease;
  }
  .gcb-link-muted:hover { color: var(--gcb-primary); }

  .gcb-discover__footer {
    text-align: center;
    font-size: 14px;
    color: var(--gcb-muted);
    margin: 0;
  }
  .gcb-discover__footer a {
    font-weight: 600;
    color: var(--gcb-foreground);
    transition: color .15s ease;
  }
  .gcb-discover__footer a:hover { color: var(--gcb-primary); }

  /* ==========================================================================
     9) CTA FINAL (téléphone)
     ========================================================================== */
    
    .gcb-cta__inner {
     background: var(--gcb-primary) !important;  
    padding: 56px 0 !important;   

  }
  .gcb-cta__inner { text-align: center; }
  .gcb-cta__title {
    font-family: var(--gcb-font-display);
    font-weight: 700;
    font-size: clamp(1.875rem, 2vw + 1rem, 2.25rem);
    color: var(--gcb-primary-foreground);
    margin: 0 0 16px;
  }
  .gcb-cta__phone {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: var(--gcb-font-display);
    font-weight: 700;
    font-size: clamp(1.5rem, 2vw + 1rem, 1.875rem);
    color: var(--gcb-primary-foreground);
    margin-bottom: 24px;
  }
  .gcb-cta__phone:hover { text-decoration: underline; }
  .gcb-cta__phone svg { width: 28px; height: 28px; flex-shrink: 0; }
  .gcb-cta__note {
    font-size: 1.125rem;
    color: rgba(255, 248, 240, 0.9);
    margin: 0 0 32px;
  }
  .gcb-cta__btn {
    display: inline-block;
    background: var(--gcb-bg-white);
    color: var(--gcb-primary);
    padding: 16px 32px;
    border-radius: 999px;
    font-weight: 700;
    transition: background .2s ease;
  }
  .gcb-cta__btn:hover { background: var(--gcb-bg-secondary); }
/* ==========================================
   CMS GUIDE CHAUFFAGE BOIS FULL WIDTH
========================================== */

/* Force le CMS à prendre toute la largeur */
body#cms .container:has(.gcb-page),
body#cms .container:has(.gcb-page) .row,
body#cms .container:has(.gcb-page) #content-wrapper,
body#cms .container:has(.gcb-page) #main,
body#cms .container:has(.gcb-page) #content {
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}


/* Wrapper principal */
.gcb-page{
    width:100%;
    overflow:hidden;
}


/* Contenu avec marges */
.gcb-container{
    width:100%;
    max-width:1200px;
    margin-left:auto;
    margin-right:auto;
    padding-left:30px !important;
    padding-right:30px !important;
    margin-bottom:80px;
}


/* Hero plus compact */
.gcb-container--narrow{
    max-width:900px;
}


/* Dernière section sans marge */
.gcb-container:last-child{
    margin-bottom:0;
}


/* Mobile */
@media(max-width:768px){

    .gcb-container{
        padding-left:20px !important;
        padding-right:20px !important;
        margin-bottom:50px;
    }

}

#index section#delivery , section#review , section#payment{
    
    background:#fff !important;
}


.category-hero{
    padding:60px 0;
    background:#f8f3ed !important;
}
#category nav.breadcrumb{
     background:#f8f3ed;
     margin-bottom: 0 !important;
}
.category-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 420px;
    gap:60px;
    align-items:start;
}

.category-hero__label{
    display:block;
    margin-bottom:18px;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.75rem;
    font-weight:700;
    color:#f26722;
}

.category-hero__title{
    font-size:40px !important;
    line-height:.95;
    font-weight:700;
    color:#222;
    margin:0;
}

.category-hero__title span{
    color:#f26722;
    font-style:italic;
    font-family:Georgia,serif;
}

.category-hero__description{
    margin-top:30px;
    max-width:760px;
    font-size:1.45rem;
    line-height:1.65;
    color:#4d5560;
}

.category-hero__cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.hero-card{
    background:#fff;
    border:1px solid #e7dfd7;
    border-radius:18px;
    padding:28px;
    min-height:250px;
    display:flex;
    flex-direction:column;
}

.hero-card small{
    text-transform:uppercase;
    letter-spacing:.14em;
    font-weight:700;
    color:#666;
    margin-bottom:18px;
}

.hero-card h3{
    font-size:1.9rem;
    line-height:1.15;
    margin:0;
    flex:1;
}

.hero-card h3 span{
    color:#f26722;
}

.hero-card p{
    margin:18px 0 0;
    color:#666;
    line-height:1.5;
}

.hero-card .arrow{
    margin-top:20px;
    color:#f26722;
    font-size:28px;
}

.hero-card--dark{
    background:#231f20;
    color:#fff;
    border:none;
}

.hero-card--dark small{
    color:rgba(255,255,255,.6);
}

.hero-card--dark h3{
    color:#fff;
}

/* ===========================
   PROMO PANELS
=========================== */

.promo-panel{
    display:flex;
    justify-content:flex-end;
    gap:16px;
}

.promo-panel__item{
    width:170px;
    padding:13px;
    background:#fff;
    border:1px solid #e9dfd6;
    border-radius:18px;
    display:flex;
    flex-direction:column;
    text-decoration:none;
    transition:.3s ease;
    box-shadow:0 8px 25px rgba(0,0,0,.04);
}

.promo-panel__item:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.promo-panel__item--dark{
    background:#231f20;
    border-color:#231f20;
}

.promo-panel__label{
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.18em;
    color:#6f7481;
    margin-bottom:18px;
}

.promo-panel__item--dark .promo-panel__label{
    color:rgba(255,255,255,.65);
}

.promo-panel__title{
    font-size:13px;
    line-height:1.25;
    font-weight:700;
    color:#1f2430;
    margin:0;
    flex:1;
}

.promo-panel__title span{
    color:#f26722;
}

.promo-panel__item--dark .promo-panel__title{
    color:#fff;
}

.promo-panel__text{
    margin:14px 0 0;
    font-size:10px;
    line-height:1.5;
    color:#6b7280;
}

.promo-panel__item--dark .promo-panel__text{
    color:rgba(255,255,255,.7);
}

.promo-panel__link{
    margin-top:18px;
    color:#f26722;
    font-size:22px;
    font-weight:700;
    transition:.3s;
    text-decoration:none;
}

.promo-panel__item:hover .promo-panel__link{
    transform:translateX(5px);
}

/* ===========================
   RESPONSIVE
=========================== */

@media (max-width:1200px){

    .promo-panel{
        justify-content:center;
        gap:14px;
    }

    .promo-panel__item{
        width:155px;
        min-height:225px;
        padding:18px;
    }

    .promo-panel__title{
        font-size:17px;
    }

}

@media (max-width:991px){

    .promo-panel{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:14px;
    }

    .promo-panel__item{
        width:100%;
        min-height:210px;
    }

}

@media (max-width:767px){

    .promo-panel{
        grid-template-columns:1fr;
    }

    .promo-panel__item{
        min-height:auto;
        padding:20px;
    }

    .promo-panel__label{
        margin-bottom:12px;
    }

    .promo-panel__title{
        font-size:20px;
    }

    .promo-panel__text{
        font-size:14px;
    }

    .promo-panel__link{
        margin-top:14px;
    }

}

@media (max-width:768px){

    .category-hero{
        padding:40px 0;
    }

 
    .category-hero__description{
        font-size:1.1rem;
    }

}

.hero-highlight {
    color: #F26722;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-style: italic;
    font-weight: 700;
    line-height: 1;
    font-size:44px;
}
/* Supprimer les marges du container sur la page catégorie */
body#category #wrapper .container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
}





/* Si vous voulez garder un peu d'espace sur les côtés */
body#category .category-hero {
    padding-left: 80px;
    padding-right: 80px;
}

.mlb-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    width: 100%;
}


.mlb-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 18px;
    border-radius: 14px;
    text-decoration: none;
    transition: all .3s ease;
    box-sizing: border-box;
}


.mlb-card-light {
    background: #fff;
    border: 1px solid #e9dfd2;
    color: #231f20;
}


.mlb-card-dark {
    background: #231F20;
    color: white;
}


.mlb-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(35,31,32,.12);
}


.mlb-card-light:hover {
    border-color: #EB6A1E;
}



.mlb-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #777;
}


.mlb-card-dark .mlb-label {
    color: rgba(255,255,255,.6);
}



.mlb-card h3 {
    margin: 10px 0 0;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
    flex: 1;
}


.mlb-card h3 span {
    color: #EB6A1E;
}



.mlb-card-dark h3 {
    color:white;
}



.mlb-card p {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255,255,255,.7);
}



.mlb-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin-top: 15px;
    background: #EB6A1E;
    color:white;
    font-size:11px;
    font-weight:600;
    border-radius:30px;
    padding:6px 12px;
}


.mlb-badge svg {
    width:14px;
    height:14px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}



.mlb-arrow {
    width:16px;
    height:16px;
    margin-top:15px;
    fill:none;
    stroke:#EB6A1E;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:.3s;
}


.mlb-card:hover .mlb-arrow {
    transform:translateX(5px);
}



.mlb-payment {
    display:flex;
    gap:5px;
    margin-top:15px;
}


.mlb-payment span {
    background:#1A1A1E;
    color:white;
    padding:3px 7px;
    border-radius:5px;
    font-size:10px;
    font-weight:700;
}


.mlb-payment .paypal {
    background:#003087;
}


.mlb-payment .cheque {
    background:#EB6A1E;
}



/* Responsive */
@media(max-width:768px){

    .mlb-cards {
        grid-template-columns:1fr;
    }

    .mlb-card {
        min-height:170px;
    }

}


/* ===========================
   HERO RESPONSIVE
=========================== */

@media (max-width:1400px){

    .category-hero{
        padding:50px 40px;
    }

    .category-hero__grid{
        grid-template-columns:minmax(0,1fr) 520px;
        gap:40px;
    }

    .hero-highlight{
        font-size:38px;
    }

}

@media (max-width:1199px){

    .category-hero{
        padding:50px 30px;
    }

    .category-hero__grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .category-hero__content{
        max-width:900px;
    }

    .promo-panel{
        justify-content:flex-start;
    }

    .mlb-cards{
        max-width:700px;
    }

}

@media (max-width:991px){

    .category-hero{
        padding:40px 25px;
    }

    .category-hero__title{
        font-size:40px !important;
        line-height:1;
    }

    .hero-highlight{
        display:block;
        font-size:34px;
        margin-top:8px;
    }

    .category-hero__description{
        font-size:20px;
        line-height:1.6;
        margin-top:20px;
    }

    .mlb-cards{
        grid-template-columns:repeat(3,1fr);
        gap:12px;
    }

    .mlb-card{
        min-height:175px;
        padding:16px;
    }

    .mlb-card h3{
        font-size:15px;
    }

}

@media (max-width:767px){

    body#category .category-hero{
        padding:35px 20px;
    }

    .category-hero__label{
        font-size:11px;
    }

    .category-hero__title{
        font-size:34px !important;
    }

    .hero-highlight{
        font-size:26px !important;;
    }

    .category-hero__description{
        font-size:17px !important;;
        margin-top:10px;
    }

    .mlb-cards{
        grid-template-columns:1fr;
        gap:14px;
    }

    .mlb-card{
        min-height:auto;
        padding:18px;
    }

    .mlb-card h3{
        font-size:18px;
    }

    .mlb-card p{
        font-size:13px;
    }

}

@media (max-width:480px){

    body#category .category-hero{
        padding:30px 15px;
    }

    .category-hero__title{
        font-size:28px;
    }

    .hero-highlight{
        font-size:22px;
    }

    .category-hero__description{
        font-size:16px;
    }

    .mlb-card{
        padding:16px;
    }

}

/* ==========================================
   CATEGORY PRODUCTS GRID
========================================== */

body#category #products #js-product-list .products {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    margin:20px auto;
    max-width:1200px;
}


/* remove bootstrap column behavior */

body#category .product-grid-item {

    width:100%;
    max-width:none;
    padding:0;
}



/* ==========================================
   CARD
========================================== */

body#category .product-miniature {

    height:100%;
    background:#fff;

    border:1px solid #eadfd2;
    border-radius:24px;

    overflow:hidden;

    display:flex;
    flex-direction:column;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}



/* ==========================================
 IMAGE
========================================== */


body#category .thumbnail-container {

    width:100%;

}


body#category .product-thumbnail {

    display:block;

    width:100%;

    aspect-ratio:4/3;

  

}





/* ==========================================
 DESCRIPTION
========================================== */


body#category .product-description {

    padding:28px;

    display:flex;

    flex-direction:column;

    flex:1;

}



body#category .product-title {

    font-size:24px;

    line-height:1.25;

}



/* ==========================================
 PRICE
========================================== */


body#category .price {

    color:#df6b20;

    font-size:38px;

    font-weight:800;

}



body#category .regular-price {

    color:#999;

    text-decoration:line-through;

}






/* ==========================================
 REMOVE PRESTASHOP ELEMENTS
========================================== */


body#category #js-product-list-top,
body#category .highlighted-informations {

    display:none!important;

}


body#category nav.pagination {
    display: none;
}


@media (max-width: 991px) {

    body#category #products #js-product-list .products {
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    body#category #products #js-product-list .product-item,
    body#category #products #js-product-list .js-product-miniature {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

}
/* ==========================================
   VIEW PRODUCT BUTTON
========================================== */

.product-view-link-container {
  margin: 15px 0 10px 0;
}

.product-view-link-container .btn {
  padding: 12px 20px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 8px;
  color: white;
  border: none;
  transition: all 0.3s ease;
}

.product-view-link-container .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(223, 107, 32, 0.4);
  color: white;
}

.product-view-link-container .btn .material-icons {
  font-size: 20px;
  vertical-align: middle;
  margin-right: 8px;
}


/* ================= PRODUCT MINIATURE ================= */



body#category .product-custom-content {
    margin-top: 15px;
}


/* Description */


body#category .product-short-description {
    font-size:15px;
    line-height:1.7;
    color:#666;
    margin-bottom:16px;
}


/* Bloc Pour qui */


body#category .product-target-box {

    background:#f7f1e8;
    border:1px solid #e9dfd2;
    border-radius:12px;

    padding:14px;

    margin-bottom:20px;

}



body#category .product-target-box p {

    margin:0;

    font-size:14px;

    line-height:1.6;

    color:#333;

}



body#category .product-target-box strong {

    font-weight:700;

}



/* Liste avantages */


body#category .product-features {

    list-style:none;

    padding:0;

    margin:0 0 25px 0;

}



body#category .product-features li {

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-size:15px;

    line-height:1.5;

    margin-bottom:10px;

    color:#333;

}
body#category .section-header .avis{
    display:none !important;
}

body#category .product-miniature .product-title a {
    font-size:18px !important;
    font-weight:800 !important;
}

body#category .product-features .check {

    color:#c85b24;

    font-weight:bold;

    font-size:16px;

    flex-shrink:0;

}


body#category .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#category #products #js-product-list {
   margin-left: 15px !important;
   margin-right: 15px !important;
}
 #avis_cms{
    --primary: #EB6A1E;
    --primary-foreground: #ffffff;
    --foreground: #1f1a17;
    --muted-foreground: #6b6259;
    --border: #e5e0da;
    --card: #ffffff;

    margin:0;
    font-family: "Helvetica Neue", Arial, sans-serif;
    color: var(--foreground);
    background: var(--background);
  }

  #avis_cms *{ box-sizing: border-box; }

  #avis_cms .serif{
    font-family: "Georgia", "Times New Roman", serif;
  }

  #avis_cms .container{
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
  }
  @media (min-width: 768px){
    #avis_cms .container{ padding: 0 32px; }
  }

  /* ---------- Header / Breadcrumb ---------- */
  #avis_cms .page-header{
    border-bottom: 1px solid var(--border);
    padding: 40px 0;
  }
  @media (min-width: 768px){
    #avis_cms .page-header{ padding: 56px 0; }
  }

  #avis_cms .breadcrumb{
    display:flex;
    align-items:center;
    font-size: 14px;
    color: var(--muted-foreground);
    margin-bottom: 24px;
  }
  #avis_cms .breadcrumb a{
    color: var(--muted-foreground);
    text-decoration: none;
  }
  #avis_cms .breadcrumb a:hover{ color: var(--primary); }
  #avis_cms .breadcrumb .chevron{
    width:16px;
    height:16px;
    margin: 0 8px;
  }
  #avis_cms .breadcrumb .current{ color: var(--foreground); }

  #avis_cms .page-title{
    font-size: 40px;
    line-height: 1.15;
    margin: 0 0 16px 0;
  }
  @media (min-width: 768px){
    #avis_cms .page-title{ font-size: 48px; }
  }

  #avis_cms .page-subtitle{
    font-size: 18px;
    color: var(--muted-foreground);
    max-width: 640px;
    margin: 0;
  }

  /* ---------- Reviews grid ---------- */
  #avis_cms .reviews-section{
    padding: 56px 0;
  }
  @media (min-width: 768px){
    #avis_cms .reviews-section{ padding: 80px 0; }
  }

  #avis_cms .reviews-grid{
    display:grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  @media (min-width: 768px){
    #avis_cms .reviews-grid{ grid-template-columns: 1fr 1fr; }
  }
  @media (min-width: 1024px){
    #avis_cms .reviews-grid{ grid-template-columns: 1fr 1fr 1fr; }
  }

  #avis_cms .review-card{
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px;
    display:flex;
    flex-direction: column;
  }

  #avis_cms .stars{
    display:flex;
    align-items:center;
    gap: 2px;
  }
  #avis_cms .stars .star{
    color: var(--primary);
    font-size: 18px;
    line-height:1;
  }

  #avis_cms .review-title{
    font-size: 20px;
    font-weight: 700;
    margin: 12px 0 8px 0;
  }

  #avis_cms .review-text{
    font-size: 15px;
    line-height: 1.6;
    color: rgba(31,26,23,0.85);
    flex: 1;
    margin: 0;
  }

  #avis_cms .review-footer{
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
  }

  #avis_cms .review-author{
    font-size: 14px;
    font-weight: 600;
  }

  #avis_cms .review-helpful{
    font-size: 12px;
    color: var(--muted-foreground);
    margin-top: 4px;
  }

  /* ---------- CTA card (leave a review) ---------- */
  #avis_cms .review-cta-section{
    padding-bottom: 56px;
  }
  @media (min-width: 768px){
    #avis_cms .review-cta-section{ padding-bottom: 80px; }
  }

  #avis_cms .review-cta-wrap{
    max-width: 896px;
    margin: 0 auto;
    padding: 60px;
  }
  #avis_cms .review-cta-card{
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 32px;
    text-align: center;
  }
  @media (min-width: 768px){
    #avis_cms .review-cta-card{ padding: 40px; }
  }

  #avis_cms .icon-pen{
    width:32px;
    height:32px;
    color: var(--primary);
    margin: 0 auto 12px auto;
    display:block;
  }

  #avis_cms .review-cta-title{
    font-size: 28px;
    margin: 0 0 12px 0;
  }
  @media (min-width: 768px){
    #avis_cms .review-cta-title{ font-size: 32px; }
  }

  #avis_cms .review-cta-text{
    color: var(--muted-foreground);
    margin: 0 0 24px 0;
  }

  #avis_cms .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap: 8px;
    font-weight: 600;
    border-radius: 999px;
    min-height: 48px;
    padding: 12px 24px;
    text-decoration: none;
    transition: opacity 0.15s ease, background-color 0.15s ease;
    border: none;
    cursor: pointer;
  }

  #avis_cms .btn-primary{
    background: var(--primary);
    color: var(--primary-foreground);
  }
  #avis_cms .btn-primary:hover{ opacity: 0.9; }

  #avis_cms .btn-white{
    background: #ffffff;
    color: var(--primary);
    padding: 16px 32px;
  }
  #avis_cms .btn-white:hover{ background: rgba(255,255,255,0.9); }

  #avis_cms .btn-outline{
    background: transparent;
    border: 2px solid #ffffff;
    color: #ffffff;
    padding: 16px 32px;
  }
  #avis_cms .btn-outline:hover{ background: rgba(255,255,255,0.1); }

  #avis_cms .icon-phone{
    width:20px;
    height:20px;
  }

  /* ---------- Bottom CTA banner ---------- */
  #avis_cms .banner{
    background: var(--primary);
    color: var(--primary-foreground);
    padding: 56px 0;
  }
  @media (min-width: 768px){
    #avis_cms .banner{ padding: 64px 0; }
  }

  #avis_cms .banner-inner{
    margin: 0 auto;
    padding: 70px;
    text-align: center;
     background: var(--primary);
    
  }


  #avis_cms .banner-title{
    font-size: 30px;
    margin: 0 0 24px 0;
  }
  @media (min-width: 768px){
    #avis_cms .banner-title{ font-size: 36px; }
  }

  #avis_cms .banner-actions{
    display:flex;
    flex-direction: column;
    align-items:center;
    justify-content:center;
    gap: 16px;
  }
  @media (min-width: 640px){
    #avis_cms .banner-actions{ flex-direction: row; }
  }
  #avis_cms .container{
          padding-bottom: 44px !important;
           padding-top: 44px !important;
  }
body#cms .container:has(#avis_cms),
body#cms .container:has(#avis_cms) .row,
body#cms .container:has(#avis_cms) #content-wrapper,
body#cms .container:has(#avis_cms) #main,
body#cms .container:has(#avis_cms) #content {
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}

h2.serif.banner-title {
    color: #fff;
}
 #mlb-mentions-legales {
    box-sizing: border-box;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 40px 16px 56px;
    color: #2f2a26;
    font-family: "Helvetica Neue", Arial, sans-serif;
  }

  #mlb-mentions-legales *,
  #mlb-mentions-legales *::before,
  #mlb-mentions-legales *::after {
    box-sizing: border-box;
  }

  #mlb-mentions-legales .mlb-breadcrumb {
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(47, 42, 38, 0.6);
  }

  #mlb-mentions-legales .mlb-breadcrumb a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
  }

  #mlb-mentions-legales .mlb-breadcrumb a:hover {
    color: #EB6A1E;
  }

  #mlb-mentions-legales .mlb-breadcrumb-separator {
    margin: 0 8px;
  }

  #mlb-mentions-legales .mlb-breadcrumb-current {
    color: rgba(47, 42, 38, 0.8);
  }

  #mlb-mentions-legales .mlb-header {
    width: 100%;
    max-width: 800px;
    margin-bottom: 40px;
  }

  #mlb-mentions-legales h1,
  #mlb-mentions-legales h2,
  #mlb-mentions-legales .mlb-question-title {
    font-family: Georgia, "Times New Roman", serif;
  }

  #mlb-mentions-legales h1 {
    margin: 0 0 12px;
    font-size: 48px;
    line-height: 1.15;
    font-weight: 700;
    color: #2f2a26;
  }

  #mlb-mentions-legales .mlb-date {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(47, 42, 38, 0.6);
  }

  #mlb-mentions-legales .mlb-content {
    width: 100%;
    max-width: 800px;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(47, 42, 38, 0.9);
  }

  #mlb-mentions-legales .mlb-section {
    margin-bottom: 40px;
  }

  #mlb-mentions-legales .mlb-section:last-of-type {
    margin-bottom: 0;
  }

  #mlb-mentions-legales h2 {
    margin: 0 0 16px;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 700;
    color: #2f2a26;
  }

  #mlb-mentions-legales p {
    margin: 0 0 8px;
  }

  #mlb-mentions-legales p:last-child {
    margin-bottom: 0;
  }

  #mlb-mentions-legales .mlb-bold {
    font-weight: 600;
  }

  #mlb-mentions-legales .mlb-spaced {
    margin-top: 16px;
  }

  #mlb-mentions-legales ul {
    margin: 12px 0 0;
    padding-left: 24px;
  }

  #mlb-mentions-legales li {
    margin-bottom: 8px;
    padding-left: 2px;
  }

  #mlb-mentions-legales li:last-child {
    margin-bottom: 0;
  }

  #mlb-mentions-legales a.mlb-link {
    color: #EB6A1E;
    font-weight: 600;
    text-decoration: none;
  }

  #mlb-mentions-legales a.mlb-link:hover {
    text-decoration: underline;
  }

  #mlb-mentions-legales .mlb-contact-box {
    margin-top: 48px;
    padding: 24px;
    border-radius: 12px;
    background: #faf6f0;
    border: 1px solid rgba(47, 42, 38, 0.1);
  }

  #mlb-mentions-legales .mlb-question-title {
    margin: 0 0 8px;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 700;
    color: #2f2a26;
  }

  #mlb-mentions-legales .mlb-contact-box p {
    margin: 0;
  }

  @media (max-width: 767px) {
    #mlb-mentions-legales {
      padding: 32px 16px 44px;
    }

    #mlb-mentions-legales .mlb-header {
      margin-bottom: 32px;
    }

    #mlb-mentions-legales h1 {
      font-size: 36px;
    }

    #mlb-mentions-legales h2 {
      font-size: 26px;
    }

    #mlb-mentions-legales .mlb-content {
      font-size: 16px;
      line-height: 1.65;
    }

    #mlb-mentions-legales .mlb-section {
      margin-bottom: 34px;
    }

    #mlb-mentions-legales .mlb-contact-box {
      margin-top: 40px;
      padding: 20px;
    }
  }

  @media (max-width: 480px) {
    #mlb-mentions-legales h1 {
      font-size: 32px;
    }

    #mlb-mentions-legales h2 {
      font-size: 24px;
    }

    #mlb-mentions-legales .mlb-breadcrumb {
      font-size: 13px;
    }

    #mlb-mentions-legales ul {
      padding-left: 20px;
    }
  }
  
  /* ============================================
   CGV Mademoiselle Bûche — mise en page 2 colonnes
   Fichier à coller dans le CSS du thème :
   /themes/[votre-theme]/assets/css/custom.css
   ============================================ */

.cgv-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: Georgia, 'Times New Roman', serif;
  box-sizing: border-box;
}

.cgv-wrap * {
  box-sizing: border-box;
}

/* ---- En-tête : titre + date de mise à jour ---- */
.cgv-header {
  max-width: 800px;
  margin: 0 0 40px 0;
}

.cgv-title {
  font-family: Georgia, serif;
  font-size: 36px;
  font-weight: bold;
  color: #000;
  margin: 0 0 12px 0;
  line-height: 1.15;
}

.cgv-updated {
  font-size: 15px;
  color: rgba(0,0,0,0.6);
  margin: 0;
}

@media (min-width: 768px) {
  .cgv-title {
    font-size: 48px;
  }
}

/* conteneur avec clearfix (remplace display:grid, non supporté en style inline CMS) */
.cgv-layout {
  overflow: hidden;
}

.cgv-layout::after {
  content: "";
  display: block;
  clear: both;
}

/* ---- Colonne de gauche : sommaire ---- */
.cgv-sidebar-col {
  float: left;
  width: 260px;
}

.cgv-sidebar {
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 8px;
  padding: 16px;
  background-color: #faf6f0;
}

.cgv-sidebar-title {
  font-family: Georgia, serif;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 12px 0;
}

.cgv-sidebar-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
}

.cgv-sidebar-list li {
  margin-bottom: 8px;
}

.cgv-sidebar-list a {
  color: rgba(0,0,0,0.8);
  text-decoration: none;
}

.cgv-sidebar-list a:hover {
  color: #EB6A1E;
}

/* bouton "Sommaire" affiché seulement en mobile (c'est un div, pas un button) */
.cgv-mobile-toggle {
  display: none;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 8px;
  font-size: 17px;
  font-weight: 600;
  background: #fff;
  margin-bottom: 16px;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
}

.cgv-toggle-arrow {
  transition: transform 0.2s ease;
}

.cgv-mobile-toggle.is-active .cgv-toggle-arrow {
  transform: rotate(180deg);
}

/* ---- Colonne de droite : contenu des articles ---- */
.cgv-content {
  margin-left: 300px;
  max-width: 800px;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(0,0,0,0.9);
}

.cgv-content .cgv-section {
  margin-bottom: 40px;
  scroll-margin-top: 100px; /* évite que le header fixe de PrestaShop cache l'article visé */
}

/* filet de sécurité si le header du thème est plus haut/bas que prévu :
   ajustez la valeur ci-dessus (et celle-ci) selon la hauteur réelle
   de votre header (mesurez-la dans les outils dev du navigateur) */

.cgv-content h2 {
  font-family: Georgia, serif;
  font-size: 28px;
  font-weight: bold;
  color: #000;
  margin: 0 0 16px 0;
}

.cgv-content p {
  margin: 0 0 16px 0;
}

.cgv-content p.cgv-subheading {
  font-weight: 600;
  margin-top: 16px;
}

.cgv-content ul {
  list-style-type: disc;
  padding-left: 24px;
  margin: 0;
}

.cgv-content ul li {
  margin-bottom: 8px;
}

.cgv-footer-box {
  margin-top: 48px;
  padding: 24px;
  border-radius: 12px;
  background-color: #faf6f0;
  border: 1px solid rgba(0,0,0,0.1);
}

.cgv-footer-title {
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 8px 0;
}

.cgv-footer-box a {
  color: #EB6A1E;
  font-weight: 600;
  text-decoration: none;
}

/* ===== Responsive : sous 992px, sidebar en haut, pleine largeur, repliable ===== */
@media (max-width: 991px) {
  .cgv-sidebar-col {
    float: none;
    width: 100%;
    margin-bottom: 24px;
  }

  .cgv-sidebar {
    display: none; /* masqué par défaut, ouvert par le JS via la classe is-open */
  }

  .cgv-sidebar.is-open {
    display: block;
  }

  .cgv-mobile-toggle {
    display: flex;
  }

  .cgv-content {
    margin-left: 0;
  }
}

/* ===== Sticky sidebar sur desktop (position:sticky reste possible en CSS externe) ===== */
@media (min-width: 992px) {
  .cgv-sidebar-col {
    position: sticky;
    top: 96px;
    align-self: flex-start;
  }
}

/* =========================================================
Mademoiselle Bûche - Page Retour
CSS totalement isolé avec préfixe mlb-retour-
========================================================= */

.mlb-retour-page {
--mlb-retour-primary: #eb621e;
--mlb-retour-primary-dark: #72251c;
--mlb-retour-background: #ffffff;
--mlb-retour-secondary: #f7f3ed;
--mlb-retour-card: #ffffff;
--mlb-retour-border: #e5ddd3;
--mlb-retour-text: #292521;
--mlb-retour-muted: #706a63;
--mlb-retour-warm: #fbf6ee;

width: 100%;
margin: 0;
padding: 0;
color: var(--mlb-retour-text);
background: var(--mlb-retour-background);
font-family: Arial, Helvetica, sans-serif;
box-sizing: border-box;
}

body#cms .container:has(.mlb-retour-page ),
body#cms .container:has(.mlb-retour-page ) .row,
body#cms .container:has(.mlb-retour-page ) #content-wrapper,
body#cms .container:has(.mlb-retour-page ) #main,
body#cms .container:has(.mlb-retour-page ) #content {
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}


.mlb-retour-page {
    width:100%;
    overflow:hidden;
}


/* Ton contenu garde les marges */
.mlb-retour-page  .container{
    max-width:1200px;
    margin:auto;
    padding-left:30px !important;
    padding-right:30px !important;
}

.mlb-retour-page *,
.mlb-retour-page *::before,
.mlb-retour-page *::after {
box-sizing: border-box;
}

/* =========================================================
CONTAINERS
========================================================= */

.mlb-retour-container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding-left: 20px;
padding-right: 20px;
}

.mlb-retour-container-small {
max-width: 850px;
}

.mlb-retour-container-condition {
max-width: 850px;
}

/* =========================================================
TYPOGRAPHIE
========================================================= */

.mlb-retour-page h1,
.mlb-retour-page h2,
.mlb-retour-page h3 {
font-family: Georgia, "Times New Roman", serif;
color: var(--mlb-retour-text);
}

.mlb-retour-page p {
margin-top: 0;
}

.mlb-retour-page a {
text-decoration: none;
}

/* =========================================================
HERO
========================================================= */

.mlb-retour-hero {
background: var(--mlb-retour-background);
border-bottom: 1px solid var(--mlb-retour-border);
}

.mlb-retour-hero .mlb-retour-container {
padding-top: 40px;
padding-bottom: 56px;
}

.mlb-retour-breadcrumb {
display: flex;
align-items: center;
gap: 9px;
margin-bottom: 24px;
font-size: 14px;
line-height: 1.5;
color: var(--mlb-retour-muted);
}

.mlb-retour-breadcrumb a {
color: var(--mlb-retour-muted);
transition: color .2s ease;
}

.mlb-retour-breadcrumb a:hover {
color: var(--mlb-retour-primary);
}

.mlb-retour-breadcrumb-arrow {
font-size: 20px;
line-height: 1;
color: #aaa29a;
}

.mlb-retour-breadcrumb-current {
color: var(--mlb-retour-text);
font-weight: 600;
}

.mlb-retour-hero h1 {
margin: 0 0 20px;
font-size: 48px;
line-height: 1.08;
font-weight: 700;
letter-spacing: -1px;
}

.mlb-retour-hero h1 span {
color: var(--mlb-retour-primary);
font-style: italic;
}

.mlb-retour-intro {
max-width: 820px;
margin-bottom: 0;
color: var(--mlb-retour-muted);
font-size: 20px;
line-height: 1.65;
}

/* =========================================================
BLOC 30 JOURS
========================================================= */

.mlb-retour-highlight-section {
background: var(--mlb-retour-secondary);
border-bottom: 1px solid var(--mlb-retour-border);
}

.mlb-retour-highlight-section .mlb-retour-container {
padding-top: 40px;
padding-bottom: 40px;
}

.mlb-retour-highlight {
background: var(--mlb-retour-warm);
border: 1px solid #e9dfd2;
border-radius: 24px;
padding: 34px 38px;
box-shadow: 0 8px 30px rgba(60, 40, 20, 0.06);
}

.mlb-retour-highlight-inner {
display: flex;
align-items: center;
gap: 22px;
}

.mlb-retour-check {
width: 58px;
height: 58px;
min-width: 58px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 31px;
line-height: 1;
}

.mlb-retour-highlight h2 {
margin: 0 0 8px;
font-size: 30px;
line-height: 1.2;
font-weight: 700;
}

.mlb-retour-highlight p {
margin: 0;
font-size: 18px;
line-height: 1.65;
color: var(--mlb-retour-text);
}

/* =========================================================
ÉTAPES
========================================================= */

.mlb-retour-steps-section {
background: #ffffff;
padding: 80px 0 96px;
}

.mlb-retour-section-heading {
max-width: 760px;
margin: 0 auto 48px;
text-align: center;
}

.mlb-retour-eyebrow {
color: var(--mlb-retour-primary);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.3em;
text-transform: uppercase;
margin-bottom: 15px;
}

.mlb-retour-section-heading h2 {
margin: 0;
font-size: 44px;
line-height: 1.1;
font-weight: 700;
letter-spacing: -0.8px;
}

.mlb-retour-section-heading h2 span {
color: var(--mlb-retour-primary);
font-style: italic;
}

.mlb-retour-steps-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}

.mlb-retour-step-card {
position: relative;
background: #ffffff;
border: 1px solid var(--mlb-retour-border);
border-radius: 20px;
padding: 25px;
min-height: 100%;
transition:
transform .25s ease,
box-shadow .25s ease,
border-color .25s ease;
}

.mlb-retour-step-card:hover {
transform: translateY(-3px);
border-color: #d7c9ba;
box-shadow: 0 12px 35px rgba(60, 40, 20, 0.09);
}

.mlb-retour-step-top {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 20px;
}

.mlb-retour-step-number {
width: 44px;
height: 44px;
min-width: 44px;
border-radius: 50%;
background: var(--mlb-retour-primary);
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
font-family: Georgia, "Times New Roman", serif;
font-size: 18px;
font-weight: 700;
}

.mlb-retour-step-icon {
width: 25px;
height: 25px;
color: var(--mlb-retour-primary);
}

.mlb-retour-step-icon svg {
display: block;
width: 100%;
height: 100%;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.mlb-retour-step-card h3 {
margin: 0 0 10px;
font-size: 21px;
line-height: 1.3;
font-weight: 700;
}

.mlb-retour-step-card p {
margin: 0;
color: var(--mlb-retour-muted);
font-size: 16px;
line-height: 1.65;
}

/* =========================================================
ÉTAT DU PRODUIT
========================================================= */

.mlb-retour-condition-section {
background: var(--mlb-retour-secondary);
padding: 80px 0;
}

.mlb-retour-condition-card {
background: #ffffff;
border: 1px solid var(--mlb-retour-border);
border-radius: 24px;
padding: 40px;
box-shadow: 0 8px 30px rgba(60, 40, 20, 0.06);
}

.mlb-retour-condition-heading {
display: flex;
align-items: center;
gap: 18px;
margin-bottom: 25px;
}

.mlb-retour-help-icon {
width: 56px;
height: 56px;
min-width: 56px;
border-radius: 50%;
background: rgba(139, 47, 35, 0.1);
color: var(--mlb-retour-primary);
display: flex;
align-items: center;
justify-content: center;
font-family: Georgia, "Times New Roman", serif;
font-size: 29px;
font-weight: 700;
}

.mlb-retour-condition-heading h2 {
margin: 0;
font-size: 31px;
line-height: 1.2;
font-weight: 700;
}

.mlb-retour-condition-heading h2 span {
color: var(--mlb-retour-primary);
font-style: italic;
}

.mlb-retour-condition-card p {
margin: 0 0 18px;
color: var(--mlb-retour-text);
font-size: 18px;
line-height: 1.7;
}

.mlb-retour-condition-card p:last-child {
margin-bottom: 0;
}

.mlb-retour-condition-card a {
color: var(--mlb-retour-primary);
font-weight: 700;
text-decoration: underline;
text-underline-offset: 3px;
}

/* =========================================================
CONTACT
========================================================= */

.mlb-retour-contact-section {
background: var(--mlb-retour-primary);
color: #ffffff;
}

.mlb-retour-contact-section .mlb-retour-container {
padding-top: 80px;
padding-bottom: 90px;
}

.mlb-retour-contact-content {
text-align: center;
}

.mlb-retour-contact-content h2 {
margin: 0 0 20px;
color: #ffffff;
font-size: 46px;
line-height: 1.1;
font-weight: 700;
}

.mlb-retour-contact-content > p {
margin: 0 0 32px;
color: #ffffff;
font-size: 20px;
line-height: 1.5;
}

.mlb-retour-contact-buttons {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}

.mlb-retour-phone-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
padding: 15px 30px;
background: #ffffff;
color: var(--mlb-retour-primary);
border-radius: 999px;
font-size: 18px;
font-weight: 700;
transition: background .2s ease, transform .2s ease;
}

.mlb-retour-phone-button:hover {
background: #f5f2ef;
color: var(--mlb-retour-primary-dark);
transform: translateY(-2px);
}

.mlb-retour-contact-link {
display: inline-flex;
align-items: center;
gap: 9px;
color: #ffffff;
font-size: 18px;
font-weight: 600;
text-decoration: underline;
text-underline-offset: 5px;
}

.mlb-retour-contact-link:hover {
color: #ffffff;
opacity: .85;
}

.mlb-retour-button-icon {
font-size: 18px;
line-height: 1;
}

/* =========================================================
TABLETTE
========================================================= */

@media (max-width: 991px) {

.mlb-retour-steps-grid {
grid-template-columns: repeat(2, 1fr);
}

.mlb-retour-hero h1 {
font-size: 42px;
}

.mlb-retour-section-heading h2 {
font-size: 40px;
}

.mlb-retour-contact-content h2 {
font-size: 40px;
}

}

/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

.mlb-retour-container {
padding-left: 16px;
padding-right: 16px;
}

.mlb-retour-hero .mlb-retour-container {
padding-top: 28px;
padding-bottom: 40px;
}

.mlb-retour-breadcrumb {
margin-bottom: 20px;
font-size: 13px;
}

.mlb-retour-hero h1 {
font-size: 34px;
line-height: 1.12;
letter-spacing: -0.4px;
}

.mlb-retour-intro {
font-size: 17px;
line-height: 1.6;
}

.mlb-retour-highlight-section .mlb-retour-container {
padding-top: 24px;
padding-bottom: 24px;
}

.mlb-retour-highlight {
padding: 25px 22px;
border-radius: 20px;
}

.mlb-retour-highlight-inner {
align-items: flex-start;
gap: 15px;
}

.mlb-retour-check {
width: 44px;
height: 44px;
min-width: 44px;
font-size: 23px;
}

.mlb-retour-highlight h2 {
font-size: 24px;
}

.mlb-retour-highlight p {
font-size: 16px;
line-height: 1.55;
}

.mlb-retour-steps-section {
padding: 55px 0 65px;
}

.mlb-retour-section-heading {
margin-bottom: 32px;
}

.mlb-retour-eyebrow {
font-size: 10px;
}

.mlb-retour-section-heading h2 {
font-size: 33px;
}

.mlb-retour-steps-grid {
grid-template-columns: 1fr;
gap: 15px;
}

.mlb-retour-step-card {
padding: 22px;
}

.mlb-retour-step-card h3 {
font-size: 20px;
}

.mlb-retour-step-card p {
font-size: 15px;
}

.mlb-retour-condition-section {
padding: 55px 0;
}

.mlb-retour-condition-card {
padding: 27px 22px;
border-radius: 20px;
}

.mlb-retour-condition-heading {
align-items: flex-start;
gap: 13px;
}

.mlb-retour-help-icon {
width: 46px;
height: 46px;
min-width: 46px;
font-size: 24px;
}

.mlb-retour-condition-heading h2 {
font-size: 25px;
}

.mlb-retour-condition-card p {
font-size: 16px;
line-height: 1.65;
}

.mlb-retour-contact-section .mlb-retour-container {
padding-top: 60px;
padding-bottom: 65px;
}

.mlb-retour-contact-content h2 {
font-size: 34px;
}

.mlb-retour-contact-content > p {
font-size: 17px;
margin-bottom: 27px;
}

.mlb-retour-contact-buttons {
flex-direction: column;
gap: 18px;
}

.mlb-retour-phone-button {
width: 100%;
max-width: 310px;
font-size: 17px;
padding: 14px 24px;
}

.mlb-retour-contact-link {
font-size: 16px;
text-align: center;
}

}

/* =========================================================
PETITS MOBILES
========================================================= */

@media (max-width: 400px) {

.mlb-retour-hero h1 {
font-size: 30px;
}

.mlb-retour-section-heading h2 {
font-size: 29px;
}

.mlb-retour-contact-content h2 {
font-size: 30px;
}

.mlb-retour-highlight-inner {
flex-direction: column;
}

}
/* =========================================================
Mademoiselle Bûche - PAGE PAIEMENT
CSS isolé - PrestaShop 8.2
Toutes les classes commencent par mlb-paiement-
========================================================= */
body#cms .container:has(.mlb-paiement-page),
body#cms .container:has(.mlb-paiement-page) .row,
body#cms .container:has(.mlb-paiement-page) #content-wrapper,
body#cms .container:has(.mlb-paiement-page) #main,
body#cms .container:has(.mlb-paiement-page) #content {
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
}


.mlb-paiement-page{
    width:100%;
    overflow:hidden;
}


/* Ton contenu garde les marges */
.mlb-paiement-page .container{
    max-width:1200px;
    margin:auto;
    padding-left:30px !important;
    padding-right:30px !important;
}

.mlb-paiement-page {
--mlb-pay-primary: #eb6a1e;
--mlb-pay-primary-dark: #72251c;
--mlb-pay-bg: #ffffff;
--mlb-pay-secondary: #f7f3ed;
--mlb-pay-border: #e5ddd3;
--mlb-pay-text: #292521;
--mlb-pay-muted: #706a63;
--mlb-pay-warm: #fbf6ee;

width: 100%;
margin: 0;
padding: 0;
background: var(--mlb-pay-bg);
color: var(--mlb-pay-text);
font-family: Arial, Helvetica, sans-serif;
box-sizing: border-box;
}

.mlb-paiement-page *,
.mlb-paiement-page *::before,
.mlb-paiement-page *::after {
box-sizing: border-box;
}

.mlb-paiement-page h1,
.mlb-paiement-page h2,
.mlb-paiement-page h3 {
font-family: Georgia, "Times New Roman", serif;
}

.mlb-paiement-page p {
margin-top: 0;
}

.mlb-paiement-page a {
text-decoration: none;
}

/* =========================================================
CONTAINERS
========================================================= */

.mlb-paiement-container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding-left: 20px;
padding-right: 20px;
}

.mlb-paiement-container-small {
max-width: 850px;
}

.mlb-paiement-container-medium {
max-width: 900px;
}

.mlb-paiement-container-large {
max-width: 1240px;
}

/* =========================================================
HERO
========================================================= */

.mlb-paiement-hero {
background: #ffffff;
border-bottom: 1px solid var(--mlb-pay-border);
}

.mlb-paiement-hero .mlb-paiement-container {
padding-top: 40px;
padding-bottom: 55px;
}

.mlb-paiement-breadcrumb {
display: flex;
align-items: center;
gap: 9px;
margin-bottom: 24px;
font-size: 14px;
color: var(--mlb-pay-muted);
}

.mlb-paiement-breadcrumb a {
color: var(--mlb-pay-muted);
transition: color .2s ease;
}

.mlb-paiement-breadcrumb a:hover {
color: var(--mlb-pay-primary);
}

.mlb-paiement-breadcrumb-current {
color: var(--mlb-pay-text);
font-weight: 600;
}

.mlb-paiement-hero h1 {
margin: 0 0 20px;
font-size: 48px;
line-height: 1.08;
font-weight: 700;
letter-spacing: -1px;
}

.mlb-paiement-hero h1 span {
color: var(--mlb-pay-primary);
font-style: italic;
}

.mlb-paiement-hero > .mlb-paiement-container > p {
max-width: 820px;
margin-bottom: 0;
color: var(--mlb-pay-muted);
font-size: 20px;
line-height: 1.65;
}

/* =========================================================
SECURITY CARDS
========================================================= */

.mlb-paiement-security-section {
background: var(--mlb-pay-secondary);
border-bottom: 1px solid var(--mlb-pay-border);
}

.mlb-paiement-security-section .mlb-paiement-container {
padding-top: 32px;
padding-bottom: 32px;
}

.mlb-paiement-security-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}

.mlb-paiement-security-card {
display: flex;
align-items: flex-start;
gap: 15px;
padding: 22px;
background: #ffffff;
border: 1px solid var(--mlb-pay-border);
border-radius: 18px;
}

.mlb-paiement-security-icon {
flex-shrink: 0;
font-size: 25px;
line-height: 1;
}

.mlb-paiement-security-card p {
margin: 0;
font-size: 16px;
line-height: 1.45;
font-weight: 600;
}

/* =========================================================
SECTION MOYENS DE PAIEMENT
========================================================= */

.mlb-paiement-methods-section {
background: #ffffff;
padding: 80px 0 90px;
}

.mlb-paiement-section-heading {
max-width: 760px;
margin: 0 auto 48px;
text-align: center;
}

.mlb-paiement-eyebrow {
margin-bottom: 15px;
color: var(--mlb-pay-primary);
font-size: 11px;
font-weight: 700;
letter-spacing: .3em;
text-transform: uppercase;
}

.mlb-paiement-section-heading h2 {
margin: 0 0 15px;
color: var(--mlb-pay-text);
font-size: 46px;
line-height: 1.1;
font-weight: 700;
letter-spacing: -.8px;
}

.mlb-paiement-section-heading h2 span {
color: var(--mlb-pay-primary);
font-style: italic;
}

.mlb-paiement-section-heading > p {
margin: 0;
color: var(--mlb-pay-muted);
font-size: 18px;
line-height: 1.65;
}

.mlb-paiement-methods-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}

.mlb-paiement-method-card {
padding: 26px;
background: #ffffff;
border: 1px solid var(--mlb-pay-border);
border-radius: 20px;
transition:
transform .25s ease,
box-shadow .25s ease,
border-color .25s ease;
}

.mlb-paiement-method-card:hover {
transform: translateY(-3px);
border-color: #d7c9ba;
box-shadow: 0 12px 35px rgba(60, 40, 20, .09);
}

.mlb-paiement-method-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 18px;
}

.mlb-paiement-method-icon {
width: 50px;
height: 50px;
min-width: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: rgba(139, 47, 35, .1);
color: var(--mlb-pay-primary);
}

.mlb-paiement-method-icon svg {
width: 27px;
height: 27px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.mlb-paiement-method-header h3 {
margin: 0 0 4px;
color: var(--mlb-pay-text);
font-size: 20px;
line-height: 1.25;
font-weight: 700;
}

.mlb-paiement-method-header p {
margin: 0;
color: var(--mlb-pay-muted);
font-size: 14px;
line-height: 1.4;
}

.mlb-paiement-method-description {
margin: 0;
color: var(--mlb-pay-muted);
font-size: 16px;
line-height: 1.65;
}

.mlb-paiement-energy-link {
margin-top: 32px;
text-align: center;
}

.mlb-paiement-energy-link a {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--mlb-pay-primary);
font-size: 16px;
font-weight: 700;
}

.mlb-paiement-energy-link a:hover {
text-decoration: underline;
}

/* =========================================================
BLOC SÉCURITÉ
========================================================= */

.mlb-paiement-security-info-section {
padding: 80px 0;
background: var(--mlb-pay-secondary);
}

.mlb-paiement-security-info-card {
padding: 40px;
background: #ffffff;
border: 1px solid var(--mlb-pay-border);
border-radius: 24px;
box-shadow: 0 8px 30px rgba(60, 40, 20, .06);
}

.mlb-paiement-security-info-heading {
display: flex;
align-items: center;
gap: 18px;
margin-bottom: 25px;
}

.mlb-paiement-security-info-icon {
width: 56px;
height: 56px;
min-width: 56px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(139, 47, 35, .1);
color: var(--mlb-pay-primary);
}

.mlb-paiement-security-info-icon svg {
width: 28px;
height: 28px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.mlb-paiement-security-info-heading h2 {
margin: 0;
font-size: 31px;
line-height: 1.2;
font-weight: 700;
}

.mlb-paiement-security-info-heading h2 span {
color: var(--mlb-pay-primary);
font-style: italic;
}

.mlb-paiement-security-info-card > p {
margin: 0;
color: var(--mlb-pay-text);
font-size: 18px;
line-height: 1.75;
}

/* =========================================================
FAQ
========================================================= */

.mlb-paiement-faq-section {
padding: 80px 0 90px;
background: #ffffff;
border-top: 1px solid var(--mlb-pay-border);
}

.mlb-paiement-faq-heading {
margin-bottom: 35px;
}

.mlb-paiement-faq-list {
width: 100%;
border-top: 1px solid #e9dfd2;
}

.mlb-paiement-faq-item {
border-bottom: 1px solid #e9dfd2;
}

.mlb-paiement-faq-question {
width: 100%;
min-height: 60px;
padding: 20px 0;
border: 0;
background: transparent;
color: var(--mlb-pay-text);
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
text-align: left;
font-family: Arial, Helvetica, sans-serif;
font-size: 18px;
font-weight: 700;
cursor: pointer;
}

.mlb-paiement-faq-question:hover {
color: var(--mlb-pay-primary);
}

.mlb-paiement-faq-arrow {
flex-shrink: 0;
font-size: 25px;
line-height: 1;
transition: transform .25s ease;
}

.mlb-paiement-faq-open .mlb-paiement-faq-arrow {
transform: rotate(180deg);
}

.mlb-paiement-faq-answer {
display: none;
padding: 0 0 22px;
color: #3d3937;
font-size: 17px;
line-height: 1.7;
}

.mlb-paiement-faq-open .mlb-paiement-faq-answer {
display: block;
}

/* =========================================================
CTA
========================================================= */

.mlb-paiement-cta {
background: var(--mlb-pay-primary);
color: #ffffff;
}

.mlb-paiement-cta .mlb-paiement-container {
padding-top: 80px;
padding-bottom: 90px;
}

.mlb-paiement-cta-content {
text-align: center;
}

.mlb-paiement-cta-content h2 {
margin: 0 0 20px;
color: #ffffff;
font-size: 46px;
line-height: 1.1;
font-weight: 700;
}

.mlb-paiement-cta-content > p {
margin: 0 0 32px;
color: #ffffff;
font-size: 20px;
line-height: 1.5;
}

.mlb-paiement-cta-buttons {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}

.mlb-paiement-cta-primary {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 16px 30px;
background: #ffffff;
color: var(--mlb-pay-primary);
border-radius: 999px;
font-size: 18px;
font-weight: 700;
transition: .2s ease;
}

.mlb-paiement-cta-primary:hover {
background: #f5f2ef;
color: var(--mlb-pay-primary-dark);
transform: translateY(-2px);
}

.mlb-paiement-cta-secondary {
display: inline-flex;
align-items: center;
gap: 9px;
color: #ffffff;
font-size: 18px;
font-weight: 600;
text-decoration: underline !important;
text-underline-offset: 5px;
}

.mlb-paiement-cta-secondary:hover {
color: #ffffff;
opacity: .85;
}

/* =========================================================
TABLETTE
========================================================= */

@media (max-width: 991px) {

.mlb-paiement-security-grid {
grid-template-columns: 1fr;
}

.mlb-paiement-methods-grid {
grid-template-columns: repeat(2, 1fr);
}

.mlb-paiement-hero h1 {
font-size: 42px;
}

.mlb-paiement-section-heading h2 {
font-size: 40px;
}

.mlb-paiement-cta-content h2 {
font-size: 40px;
}
}

/* =========================================================
MOBILE
========================================================= */

@media (max-width: 767px) {

.mlb-paiement-container {
padding-left: 16px;
padding-right: 16px;
}

.mlb-paiement-hero .mlb-paiement-container {
padding-top: 28px;
padding-bottom: 40px;
}

.mlb-paiement-breadcrumb {
margin-bottom: 20px;
font-size: 13px;
}

.mlb-paiement-hero h1 {
font-size: 34px;
line-height: 1.12;
letter-spacing: -.4px;
}

.mlb-paiement-hero > .mlb-paiement-container > p {
font-size: 17px;
line-height: 1.6;
}

/* SECURITY */

.mlb-paiement-security-section .mlb-paiement-container {
padding-top: 24px;
padding-bottom: 24px;
}

.mlb-paiement-security-grid {
gap: 12px;
}

.mlb-paiement-security-card {
padding: 18px;
}

.mlb-paiement-security-card p {
font-size: 15px;
}

/* METHODS */

.mlb-paiement-methods-section {
padding: 55px 0 65px;
}

.mlb-paiement-section-heading {
margin-bottom: 32px;
}

.mlb-paiement-eyebrow {
font-size: 10px;
}

.mlb-paiement-section-heading h2 {
font-size: 33px;
}

.mlb-paiement-section-heading > p {
font-size: 16px;
}

.mlb-paiement-methods-grid {
grid-template-columns: 1fr;
gap: 15px;
}

.mlb-paiement-method-card {
padding: 22px;
}

.mlb-paiement-method-header h3 {
font-size: 19px;
}

.mlb-paiement-method-description {
font-size: 15px;
}

/* SECURITY INFO */

.mlb-paiement-security-info-section {
padding: 55px 0;
}

.mlb-paiement-security-info-card {
padding: 27px 22px;
border-radius: 20px;
}

.mlb-paiement-security-info-heading {
align-items: flex-start;
gap: 13px;
}

.mlb-paiement-security-info-icon {
width: 46px;
height: 46px;
min-width: 46px;
}

.mlb-paiement-security-info-heading h2 {
font-size: 25px;
}

.mlb-paiement-security-info-card > p {
font-size: 16px;
line-height: 1.65;
}

/* FAQ */

.mlb-paiement-faq-section {
padding: 55px 0 65px;
}

.mlb-paiement-faq-question {
font-size: 16px;
padding: 18px 0;
}

.mlb-paiement-faq-answer {
font-size: 15px;
}

/* CTA */

.mlb-paiement-cta .mlb-paiement-container {
padding-top: 60px;
padding-bottom: 65px;
}

.mlb-paiement-cta-content h2 {
font-size: 34px;
}

.mlb-paiement-cta-content > p {
font-size: 17px;
}

.mlb-paiement-cta-buttons {
flex-direction: column;
gap: 18px;
}

.mlb-paiement-cta-primary {
width: 100%;
max-width: 300px;
font-size: 17px;
}

.mlb-paiement-cta-secondary {
font-size: 16px;
}
}
/* Section des remises par quantité */
section.product-discounts {
  margin-top: 1.25rem; /* mt-5 ≈ 20px */
}

/* Titre */
.product-discounts-title {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em; /* tracking-wider */
  color: #6b7280; /* text-muted-foreground (gris moyen) */
  font-weight: 700;
  margin-bottom: 0.5rem; /* mb-2 ≈ 8px */
}

/* Tableau */
.table-product-discounts {
  width: 100%;
  font-size: 15px;
  border-collapse: collapse;
}

/* En-têtes */
.table-product-discounts thead th {
  text-align: left;
  padding: 0.625rem 0; /* py-2.5 ≈ 10px */
  font-size: 13px;
  text-transform: uppercase;
  color: #6b7280;
  font-weight: 700;
  border-bottom: 1px solid #e9dfd2;
}

/* Lignes du corps */
.table-product-discounts tbody tr {
  border-bottom: 1px solid #e9dfd2;
}

.table-product-discounts tbody td {
  padding: 0.625rem 0.5rem; /* py-2.5 px-2 ≈ 10px 8px */
  text-align: left;
}

/* Optionnel : supprimer la bordure du dernier élément */
.table-product-discounts tbody tr:last-child {
  border-bottom: none;
}
/* =========================================================
PETIT MOBILE
========================================================= */

@media (max-width: 400px) {

.mlb-paiement-hero h1 {
font-size: 30px;
}

.mlb-paiement-section-heading h2 {
font-size: 29px;
}

.mlb-paiement-cta-content h2 {
font-size: 30px;
}
}
/* Gallery container */
.product-images.js-qv-product-images {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    scrollbar-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    -webkit-overflow-scrolling: touch;
}

/* Hide scrollbar for Chrome/Safari */
.product-images.js-qv-product-images::-webkit-scrollbar {
    display: none !important;
}

/* Thumbnail container */
.product-images.js-qv-product-images .thumb-container {
    flex: 0 0 122px !important;
    width: 122px !important;
    min-width: 122px !important;
}

/* Thumbnail image */
.product-images.js-qv-product-images .thumb {
    width: 122px !important;
    height: 122px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Arrow container */
.scroll-box-arrows {
    display: flex !important;
    justify-content: center;
    gap: 20px;
    margin-top: 15px;
}

/* Arrow buttons */
.scroll-box-arrows .left,
.scroll-box-arrows .right {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #f5f5f5;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 24px;
    user-select: none;
}

/* Arrow hover effect */
.scroll-box-arrows .left:hover,
.scroll-box-arrows .right:hover {
    background: #e0e0e0;
    transform: scale(1.05);
}

/* Arrow active effect */
.scroll-box-arrows .left:active,
.scroll-box-arrows .right:active {
    transform: scale(0.95);
}

/* Disabled arrow state */
.scroll-box-arrows .left[style*="opacity: 0.3"],
.scroll-box-arrows .right[style*="opacity: 0.3"] {
    cursor: default !important;
    pointer-events: none !important;
}


/**
 * Couleurs du tunnel de commande
 */
:root {
    --step-done: #2F9E5F;
    --step-current: #EB6A1E;
    --step-error: #DC3545;
    --step-optional: #CED4DA;
    --step-upcoming: #E9ECEF;
    --text-dark: #1A1A1A;
}

/**
 * TYPOGRAPHIE - Lisibilité senior (≥ 18px)
 */
body.checkout {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-dark);
}

.checkout .step-title,
.checkout .h1,
.checkout .h2,
.checkout .h3 {
    font-size: 22px;
    font-weight: 600;
}

.checkout label,
.checkout .form-control-label {
    font-size: 18px;
    font-weight: 500;
}

.checkout .form-control,
.checkout input[type="text"],
.checkout input[type="email"],
.checkout input[type="password"],
.checkout select,
.checkout textarea {
    font-size: 18px;
    padding: 12px 16px;
    min-height: 48px;
    border-radius: 8px;
    border: 2px solid #DEE2E6;
}

/**
 * BOUTONS - ≥ 48px de hauteur
 */
.checkout .btn,
.checkout button[type="submit"],
.checkout .continue {
    font-size: 18px;
    font-weight: 600;
    padding: 12px 32px;
    min-height: 48px;
    border-radius: 8px;
    border: none;
    transition: all 0.3s ease;
    min-width: 200px;
}

.checkout .btn-primary,
.checkout .btn-primary:active,
.checkout .btn-primary:focus {
    background-color: #EB6A1E;
    border-color: #EB6A1E;
    color: #FFFFFF;
}

.checkout .btn-primary:hover {
    background-color: #D45A15;
    border-color: #D45A15;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(235, 106, 30, 0.3);
}

.checkout .btn-primary:disabled {
    background-color: #CED4DA;
    border-color: #CED4DA;
}

/**
 * ÉTAPES FAITES - Vert
 */
.checkout-step.-done .step-title .step-number {
    background-color: #2F9E5F;
    color: #FFFFFF;
}

.checkout-step.-done .step-title .material-icons.done {
    color: #2F9E5F;
}

/**
 * ÉTAPE EN COURS - Orange
 */
.checkout-step.-current .step-title .step-number {
    background-color: #EB6A1E;
    color: #FFFFFF;
}

.checkout-step.-current .step-title {
    color: #EB6A1E;
}

/**
 * ERREURS - Rouge
 */
.has-error .form-control,
.has-error input,
.has-error select {
    border-color: #DC3545;
    box-shadow: inset 0 0 0 2px #DC3545;
}

.has-error .help-block,
.has-error .form-control-comment {
    color: #DC3545;
    font-size: 16px;
}

/**
 * CHAMPS OPTIONNELS - Gris
 */
.form-control-comment,
.text-muted {
    color: #6C757D !important;
    font-size: 16px;
}

/**
 * ====================
 * BARRE DE PROGRESSION
 * ====================
 */
.checkout-progress-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0 40px 0;
    margin-bottom: 30px;
    border-bottom: 2px solid #E9ECEF;
    position: relative;
}

.checkout-progress-bar::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 4px;
    background: #E9ECEF;
    transform: translateY(-50%);
    z-index: 0;
}

.checkout-progress-bar .progress-line {
    position: absolute;
    top: 50%;
    left: 0;
    height: 4px;
    transform: translateY(-50%);
    z-index: 1;
    transition: width 0.5s ease;
}

.checkout-progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    cursor: pointer;
    flex: 1;
}

.checkout-progress-step .step-circle {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    transition: all 0.3s ease;
    background: #FFFFFF;
    border: 3px solid #E9ECEF;
    color: #6C757D;
}

.checkout-progress-step .step-label {
    margin-top: 10px;
    font-size: 16px;
    font-weight: 500;
    color: #6C757D;
    text-align: center;
    transition: color 0.3s ease;
}

/* --- ÉTAPE FAITE (Vert) --- */
.checkout-progress-step.-done .step-circle {
    background: #2F9E5F;
    border-color: #2F9E5F;
    color: #FFFFFF;
}

.checkout-progress-step.-done .step-label {
    color: #2F9E5F;
}

/* --- ÉTAPE EN COURS (Orange) --- */
.checkout-progress-step.-current .step-circle {
    background: #EB6A1E;
    border-color: #EB6A1E;
    color: #FFFFFF;
    transform: scale(1.1);
    box-shadow: 0 0 0 8px rgba(235, 106, 30, 0.2);
}

.checkout-progress-step.-current .step-label {
    color: #EB6A1E;
    font-weight: 700;
}

/* --- ÉTAPE À VENIR (Gris) --- */
.checkout-progress-step.-upcoming .step-circle {
    background: #E9ECEF;
    border-color: #DEE2E6;
    color: #6C757D;
}

.checkout-progress-step.-upcoming .step-label {
    color: #6C757D;
}

/* --- ÉTAPE OPTIONNELLE (Gris clair) --- */
.checkout-progress-step.-optional .step-circle {
    background: #F8F9FA;
    border-color: #DEE2E6;
    color: #ADB5BD;
}

.checkout-progress-step.-optional .step-label {
    color: #ADB5BD;
}

/* --- ÉTAPE EN ERREUR (Rouge) --- */
.checkout-progress-step.-error .step-circle {
    background: #DC3545;
    border-color: #DC3545;
    color: #FFFFFF;
}

.checkout-progress-step.-error .step-label {
    color: #DC3545;
}

/**
 * RESPONSIVE - Barre de progression
 */
@media (max-width: 768px) {
    .checkout-progress-bar {
        flex-wrap: wrap;
        gap: 10px;
        padding: 15px 0 20px 0;
    }
    
    .checkout-progress-bar::before {
        display: none;
    }
    
    .checkout-progress-step {
        flex: 1 1 45%;
        min-width: 80px;
    }
    
    .checkout-progress-step .step-circle {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .checkout-progress-step .step-label {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .checkout-progress-step {
        flex: 1 1 100%;
    }
    
    .checkout-progress-step .step-circle {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}

/**
 * BARRE DE PROGRESSION - VARIANTE COMPACTE
 */
.checkout-progress-bar-compact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    margin-bottom: 20px;
    border-bottom: 2px solid #E9ECEF;
    position: relative;
}

.checkout-progress-bar-compact .step-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: #6C757D;
    position: relative;
    z-index: 1;
    background: #FFFFFF;
    padding: 0 12px;
}

.checkout-progress-bar-compact .step-item .step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    background: #E9ECEF;
    color: #6C757D;
    transition: all 0.3s ease;
}

.checkout-progress-bar-compact .step-item.-done .step-num {
    background: #2F9E5F;
    color: #FFFFFF;
}

.checkout-progress-bar-compact .step-item.-done {
    color: #2F9E5F;
}

.checkout-progress-bar-compact .step-item.-current .step-num {
    background: #EB6A1E;
    color: #FFFFFF;
    transform: scale(1.1);
}

.checkout-progress-bar-compact .step-item.-current {
    color: #EB6A1E;
    font-weight: 700;
}

.checkout-progress-bar-compact .step-item.-error .step-num {
    background: #DC3545;
    color: #FFFFFF;
}

.checkout-progress-bar-compact .step-item.-error {
    color: #DC3545;
}

.checkout-progress-bar-compact .step-item.-optional .step-num {
    background: #F8F9FA;
    border: 2px dashed #DEE2E6;
    color: #ADB5BD;
}

.checkout-progress-bar-compact .step-item.-optional {
    color: #ADB5BD;
}

/**
 * FOCUS VISIBLE - Accessibilité
 */
.checkout .form-control:focus,
.checkout input:focus,
.checkout select:focus,
.checkout textarea:focus {
    border-color: #EB6A1E;
    outline: none;
    box-shadow: 0 0 0 3px rgba(235, 106, 30, 0.25);
}

.checkout .btn:focus-visible,
.checkout button:focus-visible {
    outline: 3px solid #EB6A1E;
    outline-offset: 2px;
}

/**
 * ZONES D'ERREUR
 */
.checkout .alert-danger {
    background-color: #FFF5F5;
    border-color: #DC3545;
    color: #DC3545;
    border-radius: 8px;
    padding: 16px 20px;
    font-size: 18px;
}
.ps_checkout-payment-option label {
    display: flex !important;
    line-height: 2.5;
}

/**
 * ÉTAPES DU TUNNEL
 */
.checkout-step {
    background: #FFFFFF;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    border: 2px solid transparent;
}

.checkout-step.-current {
    border-color: #EB6A1E;
    box-shadow: 0 4px 16px rgba(235, 106, 30, 0.12);
}

.checkout-step.-done  , .-complete{
    border-color: #2F9E5F;
}

.checkout-step.-done .step-title ,.-complete {
    color: #2F9E5F;
}

.checkout-step .step-title {
    font-size: 20px;
    font-weight: 600;
    padding-bottom: 16px;
    border-bottom: 2px solid #E9ECEF;
}

.checkout-step .step-title .step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 700;
    margin-right: 10px;
    background: #E9ECEF;
    color: #6C757D;
}

.checkout-step.-current .step-title .step-number {
    background: #EB6A1E;
    color: #FFFFFF;
}

.checkout-step.-done .step-title .step-number ,.checkout-step.-done .step-title .step-number {
    background: #2F9E5F;
    color: #FFFFFF;
}
/* Boutons de paiement en gros format */
.payment-options .payment-option {
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    padding: 18px 20px;
    margin-bottom: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.payment-options .payment-option:hover {
    border-color: #f39c12;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}



.payment-options .payment-option input[type="radio"]:checked ~ label,
.payment-options .payment-option:has(input:checked) {
    border-color: #f39c12;
    background-color: #fdf3e3;
}

/* Badge paiement sécurisé en vert */
.payment-security-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #2e7d32;
    font-weight: 700;
    font-size: 0.95rem;
    margin: 16px 0;
}

.payment-security-badge i {
    color: #2e7d32;
}

/* Bouton "Valider ma commande" en orange, seul CTA visible */
#payment-confirmation .btn.btn-primary {
    background-color: #f39c12;
    border-color: #f39c12;
    font-size: 1.15rem;
    font-weight: 700;
    padding: 14px 30px;
    border-radius: 6px;
    width: 100%;
    max-width: 400px;
}

#payment-confirmation .btn.btn-primary:hover {
    background-color: #e08e00;
    border-color: #e08e00;
}
#checkout-payment-step span.custom-radio.float-xs-left {
    display: none;
}
.ps-hidden-by-js {
    display: none !important;
}
/* ==========================================
   CHECKOUT - UNE SEULE ÉTAPE OUVERTE
   ========================================== */

/* Toutes les étapes fermées par défaut */
body#checkout .checkout-step > .content {
    display: none !important;
}

/* Seulement l'étape courante ouverte */
body#checkout .checkout-step.-current > .content {
    display: block !important;
}

/* Le titre reste visible */
body#checkout .checkout-step > .step-title {
    display: block !important;
}
/* =========================================================
   CHECKOUT PROGRESS BAR
   ========================================================= */

:root {
    --checkout-green: #2F9E5F;
    --checkout-orange: #EB6A1E;
    --checkout-red: #D93025;
    --checkout-grey: #B8B8B8;
    --checkout-light-grey: #E5E5E5;
}

/* Container */

.checkout-progress {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin: 0 0 40px;
    padding: 0 10px;
}

/* Ligne */

.checkout-progress-line {
    position: absolute;
    top: 20px;
    left: 11%;
    right: 11%;
    height: 4px;
    background: var(--checkout-light-grey);
    z-index: 0;
    border-radius: 10px;
}

.checkout-progress-line-fill {
    width: 0;
    height: 100%;
    background: var(--checkout-green);
    border-radius: 10px;
    transition: width .3s ease;
}

/* Étapes */

.checkout-progress-step {
    position: relative;
    z-index: 1;

    display: flex;
    flex-direction: column;
    align-items: center;

    width: 25%;

    font-size: 18px;
    font-weight: 600;
    color: var(--checkout-grey);
    text-align: center;
}

/* Numéro */

.checkout-progress-step .progress-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: #fff;
    border: 3px solid var(--checkout-grey);

    font-size: 18px;
    font-weight: 700;

    transition: all .25s ease;
}

/* Label */

.checkout-progress-step .progress-label {
    margin-top: 10px;
    line-height: 1.3;
}

/* =========================================================
   DONE = VERT
   ========================================================= */

.checkout-progress-step.is-done {
    color: var(--checkout-green);
}

.checkout-progress-step.is-done .progress-number {
    background: var(--checkout-green);
    border-color: var(--checkout-green);
    color: #fff;
}

/* =========================================================
   CURRENT = ORANGE
   ========================================================= */

.checkout-progress-step.is-current {
    color: var(--checkout-orange);
}

.checkout-progress-step.is-current .progress-number {
    background: #fff;
    border-color: var(--checkout-orange);
    color: var(--checkout-orange);
    box-shadow: 0 0 0 4px rgba(235, 106, 30, .12);
}

/* =========================================================
   ERROR = ROUGE
   ========================================================= */

.checkout-progress-step.is-error {
    color: var(--checkout-red);
}

.checkout-progress-step.is-error .progress-number {
    background: var(--checkout-red);
    border-color: var(--checkout-red);
    color: #fff;
}

/* =========================================================
   UPCOMING = GRIS
   ========================================================= */

.checkout-progress-step.is-upcoming {
    color: var(--checkout-grey);
}

.checkout-progress-step.is-upcoming .progress-number {
    border-color: var(--checkout-grey);
    color: var(--checkout-grey);
    background: #fff;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .checkout-progress {
        margin-bottom: 30px;
        padding: 0;
    }

    .checkout-progress-line {
        top: 17px;
        left: 10%;
        right: 10%;
        height: 3px;
    }

    .checkout-progress-step {
        font-size: 15px;
    }

    .checkout-progress-step .progress-number {
        width: 36px;
        height: 36px;
        font-size: 16px;
        border-width: 2px;
    }

    .checkout-progress-step .progress-label {
        margin-top: 7px;
    }
}
/* Une seule étape visible à la fois */
/* =========================================================
   CHECKOUT : UNE SEULE ÉTAPE VISIBLE
   ========================================================= */

#checkout-personal-information-step,
#checkout-addresses-step,
#checkout-delivery-step,
#checkout-payment-step {
    display: none !important;
}

/* Étape active uniquement */
#checkout-personal-information-step.-current,
#checkout-addresses-step.-current,
#checkout-delivery-step.-current,
#checkout-payment-step.-current {
    display: block !important;
}
.control-label.required:after,
.form-control-label.required:after { content: " *"; color: #EB6A1E; }
span.required {
    color: #EB6A1E;
}
/* Remove asterisk from GDPR/privacy label only */
label[for="field-psgdpr"].required:after,
label[for="field-psgdpr"].form-control-label.required:after {
    content: "" !important;
    display: none !important;
}
/* Pour un rendu plus propre comme sur l'image */
.address-form .address-row-name,
.address-form .address-row-postcode-city,
.address-form .address-row-country-phone {
    margin-bottom: 0.5rem;
}

.address-form .address-row-full {
    margin-bottom: 0.5rem;
}

.address-form .address-field {
    margin-bottom: 0.25rem;
}

.address-form .address-field label {
    font-weight: 600;
    margin-bottom: 0.25rem;
    font-size: 0.9rem;
}

.address-form .address-field .form-control {
    border-radius: 4px;
    border: 1px solid #ccc;
    padding: 0.5rem 0.75rem;
    height: 42px;
    font-size: 0.95rem;
}

.address-form .address-phone-help {
    font-size: 0.75rem;
    color: #6c757d;
    margin-top: 0.25rem;
}

.mlb-billing-option {
    margin: 0.75rem 0;
}

.mlb-billing-option .checkbox label {
    font-size: 0.95rem;
    font-weight: normal;
}

.mlb-address-actions {
    margin-top: 1rem;
    border-top: 1px solid #e9ecef;
    padding-top: 1rem;
}

.mlb-btn-continue {
    padding: 0.6rem 2rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;

}


/* ==========================================
   NEWSLETTER = STYLE DU PSGDPR
   ========================================== */

/* Conteneur */
.custom-checkbox {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Label */
.custom-checkbox label {
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
}

/* Checkbox NATIF */
.custom-checkbox label input[type="checkbox"] {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;

    display: block !important;

    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;

    margin: 2px 8px 0 0 !important;
    padding: 0 !important;

    cursor: pointer !important;
}

/* Supprime le faux checkbox PrestaShop */
.custom-checkbox label > span {
    display: none !important;
}

/* Texte newsletter */
.custom-checkbox label {
    color: #333 !important;
}

/* Description */
.custom-checkbox label em {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;

    font-size: 11px !important;
    line-height: 1.4 !important;
    font-style: normal !important;
    color: #6c757d !important;
}
.checkout-intro-block {
  display: block;
}

.checkout-intro-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.checkout-intro-question {
  font-size: 1rem;
  font-weight: 600;
  color: #232323;
  margin: 0;
}

.btn-outline-signin {
  display: inline-block;
  padding: 8px 20px;
  border: 1.5px solid #e07a3f; /* adjust to your brand accent color */
  border-radius: 999px;
  color: #e07a3f;
  font-weight: 600;
  font-size: 0.9rem;
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.btn-outline-signin:hover,
.btn-outline-signin:focus {
  background-color: #e07a3f;
  color: #fff;
  text-decoration: none;
}

.checkout-intro-helper {
  margin: 10px 0 0;
  font-size: 0.95rem;
  color: #333;
  line-height: 1.4;
}

.checkout-intro-helper strong {
  font-weight: 700;
}

.checkout-intro-separator {
  margin: 16px 0 0;
  border: none;
  border-top: 1px solid #e5e5e5;
}
a[data-link-action="show-login-form"] {
  display: inline-block;
  padding: 8px 20px;
  border: 1.5px solid #e07a3f; /* swap for your brand accent color */
  border-radius: 999px;
  color: #e07a3f;
  font-weight: 600;
  font-size: 0.9rem;
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.15s ease, color 0.15s ease;
}

a[data-link-action="show-login-form"]:hover,
a[data-link-action="show-login-form"]:focus {
  background-color: #e07a3f;
  color: #fff;
  text-decoration: none;
}
#checkout-login-form.active ~ .checkout-guest-intro {
  display: none;
}
.preferred-delivery-hint {
    display: block;
    margin-top: 6px;
   color:#EB6A1E !important;
    font-size: 13px;
    color: #777;
}
.col-lg-3.save-button {
    width: auto !important;
}
textarea::placeholder {
    color: #999;
    opacity: 1;
    font-size:10px;
}
/* ===== Conteneur ===== */
.delivery-options {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

/* ===== Carte ===== */
.delivery-options .delivery-option.js-delivery-option {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 22px 28px;
    border: 1px solid #e0dcd5;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    width: 100%;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.delivery-options .delivery-option.js-delivery-option:hover {
    border-color: #f0862c;
}

/* Sélectionnée (le radio existe toujours dans le DOM, juste caché visuellement) */
.delivery-options .delivery-option.js-delivery-option:has(input[type="radio"]:checked) {
    border: 2px solid #f0862c;
    padding: 21px 27px; /* compense 1px -> 2px de bordure */
    box-shadow: 0 0 0 1px rgba(240, 134, 44, 0.15);
}

/* ===== Cache le radio ET sa colonne (col-sm-1) sans supprimer le HTML ===== */
.delivery-options .delivery-option.js-delivery-option > .col-sm-1 {
    display: none;
}

/* ===== Le label prend toute la largeur de la carte ===== */
.delivery-options label.delivery-option-2 {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    cursor: pointer;
}

.delivery-options label.delivery-option-2 .row {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
}

/* ===== Icône + nom transporteur ===== */
.delivery-options .carrier.carrier-hasLogo {
    display: flex;
    align-items: center;
    gap: 14px;
}

.delivery-options .carrier-logo {
    flex: 0 0 auto;
    padding: 0;
}

.delivery-options .carrier-logo img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.delivery-options .carriere-name-container {
    padding: 0;
}

.delivery-options .carrier-name {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 10px;
    color: #1a1a1a;
    line-height: 1.3;
}

/* ===== Délai / description ===== */
.delivery-options .carrier-delay {
    display: block;
    font-size: 10px;
    color: #333;
    line-height: 1.5;
}

/* ===== Prix + coche ===== */
.delivery-options .col-sm-3.col-xs-12 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.delivery-options .carrier-price {
    font-weight: 700;
    font-size: 15px;
    color: #1a1a1a;
    white-space: nowrap;
}

.delivery-options .carrier-price::after {
    content: " \2713";
    color: #2ecc71;
    font-weight: 700;
    margin-left: 8px;
}

.delivery-options .delivery-option.js-delivery-option:not(:has(input:checked)) .carrier-price::after {
    color: #b0aca3;
}

.delivery-options .clearfix {
    display: none;
}
/* =============================================================
   checkout-payment-senior.css
   À importer après le CSS du thème (checkout.css / theme.css)
   pour surcharger le rendu par défaut des moyens de paiement.
   ============================================================= */

/* ---- Badge sécurité en haut ---- */
.senior-security-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1e7e34;
  font-weight: 600;
  font-size: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  margin-bottom: 20px;
 border: 1px solid;
}
.senior-security-badge .material-icons {
  font-size: 20px;
}
/* =========================================================
   RESPONSIVE DELIVERY OPTIONS
   Structure mobile :
   [LOGO] [NOM + DÉLAI]          [PRIX ✓]
   ========================================================= */

@media (max-width: 767px) {

    .delivery-options {
        display: flex;
        flex-direction: column;
        gap: 14px;
        width: 100%;
    }

    /* -----------------------------------------------------
       CARTE
       ----------------------------------------------------- */

    .delivery-options .delivery-option.js-delivery-option {
        display: block;
        width: 100%;
        margin: 0;
        padding: 16px !important;
        min-height: 95px;
        border: 1px solid #e0dcd5;
        border-radius: 12px;
        background: #fff;
        box-sizing: border-box;
    }

    .delivery-options .delivery-option.js-delivery-option:has(
        input[type="radio"]:checked
    ) {
        border: 2px solid #f0862c;
        padding: 15px !important;
        box-shadow: 0 0 0 1px rgba(240, 134, 44, 0.12);
    }


    /* -----------------------------------------------------
       RADIO
       Caché mais toujours présent pour PrestaShop
       ----------------------------------------------------- */

    .delivery-options .delivery-option.js-delivery-option > .col-sm-1 {
        display: none !important;
    }


    /* -----------------------------------------------------
       LABEL
       ----------------------------------------------------- */

    .delivery-options label.delivery-option-2 {
        display: block;
        width: 100%;
        padding: 0 !important;
        margin: 0;
    }


    /* -----------------------------------------------------
       ROW INTERNE
       ----------------------------------------------------- */

    .delivery-options label.delivery-option-2 > .row {
        display: flex !important;
        align-items: center;
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        flex-wrap: nowrap !important;
    }


    /* Supprime les paddings Bootstrap */
    .delivery-options label.delivery-option-2 .row > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* -----------------------------------------------------
       BLOC TRANSPORTEUR
       Logo + nom
       ----------------------------------------------------- */

    .delivery-options label.delivery-option-2 .row > .col-sm-5 {
        display: flex;
        align-items: center;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
    }

    .delivery-options .carrier.carrier-hasLogo {
        display: flex !important;
        align-items: center;
        width: 100%;
        gap: 10px;
        margin: 0;
    }


    /* -----------------------------------------------------
       LOGO
       ----------------------------------------------------- */

    .delivery-options .carrier-logo {
        flex: 0 0 52px;
        width: 52px !important;
        max-width: 52px;
    }

    .delivery-options .carrier-logo img {
        display: block;
        width: 42px;
        height: 42px;
        object-fit: contain;
        margin: 0 auto;
    }


    /* -----------------------------------------------------
       NOM TRANSPORTEUR
       ----------------------------------------------------- */

    .delivery-options .carriere-name-container {
        flex: 1 1 auto;
        min-width: 0;
        width: auto !important;
    }

    .delivery-options .carrier-name {
        display: block;
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.3;
        color: #1a1a1a;
        word-break: normal;
        overflow-wrap: break-word;
    }


    /* -----------------------------------------------------
       DÉLAI
       ----------------------------------------------------- */

    .delivery-options label.delivery-option-2 .row > .col-sm-4 {
        flex: 0 1 32%;
        width: auto !important;
        max-width: 32%;
        min-width: 0;
        margin-left: 8px;
    }

    .delivery-options .carrier-delay {
        display: block;
        font-size: 11px;
        line-height: 1.4;
        color: #333;
        word-break: normal;
        overflow-wrap: break-word;
    }


    /* -----------------------------------------------------
       PRIX
       ----------------------------------------------------- */

    .delivery-options label.delivery-option-2 .row > .col-sm-3 {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        flex: 0 0 auto;
        width: auto !important;
        margin-left: 10px;
    }

    .delivery-options .carrier-price {
        display: inline-block;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.2;
        color: #1a1a1a;
        white-space: nowrap;
    }

    .delivery-options .carrier-price::after {
        content: "✓";
        color: #2ecc71;
        font-size: 17px;
        font-weight: 700;
        margin-left: 6px;
    }

    .delivery-options
    .delivery-option.js-delivery-option:not(:has(input:checked))
    .carrier-price::after {
        color: #b0aca3;
    }


    /* -----------------------------------------------------
       ELEMENTS INUTILES
       ----------------------------------------------------- */

    .delivery-options .clearfix {
        display: none !important;
    }

    .delivery-options .carrier-extra-content {
        display: none;
    }
}


/* =========================================================
   PETITS MOBILES
   ========================================================= */

@media (max-width: 480px) {

    .delivery-options {
        gap: 12px;
    }

    .delivery-options .delivery-option.js-delivery-option {
        min-height: 90px;
        padding: 14px 12px !important;
    }

    .delivery-options .delivery-option.js-delivery-option:has(
        input[type="radio"]:checked
    ) {
        padding: 13px 11px !important;
    }

    /* Logo */
    .delivery-options .carrier-logo {
        flex: 0 0 44px;
        width: 44px !important;
        max-width: 44px;
    }

    .delivery-options .carrier-logo img {
        width: 36px;
        height: 36px;
    }

    /* Espacement */
    .delivery-options .carrier.carrier-hasLogo {
        gap: 7px;
    }

    /* Nom */
    .delivery-options .carrier-name {
        font-size: 12px;
    }

    /* Délai */
    .delivery-options label.delivery-option-2 .row > .col-sm-4 {
        flex-basis: 30%;
        max-width: 30%;
        margin-left: 5px;
    }

    .delivery-options .carrier-delay {
        font-size: 10px;
        line-height: 1.35;
    }

    /* Prix */
    .delivery-options label.delivery-option-2 .row > .col-sm-3 {
        margin-left: 5px;
    }

    .delivery-options .carrier-price {
        font-size: 13px;
    }

    .delivery-options .carrier-price::after {
        font-size: 15px;
        margin-left: 4px;
    }
}


/* =========================================================
   TRÈS PETIT MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .delivery-options .delivery-option.js-delivery-option {
        padding: 12px 10px !important;
    }

    .delivery-options .delivery-option.js-delivery-option:has(
        input[type="radio"]:checked
    ) {
        padding: 11px 9px !important;
    }

    .delivery-options .carrier-logo {
        flex: 0 0 38px;
        width: 38px !important;
        max-width: 38px;
    }

    .delivery-options .carrier-logo img {
        width: 32px;
        height: 32px;
    }

    .delivery-options .carrier.carrier-hasLogo {
        gap: 5px;
    }

    .delivery-options .carrier-name {
        font-size: 11px;
    }

    .delivery-options label.delivery-option-2 .row > .col-sm-4 {
        flex-basis: 28%;
        max-width: 28%;
        margin-left: 4px;
    }

    .delivery-options .carrier-delay {
        font-size: 9px;
    }

    .delivery-options .carrier-price {
        font-size: 12px;
    }

    .delivery-options .carrier-price::after {
        font-size: 14px;
        margin-left: 3px;
    }
}
/* ---- Conteneur général ---- */
/* =========================================================
   CARTES PAIEMENT : MÊME LARGEUR + MÊME HAUTEUR
   ========================================================= */

/* Chaque wrapper prend toute la largeur */
.senior-payment-options > div {
  width: 100%;
}

/* Toutes les cartes ont exactement la même hauteur */
.senior-payment-option {
  width: 100%;
  height: 82px;
  min-height: 82px;
  max-height: 82px;
  box-sizing: border-box;
  padding: 4px 14px;
  overflow: hidden;
}

/* Contenu centré verticalement */
.senior-payment-label {
  width: 100%;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;

  display: flex;
  align-items: center;

  gap: 16px;
  margin: 0;
}


/* Zone texte */
.senior-payment-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

/* Titre : pas de taille différente selon le moyen de paiement */
.senior-payment-title {
  font-size: 18px;
  line-height: 1.25;
  min-height: 23px;

  display: flex;
  align-items: center;
  gap: 10px;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Description */
.senior-payment-desc {
  font-size: 15px;
  line-height: 1.3;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Logos CB */
.senior-payment-logo {
  flex: 0 0 auto;
  height: 22px;
  width: auto;
}

/* Check toujours aligné à droite */
.senior-payment-check {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
}

/* Radio */
.senior-payment-option .custom-radio {
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

/* =========================================================
   ESPACEMENT
   ========================================================= */

.senior-payment-options {
  width: 100%;
  gap: 14px;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 480px) {

  .senior-payment-option {
    height: 82px;
    min-height: 82px;
    max-height: 82px;
    padding: 4px 10px;
  }

  .senior-payment-label {
    gap: 10px;
  }

  .senior-payment-icon {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }

  .senior-payment-title {
    font-size: 14px;
  }
 .paypal-mark {
        display: inline-block;
        line-height: normal !important;
        padding: 0 !important;
        background: transparent !important;
        border-radius: 0 !important;
        margin: 0 !important;
        white-space: normal !important;
        position: static !important;
        border: 0 !important;
    }
.paypal-mark img{
    height: 15px !important;
}
#cart .container{
    margin-left: 36px !important;
}
#blockcart-modal .btn{
    font-size: 12px !important;
    padding: 6px 28px !important; 
}
  .senior-payment-desc {
    font-size: 13px;
  }

  .senior-payment-check {
    flex-basis: 26px;
    width: 26px;
    height: 26px;
  }
}

/* ---- Carte moyen de paiement ---- */

.senior-payment-option--selected {
  border-color: #f0620d; /* à adapter à votre couleur de marque */
  box-shadow: 0 0 0 1px #f0620d inset;
  background: #fff8f3;
}

/* La zone radio native reste présente pour l'accessibilité mais invisible visuellement,
   c'est le label entier qui devient cliquable et sert de "carte" */

.senior-payment-radio {
  width: 24px;
  height: 24px;
}




.senior-payment-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background: #fff3eb;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;
}

.senior-payment-icon .material-icons {
    font-size: 26px;
    line-height: 1;
    color: #ff9a52;
}
.senior-payment-option--selected .senior-payment-check .material-icons {
  color: #2f9e5f;
}
.senior-payment-option--selected .senior-payment-icon .material-icons {
  color: #f0620d;
}






.senior-payment-check .material-icons {
  font-size: 18px;
}
.senior-payment-option--selected .senior-payment-check {
  display: flex;
}

/* ---- Sous-choix 1x / 2x / 3x / 4x (sous la CB) ---- */
.senior-installments {
  margin: -4px 0 4px 56px;
  padding: 14px 16px;
  border: 1px dashed #e0e0e0;
  border-radius: 10px;
  background: #fafafa;
}
.senior-installments.senior-hidden {
  display: none;
}
.senior-installments-hint {
  font-size: 15px;
  color: #555;
  margin: 0 0 10px;
}
.senior-installments-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.senior-pill {
  min-width: 58px;
  min-height: 48px; /* contrainte cible */
  padding: 10px 18px;
  font-size: 16px;
  font-weight: 600;
  border: 2px solid #ddd;
  border-radius: 10px;
  background: #fff;
  color: #333;
  cursor: pointer;
  transition: all 0.15s ease;
}
.senior-pill:hover {
  border-color: #f0620d;
}
.senior-pill--active {
  border-color: #f0620d;
  background: #fde9dd;
  color: #f0620d;
}
.senior-installments-native {
  font-size: 15px;
}

/* ---- Conditions générales ---- */
.senior-conditions label {
  font-size: 16px;
  line-height: 1.5;
}

/* ---- Bloc de confirmation ---- */
.senior-payment-confirmation {
  margin-top: 24px;
}

.senior-total-reminder {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-size: 18px;
  margin-bottom: 14px;
  padding-top: 14px;
  border-top: 1px solid #eee;
}
.senior-total-label {
  color: #555;
}
.senior-total-amount {
  font-size: 24px;
  font-weight: 700;
  color: #222;
}

.senior-confirm-btn {
  width: 100%;
  min-height: 56px; /* contrainte cible */
  font-size: 18px;
  font-weight: 700;
  border-radius: 10px;
}

.senior-support-reminder {
  text-align: center;
  font-size: 15px;
  color: #555;
  margin-top: 14px;
}
.senior-support-phone {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  color: #f0620d;
  text-decoration: none;
}
.senior-support-phone .material-icons {
  font-size: 18px;
}

/* ---- Responsive mobile ---- */
@media (max-width: 480px) {

  .senior-installments {
    margin-left: 0;
  }
  .senior-payment-title {
    flex-wrap: wrap;
  }
}
/* Bloc choix de date d'expédition */
.select-delivery-option {
    margin-top: 20px;
    padding: 16px 18px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    background: #fff;
}

/* Ligne checkbox + texte */
.select-delivery-label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 4px 0;
    cursor: pointer;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
    color: #231f20;
}

/* Checkbox */
.select-delivery-label input[type="checkbox"] {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin: 0;
    cursor: pointer;
    accent-color: #EB6A1E;
}

/* Texte explicatif */
.preferred-delivery-asap-note {
    margin-top: 8px;
    margin-left: 34px;
    padding: 0;
    color: #5f5f5f;
    font-size: 15px;
    line-height: 1.5;
}

/* Quand on passe la souris */
.select-delivery-label:hover {
    color: #EB6A1E;
}

/* Focus clavier */
.select-delivery-label input[type="checkbox"]:focus {
    outline: 3px solid rgba(235, 106, 30, 0.25);
    outline-offset: 2px;
}

/* Mobile */
@media (max-width: 767px) {
    .select-delivery-option {
        padding: 14px 15px;
    }

    .select-delivery-label {
        font-size: 17px;
    }

    .select-delivery-label input[type="checkbox"] {
        width: 24px;
        height: 24px;
    }

    .preferred-delivery-asap-note {
        margin-left: 36px;
        font-size: 14px;
    }
}
.create-account-toggle {
    border-top: 1px solid #e5e7eb;
    padding-top: 15px;
}

.create-account-toggle-btn {
    color: #231F20;
    font-size: 16px;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.create-account-toggle-btn:hover {
    color: #EB6A1E;
}

.create-account-arrow {
    width: 24px;
    height: 24px;
    border: 1px solid #EB6A1E;
    border-radius: 50%;
    color: #EB6A1E;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
}

.create-account-toggle-btn[aria-expanded="true"] .create-account-arrow {
    font-size: 0;
}

.create-account-toggle-btn[aria-expanded="true"] .create-account-arrow::after {
    content: "−";
    font-size: 18px;
}

#create-account-fields {
    margin-top: 10px;
}
@media (max-width: 767px) {
    #checkout .row
 {
     margin-right: 0px; 
    margin-left: 0px; 
}
}
#checkout label{
    text-align: left;
}
div#ps_checkout-payment-method-logo-block-container {
    display: none;
}





/* =========================================================
   PAGE PROMOTIONS / NOUVEAUTÉS / MEILLEURES VENTES
   ========================================================= */

#prices-drop #main,
#new-products #main,
#best-sales #main {
  padding-bottom: 50px;
}

#prices-drop #main > #products,
#new-products #main > #products,
#best-sales #main > #products {
  margin-top: 25px;
}


/* ---------- Fil d'Ariane ---------- */

#prices-drop .breadcrumb,
#new-products .breadcrumb,
#best-sales .breadcrumb {
  margin: 15px 0 25px;
  padding: 0;
  background: transparent;
  font-size: 14px;
}

#prices-drop .breadcrumb ol,
#new-products .breadcrumb ol,
#best-sales .breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#prices-drop .breadcrumb li,
#new-products .breadcrumb li,
#best-sales .breadcrumb li {
  color: #777;
}

#prices-drop .breadcrumb li + li:before,
#new-products .breadcrumb li + li:before,
#best-sales .breadcrumb li + li:before {
  content: "/";
  margin-right: 8px;
  color: #bbb;
}

#prices-drop .breadcrumb a,
#new-products .breadcrumb a,
#best-sales .breadcrumb a {
  color: #555;
  text-decoration: none;
  transition: color .2s ease;
}

#prices-drop .breadcrumb a:hover,
#new-products .breadcrumb a:hover,
#best-sales .breadcrumb a:hover {
  color: #8b5a2b;
}


/* ---------- Titre ---------- */

#prices-drop #js-product-list-header,
#new-products #js-product-list-header,
#best-sales #js-product-list-header {
  position: relative;
  margin: 0 0 35px;
  padding-bottom: 15px;
  color: #29251f;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
}

#prices-drop #js-product-list-header:after,
#new-products #js-product-list-header:after,
#best-sales #js-product-list-header:after {
  content: "";
  display: block;
  width: 55px;
  height: 4px;
  margin-top: 12px;
  background: #8b5a2b;
  border-radius: 5px;
}


/* =========================================================
   BARRE TRI / NOMBRE DE PRODUITS
   ========================================================= */

#prices-drop #js-product-list-top,
#new-products #js-product-list-top,
#best-sales #js-product-list-top {
  display: flex;
  align-items: center;
  margin: 0 0 30px;
  padding: 16px 20px;
  background: #f7f5f1;
  border: 1px solid #ebe6df;
  border-radius: 10px;
}

#prices-drop #js-product-list-top .total-products,
#new-products #js-product-list-top .total-products,
#best-sales #js-product-list-top .total-products {
  display: flex;
  align-items: center;
}

#prices-drop #js-product-list-top .total-products p,
#new-products #js-product-list-top .total-products p,
#best-sales #js-product-list-top .total-products p {
  margin: 0;
  color: #555;
  font-size: 14px;
  font-weight: 500;
}

#prices-drop .sort-by-row,
#new-products .sort-by-row,
#best-sales .sort-by-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

#prices-drop .sort-by,
#new-products .sort-by,
#best-sales .sort-by {
  color: #666;
  font-size: 14px;
  font-weight: 500;
}


/* ---------- Sélecteur de tri ---------- */

#prices-drop .products-sort-order,
#new-products .products-sort-order,
#best-sales .products-sort-order {
  position: relative;
}

#prices-drop .products-sort-order .select-title,
#new-products .products-sort-order .select-title,
#best-sales .products-sort-order .select-title {
  width: 100%;
  min-height: 44px;
  padding: 10px 15px;
  background: #fff;
  border: 1px solid #ddd5cb;
  border-radius: 6px;
  color: #333;
  font-size: 14px;
  text-align: left;
  transition: all .2s ease;
}

#prices-drop .products-sort-order .select-title:hover,
#prices-drop .products-sort-order .select-title:focus,
#new-products .products-sort-order .select-title:hover,
#new-products .products-sort-order .select-title:focus,
#best-sales .products-sort-order .select-title:hover,
#best-sales .products-sort-order .select-title:focus {
  border-color: #8b5a2b;
  box-shadow: 0 0 0 3px rgba(139, 90, 43, .08);
}

#prices-drop .products-sort-order .select-title .material-icons,
#new-products .products-sort-order .select-title .material-icons,
#best-sales .products-sort-order .select-title .material-icons {
  color: #8b5a2b;
}

#prices-drop .products-sort-order .dropdown-menu,
#new-products .products-sort-order .dropdown-menu,
#best-sales .products-sort-order .dropdown-menu {
  min-width: 100%;
  padding: 7px 0;
  border: 1px solid #e5dfd7;
  border-radius: 7px;
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
}

#prices-drop .products-sort-order .select-list,
#new-products .products-sort-order .select-list,
#best-sales .products-sort-order .select-list {
  display: block;
  padding: 9px 15px;
  color: #444;
  font-size: 14px;
  text-decoration: none;
  transition: background .2s ease;
}

#prices-drop .products-sort-order .select-list:hover,
#prices-drop .products-sort-order .select-list.current,
#new-products .products-sort-order .select-list:hover,
#new-products .products-sort-order .select-list.current,
#best-sales .products-sort-order .select-list:hover,
#best-sales .products-sort-order .select-list.current {
  background: #f6f1eb;
  color: #8b5a2b;
}


/* =========================================================
   GRILLE PRODUITS
   ========================================================= */

#prices-drop #js-product-list .products,
#new-products #js-product-list .products,
#best-sales #js-product-list .products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  margin: 0;
}

#prices-drop #js-product-list .product-grid-item,
#new-products #js-product-list .product-grid-item,
#best-sales #js-product-list .product-grid-item {
  width: auto;
  max-width: none;
  padding: 0;
}


/* ---------- Carte produit ---------- */

#prices-drop #js-product-list .product-miniature,
#new-products #js-product-list .product-miniature,
#best-sales #js-product-list .product-miniature {
  height: 100%;
  margin: 0;
}

#prices-drop #js-product-list .thumbnail-container,
#new-products #js-product-list .thumbnail-container,
#best-sales #js-product-list .thumbnail-container {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e7e2dc;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(45, 35, 25, .06);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

#prices-drop #js-product-list .thumbnail-container:hover,
#new-products #js-product-list .thumbnail-container:hover,
#best-sales #js-product-list .thumbnail-container:hover {
  transform: translateY(-5px);
  border-color: #d7cec3;
  box-shadow: 0 12px 30px rgba(45, 35, 25, .12);
}


/* ---------- Zone image ---------- */

#prices-drop #js-product-list .thumbnail-top,
#new-products #js-product-list .thumbnail-top,
#best-sales #js-product-list .thumbnail-top {
  position: relative;
  overflow: hidden;
  background: #f7f5f1;
}

#prices-drop #js-product-list .product-thumbnail,
#new-products #js-product-list .product-thumbnail,
#best-sales #js-product-list .product-thumbnail {
  display: block;
  overflow: hidden;
}

#prices-drop #js-product-list .product-thumbnail img,
#new-products #js-product-list .product-thumbnail img,
#best-sales #js-product-list .product-thumbnail img {
  display: block;
  width: 100%;
  height: 330px;
  object-fit: contain;
  padding: 15px;
  background: #f8f6f2;
  transition: transform .45s ease;
}

#prices-drop #js-product-list .thumbnail-container:hover .product-thumbnail img,
#new-products #js-product-list .thumbnail-container:hover .product-thumbnail img,
#best-sales #js-product-list .thumbnail-container:hover .product-thumbnail img {
  transform: scale(1.04);
}


/* =========================================================
   BADGE
   ========================================================= */

#prices-drop #js-product-list .product-flags,
#new-products #js-product-list .product-flags,
#best-sales #js-product-list .product-flags {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 5;
  margin: 0;
  padding: 0;
  list-style: none;
}

#prices-drop #js-product-list .product-flag.discount,
#new-products #js-product-list .product-flag.discount,
#best-sales #js-product-list .product-flag.discount {
  display: inline-block;
  padding: 7px 11px;
  background: #b52f25;
  border-radius: 5px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 3px 8px rgba(181,47,37,.2);
}


/* ---------- Aperçu rapide ---------- */

#prices-drop #js-product-list .highlighted-informations,
#new-products #js-product-list .highlighted-informations,
#best-sales #js-product-list .highlighted-informations {
  position: absolute;
  bottom: 15px;
  left: 50%;
  z-index: 4;
  transform: translate(-50%, 10px);
  opacity: 0;
  transition: all .25s ease;
}

#prices-drop #js-product-list .thumbnail-container:hover .highlighted-informations,
#new-products #js-product-list .thumbnail-container:hover .highlighted-informations,
#best-sales #js-product-list .thumbnail-container:hover .highlighted-informations {
  transform: translate(-50%, 0);
  opacity: 1;
}

#prices-drop #js-product-list .quick-view,
#new-products #js-product-list .quick-view,
#best-sales #js-product-list .quick-view {
  display: block;
  padding: 9px 14px;
  background: rgba(255,255,255,.96);
  border-radius: 6px;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 4px 15px rgba(0,0,0,.12);
  text-decoration: none;
}

#prices-drop #js-product-list .quick-view:hover,
#new-products #js-product-list .quick-view:hover,
#best-sales #js-product-list .quick-view:hover {
  color: #8b5a2b;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

#prices-drop #js-product-list .product-description,
#new-products #js-product-list .product-description,
#best-sales #js-product-list .product-description {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px;
}

#prices-drop #js-product-list .product-title,
#new-products #js-product-list .product-title,
#best-sales #js-product-list .product-title {
  min-height: 50px;
  margin: 0 0 12px;
  line-height: 1.35;
}

#prices-drop #js-product-list .product-title a,
#new-products #js-product-list .product-title a,
#best-sales #js-product-list .product-title a {
  color: #29251f;
  font-size: 19px;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s ease;
}

#prices-drop #js-product-list .product-title a:hover,
#new-products #js-product-list .product-title a:hover,
#best-sales #js-product-list .product-title a:hover {
  color: #8b5a2b;
}


/* ---------- Description courte ---------- */

#prices-drop #js-product-list .product-short-description,
#new-products #js-product-list .product-short-description,
#best-sales #js-product-list .product-short-description {
  margin: 0 0 15px;
  color: #666;
  font-size: 14px;
  line-height: 1.65;
}


/* ---------- Bloc "Pour qui" ---------- */

#prices-drop #js-product-list .product-target-box,
#new-products #js-product-list .product-target-box,
#best-sales #js-product-list .product-target-box {
  margin: 0 0 16px;
  padding: 12px 14px;
  background: #faf7f3;
  border-left: 3px solid #8b5a2b;
  border-radius: 0 5px 5px 0;
}

#prices-drop #js-product-list .product-target-box p,
#new-products #js-product-list .product-target-box p,
#best-sales #js-product-list .product-target-box p {
  margin: 0;
  color: #555;
  font-size: 13px;
  line-height: 1.5;
}

#prices-drop #js-product-list .product-target-box strong,
#new-products #js-product-list .product-target-box strong,
#best-sales #js-product-list .product-target-box strong {
  color: #29251f;
}


/* ---------- Caractéristiques ---------- */

#prices-drop #js-product-list .product-features,
#new-products #js-product-list .product-features,
#best-sales #js-product-list .product-features {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

#prices-drop #js-product-list .product-features li,
#new-products #js-product-list .product-features li,
#best-sales #js-product-list .product-features li {
  position: relative;
  margin-bottom: 7px;
  padding-left: 22px;
  color: #555;
  font-size: 13px;
  line-height: 1.45;
}

#prices-drop #js-product-list .product-features .check,
#new-products #js-product-list .product-features .check,
#best-sales #js-product-list .product-features .check {
  position: absolute;
  left: 0;
  color: #6d8739;
  font-weight: 700;
}


/* =========================================================
   PRIX
   ========================================================= */

#prices-drop #js-product-list .product-price-and-shipping,
#new-products #js-product-list .product-price-and-shipping,
#best-sales #js-product-list .product-price-and-shipping {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: auto;
  padding-top: 15px;
}

#prices-drop #js-product-list .regular-price,
#new-products #js-product-list .regular-price,
#best-sales #js-product-list .regular-price {
  color: #999;
  font-size: 15px;
  text-decoration: line-through;
}

#prices-drop #js-product-list .discount-amount,
#new-products #js-product-list .discount-amount,
#best-sales #js-product-list .discount-amount {
  padding: 4px 7px;
  background: #f9e8e6;
  border-radius: 4px;
  color: #b52f25;
  font-size: 12px;
  font-weight: 700;
}

#prices-drop #js-product-list .price,
#new-products #js-product-list .price,
#best-sales #js-product-list .price {
  width: 100%;
  margin-top: 2px;
  color: #8b5a2b;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.2;
}


/* =========================================================
   BOUTON
   ========================================================= */

#prices-drop #js-product-list .product-view-link-container,
#new-products #js-product-list .product-view-link-container,
#best-sales #js-product-list .product-view-link-container {
  margin-top: 20px;
}

#prices-drop #js-product-list .product-view-link-container .btn,
#new-products #js-product-list .product-view-link-container .btn,
#best-sales #js-product-list .product-view-link-container .btn {
  min-height: 46px;
  padding: 11px 18px;
  border-radius: 6px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .3px;
  transition: all .25s ease;
}

#prices-drop #js-product-list .product-view-link-container .btn:hover,
#new-products #js-product-list .product-view-link-container .btn:hover,
#best-sales #js-product-list .product-view-link-container .btn:hover {
 
  transform: translateY(-1px);
  box-shadow: 0 5px 15px rgba(111,69,31,.20);
}


/* =========================================================
   PAGINATION
   ========================================================= */

#prices-drop #js-product-list .pagination,
#new-products #js-product-list .pagination,
#best-sales #js-product-list .pagination {
  display: flex;
  align-items: center;
  margin-top: 35px;
  padding-top: 20px;
  border-top: 1px solid #eee8e1;
  color: #777;
  font-size: 13px;
}


/* =========================================================
   RESPONSIVE TABLETTE
   ========================================================= */

@media (max-width: 991px) {

  #prices-drop #js-product-list .products,
  #new-products #js-product-list .products,
  #best-sales #js-product-list .products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  #prices-drop #js-product-list .product-thumbnail img,
  #new-products #js-product-list .product-thumbnail img,
  #best-sales #js-product-list .product-thumbnail img {
    height: 270px;
  }

  #prices-drop #js-product-list .product-description,
  #new-products #js-product-list .product-description,
  #best-sales #js-product-list .product-description {
    padding: 18px;
  }

  #prices-drop #js-product-list .product-title a,
  #new-products #js-product-list .product-title a,
  #best-sales #js-product-list .product-title a {
    font-size: 17px;
  }

}


/* =========================================================
   RESPONSIVE MOBILE
   ========================================================= */

@media (max-width: 767px) {

  #prices-drop #js-product-list-header,
  #new-products #js-product-list-header,
  #best-sales #js-product-list-header {
    margin-bottom: 25px;
    font-size: 28px;
  }

  #prices-drop #js-product-list-top,
  #new-products #js-product-list-top,
  #best-sales #js-product-list-top {
    display: block;
    padding: 15px;
  }

  #prices-drop #js-product-list-top .total-products,
  #new-products #js-product-list-top .total-products,
  #best-sales #js-product-list-top .total-products {
    margin-bottom: 12px;
  }

  #prices-drop .sort-by-row,
  #new-products .sort-by-row,
  #best-sales .sort-by-row {
    display: block;
  }

  #prices-drop .sort-by,
  #new-products .sort-by,
  #best-sales .sort-by {
    display: block;
    width: 100%;
    margin-bottom: 7px;
  }

  #prices-drop .products-sort-order,
  #new-products .products-sort-order,
  #best-sales .products-sort-order {
    width: 100%;
  }

  #prices-drop #js-product-list .products,
  #new-products #js-product-list .products,
  #best-sales #js-product-list .products {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #prices-drop #js-product-list .product-thumbnail img,
  #new-products #js-product-list .product-thumbnail img,
  #best-sales #js-product-list .product-thumbnail img {
    height: 300px;
  }

  #prices-drop #js-product-list .product-description,
  #new-products #js-product-list .product-description,
  #best-sales #js-product-list .product-description {
    padding: 20px;
  }

  #prices-drop #js-product-list .product-title,
  #new-products #js-product-list .product-title,
  #best-sales #js-product-list .product-title {
    min-height: auto;
  }

  #prices-drop #js-product-list .product-title a,
  #new-products #js-product-list .product-title a,
  #best-sales #js-product-list .product-title a {
    font-size: 18px;
  }

  #prices-drop #js-product-list .price,
  #new-products #js-product-list .price,
  #best-sales #js-product-list .price {
    font-size: 25px;
  }

}


/* =========================================================
   PETITS MOBILES
   ========================================================= */

@media (max-width: 480px) {

  #prices-drop #js-product-list .product-thumbnail img,
  #new-products #js-product-list .product-thumbnail img,
  #best-sales #js-product-list .product-thumbnail img {
    height: 250px;
  }

  #prices-drop #js-product-list .product-description,
  #new-products #js-product-list .product-description,
  #best-sales #js-product-list .product-description {
    padding: 16px;
  }

  #prices-drop #js-product-list .product-view-link-container .btn,
  #new-products #js-product-list .product-view-link-container .btn,
  #best-sales #js-product-list .product-view-link-container .btn {
    width: 100%;
  }

}

.payment-3x-badge {
display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    padding: 4px 6px;

    border: 1px solid #eb6a1e;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    color: #ff9a52;
}