
/* source: premium-spinner.css */
/* Spinner global premium VerinaFlor - navigation + actions */
.verina-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
   background:
    radial-gradient(circle at 50% 42%, rgba(184,155,114,.08), transparent 34%),
    rgba(248,245,239,.22);

backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}

.verina-loader[hidden] {
    display: none !important;
}

.verina-loader.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.verina-loader-card {
    width: min(250px, 86vw);
    min-height: 178px;
    border: 1px solid rgba(184,155,114,.45);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255,250,242,.96), rgba(248,245,239,.92));
    box-shadow: 0 26px 70px rgba(38,48,35,.18), inset 0 1px 0 rgba(255,255,255,.85);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    transform: translateY(10px) scale(.98);
    transition: transform .25s ease;
}

.verina-loader.is-visible .verina-loader-card {
    transform: translateY(0) scale(1);
}

.verina-loader-logo {
    font-family: "Cormorant Garamond", serif;
    font-size: 28px;
    letter-spacing: .8px;
    color: #263023;
    line-height: 1;
}

.verina-loader-mark {
    width: 66px;
    height: 66px;
    position: relative;
    display: grid;
    place-items: center;
}

.verina-loader-mark::before,
.verina-loader-mark::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(184,155,114,.35);
}

.verina-loader-mark::before {
    border-top-color: #263023;
    border-right-color: #b89b72;
    animation: verinaSpin 1s linear infinite;
}

.verina-loader-mark::after {
    inset: 11px;
    border-bottom-color: #b89b72;
    border-left-color: rgba(38,48,35,.55);
    animation: verinaSpinReverse 1.35s linear infinite;
}

.verina-loader-leaf {
    color: #b89b72;
    font-size: 18px;
    transform: translateY(-1px);
    animation: verinaPulse 1.1s ease-in-out infinite;
}

.verina-loader-text {
    margin: 0;
    color: #776b5f;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.8px;
}

body.verina-loading {
    cursor: wait;
}

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

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

@keyframes verinaPulse {
    0%, 100% { opacity: .55; transform: translateY(-1px) scale(.94); }
    50% { opacity: 1; transform: translateY(-1px) scale(1.08); }
}

@media (max-width: 640px) {
    .verina-loader-card {
        width: min(218px, 86vw);
        min-height: 158px;
        border-radius: 24px;
    }

    .verina-loader-logo {
        font-size: 25px;
    }

    .verina-loader-mark {
        width: 58px;
        height: 58px;
    }
}

/* source: cart-added-dialog.css */
/* Dialog premium: produit ajouté au panier */
.cart-added-overlay {
    position: fixed;
    inset: 0;
    z-index: 99998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background:
        radial-gradient(circle at 50% 36%, rgba(184,155,114,.18), transparent 32%),
        rgba(22, 19, 15, .36);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    transition: opacity .22s ease;
}

.cart-added-overlay.is-visible {
    opacity: 1;
}

.cart-added-dialog {
    /* Variables locales : le dialog reste lisible sur toutes les pages,
       même quand leur feuille de style ne déclare pas ces couleurs. */
    --cart-dialog-primary: #233528;
    --cart-dialog-primary-2: #2f4535;
    width: min(452px, 100%);
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    padding: 30px;
    text-align: center;
    background:
        linear-gradient(145deg, rgba(255,255,255,.97), rgba(248,245,239,.99));
    border: 1px solid rgba(184,155,114,.34);
    box-shadow: 0 30px 90px rgba(0,0,0,.24);
    transform: translateY(18px) scale(.96);
    transition: transform .24s ease;
}

.cart-added-dialog::before {
    content: "";
    position: absolute;
    inset: -80px -60px auto auto;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: rgba(184,155,114,.14);
    pointer-events: none;
}

.cart-added-overlay.is-visible .cart-added-dialog {
    transform: translateY(0) scale(1);
}

