/* ═══════════════════════════════════════════════════════════════
   Theme: Ivory Editorial — Google Stitch Design
   Background: Warm Ivory (#FCFAF2)
   Accents: Warm Gold (#C8A97E) + Onyx (#111111) + Deep Emerald (#064E3B)
   Typography: Playfair Display (headlines) + DM Sans (body)
   Radius: 0 (sharp editorial edges throughout)
   Header: Transparent floating with backdrop-blur, sticky on scroll
   Cards: 3:4 ratio, slide-up "QUICK ADD" overlay on hover
   ═══════════════════════════════════════════════════════════════ */

:root{
    --gold:#c8a97e;--gold-light:#e2c195;--gold-dark:#a88a5e;
    --dark:#111111;--dark2:#1a1a1a;--dark3:#2e312f;
    --light:#fcfaf2;--light2:#f2f4f1;--light3:#e1e3e0;
    --text:#191c1b;--text-light:#404944;--text-muted:#707974;
    --white:#fafafa;--danger:#800000;--success:#064e3b;
    --emerald:#064e3b;
    --shadow:0 4px 6px -1px rgba(0,0,0,.05);--shadow-lg:0 20px 60px rgba(0,0,0,.08);
    --radius:0;--transition:.5s cubic-bezier(.16,1,.3,1);
}

/* ═══ GLOBAL ═══ */
body{background:var(--light)!important;color:var(--text);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.01em;line-height:1.2}
a{color:var(--dark);transition:color .3s}a:hover{color:var(--gold)}
::selection{background:var(--gold);color:var(--dark)}

/* ═══ ANNOUNCEMENT BANNER ═══ */
.top-banner{background:var(--dark)!important;color:var(--white);font-size:.68rem;letter-spacing:.2em;font-weight:600;padding:10px 20px}

/* ═══ HEADER — Floating transparent with blur ═══ */
.site-header{
    background:rgba(252,250,242,.85)!important;
    backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
    border:none!important;border-bottom:1px solid rgba(17,17,17,.05)!important;
    box-shadow:none!important;
    position:sticky!important;top:0;z-index:100;
    transition:background .4s,box-shadow .4s
}
.header-top{padding:20px 64px}
.header-top .logo{color:var(--dark)!important;font-size:1.6rem;font-weight:700;letter-spacing:-.02em}
.header-top .logo img{height:40px!important;filter:none}
.header-search{border:1.5px solid var(--light3);border-radius:0;background:transparent}
.header-search:focus-within{border-color:var(--gold);box-shadow:none}
.header-search input{color:var(--text);font-size:.85rem}
.header-search input::placeholder{color:var(--text-muted)}
.header-search button{color:var(--gold)}
.header-actions a{color:var(--text-light)!important;font-size:.8rem;font-weight:500}
.header-actions a:hover{color:var(--gold)!important}
.cart-badge{background:var(--dark)!important;color:var(--gold)!important;font-weight:700}
.mobile-menu-btn{color:var(--dark)!important}

/* ═══ NAV — Sharp, uppercase, gold active underline ═══ */
.main-nav{background:transparent!important;border:none!important;justify-content:center;padding:0 64px}
.main-nav>a,.nav-dropdown>a{
    color:var(--text-light)!important;font-size:.7rem;font-weight:500;
    letter-spacing:.1em;text-transform:uppercase;padding:12px 24px;
    border-bottom:2px solid transparent!important;transition:all .3s
}
.main-nav>a:hover,.main-nav>a.active,.nav-dropdown>a:hover{color:var(--dark)!important;border-bottom-color:var(--gold)!important}
.nav-dropdown-menu{background:var(--light);border:1px solid var(--light3);border-top:2px solid var(--gold);box-shadow:var(--shadow-lg)}
.nav-dropdown-menu a{color:var(--text-light);font-size:.75rem}
.nav-dropdown-menu a:hover{color:var(--gold);background:rgba(200,169,126,.04)}

