
/* source: header.css */
/* Header unique factorisé — chargé sur toutes les pages */
:root{--vfh-bg:#fffdfa;--vfh-line:#e7e1da;--vfh-ink:#111;--vfh-gold:#b78a4c}
.vf-global-topbar,.vf-global-header,.vf-global-topbar *,.vf-global-header *{box-sizing:border-box}
.vf-global-topbar{height:44px;padding:0 17.5%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#f6f3ef;border-top:1px solid #eee9e3;color:#2c2926;font:500 11px/1 Montserrat,sans-serif;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
.vf-global-topbar span{display:flex;align-items:center;justify-content:center;gap:13px}
.vf-global-topbar svg{width:16px;height:16px;fill:none;stroke:var(--vfh-gold);stroke-width:1.6;flex:0 0 auto}
.vf-global-header{width:100%;min-height:110px;padding:0 2vw;display:grid;grid-template-columns:92px 205px minmax(300px,1fr) auto auto 48px;align-items:center;gap:28px;background:var(--vfh-bg);border-bottom:1px solid var(--vfh-line);position:relative;z-index:50}
.vf-global-header .vfr-logo{color:var(--vfh-ink);text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.vf-global-header .vfr-logo strong{font:500 43px/1 'Cormorant Garamond',serif;letter-spacing:-.035em}
.vf-global-header .vfr-logo span{margin:9px 0 0 45px;font:600 10px/1 Montserrat,sans-serif;letter-spacing:.42em;text-transform:uppercase}
.vf-global-header .vfr-header-search{height:54px;margin:0;padding:0 17px;border:1px solid var(--vfh-line);border-radius:5px;background:#fff;display:flex;align-items:center;min-width:0}
.vf-global-header .vfr-header-search input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#222;font:400 13px Montserrat,sans-serif}
.vf-global-header .vfr-header-search input::placeholder{color:#8d8984}
.vf-global-header .vfr-header-search button{width:34px;height:44px;padding:0;border:0;background:transparent;display:grid;place-items:center;color:#111;cursor:pointer}
.vf-global-header .vfr-header-search svg,.vf-global-header .vfr-header-cart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.vf-global-header .vfr-category-nav{display:flex;gap:12px}
.vf-global-header .vfr-category-nav button{height:50px;min-width:94px;padding:0 20px;border:1px solid var(--vfh-line);border-radius:4px;background:#fff;color:#111;font:600 11px Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.vf-global-header .vfr-category-nav button:hover,.vf-global-header .vfr-category-nav button.is-active{background:#0d0d0d;color:#fff;border-color:#0d0d0d}
.vf-global-header .vfr-header-count{margin:0;color:#171717;font:500 10px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.vf-global-header .vfr-header-count strong{font-weight:500}
.vf-global-header .vfr-header-cart{position:relative;color:#111;text-decoration:none;display:grid;place-items:center;width:42px;height:42px}
.vf-global-header .vfr-header-cart span{position:absolute;top:-5px;right:-3px;width:20px;height:20px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font:600 10px Montserrat,sans-serif}
@media(max-width:1380px){.vf-global-header{grid-template-columns:82px 180px minmax(240px,1fr) auto 44px;gap:16px}.vf-global-header .vfr-header-count{display:none}.vf-global-header .vfr-category-nav button{min-width:78px;padding:0 14px}.vf-global-topbar{padding-left:12%;padding-right:12%}}
@media(max-width:1050px){.vf-global-topbar{height:38px;padding:0 20px;font-size:9px}.vf-global-header{min-height:auto;padding:17px 22px;grid-template-columns:auto 1fr auto;gap:13px}.vf-global-header .vfr-menu-trigger{grid-column:1}.vf-global-header .vfr-logo{grid-column:2}.vf-global-header .vfr-header-cart{grid-column:3}.vf-global-header .vfr-header-search{grid-column:1/-1;grid-row:2}.vf-global-header .vfr-category-nav{grid-column:1/-1;grid-row:3;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.vf-global-header .vfr-category-nav::-webkit-scrollbar{display:none}}
@media(max-width:720px){.vf-global-topbar{height:32px;padding:0 12px;justify-content:center;font-size:8px}.vf-global-topbar span:nth-child(2),.vf-global-topbar span:nth-child(3){display:none}.vf-global-header{padding:13px 14px;gap:11px}.vf-global-header .vfr-logo strong{font-size:34px}.vf-global-header .vfr-logo span{font-size:8px;margin-left:35px}.vf-global-header .vfr-header-search{height:46px}.vf-global-header .vfr-category-nav{gap:8px}.vf-global-header .vfr-category-nav button{height:41px;min-width:74px;padding:0 13px;font-size:9px}.vf-global-header .vfr-header-cart{width:38px;height:38px}}


/* Menu latéral premium */
.vf-global-header .vfr-menu-trigger{height:46px;padding:0 12px 0 4px;border:0;background:transparent;color:#111;display:inline-flex;align-items:center;justify-content:flex-start;gap:11px;font:600 10px/1 Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.vfr-menu-trigger__lines{width:25px;height:17px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.vfr-menu-trigger__lines i{display:block;width:25px;height:1px;background:currentColor;transition:transform .25s ease,width .25s ease}
.vfr-menu-trigger:hover .vfr-menu-trigger__lines i:last-child{width:17px}
.vfr-menu-overlay{position:fixed;inset:0;background:rgba(17,15,13,.28);backdrop-filter:blur(2px);opacity:0;z-index:998;transition:opacity .3s ease}
.vfr-premium-menu{position:fixed;inset:0 auto 0 0;width:min(390px,92vw);background:#fffdfa;z-index:999;transform:translateX(-102%);transition:transform .32s cubic-bezier(.22,.61,.36,1);box-shadow:20px 0 60px rgba(20,16,12,.12);display:flex;flex-direction:column;padding:28px 31px 27px;color:#151311}
.vfr-menu-is-open{overflow:hidden}
.vfr-menu-is-open .vfr-menu-overlay{opacity:1}
.vfr-menu-is-open .vfr-premium-menu{transform:translateX(0)}
.vfr-premium-menu__head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:27px;border-bottom:1px solid #e9e2da}
.vfr-premium-menu__brand{color:#111;text-decoration:none;display:flex;flex-direction:column;line-height:1}
.vfr-premium-menu__brand strong{font:500 38px/1 'Cormorant Garamond',serif;letter-spacing:-.04em}
.vfr-premium-menu__brand span{margin:8px 0 0 38px;font:600 8px/1 Montserrat,sans-serif;letter-spacing:.42em;text-transform:uppercase}
.vfr-premium-menu__close{width:39px;height:39px;border:1px solid #e4ddd5;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;cursor:pointer;transition:.22s ease}
.vfr-premium-menu__close:hover{background:#111;color:#fff;border-color:#111;transform:rotate(5deg)}
.vfr-premium-menu__close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35}
.vfr-premium-menu__nav{padding:27px 0 18px;display:flex;flex-direction:column;overflow:auto}
.vfr-premium-menu__nav>a{position:relative;padding:11px 2px;color:#171412;text-decoration:none;font:500 26px/1.08 'Cormorant Garamond',serif;transition:padding-left .2s ease,color .2s ease}
.vfr-premium-menu__nav>a::before{content:'';position:absolute;left:0;top:50%;width:0;height:1px;background:#b78a4c;transition:width .2s ease}
.vfr-premium-menu__nav>a:hover,.vfr-premium-menu__nav>a.is-current{padding-left:23px;color:#9a6e37}
.vfr-premium-menu__nav>a:hover::before,.vfr-premium-menu__nav>a.is-current::before{width:14px}
.vfr-premium-menu__group{margin:14px 0;padding:17px 0;border-top:1px solid #eee7df;border-bottom:1px solid #eee7df}
.vfr-premium-menu__group p{margin:0 0 9px 2px;color:#9b8d7d;font:600 9px/1 Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.vfr-premium-menu__group a{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;color:#28231f;text-decoration:none;font:500 15px/1.2 Montserrat,sans-serif;transition:padding-left .2s ease,color .2s ease}
.vfr-premium-menu__group a:hover{padding-left:8px;color:#9a6e37}
.vfr-premium-menu__group a span{font:300 22px/1 'Cormorant Garamond',serif}
.vfr-premium-menu__footer{margin-top:auto;padding-top:20px;border-top:1px solid #e9e2da;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vfr-premium-menu__footer>a{color:#171412;text-decoration:none;font:600 9px/1 Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.vfr-premium-menu__footer>a:nth-child(2){text-align:right}
.vfr-premium-menu__footer>a span{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:5px;border-radius:50%;background:#111;color:#fff;font-size:9px}
.vfr-premium-menu__footer p{grid-column:1/-1;margin:14px 0 0;color:#8f8377;font:italic 16px/1.35 'Cormorant Garamond',serif}
@media(max-width:1050px){.vf-global-header .vfr-menu-trigger{padding-left:0}.vf-global-header .vfr-menu-trigger>span:last-child{display:none}.vf-global-header .vfr-header-search{grid-column:1/-1;grid-row:2}.vf-global-header .vfr-category-nav{grid-column:1/-1;grid-row:3}}
@media(max-width:720px){.vf-global-header .vfr-menu-trigger{width:38px;padding:0}.vfr-menu-trigger__lines{width:23px}.vfr-menu-trigger__lines i{width:23px}.vfr-premium-menu{padding:22px 22px 24px}.vfr-premium-menu__nav>a{font-size:24px}}
@media(prefers-reduced-motion:reduce){.vfr-premium-menu,.vfr-menu-overlay,.vfr-menu-trigger__lines i{transition:none}}

/* source: promotions.css */
.vf-global-promotions{
    --promo-green:#145d0c;
    --promo-line:#dfe5d2;
    padding:18px clamp(14px,4vw,66px);
    background:#fff;
    font-family:"Montserrat",Arial,sans-serif;
}
.vf-global-promotions__inner{
    width:min(1240px,100%);
    margin:0 auto;
    border:1px solid var(--promo-line);
    border-radius:24px;
    padding:20px 24px 22px;
    background:linear-gradient(110deg,#f6f8ed 0%,#fffdf7 100%);
    box-shadow:0 10px 28px rgba(38,72,25,.045);
}
.vf-global-promotions h2{
    margin:0 0 18px;
    text-align:center;
    color:var(--promo-green);
    font:700 19px/1.1 "Cormorant Garamond",serif;
    letter-spacing:.035em;
}
.vf-global-promotions__tiers{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:760px;
    margin:0 auto;
}
.vf-global-promotions__tiers article{
    min-height:102px;
    padding:0 18px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    align-items:center;
    border-right:1px solid #dcded2;
}
.vf-global-promotions__tiers article:last-child{border-right:0}
.vf-global-promotions__tiers article>strong{
    grid-column:1/-1;
    color:var(--promo-green);
    text-align:center;
    font:700 18px/1 "Montserrat",Arial,sans-serif;
    font-variant-numeric:lining-nums tabular-nums;
}
.vf-global-promotions__icon{
    display:grid;
    place-items:center;
    font-size:22px;
}
.vf-global-promotions__tiers p{
    margin:0;
    color:#342f29;
    text-align:left;
    font:500 17px/1.3 "Cormorant Garamond",serif;
}
.vf-global-promotions__tiers b{
    color:var(--promo-green);
    font:700 27px/1 "Montserrat",Arial,sans-serif;
    font-variant-numeric:lining-nums tabular-nums;
}
.vf-global-promotions__tiers p span{font-size:16px}
.vf-global-promotions__tiers sup{font-size:.65em}
.vf-global-promotions__note{margin:15px 0 0;text-align:center;color:#746d64;font:500 11px/1.45 "Montserrat",Arial,sans-serif}
.vf-global-promotions--header{
    padding-top:14px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(20,93,12,.08);
}
.vf-global-promotions--footer{
    padding-top:30px;
    padding-bottom:30px;
    background:#f8f8f2;
}
@media(max-width:900px){
    .vf-global-promotions{padding:12px 14px}
    .vf-global-promotions__inner{padding:13px 10px 11px;border-radius:17px;overflow:hidden}
    .vf-global-promotions h2{margin-bottom:10px;font-size:14px;letter-spacing:.08em}
    .vf-global-promotions__tiers{
        display:flex;
        gap:8px;
        overflow-x:auto;
        padding:1px 2px 7px;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    .vf-global-promotions__tiers::-webkit-scrollbar{display:none}
    .vf-global-promotions__tiers article{
        flex:0 0 138px;
        min-height:76px;
        padding:9px;
        grid-template-columns:26px minmax(0,1fr);
        column-gap:7px;
        row-gap:4px;
        border:1px solid rgba(29,105,18,.12);
        border-radius:13px;
        background:rgba(255,255,255,.8);
        box-shadow:0 4px 12px rgba(41,63,30,.04);
        scroll-snap-align:start;
    }
    .vf-global-promotions__tiers article:last-child{border-right:1px solid rgba(29,105,18,.12)}
    .vf-global-promotions__tiers article>strong{text-align:left;font-size:14px}
    .vf-global-promotions__icon{font-size:15px}
    .vf-global-promotions__tiers p{font-size:13px;line-height:1.15}
    .vf-global-promotions__tiers b{font-size:16px}
    .vf-global-promotions__tiers p span{font-size:12px}
    .vf-global-promotions--footer{padding-top:18px;padding-bottom:18px}
}

/* Correctif typographique : textes des avantages en écriture normale. */
.vf-global-promotions__tiers p,
.vf-global-promotions__tiers p span {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
}

/* Défilement continu et interaction manuelle de « Comment ça marche ? ». */
.vf-global-promotions--footer .vf-global-promotions__viewport{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    cursor:grab;
    user-select:none;
    scrollbar-width:none;
    -ms-overflow-style:none;
    touch-action:pan-x pan-y;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);
    mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);
}
.vf-global-promotions--footer .vf-global-promotions__viewport::-webkit-scrollbar{
    display:none;
}
.vf-global-promotions--footer .vf-global-promotions__viewport.is-dragging{
    cursor:grabbing;
}
.vf-global-promotions--footer .vf-global-promotions__tiers--marquee{
    display:flex;
    width:max-content;
    min-width:max-content;
    gap:0;
    padding:1px 0 7px;
    transform:none;
    animation:none;
    will-change:auto;
}
.vf-global-promotions--footer .vf-global-promotions__tiers--marquee article{
    flex:0 0 248px;
    width:248px;
}
@media(max-width:900px){
    .vf-global-promotions--footer .vf-global-promotions__viewport{
        cursor:default;
        -webkit-mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent);
        mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent);
    }
    .vf-global-promotions--footer .vf-global-promotions__tiers--marquee article{
        flex-basis:146px;
        width:146px;
        margin-right:8px;
    }
}
@media(prefers-reduced-motion:reduce){
    .vf-global-promotions--footer .vf-global-promotions__viewport{
        scroll-behavior:auto;
    }
}

/* source: responsive-premium.css */
/* =========================================================
   VERINAFLOR — COUCHE RESPONSIVE PREMIUM GLOBALE
   Objectif : harmoniser mobile/tablette/desktop sans modifier
   les routes, contrôleurs, formulaires ni fonctionnalités.
   Chargé en dernier pour neutraliser les conflits des CSS de page.
   ========================================================= */

:root {
    --vf-rp-dark: #1f261d;
    --vf-rp-green: #263729;
    --vf-rp-paper: #fffaf4;
    --vf-rp-cream: #fbf7f1;
    --vf-rp-gold: #b28a57;
    --vf-rp-text: #43382f;
    --vf-rp-muted: #8c8175;
    --vf-rp-border: #e8ded2;
    --vf-rp-shadow: 0 22px 60px rgba(31, 38, 29, .12);
}

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    background: var(--vf-rp-cream);
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

img,
video,
canvas,
svg,
iframe {
    max-width: 100%;
}

button,
a,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

/* Header unique et stable sur toutes les pages */
.topbar {
    width: 100% !important;
    min-height: 34px;
    height: auto !important;
    padding: 8px clamp(18px, 4vw, 48px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    background: #368942 !important;
    color: #efe7dc !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.site-header {
    width: 100% !important;
    height: 110px !important;
    min-height: 110px !important;
    padding: 0 clamp(24px, 6vw, 72px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    background: rgba(255, 250, 244, .94) !important;
    border-bottom: 1px solid rgba(232, 222, 210, .82) !important;
    box-shadow: 0 8px 28px rgba(31, 38, 29, .045) !important;
    z-index: 100 !important;
}

.mobile-menu-check,
.mobile-menu-btn {
    display: none;
}

.nav-left,
.header-icons {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
}

.nav-left {
    justify-content: flex-start !important;
    gap: clamp(18px, 3vw, 34px) !important;
}

.header-icons {
    justify-content: flex-end !important;
    gap: 16px !important;
}

.site-header a {
    color: var(--vf-rp-text) !important;
    text-decoration: none !important;
}

.nav-left a {
    font-size: 13px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    border-bottom: 0 !important;
}

.nav-left a.active,
.site-header .active {
    color: var(--vf-rp-gold) !important;
    font-weight: 700 !important;
}

.brand,
.brand-logo {
    height: 110px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-width: 0 !important;
    line-height: 1 !important;
}

.site-logo {
    width: auto !important;
    height: clamp(130px, 12vw, 190px) !important;
    max-width: min(280px, 28vw) !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
}

.cart {
    position: relative !important;
    min-width: 38px !important;
    min-height: 38px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
}

.cart span,
.cart b {
    position: absolute !important;
    top: -7px !important;
    right: -8px !important;
    min-width: 18px !important;
    width: auto !important;
    height: 18px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: var(--vf-rp-gold) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    display: grid !important;
    place-items: center !important;
}

/* Largeurs et grilles desktop/tablette */
main,
.shop-page,
.cart-page,
.checkout-page,
.product-section,
.details-tabs,
.recommended {
    max-width: 100% !important;
}

.hero,
.product-grid,
.shop-layout,
.cart-layout,
.checkout-layout,
.details-grid,
.products-grid,
.cards,
.vf-footer {
    min-width: 0 !important;
}

.product-card,
.category-card,
.cart-item,
.summary-card,
.checkout-form-card,
.confirmation-card,
.gallery,
.main-image,
.product-info {
    min-width: 0 !important;
}

.product-card,
.category-card,
.summary-card,
.checkout-form-card,
.confirmation-card,
.empty-cart {
    border-radius: 18px;
}

.product-card img,
.category-card img,
.cards img,
.main-image,
.summary-card,
.checkout-form-card,
.confirmation-card,
.empty-cart {
    box-shadow: 0 14px 40px rgba(31, 38, 29, .07);
}

/* Footer harmonisé */
.vf-footer {
    width: 100% !important;
    background: linear-gradient(115deg, #263729 0%, #41513a 68%, #5b6145 100%) !important;
    color: #fff !important;
}



.vf-footer-card {
    min-width: 0 !important;
}

/* Tablette */
@media (max-width: 1100px) {
    .hero {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }

    .hero-content {
        padding: 58px 7vw 28px !important;
        text-align: center !important;
    }

    .hero-text {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .hero-badges {
        justify-content: center !important;
        margin-top: 32px !important;
    }

    .hero-visual {
        min-height: auto !important;
        padding: 0 7vw 45px !important;
    }

    .shop-layout,
    .product-grid,
    .cart-layout,
    .checkout-layout,
    .details-grid {
        grid-template-columns: 1fr !important;
    }

    .products-grid,
    .cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .filters {
        border-right: 0 !important;
        border-bottom: 1px solid var(--vf-rp-border) !important;
        padding-right: 0 !important;
        padding-bottom: 18px !important;
    }

    .vf-footer {
        grid-template-columns: 1fr !important;
    }

    .vf-footer-image {
        display: none !important;
    }

   
}

/* Mobile premium */
@media (max-width: 900px) {
    .topbar {
        display: none !important;
    }

    .site-header {
        position: sticky !important;
        top: 0 !important;
        height: 84px !important;
        min-height: 84px !important;
        padding: 0 16px !important;
        grid-template-columns: 46px minmax(0, 1fr) 46px !important;
        gap: 8px !important;
        background: rgba(255, 250, 244, .88) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
        box-shadow: 0 16px 38px rgba(31, 38, 29, .10) !important;
        overflow: visible !important;
    }

    .mobile-menu-btn {
        display: inline-flex !important;
        width: 42px !important;
        height: 42px !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        justify-self: start !important;
        border: 1px solid rgba(178, 138, 87, .40) !important;
        border-radius: 999px !important;
        background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(251,247,241,.96)) !important;
        box-shadow: 0 12px 26px rgba(31, 38, 29, .10) !important;
        cursor: pointer !important;
    }

    .mobile-menu-btn span {
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: var(--vf-rp-dark) !important;
        transition: transform .25s ease, opacity .25s ease !important;
    }

    .mobile-menu-check:checked + .mobile-menu-btn span:nth-child(1) {
        transform: translateY(7px) rotate(45deg) !important;
    }

    .mobile-menu-check:checked + .mobile-menu-btn span:nth-child(2) {
        opacity: 0 !important;
    }

    .mobile-menu-check:checked + .mobile-menu-btn span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    .brand,
    .brand-logo,
    .header-icons {
        height: 84px !important;
    }

    .brand,
    .brand-logo {
        justify-self: center !important;
        order: initial !important;
    }

    .site-logo {
        height: 102px !important;
        max-width: min(52vw, 205px) !important;
    }

    .header-icons {
        justify-self: end !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        justify-content: flex-end !important;
    }

    .cart {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        background: rgba(255, 250, 244, .80) !important;
        border: 1px solid rgba(178, 138, 87, .26) !important;
        box-shadow: 0 10px 24px rgba(31, 38, 29, .08) !important;
    }

    .cart span,
    .cart b {
        top: -4px !important;
        right: -4px !important;
    }

    .nav-left {
        position: absolute !important;
        top: calc(100% + 10px) !important;
        left: 14px !important;
        right: 14px !important;
        z-index: 110 !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 14px !important;
        background: rgba(255, 250, 244, .98) !important;
        border: 1px solid rgba(232, 222, 210, .96) !important;
        border-radius: 22px !important;
        box-shadow: 0 22px 58px rgba(31, 38, 29, .16) !important;
        transform: translateY(-10px) scale(.98) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .24s ease, transform .24s ease, visibility .24s ease !important;
        overflow: visible !important;
    }

    .mobile-menu-check:checked ~ .nav-left {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
    }

    .nav-left a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 48px !important;
        padding: 0 16px !important;
        border-radius: 16px !important;
        background: linear-gradient(135deg, rgba(251,247,241,.90), rgba(255,255,255,.98)) !important;
        border: 1px solid rgba(232, 222, 210, .78) !important;
        font-size: 13px !important;
        letter-spacing: .08em !important;
        text-transform: uppercase !important;
    }

    .nav-left a::after {
        content: "→";
        color: var(--vf-rp-gold);
        font-size: 15px;
    }

    .nav-left a.active {
        background: linear-gradient(135deg, rgba(178,138,87,.14), rgba(255,255,255,.96)) !important;
    }

    .shop-page,
    .cart-page,
    .checkout-page,
    .product-section,
    .details-tabs,
    .recommended,
    .essentials {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .hero-content h1,
    .shop-title h1,
    .product-info h1,
    .cart-page h1,
    .checkout-title h1 {
        overflow-wrap: anywhere !important;
    }

    .hero h1 {
        font-size: clamp(42px, 13vw, 64px) !important;
        line-height: .96 !important;
    }

    .eyebrow {
        letter-spacing: .20em !important;
        font-size: 12px !important;
    }

    .btn-primary,
    .add-btn,
    .summary-card button,
    .summary-card .checkout-button,
    .empty-cart a,
    .confirmation-card a {
        width: 100% !important;
        min-height: 52px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        border-radius: 999px !important;
    }

    .gallery {
        grid-template-columns: 1fr !important;
    }

    .thumbs {
        order: 2 !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
        scroll-snap-type: x mandatory !important;
    }

    .thumbs button {
        min-width: 74px !important;
        width: 74px !important;
        height: 74px !important;
        scroll-snap-align: start !important;
        border-radius: 14px !important;
        overflow: hidden !important;
    }

    .main-image {
        min-height: 340px !important;
        border-radius: 24px !important;
    }

    .product-info {
        padding-top: 0 !important;
    }

    .cart-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .qty {
        width: 100% !important;
        justify-content: center !important;
        border-radius: 999px !important;
        overflow: hidden !important;
    }

    .qty button,
    .qty input {
        flex: 1 1 0 !important;
    }

    .tabs {
        gap: 18px !important;
        overflow-x: auto !important;
        padding-bottom: 2px !important;
    }

    .tabs button {
        white-space: nowrap !important;
    }

    .cart-head {
        display: none !important;
    }

    .cart-item {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        padding: 18px !important;
        margin-bottom: 14px !important;
        background: #fffaf5 !important;
        border: 1px solid var(--vf-rp-border) !important;
        border-radius: 20px !important;
    }

    .product-cell {
        align-items: flex-start !important;
    }

    .product-cell img {
        width: 82px !important;
        height: 82px !important;
        border-radius: 16px !important;
        object-fit: contain !important;
        background: #f6efe7 !important;
    }

    .qty-cell {
        width: 100% !important;
        max-width: 210px !important;
        border-radius: 999px !important;
        overflow: hidden !important;
    }

    .price-cell:before {
        content: "Prix : " !important;
        font-weight: 700 !important;
    }

    .total-cell:before {
        content: "Total : " !important;
        font-weight: 700 !important;
    }

    .summary-card,
    .checkout-form-card,
    .confirmation-card,
    .empty-cart {
        padding: 24px 20px !important;
    }

    .checkout-two-cols,
    .promo-row,
    .confirmation-details {
        grid-template-columns: 1fr !important;
    }

    .checkout-steps {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        gap: 10px !important;
    }

    .checkout-steps .active {
        margin: auto !important;
    }

    .shop-services,
    .cart-services,
    .checkout-benefits {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        text-align: center !important;
        margin-left: 0 !important;
    }


}

/* Petit mobile */
@media (max-width: 560px) {
    .site-header {
        height: 78px !important;
        min-height: 78px !important;
        padding: 0 12px !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    }

    .brand,
    .brand-logo,
    .header-icons {
        height: 78px !important;
    }

    .site-logo {
        height: 92px !important;
        max-width: min(58vw, 168px) !important;
    }

    .mobile-menu-btn,
    .cart {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }

    .nav-left {
        left: 10px !important;
        right: 10px !important;
        border-radius: 20px !important;
    }

    .hero-content {
        padding: 42px 18px 22px !important;
    }

    .hero-text,
    .subtitle,
    .description,
    .long-text {
        font-size: 14px !important;
        line-height: 1.75 !important;
    }

    .hero-badges,
    .benefits {
        gap: 12px !important;
        justify-content: center !important;
    }

    .products-grid,
    .cards,
    .category-grid {
        grid-template-columns: 1fr !important;
    }

    .product-card img,
    .category-card img {
        border-radius: 22px !important;
    }

    .main-image {
        min-height: 300px !important;
    }

    .summary-products article {
        grid-template-columns: 58px 1fr !important;
    }

    .summary-products strong {
        grid-column: 2 !important;
        text-align: left !important;
    }

    .delivery-option {
        grid-template-columns: 34px 1fr 22px !important;
        padding: 10px !important;
    }

    .delivery-note {
        align-items: flex-start !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* =========================================================
   PANIER MOBILE — cartes fines, premium et compactes
   Scope volontairement limité à la page panier VerinaFlor.
   ========================================================= */
@media (max-width: 720px) {
    .vf-cart-page .vf-cart-grid {
        padding-inline: 12px !important;
    }

    .vf-cart-page .vf-cart-list {
        gap: 12px !important;
    }

    .vf-cart-page .cart-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "product product"
            "quantity total" !important;
        align-items: center !important;
        column-gap: 14px !important;
        row-gap: 11px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 13px 15px 13px !important;
        background: #fffdfa !important;
        border: 1px solid #e9dfd2 !important;
        border-radius: 18px !important;
        box-shadow: 0 7px 22px rgba(48, 38, 27, .055) !important;
        overflow: hidden !important;
    }

    .vf-cart-page .product-cell {
        grid-area: product !important;
        display: grid !important;
        grid-template-columns: 68px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 13px !important;
        min-width: 0 !important;
        padding-right: 29px !important;
    }

    .vf-cart-page .product-cell img {
        width: 68px !important;
        height: 68px !important;
        border-radius: 14px !important;
        object-fit: contain !important;
        background: #f7f1e9 !important;
    }

    .vf-cart-page .product-copy {
        min-width: 0 !important;
    }

    .vf-cart-page .product-copy h2 {
        margin: 0 0 3px !important;
        font-size: 17px !important;
        line-height: 1.14 !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .vf-cart-page .product-variant {
        margin: 0 0 3px !important;
        font-size: 14px !important;
        line-height: 1.15 !important;
        color: #5f5a53 !important;
    }

    .vf-cart-page .product-price-under-variant {
        margin: 0 !important;
        font-size: 16px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
    }

    .vf-cart-page .qty-cell {
        grid-area: quantity !important;
        width: 132px !important;
        max-width: none !important;
        height: 38px !important;
        margin: 0 !important;
        border: 1px solid #e5dccf !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .78) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
    }

    .vf-cart-page .qty-cell button {
        min-width: 38px !important;
        height: 36px !important;
        padding: 0 9px !important;
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .vf-cart-page .qty-cell input {
        width: 32px !important;
        padding: 0 !important;
        font-size: 16px !important;
        font-weight: 600 !important;
    }

    .vf-cart-page .total-cell {
        grid-area: total !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 1px !important;
        min-width: 105px !important;
        margin: 0 !important;
        text-align: right !important;
    }

    .vf-cart-page .total-cell::before {
        content: "Total" !important;
        display: block !important;
        margin: 0 !important;
        color: #777067 !important;
        font: 500 11px/1.1 "Montserrat", Arial, sans-serif !important;
        letter-spacing: .02em !important;
        text-transform: uppercase !important;
    }

    .vf-cart-page .total-cell small {
        display: none !important;
    }

    .vf-cart-page .new-line-total {
        font-size: 20px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    .vf-cart-page .remove-form {
        top: 10px !important;
        right: 10px !important;
        z-index: 2 !important;
    }

    .vf-cart-page .remove-form button {
        display: grid !important;
        place-items: center !important;
        width: 28px !important;
        height: 28px !important;
        padding: 0 !important;
        color: #6f6961 !important;
        font-size: 24px !important;
        font-weight: 400 !important;
        border-radius: 50% !important;
        transition: background-color .15s ease, color .15s ease !important;
    }

    .vf-cart-page .remove-form button:active {
        background: #f3ece3 !important;
        color: #194f12 !important;
    }
}

@media (max-width: 380px) {
    .vf-cart-page .cart-item {
        padding-inline: 12px !important;
        column-gap: 9px !important;
    }

    .vf-cart-page .product-cell {
        grid-template-columns: 62px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .vf-cart-page .product-cell img {
        width: 62px !important;
        height: 62px !important;
    }

    .vf-cart-page .qty-cell {
        width: 122px !important;
    }

    .vf-cart-page .new-line-total {
        font-size: 18px !important;
    }
}

/* Galerie produit : neutralisation ciblée des anciennes hauteurs forcées */
@media (max-width: 980px) {
    .main-image {
        min-height: 0 !important;
        height: auto !important;
    }
}

@media (max-width: 640px) {
    .main-image {
        width: fit-content !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 9px !important;
        border-radius: 15px !important;
    }
}

/* Achat fiche parfum : structure réelle, sans display:contents sur le formulaire. */
.product-info form.cart-row.js-ajax-add-cart {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px 18px !important;
}

.product-info form.cart-row.js-ajax-add-cart > .vf-detail-price {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    margin: 30px 0 6px !important;
}

.product-info form.cart-row.js-ajax-add-cart > .qty {
    grid-column: 1 !important;
    grid-row: 2 !important;
}

.product-info form.cart-row.js-ajax-add-cart > .add-btn {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
}

@media (max-width: 900px) {
    .product-info form.cart-row.js-ajax-add-cart {
        grid-template-columns: 116px minmax(0, 1fr) 116px !important;
        gap: 14px 16px !important;
        margin-top: 22px !important;
    }

    .product-info form.cart-row.js-ajax-add-cart > .vf-detail-price {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        text-align: center !important;
        margin: 0 !important;
    }

    .product-info form.cart-row.js-ajax-add-cart > .qty {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        height: 38px !important;
        min-height: 38px !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 1px solid #d4b181 !important;
        border-radius: 999px !important;
        background: #fff !important;
        box-shadow: 0 6px 16px rgba(91, 61, 29, .07) !important;
    }

    .product-info form.cart-row.js-ajax-add-cart > .qty button,
    .product-info form.cart-row.js-ajax-add-cart > .qty input {
        width: 38px !important;
        min-width: 0 !important;
        height: 36px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #241f1a !important;
        font: 500 13px/1 "Montserrat", Arial, sans-serif !important;
    }

    .product-info form.cart-row.js-ajax-add-cart > .qty input {
        font-weight: 600 !important;
    }

    .product-info form.cart-row.js-ajax-add-cart > .add-btn {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
    }
}

/* Chiffres droits : priorité supérieure aux anciennes polices décoratives. */
html body .product-info .vf-detail-price,
html body .product-info .vf-detail-price strong,
html body .vf-product-card__price-row,
html body .vf-product-card__price-row strong,
html body .product-price-under-variant,
html body .new-line-total,
html body .current-line-total,
html body .summary-price,
html body .summary-unit-price,
html body .summary-total,
html body .line-price,
html body .order-card-total,
html body .products-count,
html body .vfr-header-count,
html body .qty input,
html body .qty-cell input {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-style: normal !important;
    font-variant-numeric: lining-nums tabular-nums !important;
    font-feature-settings: "lnum" 1, "tnum" 1 !important;
}

/* Capsule premium commune à tous les boutons Ajouter au panier. */
html body .home-add-cart-btn,
html body .vf-product-card__button,
html body .product-card .btn-add-cart,
html body .cart-variant-add-btn {
    min-height: 48px !important;
    padding-inline: 28px !important;
    border: 1px solid rgba(183, 130, 65, .68) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(49, 35, 21, .13) !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}

html body .home-add-cart-btn:not(:disabled):hover,
html body .vf-product-card__button:not(:disabled):hover,
html body .product-card .btn-add-cart:not(:disabled):hover,
html body .cart-variant-add-btn:not(:disabled):hover {
    transform: translateY(-1px) !important;
    border-color: #b7813f !important;
    box-shadow: 0 14px 28px rgba(49, 35, 21, .18) !important;
}

html body .home-add-cart-btn:disabled,
html body .vf-product-card__button:disabled,
html body .product-card .btn-add-cart:disabled,
html body .cart-variant-add-btn:disabled {
    cursor: not-allowed !important;
    opacity: .58 !important;
    box-shadow: none !important;
}

/* source: floating-contact-buttons.css */
/* ===========================
   Floating Contact
   =========================== */

.vf-floating-contact{
    position: fixed;
    right: 18px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 18px);
    display: flex;
    flex-direction: column;
    gap: 14px;
    z-index: 9999;
    pointer-events: none;
}

.vf-floating-contact__button{
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    overflow: hidden;
    pointer-events: auto;
    transition: transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
}

.vf-floating-contact__button:hover{
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 14px 30px rgba(0,0,0,.22);
}

.vf-floating-contact__button:active{
    transform: scale(.97);
}

/* ===========================
   Google Maps
   =========================== */

.vf-floating-contact__button--maps{
    background: #ffffff;
    border: 1px solid rgba(0,0,0,.08);
}

.vf-floating-contact__button--maps svg{
    width: 50px;
    height: 50px;
    display: block;
}

/* ===========================
   WhatsApp
   =========================== */

.vf-floating-contact__button--whatsapp{
    background: #25D366;
    color: #fff;
}

.vf-floating-contact__button--whatsapp svg{
    width: 34px;
    height: 34px;
    display: block;
}

/* ===========================
   Mobile
   =========================== */

@media (max-width:768px){

    .vf-floating-contact{
        right: 14px;
        bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
        gap: 12px;
    }

    .vf-floating-contact__button{
        width: 58px;
        height: 58px;
    }

    .vf-floating-contact__button--maps svg{
        width: 46px;
        height: 46px;
    }

    .vf-floating-contact__button--whatsapp svg{
        width: 30px;
        height: 30px;
    }
}
/* source: footer-contact-v2.css */
.vf-footer,
.vf-footer *{
    box-sizing:border-box;
}

.vf-footer{
    --vf-footer-gold:#d2aa63;
    --vf-footer-gold-soft:#e1c58c;
    --vf-footer-text:#f5f2e9;
    --vf-footer-line:rgba(210,170,99,.24);
    position:relative;
    overflow:hidden;
    color:var(--vf-footer-text);
    background:
        radial-gradient(circle at 75% 25%,rgba(255,255,255,.035),transparent 28%),
        linear-gradient(115deg,#173829 0%,#123224 50%,#19372a 100%);
    font-family:inherit;
}

.vf-footer::before{
    content:"";
    position:absolute;
    left:-35px;
    bottom:42px;
    width:190px;
    height:175px;
    opacity:.08;
    pointer-events:none;
    background:
        radial-gradient(ellipse at 50% 100%,transparent 52%,#b6c99c 53% 55%,transparent 56%) 0 0/85px 85px,
        linear-gradient(65deg,transparent 48%,#b6c99c 49% 51%,transparent 52%);
    transform:rotate(-8deg);
}

.vf-footer__main{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,2.15fr) minmax(350px,.95fr);
    width:min(1460px,100%);
    margin:0 auto;
    padding:38px 4.3% 40px;
}

.vf-footer__values{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
    gap:30px;
    padding:6px 5.5% 0 0;
}

.vf-footer-card{
    min-width:0;
    text-align:center;
}

.vf-footer-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    height:48px;
    color:var(--vf-footer-gold);
}

.vf-footer-icon svg{
    width:42px;
    height:42px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vf-footer-card h3{
    margin:12px 0 12px;
    color:var(--vf-footer-gold);
    font-size:14px;
    font-weight:600;
    letter-spacing:.25em;
    line-height:1.3;
    text-transform:uppercase;
}

.vf-footer-card p{
    max-width:240px;
    margin:0 auto;
    color:rgba(255,255,255,.88);
    font-size:14px;
    line-height:1.55;
}

.vf-footer-card__line{
    display:block;
    width:31px;
    height:1px;
    margin:16px auto 0;
    background:var(--vf-footer-gold);
}

.vf-footer-contact{
    padding:0 0 0 45px;
    border-left:1px solid var(--vf-footer-line);
}

.vf-footer-contact__title-row{
    display:grid;
    grid-template-columns:72px max-content 1fr;
    align-items:center;
    gap:18px;
    margin:0 0 6px;
}

.vf-footer-contact__title-row span{
    height:1px;
    background:var(--vf-footer-gold);
    opacity:.55;
}

.vf-footer-contact__title-row h2{
    margin:0;
    color:var(--vf-footer-gold);
    font-size:13px;
    font-weight:700;
    letter-spacing:.27em;
    line-height:1.2;
    text-transform:uppercase;
    white-space:nowrap;
}

.vf-footer-contact__list{
    display:flex;
    flex-direction:column;
}

.vf-footer-contact__item{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 18px;
    align-items:center;
    min-height:49px;
    gap:12px;
    color:inherit;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.045);
    transition:background-color .2s ease,color .2s ease;
}

.vf-footer-contact__item:hover,
.vf-footer-contact__item:focus-visible{
    color:#fff;
    background:rgba(255,255,255,.025);
    outline:none;
}

.vf-footer-contact__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    color:var(--vf-footer-gold-soft);
    border-radius:50%;
    background:rgba(210,170,99,.14);
}

.vf-footer-contact__icon svg,
.vf-footer-contact__maps svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.vf-footer-contact__text{
    display:flex;
    min-width:0;
    flex-direction:column;
    line-height:1.28;
}

.vf-footer-contact__text small{
    color:rgba(255,255,255,.83);
    font-size:13px;
    font-weight:400;
}

.vf-footer-contact__text strong{
    overflow-wrap:anywhere;
    color:rgba(255,255,255,.95);
    font-size:14px;
    font-weight:400;
}

.vf-footer-contact__item:nth-child(2) .vf-footer-contact__text strong{
    color:var(--vf-footer-gold);
    font-weight:600;
}

.vf-footer-contact__item--address{
    align-items:start;
    padding:8px 0;
}

.vf-footer-contact__item--address .vf-footer-contact__icon{
    margin-top:2px;
}

.vf-footer-contact__arrow{
    justify-self:end;
    color:var(--vf-footer-gold);
    font-size:27px;
    font-weight:300;
    line-height:1;
}

.vf-footer-contact__maps{
    display:grid;
    grid-template-columns:22px 1fr 16px;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:43px;
    margin-top:12px;
    padding:8px 20px;
    color:var(--vf-footer-gold);
    font-size:13px;
    font-weight:600;
    letter-spacing:.02em;
    text-decoration:none;
    border:1px solid rgba(210,170,99,.75);
    border-radius:999px;
    transition:background-color .2s ease,color .2s ease,transform .2s ease;
}

.vf-footer-contact__maps:hover,
.vf-footer-contact__maps:focus-visible{
    color:#173829;
    background:var(--vf-footer-gold);
    outline:none;
    transform:translateY(-1px);
}

.vf-footer-contact__maps > span:last-child{
    justify-self:end;
    font-size:25px;
    font-weight:300;
    line-height:1;
}

.vf-footer__bottom{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:39px;
    padding:8px 20px;
    border-top:1px solid rgba(210,170,99,.28);
    background:rgba(4,22,15,.18);
}

.vf-footer__bottom p{
    margin:0;
    color:rgba(255,255,255,.8);
    font-size:13px;
    line-height:1.4;
}

@media(max-width:1100px){
    .vf-footer__main{
        grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr);
        padding-inline:3%;
    }

    .vf-footer__values{
        gap:14px;
        padding-right:3%;
    }

    .vf-footer-card h3{
        letter-spacing:.16em;
    }

    .vf-footer-contact{
        padding-left:28px;
    }
}

@media(max-width:760px){
    .vf-footer::before{
        display:none;
    }

    .vf-footer__main{
        display:flex;
        flex-direction:column;
        width:100%;
        padding:14px 15px 12px;
    }

    .vf-footer-contact{
        order:1;
        padding:0 35px 13px;
        border-left:0;
        border-bottom:1px solid rgba(210,170,99,.38);
    }

    .vf-footer-contact__title-row{
        grid-template-columns:1fr max-content 1fr;
        gap:12px;
        margin-bottom:6px;
    }

    .vf-footer-contact__title-row h2{
        font-size:11px;
        letter-spacing:.2em;
    }

    .vf-footer-contact__item{
        grid-template-columns:31px minmax(0,1fr) 14px;
        min-height:39px;
        gap:8px;
    }

    .vf-footer-contact__icon{
        width:27px;
        height:27px;
        background:transparent;
        border:1px solid var(--vf-footer-gold);
    }

    .vf-footer-contact__icon svg{
        width:16px;
        height:16px;
    }

    .vf-footer-contact__text small{
        font-size:9px;
    }

    .vf-footer-contact__text strong{
        font-size:10px;
        line-height:1.25;
    }

    .vf-footer-contact__arrow{
        font-size:20px;
    }

    .vf-footer-contact__item--address{
        padding:5px 0;
    }

    .vf-footer-contact__maps{
        grid-template-columns:26px 1fr 14px;
        min-height:38px;
        margin-top:5px;
        padding:5px 0;
        font-size:10px;
        border:0;
        border-radius:0;
    }

    .vf-footer-contact__maps:hover,
    .vf-footer-contact__maps:focus-visible{
        color:var(--vf-footer-gold);
        background:transparent;
        transform:none;
    }

    .vf-footer-contact__maps svg{
        width:23px;
        height:23px;
        padding:4px;
        border:1px solid currentColor;
        border-radius:50%;
    }

    .vf-footer-contact__maps > span:last-child{
        font-size:20px;
    }

    .vf-footer__values{
        order:2;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:7px;
        padding:10px 0 0;
    }

    .vf-footer-icon{
        height:25px;
    }

    .vf-footer-icon svg{
        width:25px;
        height:25px;
    }

    .vf-footer-card h3{
        margin:4px 0 3px;
        font-size:8px;
        letter-spacing:.14em;
    }

    .vf-footer-card p{
        max-width:105px;
        font-size:7.5px;
        line-height:1.25;
    }

    .vf-footer-card__line{
        display:none;
    }

    .vf-footer__bottom{
        min-height:31px;
        padding:6px 15px;
    }

    .vf-footer__bottom p{
        font-size:9px;
    }
}

@media(max-width:430px){
    .vf-footer-contact{
        padding-inline:35px;
    }
}

@media(max-width:370px){
    .vf-footer-contact{
        padding-inline:14px;
    }
}

/* Protection contre les règles SVG globales et les anciens CSS mis en cache. */
.vf-footer .vf-footer-icon,
.vf-footer .vf-footer-contact__icon {
    flex: 0 0 auto !important;
}

.vf-footer .vf-footer-icon svg {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    fill: none !important;
    stroke: currentColor !important;
}

.vf-footer .vf-footer-contact__icon svg,
.vf-footer .vf-footer-contact__maps svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    fill: none !important;
    stroke: currentColor !important;
}

@media (max-width: 760px) {
    .vf-footer .vf-footer-icon svg {
        width: 25px !important;
        height: 25px !important;
        max-width: 25px !important;
        max-height: 25px !important;
    }

    .vf-footer .vf-footer-contact__icon svg {
        width: 16px !important;
        height: 16px !important;
        max-width: 16px !important;
        max-height: 16px !important;
    }

    .vf-footer .vf-footer-contact__maps svg {
        width: 23px !important;
        height: 23px !important;
        max-width: 23px !important;
        max-height: 23px !important;
    }
}

/* Correctif production/o2switch : certains anciens styles imposent le footer en flex/grid.
   Le bloc copyright doit toujours rester sur une ligne séparée sous le contenu principal. */
footer.vf-footer {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: both !important;
}

footer.vf-footer > .vf-footer__main,
footer.vf-footer > .vf-footer__bottom {
    position: relative !important;
    width: 100% !important;
    max-width: none;
    float: none !important;
    clear: both !important;
}

footer.vf-footer > .vf-footer__bottom {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    grid-column: 1 / -1 !important;
    flex: 0 0 100% !important;
    text-align: center !important;
}

footer.vf-footer > .vf-footer__bottom > p {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
    white-space: normal !important;
}

/* source: verinaflor-premium-global.css */
:root{--vfg-ink:#171512;--vfg-cream:#f5f0e8;--vfg-gold:#a9864d;--vfg-line:rgba(23,21,18,.14)}
body{background:#fbfaf7;color:var(--vfg-ink)}.site-header{background:rgba(251,250,247,.96)!important;border-bottom:1px solid var(--vfg-line)!important;backdrop-filter:blur(14px)}.brand.vf-wordmark strong{letter-spacing:.16em!important}.brand.vf-wordmark small{letter-spacing:.34em!important;color:var(--vfg-gold)!important}.shipping-marquee{background:var(--vfg-ink)!important;color:#fff!important}.vf-side-menu{background:#f8f4ed!important}.vf-side-menu-head strong{font-family:'Cormorant Garamond',serif!important;font-size:30px!important}.vf-side-menu-links a{border-bottom:1px solid var(--vfg-line)!important}.vf-side-menu-links a:hover,.vf-side-menu-links a.active{color:var(--vfg-gold)!important;background:transparent!important}.verina-loader-card{border-radius:0!important;background:#f8f4ed!important}.verina-loader-logo{font-family:'Cormorant Garamond',serif!important}.product-section,.details-tabs,.recommended,.cart-page,.checkout-page,.profile-page,.account-page{max-width:1400px!important;margin-left:auto!important;margin-right:auto!important}.product-section{padding-top:55px!important}.product-grid{gap:70px!important}.main-image{background:linear-gradient(145deg,#efe8de,#fbfaf7)!important;border-radius:0!important;border:0!important}.main-image img{filter:drop-shadow(0 28px 24px rgba(35,25,15,.18))}.product-info .eyebrow{color:var(--vfg-gold)!important;letter-spacing:.18em!important;text-transform:uppercase!important}.product-info h1{font-family:'Cormorant Garamond',serif!important;font-size:clamp(48px,5vw,76px)!important;line-height:.95!important;font-weight:500!important}.product-info .subtitle{font-weight:500!important;color:#5d554b!important}.product-info .description{line-height:1.8!important}.product-info .price{font-family:'Cormorant Garamond',serif!important;font-size:38px!important}.add-btn,.checkout-button,.profile-primary-button{border-radius:0!important;background:var(--vfg-ink)!important;color:#fff!important;letter-spacing:.08em!important;text-transform:uppercase!important}.qty,.variant-option{border-radius:0!important}.benefits>div,.service-list li{border-color:var(--vfg-line)!important}.details-tabs .tabs{border-bottom:1px solid var(--vfg-line)!important}.details-tabs .tabs button{border-radius:0!important;text-transform:uppercase!important;letter-spacing:.1em!important}.details-tabs .tabs button.active{color:var(--vfg-gold)!important;border-color:var(--vfg-gold)!important}.recommended h2{font-family:'Cormorant Garamond',serif!important;font-size:48px!important;font-weight:500!important}.recommended .cards article{border-radius:0!important;box-shadow:none!important;border:1px solid var(--vfg-line)!important}.recommended .cards article img{background:#f1ebe2!important}.cart-page h1,.checkout-page h1,.profile-page h1,.account-page h1{font-family:'Cormorant Garamond',serif!important;font-weight:500!important}.cart-item,.order-summary,.checkout-card,.profile-card,.account-card{border-radius:0!important;box-shadow:none!important;border:1px solid var(--vfg-line)!important;background:#fff!important}.site-footer{background:var(--vfg-ink)!important;color:#fff!important}.site-footer a{color:#fff!important}.floating-contact-button{box-shadow:none!important}
@media(max-width:760px){.product-grid{gap:28px!important}.product-info h1{font-size:46px!important}.product-section{padding-left:16px!important;padding-right:16px!important}.recommended h2{font-size:38px!important}}
.vf-detail-promise{margin:18px 0;padding:18px 20px;border-left:2px solid var(--vfg-gold);background:#f6f0e7;font:500 13px/1.7 Montserrat,sans-serif;color:#4f493f}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover{color:var(--vfg-gold)}

/* Header desktop : logo à gauche, navigation au centre, actions à droite. */
@media (min-width: 901px) {
    .site-header.vfref-header {
        display: grid !important;
        grid-template-columns: minmax(230px, 300px) minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 32px !important;
    }

    .site-header.vfref-header > .mobile-menu-btn {
        display: none !important;
    }

    .site-header.vfref-header > .vfref-brand {
        grid-column: 1 !important;
        justify-self: start !important;
        margin: 0 !important;
    }

    .site-header.vfref-header > .vfref-nav {
        grid-column: 2 !important;
        justify-self: center !important;
        width: auto !important;
    }

    .site-header.vfref-header > .vfref-header-icons {
        grid-column: 3 !important;
        justify-self: end !important;
    }
}


/* Correctif permanent : le header conserve ses dimensions sur toutes les pages. */
.vfref-topbar,
.site-header.vfref-header,
.site-header.vfref-header * {
    box-sizing: border-box;
}

.vfref-topbar svg {
    display: block;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px;
    max-width: 19px;
    flex: 0 0 19px;
}

.site-header.vfref-header > .vfref-header-icons svg {
    display: block;
    width: 23px !important;
    height: 23px !important;
    min-width: 23px;
    max-width: 23px;
}

@media (min-width: 901px) {
    .site-header.vfref-header {
        height: 102px !important;
        min-height: 102px !important;
        padding: 0 7.7% !important;
        grid-template-columns: minmax(230px, 300px) minmax(0, 1fr) auto !important;
    }

    .site-header.vfref-header > .mobile-menu-btn {
        display: none !important;
    }

    .site-header.vfref-header > .vfref-brand {
        display: flex !important;
        grid-column: 1 !important;
        justify-self: start !important;
    }
}

@media (max-width: 900px) {
    .site-header.vfref-header {
        height: 76px !important;
        min-height: 76px !important;
        padding: 0 14px !important;
        grid-template-columns: 44px minmax(0, 1fr) 88px !important;
    }

    .site-header.vfref-header > .mobile-menu-btn {
        display: flex !important;
    }
}

/* source: verinaflor-alternative-premium.css */
:root {
    --vf-ink: #181714;
    --vf-muted: #716d65;
    --vf-cream: #f7f4ee;
    --vf-paper: #fffdfa;
    --vf-line: rgba(24, 23, 20, .12);
    --vf-gold: #9b7b46;
}

body { background: var(--vf-paper); color: var(--vf-ink); }
.vf3-page { overflow: hidden; }

.vf3-overline {
    letter-spacing: .22em;
    font-size: .71rem;
    font-weight: 600;
    color: var(--vf-gold);
    text-transform: uppercase;
}

.vf3-hero {
    min-height: calc(100vh - 82px);
    background:
      radial-gradient(circle at 76% 42%, rgba(155,123,70,.11), transparent 27%),
      linear-gradient(135deg, #fffdfa 0%, #f8f4ed 100%);
}

.vf3-hero__content { max-width: 680px; }
.vf3-hero h1 { font-size: clamp(3.1rem, 6.5vw, 6.4rem); line-height: .92; letter-spacing: -.045em; }
.vf3-hero h1 em { color: var(--vf-gold); font-weight: 500; }
.vf3-hero__lead { max-width: 610px; font-size: clamp(1rem, 1.4vw, 1.22rem); line-height: 1.85; color: var(--vf-muted); }

.vf3-btn { min-height: 48px; border-radius: 2px; letter-spacing: .08em; text-transform: uppercase; font-size: .72rem; padding: 0 28px; }
.vf3-btn--primary { background: var(--vf-ink); border-color: var(--vf-ink); }
.vf3-btn--primary:hover { background: var(--vf-gold); border-color: var(--vf-gold); }
.vf3-btn--ghost { background: transparent; border-color: var(--vf-line); }

.vf3-proofline { color: #5e5a52; text-transform: uppercase; letter-spacing: .12em; font-size: .65rem; }
.vf3-proofline i { width: 3px; height: 3px; background: var(--vf-gold); border-radius: 50%; }

.vf3-hero__visual img { filter: drop-shadow(0 32px 35px rgba(28,22,14,.14)); transform: scale(.95); }
.vf3-hero__seal { border: 1px solid rgba(155,123,70,.4); background: rgba(255,253,250,.88); backdrop-filter: blur(8px); }

.vf3-promise { background: #171612; color: #fff; }
.vf3-promise header h2, .vf3-promise article h3 { color: #fff; }
.vf3-promise article { border-color: rgba(255,255,255,.13); }
.vf3-promise article span { color: #c9aa73; }
.vf3-promise article p { color: rgba(255,255,255,.67); }

.vf3-selection, .vf3-editorial, .vf3-reassurance { background: var(--vf-paper); }
.vf3-editorial__content h2, .vf3-section-head h2 { letter-spacing: -.025em; }
.vf3-editorial__visual { background: var(--vf-cream); }
.vf3-editorial__visual img { filter: drop-shadow(0 24px 25px rgba(20,18,15,.13)); }
.vf3-text-link, .vf3-section-head > a { color: var(--vf-gold); }

.vf3-shop-hero {
    background: linear-gradient(135deg, #f7f3ec 0%, #fffdfa 100%);
    border-bottom: 1px solid var(--vf-line);
}
.vf3-shop-hero h1 { letter-spacing: -.035em; }
.vf3-shop-toolbar { background: rgba(255,253,250,.94); backdrop-filter: blur(12px); }
.vf3-shop-filters button { border-radius: 2px; }
.vf3-shop-filters button.is-active { background: var(--vf-ink); color: #fff; }
.vf3-shop-manifesto { background: #171612; color: #fff; }
.vf3-shop-manifesto h2 { color: #fff; }
.vf3-shop-manifesto div span { border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.78); }

.site-header { border-bottom: 1px solid var(--vf-line); background: rgba(255,253,250,.95); backdrop-filter: blur(14px); }
.vf-wordmark strong { letter-spacing: .16em; }
.vf-header-search { border-radius: 2px !important; background: #f7f4ee !important; border-color: transparent !important; }
.vf-header-search:focus-within { border-color: rgba(155,123,70,.45) !important; box-shadow: 0 0 0 3px rgba(155,123,70,.08); }
.vf-side-menu { background: #fffdfa; }
.vf-side-menu-note { background: #f7f4ee; border-color: rgba(155,123,70,.18); }

.vf-footer { background: #151411; color: #fff; }
.vf-footer-card, .vf-footer-contact { border-color: rgba(255,255,255,.12); }
.vf-footer-card h3, .vf-footer-contact h2 { color: #fff; }
.vf-footer-card p, .vf-footer-contact__text small { color: rgba(255,255,255,.62); }
.vf-footer-icon, .vf-footer-contact__icon { color: #c9aa73; }
.vf-footer-contact__item, .vf-footer-contact__maps { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.1); }
.vf-footer-contact__item:hover, .vf-footer-contact__maps:hover { background: rgba(255,255,255,.07); }
.vf-footer-contact__text strong { color: #fff; }
.vf-footer__bottom { border-color: rgba(255,255,255,.1); color: rgba(255,255,255,.56); }

.product-info .eyebrow { color: var(--vf-gold); letter-spacing: .16em; text-transform: uppercase; }
.vf-detail-promise { border-left: 2px solid var(--vf-gold); padding-left: 16px; color: var(--vf-muted); }
.add-btn { border-radius: 2px !important; letter-spacing: .06em; }

@media (max-width: 800px) {
    .vf3-hero { min-height: auto; padding-top: 34px; }
    .vf3-hero h1 { font-size: clamp(2.75rem, 13vw, 4.25rem); line-height: .94; }
    .vf3-hero__lead { line-height: 1.65; }
    .vf3-hero__actions { gap: 10px; }
    .vf3-btn { width: 100%; justify-content: center; }
    .vf3-proofline { gap: 8px; font-size: .58rem; }
    .vf3-hero__visual img { transform: scale(.9); }
    .vf3-promise { padding-top: 68px; padding-bottom: 68px; }
    .vf3-shop-hero h1 { font-size: clamp(2.6rem, 12vw, 4rem); }
}

/* source: verinaflor-product-image-quality.css */
/*
 * Les flacons sont des visuels verticaux : "cover" les agrandit et les coupe
 * dans les miniatures carrées. Ces sélecteurs ciblent uniquement les images
 * produit, sans modifier les visuels éditoriaux, le logo ou le hero.
 */
.product-cell img,
.summary-products img,
.cart-added-product img,
.order-thumb img,
.line-image img {
    object-fit: contain !important;
    object-position: center !important;
    box-sizing: border-box;
    padding: 5px;
    background-color: #fff !important;
    image-rendering: auto;
}

.vf-product-card__visual img,
.product-card img,
.main-image img,
.product-thumb img,
.recommended article img {
    object-fit: contain !important;
    object-position: center !important;
    image-rendering: auto;
}

/* Le flacon reste entièrement visible même sur les petites vignettes mobiles. */
@media (max-width: 720px) {
    .product-cell img,
    .summary-products img,
    .cart-added-product img,
    .order-thumb img,
    .line-image img {
        padding: 4px;
    }
}

/* source: verinaflor-search-autocomplete.css */
.vf-global-header .vfr-header-search {
    position: relative;
    overflow: visible;
}

.vfr-search-results {
    position: absolute;
    z-index: 250;
    top: calc(100% + 9px);
    left: 0;
    right: 0;
    overflow: hidden;
    border: 1px solid #e2d5c5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 22px 52px rgba(47, 34, 21, .16);
}

.vfr-search-results[hidden] { display: none !important; }

.vfr-search-result {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 78px;
    padding: 9px 14px;
    border-bottom: 1px solid #eee7de;
    color: #1c1814;
    text-decoration: none;
    transition: background-color .18s ease;
}

.vfr-search-result:last-child { border-bottom: 0; }
.vfr-search-result:hover,
.vfr-search-result.is-active { background: #fbf5ec; }

.vfr-search-result__image {
    width: 60px;
    height: 60px;
    padding: 3px;
    border-radius: 10px;
    background: #fff;
    object-fit: contain;
    filter: drop-shadow(0 7px 5px rgba(64, 43, 22, .13));
}

.vfr-search-result__copy { min-width: 0; }
.vfr-search-result__brand {
    display: block;
    margin-bottom: 4px;
    overflow: hidden;
    color: #a06e35;
    font: 600 8px/1.2 Montserrat, sans-serif;
    letter-spacing: .18em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.vfr-search-result__name {
    display: block;
    overflow: hidden;
    font: 600 18px/1.1 "Cormorant Garamond", serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vfr-search-result__genre {
    display: block;
    margin-top: 5px;
    overflow: hidden;
    color: #847b71;
    font: 500 8px/1.2 Montserrat, sans-serif;
    letter-spacing: .1em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.vfr-search-result__price {
    color: #171411;
    font: 600 13px/1 Montserrat, sans-serif;
    white-space: nowrap;
}

.vfr-search-message {
    margin: 0;
    padding: 18px;
    color: #766d64;
    font: 500 11px/1.5 Montserrat, sans-serif;
    text-align: center;
}

.vfr-search-results__footer {
    padding: 0 14px 2px;
    background: #fffdfa;
}

.vfr-search-results__all {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 54px;
    border-top: 1px solid #cda978;
    color: #875a29;
    font: 600 10px/1.2 Montserrat, sans-serif;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .18s ease, background-color .18s ease;
}

.vfr-search-results__all span {
    font-size: 17px;
    transition: transform .18s ease;
}

.vfr-search-results__all:hover,
.vfr-search-results__all:focus-visible {
    background: #fbf5ec;
    color: #5f3c19;
    outline: none;
}

.vfr-search-results__all:hover span,
.vfr-search-results__all:focus-visible span {
    transform: translateX(4px);
}

@media (max-width: 720px) {
    .vfr-search-results { top: calc(100% + 6px); border-radius: 10px; }
    .vfr-search-result { grid-template-columns: 54px minmax(0, 1fr) auto; min-height: 68px; padding: 7px 10px; gap: 10px; }
    .vfr-search-result__image { width: 50px; height: 50px; }
    .vfr-search-result__name { font-size: 16px; }
    .vfr-search-result__price { font-size: 11px; }
    .vfr-search-results__footer { padding-inline: 10px; }
    .vfr-search-results__all { min-height: 49px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
    .vfr-search-result { transition: none; }
}

/* source: verinaflor-luxury-typography.css */
/* Hiérarchie éditoriale affinée, limitée aux grands titres de catalogue. */
.vfr-shop-heading {
    padding-top: 21px !important;
    padding-bottom: 20px !important;
}

.vfr-shop-heading h1 {
    font-size: 44px !important;
    line-height: .98 !important;
    letter-spacing: -.025em;
}

.vfr-shop-heading p {
    max-width: 760px;
    margin-top: 7px !important;
    font-size: 9px !important;
    line-height: 1.55;
    letter-spacing: .30em !important;
}

.vfr-heading-ornament {
    margin-top: 6px !important;
}

.product-info h1 {
    font-size: clamp(44px, 4.3vw, 64px) !important;
    line-height: .98 !important;
}

.recommended h2 {
    font-size: 42px !important;
    line-height: 1 !important;
}

@media (max-width: 720px) {
    .vfr-shop-heading {
        padding-top: 18px !important;
        padding-bottom: 17px !important;
    }

    .vfr-shop-heading h1 {
        font-size: 34px !important;
    }

    .vfr-shop-heading p {
        font-size: 7.5px !important;
        letter-spacing: .20em !important;
    }

    .product-info h1 {
        font-size: 42px !important;
    }

    .recommended h2 {
        font-size: 34px !important;
    }
}

/* source: verinaflor-numerals.css */
/* Chiffres droits et homogènes dans toute l'application. */
:root,
body,
button,
input,
select,
textarea {
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
}

:where(
    .vf-detail-price,
    .vf-product-card__price-row,
    .product-price-under-variant,
    .new-line-total,
    .current-line-total,
    .summary-price,
    .summary-unit-price,
    .summary-total,
    .total-cell,
    .line-price,
    .order-card-total,
    .products-count,
    .vfr-header-count,
    .qty,
    .qty-cell
) {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-style: normal;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
}

:where(.vf-detail-price, .vf-product-card__price-row, .summary-total) strong,
:where(.qty, .qty-cell) input,
:where(.qty, .qty-cell) button {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-style: normal;
    font-variant-numeric: lining-nums tabular-nums;
    font-feature-settings: "lnum" 1, "tnum" 1;
}

/* Priorité explicite sur les anciennes polices décoratives des montants. */
.product-info .vf-detail-price,
.product-info .vf-detail-price strong,
.vf-product-card__price-row,
.vf-product-card__price-row strong,
.cart-item .product-price-under-variant,
.cart-item .new-line-total,
.summary-card .summary-total,
.checkout-page .summary-price,
.checkout-page .summary-unit-price,
.profile-page .line-price,
.profile-page .order-card-total {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-style: normal !important;
    font-variant-numeric: lining-nums tabular-nums !important;
    font-feature-settings: "lnum" 1, "tnum" 1 !important;
}
