* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

:root {
    --accent: #848484;
    --accent-light: #aeaeae;
    --accent-dark: #2e2e2e;
    --accent-rgb: 132, 132, 132;
}

body {
    font-family: "Poppins", sans-serif;
    background: #f8f8f8;
    color: #131313;
    overflow-x: hidden;
    overscroll-behavior-x: none;
}

.nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    height: 40px;
    padding: 0 20px;
    background: var(--accent);
    color: #080808;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: background-color 0.4s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.nav-cta:hover {
    background: var(--accent-light);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(var(--accent-rgb), 0.2);
}

.search-results-panel {
    max-width: 800px;
    margin: 0 auto;
    background: #f7f7f7;
    border: 1px solid rgba(160, 160, 160, 0.25);
    border-top: none;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
    display: none;
    max-height: 70vh;
    overflow-y: auto;
}

.search-results-panel.active {
    display: block;
}

.search-result-heading {
    padding: 13px 18px 8px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #6b6b6b;
    border-top: 1px solid #dedede;
}

.search-result-heading:first-child {
    border-top: 0;
}

.search-product-item,
.search-collection-item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 10px 18px;
    text-decoration: none;
    color: #0e0e0e;
    background: #f7f7f7;
    transition: background-color 0.2s ease;
}

.search-product-item:hover,
.search-collection-item:hover {
    background: #eaeaea;
}

.search-product-item img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border: 1px solid #dedede;
    background: #ffffff;
}

.search-product-item span,
.search-collection-item span:not(.search-result-icon) {
    min-width: 0;
    flex: 1;
}

.search-product-item strong,
.search-collection-item strong {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-size: 20px;
    font-weight: 600;
    color: #141414;
}

.search-product-item small,
.search-collection-item small {
    display: block;
    margin-top: 2px;
    color: #6b6b6b;
    font-size: 11px;
}

.search-result-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #bebebe;
    color: #777777;
    flex: 0 0 auto;
}

.search-product-item > i,
.search-collection-item > i {
    color: #777777;
    font-size: 11px;
}

.search-see-all {
    width: 100%;
    border: 0;
    border-top: 1px solid #dedede;
    background: #141414;
    color: #ededed;
    padding: 13px 18px;
    font: 600 11px "Poppins", sans-serif;
    letter-spacing: .7px;
    cursor: pointer;
    text-align: center;
}

.search-see-all:hover {
    background: #1c1c1c;
}

.search-no-result {
    padding: 28px 20px 25px;
    text-align: center;
    color: #272727;
}

.search-no-result > span {
    width: 42px;
    height: 42px;
    margin: 0 auto 10px;
    display: grid;
    place-items: center;
    border: 1px solid #bebebe;
    color: #777777;
}

.search-no-result strong {
    display: block;
    color: #141414;
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
}

.search-no-result p {
    margin: 5px auto 16px;
    max-width: 520px;
    font-size: 12px;
    line-height: 1.6;
}

@media (max-width: 600px) {
    .search-results-panel {
        max-height: 65vh;
    }

    .search-product-item,
    .search-collection-item {
        padding: 9px 12px;
    }

    .search-product-item strong,
    .search-collection-item strong {
        font-size: 18px;
    }
}

/* ============================= */
/* HERO SLIDER                    */
/* ============================= */

.hero {
    position: relative;
    height: 78vh;
    min-height: 500px;
    max-height: 820px;
    overflow: hidden;
    background: #050505;
    color: #ffffff;
}

.hero-slides {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale(1);
    transition: opacity 1.4s ease;
    z-index: 1;
}

.hero-slide.active {
    opacity: 1;
    z-index: 2;
    animation: heroKenBurns 6.5s ease-in-out forwards;
}

@keyframes heroKenBurns {
    from { transform: scale(1); }
    to   { transform: scale(1.1); }
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    background:
        linear-gradient(180deg, rgba(3, 3, 3, 0.55) 0%, rgba(3, 3, 3, 0.55) 40%, rgba(3, 3, 3, 0.82) 100%),
        radial-gradient(ellipse at center, rgba(3, 3, 3, 0.15) 0%, rgba(3, 3, 3, 0.65) 100%);
}

/* Drifting fragrance-mist particles */
.hero-particles {
    position: absolute;
    inset: 0;
    z-index: 4;
    overflow: hidden;
    pointer-events: none;
}

.hero-particle {
    position: absolute;
    bottom: -20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--accent-rgb), 0.9) 0%, rgba(var(--accent-rgb), 0) 70%);
    filter: blur(0.5px);
    animation-name: heroDrift;
    animation-timing-function: ease-in;
    animation-iteration-count: infinite;
}

@keyframes heroDrift {
    0%   { transform: translateY(0) scale(1); opacity: 0; }
    12%  { opacity: 0.55; }
    88%  { opacity: 0.3; }
    100% { transform: translateY(-38vh) scale(1.6); opacity: 0; }
}

.hero-content {
    position: relative;
    z-index: 5;
    height: 100%;
    max-width: 640px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@keyframes heroFadeUp {
    from { opacity: 0; transform: translateY(26px); }
    to   { opacity: 1; transform: translateY(0); }
}

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--accent-light);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 20px;
    opacity: 0;
    animation: heroFadeUp 0.9s ease 0.2s forwards;
}

.hero-eyebrow::before,
.hero-eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--accent);
    transition: background-color 0.5s ease;
}

.hero-title {
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
    font-size: clamp(40px, 6.2vw, 84px);
    line-height: 1.08;
    margin-bottom: 12px;
    opacity: 0;
    animation: heroFadeUp 1s ease 0.4s forwards;
}

.hero-subtitle {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(18px, 2.4vw, 25px);
    color: var(--accent-light);
    letter-spacing: 0.5px;
    margin-bottom: 22px;
    opacity: 0;
    animation: heroFadeUp 1s ease 0.6s forwards;
    transition: color 0.5s ease;
}

.hero-desc {
    font-size: 14.5px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.75);
    max-width: 480px;
    margin: 0 auto 36px;
    opacity: 0;
    animation: heroFadeUp 1s ease 0.8s forwards;
}

.hero-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 17px 36px;
    border: 1px solid var(--accent);
    color: #ffffff;
    text-decoration: none;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    overflow: hidden;
    opacity: 0;
    animation: heroFadeUp 1s ease 1s forwards;
    transition: color 0.4s ease, border-color 0.5s ease;
}

.hero-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: -1;
}

.hero-cta:hover::before {
    transform: scaleX(1);
}

.hero-cta:hover {
    color: #080808;
}

.hero-cta i {
    font-size: 11px;
    transition: transform 0.35s ease;
}

.hero-cta:hover i {
    transform: translateX(4px);
}

/* Side arrows */
.hero-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 1px solid #131313;
    background: #131313;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background-color 0.35s ease, border-color 0.5s ease, transform 0.3s ease, color 0.3s ease;
}

.hero-arrow:hover {
    background: #0f0f0f;
    border-color: #0f0f0f;
    color: #ffffff;
    transform: translateY(-50%) scale(1.08);
}

.hero-arrow-prev { left: 26px; }
.hero-arrow-next { right: 26px; }

/* Slide index counter */
.hero-index {
    position: absolute;
    right: 30px;
    bottom: 34px;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Cormorant Garamond", serif;
    font-size: 14px;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.55);
}

.hero-index-current {
    color: var(--accent-light);
    font-size: 18px;
    transition: color 0.5s ease;
}

.hero-index-divider {
    width: 18px;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
}

/* Dot indicators */
.hero-dots {
    position: absolute;
    bottom: 34px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.2);
    cursor: pointer;
    transition: background-color 0.35s ease, border-color 0.5s ease, width 0.35s ease, border-radius 0.35s ease;
}

.hero-dot.active {
    width: 26px;
    border-radius: 5px;
    background: var(--accent);
    border-color: var(--accent);
}

@media (max-width: 850px) {
    .hero {
        height: 78vh;
        min-height: 500px;
    }

    .hero-arrow {
        width: 38px;
        height: 38px;
    }

    .hero-arrow-prev { left: 14px; }
    .hero-arrow-next { right: 14px; }

    .hero-index { display: none; }
}

/* ==========================================================
   PRODUCT FAVORITES + NAVIGATION FAVORITES
   ========================================================== */
.product-card { position: relative; }
.product-favorite {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(18,18,18,.16);
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    color: #121212;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 6px 18px rgba(18,18,18,.12);
    transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}
.product-favorite:hover { transform: scale(1.08); border-color: #121212; }
.product-favorite i { pointer-events: none; font-size: 15px; }
.product-favorite.is-favorite { background: #121212; color: #ffffff; border-color: #121212; }
.favorite-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    transform: translate(-50%, 20px);
    opacity: 0;
    pointer-events: none;
    z-index: 100000;
    padding: 12px 18px;
    border-radius: 999px;
    background: #121212;
    color: #ffffff;
    font-size: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,.18);
    transition: opacity .25s ease, transform .25s ease;
}
.favorite-toast.show { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 500px) {
    .hero-content {
        padding: 0 18px;
    }

    .hero-desc {
        font-size: 13.5px;
    }

    .hero-cta {
        padding: 15px 28px;
        letter-spacing: 1.5px;
    }

    .hero-dots {
        bottom: 22px;
    }
}

@media (max-width: 1050px) {

    .nav-cta {
        min-width: 95px;
        padding: 0 12px;
    }
}

@media (max-width: 850px) {

    .nav-cta {
        display: none;
    }
}

/* ===== RESPONSIVE / TOUCH SAFETY ===== */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    touch-action: pan-y;
}

/* NAVBAR GOLD HOVER */
.nav-cta:hover {
    color: #a0a0a0 !important;
}

.nav-cta {
    background: #e9e9e9 !important;
    color: #121212 !important;
    border: 1px solid #e9e9e9 !important;
}

.nav-cta:hover {
    background: #e9e9e9 !important;
    color: #121212 !important;
    border-color: #e9e9e9 !important;
}

/* HERO OVERLAY + LEFT ALIGNED CONTENT */
.hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(3, 3, 3, 0.20) 0%,
            rgba(3, 3, 3, 0.08) 45%,
            rgba(3, 3, 3, 0.03) 100%
        ),
        linear-gradient(
            180deg,
            rgba(3, 3, 3, 0.08) 0%,
            rgba(3, 3, 3, 0.10) 100%
        ) !important;
}