/* ═══ HERO — Full viewport, editorial overlay ═══ */
body.has-hero .site-header{position:sticky!important;background:rgba(252,250,242,.85)!important}
.hero-slider{margin:0!important;border-radius:0!important;border:none!important;overflow:hidden}
.hero-slider .slide img{height:100vh;min-height:700px;filter:none}
.hero-slider .slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.4) 0%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.4) 100%)}
.hero-slider .slide-content{text-align:center!important;max-width:800px!important}
.hero-slider .slide-content h2{font-size:3.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.1}
.hero-slider .slide-content p{font-size:1.05rem;font-weight:400;letter-spacing:.02em;opacity:.9;line-height:1.7}
.hero-slider .slide-content .btn{
    background:var(--dark);color:var(--gold);border:none;
    font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
    padding:16px 40px;transition:all .5s
}
.hero-slider .slide-content .btn:hover{background:var(--emerald);color:#fff}

/* Slider controls */
.slider-btn{border-radius:0;width:48px;height:48px;background:rgba(17,17,17,.3);color:#fff;border:none;backdrop-filter:blur(4px)}
.slider-btn:hover{background:var(--dark)}
.slider-dots{bottom:40px}
.slider-dots .dot{width:32px;height:2px;border-radius:0;background:rgba(255,255,255,.3);transition:all .4s}
.slider-dots .dot.active{background:var(--gold);width:48px}

/* No-slider hero */
.no-slider-hero{background:var(--dark);min-height:50vh;margin:0}
.no-slider-hero h1{font-size:3rem;font-weight:600;letter-spacing:-.02em;color:#fff}
.no-slider-hero p{color:rgba(255,255,255,.7);font-weight:400}

/* ═══ FEATURES — Horizontal with borders ═══ */
.features-strip{background:var(--light2)!important;border-top:1px solid rgba(17,17,17,.05)!important;border-bottom:1px solid rgba(17,17,17,.05)!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;animation:none!important;box-shadow:none!important}
.features-strip .feature-item{border-right:1px solid rgba(17,17,17,.08);padding:28px 24px;text-align:left;animation:none!important;transform:none!important}
.features-strip .feature-item:last-child{border-right:none}
.feature-item i{color:var(--gold);font-size:1.4rem;background:none;width:auto;height:auto;margin-bottom:0}
.feature-item h4{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--dark)}
.feature-item p{font-size:.7rem;color:var(--text-muted);font-weight:400}

/* ═══ SECTION HEADERS — Large display type with gold bar ═══ */
.section-header{margin:80px 0 40px;position:relative}
.section-header h2{font-size:2.2rem;font-weight:600;color:var(--dark);letter-spacing:-.02em}
.section-header h2::after{content:'';display:block;width:60px;height:3px;background:var(--gold);margin-top:12px}
.section-header a{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark);font-weight:500;border-bottom:1px solid var(--dark);padding-bottom:2px;transition:all .3s}
.section-header a:hover{color:var(--gold);border-color:var(--gold)}

/* ═══ PRODUCT CARDS — Editorial, slide-up overlay ═══ */
.grid{gap:32px!important}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}
.card{border-radius:0!important;border:none!important;box-shadow:none!important;background:transparent!important;overflow:visible}
.card:hover{transform:none!important;box-shadow:none!important}
.card .img-wrap{aspect-ratio:3/4;overflow:hidden;background:var(--light2);position:relative}
.card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.card:hover .img-wrap img{transform:scale(1.05)}

/* Slide-up quick action overlay */
.card .img-wrap::after{content:'QUICK VIEW';position:absolute;bottom:0;left:0;right:0;background:rgba(250,250,250,.9);backdrop-filter:blur(4px);color:var(--dark);text-align:center;padding:14px;font-size:.7rem;letter-spacing:.15em;font-weight:500;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.card:hover .img-wrap::after{transform:translateY(0)}
.card .img-wrap::before{display:none!important}

.card .card-body{padding:16px 0!important;text-align:left!important;background:transparent!important}
.card .card-body h3{font-size:.9rem;font-weight:400;margin-bottom:4px;color:var(--dark);letter-spacing:0}
.card .card-body .price{font-size:.88rem;font-weight:700;color:var(--dark)}
.card .card-body .price .old{color:var(--text-muted);font-size:.78rem;font-weight:400;text-decoration:line-through}
.card .badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--dark);color:var(--gold);font-size:.62rem;letter-spacing:.1em;font-weight:600;padding:6px 14px;border-radius:0}

/* ═══ CATEGORY CARDS ═══ */
.cat-card{border-radius:0;border:1px solid var(--light3);background:var(--light2)}
.cat-card:hover{border-color:var(--gold);background:var(--light)}
.cat-card i{color:var(--gold)}
.cat-card h4{font-size:.75rem;letter-spacing:.08em;font-weight:600;text-transform:uppercase}

