/* Theme: Maison — Full-bleed hero with overlay header */

:root{
    --gold:#c8a97e;--gold-light:#e0cba8;--gold-dark:#a88a5e;
    --dark:#111;--dark2:#1a1a1a;--dark3:#252525;
    --light:#fafafa;--light2:#f2f2f2;--light3:#e0e0e0;
    --text:#222;--text-light:#666;--text-muted:#999;
    --white:#fff;--danger:#c0392b;--success:#27ae60;
    --shadow:0 2px 12px rgba(0,0,0,.06);--shadow-lg:0 12px 40px rgba(0,0,0,.1);
    --radius:0;--transition:.4s cubic-bezier(.25,.1,.25,1);
}

body{line-height:1.7}
h1,h2,h3,h4{font-weight:400;letter-spacing:.06em}

/* ===== DEFAULT HEADER (non-homepage) — Solid dark ===== */
.site-header{background:#111!important;box-shadow:none!important;border:none!important;position:relative;z-index:100}
.header-top{padding:20px 48px}
.header-top .logo{color:#fff!important;font-size:1.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
.header-top .logo img{height:44px!important;filter:brightness(10)}
.header-search{border:1px solid rgba(255,255,255,.2);border-radius:50px;background:rgba(255,255,255,.05)}
.header-search:focus-within{border-color:rgba(255,255,255,.4);box-shadow:none}
.header-search input{color:#fff;font-size:.82rem}
.header-search input::placeholder{color:rgba(255,255,255,.4)}
.header-search button{color:rgba(255,255,255,.5)}
.header-actions a{color:rgba(255,255,255,.8)!important;font-size:.8rem}
.header-actions a:hover{color:#fff!important}
.cart-badge{background:var(--gold)!important}
.mobile-menu-btn{color:#fff!important;font-size:1.5rem!important;z-index:200}
.close-nav{color:#ccc!important}

/* Nav — dark */
.main-nav{background:#111!important;border:none!important;justify-content:center;padding:0 48px}
.main-nav>a,.nav-dropdown>a{color:rgba(255,255,255,.6)!important;font-size:.72rem;letter-spacing:.18em;padding:12px 24px;border-bottom:2px solid transparent!important;font-weight:500}
.main-nav>a:hover,.main-nav>a.active,.nav-dropdown>a:hover{color:#fff!important;border-bottom-color:var(--gold)!important}
.nav-dropdown-menu{background:#111;border-top:2px solid var(--gold);border-radius:0}
.nav-dropdown-menu a{color:rgba(255,255,255,.6);font-size:.75rem;letter-spacing:.08em}
.nav-dropdown-menu a:hover{background:rgba(255,255,255,.05);color:#fff}

/* Banner */
.top-banner{background:var(--gold);color:#111;font-size:.7rem;letter-spacing:.2em;font-weight:600}

/* ===== HOMEPAGE HERO OVERLAY ===== */
body.has-hero .site-header{
    position:absolute!important;
    top:0;left:0;right:0;
    background:linear-gradient(180deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.2) 70%,transparent 100%)!important;
    z-index:200
}
body.has-hero .main-nav{
    background:transparent!important
}
body.has-hero .top-banner+.site-header{
    top:auto
}
/* Slider full-bleed under the overlay */
body.has-hero .hero-slider{
    margin:-140px -48px 32px!important;
    width:calc(100% + 96px)!important;
    position:relative;
    z-index:1
}

/* ===== HERO SLIDER ===== */
.hero-slider .slide img{height:100vh;filter:brightness(.75)}
.hero-slider .slide::after{background:linear-gradient(0deg,rgba(0,0,0,.4) 0%,transparent 40%,rgba(0,0,0,.15) 100%)}
.hero-slider .slide-content{top:50%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)!important;text-align:center;max-width:700px!important}
.hero-slider .slide-content h2{font-size:3rem;font-weight:300;letter-spacing:.12em;line-height:1.15}
.hero-slider .slide-content p{font-size:1rem;letter-spacing:.08em;font-weight:300;opacity:.85}
.hero-slider .slide-content .btn{border-color:rgba(255,255,255,.4);color:#fff;background:transparent;align-self:center!important}
.hero-slider .slide-content .btn:hover{background:#fff;color:#111;border-color:#fff}
.slider-btn{border-radius:0;width:52px;height:52px;background:rgba(0,0,0,.3);color:#fff;border:1px solid rgba(255,255,255,.15)}
.slider-btn:hover{background:rgba(0,0,0,.5)}
.slider-dots{bottom:32px}
.slider-dots .dot{width:40px;height:2px;border-radius:0;background:rgba(255,255,255,.3)}
.slider-dots .dot.active{background:#fff;width:56px}

/* No-slider hero */
.no-slider-hero{margin:0 -48px 32px!important;width:calc(100% + 96px)!important;min-height:60vh;background:#111}
.no-slider-hero h1{font-size:2.8rem;font-weight:200;letter-spacing:.15em}
.no-slider-hero p{letter-spacing:.1em;font-weight:300}

/* ===== FEATURES ===== */
.features-strip{background:#fff;box-shadow:none;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}
.feature-item{border-right:1px solid #e5e5e5;padding:32px 24px}
.feature-item:last-child{border-right:none}
.feature-item i{background:none;color:var(--gold);font-size:1.3rem;width:auto;height:auto}
.feature-item h4{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-family:inherit;font-weight:600}
.feature-item p{font-size:.72rem}

/* ===== CARDS ===== */
.grid{gap:20px!important}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important}
.card{border-radius:0;border:none;box-shadow:none;background:#fff;overflow:hidden}
.card:hover{transform:none;box-shadow:var(--shadow-lg)}
.card .img-wrap{aspect-ratio:3/4;overflow:hidden;background:#f5f5f5;position:relative}
.card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,.1,.25,1)}
.card:hover .img-wrap img{transform:scale(1.06)}
.card .img-wrap::after{content:'VIEW';position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);color:#fff;text-align:center;padding:12px;font-size:.7rem;letter-spacing:.2em;transform:translateY(100%);transition:transform .4s}
.card:hover .img-wrap::after{transform:translateY(0)}
.card .card-body{padding:16px 8px;text-align:left!important}
.card .card-body h3{font-size:.82rem;letter-spacing:.04em;font-weight:500;margin-bottom:4px}
.card .card-body .price{font-size:.88rem;font-weight:400;color:#111}
.card .card-body .price .old{color:#bbb}
.card .badge{border-radius:0;background:var(--gold);color:#fff;font-size:.65rem;letter-spacing:.1em}

/* Category */
.cat-section h2{letter-spacing:.15em;font-weight:300}
.cat-card{border-radius:0;border:1px solid #e5e5e5;box-shadow:none}
.cat-card:hover{border-color:#111;transform:none}
.cat-card i{color:var(--gold)}

/* Section headers */
.section-header h2{font-size:1.2rem;letter-spacing:.12em;font-weight:300}
.section-header a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}

/* Product page */
.product-carousel{border-radius:0!important}
.product-detail .info h1{font-size:1.5rem;letter-spacing:.06em;font-weight:400}
.product-detail .info .price{font-size:1.2rem;color:#111}
.category-tag{border-radius:0;letter-spacing:.15em;font-size:.68rem}
.attr-chip span{border-radius:0!important;padding:10px 22px!important}
.attr-chip input:checked+span:not(.color-swatch){background:#111!important;border-color:#111!important;color:#fff!important}
.add-to-cart-form .btn{width:100%;padding:18px;font-size:.78rem}
.thumb{border-radius:0!important}

/* Buttons */
.btn{border-radius:0;letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:500}
.btn-primary{background:#111;color:#fff;border:1px solid #111}.btn-primary:hover{background:var(--gold);border-color:var(--gold);transform:none;box-shadow:none}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-dark)}
.btn-outline{border:1px solid #111;color:#111}.btn-outline:hover{background:#111;color:#fff}

/* Forms */
input,select,textarea{border-radius:0!important}
input:focus,select:focus,textarea:focus{border-color:#111!important;box-shadow:none!important}
.form-card{border-radius:0}
.alert{border-radius:0}

/* Cart */
.cart-table th{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid #111}

/* Footer */
footer{background:#111}
footer h4{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:#fff!important;margin-bottom:16px}
footer .footer-grid h4{color:#fff!important}
footer a{color:#aaa;font-size:.8rem}footer a:hover{color:var(--gold)}
footer p{color:#888;font-size:.8rem}

::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:#fafafa}
::-webkit-scrollbar-thumb{background:#ddd}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}

/* ===== MOBILE ===== */
@media(max-width:768px){
    .header-top{padding:14px 16px;display:flex!important;align-items:center;justify-content:space-between}
    .header-top .logo{font-size:1.3rem;order:1}
    .header-search{display:none!important}
    .header-actions{order:2;display:flex!important;gap:14px}
    .header-actions a span{display:none}
    .mobile-menu-btn{color:#fff!important;font-size:1.5rem!important;position:relative;z-index:201;order:3}
    .main-nav,.main-nav.open,body.has-hero .main-nav,body.has-hero .main-nav.open,#mainNav,#mainNav.open{background:#111!important;opacity:1!important}
    .main-nav .close-nav{color:#fff!important;font-size:1.5rem!important;z-index:301;padding:12px!important}
    .main-nav a,.main-nav .nav-dropdown>a,#mainNav a{color:rgba(255,255,255,.8)!important}
    .main-nav>a,.nav-dropdown>a{padding:8px 12px;font-size:.65rem;letter-spacing:.12em}
    body.has-hero .site-header{position:absolute!important;z-index:200;background:linear-gradient(180deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 60%,transparent 100%)!important}
    body.has-hero .hero-slider{margin:-100px -16px 24px!important;width:calc(100% + 32px)!important}
    .hero-slider .slide img{height:85vh}
    .hero-slider .slide-content h2{font-size:1.8rem}
    .hero-slider .slide-content{max-width:85%!important}
    .no-slider-hero{margin:0 -16px 24px!important;width:calc(100% + 32px)!important}
    .features-strip{grid-template-columns:repeat(2,1fr)}
    .grid-4{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}
    .container{padding:20px 16px}
    footer{padding:40px 20px}
}
@media(max-width:480px){
    .hero-slider .slide img{height:75vh}
    body.has-hero .hero-slider{margin:-90px -16px 24px!important}
}