.hero-content {
    max-width: 1400px !important;
    width: 92% !important;
    margin: 0 auto !important;
    padding: 0 0 0 7% !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

.hero-desc {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.hero-eyebrow {
    align-items: center;
}

@media (max-width: 850px) {
    .hero-content {
        width: 90% !important;
        padding: 0 6% !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    .hero-desc {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 500px) {
    .hero-content {
        width: 100% !important;
        padding: 0 18px !important;
    }
}

/* HERO — NO ZOOM + NATURAL LEFT-SIDE TEXT */
.hero-slide,
.hero-slide.active {
    transform: none !important;
    animation: none !important;
    background-size: cover;
    background-position: center center;
}

/* Very subtle left-side readability, keeping the photo natural */
.hero-overlay {
    background:
        linear-gradient(
            90deg,
            rgba(4, 4, 4, 0.28) 0%,
            rgba(4, 4, 4, 0.12) 34%,
            rgba(4, 4, 4, 0.02) 62%,
            rgba(4, 4, 4, 0) 100%
        ) !important;
}

/* Text sits naturally within the left composition of the image */
.hero-content {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 8% !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

.hero-eyebrow,
.hero-title,
.hero-subtitle,
.hero-desc,
.hero-cta {
    align-self: flex-start;
}

.hero-title {
    max-width: 560px;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
}

.hero-subtitle {
    max-width: 520px;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.16);
}

.hero-desc {
    max-width: 500px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.18);
}

@media (max-width: 850px) {
    .hero-slide,
    .hero-slide.active {
        background-position: center center;
    }

    .hero-content {
        width: 100% !important;
        padding: 0 7% !important;
    }

    .hero-title {
        max-width: 78%;
    }

    .hero-desc {
        max-width: 72% !important;
    }
}

@media (max-width: 500px) {
    .hero-slide,
    .hero-slide.active {
        background-position: center center;
    }

    .hero-content {
        padding: 0 20px !important;
    }

    .hero-title,
    .hero-subtitle,
    .hero-desc {
        max-width: 88% !important;
    }

    .hero-desc {
        font-size: 13px;
        line-height: 1.7;
    }
}

/* FINAL HERO TEXT POSITION + MAROON ACCENTS */
.hero-content {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 8% 0 5% !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
}

.hero-eyebrow {
    color: #121212 !important;
    text-shadow: 0 1px 8px rgba(255, 255, 255, 0.28);
}

.hero-eyebrow::before,
.hero-eyebrow::after {
    background: #121212 !important;
}

.hero-subtitle {
    color: #121212 !important;
    text-shadow: 0 1px 8px rgba(255, 255, 255, 0.25);
}

.hero-desc {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.hero-cta {
    background: #121212 !important;
    border-color: #121212 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 24px rgba(18, 18, 18, 0.18);
}

.hero-cta::before {
    background: #121212 !important;
}

.hero-cta:hover {
    color: #ffffff !important;
    border-color: #121212 !important;
    background: #121212 !important;
}

.hero-cta i {
    color: #ffffff !important;
}

@media (max-width: 850px) {
    .hero-content {
        padding: 0 7% 0 5% !important;
    }
}

@media (max-width: 500px) {
    .hero-content {
        padding: 0 18px !important;
    }
}

/* EXPLORE COLLECTION — LUXURY BUTTON ANIMATION */
.hero-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transform: translateZ(0);
    transition:
        transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.35s ease,
        border-color 0.35s ease,
        background-color 0.35s ease !important;
}

.hero-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: #121212 !important;
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-cta::after {
    content: "";
    position: absolute;
    top: -80%;
    left: -55%;
    width: 42%;
    height: 260%;
    z-index: -1;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.42),
        transparent
    );
    transform: translateX(-180%) rotate(18deg);
    transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}

.hero-cta:hover {
    transform: translateY(-3px);
    box-shadow:
        0 12px 28px rgba(18, 18, 18, 0.25),
        0 0 0 1px rgba(18, 18, 18, 0.15);
}

.hero-cta:hover::after {
    transform: translateX(520%) rotate(18deg);
}

.hero-cta span {
    position: relative;
    z-index: 2;
}

.hero-cta i {
    position: relative;
    z-index: 2;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.hero-cta:hover i {
    transform: translateX(6px);
}

.hero-cta:active {
    transform: translateY(-1px) scale(0.98);
}

/* Gentle breathing effect when the user is not hovering */
@keyframes luxuryButtonBreath {
    0%, 100% {
        box-shadow: 0 7px 20px rgba(18, 18, 18, 0.12);
    }
    50% {
        box-shadow: 0 10px 25px rgba(18, 18, 18, 0.20);
    }
}

.hero-cta {
    animation: luxuryButtonBreath 3.5s ease-in-out infinite;
}

.hero-cta:hover {
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    .hero-cta,
    .hero-cta::before,
    .hero-cta::after,
    .hero-cta i {
        animation: none !important;
        transition: none !important;
    }
}

/* HERO CTA VISIBILITY FIX */
.hero-cta {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 20 !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background: #121212 !important;
    border: 1px solid #121212 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: translateY(0);
}

.hero-cta::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background: #121212 !important;
    transform: none !important;
    opacity: 1 !important;
}

.hero-cta::after {
    z-index: 0 !important;
    pointer-events: none !important;
}

.hero-cta span,
.hero-cta i {
    position: relative !important;
    z-index: 2 !important;
    color: #ffffff !important;
}

.hero-cta:hover {
    color: #ffffff !important;
    background: #121212 !important;
    border-color: #121212 !important;
    transform: translateY(-3px) !important;
}

.hero-cta:hover span,
.hero-cta:hover i {
    color: #ffffff !important;
}

/* Keep the entrance animation, but never let it leave the button invisible. */
@keyframes heroCtaVisible {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

.hero-cta {
    animation:
        heroCtaVisible 0.9s ease 1s both,
        luxuryButtonBreath 3.5s ease-in-out 1.9s infinite !important;
}

.hero-cta:hover {
    animation: none !important;
}

@media (max-width: 850px) {
    .hero-cta {
        display: inline-flex !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* EXPLORE COLLECTION — BLINK FIX */
.hero-cta {
    animation: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease !important;
}

.hero-cta::before,
.hero-cta::after {
    animation: none !important;
}

.hero-cta:hover {
    animation: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(-3px) !important;
    background: #121212 !important;
    border-color: #121212 !important;
    box-shadow: 0 10px 24px rgba(18, 18, 18, 0.22) !important;
}

.hero-cta span,
.hero-cta i {
    opacity: 1 !important;
    visibility: visible !important;
    transition: transform 0.3s ease !important;
}

.hero-cta:hover i {
    transform: translateX(5px) !important;
}

/* FINAL RESPONSIVE HERO — FIT ALL MOBILE DEVICES */
.hero {
    height: min(100svh, 980px);
    min-height: 620px;
}

.hero-content {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1500px !important;
    padding-left: clamp(22px, 5vw, 80px) !important;
    padding-right: clamp(22px, 5vw, 80px) !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

.hero-title {
    font-size: clamp(42px, 5.8vw, 84px) !important;
    line-height: 1.04 !important;
    max-width: min(560px, 48vw) !important;
    overflow-wrap: break-word;
}

.hero-subtitle {
    font-size: clamp(19px, 2.2vw, 25px) !important;
    line-height: 1.25 !important;
    max-width: min(520px, 48vw) !important;
}

.hero-desc {
    font-size: clamp(13px, 1.25vw, 14.5px) !important;
    line-height: 1.7 !important;
    max-width: min(500px, 46vw) !important;
}

.hero-slide,
.hero-slide.active {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    transform: none !important;
    animation: none !important;
}

@media (max-width: 850px) {
    .hero {
        height: 100svh !important;
        min-height: 560px !important;
        max-height: none !important;
    }

    .hero-slide,
    .hero-slide.active {
        background-size: cover !important;
        background-position: center center !important;
    }

    .hero-content {
        width: 100% !important;
        max-width: none !important;
        padding-left: clamp(20px, 6vw, 48px) !important;
        padding-right: clamp(20px, 6vw, 48px) !important;
        justify-content: center !important;
    }

    .hero-eyebrow {
        max-width: 100% !important;
        font-size: clamp(9px, 2.4vw, 11.5px) !important;
        letter-spacing: clamp(2px, 0.8vw, 4px) !important;
        gap: clamp(7px, 2vw, 12px) !important;
        margin-bottom: clamp(14px, 3vw, 20px) !important;
    }

    .hero-eyebrow::before,
    .hero-eyebrow::after {
        width: clamp(16px, 5vw, 28px) !important;
    }

    .hero-title {
        width: 100% !important;
        max-width: min(620px, 86vw) !important;
        font-size: clamp(38px, 8.5vw, 68px) !important;
        line-height: 1.03 !important;
        margin-bottom: 10px !important;
    }

    .hero-subtitle {
        width: 100% !important;
        max-width: min(560px, 86vw) !important;
        font-size: clamp(18px, 4.5vw, 25px) !important;
        line-height: 1.2 !important;
        margin-bottom: 16px !important;
    }

    .hero-desc {
        width: 100% !important;
        max-width: min(520px, 82vw) !important;
        font-size: clamp(12.5px, 3.2vw, 14px) !important;
        line-height: 1.65 !important;
        margin-bottom: clamp(24px, 5vw, 36px) !important;
    }

    .hero-cta {
        padding: clamp(13px, 3.5vw, 17px) clamp(22px, 6vw, 36px) !important;
        font-size: clamp(10px, 2.7vw, 11.5px) !important;
        letter-spacing: clamp(1px, 0.45vw, 2px) !important;
        gap: 9px !important;
        white-space: nowrap !important;
    }

    .hero-arrow {
        width: clamp(34px, 10vw, 40px) !important;
        height: clamp(34px, 10vw, 40px) !important;
    }

    .hero-arrow-prev { left: max(10px, env(safe-area-inset-left, 0px)) !important; }
    .hero-arrow-next { right: max(10px, env(safe-area-inset-right, 0px)) !important; }

    .hero-dots {
        bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
        gap: 8px !important;
    }
}

/* Small phones */
@media (max-width: 500px) {
    .hero {
        height: 100svh !important;
        min-height: 520px !important;
    }

    .hero-content {
        padding-left: max(18px, env(safe-area-inset-left, 0px)) !important;
        padding-right: max(18px, env(safe-area-inset-right, 0px)) !important;
    }

    .hero-title {
        max-width: 92vw !important;
        font-size: clamp(34px, 10.5vw, 48px) !important;
        line-height: 1.04 !important;
    }

    .hero-subtitle {
        max-width: 92vw !important;
        font-size: clamp(17px, 5.2vw, 22px) !important;
    }

    .hero-desc {
        max-width: 90vw !important;
        font-size: clamp(12px, 3.5vw, 13.5px) !important;
        line-height: 1.6 !important;
    }

    .hero-cta {
        max-width: 90vw !important;
        padding: 13px 21px !important;
    }

    .hero-eyebrow {
        font-size: 9px !important;
        letter-spacing: 2px !important;
    }
}

/* Very small phones */
@media (max-width: 380px) {
    .hero {
        min-height: 500px !important;
    }

    .hero-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .hero-eyebrow {
        font-size: 8.5px !important;
        gap: 6px !important;
    }

    .hero-eyebrow::before,
    .hero-eyebrow::after {
        width: 14px !important;
    }

    .hero-title {
        font-size: clamp(31px, 10.8vw, 40px) !important;
    }

    .hero-subtitle {
        font-size: clamp(16px, 5.5vw, 20px) !important;
    }

    .hero-desc {
        font-size: 11.5px !important;
        margin-bottom: 20px !important;
    }

    .hero-cta {
        padding: 12px 18px !important;
        font-size: 9.5px !important;
    }
}

/* Mobile landscape: keep text and controls inside the shorter viewport */
@media (max-width: 850px) and (orientation: landscape) {
    .hero {
        height: 100svh !important;
        min-height: 420px !important;
    }

    .hero-content {
        justify-content: center !important;
        padding-left: 10vw !important;
        padding-right: 10vw !important;
    }

    .hero-eyebrow {
        margin-bottom: 8px !important;
    }

    .hero-title {
        max-width: 62vw !important;
        font-size: clamp(28px, 7vw, 46px) !important;
        margin-bottom: 6px !important;
    }

    .hero-subtitle {
        max-width: 62vw !important;
        font-size: clamp(15px, 3.5vw, 21px) !important;
        margin-bottom: 8px !important;
    }

    .hero-desc {
        max-width: 58vw !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
        margin-bottom: 14px !important;
    }

    .hero-cta {
        padding: 10px 18px !important;
    }

    .hero-dots {
        bottom: 10px !important;
    }
}

/* Respect notched-device safe areas */
@supports (padding: max(0px)) {
    .hero-content {
        padding-left: max(clamp(20px, 6vw, 48px), env(safe-area-inset-left)) !important;
        padding-right: max(clamp(20px, 6vw, 48px), env(safe-area-inset-right)) !important;
    }
}

/* FINAL MOBILE HERO LAYOUT FIX — portrait & landscape phones */
@media (max-width: 850px) {
    .hero {
        height: calc(100svh - 68px) !important;
        min-height: 560px !important;
        max-height: none !important;
        margin: 0 !important;
    }

    .hero-slide,
    .hero-slide.active {
        background-size: cover !important;
        background-position: 58% center !important;
    }

    /* Keep the text in a controlled column so it never collides with the viewport edges. */
    .hero-content {
        position: relative !important;
        box-sizing: border-box !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 680px !important;
        margin: 0 auto !important;
        padding: 0 max(20px, env(safe-area-inset-left)) max(92px, env(safe-area-inset-bottom) + 72px) max(20px, env(safe-area-inset-right)) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        text-align: left !important;
    }

    /* Extra readability over busy perfume photography. */
    .hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(6, 6, 6, 0.48) 0%,
            rgba(6, 6, 6, 0.25) 42%,
            rgba(6, 6, 6, 0.05) 78%,
            rgba(6, 6, 6, 0.02) 100%
        ) !important;
    }

    .hero-eyebrow,
    .hero-title,
    .hero-subtitle,
    .hero-desc,
    .hero-cta {
        align-self: flex-start !important;
        box-sizing: border-box !important;
    }

    .hero-eyebrow {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(8px, 2.4vw, 11px) !important;
        line-height: 1.2 !important;
        letter-spacing: clamp(1.8px, 0.8vw, 3.5px) !important;
        margin-bottom: clamp(10px, 2.5vw, 16px) !important;
    }

    .hero-eyebrow::before,
    .hero-eyebrow::after {
        flex: 0 0 clamp(14px, 5vw, 26px) !important;
        width: clamp(14px, 5vw, 26px) !important;
    }

    .hero-title {
        width: 100% !important;
        max-width: 560px !important;
        font-size: clamp(34px, 9.4vw, 54px) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.4px !important;
        margin: 0 0 clamp(8px, 2vw, 13px) !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        text-wrap: balance !important;
    }

    .hero-subtitle {
        width: 100% !important;
        max-width: 520px !important;
        font-size: clamp(17px, 4.7vw, 23px) !important;
        line-height: 1.12 !important;
        margin: 0 0 clamp(10px, 2.5vw, 16px) !important;
        white-space: normal !important;
    }

    .hero-desc {
        width: 100% !important;
        max-width: 500px !important;
        font-size: clamp(12px, 3.25vw, 14px) !important;
        line-height: 1.5 !important;
        margin: 0 0 clamp(18px, 4vw, 28px) !important;
    }

    .hero-cta {
        width: auto !important;
        max-width: 100% !important;
        min-height: 48px !important;
        padding: clamp(12px, 3vw, 15px) clamp(20px, 5vw, 30px) !important;
        font-size: clamp(9px, 2.5vw, 11px) !important;
        line-height: 1 !important;
        letter-spacing: clamp(1px, 0.45vw, 1.7px) !important;
        white-space: nowrap !important;
    }

    .hero-arrow {
        width: 38px !important;
        height: 38px !important;
        top: 52% !important;
    }

    .hero-arrow-prev { left: max(8px, env(safe-area-inset-left)) !important; }
    .hero-arrow-next { right: max(8px, env(safe-area-inset-right)) !important; }

    .hero-dots {
        bottom: max(14px, env(safe-area-inset-bottom)) !important;
    }
}

/* Small portrait phones */
@media (max-width: 500px) and (orientation: portrait) {
    .hero {
        height: calc(100svh - 68px) !important;
        min-height: 500px !important;
    }

    .hero-slide,
    .hero-slide.active {
        background-position: 57% center !important;
    }

    .hero-content {
        padding-left: max(18px, env(safe-area-inset-left)) !important;
        padding-right: max(18px, env(safe-area-inset-right)) !important;
        padding-bottom: max(82px, env(safe-area-inset-bottom) + 66px) !important;
    }

    .hero-title {
        font-size: clamp(31px, 9.6vw, 46px) !important;
        line-height: 1 !important;
        max-width: 94vw !important;
    }

    .hero-subtitle {
        font-size: clamp(16px, 5vw, 21px) !important;
        max-width: 94vw !important;
    }

    .hero-desc {
        font-size: clamp(11.5px, 3.35vw, 13.5px) !important;
        line-height: 1.48 !important;
        max-width: 92vw !important;
        margin-bottom: 20px !important;
    }

    .hero-cta {
        min-height: 46px !important;
        padding: 12px 20px !important;
        font-size: 9.5px !important;
    }
}

/* Very small portrait phones */
@media (max-width: 380px) and (orientation: portrait) {
    .hero {
        min-height: 470px !important;
    }

    .hero-content {
        padding-left: max(15px, env(safe-area-inset-left)) !important;
        padding-right: max(15px, env(safe-area-inset-right)) !important;
        padding-bottom: max(72px, env(safe-area-inset-bottom) + 58px) !important;
    }

    .hero-eyebrow {
        font-size: 8px !important;
        letter-spacing: 1.6px !important;
        margin-bottom: 9px !important;
    }

    .hero-title {
        font-size: clamp(29px, 9.5vw, 38px) !important;
        line-height: 0.98 !important;
    }

    .hero-subtitle {
        font-size: 16px !important;
        margin-bottom: 9px !important;
    }

    .hero-desc {
        font-size: 11px !important;
        line-height: 1.4 !important;
        margin-bottom: 16px !important;
    }

    .hero-cta {
        min-height: 43px !important;
        padding: 11px 16px !important;
        font-size: 8.8px !important;
    }
}

/* Mobile landscape */
@media (max-width: 850px) and (orientation: landscape) {
    .hero {
        height: calc(100svh - 68px) !important;
        min-height: 390px !important;
    }

    .hero-slide,
    .hero-slide.active {
        background-position: center center !important;
    }

    .hero-content {
        padding: 0 9vw max(46px, env(safe-area-inset-bottom) + 30px) !important;
        justify-content: center !important;
    }

    .hero-title {
        max-width: 62vw !important;
        font-size: clamp(27px, 6.5vw, 44px) !important;
    }

    .hero-subtitle {
        max-width: 60vw !important;
        font-size: clamp(14px, 3.4vw, 20px) !important;
    }

    .hero-desc {
        max-width: 56vw !important;
        font-size: 10.5px !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
    }

    .hero-cta {
        min-height: 40px !important;
        padding: 9px 17px !important;
    }
}

/* ==========================================================
   MOBILE HERO — TRUE SPLIT LAYOUT
   Text stays on the left; perfume photography stays on the right.
   This prevents text from sitting over bottles on narrow screens.
   ========================================================== */
@media (max-width: 850px) and (orientation: portrait) {
    .hero {
        height: calc(100svh - 68px) !important;
        min-height: 540px !important;
        max-height: 760px !important;
        background: #efefef !important;
    }

    .hero-slides {
        background: #efefef !important;
    }

    .hero-slide,
    .hero-slide.active {
        inset: 0 !important;
        background-size: auto 100% !important;
        background-position: 100% center !important;
        background-repeat: no-repeat !important;
        background-color: #efefef !important;
        transition: opacity 0.8s ease !important;
    }

    /* Soft, clean left panel. The photo remains visible on the right. */
    .hero-overlay {
        background: linear-gradient(
            90deg,
            #efefef 0%,
            #efefef 43%,
            rgba(239, 239, 239, 0.92) 48%,
            rgba(239, 239, 239, 0.28) 57%,
            rgba(239, 239, 239, 0) 68%,
            rgba(239, 239, 239, 0) 100%
        ) !important;
    }

    .hero-content {
        position: relative !important;
        z-index: 5 !important;
        width: 48% !important;
        max-width: 48% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 0 0 max(16px, env(safe-area-inset-left)) !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .hero-eyebrow,
    .hero-title,
    .hero-subtitle,
    .hero-desc,
    .hero-cta {
        align-self: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .hero-eyebrow {
        display: flex !important;
        font-size: clamp(6.5px, 1.8vw, 9px) !important;
        letter-spacing: clamp(1px, 0.45vw, 2.2px) !important;
        line-height: 1.2 !important;
        gap: 5px !important;
        margin: 0 0 clamp(9px, 2vw, 14px) !important;
        color: #1b1b1b !important;
        white-space: nowrap !important;
    }

    .hero-eyebrow::before,
    .hero-eyebrow::after {
        flex: 0 0 clamp(8px, 2.5vw, 18px) !important;
        width: clamp(8px, 2.5vw, 18px) !important;
        background: #1b1b1b !important;
    }

    .hero-title {
        font-size: clamp(29px, 8.7vw, 46px) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.5px !important;
        color: #121212 !important;
        margin: 0 0 clamp(7px, 1.8vw, 12px) !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        text-wrap: balance !important;
    }

    .hero-subtitle {
        font-size: clamp(15px, 4.5vw, 21px) !important;
        line-height: 1.05 !important;
        color: #1b1b1b !important;
        margin: 0 0 clamp(10px, 2.3vw, 15px) !important;
    }

    .hero-desc {
        font-size: clamp(10px, 2.75vw, 12.5px) !important;
        line-height: 1.45 !important;
        color: #222222 !important;
        margin: 0 0 clamp(15px, 3vw, 22px) !important;
    }

    .hero-cta {
        display: inline-flex !important;
        width: fit-content !important;
        min-height: 42px !important;
        padding: 11px 14px !important;
        font-size: clamp(8px, 2.1vw, 10px) !important;
        letter-spacing: clamp(0.8px, 0.35vw, 1.4px) !important;
        gap: 7px !important;
        background: #121212 !important;
        color: #ffffff !important;
        border-color: #121212 !important;
        white-space: nowrap !important;
    }

    .hero-arrow {
        width: 36px !important;
        height: 36px !important;
        top: 50% !important;
        background: rgba(18, 18, 18, 0.62) !important;
        border-color: rgba(255,255,255,.25) !important;
    }

    .hero-arrow-prev {
        left: max(7px, env(safe-area-inset-left)) !important;
    }

    .hero-arrow-next {
        right: max(7px, env(safe-area-inset-right)) !important;
    }

    .hero-dots {
        left: 24% !important;
        transform: translateX(-50%) !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }
}

/* Extra narrow phones: give the text panel a little more width. */
@media (max-width: 380px) and (orientation: portrait) {
    .hero-content {
        width: 51% !important;
        max-width: 51% !important;
        padding-left: max(13px, env(safe-area-inset-left)) !important;
    }

    .hero-slide,
    .hero-slide.active {
        background-position: 100% center !important;
    }

    .hero-title {
        font-size: clamp(27px, 8.8vw, 37px) !important;
    }

    .hero-subtitle {
        font-size: clamp(14px, 4.3vw, 18px) !important;
    }

    .hero-desc {
        font-size: 9.8px !important;
        line-height: 1.4 !important;
    }

    .hero-cta {
        min-height: 40px !important;
        padding: 10px 11px !important;
        font-size: 7.8px !important;
    }
}

/* Mobile landscape: retain the same left-text/right-image relationship. */
@media (max-width: 850px) and (orientation: landscape) {
    .hero {
        height: calc(100svh - 68px) !important;
        min-height: 360px !important;
        max-height: 620px !important;
        background: #efefef !important;
    }

    .hero-slide,
    .hero-slide.active {
        background-size: auto 100% !important;
        background-position: 100% center !important;
    }

    .hero-overlay {
        background: linear-gradient(
            90deg,
            #efefef 0%,
            #efefef 38%,
            rgba(239,239,239,.82) 45%,
            rgba(239,239,239,0) 64%,
            rgba(239,239,239,0) 100%
        ) !important;
    }

    .hero-content {
        width: 43% !important;
        max-width: 43% !important;
        padding-left: max(16px, env(safe-area-inset-left)) !important;
        justify-content: center !important;
    }

    .hero-title {
        font-size: clamp(25px, 5.5vw, 40px) !important;
    }

    .hero-subtitle {
        font-size: clamp(13px, 3vw, 19px) !important;
    }

    .hero-desc {
        font-size: 10px !important;
        line-height: 1.35 !important;
    }

    .hero-cta {
        min-height: 38px !important;
        padding: 9px 13px !important;
        font-size: 8px !important;
    }
}

/* FINAL MOBILE HERO IMAGE FIX — keep the perfume artwork visible on the right */
@media (max-width: 850px) and (orientation: portrait) {
    .hero-slide,
    .hero-slide.active {
        background-size: auto 100% !important;
        background-position: 57% center !important;
        background-repeat: no-repeat !important;
        background-color: #efefef !important;
    }

    .hero-overlay {
        background: linear-gradient(
            90deg,
            #efefef 0%,
            #efefef 38%,
            rgba(239,239,239,.96) 46%,
            rgba(239,239,239,.55) 56%,
            rgba(239,239,239,.10) 68%,
            rgba(239,239,239,0) 78%,
            rgba(239,239,239,0) 100%
        ) !important;
    }
}

@media (max-width: 380px) and (orientation: portrait) {
    .hero-slide,
    .hero-slide.active {
        background-position: 57% center !important;
    }
}

/* ==========================================================
   MOBILE HERO BANNER SIZE — 800 x 1200 (2:3)
   The mobile portrait hero keeps a fixed 800:1200 aspect ratio
   so the banner scales proportionally on every phone width.
   ========================================================== */
@media (max-width: 850px) and (orientation: portrait) {
    .hero {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 800 / 1200 !important;
        overflow: hidden !important;
    }

    .hero-slides,
    .hero-slide,
    .hero-slide.active,
    .hero-overlay,
    .hero-content {
        height: 100% !important;
        min-height: 0 !important;
    }

    .hero-slide,
    .hero-slide.active {
        background-size: cover !important;
        background-position: center center !important;
    }
}

/* Keep the same 800 x 1200 proportion on extra-small portrait phones. */
@media (max-width: 380px) and (orientation: portrait) {
    .hero {
        aspect-ratio: 800 / 1200 !important;
    }
}

/* ==========================================================
   MOBILE SLIDES 2 & 3 — IMAGE POSITION FIX
   Keep the main product fully inside the 800 x 1200 portrait
   banner instead of cropping it out on narrow phones.
   ========================================================== */
@media (max-width: 850px) and (orientation: portrait) {
    .hero-slides .hero-slide:nth-child(2),
    .hero-slides .hero-slide:nth-child(2).active {
        background-size: auto 100% !important;
        background-position: 65% center !important;
        background-repeat: no-repeat !important;
        background-color: #efefef !important;
    }

    .hero-slides .hero-slide:nth-child(3),
    .hero-slides .hero-slide:nth-child(3).active {
        background-size: auto 100% !important;
        background-position: 76% center !important;
        background-repeat: no-repeat !important;
        background-color: #efefef !important;
    }
}

@media (max-width: 380px) and (orientation: portrait) {
    .hero-slides .hero-slide:nth-child(2),
    .hero-slides .hero-slide:nth-child(2).active {
        background-position: 65% center !important;
    }

    .hero-slides .hero-slide:nth-child(3),
    .hero-slides .hero-slide:nth-child(3).active {
        background-position: 76% center !important;
    }
}

/* ==========================================================
   SHOP BY COLLECTION — homepage cards
   ========================================================== */
.collections-section {
    padding: 100px 0 110px;
    background: #050505 url("collection-bg-dark.jpg") center center / cover no-repeat;
    position: relative;
}

.section-container {
    width: 92%;
    max-width: 1300px;
    margin: 0 auto;
    text-align: center;
}

.section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: black;
    margin-bottom: 16px;
}

.section-eyebrow::before,
.section-eyebrow::after {
    content: "";
    width: 26px;
    height: 1px;
    background: var(--accent);
}

.section-title {
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
    font-size: clamp(32px, 4.2vw, 48px);
    color: #000;
    margin-bottom: 14px;
}

.section-subtitle {
    font-size: 14px;
    color: black;
    max-width: 520px;
    margin: 0 auto 54px;
    line-height: 1.7;
}

.collections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 30px;
}

.collection-card {
    position: relative;
    background: #ffffff;
    border: 1px solid rgba(var(--accent-rgb), 0.15);
    border-radius: 8px;
    padding: 34px 18px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.collection-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 42px rgba(18, 18, 18, 0.12);
    border-color: #000;
}

.collection-card-img {
    width: 108px;
    height: 108px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid lightgray;
    margin-bottom: 18px;
    flex-shrink: 0;
}

.collection-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.collection-card:hover .collection-card-img img {
    transform: scale(1.08);
}

.collection-name {
    font-family: "Cormorant Garamond", serif;
    font-size: 16.5px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #000;
    margin-bottom: 8px;
}

.collection-tagline {
    font-size: 10.5px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: black;
    margin-bottom: 20px;
}

.collection-explore {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    color: black;
    text-decoration: none;
    padding-bottom: 3px;
    border-bottom: 1px solid transparent;
    transition: color 0.3s ease, border-color 0.3s ease;
}

.collection-explore i {
    font-size: 10px;
    transition: transform 0.3s ease;
}

.collection-explore:hover {
    color: #000;
    border-color: #000;
}

.collection-explore:hover i {
    transform: translateX(4px);
}

@media (max-width: 500px) {
    .collections-section {
        padding: 70px 0 80px;
    }

    .collections-grid {
        gap: 20px;
    }

    .collection-card {
        padding: 26px 14px 22px;
    }
}

/* ==========================================================
   COLLECTION PAGE — banner + product grid
   ========================================================== */
.collection-hero {
    position: relative;
    height: 44vh;
    min-height: 300px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
}

.collection-hero-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.collection-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 6, 6, 0.5) 0%, rgba(6, 6, 6, 0.82) 100%);
}

.collection-hero-content {
    position: relative;
    z-index: 2;
    padding: 0 20px;
}

.collection-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--accent-light);
    margin-bottom: 14px;
}

.collection-hero-eyebrow::before,
.collection-hero-eyebrow::after {
    content: "";
    width: 26px;
    height: 1px;
    background: var(--accent);
}

.collection-hero-content h1 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(34px, 5.5vw, 56px);
    font-weight: 600;
    margin-bottom: 10px;
}

.collection-hero-content p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    max-width: 440px;
    margin: 0 auto;
    line-height: 1.7;
}

.collection-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    font-size: 11px;
    letter-spacing: 0.8px;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color 0.3s ease;
}

.collection-back:hover {
    color: var(--accent-light);
}

.collection-products {
    padding: 80px 0 100px;
    background: #f8f8f8;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 32px;
    margin-top: 10px;
}

.product-card {
    background: #ffffff;
    border: 1px solid rgba(var(--accent-rgb), 0.14);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 42px rgba(18, 18, 18, 0.12);
}

.product-card-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #efefef;
}

.product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.product-card:hover .product-card-image img {
    transform: scale(1.06);
}

.product-card-body {
    padding: 22px 20px 26px;
    display: flex;
    flex-direction: column;
    flex: 1;
    text-align: left;
}

.product-name {
    font-family: "Cormorant Garamond", serif;
    font-size: 19px;
    font-weight: 600;
    color: #131313;
    margin-bottom: 6px;
}

