/* VerinaFlor — carte accueil premium V2. Surcharge isolée aux carrousels de l'accueil. */
:is(.vfref-carousel,.vfr-products-grid) .vf-product-card {
    border: 1px solid #e8e2d9 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 30px rgba(35, 29, 21, .045) !important;
    overflow: hidden !important;
    transition: transform .32s ease, border-color .32s ease, box-shadow .32s ease !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card:hover {
    transform: translateY(-4px) !important;
    border-color: #d8cbb9 !important;
    box-shadow: 0 18px 46px rgba(35, 29, 21, .08) !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__link {
    display: block !important;
    flex: 0 0 auto !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual {
    aspect-ratio: 1 / .68 !important;
    background: #fff !important;
    overflow: hidden !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual img {
    width: 59% !important;
    height: 96% !important;
    object-position: center 50% !important;
    filter: drop-shadow(0 14px 12px rgba(28, 22, 16, .13)) !important;
    transition: transform .45s cubic-bezier(.2,.7,.2,1) !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card:hover .vf-product-card__visual img {
    transform: translateY(-3px) scale(1.018) !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__gender {
    top: 15px !important;
    left: 15px !important;
    min-height: 24px !important;
    padding: 0 9px !important;
    border: 1px solid rgba(64, 53, 39, .13) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .76) !important;
    color: #625a50 !important;
    box-shadow: 0 2px 10px rgba(30, 25, 19, .025) !important;
    backdrop-filter: blur(7px) !important;
    font: 500 8px/1 Montserrat, sans-serif !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content {
    padding: 13px 16px 6px !important;
    text-align: left !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__brand {
    min-height: 0 !important;
    margin: 0 0 7px !important;
    color: #a6722c !important;
    font: 600 9px/1.2 Montserrat, sans-serif !important;
    letter-spacing: .19em !important;
    text-align: left !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content h3 {
    margin: 0 !important;
    color: #181613 !important;
    font: 500 24px/.98 "Cormorant Garamond", Georgia, serif !important;
    text-align: left !important;
    letter-spacing: -.015em !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content h3::after {
    display: none !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__alternative {
    margin: 6px 0 11px !important;
    color: #8a8278 !important;
    font: 400 8px/1.45 Montserrat, sans-serif !important;
    letter-spacing: .025em !important;
    text-align: left !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants {
    justify-content: center !important;
    min-height: 32px !important;
    gap: 8px !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant {
    min-width: 70px !important;
    min-height: 32px !important;
    padding: 0 14px !important;
    border: 1px solid #ddd7cf !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #3d3934 !important;
    font: 500 10px/1 Montserrat, sans-serif !important;
    letter-spacing: .03em !important;
    transition: background .22s ease, color .22s ease, border-color .22s ease !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant:hover:not(:disabled) {
    border-color: #8d8377 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant.is-active {
    border-color: #cfc5b7 !important;
    background: #f9f7f2 !important;
    color: #2d2924 !important;
    font-weight: 600 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant:focus-visible {
    outline: 2px solid #b88a49 !important;
    outline-offset: 2px !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row {
    justify-content: center !important;
    text-align: center !important;
    padding-top: 11px !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong {
    color: #181613 !important;
    font: 500 21px/1 Montserrat, sans-serif !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong small {
    margin-right: 4px !important;
    color: #8a8278 !important;
    font: 500 7px/1 Montserrat, sans-serif !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong > span {
    margin-left: 3px !important;
    color: #655e55 !important;
    font-size: 9px !important;
    font-weight: 500 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__form {
    padding: 0 16px 12px !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button {
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 9px !important;
    border: 1px solid #ddd5ca !important;
    background: #f9f7f2 !important;
    color: #2d2924 !important;
    box-shadow: none !important;
    gap: 10px !important;
    font: 600 8px/1 Montserrat, sans-serif !important;
    letter-spacing: .17em !important;
    transition: background .22s ease, transform .22s ease !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button:hover:not(:disabled) {
    background: #f2eee6 !important;
    border-color: #cfc5b7 !important;
    transform: translateY(-1px) !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button svg {
    width: 15px !important;
    height: 15px !important;
    stroke-width: 1.25 !important;
}

@media (max-width: 720px) {
    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card {
        border-radius: 12px !important;
        box-shadow: 0 5px 18px rgba(35, 29, 21, .045) !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual {
        aspect-ratio: 1 / .62 !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual img {
        width: 58% !important;
        height: 94% !important;
        object-position: center 50% !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__gender {
        top: 7px !important;
        left: 7px !important;
        min-height: 17px !important;
        padding: 0 6px !important;
        font-size: 5px !important;
        letter-spacing: .11em !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content {
        padding: 7px 6px 3px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__brand {
        margin-bottom: 4px !important;
        font-size: 5.6px !important;
        letter-spacing: .13em !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content h3 {
        font-size: 15px !important;
        line-height: 1 !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__alternative {
        margin: 4px 0 6px !important;
        font-size: 5px !important;
        line-height: 1.35 !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants {
        min-height: 23px !important;
        gap: 4px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant {
        min-width: 44px !important;
        min-height: 23px !important;
        padding: 0 7px !important;
        font-size: 6.4px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row {
        padding-top: 7px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong {
        font-size: 13px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong small,
    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong > span {
        font-size: 5.4px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__form {
        padding: 0 6px 6px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button {
        height: 29px !important;
        min-height: 29px !important;
        border-radius: 6px !important;
        gap: 5px !important;
        font-size: 4.8px !important;
        letter-spacing: .09em !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button svg {
        width: 10px !important;
        height: 10px !important;
    }
}

/* Profondeur du flacon : halo chaud et ombre de sol, sans toucher au contenu. */
:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 50% !important;
    left: 50% !important;
    width: 82% !important;
    height: 92% !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: radial-gradient(ellipse at center,
        rgba(235, 217, 194, .62) 0%,
        rgba(245, 234, 219, .46) 35%,
        rgba(252, 248, 242, .16) 63%,
        rgba(255, 255, 255, 0) 78%) !important;
    filter: blur(9px) !important;
    opacity: 1 !important;
    transform: translate(-50%, -48%) !important;
    pointer-events: none !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    left: 50% !important;
    bottom: 5% !important;
    width: 48% !important;
    height: 8% !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(93, 69, 43, .16) !important;
    filter: blur(8px) !important;
    opacity: 1 !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual img {
    position: relative !important;
    z-index: 2 !important;
}

@media (max-width: 720px) {
    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual::before {
        width: 88% !important;
        height: 96% !important;
        filter: blur(6px) !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual::after {
        bottom: 4% !important;
        width: 52% !important;
        height: 9% !important;
        filter: blur(5px) !important;
    }
}

@media (min-width: 1100px) {
    .vfr-products-grid {
        grid-template-columns: repeat(4, minmax(0, 250px)) !important;
        justify-content: center !important;
        gap: 20px !important;
    }

    .vfref-carousel__viewport {
        grid-auto-columns: calc((100% - 72px) / 4.35) !important;
        gap: 18px !important;
    }
}

@media (min-width: 721px) and (max-width: 1099px) {
    .vfref-carousel__viewport {
        grid-auto-columns: calc((100% - 42px) / 3.25) !important;
        gap: 16px !important;
    }
}

@media (max-width: 720px) {
    .vfref-carousel__viewport {
        grid-auto-columns: 43% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card,
    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual img,
    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button {
        transition: none !important;
    }
}

/* Référence visuelle finale 10/08/2026 : blanc, filet or et composition centrée. */
:is(.vfref-carousel,.vfr-products-grid) .vf-product-card {
    border: 1px solid #cfaa78 !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 5px 22px rgba(91, 61, 29, .045) !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__visual {
    background: #fff !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__gender {
    top: 13px !important;
    left: 13px !important;
    min-height: 27px !important;
    padding: 0 13px !important;
    border: 1px solid #d2b38d !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #27221d !important;
    box-shadow: none !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    letter-spacing: .21em !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content {
    padding: 13px 16px 6px !important;
    text-align: center !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__brand {
    margin-bottom: 8px !important;
    color: #b37d3e !important;
    text-align: center !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: .22em !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content h3 {
    color: #171411 !important;
    text-align: center !important;
    font-size: 25px !important;
    font-weight: 500 !important;
    line-height: .98 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__alternative {
    margin: 7px 0 13px !important;
    color: #8d8882 !important;
    text-align: center !important;
    font-size: 8px !important;
    line-height: 1.35 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100%, 166px) !important;
    min-height: 35px !important;
    margin: 0 auto !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid #cfaa78 !important;
    border-radius: 999px !important;
    background: #fff !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #292520 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant + .vf-product-card__variant {
    border-left: 1px solid #cfaa78 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant.is-active {
    background: #fbf5ec !important;
    color: #181411 !important;
    font-weight: 600 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row {
    padding-top: 12px !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong {
    color: #171411 !important;
    font-size: 25px !important;
    font-weight: 500 !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong > span {
    color: #3d3730 !important;
    font-size: 9px !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__form {
    padding: 0 14px 13px !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button {
    height: 42px !important;
    min-height: 42px !important;
    border: 1px solid #c99455 !important;
    border-radius: 7px !important;
    background: #fffaf4 !important;
    color: #83501f !important;
    box-shadow: none !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    letter-spacing: .18em !important;
}

:is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button:hover:not(:disabled) {
    border-color: #ad7436 !important;
    background: #f8eee1 !important;
    color: #6f4219 !important;
}

@media (max-width: 720px) {
    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card {
        border-radius: 11px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__gender {
        top: 6px !important;
        left: 6px !important;
        min-height: 18px !important;
        padding: 0 7px !important;
        font-size: 5px !important;
        letter-spacing: .14em !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content {
        padding: 7px 6px 3px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__brand {
        margin-bottom: 4px !important;
        font-size: 5.8px !important;
        letter-spacing: .14em !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__content h3 {
        font-size: 15px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__alternative {
        margin: 4px 0 7px !important;
        font-size: 5px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants {
        width: min(100%, 112px) !important;
        min-height: 24px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__variants .vf-product-card__variant {
        min-height: 23px !important;
        padding: 0 5px !important;
        font-size: 6.4px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row {
        padding-top: 7px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__price-row strong {
        font-size: 14px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__form {
        padding: 0 6px 6px !important;
    }

    :is(.vfref-carousel,.vfr-products-grid) .vf-product-card__button {
        height: 30px !important;
        min-height: 30px !important;
        border-radius: 5px !important;
        font-size: 4.8px !important;
        letter-spacing: .1em !important;
    }
}

/* Accueil : surcharge finale de lisibilite web et mobile. */
.vfref-page .vfref-carousel .vf-product-card__gender { min-height:30px!important; padding:0 12px!important; font-size:10px!important; font-weight:600!important; }
.vfref-page .vfref-carousel .vf-product-card__brand { min-height:14px!important; font-size:11px!important; line-height:1.25!important; }
.vfref-page .vfref-carousel .vf-product-card__content h3 { font-size:26px!important; line-height:1.05!important; }
.vfref-page .vfref-carousel .vf-product-card__alternative { margin:7px 0 14px!important; color:#5f5a54!important; font-size:11px!important; font-weight:500!important; line-height:1.45!important; }
.vfref-page .vfref-carousel .vf-product-card__variants { width:min(100%,180px)!important; min-height:40px!important; }
.vfref-page .vfref-carousel .vf-product-card__variants .vf-product-card__variant { min-height:39px!important; padding:0 9px!important; font-size:12px!important; font-weight:600!important; }
.vfref-page .vfref-carousel .vf-product-card__price-row { padding-top:12px!important; }
.vfref-page .vfref-carousel .vf-product-card__price-row strong { font-size:26px!important; }
.vfref-page .vfref-carousel .vf-product-card__price-row strong>span { font-size:12px!important; font-weight:500!important; }
.vfref-page .vfref-carousel .vf-product-card__form { padding:0 14px 13px!important; }
.vfref-page .vfref-carousel .vf-product-card__button { height:46px!important; min-height:46px!important; padding:0 10px!important; gap:8px!important; font-size:11px!important; font-weight:700!important; line-height:1.15!important; letter-spacing:.06em!important; }
.vfref-page .vfref-carousel .vf-product-card__button svg { width:16px!important; height:16px!important; flex:0 0 16px!important; }

@media (max-width:720px) {
    .vfref-page .vfref-carousel .vf-product-card__gender { min-height:25px!important; padding:0 9px!important; font-size:9px!important; }
    .vfref-page .vfref-carousel .vf-product-card__brand { min-height:12px!important; font-size:10px!important; }
    .vfref-page .vfref-carousel .vf-product-card__content h3 { font-size:23px!important; }
    .vfref-page .vfref-carousel .vf-product-card__alternative { margin:6px 0 11px!important; font-size:10px!important; line-height:1.4!important; }
    .vfref-page .vfref-carousel .vf-product-card__variants { width:min(100%,160px)!important; min-height:37px!important; }
    .vfref-page .vfref-carousel .vf-product-card__variants .vf-product-card__variant { min-height:36px!important; padding:0 6px!important; font-size:11px!important; }
    .vfref-page .vfref-carousel .vf-product-card__price-row strong { font-size:24px!important; }
    .vfref-page .vfref-carousel .vf-product-card__price-row strong>span { font-size:11px!important; }
    .vfref-page .vfref-carousel .vf-product-card__form { padding:0 7px 9px!important; }
    .vfref-page .vfref-carousel .vf-product-card__button { height:44px!important; min-height:44px!important; padding:0 6px!important; gap:6px!important; font-size:10px!important; letter-spacing:.035em!important; }
}

/* V5 : conserver strictement deux cartes et leurs dimensions ; agrandir seulement le texte. */
@media (max-width:720px) {
    .vfref-page .vfref-carousel__viewport { grid-auto-columns:45%!important; gap:9px!important; }
    .vfref-page .vfref-carousel .vf-product-card__gender { min-height:18px!important; padding:0 7px!important; font-size:7.5px!important; }
    .vfref-page .vfref-carousel .vf-product-card__brand { min-height:7px!important; margin-bottom:4px!important; font-size:9px!important; line-height:1!important; }
    .vfref-page .vfref-carousel .vf-product-card__content h3 { font-size:20px!important; line-height:1!important; }
    .vfref-page .vfref-carousel .vf-product-card__alternative { margin:4px 0 7px!important; font-size:7.5px!important; line-height:1.35!important; }
    .vfref-page .vfref-carousel .vf-product-card__variants { width:min(100%,112px)!important; min-height:24px!important; }
    .vfref-page .vfref-carousel .vf-product-card__variants .vf-product-card__variant { min-height:23px!important; padding:0 5px!important; font-size:9.5px!important; }
    .vfref-page .vfref-carousel .vf-product-card__price-row { padding-top:7px!important; }
    .vfref-page .vfref-carousel .vf-product-card__price-row strong { font-size:20px!important; }
    .vfref-page .vfref-carousel .vf-product-card__price-row strong>span { font-size:9px!important; }
    .vfref-page .vfref-carousel .vf-product-card__form { padding:0 6px 6px!important; }
    .vfref-page .vfref-carousel .vf-product-card__button { height:30px!important; min-height:30px!important; padding:0 4px!important; gap:4px!important; font-size:8.5px!important; letter-spacing:.025em!important; }
    .vfref-page .vfref-carousel .vf-product-card__button svg { width:11px!important; height:11px!important; flex:0 0 11px!important; }
}

@media (max-width:380px) {
    .vfref-page .vfref-carousel__viewport { grid-auto-columns:46.5%!important; gap:7px!important; }
    .vfref-page .vfref-carousel .vf-product-card__content h3 { font-size:19px!important; }
    .vfref-page .vfref-carousel .vf-product-card__alternative { font-size:7px!important; }
    .vfref-page .vfref-carousel .vf-product-card__button { font-size:8px!important; }
}