.cart-added-close {
    position: absolute;
    top: 14px;
    right: 16px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 999px;
    background: rgba(184,155,114,.14);
    color: #5b4a35;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

.cart-added-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 12px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 30px;
    background: linear-gradient(135deg, #637f4d, #a9b978);
    box-shadow: 0 14px 32px rgba(99,127,77,.28);
}

.cart-added-label {
    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 600;
    color: #2f2a22;
}

.cart-added-subtitle {
    margin: 6px 0 20px;
    color: #7a7063;
    font-size: 13px;
    letter-spacing: .02em;
}

.cart-added-product {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-radius: 24px;
    background: rgba(255,255,255,.76);
    border: 1px solid rgba(184,155,114,.18);
    text-align: left;
}

.cart-added-product img {
    width: 88px;
    height: 88px;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    padding: 5px;
    border-radius: 19px;
    background: #fff;
    image-rendering: auto;
}

.cart-added-product h3 {
    margin: 0 0 6px;
    color: #2f2a22;
    font-size: 15px;
    line-height: 1.35;
}

.cart-added-product p {
    margin: 0 0 6px;
    color: #776d60;
    font-size: 13px;
}

.cart-added-product strong {
    color: #7a6242;
    font-size: 14px;
}

.cart-added-actions {
    display: grid;
    gap: 10px;
    margin-top: 20px;
}

.cart-added-cart-btn,
.cart-added-continue-btn {
    min-height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(184,155,114,.42);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cart-added-cart-btn {
    background: linear-gradient(
        135deg,
        var(--green, var(--cart-dialog-primary)),
        var(--green-2, var(--cart-dialog-primary-2))
    );

    color: #fff !important;

    border-color: rgba(196, 154, 103, .78);

    box-shadow: 0 18px 34px rgba(35, 53, 40, .22);
}

/* hover */
.cart-added-cart-btn:hover {
    background: linear-gradient(
        135deg,
        var(--green-2, var(--cart-dialog-primary-2)),
        var(--green, var(--cart-dialog-primary))
    );

    color: #fff !important;

    transform: translateY(-2px);
}

/* active */
.cart-added-cart-btn:active {
    transform: translateY(0);
    filter: brightness(.96);
}

.cart-added-continue-btn {
    background: rgba(255,255,255,.9);
    color: #2f2a22 !important;
}

.cart-added-cart-btn:hover,
.cart-added-continue-btn:hover {
    transform: translateY(-1px);
}

.cart-count-bump {
    animation: cartBump .45s ease;
    transform-origin: center;
}

.cart-dialog-open {
    overflow: hidden;
}

.js-ajax-add-cart button[disabled] {
    cursor: wait;
    opacity: .82;
}

@keyframes cartBump {
    0% { transform: scale(1); }
    45% { transform: scale(1.35); }
    100% { transform: scale(1); }
}

@media (max-width: 520px) {
    .cart-added-overlay {
        align-items: flex-end;
        padding: 14px;
    }

    .cart-added-dialog {
        padding: 26px 18px 20px;
        border-radius: 28px;
    }

    .cart-added-label {
        font-size: 27px;
    }

    .cart-added-product {
        grid-template-columns: 76px 1fr;
        gap: 12px;
        padding: 12px;
    }

    .cart-added-product img {
        width: 76px;
        height: 76px;
        padding: 4px;
        border-radius: 17px;
    }

    .cart-added-cart-btn,
    .cart-added-continue-btn {
        min-height: 46px;
        font-size: 13px;
    }
}

/* IMPORTANT: garde le dialog totalement non interactif tant qu'il est fermé.
   Sans cette règle, l'overlay invisible peut couvrir la home et bloquer les clics. */
.cart-added-overlay[hidden] {
    display: none !important;
    pointer-events: none !important;
}

/* Sélection premium des variantes avant l'ajout au panier */
.cart-variant-panel {
    margin-top: 18px;
    padding: 16px;
    border-radius: 24px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(184,155,114,.22);
    text-align: left;
}

.cart-variant-title {
    margin: 0 0 12px;
    color: #2f2a22;
    font-weight: 800;
    font-size: 14px;
    letter-spacing: .02em;
}

.cart-variant-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.cart-variant-option {
    min-height: 54px;
    border: 1px solid rgba(184,155,114,.34);
    border-radius: 18px;
    background: linear-gradient(145deg, #fff, #fbf7ef);
    color: #2f2a22;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    font-weight: 800;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.cart-variant-option strong {
    color: #7a6242;
    font-size: 12px;
}

.cart-variant-option:hover,
.cart-variant-option:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(99,127,77,.52);
    box-shadow: 0 12px 26px rgba(47,42,34,.10);
    outline: none;
}

.cart-variant-help {
    margin: 12px 0 0;
    color: #7a7063;
    font-size: 12px;
    line-height: 1.55;
    text-align: center;
}

@media (max-width: 520px) {
    .cart-variant-panel {
        padding: 13px;
        border-radius: 21px;
    }

    .cart-variant-options {
        grid-template-columns: 1fr;
    }
}

/* Actions du choix variante */
.cart-variant-actions {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.cart-variant-add-btn:disabled {
    cursor: not-allowed;
    opacity: .45;
    background: #b8b1a6;
    color: rgba(255,255,255,.88);
    box-shadow: none;
    transform: none;
}

.cart-variant-add-btn.is-ready:not(:disabled) {
    background: linear-gradient(
        135deg,
        var(--green, var(--cart-dialog-primary)),
        var(--green-2, var(--cart-dialog-primary-2))
    );

    color: #fff !important;

    border-color: rgba(196, 154, 103, .78);

    box-shadow: 0 18px 34px rgba(35, 53, 40, .22);
}

/* hover */
.cart-variant-add-btn.is-ready:not(:disabled):hover {
    background: linear-gradient(
        135deg,
        var(--green-2, var(--cart-dialog-primary-2)),
        var(--green, var(--cart-dialog-primary))
    );

    color: #fff !important;

    transform: translateY(-2px);
}

.cart-variant-option.is-selected {
    border-color: rgba(99,127,77,.75);
    background: linear-gradient(145deg, rgba(246,250,239,.98), #fff);
    box-shadow: 0 14px 30px rgba(99,127,77,.16);
    transform: translateY(-1px);
}

.cart-variant-option.is-selected::after {
    content: "✓";
    position: absolute;
    top: 8px;
    right: 10px;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #637f4d;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.cart-variant-option {
    position: relative;
}

@media (max-width: 520px) {
    .cart-variant-actions {
        margin-top: 14px;
    }
}

/* Correctif: évite les 4 boutons dans le dialog variante.
   Les classes .cart-added-actions/.cart-variant-actions ont display:grid,
   donc on force le respect de l'attribut hidden. */
.cart-added-actions[hidden],
.cart-variant-actions[hidden],
.cart-variant-panel[hidden] {
    display: none !important;
}






/* source: verinaflor-home-reference.css */
:root{--vfref-ink:#111;--vfref-gold:#b17a3d;--vfref-cream:#f7f3ee;--vfref-line:#e8e1da}
.vfref-topbar{height:50px;background:#f8f5f1;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:0 14%;font:500 12px/1 Montserrat,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:#2a2927}
.vfref-topbar span{display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}.vfref-topbar svg{width:19px;height:19px;fill:none;stroke:#ae7c42;stroke-width:1.4}
.site-header.vfref-header{height:102px;min-height:102px;padding:0 7.7%;grid-template-columns:280px 1fr 180px;background:#fff;border-bottom:1px solid #f0ece7;box-shadow:none}
.vfref-brand{height:auto;justify-self:start;display:flex;flex-direction:column;align-items:center;line-height:1}.vfref-brand strong{font-family:"Cormorant Garamond",serif;font-size:47px;font-weight:500;letter-spacing:-.035em;color:#111}.vfref-brand small{display:flex;align-items:center;gap:12px;margin-top:7px;font:500 11px/1 Montserrat,sans-serif;letter-spacing:.42em;text-transform:uppercase;color:#111}.vfref-brand i{display:block;width:44px;height:1px;background:#b17a3d}
.vfref-nav{display:flex;align-items:center;justify-content:center;gap:47px;height:100%}.vfref-nav a{position:relative;font:500 12px/1 Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#111}.vfref-nav a.active:after{content:"";position:absolute;left:50%;bottom:-19px;width:34px;height:1px;background:#b17a3d;transform:translateX(-50%)}
.vfref-header-icons{gap:27px}.vfref-header-icons a{width:25px;height:25px;display:grid;place-items:center;color:#111}.vfref-header-icons svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.vfref-header-icons .cart{min-width:25px;min-height:25px}.vfref-header-icons .cart span{top:-8px;right:-10px;width:18px;height:18px;min-width:18px;background:#b58a53;font-size:10px}
.vfref-page{background:#fff;color:#111}.vfref-hero{min-height:466px;display:grid;grid-template-columns:50% 50%;overflow:hidden;background:radial-gradient(circle at 23% 26%,#fff 0,#fbf9f6 35%,#f4efea 100%)}
.vfref-hero__copy{padding:54px 30px 44px 7.7%;align-self:center;position:relative;z-index:2}.vfref-kicker{margin:0 0 23px;font:500 12px/1.4 Montserrat,sans-serif;letter-spacing:.27em;text-transform:uppercase;color:#a36f33}.vfref-hero h1{margin:0;font-family:"Cormorant Garamond",serif;font-size:55px;font-weight:500;line-height:1.06;letter-spacing:-.035em;color:#111}.vfref-hero h1 em{display:inline-block;margin-top:6px;font-weight:500;color:#b07d45}.vfref-lead{max-width:620px;margin:27px 0 30px;font:400 15px/1.85 Montserrat,sans-serif;color:#383532}.vfref-actions{display:flex;gap:15px}.vfref-btn{height:47px;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #111;font:600 10px/1 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;transition:.25s}.vfref-btn--dark{background:#111;color:#fff}.vfref-btn--light{background:transparent;border-color:#cfc8c1;color:#111}.vfref-btn:hover{transform:translateY(-2px)}
.vfref-hero__visual{position:relative;min-height:466px;overflow:hidden;background:linear-gradient(115deg,#f6f1eb,#ede5dc)}.vfref-hero__visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.95),rgba(255,255,255,.25) 35%,transparent 66%)}.vfref-hero__visual img{position:absolute;z-index:4;left:45%;bottom:-1px;width:300px;height:430px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 20px 18px rgba(54,39,24,.18))}.vfref-stone{position:absolute;background:#d7c6ae;box-shadow:0 20px 35px rgba(55,40,25,.12)}.vfref-stone--front{z-index:2;left:20%;right:8%;bottom:-18px;height:100px;transform:skewX(-8deg);background:linear-gradient(145deg,#e6d6be,#cbb99f)}.vfref-stone--back{z-index:1;right:7%;bottom:55px;width:190px;height:160px;background:linear-gradient(145deg,#d8cab8,#b9a68f);transform:rotate(3deg)}
.vfref-branch{position:absolute;z-index:3;right:7%;top:35px;width:250px;height:260px;opacity:.5}.vfref-branch:before{content:"";position:absolute;left:105px;top:25px;width:1px;height:200px;background:#ad8a64;transform:rotate(-15deg)}.vfref-branch span{position:absolute;width:7px;height:7px;border-radius:50%;background:#b48f64;box-shadow:16px 8px 0 #b48f64,30px -4px 0 #b48f64,43px 12px 0 #b48f64,55px -10px 0 #b48f64}.vfref-branch span:nth-child(1){left:54px;top:40px}.vfref-branch span:nth-child(2){left:89px;top:74px}.vfref-branch span:nth-child(3){left:115px;top:105px}.vfref-branch span:nth-child(4){left:63px;top:126px}.vfref-branch span:nth-child(5){left:126px;top:147px}.vfref-branch span:nth-child(6){left:76px;top:178px}
.vfref-benefits{display:grid;grid-template-columns:repeat(4,1fr);padding:0 7.7%;border-bottom:1px solid var(--vfref-line);background:#fff}.vfref-benefits article{min-height:129px;display:grid;grid-template-columns:74px 1fr;align-items:center;padding:22px 30px 22px 0;border-right:1px solid var(--vfref-line)}.vfref-benefits article:last-child{border-right:0}.vfref-benefit-icon{font-family:"Cormorant Garamond",serif;font-size:54px;color:#b07b3e;text-align:center}.vfref-benefits strong{display:block;font:600 11px/1.55 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase}.vfref-benefits span{display:block;margin-top:7px;font:400 11px/1.55 Montserrat,sans-serif;color:#4b4844}
.vfref-collection{padding:28px 7.7% 90px}.vfref-collection__heading{position:relative;text-align:center;margin-bottom:18px}.vfref-collection__heading p{margin:0 0 7px;font:500 10px/1 Montserrat,sans-serif;letter-spacing:.23em;text-transform:uppercase;color:#b07b3e}.vfref-collection__heading h2{margin:0;font-family:"Cormorant Garamond",serif;font-size:42px;font-weight:500;line-height:1}.vfref-collection__heading h2:after{content:"";display:block;width:39px;height:1px;margin:8px auto 7px;background:#b07b3e}.vfref-collection__heading span{font:400 11px/1.4 Montserrat,sans-serif;color:#47433f}.vfref-collection__heading>a{position:absolute;right:0;bottom:12px;font:500 10px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.06em}.vfref-collection__heading>a b{margin-left:7px;color:#b07b3e;font-size:22px;font-weight:400;vertical-align:-2px}
.vfref-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.vfref-products .vf-product-card__visual{aspect-ratio:1.16/1;background:linear-gradient(145deg,#eee7df,#f8f4ef);border:0;border-radius:8px}.vfref-products .vf-product-card__visual:before,.vfref-products .vf-product-card__visual:after,.vfref-products .vf-product-card__number,.vfref-products .vf-product-card__format,.vfref-products .vf-product-card__discover{display:none}.vfref-products .vf-product-card__visual img{width:63%;height:97%}.vfref-products .vf-product-card__content,.vfref-products .vf-product-card__form{display:none}
@media(max-width:1050px){.site-header.vfref-header{grid-template-columns:230px 1fr 140px;padding:0 4%}.vfref-nav{gap:24px}.vfref-brand strong{font-size:40px}.vfref-hero__copy{padding-left:5%}.vfref-hero h1{font-size:48px}.vfref-benefits{padding:0 4%}.vfref-benefits article{grid-template-columns:55px 1fr}.vfref-benefit-icon{font-size:42px}}
@media(max-width:900px){.vfref-topbar{height:34px;padding:0 12px;display:flex;justify-content:center}.vfref-topbar span{display:none}.vfref-topbar span:first-child{display:flex;font-size:10px}.site-header.vfref-header{height:76px;min-height:76px;padding:0 14px;grid-template-columns:44px 1fr 88px}.vfref-nav{display:none}.vfref-brand{justify-self:center}.vfref-brand strong{font-size:34px}.vfref-brand small{font-size:8px;gap:6px;letter-spacing:.3em}.vfref-brand i{width:25px}.vfref-header-icons{height:76px;gap:8px}.vfref-header-icons>a:first-child,.vfref-header-icons .profile-header-link{display:none}.mobile-menu-btn{display:flex!important}.vfref-hero{grid-template-columns:1fr;min-height:auto}.vfref-hero__copy{padding:44px 22px 30px;text-align:center}.vfref-kicker{font-size:10px;letter-spacing:.19em}.vfref-hero h1{font-size:44px}.vfref-lead{font-size:13px;line-height:1.7}.vfref-actions{justify-content:center;flex-direction:column}.vfref-btn{width:100%}.vfref-hero__visual{min-height:400px}.vfref-hero__visual img{left:48%;width:250px;height:370px}.vfref-benefits{grid-template-columns:1fr 1fr;padding:0 14px}.vfref-benefits article{min-height:120px;border-bottom:1px solid var(--vfref-line);grid-template-columns:45px 1fr;padding-right:10px}.vfref-benefits article:nth-child(2){border-right:0}.vfref-benefit-icon{font-size:36px}.vfref-benefits strong{font-size:9px}.vfref-benefits span{font-size:9px}.vfref-collection{padding:35px 14px 60px}.vfref-collection__heading h2{font-size:37px}.vfref-collection__heading>a{position:static;display:block;margin-top:15px}.vfref-products{grid-template-columns:repeat(2,1fr);gap:12px}.vfref-products .vf-product-card__visual img{width:72%}}

/* Fidélité renforcée à la maquette premium fournie */
.vfref-hero__visual{background:#f2ece6;isolation:isolate}
.vfref-hero__visual picture{position:absolute;inset:0;display:block}
.vfref-hero__visual picture img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:none;filter:none}
.vfref-benefit-icon{display:grid;place-items:center}
.vfref-benefit-icon svg{width:48px;height:48px;fill:none;stroke:#b07b3e;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vfref-products .vf-product-card{min-width:0}
.vfref-products .vf-product-card__link{display:block}
.vfref-products .vf-product-card__visual{overflow:hidden;box-shadow:none;transition:transform .3s ease,box-shadow .3s ease}
.vfref-products .vf-product-card:hover .vf-product-card__visual{transform:translateY(-4px);box-shadow:0 18px 38px rgba(54,39,24,.10)}
@media(min-width:901px){
  .vfref-hero{height:466px;min-height:466px}
  .vfref-hero__visual{height:466px;min-height:466px}
}
@media(max-width:900px){
  .vfref-hero__visual picture{inset:18px 0 0}
  .vfref-hero__visual picture img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 20px rgba(54,39,24,.17))}
  .vfref-benefit-icon svg{width:34px;height:34px}
}

/* Collections carrousel — accueil */
.vfref-collections{padding:54px 7.7% 96px;background:#fff}
.vfref-collections__intro{text-align:center;margin:0 auto 48px;max-width:720px}
.vfref-collections__intro p,.vfref-carousel__header p{margin:0 0 9px;font:500 10px/1 Montserrat,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:#b07b3e}
.vfref-collections__intro h2{margin:0;font:500 46px/1.05 "Cormorant Garamond",serif;letter-spacing:-.02em}
.vfref-collections__intro h2:after{content:"";display:block;width:42px;height:1px;margin:14px auto 12px;background:#b07b3e}
.vfref-collections__intro span{font:400 12px/1.7 Montserrat,sans-serif;color:#56514c}
.vfref-carousel{padding:0 0 56px;margin:0 0 56px;border-bottom:1px solid #ebe5df}
.vfref-carousel:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.vfref-carousel__header{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:23px}
.vfref-carousel__header h2{margin:0 0 8px;font:500 36px/1 "Cormorant Garamond",serif;letter-spacing:-.015em}
.vfref-carousel__header>div:first-child>span{display:block;max-width:680px;font:400 11px/1.65 Montserrat,sans-serif;color:#5e5954}
.vfref-carousel__actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.vfref-carousel__actions>a{display:inline-flex;align-items:center;gap:11px;margin-right:11px;padding-bottom:5px;border-bottom:1px solid #c9a67d;font:600 9px/1 Montserrat,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#111;white-space:nowrap}
.vfref-carousel__actions>a svg{width:17px;height:17px;fill:none;stroke:#b07b3e;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.vfref-carousel__actions>a:hover svg{transform:translateX(4px)}
.vfref-carousel__actions button{width:38px;height:38px;border:1px solid #dcd4cc;background:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s}
.vfref-carousel__actions button:hover{background:#111;border-color:#111;color:#fff}
.vfref-carousel__actions button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vfref-carousel__viewport{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;padding:2px 2px 18px;scrollbar-width:none}
.vfref-carousel__viewport::-webkit-scrollbar{display:none}
.vfref-carousel__item{scroll-snap-align:start;min-width:0}
.vfref-carousel .vf-product-card{height:100%;background:#fff}
.vfref-carousel .vf-product-card__link{display:block;color:inherit}
.vfref-carousel .vf-product-card__visual{position:relative;aspect-ratio:1/1.05;overflow:hidden;border:0;border-radius:7px;background:linear-gradient(145deg,#f2ede7,#faf7f3);transition:transform .3s ease,box-shadow .3s ease}
.vfref-carousel .vf-product-card:hover .vf-product-card__visual{transform:translateY(-4px);box-shadow:0 17px 35px rgba(47,34,22,.10)}
.vfref-carousel .vf-product-card__visual:before,.vfref-carousel .vf-product-card__visual:after,.vfref-carousel .vf-product-card__favorite,.vfref-carousel .vf-product-card__format,.vfref-carousel .vf-product-card__discover{display:none}
.vfref-carousel .vf-product-card__visual img{position:absolute;inset:5% 15%;width:70%;height:90%;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(38,28,20,.10));transition:transform .35s ease}
.vfref-carousel .vf-product-card:hover .vf-product-card__visual img{transform:scale(1.035)}
.vfref-carousel .vf-product-card__number{position:absolute;z-index:2;top:15px;left:15px;display:block;font:600 9px/1 Montserrat,sans-serif;letter-spacing:.11em;color:#9b6a35}
.vfref-carousel .vf-product-card__content{display:block;padding:15px 4px 0}
.vfref-carousel .vf-product-card__meta{display:flex;align-items:center;gap:7px;font:500 8px/1.2 Montserrat,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#9a7957}
.vfref-carousel .vf-product-card__meta span:nth-child(2){width:13px;height:1px;background:#c8a47c}
.vfref-carousel .vf-product-card__content h3{margin:8px 0 4px;font:500 22px/1.08 "Cormorant Garamond",serif}
.vfref-carousel .vf-product-card__content p{margin:0;font:400 9px/1.4 Montserrat,sans-serif;color:#77706a}
.vfref-carousel .vf-product-card__price-row{margin-top:10px}
.vfref-carousel .vf-product-card__price-row strong{font:600 11px/1 Montserrat,sans-serif;color:#111}
.vfref-carousel .vf-product-card__price-row small{margin-right:3px;font-weight:400;color:#7d7771}
.vfref-carousel .vf-product-card__form{display:none}
.vfref-carousel__empty{padding:38px;border:1px solid #ece6e0;background:#fbf9f7;text-align:center;font:400 11px/1.5 Montserrat,sans-serif;color:#766f68}
@media(max-width:1050px){.vfref-carousel__viewport{grid-auto-columns:calc((100% - 40px)/3);gap:20px}}
@media(max-width:900px){
 .vfref-collections{padding:43px 14px 66px}
 .vfref-collections__intro{margin-bottom:39px}
 .vfref-collections__intro h2{font-size:38px}
 .vfref-carousel{padding-bottom:42px;margin-bottom:42px}
 .vfref-carousel__header{align-items:flex-start;gap:18px;margin-bottom:18px}
 .vfref-carousel__header h2{font-size:31px}
 .vfref-carousel__header>div:first-child>span{font-size:10px}
 .vfref-carousel__actions button{display:none}
 .vfref-carousel__actions>a{margin:21px 0 0;font-size:8px}
 .vfref-carousel__viewport{grid-auto-columns:72%;gap:13px;margin-right:-14px;padding-right:14px}
 .vfref-carousel .vf-product-card__content h3{font-size:21px}
}
@media(max-width:560px){
 .vfref-carousel__header{display:block}
 .vfref-carousel__actions{justify-content:flex-start}
 .vfref-carousel__actions>a{margin-top:13px}
 .vfref-carousel__viewport{grid-auto-columns:78%}
}

/* Harmonisation premium des cartes produit de la page d'accueil — 2026-08-06 */
.vfref-carousel__item{display:flex}
.vfref-carousel .vf-product-card{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #ebe4dc;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 28px rgba(43,31,20,.055);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.vfref-carousel .vf-product-card:hover{
  transform:translateY(-5px);
  border-color:#dcc9b4;
  box-shadow:0 18px 42px rgba(43,31,20,.11);
}
.vfref-carousel .vf-product-card__link{display:flex;flex:1;flex-direction:column}
.vfref-carousel .vf-product-card__visual{
  aspect-ratio:1/1.03;
  margin:10px 10px 0;
  border-radius:10px;
  background:linear-gradient(145deg,#f4efe9 0%,#fbf9f6 58%,#eee5dc 100%);
}
.vfref-carousel .vf-product-card:hover .vf-product-card__visual{transform:none;box-shadow:none}
.vfref-carousel .vf-product-card__visual:after{
  content:"";
  display:block;
  position:absolute;
  left:17%;right:17%;bottom:8%;height:8%;
  border-radius:50%;
  background:rgba(61,43,28,.09);
  filter:blur(10px);
}
.vfref-carousel .vf-product-card__visual img{
  z-index:1;
  inset:6% 14% 5%;
  width:72%;height:89%;
  filter:drop-shadow(0 14px 13px rgba(38,28,20,.13));
}
.vfref-carousel .vf-product-card__number{
  top:14px;left:14px;
  padding:6px 9px;
  border:1px solid rgba(177,122,61,.28);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(5px);
  font-size:8px;
}
.vfref-carousel .vf-product-card__favorite{
  z-index:3;
  top:13px;right:13px;
  width:31px;height:31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,17,17,.10);
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:#111;
  cursor:pointer;
}
.vfref-carousel .vf-product-card__favorite svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}
.vfref-carousel .vf-product-card__favorite.is-active svg{fill:#111}
.vfref-carousel .vf-product-card__content{
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:154px;
  padding:18px 18px 14px;
}
.vfref-carousel .vf-product-card__meta{
  min-height:20px;
  overflow:hidden;
  color:#9b744e;
  white-space:nowrap;
}
.vfref-carousel .vf-product-card__meta span:first-child,
.vfref-carousel .vf-product-card__meta span:last-child{overflow:hidden;text-overflow:ellipsis}
.vfref-carousel .vf-product-card__content h3{
  min-height:48px;
  margin:9px 0 5px;
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:24px;
  line-height:1;
}
.vfref-carousel .vf-product-card__content p{
  min-height:28px;
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:9px;
  line-height:1.55;
}
.vfref-carousel .vf-product-card__price-row{margin-top:auto;padding-top:13px;border-top:1px solid #eee8e2}
.vfref-carousel .vf-product-card__price-row strong{font-size:13px;letter-spacing:.02em}
.vfref-carousel .vf-product-card__form{display:block;padding:0 18px 18px}
.vfref-carousel .vf-product-card__button{
  width:100%;height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid #111;
  border-radius:0;
  background:#111;
  color:#fff;
  font:600 9px/1 Montserrat,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.vfref-carousel .vf-product-card__button:hover{background:#fff;color:#111;transform:translateY(-1px)}
.vfref-carousel .vf-product-card__button svg{width:16px;height:16px}
.vfref-carousel .vf-product-card__button.is-disabled{border-color:#d8d2cc;background:#eeeae6;color:#8d8781;cursor:not-allowed}
.vfref-carousel .vf-product-card__button.is-disabled:hover{transform:none}

@media(max-width:1050px){
 .vfref-carousel .vf-product-card__content{min-height:150px;padding:16px 15px 13px}
 .vfref-carousel .vf-product-card__form{padding:0 15px 15px}
}
@media(max-width:900px){
 .vfref-carousel__viewport{grid-auto-columns:58%;gap:14px}
 .vfref-carousel .vf-product-card{border-radius:12px}
 .vfref-carousel .vf-product-card__visual{margin:8px 8px 0}
 .vfref-carousel .vf-product-card__content{min-height:143px;padding:15px 13px 12px}
 .vfref-carousel .vf-product-card__content h3{min-height:42px;font-size:21px}
 .vfref-carousel .vf-product-card__form{padding:0 13px 13px}
 .vfref-carousel .vf-product-card__button{height:40px;font-size:8px}
}
@media(max-width:560px){
 .vfref-carousel__viewport{grid-auto-columns:76%}
}

/* Carte produit éditoriale premium — harmonisée avec la maquette validée */
.vfref-carousel .vf-product-card{border-color:#e7ddd1;border-radius:18px;background:#fffefa;box-shadow:0 16px 42px rgba(56,40,24,.075)}
.vfref-carousel .vf-product-card__visual{aspect-ratio:1/1.08;margin:12px 12px 0;border-radius:14px;background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.98),transparent 31%),linear-gradient(145deg,#f5eee5,#fffdfa 58%,#eee2d2)}
.vfref-carousel .vf-product-card__visual:before{content:"";position:absolute;z-index:0;left:9%;bottom:7%;width:34%;height:20%;border-radius:50%;background:rgba(255,255,255,.9);filter:blur(10px);transform:rotate(-18deg)}
.vfref-carousel .vf-product-card__visual img{inset:5% 13% 4%;width:74%;height:91%;filter:drop-shadow(0 18px 16px rgba(45,31,18,.17))}
.vfref-carousel .vf-product-card__number{top:15px;left:15px;padding:8px 12px;border:1px solid #d8b887;border-radius:10px;background:rgba(255,253,249,.94);font-size:9px;color:#a77738}
.vfref-carousel .vf-product-card__favorite{top:14px;right:14px;width:36px;height:36px;border-color:#eadfd3;background:rgba(255,255,255,.92);color:#b18751;box-shadow:0 5px 15px rgba(57,39,21,.08)}
.vfref-carousel .vf-product-card__content{min-height:0;padding:20px 18px 14px;text-align:center}
.vfref-carousel .vf-product-card__meta{justify-content:center;min-height:auto;font-size:8px;letter-spacing:.13em;color:#967958}
.vfref-carousel .vf-product-card__meta span:nth-child(2){width:4px;height:4px;border-radius:50%;background:#b68f5d}
.vfref-carousel .vf-product-card__content h3{min-height:0;margin:12px 0 10px;font-size:29px;line-height:1.02;text-decoration:none}
.vfref-carousel .vf-product-card__description{min-height:42px!important;margin:0 auto!important;max-width:92%;font-size:9px!important;line-height:1.65!important;color:#706a64!important;border:0!important}
.vfref-carousel .vf-product-card__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;padding:13px 0;border-top:1px solid #eee5db;border-bottom:1px solid #eee5db}
.vfref-carousel .vf-product-card__facts>span{min-width:0;padding:0 7px;border-right:1px solid #eee5db}
.vfref-carousel .vf-product-card__facts>span:last-child{border-right:0}
.vfref-carousel .vf-product-card__facts svg{width:17px;height:17px;margin:0 auto 7px;fill:none;stroke:#b78c54;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.vfref-carousel .vf-product-card__facts small,.vfref-carousel .vf-product-card__facts b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vfref-carousel .vf-product-card__facts small{font:600 6px/1.2 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#998b7c}
.vfref-carousel .vf-product-card__facts b{margin-top:4px;font:500 8px/1.2 Montserrat,sans-serif;color:#27231f}
.vfref-carousel .vf-product-card__subtitle{display:none!important}
.vfref-carousel .vf-product-card__price-row{margin-top:0;padding-top:15px;border-top:0;text-align:left}
.vfref-carousel .vf-product-card__price-row strong{font-size:17px;color:#111}
.vfref-carousel .vf-product-card__price-row small{display:block;margin:0 0 4px;font-size:8px;text-transform:none}
.vfref-carousel .vf-product-card__form{padding:0 18px 18px}
.vfref-carousel .vf-product-card__button{height:50px;border-radius:6px;font-size:9px;letter-spacing:.14em;background:linear-gradient(110deg,#0b0b0b,#171717);box-shadow:0 8px 18px rgba(0,0,0,.10)}
@media(max-width:900px){.vfref-carousel .vf-product-card__content{padding:16px 13px 11px}.vfref-carousel .vf-product-card__content h3{font-size:24px}.vfref-carousel .vf-product-card__description{min-height:38px!important;font-size:8px!important}.vfref-carousel .vf-product-card__facts{margin-top:12px;padding:10px 0}.vfref-carousel .vf-product-card__facts svg{width:15px;height:15px}.vfref-carousel .vf-product-card__facts small{font-size:5px}.vfref-carousel .vf-product-card__facts b{font-size:7px}.vfref-carousel .vf-product-card__price-row strong{font-size:15px}.vfref-carousel .vf-product-card__button{height:44px}}
@media(max-width:560px){.vfref-carousel__viewport{grid-auto-columns:84%}.vfref-carousel .vf-product-card__visual{margin:9px 9px 0}.vfref-carousel .vf-product-card__facts>span{padding:0 4px}}

/* Accueil mobile : hero fin, image complète et engagements horizontaux.
   Ces règles restent volontairement limitées au mobile. */
@media (max-width:900px){
  .vfref-hero__copy{
    padding:30px 20px 24px;
  }
  .vfref-kicker{
    margin-bottom:14px;
    font-size:8px;
    line-height:1.5;
    letter-spacing:.16em;
  }
  .vfref-hero h1{
    font-size:34px;
    line-height:1.02;
    letter-spacing:-.025em;
  }
  .vfref-hero h1 em{
    margin-top:4px;
  }
  .vfref-lead{
    max-width:520px;
    margin:18px auto 20px;
    font-size:11px;
    line-height:1.65;
  }
  .vfref-btn{
    height:43px;
    font-size:9px;
  }
  .vfref-hero__visual{
    min-height:0;
    height:auto;
    aspect-ratio:16/10;
  }
  .vfref-hero__visual picture img{
    object-fit:contain;
    object-position:center;
  }
  .vfref-benefits{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    padding:0 8px;
    overflow:visible;
  }
  .vfref-benefits article{
    min-width:0;
    min-height:88px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 3px;
    border-right:1px solid var(--vfref-line);
    border-bottom:0;
    text-align:center;
  }
  .vfref-benefits article:nth-child(2){
    border-right:1px solid var(--vfref-line);
  }
  .vfref-benefits article:last-child{
    border-right:0;
  }
  .vfref-benefit-icon svg{
    width:27px;
    height:27px;
  }
  .vfref-benefits strong{
    font-size:7px;
    line-height:1.35;
    letter-spacing:.055em;
  }
  .vfref-benefits span{
    display:none;
  }
}

@media (max-width:420px){
  .vfref-hero h1{font-size:31px}
  .vfref-hero__visual{aspect-ratio:4/3}
  .vfref-benefits{padding:0 4px}
  .vfref-benefits strong{font-size:6.5px}
}