.product-name a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.product-name a:hover {
    color: #131313;
}

.product-notes {
    font-size: 11.5px;
    color: #000000;
    line-height: 1.65;
    margin-bottom: 14px;
}

.product-price {
    font-size: 15px;
    font-weight: 600;
    color: #131313;
    margin-bottom: 18px;
}

.product-actions {
    display: flex;
    gap: 10px;
    margin-top: auto;
}

.btn-quick-view,
.btn-add-cart {
    flex: 1;
    padding: 11px 8px;
    font-size: 10px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.btn-quick-view {
    background: #f8f8f8;
    border: 1px solid #000000;
    color: #131313;
}

.btn-quick-view:hover {
    background: #131313;
    border-color: #000000;
    color: #ffffff;
}

.btn-add-cart {
    background: #131313;
    border: 1px solid #131313;
    color: #ffffff;
}

.btn-add-cart:hover {
    background: #f8f8f8;
    border-color: #131313;
    color: #131313;
}

/* ==========================================================
   PRODUCT DETAILS MODAL (shared across collection pages)
   ========================================================== */
.product-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(6, 6, 6, 0.6);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 2000;
}

.product-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.product-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%);
    width: 90%;
    max-width: 640px;
    max-height: 86vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
    z-index: 2001;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.3);
}

.product-modal.active {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%);
}

.product-modal-image {
    width: 100%;
    height: 100%;
    min-height: 220px;
    background: #efefef;
}

.product-modal-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-modal-body {
    position: relative;
    padding: 34px 26px 30px;
    display: flex;
    flex-direction: column;
    text-align: left;
}

.product-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    background: none;
    border: none;
    font-size: 20px;
    line-height: 1;
    color: #7f7f7f;
    cursor: pointer;
    pointer-events: auto;
    z-index: 10;
    transition: color 0.3s ease;
}

.product-modal-close:hover {
    color: var(--accent);
}

.product-modal-name {
    font-family: "Cormorant Garamond", serif;
    font-size: 26px;
    font-weight: 600;
    color: #131313;
    margin-bottom: 10px;
}

.product-modal-notes {
    font-size: 12.5px;
    color: #000000;
    line-height: 1.85;
    margin-bottom: 18px;
}

.product-modal-price {
    font-size: 18px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 22px;
}

.product-modal-add {
    padding: 13px 20px;
    background: #131313;
    border: 1px solid #131313;
    color: #f8f8f8;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    align-self: flex-start;
}

.product-modal-add:hover {
    background: #f8f8f8;
    border-color: #131313;
    color: #131313;
}

.product-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.product-modal-full-link {
    font-size: 11px;
    letter-spacing: 0.5px;
    font-weight: 600;
    color: #000000;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.3s ease, border-color 0.3s ease;
}

.product-modal-full-link:hover {
    color: #131313;
    border-color: #131313;
}

@media (max-width: 600px) {
    .product-modal {
        grid-template-columns: 1fr;
    }

    .product-modal-image {
        min-height: 180px;
    }
}

/* Cart confirmation toast */
.cart-toast {
    position: fixed;
    bottom: 26px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #131313;
    color: #ffffff;
    padding: 13px 24px;
    border-radius: 6px;
    font-size: 12.5px;
    letter-spacing: 0.3px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
    z-index: 2500;
    display: flex;
    align-items: center;
    gap: 10px;
}

.cart-toast.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.cart-toast i {
    color: var(--accent-light);
}

/* Simple shared footer for collection pages */
.site-footer {
    padding: 34px 0;
    text-align: center;
    font-size: 11px;
    letter-spacing: 1px;
    color: #7f7f7f;
    border-top: 1px solid rgba(var(--accent-rgb), 0.15);
    background: #f8f8f8;
}

.site-footer a {
    color: var(--accent);
    text-decoration: none;
}

.site-footer a:hover {
    color: var(--accent-dark);
}

/* Dynamic product catalog */
.products-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: var(--accent-dark);
    font-size: 14px;
}

/* Dynamic product loading error */
.products-load-error {
    width: 100%;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 30px;
    text-align: center;
    color: #2e2e2e;
    grid-column: 1 / -1;
}
.products-load-error strong { font-size: 18px; }
.products-load-error span { font-size: 13px; }
.products-load-error small { max-width: 650px; line-height: 1.6; opacity: .8; }

/* ==========================================================
   PRODUCT DETAILS PAGE (product.html)
   ========================================================== */

.breadcrumb-bar {
    background: #f8f8f8;
    border-bottom: 1px solid rgba(var(--accent-rgb), 0.12);
    padding: 16px 0;
}

.breadcrumb {
    width: 92%;
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 11.5px;
    letter-spacing: 0.3px;
    color: #7f7f7f;
}

.breadcrumb a {
    color: #7f7f7f;
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb a:hover {
    color: var(--accent);
}

.breadcrumb .breadcrumb-current {
    color: #131313;
    font-weight: 600;
}

.product-detail-section {
    padding: 60px 0 90px;
    background: #ffffff;
}

.product-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: flex-start;
    text-align: left;
}

.product-detail-gallery {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    background: #efefef;
    position: sticky;
    top: 110px;
}

.product-detail-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-detail-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 14px;
}

.product-detail-name {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(30px, 3.6vw, 42px);
    font-weight: 600;
    color: #131313;
    margin-bottom: 12px;
    line-height: 1.15;
}

.product-detail-price {
    font-size: 22px;
    font-weight: 600;
    color: var(--accent);
    margin-bottom: 22px;
}

.product-detail-summary {
    font-size: 13.5px;
    color: #6f6f6f;
    line-height: 1.9;
    margin-bottom: 28px;
    max-width: 480px;
}

.product-detail-notes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 32px;
}

.product-detail-note-card {
    border: 1px solid rgba(var(--accent-rgb), 0.16);
    border-radius: 6px;
    padding: 16px 12px;
    text-align: center;
}

.product-detail-note-card span {
    display: block;
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--accent);
    font-weight: 600;
    margin-bottom: 8px;
}

.product-detail-note-card p {
    font-size: 12px;
    color: #212121;
    line-height: 1.5;
}

.product-detail-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 26px;
}

.qty-selector {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(var(--accent-rgb), 0.3);
    border-radius: 4px;
    overflow: hidden;
}

.qty-btn {
    width: 38px;
    height: 44px;
    background: transparent;
    border: none;
    font-size: 15px;
    color: #131313;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.qty-btn:hover {
    background: var(--accent);
    color: #ffffff;
}

.qty-value {
    width: 40px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #131313;
}

.btn-detail-add-cart {
    padding: 14px 30px;
    background: var(--accent);
    border: 1px solid var(--accent);
    color: #ffffff;
    font-size: 11.5px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.btn-detail-add-cart:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
}

.product-detail-meta {
    font-size: 11.5px;
    color: #7f7f7f;
    border-top: 1px solid rgba(var(--accent-rgb), 0.14);
    padding-top: 18px;
}

.product-detail-meta strong {
    color: #212121;
}

.product-not-found {
    padding: 120px 20px;
    text-align: center;
}

.product-not-found h1 {
    font-family: "Cormorant Garamond", serif;
    font-size: 32px;
    color: #131313;
    margin-bottom: 14px;
}

.product-not-found p {
    font-size: 13.5px;
    color: #6f6f6f;
    margin-bottom: 26px;
}

.product-not-found a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 26px;
    background: var(--accent);
    color: #ffffff;
    text-decoration: none;
    font-size: 11.5px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.product-not-found a:hover {
    background: var(--accent-dark);
}

.related-products-section {
    padding: 70px 0 100px;
    background: #f8f8f8;
}

@media (max-width: 850px) {
    .product-detail {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .product-detail-gallery {
        position: static;
    }
}

@media (max-width: 500px) {
    .product-detail-notes-grid {
        grid-template-columns: 1fr;
    }
}

/* HOMEPAGE COLLECTION + FEATURED PRODUCTS BACKGROUND */
.home-featured-products {
    background: #f8f8f8;
    position: relative;
}

.collections-section .section-container,
.home-featured-products .section-container {
    position: relative;
    z-index: 1;
}

/* ==========================================================
   HERO → SHOP BY COLLECTION SEAMLESS FADE
   The collection background gently continues underneath the
   bottom of the hero so there is no visible hard dividing line.
   ========================================================== */
.hero {
    margin-bottom: -90px !important;
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000000 0%,
        #000000 calc(100% - 105px),
        transparent 100%
    ) !important;
    mask-image: linear-gradient(
        to bottom,
        #000000 0%,
        #000000 calc(100% - 105px),
        transparent 100%
    ) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
    z-index: 2;
}

.collections-section {
    margin-top: 0 !important;
    padding-top: 190px !important;
    position: relative;
    z-index: 1;
}

@media (max-width: 500px) {
    .hero {
        margin-bottom: -70px !important;
        -webkit-mask-image: linear-gradient(
            to bottom,
            #000000 0%,
            #000000 calc(100% - 80px),
            transparent 100%
        ) !important;
        mask-image: linear-gradient(
            to bottom,
            #000000 0%,
            #000000 calc(100% - 80px),
            transparent 100%
        ) !important;
    }

    .collections-section {
        padding-top: 140px !important;
    }
}

/* Women & Men collection pages: remove only the hero banner image; keep all text and links. */
.no-collection-banner .collection-hero-img {
    display: none;
}