/* ═══ BUTTONS — Sharp, onyx + gold ═══ */
.btn{border-radius:0!important;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:500;transition:all .4s}
.btn:active{transform:scale(.97)}
.btn-primary,.btn-gold{background:var(--dark);color:var(--gold);border:none}
.btn-primary:hover,.btn-gold:hover{background:var(--emerald);color:#fff}
.btn-outline{border:1.5px solid var(--dark);color:var(--dark)}
.btn-outline:hover{background:var(--dark);color:var(--white)}
.btn-danger{border:1px solid var(--light3);color:var(--text-muted)}
.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}

/* ═══ PRODUCT PAGE ═══ */
.product-carousel{border-radius:0!important;box-shadow:none!important;border:none}
.product-detail .info h1{font-size:1.8rem;font-weight:500;letter-spacing:-.01em;color:var(--dark)}
.product-detail .info .price{font-size:1.2rem;color:var(--dark);font-weight:700}
.category-tag{border-radius:0;background:transparent;border:1px solid var(--light3);color:var(--text-light);letter-spacing:.1em;font-size:.65rem;font-weight:500}
.attr-chip span{border-radius:0!important;border-color:var(--light3)!important}
.attr-chip input:checked+span:not(.color-swatch){border-color:var(--dark)!important;background:var(--dark)!important;color:var(--gold)!important}
.attr-chip span:not(.color-swatch):hover{border-color:var(--gold)!important}
.add-to-cart-form .btn{width:100%;padding:18px;font-size:.76rem;letter-spacing:.2em;background:var(--dark);color:var(--gold);border:none}
.add-to-cart-form .btn:hover{background:var(--emerald);color:#fff}
.thumb{border-radius:0!important;border:1px solid var(--light3)!important}

/* ═══ FORMS ═══ */
input,select,textarea{border-radius:0!important;border:1.5px solid var(--light3)!important;font-weight:400}
input:focus,select:focus,textarea:focus{border-color:var(--gold)!important;box-shadow:none!important}

/* ═══ ALERTS ═══ */
.alert{border-radius:0}
.alert.success{background:#f0f7f0;border:1px solid #c8e6c8}
.alert.error{background:#fdf0f0;border:1px solid #f5c6c6}

/* ═══ CART ═══ */
.cart-table th{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--dark);font-weight:600;color:var(--dark)}

/* ═══ FOOTER — Dark onyx with gold accents ═══ */
footer{background:var(--dark)!important;border:none;padding:80px 64px 32px}
footer h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--white)!important}
footer .footer-grid h4{color:var(--white)!important}
footer a{color:rgba(255,255,255,.4)!important;font-size:.78rem;font-weight:400}
footer a:hover{color:var(--gold)!important}
footer p{color:rgba(255,255,255,.35)!important;font-size:.78rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:48px;padding-top:20px}

/* ═══ SCROLLBAR ═══ */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--light)}
::-webkit-scrollbar-thumb{background:var(--light3)}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}

/* ═══ ANIMATIONS ═══ */
@keyframes cartBounce{0%{transform:scale(1)}40%{transform:scale(1.3)}100%{transform:scale(1)}}
body::before{display:none!important}

/* ═══ RESPONSIVE ═══ */
@media(max-width:768px){
    .header-top{padding:16px 20px}
    .header-top .logo{font-size:1.3rem}
    .main-nav{padding:0 20px}
    .main-nav>a,.nav-dropdown>a{padding:10px 14px;font-size:.62rem;letter-spacing:.08em}
    .hero-slider .slide img{height:85vh;min-height:auto}
    .hero-slider .slide-content h2{font-size:2rem}
    .container{padding:16px 20px}
    .grid-4{grid-template-columns:repeat(2,1fr)!important;gap:16px!important}
    .card .img-wrap::after{display:none}
    .section-header h2{font-size:1.5rem}
    .features-strip{grid-template-columns:repeat(2,1fr)!important}
    .features-strip .feature-item{border-bottom:1px solid rgba(17,17,17,.05)}
    footer{padding:40px 20px 24px}
}

@media(prefers-reduced-motion:reduce){
    *{transition-duration:.01ms!important;animation-duration:.01ms!important}
    .card:hover .img-wrap img{transform:none}
}
