[x-cloak] { display: none !important; }

html { scroll-padding-top: 100px; }

body {
    background:
        radial-gradient(circle at 0% 20%, rgba(217,155,11,.06), transparent 25rem),
        #FBF7EE;
}

.luxury-pattern {
    background-image:
        linear-gradient(rgba(86, 15, 32, .965), rgba(52, 8, 18, .965)),
        url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23d99b0b' fill-opacity='.13'%3E%3Cpath d='M40 0c5 14 14 25 28 32-14 7-23 18-28 32-5-14-14-25-28-32C26 25 35 14 40 0zm0 16c-3 7-8 12-15 16 7 4 12 9 15 16 3-7 8-12 15-16-7-4-12-9-15-16z'/%3E%3C/g%3E%3C/svg%3E");
}

.gold-text {
    background: linear-gradient(110deg, #fff0b2 0%, #d99b0b 45%, #fff3c8 75%, #b87506 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.glass {
    background: rgba(255, 251, 245, .88);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.hero {
    min-height: 790px;
    position: relative;
}

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 80% 40%, transparent 0, rgba(0,0,0,.06) 55%, rgba(0,0,0,.25) 100%),
        linear-gradient(to top, rgba(22,5,9,.35), transparent 34%);
    z-index: 2;
}

.ornament::before,
.ornament::after {
    content: "";
    width: 55px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #d99b0b);
}

.ornament::after {
    background: linear-gradient(90deg, #d99b0b, transparent);
}

.category-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(26, 4, 9, .94), rgba(39, 5, 12, .06) 65%);
    transition: .5s ease;
}

.category-card:hover::after {
    background: linear-gradient(to top, rgba(86, 15, 32, .96), rgba(39, 5, 12, .02) 72%);
}

.category-card img,
.product-image {
    transition: transform .75s cubic-bezier(.2,.7,.2,1);
}

.category-card:hover img,
.product-card:hover .product-image {
    transform: scale(1.08);
}

.product-actions {
    transform: translateY(14px);
    opacity: 0;
    transition: .3s ease;
}

.product-card:hover .product-actions {
    transform: translateY(0);
    opacity: 1;
}

.shimmer {
    position: relative;
    overflow: hidden;
}

.shimmer::after {
    content: "";
    position: absolute;
    inset: -100% -40%;
    background: linear-gradient(110deg, transparent 42%, rgba(255,255,255,.35) 50%, transparent 58%);
    transform: translateX(-60%);
    transition: transform .8s;
}

.shimmer:hover::after { transform: translateX(60%); }

.nav-link {
    position: relative;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    width: 0;
    height: 1.5px;
    background: #b87506;
    transition: .3s ease;
    transform: translateX(-50%);
}

.nav-link:hover::after,
.nav-link.active::after { width: 100%; }

@media (max-width: 768px) {
    .hero {
        min-height: 720px;
    }

    .hero-bg-layer {
        background-position: 64% center;
    }

    .product-actions {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== Hero: Ken Burns background effect ===== */
.hero-bg-layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-size: cover;
    background-position: center 23%;
    opacity: 0;
    transition: opacity 1.2s ease;
    animation: kenburns 22s ease-in-out infinite alternate;
    will-change: transform;
}

.hero-bg-layer.active {
    opacity: 1;
}

/* ===== Hero: Desktop sizing (customize here) ===== */
@media (min-width: 1024px) {
    .hero {
        min-height: 790px;   
    }

    .hero-bg-layer {
        background-position: center 23%; 
    }
}

/* ===== Hero: Tablet sizing (768px - 1023px) ===== */
@media (min-width: 768px) and (max-width: 1023px) {
    .hero {
        min-height: 650px;
    }

    .hero-bg-layer {
        background-position: center 23%;
    }
}

@keyframes kenburns {
    0%   { transform: scale(1) translate(0, 0); }
    100% { transform: scale(1.12) translate(-1.5%, -1%); }
}

.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(28, 5, 10, .6) 0%, rgba(48, 8, 17, .42) 47%, rgba(38, 5, 12, .1) 100%);
    pointer-events: none;
}

/* ===== Hero: staggered text fade-in animation ===== */
@keyframes heroFadeInUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

.hero-anim {
    opacity: 0;
    animation: heroFadeInUp .8s ease-out forwards;
}

.hero-anim-1 { animation-delay: .1s; }
.hero-anim-2 { animation-delay: .25s; }
.hero-anim-3 { animation-delay: .4s; }
.hero-anim-4 { animation-delay: .6s; }
.hero-anim-5 { animation-delay: .8s; }

.product-description { font-size: .875rem; line-height: 1.8rem; color: rgba(23, 20, 18, .75); }
.product-description p { margin: 0 0 1rem; }
.product-description h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 600; color: #340812; margin: 1.5rem 0 .6rem; }
.product-description h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 600; color: #340812; margin: 1.25rem 0 .5rem; }
.product-description h4 { font-weight: 700; color: #560f20; margin: 1rem 0 .4rem; }
.product-description ul { list-style: disc; padding-left: 1.4rem; margin: 0 0 1rem; }
.product-description ol { list-style: decimal; padding-left: 1.4rem; margin: 0 0 1rem; }
.product-description li { margin-bottom: .3rem; }
.product-description a { color: #8b2234; text-decoration: underline; }
.product-description blockquote { border-left: 3px solid #d99b0b; padding-left: 1rem; font-style: italic; margin: 1rem 0; }
.product-description hr { border: 0; border-top: 1px solid rgba(86, 15, 32, .15); margin: 1.25rem 0; }
.product-description table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .875rem; }
.product-description th, .product-description td { border: 1px solid rgba(86, 15, 32, .15); padding: .6rem .85rem; text-align: left; vertical-align: top; }
.product-description th { background: #fff7f7; font-weight: 600; color: #560f20; }
.product-description tr:nth-child(even) td { background: rgba(255, 247, 247, .5); }
@media (max-width: 640px) { .product-description table { display: block; overflow-x: auto; } }

/* ===== Editorial Banner: Exclusive Collection marquee (right to left) ===== */
.marquee-track {
    display: flex;
    width: max-content;
    animation: marqueeRTL 35s linear infinite;
}

@keyframes marqueeRTL {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
/* hero-kb-v2 : smooth crossfade + continuous Ken Burns zoom */
@keyframes kbzoom {
    from { transform: scale(1) translate3d(0, 0, 0); }
    to   { transform: scale(1.14) translate3d(-1.2%, -0.8%, 0); }
}
#hero-carousel .hero-bg-layer {
    opacity: 0;
    transition: opacity 1.8s ease-in-out;
    animation: kbzoom 11s linear forwards;
    will-change: opacity, transform;
    backface-visibility: hidden;
}
#hero-carousel .hero-bg-layer.active {
    opacity: 1;
    z-index: 1;
}
@media (prefers-reduced-motion: reduce) {
    #hero-carousel .hero-bg-layer { animation: none; transition: none; }
}