/* Shared Ekoo house style: warm editorial neutrals and high-contrast typography. */
:root {
    --ekoo-sand: #f2ebe1;
    --ekoo-ivory: #fbf8f3;
    --ekoo-walnut: #24151a;
    --ekoo-cocoa: #8b1425;
    --ekoo-gold: #a4865e;
    --ekoo-line: rgba(77, 57, 42, .16);
}
html { scroll-behavior: smooth; scroll-padding-top: 6rem; scrollbar-gutter: stable; }
body { background: var(--ekoo-sand); color: var(--ekoo-walnut); font-family: 'Open Sans', Arial, sans-serif; overscroll-behavior-x: none; }
html.lenis, html.lenis body { height: auto; }
html.lenis.lenis-smooth { scroll-behavior: auto; }
html.lenis.lenis-stopped { overflow: clip; }

.ekoo-site-header { margin-inline: auto; max-width: 92rem; padding: 0 1.5rem; width: 100%; }
.ekoo-brand { align-items: center; display: inline-flex; gap: .65rem; }
.ekoo-brand-mark { display: none; }
.ekoo-brand-word { color: var(--ekoo-walnut); font-family: 'Ekoo Fitzgerald', 'Bodoni Moda', Georgia, serif; font-size: 1.65rem; letter-spacing: .18em; text-transform: uppercase; }
.ekoo-site-header nav a { color: var(--ekoo-walnut) !important; font-family: 'Open Sans', Arial, sans-serif; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; }
.ekoo-site-header input::placeholder { color: rgba(77, 57, 42, .52); }
@media (max-width: 640px) {
    .ekoo-site-header { padding-inline: 1rem; }
    .ekoo-brand-word { font-size: 1.35rem; }
    .ekoo-site-header nav a { font-size: .56rem; letter-spacing: .12em; }
}