/* Collection category banners removed — text retained */
.collection-hero {
    background: #f8f8f8;
    color: #121212;
}
.collection-hero-content h1 { color: #121212; }
.collection-hero-content p { color: #000000; }
.collection-hero-back, .collection-back { color: #121212; }
.collection-back:hover { color: #121212; }
.collection-hero-eyebrow { color: #000000; }

/* ==========================================================
   FINAL PRODUCT DETAIL COLOR CUSTOMIZATION
   ========================================================== */

/* Breadcrumb links: maroon and never switch to gold on hover */
.breadcrumb a {
    color: #121212 !important;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
    color: #121212 !important;
}

/* Collection label above product title */
.product-detail-eyebrow {
    color: #000000 !important;
}

/* Product title */
.product-detail-name {
    color: #121212 !important;
}

/* Product price */
.product-detail-price {
    color: #000000 !important;
}

/* Top / Heart / Base cards */
.product-detail-note-card {
    border-color: #121212 !important;
}

.product-detail-note-card span {
    color: #121212 !important;
}

.product-detail-note-card p {
    color: #000000 !important;
}

/* Quantity selector outline */
.qty-selector {
    border-color: #121212 !important;
}

/* Minus / plus: maroon normally; cream text on maroon hover */
.qty-btn {
    color: #121212 !important;
}

.qty-btn:hover,
.qty-btn:focus {
    background: #121212 !important;
    color: #e9e9e9 !important;
}

/* Add to Cart: maroon normally with cream text */
.btn-detail-add-cart {
    background: #121212 !important;
    border-color: #121212 !important;
    color: #e9e9e9 !important;
}

/* Add to Cart hover: cream background with maroon text */
.btn-detail-add-cart:hover,
.btn-detail-add-cart:focus {
    background: #e9e9e9 !important;
    border-color: #121212 !important;
    color: #121212 !important;
}

/* ==========================================================
   WHY CHOOSE US
   ========================================================== */
.why-choose-us {
    padding: 105px 0 115px;
    background: #f8f8f8;
    text-align: center;
}

.why-choose-container {
    max-width: 1180px;
    margin: 0 auto;
}

.why-choose-eyebrow {
    display: block;
    margin-bottom: 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #000000 !important;
}

.why-choose-title {
    margin: 0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(42px, 5vw, 64px);
    line-height: 1.05;
    font-weight: 600;
    color: #121212 !important;
}

.why-choose-subtitle {
    margin: 22px auto 0;
    max-width: 760px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.9;
    font-weight: 400;
    color: #000000 !important;
}

.why-features {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    margin-top: 55px;
}

.why-feature {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.why-feature-icon {
    position: relative;
    width: 82px;
    height: 82px;
    border: 1px solid #121212;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #121212;
    font-size: 25px;
    background: transparent;
    transition: background-color .35s ease, color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
    animation: whyCircleFloat 3.8s ease-in-out infinite;
}

.why-feature-icon::after {
    content: "";
    position: absolute;
    inset: -6px;
    border: 1px solid rgba(18, 18, 18, 0.28);
    border-radius: 50%;
    opacity: 0;
    transform: scale(.86);
    transition: opacity .35s ease, transform .45s ease;
    pointer-events: none;
}

.why-feature-icon i {
    transition: transform .4s ease;
}

.why-feature:hover .why-feature-icon {
    background: #121212;
    border-color: #121212;
    color: #e9e9e9;
    transform: translateY(-6px) scale(1.06);
    box-shadow: 0 10px 24px rgba(18, 18, 18, 0.18);
    animation-play-state: paused;
}

.why-feature:hover .why-feature-icon::after {
    opacity: 1;
    transform: scale(1);
    animation: whyCirclePulse 1.25s ease-out infinite;
}

.why-feature:hover .why-feature-icon i {
    transform: scale(1.12) rotate(-7deg);
}

@keyframes whyCircleFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

@keyframes whyCirclePulse {
    0% { opacity: .65; transform: scale(.92); }
    100% { opacity: 0; transform: scale(1.25); }
}

.why-feature h3 {
    margin: 18px 0 0;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #121212 !important;
}

.why-feature-subtitle {
    display: block;
    margin-top: 9px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.8px;
    color: #121212 !important;
}

.why-feature-line {
    width: 42px;
    height: 1px;
    margin: 14px auto 14px;
    background: #121212;
}

.why-feature p {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    line-height: 1.8;
    font-weight: 400;
    color: #000000 !important;
}

@media (prefers-reduced-motion: reduce) {
    .why-feature-icon,
    .why-feature-icon::after,
    .why-feature-icon i {
        animation: none !important;
        transition: none !important;
    }
}

@media (max-width: 800px) {
    .why-features {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 20px;
    }
}

@media (max-width: 500px) {
    .why-choose-us {
        padding: 75px 20px 85px;
    }

    .why-choose-title {
        font-size: 42px;
    }

    .why-desktop-break {
        display: none;
    }

    .why-features {
        grid-template-columns: 1fr 1fr;
        gap: 32px 12px;
        margin-top: 42px;
    }
}

/* ==========================================================
   ABOUT OUR BRAND
   ========================================================== */
.about-brand {
    padding: 105px 0 115px;
    background: #ffffff;
}

.about-brand-container {
    max-width: 1180px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 72px;
    align-items: center;
}

.about-brand-image-wrap {
    overflow: hidden;
    border-radius: 6px;
    aspect-ratio: 1.12 / 1;
    background: #e9e9e9;
}

.about-brand-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.about-brand-content {
    text-align: left;
}

.about-brand-eyebrow {
    display: block;
    margin-bottom: 18px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 3px;
    color: #000000 !important;
}

.about-brand-title {
    margin: 0;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(42px, 4.2vw, 60px);
    line-height: 1.05;
    font-weight: 600;
    color: #121212 !important;
}

.about-brand-title em {
    font-style: italic;
    color: #121212 !important;
}

.about-brand-text {
    margin: 24px 0 30px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.9;
    font-weight: 400;
    color: #000000 !important;
}

.about-brand-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 24px;
    background: #121212 !important;
    border: 1px solid #121212 !important;
    color: #e9e9e9 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-decoration: none;
    transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
}

.about-brand-button:hover,
.about-brand-button:focus {
    background: #e9e9e9 !important;
    border-color: #121212 !important;
    color: #121212 !important;
    transform: translateY(-2px);
}

.about-brand-button i {
    transition: transform .3s ease;
}

.about-brand-button:hover i,
.about-brand-button:focus i {
    transform: translateX(4px);
}

@media (max-width: 900px) {
    .about-brand-container {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .about-brand-content {
        text-align: center;
    }
}

@media (max-width: 500px) {
    .about-brand {
        padding: 75px 20px 85px;
    }

    .about-brand-container {
        gap: 34px;
    }

    .about-brand-title {
        font-size: 42px;
    }

    .about-desktop-break {
        display: none;
    }

    .about-brand-text {
        font-size: 13px;
    }
}

/* Center the final three Shop by Collection cards on desktop */
@media (min-width: 1200px) {
    .collections-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .collections-grid .collection-card:nth-child(6) {
        grid-column: 2;
    }

    .collections-grid .collection-card:nth-child(7) {
        grid-column: 3;
    }

    .collections-grid .collection-card:nth-child(8) {
        grid-column: 4;
    }
}

/* ==========================================================
   STAY CONNECTED / NEWSLETTER
   ========================================================== */
.stay-connected {
    position: relative;
    overflow: hidden;
    padding: 105px 0 110px;
    background: #e9e9e9 url('stay-connected-bg.png') center center / cover no-repeat;
}

.stay-connected-overlay {
    position: absolute;
    inset: 0;
    background: rgba(233, 233, 233, .42);
    pointer-events: none;
}

.stay-connected-container {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
    gap: 105px;
    align-items: center;
}

.stay-newsletter { text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; transform: translateX(155px); }

.stay-eyebrow {
    display: block;
    margin-bottom: 17px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 3px;
    color: #000000 !important;
}

.stay-title {
    margin: 0;
    width: 100%;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(42px, 4.2vw, 58px);
    line-height: 1.05;
    font-weight: 600;
    color: #121212 !important;
}

.stay-subtitle {
    width: 100%;
    max-width: 560px;
    margin: 20px auto 30px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    line-height: 1.85;
    color: #000000 !important;
}

.stay-form {
    width: 100%;
    display: flex;
    align-items: stretch;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}

.stay-email-wrap {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 18px;
    background: rgba(255,255,255,.92);
    border: 1px solid #121212;
    border-right: 0;
}

.stay-email-wrap i { color: #121212; font-size: 14px; }
.stay-email-wrap input {
    width: 100%;
    height: 52px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #000000;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
}
.stay-email-wrap input::placeholder { color: #000000; opacity: .72; }

.stay-subscribe {
    height: 52px;
    padding: 0 24px;
    border: 1px solid #121212;
    background: #121212;
    color: #e9e9e9;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.2px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: .3s ease;
}
.stay-subscribe:hover, .stay-subscribe:focus {
    background: #e9e9e9;
    color: #121212;
}
.stay-subscribe i { transition: transform .3s ease; }
.stay-subscribe:hover i { transform: translateX(4px); }

.stay-benefits {
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: 100%;
    max-width: 330px;
    justify-self: start;
    transform: translateX(10px);
}

.stay-benefit {
    display: flex;
    align-items: center;
    gap: 20px;
}

.stay-benefit-icon {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border: 1px solid #121212;
    border-radius: 50%;
    color: #121212;
    background: rgba(255,255,255,.55);
}
.stay-benefit h3 {
    margin: 0 0 4px;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 23px;
    font-weight: 600;
    color: #121212 !important;
}
.stay-benefit p {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    color: #000000 !important;
}

@media (max-width: 900px) {
    .stay-connected { padding: 80px 24px; }
    .stay-connected-container { grid-template-columns: 1fr; gap: 55px; }
    .stay-newsletter { text-align: center; transform: none; }
    .stay-subtitle, .stay-form { margin-left: auto; margin-right: auto; }
    .stay-benefits { max-width: 500px; margin: 0 auto; width: 100%; transform: none; }
}

@media (max-width: 560px) {
    .stay-connected { padding: 70px 20px; }
    .stay-title { font-size: 42px; }
    .stay-form { flex-direction: column; gap: 10px; }
    .stay-email-wrap { border-right: 1px solid #121212; }
    .stay-subscribe { width: 100%; justify-content: center; }
}

/* ==========================================================
   VAIL FOOTER
   ========================================================== */
.site-footer {
    background: #060606;
    color: #e9e9e9;
    border-top: 1px solid rgba(233,233,233,.32);
    padding: 42px 0 0;
}
.footer-inner { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.footer-top {
    display: grid;
    grid-template-columns: 1.25fr .9fr 1.05fr 1.05fr;
    gap: 62px;
    padding-bottom: 30px;
}
.footer-brand { text-align: center; }
.footer-logo { display: inline-flex; flex-direction: column; align-items: center; gap: 1px; color: #e9e9e9; text-decoration: none; }
.footer-logo-symbol { font-family: Georgia,serif; font-size: 25px; line-height: 1; color: #a9a9a9; }
.footer-logo-name { font-family: 'Cormorant Garamond',Georgia,serif; font-size: 22px; letter-spacing: 2px; color: #a9a9a9; }
.footer-brand > p { margin: 7px 0 14px; font: 300 11px/1.6 'Poppins',sans-serif; color: rgba(233,233,233,.8); }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; }
.footer-column h3 { margin: 0 0 11px; font: 500 13px 'Cormorant Garamond',Georgia,serif; color: #e9e9e9; }
.footer-column a, .footer-column p { margin: 0 0 7px; color: rgba(233,233,233,.78); text-decoration: none; font: 300 9.5px/1.45 'Poppins',sans-serif; transition: color .25s ease; }
.footer-column a:hover { color: #a9a9a9; }
.footer-contact p { display: flex; align-items: center; gap: 8px; }
.footer-contact p i { width: 12px; color: #a9a9a9; font-size: 9px; text-align: center; }
.footer-socials { display: flex; justify-content: center; gap: 8px; }
.footer-socials a { width: 27px; height: 27px; border: 1px solid rgba(169,169,169,.75); border-radius: 50%; display: grid; place-items: center; color: #e9e9e9; text-decoration: none; font-size: 10px; transition: .25s ease; }
.footer-socials a:hover { background: #121212; border-color: #121212; color: #e9e9e9; transform: translateY(-2px); }
.footer-bottom { border-top: 1px solid rgba(169,169,169,.45); min-height: 43px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: rgba(233,233,233,.6); font: 300 8.5px 'Poppins',sans-serif; }
@media (max-width: 850px) {
  .footer-top { grid-template-columns: 1fr 1fr; gap: 38px 30px; }
}
@media (max-width: 560px) {
  .site-footer { padding-top: 35px; }
  .footer-top { grid-template-columns: 1fr; gap: 30px; }
  .footer-brand, .footer-column { align-items: center; text-align: center; }
  .footer-contact p { justify-content: center; }
    .footer-bottom { flex-direction: column; justify-content: center; padding: 14px 0; text-align: center; }
}

/* ==========================================================
   VAIL FOOTER — LIGHT LUXURY THEME OVERRIDES
   ========================================================== */
.site-footer {
    background: #f8f8f8;
    color: #000000;
    border-top: 1px solid rgba(18,18,18,.18);
}

.footer-logo,
.footer-logo-symbol,
.footer-logo-name {
    color: #121212 !important;
}

.footer-brand > p {
    color: #000000 !important;
}

.footer-column h3 {
    color: #121212 !important;
}

.footer-column a,
.footer-column p {
    color: #000000 !important;
}

.footer-column a:hover {
    color: #121212 !important;
}

/* Brand social icons: maroon outline, maroon icon */
.footer-socials a {
    border-color: #121212 !important;
    color: #121212 !important;
    background: transparent;
}

.footer-socials a:hover {
    background: #121212 !important;
    border-color: #121212 !important;
    color: #e9e9e9 !important;
}

/* Contact information icons: maroon circles with cream icons */
.footer-contact p i {
    width: 25px;
    height: 25px;
    min-width: 25px;
    border: 1px solid #121212;
    border-radius: 50%;
    background: #121212;
    color: #e9e9e9 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
}

.footer-bottom {
    border-top-color: rgba(18,18,18,.25) !important;
    color: #000000 !important;
}

.favorites-page { min-height: 75vh; padding: 110px 0 80px; background: #f7f7f7; }
.favorites-grid { margin-top: 35px; }
.favorites-empty { grid-column: 1 / -1; text-align: center; padding: 70px 20px; }
.favorites-section-label { grid-column: 1 / -1; margin-top: 18px; padding-bottom: 8px; border-bottom: 1px solid rgba(18,18,18,.12); color: #121212; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.favorites-collection-label { margin-top: 35px; }
.favorite-collection-item { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; background: #ffffff; border: 1px solid rgba(18,18,18,.09); color: #121212; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.favorite-collection-item:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(18,18,18,.08); }
.favorite-collection-item span { display: inline-flex; align-items: center; gap: 10px; }
.favorites-empty i { font-size: 46px; color: #121212; }
.favorites-empty h2 { font-family: "Cormorant Garamond", serif; color: #121212; font-size: 36px; margin: 18px 0 8px; }
.favorites-empty p { margin-bottom: 24px; }
.product-detail-title-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.product-detail-favorite { width:44px; height:44px; flex:0 0 44px; border:1px solid rgba(18,18,18,.2); border-radius:50%; background:#ffffff; color:#121212; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.product-detail-favorite.is-favorite { background:#121212; color:#ffffff; border-color:#121212; }

/* Favorites page controls */
.favorites-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:14px 0;border-bottom:1px solid rgba(18,18,18,.12);}
.favorites-summary {color:#121212;font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.favorites-summary strong {font-size:15px;}
.favorites-clear-btn {border:1px solid rgba(18,18,18,.2);background:transparent;color:#121212;padding:10px 16px;border-radius:2px;font:500 11px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s ease;}
.favorites-clear-btn:hover {background:#121212;color:#ffffff;}
.favorite-stock-status {font-size:11px;color:#2c2c2c;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:2px 0 12px;}
.favorite-stock-status.out-of-stock {color:#292929;}
.favorite-old-price {text-decoration:line-through;opacity:.5;margin-right:6px;}
.favorite-sale-price {font-weight:600;color:#121212;}
.btn-view-details {display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #121212;background:#ffffff;color:#121212;min-height:34px;padding:0 13px;font:600 10px Poppins,sans-serif;letter-spacing:.07em;text-transform:uppercase;}
.btn-view-details:hover {background:#121212;color:#ffffff;}
.favorites-continue-wrap {display:flex;justify-content:center;margin:42px 0 10px;}
.favorites-continue-btn {display:inline-flex;align-items:center;gap:9px;background:#121212;color:#ffffff;text-decoration:none;padding:13px 22px;font:600 11px Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:.2s ease;}
.favorites-continue-btn:hover {background:#0e0e0e;transform:translateY(-1px);}
@media(max-width:700px) {.favorites-toolbar {align-items:flex-start;flex-direction:column;}.favorites-clear-btn {width:100%;}.btn-view-details {width:100%;margin-top:6px;}.favorites-continue-btn {width:100%;justify-content:center;}}

/* ==========================================================
   SHOPPING CART PAGE
   ========================================================== */
.cart-page {min-height:75vh;padding:110px 0 80px;background:#f7f7f7;}
.cart-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:14px 0;border-bottom:1px solid rgba(18,18,18,.12);}
.cart-summary {color:#121212;font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.cart-summary strong {font-size:15px;}
.cart-clear-btn {border:1px solid rgba(18,18,18,.2);background:transparent;color:#121212;padding:10px 16px;border-radius:2px;font:500 11px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s ease;}
.cart-clear-btn:hover {background:#121212;color:#ffffff;}
.cart-layout {display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;margin-top:32px;align-items:start;}
.cart-items {display:flex;flex-direction:column;gap:14px;}
.cart-item {display:grid;grid-template-columns:115px minmax(0,1fr) auto;gap:20px;align-items:center;background:#ffffff;border:1px solid rgba(18,18,18,.09);padding:14px;}
.cart-item-image {display:block;aspect-ratio:1/1;overflow:hidden;background:#ebebeb;}
.cart-item-image img {width:100%;height:100%;object-fit:cover;display:block;}
.cart-item-info h3 {font-family:"Cormorant Garamond",serif;color:#121212;font-size:24px;font-weight:600;margin:0 0 6px;}
.cart-item-notes {font-size:12px;line-height:1.65;margin:0 0 9px;color:#191919;}
.cart-item-price {font-weight:600;color:#121212;font-size:15px;}
.cart-item-old-price {text-decoration:line-through;opacity:.5;margin-right:6px;font-weight:400;}
.cart-item-qty {display:flex;align-items:center;border:1px solid rgba(18,18,18,.18);width:max-content;margin-top:12px;}
.cart-qty-btn {width:31px;height:31px;border:0;background:#ffffff;color:#121212;cursor:pointer;font-size:16px;}
.cart-qty-value {min-width:34px;text-align:center;font-size:12px;font-weight:600;color:#121212;}
.cart-item-right {text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.cart-item-total {font-size:16px;font-weight:600;color:#121212;white-space:nowrap;}
.cart-remove-btn {border:0;background:transparent;color:#777777;font:500 10px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:4px 0;}
.cart-remove-btn:hover {color:#121212;}
.cart-summary-card {background:#ffffff;border:1px solid rgba(18,18,18,.09);padding:24px;position:sticky;top:105px;}
.cart-summary-card h2 {font-family:"Cormorant Garamond",serif;color:#121212;font-size:30px;margin:0 0 18px;}
.cart-summary-row {display:flex;justify-content:space-between;gap:20px;padding:10px 0;font-size:13px;border-bottom:1px solid rgba(18,18,18,.08);}
.cart-summary-row.total {border-bottom:0;padding-top:18px;font-size:17px;font-weight:600;color:#121212;}
.cart-checkout-btn {display:flex;align-items:center;justify-content:center;width:100%;margin-top:18px;background:#121212;color:#ffffff;text-decoration:none;border:1px solid #121212;padding:14px 18px;font:600 11px Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}
.cart-checkout-btn:hover {background:#0e0e0e;}
.cart-continue-btn {display:flex;align-items:center;justify-content:center;width:100%;margin-top:10px;background:transparent;color:#121212;text-decoration:none;border:1px solid rgba(18,18,18,.2);padding:13px 18px;font:600 11px Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;}
.cart-continue-btn:hover {background:#f7f7f7;}
.cart-empty {grid-column:1/-1;text-align:center;padding:75px 20px;}
.cart-empty i {font-size:46px;color:#121212;}
.cart-empty h2 {font-family:"Cormorant Garamond",serif;color:#121212;font-size:36px;margin:18px 0 8px;}
.cart-empty p {margin-bottom:24px;}
@media(max-width:900px) {.cart-layout {grid-template-columns:1fr;}.cart-summary-card {position:static;}.cart-item {grid-template-columns:90px minmax(0,1fr);}.cart-item-right {grid-column:2;flex-direction:row;justify-content:space-between;align-items:center;text-align:left;}.cart-item-total {order:2;}.cart-remove-btn {order:1;}}
@media(max-width:600px) {.cart-toolbar {align-items:flex-start;flex-direction:column;}.cart-clear-btn {width:100%;}.cart-item {grid-template-columns:72px minmax(0,1fr);gap:12px;padding:10px;}.cart-item-info h3 {font-size:20px;}.cart-item-notes {font-size:11px;}.cart-item-right {grid-column:1/-1;}.cart-summary-card {padding:20px;}}

/* CHECKOUT PAGE */
.checkout-page {min-height:75vh;padding:105px 0 80px;background:#f7f7f7;}
.checkout-layout {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:28px;margin-top:55px;align-items:start;}
.checkout-form-card,.checkout-order-card {background:#ffffff;border:1px solid rgba(18,18,18,.10);padding:28px;}
.checkout-order-card {position:sticky;top:105px;}
.checkout-card-heading {display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e1e1e1;padding-bottom:15px;margin-bottom:22px;}
.checkout-card-heading h2,.checkout-order-card h2 {font-family:"Cormorant Garamond",serif;color:#121212;font-size:29px;font-weight:600;margin:0;}
.checkout-card-heading span {font-size:10px;letter-spacing:.08em;color:#797979;text-transform:uppercase;}
.checkout-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.checkout-grid label {display:flex;flex-direction:column;gap:7px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#121212;font-weight:600;}
.checkout-grid label.full {grid-column:1/-1;}
.checkout-grid input {width:100%;border:1px solid #cecece;background:#fbfbfb;padding:13px 14px;font:400 13px Poppins,sans-serif;color:#131313;outline:none;transition:border-color .2s,box-shadow .2s;}
.checkout-grid input:focus {border-color:#656565;box-shadow:0 0 0 3px rgba(18,18,18,.06);}
.checkout-payment-heading {margin-top:30px;margin-bottom:14px;}
.payment-option {display:flex;gap:12px;align-items:flex-start;border:1px solid #dadada;padding:15px;margin-top:10px;cursor:pointer;background:#fdfdfd;}
.payment-option input {accent-color:#121212;margin-top:4px;}
.payment-option span {display:flex;flex-direction:column;gap:3px;}
.payment-option strong {font-size:12px;color:#121212;}
.payment-option small {font-size:10px;color:#737373;}
.checkout-order-card h2 {margin-bottom:20px;}
.checkout-order-item {display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e7e7e7;}
.checkout-order-item img {width:58px;height:68px;object-fit:cover;background:#efefef;}
.checkout-order-item div {display:flex;flex-direction:column;gap:4px;min-width:0;}
.checkout-order-item strong {font-family:"Cormorant Garamond",serif;font-size:18px;color:#121212;}
.checkout-order-item small {font-size:10px;color:#737373;}
.checkout-order-item b {font-size:12px;color:#121212;white-space:nowrap;}
.checkout-total-row {display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e7e7e7;font-size:12px;}
.checkout-total-row.grand {font-size:16px;color:#121212;border-bottom:0;padding-top:18px;}
.checkout-place-btn {width:100%;border:1px solid #121212;background:#121212;color:#ffffff;padding:15px 18px;margin-top:12px;font:600 11px Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}
.checkout-place-btn:hover {background:#0e0e0e;}
.checkout-order-card .cart-continue-btn {display:flex;margin-top:10px;}
.checkout-empty {text-align:center;padding:80px 20px;background:#ffffff;border:1px solid rgba(18,18,18,.1);margin-top:45px;}
.checkout-empty i {font-size:35px;color:#121212;margin-bottom:15px;}
.checkout-empty h2 {font-family:"Cormorant Garamond",serif;color:#121212;font-size:32px;margin-bottom:8px;}
.checkout-empty p {font-size:13px;margin-bottom:22px;}
.checkout-success {position:fixed;inset:0;z-index:3000;background:rgba(10,10,10,.48);display:flex;align-items:center;justify-content:center;padding:20px;}
.checkout-success[hidden] {display:none;}
.checkout-success-card {width:min(520px,100%);background:#f7f7f7;text-align:center;padding:48px 30px;border:1px solid rgba(170,170,170,.5);box-shadow:0 25px 70px rgba(8,8,8,.3);}
.success-icon {width:58px;height:58px;border-radius:50%;background:#121212;color:#ffffff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:20px;}
.checkout-success-card h2 {font-family:"Cormorant Garamond",serif;color:#121212;font-size:38px;margin:12px 0 8px;}
.checkout-success-card p {font-size:13px;line-height:1.7;}
.checkout-success-card .order-number {margin:15px 0 25px;color:#121212;}
@media(max-width:900px) {.checkout-layout {grid-template-columns:1fr;}.checkout-order-card {position:static;}.checkout-grid {grid-template-columns:1fr;}.checkout-grid label.full {grid-column:auto;}}
@media(max-width:600px) {.checkout-page {padding:75px 0 55px;}.checkout-form-card,.checkout-order-card {padding:20px;}.checkout-card-heading {align-items:flex-start;gap:10px;flex-direction:column;}.checkout-success-card h2 {font-size:31px;}}

.search-page-products .btn-quick-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/* ACCOUNT PAGE */
.account-page {min-height:75vh;padding:110px 0 90px;background:#f7f7f7;}
.account-auth {max-width:620px;margin:0 auto;text-align:center;}
.account-auth .section-subtitle {max-width:520px;margin-left:auto;margin-right:auto;}
.auth-card {margin-top:38px;background:#ffffff;border:1px solid rgba(18,18,18,.10);padding:28px;text-align:left;box-shadow:0 15px 45px rgba(15,15,15,.05);}
.auth-tabs {display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e1e1e1;margin-bottom:24px;}
.auth-tab {border:0;background:transparent;padding:13px 10px;color:#797979;font:500 12px Poppins,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;}
.auth-tab.active {color:#121212;border-bottom-color:#121212;}
.auth-form {display:flex;flex-direction:column;gap:15px;}
.auth-form label,.account-form-grid label {display:flex;flex-direction:column;gap:7px;color:#121212;font:600 11px Poppins,sans-serif;letter-spacing:.04em;text-transform:uppercase;}
.auth-form input,.account-form-grid input {width:100%;box-sizing:border-box;border:1px solid #cecece;background:#fbfbfb;padding:13px 14px;outline:none;font:400 13px Poppins,sans-serif;color:#131313;transition:.2s;}
.auth-form input:focus,.account-form-grid input:focus {border-color:#656565;box-shadow:0 0 0 3px rgba(18,18,18,.06);}
.account-primary-btn,.account-outline-btn,.text-btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;font:600 11px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.account-primary-btn {border:1px solid #121212;background:#121212;color:#ffffff;padding:13px 20px;}
.account-primary-btn:hover {background:#0e0e0e;}
.account-outline-btn {border:1px solid rgba(18,18,18,.22);background:transparent;color:#121212;padding:11px 16px;}
.account-outline-btn:hover {background:#ffffff;}
.text-btn {border:0;background:none;color:#121212;padding:4px 0;}
.auth-note {font-size:10px;color:#797979;line-height:1.6;margin:0;}
.form-message {font-size:11px;line-height:1.5;margin:0;min-height:16px;color:#121212;}
.form-message.error {color:#272727}.form-message.success {color:#2c2c2c}
.account-heading-row {display:flex;justify-content:space-between;gap:25px;align-items:flex-end;margin-bottom:40px;}
.account-heading-row .section-title {margin-bottom:5px;}
.account-heading-row .section-subtitle {margin:0;}
.account-layout {display:grid;grid-template-columns:235px minmax(0,1fr);gap:26px;align-items:start;}
.account-sidebar {background:#ffffff;border:1px solid rgba(18,18,18,.09);padding:10px;position:sticky;top:105px;}
.account-side-link {width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#292929;padding:13px 14px;text-align:left;text-decoration:none;font:500 11px Poppins,sans-serif;cursor:pointer;}
.account-side-link i {width:17px;text-align:center;color:#757575;}.account-side-link:hover,.account-side-link.active {background:#f7f7f7;color:#121212;}.account-side-link.active i {color:#121212;}
.account-content {min-width:0;}.account-view[hidden] {display:none;}
.account-stat-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px;}
.account-stat {background:#ffffff;border:1px solid rgba(18,18,18,.09);padding:21px;display:flex;flex-direction:column;gap:5px;}.account-stat i {font-size:17px;color:#121212;margin-bottom:5px;}.account-stat strong {font:600 25px "Cormorant Garamond",serif;color:#121212;}.account-stat span {font-size:10px;color:#797979;text-transform:uppercase;letter-spacing:.08em;}
.account-panel {background:#ffffff;border:1px solid rgba(18,18,18,.09);padding:25px;}.account-panel-head {display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #e1e1e1;padding-bottom:14px;margin-bottom:17px;}.account-panel-head h2 {font:600 28px "Cormorant Garamond",serif;color:#121212;margin:0;}.account-muted {font-size:10px;color:#797979;}
.account-order-list {display:flex;flex-direction:column;gap:12px;}.account-order-card {border:1px solid #e1e1e1;padding:16px;background:#fdfdfd;}.account-order-top {display:flex;justify-content:space-between;gap:15px;align-items:flex-start;}.account-order-top div {display:flex;flex-direction:column;gap:3px;}.account-order-top strong {font:600 19px "Cormorant Garamond",serif;color:#121212;}.account-order-top small {font-size:10px;color:#797979;}.order-status {font-size:9px;text-transform:uppercase;letter-spacing:.08em;padding:6px 8px;border:1px solid #cecece;color:#121212;}.order-status.processing {background:#f4f4f4}.order-status.shipped {background:#f4f4f4}.order-status.delivered {background:#f4f4f4}.order-status.cancelled {background:#f4f4f4;}
.account-order-products {margin:13px 0;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;}.account-order-products>div {display:flex;justify-content:space-between;gap:15px;padding:9px 0;font-size:11px;color:#252525;}.account-order-products strong {color:#121212;}.account-order-bottom {display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#797979;}.account-order-bottom strong {color:#121212;}
.account-empty {text-align:center;padding:42px 15px;color:#797979;}.account-empty.compact {padding:28px 15px;}.account-empty i {font-size:28px;color:#121212;margin-bottom:9px;}.account-empty h3 {font:600 25px "Cormorant Garamond",serif;color:#121212;margin:4px 0;}.account-empty p {font-size:11px;margin:0 0 18px;}.account-empty .account-primary-btn {display:inline-flex;}
.account-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px;}.account-form-grid .full {grid-column:1/-1;}.account-form-grid .account-primary-btn {width:max-content;}
.account-nav-active {color:#ffffff!important;}
@media(max-width:900px) {.account-page {padding:85px 0 60px}.account-heading-row {align-items:flex-start;flex-direction:column}.account-layout {grid-template-columns:1fr}.account-sidebar {position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:3px}.account-stat-grid {grid-template-columns:1fr 1fr}.account-side-link {padding:12px 10px}.account-form-grid {grid-template-columns:1fr}.account-form-grid .full {grid-column:auto}}
@media(max-width:600px) {.account-auth {padding:0 4px}.auth-card,.account-panel {padding:18px}.auth-tabs {margin-bottom:18px}.account-stat-grid {grid-template-columns:1fr}.account-sidebar {grid-template-columns:1fr 1fr}.account-panel-head {align-items:flex-start;flex-direction:column}.account-order-bottom {flex-direction:column;gap:5px}.account-heading-row .section-title {font-size:40px}}

/* ACCOUNT PAGE NAVBAR — use the same header system as the rest of the VAIL site */
.account-page + * { box-sizing: border-box; }
@media (max-width: 900px) {
    .account-page { padding-top: 85px; }
}

/* ACCOUNT ENTRY + SEPARATE AUTH PAGES */
.account-welcome {max-width:720px;}
.account-choice-card {margin:38px auto 0;background:#ffffff;border:1px solid rgba(18,18,18,.10);padding:38px 42px;text-align:center;box-shadow:0 15px 45px rgba(15,15,15,.05);}
.account-choice-icon {width:58px;height:58px;margin:0 auto 16px;border:1px solid #cecece;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#121212;font-size:20px;}
.account-choice-card h2 {font:600 32px "Cormorant Garamond",serif;color:#121212;margin:0 0 7px;}
.account-choice-card>p {font-size:12px;line-height:1.8;color:#797979;max-width:480px;margin:0 auto;}
.account-choice-actions {display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:27px 0 16px;}
.account-choice-actions .account-primary-btn,.account-choice-actions .account-outline-btn {min-width:145px;}
.account-contact-btn,.auth-contact-link {display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#121212;text-decoration:none;font:500 10px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;}
.account-contact-btn:hover,.auth-contact-link:hover {text-decoration:underline;}
.auth-page-links {display:flex;align-items:center;justify-content:center;gap:7px;margin-top:22px;padding-top:19px;border-top:1px solid #e1e1e1;font-size:11px;color:#797979;}
.auth-page-links a {color:#121212;font-weight:600;text-decoration:none;}
.auth-page-links a:hover {text-decoration:underline;}
.auth-contact-link {width:100%;margin-top:4px;}
@media(max-width:600px) {.account-choice-card {padding:30px 20px}.account-choice-card h2 {font-size:28px}.account-choice-actions {flex-direction:column}.account-choice-actions .account-primary-btn,.account-choice-actions .account-outline-btn {width:100%;box-sizing:border-box}}

/* Account authentication navigation */
.auth-back-links {display:flex;align-items:center;justify-content:center;gap:22px;margin-top:14px;padding-top:14px;border-top:1px solid #e8e8e8;font-size:10px;letter-spacing:.06em;text-transform:uppercase;}
.auth-back-links a {color:#303030;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px;}
.auth-back-links a:first-child {color:#121212;font-weight:600;}
.auth-back-links a:hover {color:#121212;text-decoration:underline;}
@media(max-width:600px) {.auth-back-links {flex-direction:column;gap:10px;}}

/* ===== Black & white theme: photos are shown in monochrome too ===== */
img, .single-collection-hero, .collection-card-img, .product-card img { filter: grayscale(1); }

/* Shop by Collection: dark background image -> light heading text (cards stay white) */
.collections-section > .section-container > .section-eyebrow,
.collections-section > .section-container > .section-title,
.collections-section > .section-container > .section-subtitle { color: #fff; }
.collections-section > .section-container > .section-eyebrow::before,
.collections-section > .section-container > .section-eyebrow::after { background: rgba(255,255,255,.7); }

/* ==========================================================
   SHOP BY COLLECTION — editorial photo cards (no circles)
   ========================================================== */
.collections-section { padding-top: 110px !important; }
.collections-section .section-container { text-align: center; }
.collections-section .section-eyebrow {
    display: block; margin: 0; color: #fff;
    font-family: "Cormorant Garamond", serif; font-weight: 400;
    font-size: clamp(20px, 2.4vw, 28px); letter-spacing: .42em; padding-left: .42em;
}
.collections-section .section-eyebrow::before,
.collections-section .section-eyebrow::after { display: none; }
.collections-section .section-title {
    color: #fff; font-weight: 500; text-transform: uppercase;
    font-size: clamp(40px, 6.4vw, 84px); letter-spacing: .14em; padding-left: .14em;
    line-height: 1.1; margin: 6px 0 0;
}
.collections-section .section-title::after {
    content: ""; display: block; width: 70px; height: 1px;
    background: rgba(255,255,255,.75); margin: 30px auto 0;
}
.collections-section .section-subtitle {
    color: rgba(255,255,255,.88); font-family: "Cormorant Garamond", serif; font-weight: 500;
    font-size: clamp(16px, 1.6vw, 20px); letter-spacing: .07em; line-height: 1.7;
    max-width: 640px; margin: 28px auto 64px;
}

.collections-section .collections-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
}
@media (min-width: 1200px) {
    .collections-section .collections-grid .collection-card:nth-child(n) { grid-column: auto; }
}
@media (max-width: 1000px) { .collections-section .collections-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .collections-section .collections-grid { grid-template-columns: 1fr; max-width: 400px; margin: 0 auto; } }

.collections-section .collection-card {
    position: relative; overflow: hidden;
    aspect-ratio: 335 / 535;
    padding: 0 30px 32px;
    justify-content: flex-end; align-items: flex-start; text-align: left;
    background: #050505;
    border: 1px solid rgba(255,255,255,.22); border-radius: 0;
    box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
}
.collections-section .collection-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255,255,255,.6);
    box-shadow: 0 24px 50px rgba(0,0,0,.6);
}
.collections-section .collection-card-img {
    position: absolute; top: 0; left: 0; width: 100%; height: 68%;
    margin: 0; border: 0; border-radius: 0; overflow: hidden;
}
.collections-section .collection-card-img::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(to bottom, rgba(5,5,5,0) 55%, #050505 100%);
}
.collections-section .collection-card-img img { width: 100%; height: 100%; object-fit: cover; }
.collections-section .collection-name,
.collections-section .collection-tagline,
.collections-section .collection-explore { position: relative; z-index: 2; }
.collections-section .collection-name {
    font-family: "Cormorant Garamond", serif; font-weight: 500;
    font-size: clamp(21px, 1.9vw, 26px); letter-spacing: .1em; line-height: 1.35;
    color: #fff; margin: 0 0 14px;
}
.collections-section .collection-tagline {
    font-family: "Cormorant Garamond", serif; font-weight: 500;
    font-size: 16px; letter-spacing: .06em; text-transform: none;
    color: rgba(255,255,255,.8); margin: 0 0 26px;
}
.collections-section .collection-explore {
    font-family: "Poppins", sans-serif; font-weight: 400;
    font-size: 11px; letter-spacing: .2em; color: #fff;
}
.collections-section .collection-explore:hover { color: #fff; border-color: #fff; }
@media (max-width: 500px) { .collections-section { padding-top: 80px !important; } }
@media (max-width: 560px) { .collections-section .section-subtitle br { display: none; } }
.footer-logo-img { height: 64px; width: auto; display: block; object-fit: contain; margin-bottom: 6px; }
@media (max-width: 560px) { .footer-logo-img { height: 54px; } }

/* ==========================================================
   FEATURED PRODUCTS — "Our Best Sellers" carousel (home)
   ========================================================== */
.home-featured-products { background: #f8f8f6; padding: 100px 0 110px; }
.home-featured-products .section-container { text-align: center; }
.home-featured-products .section-eyebrow {
    color: #111; font-size: 13px; font-weight: 500; letter-spacing: .5em; padding-left: .5em; margin-bottom: 14px;
}
.home-featured-products .section-eyebrow::before,
.home-featured-products .section-eyebrow::after { width: 52px; background: #111; }
.home-featured-products .section-title {
    font-family: "Cormorant Garamond", serif; font-weight: 500; color: #0b0b0b;
    font-size: clamp(42px, 6vw, 76px); line-height: 1.05; letter-spacing: -.5px; margin: 0 0 22px;
}
.home-featured-products .section-subtitle {
    color: #6e6e6e; font-size: clamp(15px, 1.5vw, 18px); letter-spacing: .04em; line-height: 1.75;
    max-width: 560px; margin: 0 auto 38px;
}

.fp-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0 0 46px; }
.fp-tab {
    font-family: "Poppins", sans-serif; font-size: 14px; letter-spacing: .06em; color: #222;
    background: transparent; border: 0; border-radius: 999px; padding: 12px 30px; cursor: pointer;
    transition: background .25s ease, color .25s ease;
}
.fp-tab:hover { background: rgba(0,0,0,.06); }
.fp-tab.active { background: #151515; color: #fff; }

.fp-carousel { position: relative; padding: 0 30px; }
.home-featured-products .fp-track {
    display: grid; grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: calc((100% - 3 * 28px) / 4);
    gap: 28px; margin: 0; overflow-x: auto; scroll-snap-type: x mandatory;
    scrollbar-width: none; text-align: left; padding-bottom: 4px;
}
.home-featured-products .fp-track::-webkit-scrollbar { display: none; }
.fp-arrow {
    position: absolute; top: 36%; z-index: 3; width: 42px; height: 42px; border-radius: 50%;
    border: 1px solid #bdbdbd; background: #f8f8f6; color: #111; font-size: 13px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease;
}
.fp-arrow:hover:not(:disabled) { background: #111; color: #fff; border-color: #111; }
.fp-arrow:disabled { opacity: .35; cursor: default; }
.fp-prev { left: -8px; }
.fp-next { right: -8px; }

.fp-card { scroll-snap-align: start; display: flex; flex-direction: column; min-width: 0; }
.fp-card-image {
    position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden;
    border-radius: 4px; background: #111; margin-bottom: 0;
}
.fp-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.fp-card:hover .fp-card-image img { transform: scale(1.05); }
.fp-badge {
    position: absolute; top: 14px; left: 14px; z-index: 2; padding: 6px 14px; border-radius: 999px;
    background: #0b0b0b; color: #fff; border: 1px solid rgba(255,255,255,.25);
    font-family: "Poppins", sans-serif; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}
.fp-name { font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 26px; line-height: 1.2; margin: 0 0 10px; }
.fp-name a { color: #0b0b0b; text-decoration: none; }
.fp-label { font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: #8a8a8a; margin: 0 0 10px; }
.fp-notes { font-size: 13.5px; color: #8a8a8a; margin: 0 0 20px; min-height: 22px; }
.fp-dot { font-style: normal; margin: 0 9px; font-size: 11px; }
.fp-price { font-family: "Poppins", sans-serif; font-size: 17px; font-weight: 500; color: #111; margin: 0 0 18px; margin-top: auto; }
.fp-price-was { margin-left: 10px; font-size: 14px; font-weight: 400; color: #8a8a8a; }
.fp-add {
    display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 48px;
    background: #151515; color: #fff; border: 0; border-radius: 3px; cursor: pointer;
    font-family: "Poppins", sans-serif; font-size: 14px; letter-spacing: .03em;
    transition: background .25s ease, transform .25s ease;
}
.fp-add:hover { background: #000; transform: translateY(-2px); }

.fp-view-all {
    display: inline-flex; align-items: center; gap: 16px; margin-top: 62px; padding: 19px 46px;
    border: 1px solid #111; border-radius: 3px; color: #111; text-decoration: none;
    font-family: "Poppins", sans-serif; font-size: 12px; font-weight: 500; letter-spacing: .22em;
    transition: background .25s ease, color .25s ease;
}
.fp-view-all:hover { background: #111; color: #fff; }

@media (max-width: 1000px) {
    .home-featured-products .fp-track { grid-auto-columns: calc((100% - 28px) / 2); }
}
@media (max-width: 600px) {
    .home-featured-products { padding: 70px 0 80px; }
    .home-featured-products .section-subtitle br { display: none; }
    .fp-carousel { padding: 0; }
    .home-featured-products .fp-track { grid-auto-columns: 78%; gap: 18px; }
    .fp-arrow { display: none; }
    .fp-tab { padding: 10px 18px; }
    .fp-name { font-size: 24px; }
    .home-featured-products .section-eyebrow { font-size: 11px; letter-spacing: .32em; padding-left: .32em; gap: 10px; }
    .home-featured-products .section-eyebrow::before,
    .home-featured-products .section-eyebrow::after { width: 22px; }
}

/* ---- Featured category cards: heart on picture, name + short line below ---- */
.fp-media { position: relative; margin-bottom: 22px; }
.fp-media .fp-card-image { aspect-ratio: 4 / 5; }
.fp-media .product-favorite { top: 14px; right: 14px; }
.fp-name { margin-bottom: 8px; }
.fp-notes { font-size: 14px; line-height: 1.6; color: #6e6e6e; min-height: 46px; margin: 0 0 20px; }
.fp-card .fp-add { margin-top: auto; }

/* ---- View Details label + detail window ---- */
.fp-card-image { cursor: pointer; }
.fp-view-label {
    position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 2;
    padding: 10px 24px; border-radius: 999px; white-space: nowrap;
    background: rgba(255,255,255,.94); color: #111; font-family: "Poppins", sans-serif;
    font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
    transition: background .25s ease, color .25s ease;
}
.fp-card-image:hover .fp-view-label { background: #111; color: #fff; }
.fp-view-btn {
    width: 100%; height: 46px; margin-bottom: 10px; background: transparent; color: #111;
    border: 1px solid #111; border-radius: 3px; cursor: pointer;
    font-family: "Poppins", sans-serif; font-size: 13px; letter-spacing: .08em;
    transition: background .25s ease, color .25s ease;
}
.fp-view-btn:hover { background: #111; color: #fff; }

.fp-modal { position: fixed; inset: 0; z-index: 10000; display: none; align-items: center; justify-content: center; padding: 20px; }
.fp-modal.active { display: flex; }
.fp-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.62); backdrop-filter: blur(3px); }
.fp-modal-box {
    position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; width: min(1000px, 100%);
    max-height: 92vh; overflow: auto; background: #fff; border-radius: 6px; box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
.fp-modal-close {
    position: absolute; top: 12px; right: 14px; z-index: 5; width: 40px; height: 40px; border-radius: 50%;
    border: 0; background: rgba(255,255,255,.92); color: #111; font-size: 26px; line-height: 1; cursor: pointer;
}
.fp-modal-close:hover { background: #111; color: #fff; }
.fp-modal-media { background: #111; min-height: 360px; }
.fp-modal-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fp-modal-info { padding: 44px 40px 36px; text-align: left; display: flex; flex-direction: column; }
.fp-modal-eyebrow { font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: #8a8a8a; margin-bottom: 10px; }
.fp-modal-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.fp-modal-name { font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 38px; line-height: 1.1; margin: 0 0 12px; color: #0b0b0b; }
.fp-modal-heart.product-favorite { position: static; flex: none; margin-right: 34px; }
.fp-modal-price { font-family: "Poppins", sans-serif; font-size: 22px; font-weight: 500; color: #111; margin-bottom: 18px; }
.fp-modal-about { font-size: 15px; line-height: 1.75; color: #555; margin: 0 0 22px; }
.fp-modal-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.fp-note { background: #f6f5f2; border-radius: 4px; padding: 12px 12px 14px; }
.fp-note span { display: block; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: #8a8a8a; margin-bottom: 6px; }
.fp-note p { margin: 0; font-size: 13px; line-height: 1.5; color: #111; }
.fp-modal-meta { font-size: 13px; color: #444; margin-bottom: 24px; }
.fp-modal-meta span { font-weight: 600; margin-right: 6px; color: #111; }
.fp-modal-actions { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.fp-qty { display: inline-flex; align-items: center; border: 1px solid #d5d5d5; border-radius: 3px; height: 50px; background: #fff; }
.fp-qty .qty-btn { width: 46px; height: 100%; border: 0; background: transparent; font-size: 20px; cursor: pointer; color: #111; }
.fp-qty .qty-btn:hover { background: #111; color: #fff; }
.fp-qty .qty-value { min-width: 42px; text-align: center; font-size: 16px; font-weight: 600; color: #111; }
.fp-modal-add {
    flex: 1; height: 50px; background: #151515; color: #fff; border: 0; border-radius: 3px; cursor: pointer;
    font-family: "Poppins", sans-serif; font-size: 14px; letter-spacing: .04em; transition: background .25s ease;
}
.fp-modal-add:hover { background: #000; }
.fp-modal-full { color: #111; font-size: 13px; letter-spacing: .06em; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 760px) {
    .fp-modal { padding: 10px; align-items: flex-end; }
    .fp-modal-box { grid-template-columns: 1fr; max-height: 94vh; }
    .fp-modal-media { min-height: 0; aspect-ratio: 1 / 1; }
    .fp-modal-info { padding: 26px 22px 28px; }
    .fp-modal-name { font-size: 30px; }
    .fp-modal-heart.product-favorite { margin-right: 0; }
}

/* ---- Product page: back link + More Collections ---- */
.product-back-link {
    display: inline-flex; align-items: center; gap: 10px; margin: 0 0 26px; color: #111; text-decoration: none;
    font-family: "Poppins", sans-serif; font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
}
.product-back-link i { transition: transform .25s ease; }
.product-back-link:hover i { transform: translateX(-4px); }
.more-col-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; text-align: left; }
.more-col-grid .fp-view-btn { display: flex; align-items: center; justify-content: center; text-decoration: none; box-sizing: border-box; }
@media (max-width: 900px) { .more-col-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .more-col-grid { grid-template-columns: 1fr; } }

.more-col-grid .fp-price { margin-top: 0; margin-bottom: 14px; }
.more-col-grid .fp-card-image { aspect-ratio: 4 / 5; }
.product-back-link { padding: 10px 18px; border: 1px solid #d5d5d5; border-radius: 999px; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.product-back-link:hover { background: #111; color: #fff; border-color: #111; }
.product-detail-section .product-back-link { display: flex; width: fit-content; margin: 0 auto 26px 0; }

/* VAIL luxury welcome screen for account entry */
.account-page:has(.account-welcome-luxe) {min-height:calc(100vh - 90px);padding:54px 0 70px;background:#f4f2ed;position:relative;overflow:hidden;}
.account-page:has(.account-welcome-luxe)::before {content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#b99a58,#e4d4ae,#b99a58,transparent);}
.account-welcome-luxe {width:100%;max-width:1120px;min-height:560px;margin:0 auto;position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;text-align:left;background:#111;padding:68px 7.2% 76px;box-sizing:border-box;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.13);}
.account-welcome-luxe::before {content:"";position:absolute;inset:16px;border:1px solid rgba(194,163,98,.32);pointer-events:none;z-index:2;}
.welcome-luxe-copy {position:relative;z-index:3;max-width:460px;color:#fff;padding:12px 0 0;}
.welcome-kicker {display:flex;align-items:center;gap:12px;color:#c9ad73;font:500 9px Poppins,sans-serif;letter-spacing:.24em;margin-bottom:35px;}
.welcome-kicker span {display:inline-block;width:25px;height:1px;background:#c9ad73;}
.welcome-overline {font:500 9px Poppins,sans-serif;letter-spacing:.2em;color:#c8c2b7;margin:0 0 13px;}
.welcome-luxe-copy h1 {font:500 clamp(48px,6vw,76px)/.92 "Cormorant Garamond",serif;letter-spacing:-.035em;color:#f8f6f0;margin:0 0 25px;}
.welcome-luxe-copy h1 em {font-weight:600;color:#c7a96a;font-style:italic;letter-spacing:.02em;}
.welcome-description {font:300 12px/2 Poppins,sans-serif;color:#c6c2ba;max-width:360px;margin:0 0 30px;}
.welcome-luxe-actions {display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.welcome-get-started {min-width:158px;min-height:47px;padding:0 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;box-sizing:border-box;background:#c5a568;color:#111;text-decoration:none;font:600 10px Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:background .25s,transform .25s;}
.welcome-get-started:hover {background:#e0c58d;transform:translateY(-2px);}
.welcome-get-started i {font-size:12px;}
.welcome-create-account {color:#f3eee4;text-decoration:none;font:500 9px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(201,173,115,.55);padding:0 0 7px;}
.welcome-create-account i {font-size:9px;margin-left:5px;color:#c9ad73;}
.welcome-trust-note {display:flex;align-items:center;gap:10px;margin-top:39px;color:#a9a49b;font:300 9px Poppins,sans-serif;letter-spacing:.04em;}
.welcome-trust-note i {color:#c9ad73;font-size:12px;}
.welcome-luxe-visual {position:relative;align-self:stretch;min-height:390px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.welcome-luxe-visual::before {content:"";position:absolute;width:min(30vw,350px);height:min(30vw,350px);min-width:230px;min-height:230px;border-radius:50%;background:radial-gradient(circle,rgba(198,166,101,.18),rgba(198,166,101,.04) 55%,transparent 70%);}
.welcome-perfume-bottle {position:relative;z-index:1;width:clamp(250px,31vw,400px);height:auto;max-height:440px;object-fit:contain;filter:grayscale(1) drop-shadow(0 25px 22px rgba(0,0,0,.42));transform:rotate(-7deg);}
.welcome-orbit {position:absolute;border:1px solid rgba(201,173,115,.26);border-radius:50%;width:310px;height:310px;}
.welcome-orbit-one {transform:scaleX(.7) rotate(32deg);}.welcome-orbit-two {width:365px;height:365px;transform:scaleX(.72) rotate(-30deg);border-color:rgba(255,255,255,.09);}
.welcome-visual-label {position:absolute;top:17%;right:0;z-index:2;color:#c9ad73;font:500 8px Poppins,sans-serif;letter-spacing:.18em;writing-mode:vertical-rl;}
.welcome-visual-label span {padding:9px 0;}
.welcome-visual-caption {position:absolute;bottom:7%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;color:#a9a49b;font:400 7px Poppins,sans-serif;letter-spacing:.18em;}
.welcome-visual-caption i {display:inline-block;width:22px;height:1px;background:#c9ad73;}
.welcome-contact-link {position:absolute;z-index:3;bottom:25px;left:7.2%;color:#a9a49b;text-decoration:none;font:400 9px Poppins,sans-serif;letter-spacing:.04em;}
.welcome-contact-link i {color:#c9ad73;margin-right:7px;}
@media(max-width:760px) {.account-page:has(.account-welcome-luxe) {padding:28px 14px 45px}.account-welcome-luxe {grid-template-columns:1fr;padding:45px 28px 72px;min-height:0;gap:0}.welcome-luxe-copy {padding-top:8px}.welcome-kicker {margin-bottom:27px}.welcome-luxe-copy h1 {font-size:58px}.welcome-description {max-width:440px}.welcome-luxe-visual {min-height:300px;margin-top:8px}.welcome-perfume-bottle {width:270px;max-height:310px}.welcome-orbit {width:245px;height:245px}.welcome-orbit-two {width:290px;height:290px}.welcome-visual-label {right:7%;top:13%}.welcome-visual-caption {bottom:2%}.welcome-contact-link {left:28px;bottom:25px}.welcome-trust-note {margin-top:27px}}
@media(max-width:420px) {.account-welcome-luxe {padding:38px 21px 75px}.account-welcome-luxe::before {inset:10px}.welcome-luxe-copy h1 {font-size:51px}.welcome-luxe-actions {align-items:flex-start;flex-direction:column;gap:17px}.welcome-get-started {width:100%}.welcome-luxe-visual {min-height:260px}.welcome-perfume-bottle {width:235px}.welcome-orbit {width:210px;height:210px}.welcome-orbit-two {width:250px;height:250px}.welcome-contact-link {left:21px;font-size:8px}}

/* VAIL Welcome v2 — warm editorial luxury, rounded card and fragrance showcase */
.account-page:has(.account-welcome-luxe) {
  min-height:calc(100vh - 90px);padding:48px 22px 62px;
  background:radial-gradient(ellipse at 10% 15%,rgba(201,162,39,.10),transparent 34%),#f7f1e8;
  position:relative;overflow:hidden;box-sizing:border-box;
}
.account-page:has(.account-welcome-luxe)::before {content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(73,18,29,.07) .7px,transparent .7px);background-size:13px 13px;opacity:.22;pointer-events:none}
.account-welcome-luxe {
  width:100%;max-width:1140px;min-height:610px;margin:0 auto;position:relative;isolation:isolate;
  display:grid;grid-template-columns:1fr .92fr;align-items:stretch;text-align:left;
  background:#fffdf9;padding:0;border:1px solid rgba(73,18,29,.09);border-radius:24px;box-sizing:border-box;
  overflow:hidden;box-shadow:0 26px 70px rgba(65,31,29,.13);
}
.account-welcome-luxe::before {inset:12px;border:1px solid rgba(201,162,39,.18);border-radius:16px;pointer-events:none;z-index:4}
.welcome-luxe-copy {max-width:500px;align-self:center;padding:62px 22px 76px clamp(32px,6vw,78px);color:#2d2422;}
.welcome-kicker {display:inline-flex;align-items:center;gap:10px;margin:0 0 29px;padding:9px 14px;border-radius:99px;background:#f7eee4;color:#7d2938;font:600 9px Poppins,sans-serif;letter-spacing:.17em}
.welcome-kicker span {width:15px;background:#c9a227}
.welcome-overline {font:600 9px Poppins,sans-serif;letter-spacing:.22em;color:#a17c37;margin:0 0 14px}
.welcome-luxe-copy h1 {font:500 clamp(54px,5.5vw,78px)/.91 "Cormorant Garamond",serif;letter-spacing:-.045em;color:#2c2523;margin:0 0 24px}
.welcome-luxe-copy h1 em {display:inline-block;color:#7b2636;font-weight:600;font-style:italic;letter-spacing:-.015em;margin-top:8px}
.welcome-description {font:300 13px/2 Poppins,sans-serif;color:#746966;max-width:390px;margin:0 0 30px}
.welcome-luxe-actions {display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.welcome-get-started {min-width:175px;min-height:52px;padding:0 21px;border-radius:4px;background:#7b2636;color:#fffaf4;font:600 10px Poppins,sans-serif;letter-spacing:.12em;box-shadow:0 8px 18px rgba(123,38,54,.18);transition:all .25s}
.welcome-get-started:hover {background:#541724;transform:translateY(-2px);box-shadow:0 12px 24px rgba(123,38,54,.23)}
.welcome-get-started i {color:#e3c66c}
.welcome-create-account {color:#7b2636;font:600 9px Poppins,sans-serif;letter-spacing:.08em;border-bottom:1px solid #d8bd83;padding:0 0 8px}
.welcome-create-account i {color:#b58a2b}
.welcome-trust-note {margin-top:34px;color:#887b73;font:300 10px/1.8 Poppins,sans-serif;letter-spacing:.02em}
.welcome-trust-note i {color:#b58a2b}
.welcome-luxe-visual {position:relative;align-self:stretch;min-height:610px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(145deg,#76283a 0%,#4a1421 58%,#2e1019 100%);border-radius:0 23px 23px 0}
.welcome-luxe-visual::before {content:"";position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(239,208,140,.23),rgba(239,208,140,.07) 47%,transparent 70%);border:1px solid rgba(232,205,147,.23)}
.welcome-luxe-visual::after {content:"V";position:absolute;right:7%;top:4%;font:italic 300 220px/1 "Cormorant Garamond",serif;color:rgba(255,248,231,.045);pointer-events:none}
.welcome-perfume-bottle {position:relative;z-index:1;width:clamp(260px,30vw,390px);max-height:470px;object-fit:contain;filter:drop-shadow(0 28px 28px rgba(10,0,0,.35));transform:rotate(-5deg);transition:transform .5s ease}
.welcome-luxe-visual:hover .welcome-perfume-bottle {transform:rotate(-2deg) translateY(-5px)}
.welcome-orbit {width:340px;height:340px;border-color:rgba(229,201,137,.27)}
.welcome-orbit-one {transform:scaleX(.8) rotate(32deg)}.welcome-orbit-two {width:410px;height:410px;border-color:rgba(255,255,255,.12);transform:scaleX(.78) rotate(-30deg)}
.welcome-visual-label {top:12%;right:8%;color:#e4c477;font-size:8px;letter-spacing:.22em}
.welcome-visual-caption {bottom:9%;color:#f0dcae;font-size:8px;letter-spacing:.16em}
.welcome-visual-caption i {background:#d2b263}
.welcome-contact-link {left:clamp(32px,6vw,78px);bottom:25px;color:#8b7b73;font-size:9px}
.welcome-contact-link i {color:#a37a2b}
@media(max-width:760px) {
 .account-page:has(.account-welcome-luxe) {padding:24px 14px 38px}
 .account-welcome-luxe {grid-template-columns:1fr;min-height:0;border-radius:20px}
 .welcome-luxe-copy {padding:42px 28px 26px;max-width:none}
 .welcome-kicker {margin-bottom:24px}
 .welcome-luxe-copy h1 {font-size:60px}
 .welcome-description {font-size:12px;max-width:480px}
 .welcome-luxe-visual {min-height:360px;border-radius:0 0 19px 19px}
 .welcome-perfume-bottle {width:270px;max-height:320px}
 .welcome-orbit {width:260px;height:260px}.welcome-orbit-two {width:310px;height:310px}
 .welcome-visual-label {top:9%;right:8%}.welcome-visual-caption {bottom:6%}
 .welcome-contact-link {left:28px;bottom:auto;top:calc(100% - 390px);color:#f2dcae}
 .welcome-trust-note {margin-top:24px}
}
@media(max-width:420px) {
 .account-page:has(.account-welcome-luxe) {padding:15px 10px 30px}
 .account-welcome-luxe::before {inset:7px}
 .welcome-luxe-copy {padding:35px 22px 24px}
 .welcome-kicker {font-size:8px;letter-spacing:.13em;padding:8px 11px}
 .welcome-luxe-copy h1 {font-size:52px}
 .welcome-description {line-height:1.9}
 .welcome-luxe-actions {align-items:stretch;flex-direction:column;gap:17px}
 .welcome-get-started {width:100%}.welcome-create-account {align-self:flex-start}
 .welcome-luxe-visual {min-height:305px}
 .welcome-perfume-bottle {width:235px;max-height:275px}
 .welcome-orbit {width:220px;height:220px}.welcome-orbit-two {width:265px;height:265px}
 .welcome-visual-label {font-size:7px}.welcome-visual-caption {font-size:7px;gap:7px}
 .welcome-contact-link {left:22px;top:calc(100% - 330px);font-size:8px}
}

/* VAIL vertical welcome page — monochrome fragrance editorial, approved concept */
.account-page:has(.welcome-vertical) {
  min-height:calc(100vh - 80px);padding:28px 16px 48px;box-sizing:border-box;
  background:linear-gradient(180deg,#fdfdfc 0%,#f5f5f2 100%);position:relative;overflow:hidden;
}
.account-page:has(.welcome-vertical)::before {
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#111 0%,#c9a45c 48%,#111 100%);opacity:.9;
}
.account-page:has(.welcome-vertical) .section-container {width:100%;max-width:590px;margin:0 auto;position:relative;z-index:1}
.account-welcome-luxe.welcome-vertical {
  display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:590px;min-height:0;
  margin:0 auto;padding:0;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:28px;
  overflow:hidden;box-shadow:0 22px 65px rgba(0,0,0,.10);text-align:center;isolation:isolate;
}
.account-welcome-luxe.welcome-vertical::before {inset:10px;border:1px solid rgba(190,151,75,.28);border-radius:21px;z-index:5;pointer-events:none}
.welcome-vertical .welcome-art-panel {
  position:relative;display:block;width:100%;height:auto;min-height:0;aspect-ratio:780/805;overflow:hidden;
  margin:0;background:#fff;border-radius:0;flex:none;
}
.welcome-vertical .welcome-art-panel::before {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 74%,rgba(255,255,255,.25));z-index:1;pointer-events:none}
.welcome-vertical .welcome-perfume-bottle {
  display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 47%;
  filter:none;transform:none;z-index:0;
}
.welcome-vertical .welcome-art-stamp {position:absolute;right:8%;bottom:8%;z-index:2;color:#d8b46b;font:500 8px Poppins,sans-serif;letter-spacing:.24em;writing-mode:vertical-rl;text-shadow:0 1px 5px rgba(0,0,0,.2)}
.welcome-vertical .welcome-luxe-copy {width:100%;max-width:none;box-sizing:border-box;align-self:stretch;padding:24px 38px 34px;background:#fff;color:#111;text-align:center}
.welcome-vertical .welcome-kicker {display:inline-flex;justify-content:center;align-items:center;gap:11px;margin:0 0 18px;padding:0;background:transparent;color:#8e6b2d;font:600 8px Poppins,sans-serif;letter-spacing:.22em}
.welcome-vertical .welcome-kicker span {display:inline-block;width:22px;height:1px;background:#c9a45c}
.welcome-vertical .welcome-overline {margin:0 0 7px;color:#686868;font:500 8px Poppins,sans-serif;letter-spacing:.27em}
.welcome-vertical .welcome-luxe-copy h1 {margin:0 0 8px;color:#111;font:500 clamp(46px,8vw,66px)/.9 "Cormorant Garamond",serif;letter-spacing:-.045em}
.welcome-vertical .welcome-luxe-copy h1 em {display:inline-block;margin-top:7px;color:#111;font-weight:600;font-style:normal;letter-spacing:.05em}
.welcome-vertical .welcome-description {max-width:410px;margin:15px auto 23px;color:#626262;font:300 11px/1.95 Poppins,sans-serif}
.welcome-vertical .welcome-luxe-actions {display:flex;flex-direction:column;align-items:center;gap:15px}
.welcome-vertical .welcome-get-started {width:min(100%,330px);min-height:52px;padding:0 26px;border:1px solid #c9a45c;border-radius:999px;background:#090909;color:#f8e7bd;box-shadow:0 10px 22px rgba(0,0,0,.13);font:500 10px Poppins,sans-serif;letter-spacing:.24em}
.welcome-vertical .welcome-get-started:hover {background:#292929;transform:translateY(-2px)}
.welcome-vertical .welcome-get-started i {color:#d9b56a;font-size:14px}
.welcome-vertical .welcome-create-account {padding:0 0 5px;border-bottom:1px solid #c9a45c;color:#222;font:500 9px Poppins,sans-serif;letter-spacing:.12em}
.welcome-vertical .welcome-create-account i {color:#a8823e}
.welcome-vertical .welcome-trust-note {justify-content:center;margin-top:21px;color:#777;font:300 9px Poppins,sans-serif;letter-spacing:.03em}
.welcome-vertical .welcome-trust-note i {color:#a8823e}
.welcome-vertical .welcome-contact-link {position:static;display:inline-flex;justify-content:center;align-items:center;margin:21px auto 0;color:#777;font:300 8px Poppins,sans-serif;letter-spacing:.03em}
.welcome-vertical .welcome-contact-link i {color:#a8823e;margin-right:7px}
@media(max-width:560px) {
 .account-page:has(.welcome-vertical) {padding:10px 9px 24px;min-height:calc(100vh - 65px)}
 .account-welcome-luxe.welcome-vertical {border-radius:22px}
 .account-welcome-luxe.welcome-vertical::before {inset:7px;border-radius:16px}
 .welcome-vertical .welcome-luxe-copy {padding:20px 23px 27px}
 .welcome-vertical .welcome-kicker {font-size:7px;letter-spacing:.17em;margin-bottom:15px}
 .welcome-vertical .welcome-luxe-copy h1 {font-size:54px}
 .welcome-vertical .welcome-description {font-size:10px;line-height:1.9;margin:13px auto 20px}
 .welcome-vertical .welcome-get-started {width:100%;min-height:50px}
 .welcome-vertical .welcome-art-stamp {font-size:6px;letter-spacing:.17em}
}
@media(prefers-reduced-motion:reduce) {.welcome-vertical * {transition:none!important;animation:none!important}}

/* VAIL welcome page — medium compact sizing refinement */
.account-page:has(.welcome-vertical) {
  padding: 24px 16px 38px;
}
.account-page:has(.welcome-vertical) .section-container {
  max-width: 480px;
}
.account-welcome-luxe.welcome-vertical {
  width: 100%;
  min-height: 0;
  border-radius: 22px;
}
.welcome-vertical .welcome-art-panel {
  min-height: 0;
  height: 285px;
  border-radius: 21px 21px 0 0;
}
.welcome-vertical .welcome-perfume-bottle {
  width: min(100%, 310px);
  max-height: 270px;
}
.welcome-vertical .welcome-luxe-copy {
  padding: 22px 30px 27px;
}
.welcome-vertical .welcome-kicker {
  margin-bottom: 13px;
}
.welcome-vertical .welcome-overline {
  margin-bottom: 5px;
}
.welcome-vertical .welcome-luxe-copy h1 {
  font-size: 52px;
  margin-bottom: 6px;
}
.welcome-vertical .welcome-description {
  max-width: 370px;
  margin: 11px auto 17px;
  font-size: 10px;
  line-height: 1.8;
}
.welcome-vertical .welcome-get-started {
  min-height: 46px;
}
.welcome-vertical .welcome-trust-note {
  margin-top: 15px;
}
.welcome-vertical .welcome-contact-link {
  margin-top: 13px;
}
@media (max-width: 560px) {
  .account-page:has(.welcome-vertical) {
    padding: 14px 10px 25px;
  }
  .account-welcome-luxe.welcome-vertical {
    border-radius: 19px;
  }
  .welcome-vertical .welcome-art-panel {
    height: 245px;
    min-height: 0;
    border-radius: 18px 18px 0 0;
  }
  .welcome-vertical .welcome-perfume-bottle {
    width: min(100%, 260px);
    max-height: 230px;
  }
  .welcome-vertical .welcome-luxe-copy {
    padding: 19px 22px 23px;
  }
  .welcome-vertical .welcome-luxe-copy h1 {
    font-size: 47px;
  }
  .welcome-vertical .welcome-description {
    font-size: 10px;
    margin: 10px auto 16px;
  }
  .welcome-vertical .welcome-get-started {
    min-height: 45px;
  }
  .welcome-vertical .welcome-trust-note {
    margin-top: 14px;
  }
}

/* VAIL welcome page — centered horizontally and vertically */
.account-page:has(.welcome-vertical) {
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  box-sizing: border-box;
}
.account-page:has(.welcome-vertical) > .section-container {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}
@media (max-width: 560px) {
  .account-page:has(.welcome-vertical) {
    min-height: calc(100vh - 64px);
    padding: 18px 10px;
  }
}

/* Notify Me When Available on the product page */
.btn-detail-add-cart.is-notify { background: #121212; color: #fff; cursor: pointer; pointer-events: auto; opacity: 1; }
.btn-detail-add-cart.is-notify:hover { background: #c9a227; color: #121212; }

/* ==========================================================
   NAVBAR (VX) - black & white theme
   ========================================================== */
:root { --vx-ink: #111; --vx-paper: #fff; --vx-line: #e7e7e7; --vx-mute: #6d6d6d; --vx-soft: #f4f4f4; --vx-announce-h: 42px; }

.vx-header { position: relative; z-index: 1000; background: var(--vx-paper); color: var(--vx-ink); font-family: "Poppins", sans-serif; }
.vx-header a { text-decoration: none; color: inherit; }
.vx-header button { font-family: inherit; }

/* announcement bar */
.vx-announce { background: #0b0b0b; color: #fff; height: var(--vx-announce-h); font-size: 13px; letter-spacing: .01em; }
.vx-announce-inner { max-width: 1400px; height: 100%; margin: 0 auto; padding: 0 4%; display: flex; align-items: center; }
.vx-announce-track { flex: 1; display: flex; justify-content: space-around; gap: 24px; }
.vx-announce-item { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.vx-announce-item i { font-size: 14px; }
.vx-announce-arrows { display: flex; gap: 6px; margin-left: 20px; }
.vx-announce-arrows button { width: 28px; height: 28px; border: 0; background: transparent; color: #fff; cursor: pointer; opacity: .8; }
.vx-announce-arrows button:hover { opacity: 1; }

/* bar: logo in the centre, menu + icons on the row below */
.vx-bar { position: relative; background: var(--vx-paper); border-bottom: 1px solid var(--vx-line); z-index: 2; }
.vx-inner { max-width: 1400px; margin: 0 auto; padding: 18px 4% 0; display: grid; justify-items: center; row-gap: 4px;
    grid-template-columns: 1fr; grid-template-areas: "logo" "navrow"; }
.vx-burger { grid-area: burger; display: none; }
.vx-logo { grid-area: logo; display: inline-flex; align-items: center; justify-content: center; color: var(--vx-ink); }
.vx-logo-img { height: 70px; width: auto; display: block; object-fit: contain; }

.vx-navrow { grid-area: navrow; width: 100%; display: flex; align-items: center; justify-content: center; gap: 72px; }
.vx-nav { margin: 0; }
.vx-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: 6px; }
.vx-menu > li { position: relative; }
.vx-menu > li.vx-has-mega { position: static; }
.vx-link { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 15px 22px 17px; font: 500 15px "Poppins", sans-serif; color: var(--vx-ink); background: none; border: 0; cursor: pointer; }
.vx-link i { font-size: 10px; transition: transform .2s; }
.vx-link::after { content: ""; position: absolute; left: 22px; right: 22px; bottom: 9px; height: 2px; background: var(--vx-ink); transform: scaleX(0); transform-origin: left; transition: transform .28s ease; }
.vx-link:hover::after, .vx-link.is-active::after, li.is-open > .vx-link::after { transform: scaleX(1); }
li.is-open > .vx-link i { transform: rotate(180deg); }

/* icons (search, account, wishlist, cart) */
.vx-actions { display: flex; align-items: center; gap: 28px; }
.vx-icon { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 0; border: 0; background: none; color: var(--vx-ink); cursor: pointer; font: 500 12.5px "Poppins", sans-serif; line-height: 1; }
.vx-icon > i { font-size: 22px; }
.vx-label { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.vx-label i { font-size: 9px; }
.vx-icon:hover > i { transform: translateY(-1px); }
.vx-badge { position: absolute; top: -7px; left: calc(50% + 4px); min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: var(--vx-ink); color: #fff; border: 2px solid #fff; box-sizing: content-box; font: 600 10.5px/19px "Poppins", sans-serif; display: inline-flex; align-items: center; justify-content: center; }

/* account dropdown */
.vx-account { position: relative; }
.vx-account-menu { position: absolute; top: calc(100% + 18px); right: -16px; min-width: 230px; padding: 8px; background: #fff; border: 1px solid var(--vx-line); border-radius: 12px; box-shadow: 0 24px 60px rgba(0,0,0,.14); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; z-index: 40; }
.vx-account.is-open .vx-account-menu { opacity: 1; visibility: visible; transform: none; }
.vx-account-menu a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 8px; font-size: 14px; }
.vx-account-menu a i { width: 18px; text-align: center; color: var(--vx-mute); }
.vx-account-menu a:hover { background: var(--vx-soft); }

/* search: opens from the search icon */
.vx-search { display: none; position: absolute; top: 100%; left: 50%; width: min(720px, 92vw); padding: 16px 18px 18px; background: #fff; border: 1px solid var(--vx-line); border-top: 0; border-radius: 0 0 16px 16px; box-shadow: 0 30px 70px rgba(0,0,0,.16); transform: translateX(-50%); z-index: 45; }
.vx-search.active { display: block; animation: vxFade .2s ease; }
@keyframes vxFade { from { opacity: 0; transform: translate(-50%, -6px); } to { opacity: 1; transform: translateX(-50%); } }
.vx-search-field { display: flex; align-items: center; height: 50px; padding: 0 6px 0 22px; border: 1px solid #d6d6d6; border-radius: 999px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.vx-search-field:focus-within { border-color: var(--vx-ink); box-shadow: 0 0 0 3px rgba(0,0,0,.06); }
.vx-search-field input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 400 14px "Poppins", sans-serif; color: var(--vx-ink); }
.vx-search-field input::placeholder { color: #8a8a8a; }
.vx-search-submit, .vx-search-close { width: 38px; height: 38px; border: 0; background: transparent; color: var(--vx-ink); cursor: pointer; font-size: 16px; border-radius: 50%; }
.vx-search-submit:hover, .vx-search-close:hover { background: var(--vx-soft); }
.vx-search .search-results-panel { position: static; margin: 12px 0 0; max-width: none; max-height: 58vh; background: #fff; border: 1px solid var(--vx-line); border-radius: 12px; box-shadow: none; }

/* mega menu */
.vx-mega { position: absolute; top: 100%; left: 50%; width: min(1000px, 92vw); padding: 28px 32px 32px; display: grid; grid-template-columns: 1fr 1.1fr 1.45fr; gap: 36px; background: #fff; border: 1px solid var(--vx-line); border-top: 0; border-radius: 0 0 14px 14px; box-shadow: 0 30px 70px rgba(0,0,0,.16); transform: translate(-50%, 8px); opacity: 0; visibility: hidden; transition: .22s; z-index: 40; }
.vx-has-mega.is-open > .vx-mega { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.vx-mega h4 { margin: 0 0 16px; font: 600 15px "Poppins", sans-serif; color: var(--vx-ink); }
.vx-cat-list, .vx-pop-list { list-style: none; margin: 0; padding: 0; }
.vx-cat-list a { display: flex; align-items: center; gap: 14px; padding: 11px 6px; font-size: 14px; border-radius: 8px; }
.vx-cat-list a > i:first-child { width: 22px; text-align: center; font-size: 17px; }
.vx-cat-list a span { flex: 1; }
.vx-cat-list a > i:last-child { font-size: 10px; color: #9a9a9a; }
.vx-cat-list a:hover { background: var(--vx-soft); }
.vx-pop-list a { display: flex; align-items: center; gap: 16px; padding: 8px 6px; border-radius: 10px; }
.vx-pop-list a:hover { background: var(--vx-soft); }
.vx-pop-list img { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; filter: grayscale(1); transition: filter .3s; }
.vx-pop-list a:hover img { filter: none; }
.vx-pop-list b { display: block; font-size: 15px; font-weight: 600; }
.vx-pop-list small { display: block; margin-top: 3px; font-size: 12.5px; color: var(--vx-mute); }
.vx-feature { position: relative; display: flex; align-items: center; min-height: 260px; padding: 28px; border-radius: 12px; overflow: hidden; background-size: cover; background-position: center; isolation: isolate; }
.vx-feature::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.15)); z-index: -1; }
.vx-feature-text b { display: block; font: 600 30px "Cormorant Garamond", serif; margin-bottom: 8px; }
.vx-feature-text small { display: block; font-size: 13px; opacity: .85; margin-bottom: 20px; }
.vx-feature-text em { display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; border-radius: 999px; background: #fff; color: #111; font-style: normal; font-size: 13px; font-weight: 600; }
.vx-header .vx-feature, .vx-header .vx-promo { color: #fff; }

/* sticky (compact) state: logo left, menu + icons on one line */
.vx-header.is-stuck .vx-bar { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 8px 30px rgba(0,0,0,.08); animation: vxDrop .3s ease; }
@keyframes vxDrop { from { transform: translateY(-100%); } to { transform: none; } }
.vx-header.is-stuck .vx-inner { padding-top: 8px; padding-bottom: 6px; justify-items: stretch; column-gap: 40px; grid-template-columns: auto 1fr; grid-template-areas: "logo navrow"; }
.vx-header.is-stuck .vx-logo-img { height: 46px; }
.vx-header.is-stuck .vx-navrow { justify-content: space-between; gap: 30px; }
.vx-header.is-stuck .vx-link { padding: 12px 18px; }
.vx-header.is-stuck .vx-link::after { bottom: 6px; left: 18px; right: 18px; }
.vx-header.is-stuck .vx-label { display: none; }
.vx-header.is-stuck .vx-actions { gap: 24px; }

/* mobile drawer */
.vx-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.5); opacity: 0; visibility: hidden; transition: .3s; z-index: 1998; }
.vx-overlay.active { opacity: 1; visibility: visible; }
.vx-drawer { position: fixed; top: 0; left: 0; bottom: 0; width: min(360px, 88vw); display: flex; flex-direction: column; background: #fff; color: var(--vx-ink); transform: translateX(-102%); visibility: hidden; transition: transform .35s ease, visibility 0s linear .35s; z-index: 1999; }
.vx-drawer.active { transform: none; visibility: visible; box-shadow: 10px 0 40px rgba(0,0,0,.18); transition: transform .35s ease, visibility 0s; }
.vx-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--vx-line); }
.vx-drawer-head .vx-logo-img { height: 48px; }
.vx-drawer-close { width: 40px; height: 40px; border: 0; background: var(--vx-soft); border-radius: 50%; font-size: 17px; cursor: pointer; }
.vx-drawer-body { flex: 1; overflow-y: auto; padding: 10px 20px 28px; }
.vx-d-link, .vx-acc-btn { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid var(--vx-line); background: none; color: var(--vx-ink); font: 500 16px "Poppins", sans-serif; text-align: left; cursor: pointer; }
.vx-d-link.is-active, .vx-acc-btn.is-active { font-weight: 700; }
.vx-acc-btn i { font-size: 11px; transition: transform .25s; }
.vx-acc.open .vx-acc-btn i { transform: rotate(180deg); }
.vx-acc-panel { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.vx-acc.open .vx-acc-panel { max-height: 420px; }
.vx-acc-panel a { display: block; padding: 12px 0 12px 16px; font-size: 14.5px; color: #333; border-bottom: 1px dashed #ececec; }
.vx-acc-panel a.is-current { font-weight: 700; color: #000; }
.vx-d-sep { height: 18px; }
.vx-d-small { justify-content: flex-start; gap: 12px; font-size: 14.5px; font-weight: 400; padding: 13px 0; }
.vx-promo { display: block; margin-top: 26px; padding: 24px 22px; border-radius: 14px; background: #0b0b0b; color: #fff; }
.vx-promo b { display: block; font: 600 26px "Cormorant Garamond", serif; margin-bottom: 6px; }
.vx-promo small { display: block; font-size: 13px; opacity: .8; margin-bottom: 18px; }
.vx-promo em { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; background: #fff; color: #111; font-style: normal; font-size: 13px; font-weight: 600; }

/* tablet / mobile */
@media (max-width: 1180px) {
    .vx-navrow { gap: 40px; }
    .vx-link { padding-left: 16px; padding-right: 16px; }
    .vx-link::after { left: 16px; right: 16px; }
    .vx-actions { gap: 22px; }
}
@media (max-width: 992px) {
    :root { --vx-announce-h: 40px; }
    .vx-announce-track { position: relative; height: 100%; }
    .vx-announce-item { position: absolute; inset: 0; display: none; justify-content: center; }
    .vx-announce-item.is-active { display: inline-flex; }
    .vx-inner, .vx-header.is-stuck .vx-inner { padding: 8px 4%; row-gap: 0; column-gap: 10px; justify-items: center; grid-template-columns: 1fr auto 1fr; grid-template-areas: "burger logo actions"; }
    .vx-burger { display: inline-flex; align-items: center; justify-content: center; justify-self: start; width: 42px; height: 42px; border: 0; background: none; font-size: 22px; color: var(--vx-ink); cursor: pointer; margin-left: -8px; }
    .vx-logo-img, .vx-header.is-stuck .vx-logo-img { height: 52px; }
    .vx-navrow { display: contents; }
    .vx-nav { display: none; }
    .vx-actions { grid-area: actions; justify-self: end; gap: 18px; }
    .vx-label { display: none; }
    .vx-account { display: none; }
    .vx-icon > i { font-size: 21px; }
    .vx-search { left: 4%; right: 4%; width: auto; transform: none; }
    @keyframes vxFade { from { opacity: 0; } to { opacity: 1; } }
}
@media print { .vx-header { display: none; } }

/* ---------- navbar row: bordered capsule design (desktop) ---------- */
@media (min-width: 993px) {
    .vx-inner { padding-bottom: 22px; row-gap: 16px; }
    .vx-navrow { width: auto; gap: 0; padding: 6px 20px 6px 8px; background: #fff; border: 1.5px solid var(--vx-ink); border-radius: 999px; outline: 1px solid #d9d9d9; outline-offset: 5px; box-shadow: 0 14px 34px rgba(0,0,0,.07); }
    .vx-menu { gap: 4px; }
    .vx-link { padding: 13px 24px; border-radius: 999px; transition: background .25s ease, color .25s ease; }
    .vx-link::after { display: none; }
    .vx-link:hover { background: #f0f0f0; }
    .vx-link.is-active, li.is-open > .vx-link { background: var(--vx-ink); color: #fff; }
    .vx-link.is-active:hover { background: #000; }
    .vx-actions { position: relative; margin-left: 22px; padding-left: 28px; gap: 26px; }
    .vx-actions::before { content: ""; position: absolute; left: 0; top: 50%; width: 1.5px; height: 32px; background: #d6d6d6; transform: translateY(-50%); }
    .vx-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -30px; height: 30px; }
    .vx-account-menu { top: calc(100% + 24px); }

    /* compact sticky version */
    .vx-header.is-stuck .vx-inner { padding-bottom: 8px; row-gap: 0; }
    .vx-header.is-stuck .vx-navrow { justify-self: end; gap: 0; padding: 4px 16px 4px 6px; outline: none; box-shadow: none; }
    .vx-header.is-stuck .vx-link { padding: 9px 20px; }
    .vx-header.is-stuck .vx-actions { margin-left: 14px; padding-left: 20px; gap: 22px; }
    .vx-header.is-stuck .vx-actions::before { height: 22px; }
    .vx-header.is-stuck .vx-account-menu { top: calc(100% + 18px); }
}
@media (min-width: 993px) and (max-width: 1180px) {
    .vx-link { padding: 13px 18px; }
}

/* ==========================================================
   VC: "Shop by Collection" (home page) - dark banner + white curved cards (same look as the wishlist cards)
   ========================================================== */
.vc-section { background: #f7f7f7; color: #121212; font-family: "Poppins", sans-serif; }

/* banner */
.vc-hero { position: relative; overflow: hidden; background: #050505 url("collection-bg-dark.jpg") center 20% / cover no-repeat; color: #fff; }
.vc-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.25) 100%); }
/* the bottle is shown whole (not cropped) and softly faded into the banner */
.vc-hero-art { position: absolute; top: 16px; right: 9%; bottom: 16px; width: 25%; pointer-events: none; -webkit-mask-image: radial-gradient(ellipse closest-side at 50% 50%, #000 70%, transparent 100%); mask-image: radial-gradient(ellipse closest-side at 50% 50%, #000 70%, transparent 100%); }
.vc-hero-art img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; filter: none; }
.vc-hero-inner { position: relative; z-index: 2; max-width: 1400px; margin: 0 auto; padding: 64px 4% 70px; }
.vc-eyebrow { display: block; font-size: 12.5px; letter-spacing: .34em; font-weight: 400; color: rgba(255,255,255,.92); margin-bottom: 20px; }
.vc-title { margin: 0; font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: clamp(42px, 5.4vw, 76px); line-height: 1.05; color: #fff; }
.vc-title em { font-style: italic; font-weight: 500; }
.vc-rule { display: block; width: 44px; height: 1px; background: rgba(255,255,255,.75); margin: 24px 0 22px; }
.vc-lead { margin: 0; max-width: 440px; font-size: 15.5px; line-height: 1.85; color: rgba(255,255,255,.9); }
.vc-side { position: absolute; z-index: 2; right: 3.2%; top: 34px; bottom: 34px; display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; }
.vc-side-line { width: 1px; height: 52px; background: rgba(255,255,255,.55); margin-right: 2px; }
.vc-side-text { text-align: right; font-size: 10.5px; line-height: 1.9; letter-spacing: .34em; color: rgba(255,255,255,.88); margin-bottom: 50px; }

/* cards (same style as the wishlist product card) */
.vc-wrap { max-width: 1400px; margin: 0 auto; padding: 40px 4% 60px; }
.vc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.vc-card { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(18,18,18,.08); border-radius: 22px; padding: 12px 12px 18px; color: #121212; text-decoration: none;
    box-shadow: 0 6px 20px rgba(18,18,18,.06); transition: transform .3s ease, box-shadow .3s ease; }
.vc-card:hover, .vc-card:focus-visible { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(18,18,18,.15); }
.vc-card:focus-visible { outline: 3px solid #121212; outline-offset: 3px; }
.vc-card-media { position: relative; display: block; aspect-ratio: 1 / 1.08; border-radius: 15px; overflow: hidden; background: #111; }
.vc-card-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: none; transition: transform .6s ease; }
.vc-card:hover .vc-card-img { transform: scale(1.07); }
.vc-card-icon { position: absolute; top: 10px; right: 10px; z-index: 2; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.96); color: #121212; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; box-shadow: 0 4px 14px rgba(18,18,18,.18); transition: transform .3s ease, background .3s ease, color .3s ease; }
.vc-card:hover .vc-card-icon { background: #121212; color: #fff; transform: rotate(-10deg) scale(1.1); }
.vc-card-body { display: flex; flex-direction: column; align-items: center; text-align: center; flex: 1; padding: 18px 6px 0; }
.vc-card-title { display: block; font-family: "Cormorant Garamond", serif; font-size: 25px; font-weight: 700; line-height: 1.2; margin: 0 0 7px; color: #121212; }
.vc-card-tag { display: block; font-size: 13px; color: #666; margin-bottom: 20px; }
.vc-btn { margin-top: auto; width: 100%; padding: 13px 10px; border-radius: 999px; background: #121212; color: #fff; font: 600 11px "Poppins", sans-serif; letter-spacing: .1em; text-transform: uppercase; display: inline-flex; align-items: center; justify-content: center; gap: 9px; transition: background .25s ease, gap .25s ease; }
.vc-btn i { font-size: 11px; order: 2; transition: transform .25s ease; }
.vc-card:hover .vc-btn { background: #3a3a3a; gap: 13px; }
.vc-card:hover .vc-btn i { transform: translateX(3px); }

/* trust strip */
.vc-trust { list-style: none; margin: 48px 0 0; padding: 30px 0 0; border-top: 1px solid #dcdcd8; display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; }
.vc-trust li { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 4px 16px; }
.vc-trust li + li { border-left: 1px solid #dcdcd8; }
.vc-trust i { font-size: 22px; margin-bottom: 4px; color: #111; }
.vc-trust b { font-size: 11px; letter-spacing: .22em; font-weight: 500; color: #111; }
.vc-trust span { font-size: 13px; color: #6b6b68; }

/* tablet / phone */
@media (max-width: 1100px) {
    .vc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vc-hero-art { width: 30%; right: 4%; }
}
@media (max-width: 700px) {
    .vc-hero-inner { padding: 44px 6% 48px; }
    .vc-hero-art { width: 44%; right: 0; opacity: .6; }
    .vc-side { display: none; }
    .vc-lead { font-size: 14.5px; max-width: 60%; }
    .vc-wrap { padding: 26px 0 44px; }
    /* swipeable row of cards */
    .vc-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; gap: 16px; overflow-x: auto; padding: 8px 6% 26px; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .vc-grid::-webkit-scrollbar { display: none; }
    .vc-card { scroll-snap-align: center; }
    .vc-trust { grid-template-columns: 1fr 1fr; row-gap: 26px; margin: 12px 6% 0; }
    .vc-trust li:nth-child(3) { border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .vc-card, .vc-card-img, .vc-btn, .vc-card-icon { transition: none; }
}

/* ==========================================================
   BEST SELLERS — "Loved by Many" redesign
   ========================================================== */
.home-featured-products { background: #fdfdfc; padding: 90px 0 80px; position: relative; overflow: hidden; }
.home-featured-products::before { content: ""; position: absolute; top: -120px; right: -120px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(236,226,208,.55), rgba(253,253,252,0) 68%); pointer-events: none; }
.home-featured-products .section-container { position: relative; max-width: 1320px; }
.home-featured-products .section-eyebrow { font-size: 22px; font-weight: 300; letter-spacing: .42em; padding-left: .42em; gap: 26px; margin-bottom: 4px; }
.home-featured-products .section-eyebrow::before,
.home-featured-products .section-eyebrow::after { width: 78px; height: 1px; }
.home-featured-products .section-title { font-size: clamp(46px, 6.4vw, 84px); font-weight: 600; margin-bottom: 18px; }
.home-featured-products .section-title em { font-style: italic; font-weight: 500; }
.home-featured-products .section-subtitle { max-width: 700px; margin: 0 auto 52px; font-size: clamp(14px, 1.4vw, 17px); letter-spacing: .01em; }
.home-featured-products .section-subtitle br { display: block; }

.bs-script { position: absolute; left: 10px; top: 20px; text-align: center; color: #1a1a1a; }
.bs-script span { display: block; font-family: "Great Vibes", cursive; font-size: 34px; line-height: 1.1; }
.bs-script small { display: block; margin-top: 8px; font-size: 10px; letter-spacing: .4em; color: #777; line-height: 1.8; }
.bs-script small::after { content: ""; display: block; width: 66px; height: 1px; background: #cfcfcb; margin: 10px auto 0; }

.home-featured-products .fp-carousel { padding: 0; }
.home-featured-products .fp-track {
    grid-auto-columns: calc((100% - 3 * 24px) / 4); gap: 24px; padding: 10px 4px 26px; margin: 0 -4px;
}
.home-featured-products .fp-card { scroll-snap-align: start; text-align: center; overflow: visible; }
.home-featured-products .fp-media { margin: 0; }
.home-featured-products .fp-media-link { display: block; width: 100%; height: 100%; }
.home-featured-products .fp-card:hover .vc-card-img { transform: scale(1.07); }
.home-featured-products .fp-heart.vc-card-icon { border: 0; padding: 0; cursor: pointer; width: 38px; height: 38px; top: 10px; right: 10px; }
.home-featured-products .fp-heart.vc-card-icon.is-favorite { background: #121212; color: #fff; }
.home-featured-products .vc-card-title { margin: 0 0 7px; }
.home-featured-products .vc-card-title a { color: inherit; text-decoration: none; }
.home-featured-products .vc-card-tag { margin-bottom: 12px; }
.home-featured-products .fp-card-price { font-family: "Poppins", sans-serif; font-size: 16px; font-weight: 500; color: #111; margin-bottom: 16px; }
.home-featured-products .fp-card-price s { font-size: 13px; font-weight: 400; color: #999; margin-left: 10px; }
.home-featured-products .vc-btn { border: 0; cursor: pointer; }
.home-featured-products .fp-card:hover .vc-btn { background: #3a3a3a; gap: 13px; }

@media (max-width: 1200px) { .bs-script { display: none; } }
@media (max-width: 1000px) {
    .home-featured-products .fp-track { grid-auto-columns: calc((100% - 24px) / 2); }
}
@media (max-width: 600px) {
    .home-featured-products { padding: 60px 0 60px; }
    .home-featured-products .section-eyebrow { font-size: 13px; letter-spacing: .3em; gap: 12px; }
    .home-featured-products .section-eyebrow::before,
    .home-featured-products .section-eyebrow::after { width: 28px; }
    .home-featured-products .section-subtitle br { display: none; }
    .home-featured-products .fp-track { grid-auto-columns: 74%; gap: 16px; }
}

/* Best Sellers background */
.home-featured-products { background: #fdfdfc url("best-sellers-bg.jpg") center / cover no-repeat; }
.home-featured-products::before { display: none; }
@media (max-width: 600px) { .home-featured-products { background-position: 30% center; } }

/* Best Sellers filter tabs */
.home-featured-products .fp-tabs { margin: 0 0 34px; gap: 10px; }
.home-featured-products .fp-tab { padding: 12px 32px; transition: background .25s ease, color .25s ease, transform .2s ease; }
.home-featured-products .fp-tab:hover:not(.active) { background: rgba(0,0,0,.07); }
.home-featured-products .fp-tab:focus-visible { outline: 2px solid #121212; outline-offset: 2px; }
.home-featured-products .fp-track { justify-content: safe center; }
@media (max-width: 600px) { .home-featured-products .fp-tabs { gap: 4px; } .home-featured-products .fp-tab { padding: 10px 18px; font-size: 13px; } }

/* ---- Shop by Collection: light banner ---- */
.vc-hero { background: #fff url("collection-banner.jpg") center / cover no-repeat; color: #111; aspect-ratio: 3 / 1; display: flex; align-items: center; }
.vc-hero::before, .vc-hero-art, .vc-side, .vc-rule { display: none; }
.vc-hero-inner { max-width: none; width: 100%; margin: 0; padding: 0 0 0 14.5%; box-sizing: border-box; }
.vc-eyebrow { display: inline-flex; align-items: center; gap: 18px; color: #111; font-size: clamp(10px, .9vw, 13px); letter-spacing: .4em; margin-bottom: clamp(8px, 1.2vw, 18px); }
.vc-eyebrow::before, .vc-eyebrow::after { content: ""; width: clamp(24px, 3vw, 66px); height: 1px; background: #111; }
.vc-title { color: #0b0b0b; font-weight: 600; font-size: clamp(34px, 4.8vw, 76px); line-height: 1.05; }
.vc-lead { color: #1d1d1d; max-width: 34em; margin-top: clamp(10px, 1.4vw, 22px); font-size: clamp(13px, 1.2vw, 17px); line-height: 1.75; }
.vc-hero-btn { display: inline-flex; align-items: center; gap: 22px; margin-top: clamp(14px, 2vw, 30px); padding: clamp(11px, 1.2vw, 17px) clamp(20px, 2.4vw, 36px); border: 1px solid #111; background: transparent; color: #111; text-decoration: none; font-size: clamp(10px, .9vw, 13px); letter-spacing: .26em; font-weight: 500; transition: background .25s ease, color .25s ease; }
.vc-hero-btn:hover { background: #111; color: #fff; }
@media (max-width: 900px) {
    .vc-hero { aspect-ratio: auto; min-height: 380px; background-position: 75% center; position: relative; }
    .vc-hero::before { display: block; background: linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.75) 55%, rgba(255,255,255,0) 100%); }
    .vc-hero-inner { position: relative; padding: 44px 6%; }
    .vc-lead { max-width: 80%; }
}
@media (max-width: 600px) { .vc-eyebrow::after { display: none; } .vc-eyebrow { letter-spacing: .28em; } .vc-lead { max-width: 100%; } }

/* ==========================================================
   THE ART OF FRAGRANCE (replaces "Why Choose Us")
   ========================================================== */
.art-fragrance { position: relative; overflow: hidden; background: #faf8f4; padding: 96px 0 110px; color: #141414; font-family: "Cormorant Garamond", "Times New Roman", serif; }
.af-smoke { position: absolute; width: min(300px, 26vw); height: auto; pointer-events: none; }
.af-smoke-tl { top: 0; left: 0; }
.af-smoke-br { bottom: 0; right: 0; }
.af-container { position: relative; z-index: 1; max-width: 1320px; text-align: center; }
.af-eyebrow { display: inline-flex; align-items: center; gap: 26px; font-family: "Poppins", sans-serif; font-size: 12px; letter-spacing: .5em; text-transform: uppercase; color: #a8843f; margin-bottom: 16px; }
.af-eyebrow::before, .af-eyebrow::after { content: ""; width: 44px; height: 1px; background: #a8843f; }
.af-title { margin: 0 0 18px; font-weight: 500; font-size: clamp(38px, 5.6vw, 78px); line-height: 1.08; letter-spacing: -.015em; color: #0d0d0d; }
.af-subtitle { margin: 0 auto 64px; font-size: clamp(18px, 1.9vw, 26px); color: #222; letter-spacing: .01em; }
.af-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; text-align: center; }
.af-card { border: 1px solid #e1d9ca; padding: 44px 24px 46px; background: transparent; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease; }
.af-card:hover { transform: translateY(-6px); border-color: #c9a96a; background: rgba(255,255,255,.6); box-shadow: 0 16px 34px rgba(120,95,45,.1); }
.af-icon { width: 84px; height: 84px; margin: 0 auto 22px; }
.af-icon svg { width: 100%; height: 100%; display: block; overflow: visible; }
.af-card h3 { margin: 0 0 12px; font-weight: 500; font-size: clamp(24px, 2.1vw, 32px); line-height: 1.15; color: #111; }
.af-tag { display: block; font-family: "Poppins", sans-serif; font-size: 10px; letter-spacing: .32em; color: #a8843f; text-transform: uppercase; padding-left: .32em; }
.af-line { display: block; width: 36px; height: 1px; background: #a8843f; margin: 24px auto; }
.af-card p { margin: 0; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.65; color: #2a2a2a; }
@media (max-width: 1000px) { .af-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
    .art-fragrance { padding: 64px 0 70px; }
    .af-eyebrow { font-size: 10px; letter-spacing: .32em; gap: 12px; }
    .af-eyebrow::before, .af-eyebrow::after { width: 20px; }
    .af-subtitle { margin-bottom: 40px; }
    .af-grid { grid-template-columns: 1fr; gap: 18px; }
    .af-card { padding: 34px 20px 36px; }
    .af-smoke { width: 150px; }
}

/* ---- About the House ---- */
.about-house { display: grid; grid-template-columns: 54% 46%; align-items: stretch; background: #f9f5ee; padding: 0; overflow: hidden; min-height: 0; }
.about-house .about-brand-container { display: none; }
.about-house-media { position: relative; }
.about-house-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left center; -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent 100%); mask-image: linear-gradient(90deg, #000 82%, transparent 100%); }
.about-house-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 70px 6% 70px 2%; font-family: "Poppins", sans-serif; color: #111; }
.ah-eyebrow { display: inline-flex; align-items: center; gap: 22px; font-size: 11px; letter-spacing: .42em; text-transform: uppercase; color: #222; margin-bottom: 26px; }
.ah-eyebrow::before, .ah-eyebrow::after { content: ""; width: 44px; height: 1px; background: #a8843f; }
.ah-title { margin: 0 0 26px; font-family: "Cormorant Garamond", "Times New Roman", serif; font-weight: 500; font-size: clamp(34px, 4.2vw, 68px); line-height: 1.08; letter-spacing: -.01em; color: #0d0d0d; }
.ah-title em { font-style: italic; font-weight: 500; }
.ah-text { margin: 0 0 26px; max-width: 34em; font-size: clamp(14px, 1.15vw, 17px); line-height: 1.85; color: #2a2a2a; }
.ah-rule { display: block; width: 44px; height: 1px; background: #a8843f; margin-bottom: 30px; }
.ah-points { list-style: none; margin: 0 0 36px; padding: 0; display: flex; align-items: stretch; }
.ah-points li { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 0 clamp(14px, 2.2vw, 36px); text-align: center; font-family: "Cormorant Garamond", serif; font-size: clamp(15px, 1.3vw, 19px); color: #222; }
.ah-points li:first-child { padding-left: 0; }
.ah-points li + li { border-left: 1px solid #c9a96a; }
.ah-points i { font-size: 24px; color: #a8843f; }
.ah-btn { display: inline-flex; align-items: center; gap: 20px; background: #121a20; color: #fff; text-decoration: none; padding: 18px 34px; font-size: 11.5px; letter-spacing: .3em; font-weight: 500; transition: background .25s ease, gap .25s ease; }
.ah-btn:hover { background: #000; gap: 26px; }
.ah-btn i { color: #c9a96a; font-size: 12px; }
@media (max-width: 900px) {
    .about-house { grid-template-columns: 1fr; }
    .about-house-media { aspect-ratio: 16 / 12; }
    .about-house-media img { -webkit-mask-image: linear-gradient(180deg, #000 85%, transparent 100%); mask-image: linear-gradient(180deg, #000 85%, transparent 100%); object-position: center; }
    .about-house-content { padding: 20px 7% 56px; }
}
@media (max-width: 520px) { .ah-points { flex-wrap: wrap; row-gap: 18px; } .ah-points li { padding: 0 14px; } .ah-eyebrow::after { display: none; } }

/* ---- Newsletter ---- */
.stay-nl { background: #f7f2ea url("newsletter-bg.jpg") center / cover no-repeat; aspect-ratio: 1899 / 828; min-height: 420px; padding: 0; display: flex; align-items: center; justify-content: flex-end; overflow: hidden; }
.stay-nl-inner { width: 52%; margin-right: 8.5%; display: flex; flex-direction: column; align-items: center; text-align: center; color: #111; font-family: "Poppins", sans-serif; }
.nl-eyebrow { display: inline-flex; align-items: center; gap: 24px; font-size: clamp(10px, .9vw, 13px); letter-spacing: .45em; text-transform: uppercase; color: #111; margin-bottom: clamp(8px, 1.2vw, 16px); }
.nl-eyebrow::before, .nl-eyebrow::after { content: ""; width: clamp(30px, 7vw, 135px); height: 1px; background: #c9a96a; }
.nl-title { margin: 0; font-family: "Cormorant Garamond", "Times New Roman", serif; font-weight: 600; font-size: clamp(34px, 4.6vw, 82px); line-height: 1.1; color: #0b0b0b; }
.nl-kicker { margin: clamp(10px, 1.4vw, 22px) 0 clamp(12px, 1.6vw, 26px); font-size: clamp(10px, .95vw, 14px); letter-spacing: .5em; text-transform: uppercase; font-weight: 500; color: #111; }
.nl-text { margin: 0 0 clamp(20px, 2.8vw, 46px); font-size: clamp(13px, 1.1vw, 17px); line-height: 1.85; color: #222; }
.nl-form { position: relative; display: flex; align-items: center; width: min(100%, 740px); height: clamp(52px, 4.4vw, 78px); background: rgba(255,255,255,.7); border: 1px solid #cfc7bb; border-radius: 999px; padding: 0 0 0 clamp(18px, 2vw, 34px); box-sizing: border-box; box-shadow: 0 6px 24px rgba(120,95,45,.08); }
.nl-form > i { font-size: 18px; color: #222; margin-right: 14px; }
.nl-form input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-family: inherit; font-size: clamp(13px, 1.1vw, 16px); color: #111; height: 100%; }
.nl-form input::placeholder { color: #8d8d8d; }
.nl-btn { height: calc(100% + 2px); margin: -1px; padding: 0 clamp(22px, 2.6vw, 44px); border: 0; border-radius: 999px; background: #0e0e0e; color: #fff; font-family: inherit; font-size: clamp(11px, .95vw, 14px); letter-spacing: .26em; font-weight: 500; display: inline-flex; align-items: center; gap: 14px; cursor: pointer; transition: background .25s ease, gap .25s ease; }
.nl-btn:hover { background: #2b2b2b; gap: 20px; }
.nl-form:focus-within { border-color: #a8843f; }
@media (max-width: 900px) {
    .stay-nl { aspect-ratio: auto; min-height: 0; justify-content: center; background-position: 20% center; padding: 70px 22px; position: relative; }
    .stay-nl::before { content: ""; position: absolute; inset: 0; background: rgba(250,246,238,.82); }
    .stay-nl-inner { position: relative; width: 100%; margin: 0; }
}
@media (max-width: 560px) {
    .nl-eyebrow::before, .nl-eyebrow::after { width: 22px; }
    .nl-eyebrow { gap: 12px; letter-spacing: .3em; }
    .nl-kicker { letter-spacing: .3em; }
    .nl-text br { display: none; }
    .nl-form { flex-wrap: wrap; height: auto; border-radius: 28px; padding: 6px; row-gap: 6px; }
    .nl-form > i { margin-left: 12px; }
    .nl-form input { height: 46px; flex: 1 1 60%; }
    .nl-btn { width: 100%; height: 48px; margin: 0; justify-content: center; }
}

/* ---- New hero ---- */
.vh-hero { position: relative; aspect-ratio: 1672 / 831; background: #f7f3ec url("hero-vail.jpg") center / cover no-repeat; overflow: hidden; color: #111; font-family: "Poppins", sans-serif; container-type: inline-size; }
.vh-copy { position: absolute; left: 7.7%; top: 17.5%; width: 52%; }
.vh-eyebrow { display: inline-flex; align-items: center; gap: 2.2cqw; font-size: max(10px, .8cqw); letter-spacing: .32em; text-transform: uppercase; color: #6b6b6b; margin-bottom: 2.4cqw; }
.vh-eyebrow::before, .vh-eyebrow::after { content: ""; width: 4.2cqw; height: 1px; background: #bdb8ae; }
.vh-title { margin: 0 0 2.2cqw; font-family: "Cormorant Garamond", "Times New Roman", serif; font-weight: 500; font-size: 5.1cqw; line-height: 1.12; letter-spacing: -.01em; color: #0b0b0b; }
.vh-title em { font-style: italic; font-weight: 500; }
.vh-text { margin: 0 0 2.4cqw; font-size: max(13px, 1.2cqw); line-height: 1.85; font-weight: 300; color: #2a2a2a; }
.vh-btn { display: inline-flex; align-items: center; gap: 1.2cqw; background: #0e0e0e; color: #fff; text-decoration: none; padding: 1.35cqw 2.2cqw; font-size: max(11px, .9cqw); letter-spacing: .2em; font-weight: 400; transition: background .25s ease, gap .25s ease; }
.vh-btn:hover { background: #2a2a2a; gap: 1.8cqw; }
.vh-features { position: absolute; left: 5.5%; bottom: 5%; list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.vh-features li { display: flex; flex-direction: column; align-items: center; gap: .7cqw; padding: .4cqw 1.9cqw; text-align: center; font-size: max(9px, .66cqw); letter-spacing: .14em; text-transform: uppercase; line-height: 1.6; color: #222; }
.vh-features li + li { border-left: 1px solid #cfcac1; }
.vh-features i { font-size: max(18px, 1.7cqw); color: #222; font-weight: 300; }
@media (max-width: 900px) {
    .vh-hero { aspect-ratio: auto; min-height: 560px; background-position: 70% center; display: flex; flex-direction: column; justify-content: space-between; padding: 44px 6% 28px; container-type: normal; }
    .vh-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(250,247,241,.94) 0%, rgba(250,247,241,.8) 55%, rgba(250,247,241,.15) 100%); }
    .vh-copy, .vh-features { position: relative; left: auto; top: auto; bottom: auto; width: auto; }
    .vh-eyebrow { font-size: 10px; gap: 12px; margin-bottom: 18px; }
    .vh-eyebrow::before, .vh-eyebrow::after { width: 26px; }
    .vh-title { font-size: clamp(36px, 9vw, 60px); margin-bottom: 16px; }
    .vh-text { font-size: 14px; margin-bottom: 22px; }
    .vh-btn { padding: 15px 26px; font-size: 11px; gap: 14px; }
    .vh-features { display: grid; grid-template-columns: 1fr 1fr; row-gap: 16px; margin-top: 40px; }
    .vh-features li { font-size: 10px; gap: 8px; padding: 4px 8px; }
    .vh-features li:nth-child(3) { border-left: 0; }
    .vh-features i { font-size: 22px; }
}

/* ==========================================================
   FOOTER (shared on every page)
   ========================================================== */
.vf-footer { display: block; margin: 0; padding: 0; background: #f4f1ea; color: #111; font-family: "Poppins", sans-serif; border: 0; text-align: left; }
.vf-top { background: #f6f3ec url("footer-bg.jpg") center / cover no-repeat; padding: clamp(56px, 8.6vw, 170px) 0 0; }
.vf-inner { width: 84%; max-width: 1640px; margin: 0 auto; }
.vf-grid { display: grid; grid-template-columns: 1.25fr 1fr 1.15fr 1.45fr; align-items: stretch; }
.vf-col { display: flex; flex-direction: column; align-items: flex-start; }
.vf-col + .vf-col { border-left: 1px solid #c9a96a; padding-left: clamp(24px, 3.9vw, 80px); }
.vf-col h3 { margin: 0 0 clamp(18px, 1.9vw, 34px); font-family: "Cormorant Garamond", "Times New Roman", serif; font-weight: 700; font-size: clamp(15px, 1.2vw, 21px); letter-spacing: .3em; text-transform: uppercase; color: #111; padding-top: 4px; }

.vf-brand { align-items: center; text-align: center; padding-right: 2%; }
.vf-logo { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: #111; }
.vf-logo-mark { height: clamp(46px, 4.2vw, 72px); width: auto; display: block; margin-bottom: 4px; }
.vf-logo-name { font-family: "Cormorant Garamond", "Times New Roman", serif; font-weight: 500; font-size: clamp(34px, 3.2vw, 56px); letter-spacing: .3em; padding-left: .3em; line-height: 1.1; }
.vf-logo-sub { margin-top: 8px; font-size: clamp(8px, .62vw, 11px); letter-spacing: .42em; padding-left: .42em; color: #222; }
.vf-tagline { margin: clamp(18px, 2vw, 34px) 0 14px; font-size: clamp(12px, .95vw, 15px); font-weight: 300; letter-spacing: .12em; color: #6a6a6a; }
.vf-rule { width: 50px; height: 1px; background: #c9a96a; margin-bottom: 22px; }
.vf-socials { display: flex; gap: clamp(10px, 1.1vw, 20px); }
.vf-socials a { width: clamp(36px, 2.7vw, 46px); height: clamp(36px, 2.7vw, 46px); border: 1px solid #c9a96a; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #111; text-decoration: none; background: rgba(255,255,255,.55); font-size: clamp(14px, 1vw, 17px); transition: background .25s ease, color .25s ease, transform .25s ease; }
.vf-socials a:hover { background: #111; color: #fff; transform: translateY(-2px); }

.vf-links a { position: relative; display: block; padding-left: 28px; margin-bottom: clamp(12px, 1.25vw, 22px); color: #151515; text-decoration: none; font-size: clamp(13px, 1.08vw, 17px); font-weight: 300; letter-spacing: .09em; transition: color .2s ease, transform .2s ease; }
.vf-links a::before { content: "\203A"; position: absolute; left: 2px; top: -3px; color: #c9a96a; font-size: 1.5em; line-height: 1.1; }
.vf-links a:hover { color: #a8843f; transform: translateX(4px); }

.vf-contact p { display: flex; align-items: center; gap: 16px; margin: 0 0 clamp(14px, 1.6vw, 28px); font-size: clamp(13px, 1.08vw, 17px); font-weight: 300; letter-spacing: .08em; color: #151515; }
.vf-contact a { color: inherit; text-decoration: none; }
.vf-contact a:hover { color: #a8843f; }
.vf-ico { flex: 0 0 auto; width: clamp(32px, 2.4vw, 40px); height: clamp(32px, 2.4vw, 40px); border-radius: 50%; background: #111; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: clamp(12px, .9vw, 15px); }

.vf-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: clamp(30px, 3.6vw, 64px); padding: clamp(18px, 2vw, 32px) clamp(20px, 2.2%, 44px); border-top: 1px solid #d4c4a2; }
.vf-copy { font-size: clamp(9px, .8vw, 12.5px); letter-spacing: .22em; text-transform: uppercase; color: #2d2d4a; }
.vf-motto { display: inline-flex; align-items: center; font-size: clamp(10px, .85vw, 13px); letter-spacing: .16em; color: #2a2a2a; }
.vf-motto span + span { border-left: 1px solid #c9a96a; margin-left: clamp(14px, 1.6vw, 28px); padding-left: clamp(14px, 1.6vw, 28px); }
.vf-marble { height: clamp(40px, 4.6vw, 96px); background: #0d0d0d url("footer-marble.jpg") center / cover no-repeat; }

@media (max-width: 1000px) {
    .vf-grid { grid-template-columns: 1fr 1fr; row-gap: 40px; }
    .vf-col + .vf-col { border-left: 0; padding-left: 0; }
    .vf-brand { grid-column: 1 / -1; padding-right: 0; }
    .vf-links, .vf-contact { padding-left: clamp(8px, 6%, 60px) !important; }
    .vf-contact { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .vf-inner { width: 90%; }
    .vf-grid { grid-template-columns: 1fr; }
    .vf-col, .vf-links, .vf-contact { align-items: center; text-align: center; padding-left: 0 !important; }
    .vf-col + .vf-col { border-top: 1px solid #d9c9a6; padding-top: 28px; }
    .vf-links a { padding-left: 0; }
    .vf-links a::before { display: none; }
    .vf-contact p { justify-content: center; }
    .vf-bottom { flex-direction: column; text-align: center; padding: 18px 8px; }
    .vf-copy { letter-spacing: .14em; }
}

/* footer: no black marble strip */
.vf-marble { display: none; }
.vf-top { border-bottom: 1px solid #c9a96a; padding-bottom: 0; }
.vf-logo-mark { height: clamp(40px, 3.6vw, 62px); }

/* hero strip: text only (icons removed) */
.vh-features li { padding: .5cqw 2.2cqw; }
.vh-features i { display: none; }
@media (max-width: 900px) { .vh-features li { padding: 6px 10px; } }

/* hero: bottom strip removed */
.vh-features { display: none; }
@media (max-width: 900px) { .vh-hero { min-height: 480px; justify-content: center; } }