@font-face {
    font-family: 'Ekoo Fitzgerald';
    src: url('../images/Fitzgerald-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../images/opensans-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

.ekoo-collection-wrap { width: min(100% - 3rem, 92rem); margin-inline: auto; }
.ekoo-collection-intro { background: #f7f3eb; border-bottom: 1px solid rgba(36, 29, 20, .14); padding: 5.5rem 0 3.5rem; }
.ekoo-collection-heading { max-width: 44rem; margin: 0 auto; text-align: center; }
.ekoo-kicker, .ekoo-product-category { color: #927042; font-family: 'Cinzel', serif; font-size: .61rem; letter-spacing: .26em; text-transform: uppercase; }
.ekoo-collection-heading h1 { margin: .9rem 0 1rem; color: #221b14; font-family: 'Ekoo Fitzgerald', 'Bodoni Moda', Georgia, serif; font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 400; line-height: .95; text-transform: uppercase; }
.ekoo-collection-heading p { max-width: 32rem; margin-inline: auto; color: rgba(34, 27, 20, .64); font-size: .83rem; line-height: 1.7; }
.ekoo-collection-audiences { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-top: 2.4rem; }
.ekoo-collection-audiences a, .ekoo-collection-categories a { border-bottom: 1px solid transparent; color: rgba(34, 27, 20, .64); font-family: 'Cinzel', serif; font-size: .62rem; letter-spacing: .12em; padding: .55rem .8rem; text-transform: uppercase; transition: color .2s, border-color .2s; }
.ekoo-collection-audiences a:hover, .ekoo-collection-audiences a.is-active, .ekoo-collection-categories a:hover, .ekoo-collection-categories a.is-active { border-color: #927042; color: #221b14; }
.ekoo-collection-main { padding: 2.25rem 0 6rem; }
.ekoo-collection-toolbar { align-items: center; border-bottom: 1px solid rgba(36, 29, 20, .14); color: rgba(34, 27, 20, .55); display: flex; font-family: 'Cinzel', serif; font-size: .61rem; justify-content: space-between; letter-spacing: .12em; margin-bottom: 2.5rem; padding-bottom: 1.1rem; text-transform: uppercase; }
.ekoo-collection-categories { display: flex; flex-wrap: wrap; gap: .2rem; justify-content: flex-end; }
.ekoo-collection-categories a { font-family: 'Open Sans', Arial, sans-serif; font-size: .72rem; letter-spacing: .03em; padding: .2rem .55rem; text-transform: none; }
.ekoo-collection-grid { display: grid; gap: 3.5rem 1.4rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ekoo-product-media { aspect-ratio: .78; background: transparent; border: 0; border-radius: 0; display: block; overflow: hidden; position: relative; }
.ekoo-product-media > img { height: 100%; object-fit: contain; object-position: center; transition: opacity .45s ease, transform .7s cubic-bezier(.16, 1, .3, 1); width: 100%; }
.ekoo-product-media:hover > img:first-child.has-hover-image { opacity: 0; }
.ekoo-product-media:hover > img { transform: scale(1.035); }
.ekoo-product-hover-image { inset: 0; opacity: 0; position: absolute; }
.ekoo-product-media:hover .ekoo-product-hover-image { opacity: 1; }
.ekoo-product-index, .ekoo-product-purity { color: #fff; font-family: 'Cinzel', serif; font-size: .55rem; letter-spacing: .12em; position: absolute; text-transform: uppercase; top: .8rem; }
.ekoo-product-index { left: .8rem; opacity: .8; }
.ekoo-product-purity { background: rgba(24, 18, 12, .7); padding: .35rem .45rem; right: .8rem; }
.ekoo-product-info { padding-top: 1rem; }
.ekoo-product-info h2 { color: #221b14; font-family: 'Playfair Display', Georgia, serif; font-size: 1.12rem; font-weight: 500; line-height: 1.15; margin: .5rem 0 .9rem; min-height: 2.35rem; text-transform: none; }
.ekoo-product-info h2 a:hover { color: #927042; }
.ekoo-product-buy { align-items: center; border-top: 1px solid rgba(36, 29, 20, .14); display: flex; font-size: .76rem; justify-content: space-between; padding-top: .75rem; }
.ekoo-product-buy > span { color: #221b14; font-family: 'Cinzel', serif; font-size: .68rem; letter-spacing: .05em; }
.ekoo-product-buy button { background: none; border: 0; color: #927042; cursor: pointer; font-family: 'Cinzel', serif; font-size: .57rem; letter-spacing: .11em; padding: 0; text-transform: uppercase; }
.ekoo-product-buy button:hover { color: #221b14; }
.ekoo-product-buy button i { font-size: .55rem; margin-left: .25rem; }
.ekoo-collection-notice { background: #fbf4df; border: 1px solid #ddc98b; color: #6e5421; font-size: .75rem; margin-bottom: 2rem; padding: .8rem 1rem; }
.ekoo-collection-empty { background: #f7f3eb; padding: 6rem 1.5rem; text-align: center; }
.ekoo-collection-empty h2 { color: #221b14; font-family: 'Ekoo Fitzgerald', Georgia, serif; font-size: 2rem; font-weight: 400; text-transform: uppercase; }
.ekoo-collection-page { background: #f2ebe1; color: #24151a; }
.ekoo-collection-page .ekoo-collection-intro { background: #e3d5c4; padding: 4.5rem 0 3rem; }
.ekoo-collection-page .ekoo-collection-heading h1 { color: #58111f; }
.ekoo-collection-page .ekoo-collection-heading p { color: rgba(36, 21, 26, .72); }
.ekoo-collection-page .ekoo-collection-main { padding-top: 2rem; }
.ekoo-collection-page .ekoo-collection-toolbar { border-color: rgba(139, 20, 37, .18); color: rgba(36, 21, 26, .7); }
.ekoo-collection-page .ekoo-collection-grid { gap: 4rem 1.5rem; }
.ekoo-collection-page .ekoo-product-media { background: transparent; aspect-ratio: .82; }
.ekoo-collection-page .ekoo-product-info h2 { color: #58111f; font-size: 1.3rem; letter-spacing: -.01em; }
.ekoo-collection-page .ekoo-product-category,
.ekoo-collection-page .ekoo-product-buy button { color: #8b1425; }
.ekoo-collection-page .ekoo-product-buy { border-color: rgba(139, 20, 37, .18); }
.ekoo-product-gallery-image { inset: 0; opacity: 0 !important; position: absolute !important; transition: opacity .55s ease, transform .7s cubic-bezier(.16, 1, .3, 1); }
.ekoo-product-gallery-image.is-active { opacity: 1 !important; position: relative !important; }
.ekoo-product-media:hover .ekoo-product-gallery-image.is-active { transform: scale(1.035); }
.ekoo-product-gallery-dots { bottom: .75rem; display: flex; gap: .3rem; left: 50%; position: absolute; transform: translateX(-50%); z-index: 3; }
.ekoo-product-gallery-dots button { background: rgba(251, 248, 243, .5); border: 0; border-radius: 50%; cursor: pointer; height: .35rem; padding: 0; width: .35rem; }
.ekoo-product-gallery-dots button.is-active { background: #8b1425; }
.watch-gallery-image { inset: 0; opacity: 0; position: absolute; transition: opacity .55s ease, transform .8s cubic-bezier(.16, 1, .3, 1); }
.watch-gallery-image { opacity: 0 !important; position: absolute !important; }
.watch-gallery-image.is-active { opacity: 1 !important; position: relative !important; }
.watch-product-media:hover .watch-gallery-image.is-active { transform: scale(1.04); }
.watch-gallery-dots { bottom: .75rem; display: flex; gap: .3rem; left: 50%; position: absolute; transform: translateX(-50%); z-index: 4; }
.watch-gallery-dots button { background: rgba(251, 248, 243, .62); border: 0; border-radius: 50%; cursor: pointer; height: .4rem; padding: 0; width: .4rem; }
.watch-gallery-dots button.is-active { background: #8b1425; box-shadow: 0 0 0 .1rem rgba(241, 209, 141, .8); }
.ekoo-collection-page .ekoo-collection-audiences a.is-active,
.ekoo-collection-page .ekoo-collection-audiences a:hover,
.ekoo-collection-page .ekoo-collection-categories a.is-active,
.ekoo-collection-page .ekoo-collection-categories a:hover { border-color: #8b1425; color: #8b1425; }
.ekoo-watch-theme #mainHeader .ekoo-brand-word,
.ekoo-watch-theme #mainHeader button,
.ekoo-watch-theme #mainHeader a { color: #fbf8f3 !important; }
.ekoo-watch-theme #mainHeader {
    background: #8b1425 !important;
    border-color: rgba(212, 177, 107, .35) !important;
    box-shadow: 0 8px 24px rgba(63, 20, 28, .22) !important;
}
.ekoo-watch-theme #mainHeader .ekoo-brand-word { color: #fbf8f3 !important; }
.ekoo-watch-theme #mainHeader button:hover,
.ekoo-watch-theme #mainHeader a:hover { color: #e3c27f !important; }
.ekoo-watch-theme #mainHeader input {
    background: rgba(255, 255, 255, .96) !important;
    border-color: rgba(212, 177, 107, .7) !important;
    color: #4d392a !important;
}
.ekoo-watch-theme #mainHeader input::placeholder { color: rgba(77, 57, 42, .58) !important; }
.ekoo-watch-theme #mainHeader .text-neutral-700,
.ekoo-watch-theme #mainHeader .text-neutral-400,
.ekoo-watch-theme #mainHeader .text-neutral-800 { color: #fbf8f3 !important; }
.ekoo-watch-theme #mainHeader .text-neutral-400 { opacity: .8; }
.ekoo-watch-theme #mainHeader .bg-white { background: rgba(255, 255, 255, .96) !important; }
.ekoo-watch-theme #mainHeader .border-neutral-300 { border-color: rgba(212, 177, 107, .65) !important; }

.ekoo-watch-theme #mobileNavDrawer {
    background: #fbf8f3 !important;
    border-right: 4px solid #8b1425;
}
.ekoo-watch-theme #mobileNavDrawer > div:first-child {
    background: #8b1425 !important;
    border-color: rgba(212, 177, 107, .4) !important;
}
.ekoo-watch-theme #mobileNavDrawer > div:nth-child(2) {
    background: #f3e7d9;
    border-color: rgba(139, 20, 37, .16) !important;
}
.ekoo-watch-theme #mobileNavDrawer nav a:hover {
    background: #f3e7d9 !important;
    color: #8b1425 !important;
}
.ekoo-watch-theme #mobileNavDrawer nav i { color: #a6192e !important; }
.ekoo-watch-theme #mobileNavDrawer > div:last-child {
    border-color: rgba(139, 20, 37, .2) !important;
    background: #fff !important;
}

/* The homepage header: sleek, ultra-clean luxury navigation */
.ekoo-home .ekoo-announcement { display: none; }
.ekoo-home #mainHeader {
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid #E5D5C5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    width: 100%;
}
.ekoo-home #mainHeader .ekoo-site-header { max-width: 100%; }
.ekoo-home #mainHeader .ekoo-brand-word {
    color: #1C1614 !important;
    font-family: 'Cinzel', serif !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.22em !important;
}
.ekoo-home #mainHeader button,
.ekoo-home #mainHeader a {
    color: #1C1614;
}
.ekoo-home #mainHeader input {
    background: #FAF8F5;
    border: 1.5px solid #CAA36A;
    color: #1C1614;
}
.ekoo-home #mainHeader input::placeholder { color: #796A5B; }
.ekoo-home .watch-hero {
    min-height: 100svh !important;
}
.ekoo-luxury-footer {
    background:
        radial-gradient(circle at 78% 12%, rgba(213, 178, 125, .13), transparent 28rem),
        linear-gradient(135deg, #281419 0%, #3b1a25 52%, #1e0d13 100%) !important;
    position: relative;
    overflow: hidden;
}
.ekoo-luxury-footer:before {
    background: linear-gradient(110deg, transparent 30%, rgba(255, 224, 157, .16), transparent 64%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(-100%);
    animation: footerGoldSweep 10s ease-in-out infinite;
}
.ekoo-luxury-footer > div { position: relative; z-index: 1; }
.ekoo-luxury-footer a { transition: color .25s ease, transform .25s ease; }
.ekoo-luxury-footer a:hover { color: #f1d18d !important; }
@keyframes footerGoldSweep {
    0%, 30% { transform: translateX(-100%); }
    65%, 100% { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
    .ekoo-luxury-footer:before { animation: none; }
}

/* Keep editorial display type crisp; Fitzgerald remains reserved for the wordmark. */
.ekoo-collection-heading h1,
.ekoo-product-info h2,
.ekoo-collection-empty h2,
.watch-display,
.watch-section-title,
.watch-product-name,
.watch-reel-copy h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-weight: 500;
    text-shadow: none !important;
}
.ekoo-collection-page,
.ekoo-collection-page p,
.ekoo-collection-page span,
.ekoo-collection-page a,
.ekoo-collection-page button,
.watch-product-meta,
.watch-kicker {
    text-shadow: none !important;
}

@media (max-width: 900px) {
    .ekoo-collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .ekoo-collection-wrap { width: min(100% - 2rem, 92rem); }
    .ekoo-collection-intro { padding: 4rem 0 2.5rem; }
    .ekoo-collection-toolbar { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .ekoo-collection-categories { justify-content: flex-start; margin-inline: -.55rem; }
    .ekoo-collection-grid { gap: 2.5rem .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ekoo-product-info h2 { font-size: .93rem; }
    .ekoo-product-buy { align-items: flex-start; flex-direction: column; gap: .55rem; }
}

@media (prefers-reduced-motion: no-preference) {
    .ekoo-home main > section {
        content-visibility: auto;
        contain-intrinsic-size: auto 760px;
    }

    .ekoo-home [data-scroll-animate] {
        opacity: 0.001;
        transform: translate3d(0, 32px, 0);
        transition: opacity 620ms ease, transform 760ms cubic-bezier(.16, 1, .3, 1);
    }

    @media (prefers-reduced-motion: no-preference) {
        .ekoo-home main > section {
            scroll-margin-top: 5.5rem;
        }

        .ekoo-home main > section > div {
            transition: transform 700ms cubic-bezier(.16, 1, .3, 1);
        }

        .ekoo-home main > section:hover > div {
            transform: translateZ(0);
        }
    }

    .ekoo-home [data-scroll-animate].ekoo-scroll-visible {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    .ekoo-home main > section,
    .ekoo-home main > section img,
    .ekoo-home main > section video {
        backface-visibility: hidden;
    }

}

@media (prefers-reduced-motion: reduce) {
    .ekoo-home [data-scroll-animate] { opacity: 1; transform: none; }
}
