:root {
  --navy:#0c1a2e;--navy-mid:#142238;--navy-light:#1e3354;
  --gold:#c9964c;--gold-light:#e8c07a;
  --sand:#f0e6d3;--sand-light:#f9f4ed;
  --white:#ffffff;--text-muted:#8a9ab0;
  --border:rgba(201,150,76,0.2);--border-light:rgba(12,26,46,0.08);
  --green:#2d9b6f;--green-bg:#eaf7f1;
  --amber:#d97706;--amber-bg:#fef3c7;
  --red:#dc2626;--red-bg:#fee2e2;
  --blue:#2563eb;--blue-bg:#dbeafe;
  --purple:#7c3aed;--purple-bg:#ede9fe;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--sand-light);color:var(--navy);}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

/* PROMO BAR */
.promo-bar{background:var(--gold);color:var(--navy);text-align:center;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;}

/* HEADER */
.site-header{position:sticky;top:0;z-index:200;background:var(--navy);padding:0 48px;height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);}
.logo{display:flex;flex-direction:row;align-items:center;gap:12px;text-decoration:none;}
.logo-img{width:40px;height:40px;object-fit:contain;flex-shrink:0;border-radius:6px;}
.logo-text{display:flex;flex-direction:column;line-height:1.15;}
.logo-text strong,.logo-text>:first-child{font-family:'Playfair Display',serif;font-size:17px;font-weight:500;color:var(--white);}
.logo-text span{font-size:8px;font-family:'DM Sans',sans-serif;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-top:2px;display:block;}
/* Legacy — hide if logo image is present */
.logo span.logo-sub{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);}
.nav-main{display:flex;gap:28px;}
.nav-link{color:rgba(255,255,255,.7);font-size:12px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;transition:color .2s;}
.nav-link:hover,.nav-link.active{color:var(--gold);}
.nav-right{display:flex;align-items:center;gap:16px;}
.cart-link{color:var(--white);display:flex;align-items:center;gap:4px;position:relative;}
.cart-badge{background:var(--gold);color:var(--navy);font-size:9px;font-weight:700;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.nav-mobile-toggle{display:none;background:none;border:none;color:var(--white);font-size:20px;cursor:pointer;}
.nav-mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;}
.nav-mobile-overlay.open{display:block;}
.nav-mobile-panel{position:fixed;top:0;right:0;bottom:0;width:260px;background:var(--navy);padding:32px 24px;display:flex;flex-direction:column;gap:20px;}
.nav-mobile-panel a{color:var(--white);font-size:16px;}
.nav-mobile-close{background:none;border:none;color:var(--white);font-size:22px;cursor:pointer;align-self:flex-end;}

/* HERO */
.hero{min-height:92vh;background:#0c1a2e;position:relative;display:block;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,#0c1a2e 0%,#1a3a5c 50%,#0e2440 100%);}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 80%,rgba(255,120,30,.3) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 50% 85%,rgba(255,60,20,.15) 0%,transparent 50%),linear-gradient(to bottom,rgba(12,26,46,.3) 0%,transparent 40%,rgba(12,26,46,.7) 100%);}
.hero-content{position:absolute!important;bottom:0!important;left:0!important;right:auto!important;z-index:10;padding:0 64px 80px;max-width:600px;width:100%;}
.hero-eyebrow{font-size:10px;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(48px,7vw,80px);font-weight:500;line-height:1.05;color:var(--white);margin-bottom:24px;}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:300;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:40px;max-width:480px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{position:absolute;right:64px;bottom:88px;z-index:10;display:flex;flex-direction:column;gap:28px;}
.hero-stat-num{font-family:'Playfair Display',serif;font-size:40px;font-weight:400;color:var(--white);line-height:1;}
.hero-stat-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;text-align:right;}
.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.3);font-size:9px;letter-spacing:.2em;text-transform:uppercase;}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(201,150,76,.8),transparent);animation:sp 2s ease-in-out infinite;}
@keyframes sp{0%,100%{opacity:.4}50%{opacity:1}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:none;transition:all .25s;}
.btn-primary{background:var(--gold);color:var(--navy);}
.btn-primary:hover{background:var(--gold-light);}
.btn-dark{background:var(--navy);color:var(--white);}
.btn-dark:hover{background:var(--navy-light);}
.btn-ghost{background:none;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.3);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn-outline{background:none;color:var(--navy);border:1px solid var(--border-light);padding:10px 20px;}
.btn-outline:hover{border-color:var(--navy);}
.btn-sm{padding:8px 16px;font-size:11px;}
.btn-full{width:100%;justify-content:center;}

/* CATEGORY STRIP */
.category-strip{background:var(--navy);padding:0 64px;display:flex;border-bottom:1px solid var(--border);overflow-x:auto;}
.category-tab{padding:18px 0;margin-right:40px;color:var(--text-muted);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;text-decoration:none;}
.category-tab:hover,.category-tab.active{color:var(--gold);border-bottom-color:var(--gold);}

/* SECTION */
.section{padding:96px 64px;}
.section-sm{padding:60px 64px;}
.section-dark{background:var(--navy);}
.section-sand{background:var(--sand);}
.section-eyebrow{font-size:10px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.15;color:var(--navy);}
.section-title em{font-style:italic;}
.section-dark .section-title{color:var(--white);}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;flex-wrap:wrap;gap:16px;}
.view-all-link{font-size:11px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid var(--navy);padding-bottom:2px;white-space:nowrap;}
.section-dark .view-all-link{color:var(--gold);border-bottom-color:var(--gold);}

/* PRODUCT GRID */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;}
.product-grid-editorial{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:20px;}
.product-card{background:var(--white);cursor:pointer;overflow:hidden;transition:box-shadow .3s;}
.product-card:hover{box-shadow:0 16px 48px rgba(12,26,46,.12);}
.product-card.featured{grid-row:span 2;}
.product-img-wrap{position:relative;overflow:hidden;}
.product-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(12,26,46,.55) 0%,transparent 50%);opacity:0;transition:opacity .3s;}
.product-card:hover .product-img-wrap::after{opacity:1;}
.product-thumb{width:100%;display:block;transition:transform .6s cubic-bezier(.25,.1,.25,1);}
.product-card:hover .product-thumb{transform:scale(1.04);}
.product-thumb-tall{height:520px;}
.product-thumb-med{height:260px;}
.product-badge{position:absolute;top:14px;left:14px;background:var(--gold);color:var(--navy);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;z-index:2;}
.quick-add{position:absolute;bottom:14px;left:50%;transform:translateX(-50%) translateY(6px);background:var(--white);color:var(--navy);border:none;padding:9px 20px;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0;transition:all .25s;white-space:nowrap;z-index:3;}
.product-card:hover .quick-add{opacity:1;transform:translateX(-50%) translateY(0);}
.product-info{padding:16px 18px 20px;}
.product-name{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;color:var(--navy);line-height:1.3;margin-bottom:4px;}
.product-card.featured .product-name{font-size:22px;}
.product-cat{font-size:10px;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;}
.product-price-row{display:flex;justify-content:space-between;align-items:center;}
.product-price{font-size:15px;font-weight:500;color:var(--navy);}
.product-price .from{font-size:10px;font-weight:300;color:var(--text-muted);margin-right:2px;}
.add-btn{width:30px;height:30px;background:var(--navy);color:var(--white);border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.add-btn:hover{background:var(--gold);}

/* FEATURES */
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:56px;}
.feature-item{border-top:1px solid var(--border);padding-top:24px;}
.feature-num{font-family:'Playfair Display',serif;font-size:44px;font-weight:400;color:rgba(201,150,76,.2);line-height:1;margin-bottom:14px;}
.feature-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--white);margin-bottom:8px;}
.feature-text{font-size:13px;font-weight:300;color:var(--text-muted);line-height:1.75;}

/* EDITORIAL SPLIT */
.editorial-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.editorial-photo{position:relative;overflow:hidden;min-height:500px;}
.editorial-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent 60%,var(--sand-light) 100%);}
.editorial-content{background:var(--sand-light);padding:80px 60px;display:flex;flex-direction:column;justify-content:center;}
.editorial-body{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:300;line-height:1.9;color:#4a5a6e;margin-bottom:28px;}

/* TESTIMONIALS */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.testimonial-card{background:var(--white);padding:32px;position:relative;}
.testimonial-card::before{content:'"';font-family:'Playfair Display',serif;font-size:72px;color:var(--gold);opacity:.25;position:absolute;top:12px;left:20px;line-height:1;}
.stars{color:var(--gold);font-size:13px;margin-bottom:10px;}
.testimonial-text{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:400;line-height:1.75;color:var(--navy);margin-bottom:20px;padding-top:28px;}
.testimonial-author{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);}

/* SEO TAGS */
.seo-tags{background:var(--navy-mid);padding:32px 64px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--border);}
.seo-tag{background:rgba(201,150,76,.1);border:1px solid rgba(201,150,76,.25);color:var(--gold);font-size:11px;letter-spacing:.06em;padding:5px 12px;transition:all .2s;text-decoration:none;}
.seo-tag:hover{background:rgba(201,150,76,.2);}

/* SHOP PAGE */
.shop-hero{background:var(--navy);padding:80px 64px 48px;position:relative;overflow:hidden;}
.shop-filters{background:var(--white);border-bottom:1px solid var(--border-light);padding:16px 64px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:64px;z-index:100;}
.filter-btn{background:none;border:1px solid var(--border-light);color:var(--navy);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;cursor:pointer;transition:all .2s;text-decoration:none;}
.filter-btn:hover,.filter-btn.active{background:var(--navy);color:var(--white);border-color:var(--navy);}
.sort-select{border:1px solid var(--border-light);background:var(--white);padding:7px 12px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--navy);cursor:pointer;outline:none;margin-left:auto;}
.search-input{border:1px solid var(--border-light);background:none;padding:7px 14px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--navy);outline:none;}
.search-input::placeholder{color:var(--text-muted);}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;}
.no-results{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--text-muted);}

/* PRODUCT PAGE */
.breadcrumb{font-size:11px;letter-spacing:.08em;color:var(--text-muted);padding:14px 64px;background:var(--navy);display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.breadcrumb a{color:var(--text-muted);transition:color .2s;}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb span{color:rgba(138,154,176,.4);}
.product-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;padding:56px 64px;align-items:start;}
.product-gallery{position:sticky;top:96px;}
.main-image{width:100%;aspect-ratio:4/3;margin-bottom:12px;position:relative;overflow:hidden;}
.main-image .img-sim{width:100%;height:100%;}
.room-badge{position:absolute;bottom:16px;right:16px;background:rgba(12,26,46,.85);color:var(--white);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;cursor:pointer;border:1px solid var(--border);backdrop-filter:blur(4px);}
.thumb-row{display:flex;gap:8px;}
.thumb{flex:1;aspect-ratio:1;cursor:pointer;overflow:hidden;border:2px solid transparent;transition:border-color .2s;}
.thumb.active{border-color:var(--gold);}
.thumb:hover{border-color:rgba(201,150,76,.5);}
.thumb .img-sim{width:100%;height:100%;}
.product-details{padding-top:4px;}
.product-category-tag{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.product-main-title{font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,36px);font-weight:500;line-height:1.15;color:var(--navy);margin-bottom:6px;}
.product-subtitle{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:300;color:var(--text-muted);margin-bottom:20px;font-style:italic;}
.review-row{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-light);flex-wrap:wrap;}
.review-stars{color:var(--gold);font-size:13px;}
.review-count{font-size:12px;color:var(--text-muted);}
.price-display{margin-bottom:28px;}
.price-range{font-family:'Playfair Display',serif;font-size:30px;font-weight:400;color:var(--navy);margin-bottom:4px;}
.price-note{font-size:11px;color:var(--text-muted);}
.option-group{margin-bottom:24px;}
.option-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:10px;display:flex;justify-content:space-between;}
.option-label span{color:var(--text-muted);font-weight:300;letter-spacing:0;text-transform:none;font-size:12px;}
.variant-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.variant-btn{border:1px solid rgba(12,26,46,.2);background:var(--white);padding:9px 6px;font-family:'DM Sans',sans-serif;font-size:11px;color:var(--navy);cursor:pointer;transition:all .2s;text-align:center;line-height:1.4;}
.variant-btn:hover{border-color:var(--navy);}
.variant-btn.active{background:var(--navy);color:var(--white);border-color:var(--navy);}
.variant-price{display:block;font-size:10px;color:var(--gold);margin-top:2px;}
.variant-btn.active .variant-price{color:var(--gold-light);}
.finish-grid{display:flex;gap:8px;flex-wrap:wrap;}
.finish-btn{border:1px solid rgba(12,26,46,.2);background:var(--white);padding:8px 16px;font-family:'DM Sans',sans-serif;font-size:11px;color:var(--navy);cursor:pointer;transition:all .2s;}
.finish-btn.active{background:var(--navy);color:var(--white);border-color:var(--navy);}
.atc-btn{width:100%;background:var(--gold);color:var(--navy);border:none;padding:18px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s;margin-bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px;}
.atc-btn:hover{background:var(--gold-light);}
.atc-btn.dark{background:var(--navy);color:var(--white);}
.atc-btn.dark:hover{background:var(--navy-light);}
.trust-row{display:flex;gap:16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-light);flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-muted);}
.accordion{border-top:1px solid var(--border-light);margin-top:28px;}





.seo-desc{background:var(--sand);padding:64px;}
.seo-desc h2{font-family:'Playfair Display',serif;font-size:26px;font-weight:500;color:var(--navy);margin-bottom:16px;}
.seo-desc p{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:300;line-height:1.9;color:#4a5a6e;max-width:760px;}
.seo-desc p+p{margin-top:14px;}

/* CART */
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:40px;padding:48px 64px;align-items:start;}
.cart-items{display:flex;flex-direction:column;}
.cart-item{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--border-light);align-items:center;}
.cart-item-img{width:80px;height:60px;flex-shrink:0;}
.cart-item-info{flex:1;}
.cart-item-name{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:500;color:var(--navy);margin-bottom:3px;}
.cart-item-variant{font-size:11px;color:var(--text-muted);}
.cart-item-price{font-size:15px;font-weight:600;color:var(--navy);margin-right:12px;}
.qty-control{display:flex;align-items:center;border:1px solid var(--border-light);}
.qty-btn{background:none;border:none;width:30px;height:30px;font-size:16px;cursor:pointer;color:var(--navy);font-family:'DM Sans',sans-serif;transition:background .2s;}
.qty-btn:hover{background:var(--sand-light);}
.qty-display{width:32px;text-align:center;font-size:13px;font-weight:500;}
.remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:4px;transition:color .2s;}
.remove-btn:hover{color:var(--red);}
.cart-summary{background:var(--white);border:1px solid var(--border-light);padding:28px;position:sticky;top:96px;}
.cart-summary-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:500;color:var(--navy);margin-bottom:20px;}
.summary-row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;}
.summary-row.total{font-weight:700;font-size:16px;margin-top:10px;padding-top:14px;border-top:1px solid var(--border-light);}
.promo-form{display:flex;gap:8px;margin:16px 0;}
.promo-input{flex:1;border:1px solid var(--border-light);padding:9px 12px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--navy);outline:none;text-transform:uppercase;}
.promo-msg{font-size:12px;padding:8px 12px;margin-bottom:10px;}
.promo-msg.success{background:var(--green-bg);color:var(--green);}
.promo-msg.error{background:var(--red-bg);color:var(--red);}
.free-ship-bar{background:var(--sand);padding:10px 14px;font-size:12px;color:var(--navy);margin-bottom:14px;text-align:center;}
.free-ship-progress{height:3px;background:rgba(12,26,46,.1);margin-top:6px;border-radius:2px;overflow:hidden;}
.free-ship-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .4s;}

/* CHECKOUT */
.checkout-layout{display:grid;grid-template-columns:1fr 400px;gap:40px;padding:48px 64px;align-items:start;}
.checkout-form h2{font-family:'Playfair Display',serif;font-size:22px;font-weight:500;color:var(--navy);margin-bottom:24px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:0;}
.form-group{margin-bottom:16px;}
.form-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:6px;}
.form-input{width:100%;border:1px solid var(--border-light);padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--navy);outline:none;transition:border-color .2s;background:var(--white);}
.form-input:focus{border-color:var(--gold);}
.shipping-options{display:grid;gap:10px;margin-top:8px;}
.shipping-option{border:1px solid var(--border-light);padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color .2s;}
.shipping-option.selected{border-color:var(--gold);background:rgba(201,150,76,.04);}
.shipping-option input[type=radio]{accent-color:var(--gold);}
.checkout-summary{background:var(--white);border:1px solid var(--border-light);padding:24px;position:sticky;top:96px;}
.checkout-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light);align-items:center;}
.checkout-item:last-child{border-bottom:none;}
.checkout-item-img{width:60px;height:45px;flex-shrink:0;}
.checkout-item-info{flex:1;}
.checkout-item-name{font-size:12px;font-weight:500;color:var(--navy);line-height:1.3;}
.checkout-item-variant{font-size:10px;color:var(--text-muted);}
.checkout-item-price{font-size:13px;font-weight:600;}
.checkout-totals{margin-top:16px;border-top:1px solid var(--border-light);padding-top:14px;}
.secure-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted);margin-top:16px;justify-content:center;}

/* ORDER SUCCESS */
.success-page{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;text-align:center;}
.success-icon{width:72px;height:72px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--white);margin:0 auto 28px;}
.success-title{font-family:'Playfair Display',serif;font-size:40px;font-weight:500;color:var(--navy);margin-bottom:16px;}
.success-num{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--text-muted);margin-bottom:32px;}
.success-card{background:var(--white);border:1px solid var(--border-light);padding:28px 32px;max-width:480px;width:100%;margin:0 auto 32px;text-align:left;}

/* FOOTER */
.site-footer{background:var(--navy);border-top:1px solid var(--border);}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding:64px;}
.footer-logo{font-family:'Playfair Display',serif;font-size:18px;font-weight:500;color:var(--white);display:flex;flex-direction:column;line-height:1.1;margin-bottom:16px;}
.footer-logo span{font-size:9px;font-family:'DM Sans',sans-serif;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-top:2px;}
.footer-tagline{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:300;color:var(--text-muted);line-height:1.7;margin-bottom:16px;}
.footer-contact{font-size:12px;color:var(--text-muted);line-height:1.9;}
.footer-col-title{font-size:9px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:8px;}
.footer-col ul a{font-size:12px;color:var(--text-muted);transition:color .2s;font-weight:300;}
.footer-col ul a:hover{color:var(--gold);}
.footer-bottom{padding:20px 64px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:11px;color:var(--text-muted);}
.footer-payments{display:flex;gap:8px;}
.footer-payments span{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);border:1px solid var(--border);padding:3px 7px;}

/* FLASH */
.flash{padding:12px 20px;margin-bottom:16px;font-size:13px;}
.flash.success{background:var(--green-bg);color:var(--green);border-left:3px solid var(--green);}
.flash.error{background:var(--red-bg);color:var(--red);border-left:3px solid var(--red);}

/* EMPTY/404 */
.empty-cart{text-align:center;padding:80px 32px;}
.empty-cart-icon{font-size:56px;margin-bottom:20px;}
.empty-cart-title{font-family:'Playfair Display',serif;font-size:28px;color:var(--navy);margin-bottom:12px;}
.empty-cart-text{font-size:14px;color:var(--text-muted);margin-bottom:28px;}
.not-found{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 32px;}
.not-found-num{font-family:'Playfair Display',serif;font-size:120px;font-weight:400;color:rgba(12,26,46,.08);line-height:1;}
.not-found-title{font-family:'Playfair Display',serif;font-size:32px;color:var(--navy);margin-bottom:12px;}

/* TOAST */
.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);color:var(--white);padding:12px 20px;font-size:13px;font-weight:500;box-shadow:0 8px 32px rgba(0,0,0,.2);z-index:9999;border-left:3px solid var(--gold);transform:translateY(80px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none;max-width:300px;}
.toast.show{transform:translateY(0);opacity:1;}

/* ADMIN */
.admin-body{background:#f4f6f9;}
.admin-layout{display:flex;min-height:100vh;}
.admin-sidebar{width:240px;background:var(--navy);position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;border-right:1px solid var(--border);}
.sidebar-brand{padding:22px 20px 18px;border-bottom:1px solid var(--border);}
.sidebar-brand-name{font-family:'Playfair Display',serif;font-size:16px;font-weight:500;color:var(--white);}
.sidebar-brand-sub{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-top:2px;}
.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto;}
.sidebar-section{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(138,154,176,.5);padding:12px 20px 4px;}
.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--text-muted);font-size:13px;text-decoration:none;border-left:3px solid transparent;transition:all .15s;}
.sidebar-link:hover{color:var(--white);background:rgba(255,255,255,.03);}
.sidebar-link.active{color:var(--white);background:rgba(201,150,76,.1);border-left-color:var(--gold);}
.sidebar-icon{font-size:14px;width:18px;text-align:center;}
.sidebar-badge{margin-left:auto;background:var(--gold);color:var(--navy);font-size:9px;font-weight:700;padding:2px 6px;border-radius:10px;}
.sidebar-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;}
.sidebar-user-avatar{width:30px;height:30px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--navy);flex-shrink:0;}
.sidebar-user-name{font-size:12px;font-weight:500;color:var(--white);}
.sidebar-user-role{font-size:10px;color:var(--text-muted);}
.admin-main{margin-left:240px;flex:1;display:flex;flex-direction:column;}
.admin-topbar{background:var(--white);border-bottom:1px solid var(--border-light);padding:0 28px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
.admin-topbar-title{font-size:15px;font-weight:600;color:var(--navy);}
.admin-content{padding:28px;flex:1;}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.admin-stat{background:var(--white);border:1px solid var(--border-light);border-radius:10px;padding:20px;position:relative;overflow:hidden;}
.admin-stat::before{content:'';position:absolute;top:0;right:0;width:60px;height:60px;border-radius:0 10px 0 60px;opacity:.06;}
.admin-stat.orders::before{background:var(--blue);}
.admin-stat.revenue::before{background:var(--green);}
.admin-stat.pending::before{background:var(--amber);}
.admin-stat.delivered::before{background:var(--purple);}
.admin-stat-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
.admin-stat-val{font-family:'Playfair Display',serif;font-size:32px;font-weight:500;color:var(--navy);line-height:1;}
.admin-stat-sub{font-size:11px;color:var(--text-muted);margin-top:6px;}
.admin-card{background:var(--white);border:1px solid var(--border-light);border-radius:10px;overflow:hidden;margin-bottom:20px;}
.admin-card-header{padding:16px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.admin-card-title{font-size:14px;font-weight:600;color:var(--navy);}
table{width:100%;border-collapse:collapse;}
thead th{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:10px 14px;text-align:left;background:#fafbfc;border-bottom:1px solid var(--border-light);}
tbody tr{border-bottom:1px solid var(--border-light);transition:background .1s;}
tbody tr:hover{background:#fafbfc;}
tbody tr:last-child{border-bottom:none;}
td{padding:12px 14px;font-size:13px;color:var(--navy);vertical-align:middle;}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:500;letter-spacing:.04em;white-space:nowrap;}
.badge::before{content:'';width:5px;height:5px;border-radius:50%;}
.badge-pending{background:var(--amber-bg);color:var(--amber);}.badge-pending::before{background:var(--amber);}
.badge-processing{background:var(--blue-bg);color:var(--blue);}.badge-processing::before{background:var(--blue);}
.badge-dispatched{background:var(--purple-bg);color:var(--purple);}.badge-dispatched::before{background:var(--purple);}
.badge-delivered{background:var(--green-bg);color:var(--green);}.badge-delivered::before{background:var(--green);}
.badge-cancelled{background:var(--red-bg);color:var(--red);}.badge-cancelled::before{background:var(--red);}
.badge-refunded{background:#f3f4f6;color:#6b7280;}.badge-refunded::before{background:#6b7280;}
.admin-btn{padding:7px 14px;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:.04em;cursor:pointer;border:none;transition:all .2s;display:inline-flex;align-items:center;gap:6px;text-decoration:none;}
.admin-btn-primary{background:var(--navy);color:var(--white);}
.admin-btn-primary:hover{background:var(--navy-light);}
.admin-btn-gold{background:var(--gold);color:var(--navy);}
.admin-btn-gold:hover{background:var(--gold-light);}
.admin-btn-outline{background:none;color:var(--navy);border:1px solid var(--border-light);}
.admin-btn-outline:hover{border-color:var(--navy);}
.admin-btn-danger{background:var(--red-bg);color:var(--red);}
.admin-btn-danger:hover{background:var(--red);color:var(--white);}
.admin-search{display:flex;align-items:center;gap:8px;background:#f4f6f9;border:1px solid var(--border-light);border-radius:6px;padding:6px 12px;}
.admin-search input{border:none;background:none;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--navy);outline:none;width:180px;}
.admin-search input::placeholder{color:var(--text-muted);}
.admin-select{border:1px solid var(--border-light);background:var(--white);border-radius:6px;padding:6px 10px;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--navy);cursor:pointer;outline:none;}
.status-tabs{display:flex;gap:4px;flex-wrap:wrap;}
.status-tab{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid var(--border-light);color:var(--text-muted);text-decoration:none;transition:all .15s;}
.status-tab:hover{color:var(--navy);border-color:var(--navy);}
.status-tab.active{background:var(--navy);color:var(--white);border-color:var(--navy);}
.order-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.detail-card{background:var(--white);border:1px solid var(--border-light);border-radius:10px;padding:20px;}
.detail-card-title{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-light);}
.detail-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;}
.detail-row label{color:var(--text-muted);font-size:11px;}
.status-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.status-change-btn{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:500;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:all .15s;}
.status-change-btn[data-s="pending"]{background:var(--amber-bg);color:var(--amber);}
.status-change-btn[data-s="processing"]{background:var(--blue-bg);color:var(--blue);}
.status-change-btn[data-s="dispatched"]{background:var(--purple-bg);color:var(--purple);}
.status-change-btn[data-s="delivered"]{background:var(--green-bg);color:var(--green);}
.status-change-btn[data-s="cancelled"]{background:var(--red-bg);color:var(--red);}
.status-change-btn[data-s="refunded"]{background:#f3f4f6;color:#6b7280;}
.status-change-btn.current{box-shadow:0 0 0 2px currentColor;font-weight:700;}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.admin-form-group{margin-bottom:14px;}
.admin-form-label{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:5px;}
.admin-form-input{width:100%;border:1px solid var(--border-light);border-radius:6px;padding:9px 12px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--navy);outline:none;transition:border-color .15s;}
.admin-form-input:focus{border-color:var(--gold);}
.admin-form-textarea{min-height:100px;resize:vertical;}
.admin-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-light);}
.admin-toggle-row:last-child{border-bottom:none;}
.toggle{width:38px;height:20px;border-radius:10px;background:var(--navy);position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;}
.toggle.off{background:#d1d5db;}
.toggle::after{content:'';position:absolute;top:3px;width:14px;height:14px;border-radius:50%;background:var(--white);transition:left .2s;left:3px;}
.toggle:not(.off)::after{left:21px;}

/* RESPONSIVE */
@media(max-width:1100px){
  .product-grid-editorial{grid-template-columns:1fr 1fr;}
  .product-card.featured{grid-row:auto;}
  .product-thumb-tall{height:300px;}
  .features-grid{grid-template-columns:1fr 1fr;}
  .testimonials-grid{grid-template-columns:1fr 1fr;}
  .editorial-split{grid-template-columns:1fr;}
  .cart-layout,.checkout-layout{grid-template-columns:1fr;}
  .checkout-field-grid{grid-template-columns:1fr!important;}
  .checkout-summary{position:relative!important;top:auto!important;order:2;}
  .checkout-layout>div:first-child{order:1;}
  #stripe-form{max-width:100%!important;}
  #card-element,#payment-element{max-width:100%!important;}
  .product-layout{grid-template-columns:1fr;gap:32px;}
  .product-gallery{position:static;}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .admin-stats{grid-template-columns:1fr 1fr;}
  .order-detail-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .site-header{padding:0 20px;}
  .nav-main{display:none;}
  .nav-mobile-toggle{display:block;}
  .section,.section-sm{padding:56px 24px;}
  .hero-content{padding:0 24px 64px;max-width:100%;}
  .hero-stats{display:none;}
  .hero h1{font-size:40px;}
  .category-strip,.shop-filters,.seo-tags{padding:0 20px;}
  .breadcrumb{padding:12px 20px;}
  .product-layout{padding:24px 20px;}
  .seo-desc{padding:40px 20px;}
  .cart-layout,.checkout-layout{padding:24px 20px;}
  .footer-inner{grid-template-columns:1fr;padding:40px 24px;gap:32px;}
  .footer-bottom{padding:16px 24px;}
  .admin-main{margin-left:0;}
  .admin-sidebar{display:none;}
  .admin-content{padding:16px;}
  .admin-stats{grid-template-columns:1fr 1fr;}
  .admin-form-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}

/* Real image support */
.product-thumb { object-fit: cover; }
.cart-item-img { object-fit: cover; }
.checkout-item-img { object-fit: cover; }
.product-thumb-tall { height: 520px; object-fit: cover; }
.product-thumb-med  { height: 260px; object-fit: cover; }
.main-image img { width:100%; height:100%; object-fit:cover; }
.editorial-photo img { width:100%; height:100%; object-fit:cover; }

/* ════════════════════════════════════════════
   HERO — clean rewrite, no conflicts
   ════════════════════════════════════════════ */

/* Full-bleed background photo */
.hero-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  display: block;
}
/* Overlay: darken LEFT (where text sits), let photo breathe on RIGHT */
.hero-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right,
      rgba(12,26,46,0.78) 0%,
      rgba(12,26,46,0.50) 40%,
      rgba(12,26,46,0.18) 70%,
      rgba(12,26,46,0.05) 100%),
    linear-gradient(to top,
      rgba(12,26,46,0.80) 0%,
      rgba(12,26,46,0.25) 40%,
      transparent 65%);
}
.hero-bg  { display: none !important; }
.hero-glow { display: none !important; }

/* Stats — bottom right */
.hero-stats {
  position: absolute;
  right: 64px;
  bottom: 88px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* Scroll indicator */
.scroll-indicator {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

@media (max-width: 768px) {
  .hero-stats { display: none !important; }
  .hero-content { padding: 0 24px 60px !important; max-width: 100% !important; }
}

/* ════════════════════════════════════════════
   LOGO — image + text side by side
   ════════════════════════════════════════════ */
.logo {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px;
  text-decoration: none;
}
.logo-img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 6px;
  display: block;
}
.logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  font-style: normal;
}
.logo-text-name {
  font-family: 'Playfair Display', serif;
  font-size: 17px;
  font-weight: 500;
  color: var(--white);
  letter-spacing: 0;
}
.logo-text-sub {
  font-size: 8px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-top: 2px !important;
  display: block !important;
  line-height: 1 !important;
}


/* ── COOKIE BANNER ── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--navy);color:var(--white);padding:18px 32px;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:2px solid var(--gold);transform:translateY(0);transition:transform .4s ease;}
.cookie-banner.hidden{transform:translateY(100%);}
.cookie-text{font-size:13px;color:rgba(255,255,255,.8);line-height:1.5;flex:1;}
.cookie-text a{color:var(--gold);text-decoration:underline;}
.cookie-btns{display:flex;gap:10px;flex-shrink:0;}
.cookie-accept{background:var(--gold);color:var(--navy);border:none;padding:10px 22px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.cookie-decline{background:none;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.2);padding:10px 18px;font-family:'DM Sans',sans-serif;font-size:12px;cursor:pointer;}
.cookie-decline:hover{border-color:rgba(255,255,255,.5);}

/* ── REVIEWS ── */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:28px;}
.review-card{background:var(--white);padding:24px;border:1px solid var(--border-light);border-radius:8px;}
.review-stars-display{color:var(--gold);font-size:16px;margin-bottom:8px;}
.review-title{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:6px;}
.review-body{font-family:'Cormorant Garamond',serif;font-size:15px;font-weight:300;line-height:1.7;color:#4a5a6e;}
.review-author{font-size:11px;color:var(--text-muted);margin-top:12px;letter-spacing:.06em;}
.review-form{background:var(--sand-light);padding:32px;border-radius:8px;margin-top:32px;}
.star-rating{display:flex;flex-direction:row-reverse;gap:4px;}
.star-rating input{display:none;}
.star-rating label{font-size:28px;color:#ddd;cursor:pointer;transition:color .15s;}
.star-rating input:checked~label,.star-rating label:hover,.star-rating label:hover~label{color:var(--gold);}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;margin-top:32px;}
.blog-card{background:var(--white);border:1px solid var(--border-light);overflow:hidden;border-radius:4px;transition:box-shadow .3s;}
.blog-card:hover{box-shadow:0 8px 32px rgba(12,26,46,.1);}
.blog-card-img{height:200px;background:var(--navy);overflow:hidden;}
.blog-card-img img{width:100%;height:100%;object-fit:cover;}
.blog-card-body{padding:24px;}
.blog-card-date{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;}
.blog-card-title{font-family:'Playfair Display',serif;font-size:20px;font-weight:500;color:var(--navy);margin-bottom:8px;line-height:1.3;}
.blog-card-excerpt{font-size:13px;color:var(--text-muted);line-height:1.7;}
.blog-post-hero{min-height:400px;background:var(--navy);position:relative;overflow:hidden;}
.blog-post-content{max-width:760px;margin:0 auto;padding:64px 32px;}
.blog-post-content h2{font-family:'Playfair Display',serif;font-size:26px;color:var(--navy);margin:32px 0 14px;}
.blog-post-content p{font-family:'Cormorant Garamond',serif;font-size:18px;line-height:1.9;color:#4a5a6e;margin-bottom:20px;}

/* ── SIZE GUIDE ── */
.size-guide-visual{display:flex;align-items:flex-end;justify-content:center;gap:24px;padding:48px 32px;background:var(--white);border-radius:8px;}
.size-frame{display:flex;flex-direction:column;align-items:center;gap:12px;}
.size-frame-img{background:linear-gradient(135deg,#1a3a6e,#e87c3e 50%,#0c1a2e);border:3px solid var(--navy);box-shadow:0 8px 32px rgba(12,26,46,.2);}
.size-frame-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);}
.size-frame-dims{font-size:10px;color:var(--text-muted);}

/* ── ROOM VISUALISER ── */
.room-modal{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.room-modal.hidden{display:none;}
.room-modal-inner{position:relative;max-width:900px;width:90vw;}
.room-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;}
.room-scene{position:relative;border-radius:8px;overflow:hidden;}
.room-scene img.room-bg{width:100%;display:block;}
.room-print-overlay{position:absolute;top:18%;left:30%;width:32%;border:6px solid #e8dcc8;box-shadow:0 20px 60px rgba(0,0,0,.4);}

/* ── CUSTOMER ACCOUNT ── */
.account-layout{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:48px 64px;max-width:1200px;margin:0 auto;}
.account-sidebar{background:var(--white);border:1px solid var(--border-light);padding:24px;border-radius:8px;height:fit-content;}
.account-nav-link{display:block;padding:10px 12px;font-size:13px;color:var(--navy);border-radius:4px;margin-bottom:2px;transition:background .15s;}
.account-nav-link:hover,.account-nav-link.active{background:var(--sand-light);}

/* ── LIMITED EDITION ── */
.badge-limited{background:linear-gradient(135deg,#8b0000,#c0392b);color:#fff;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:2px;}
.stock-bar{height:4px;background:var(--border-light);border-radius:2px;margin-top:6px;overflow:hidden;}
.stock-bar-fill{height:100%;background:linear-gradient(to right,var(--green),var(--gold));border-radius:2px;transition:width .4s;}

/* ── LIMITED EDITION BADGE ── */
.limited-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#0c1a2e,#1a3a6e);color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:2px;border:1px solid rgba(201,150,76,.4);}
.limited-badge::before{content:'◆';font-size:7px;}
.stock-low{font-size:11px;color:#dc2626;font-weight:500;margin-top:4px;}
.stock-ok{font-size:11px;color:var(--green);margin-top:4px;}

/* ── ROOM VISUALISER ── */
.room-vis-btn{background:rgba(12,26,46,.08);border:1px solid var(--border-light);color:var(--navy);padding:8px 16px;font-size:11px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;letter-spacing:.06em;display:flex;align-items:center;gap:6px;transition:background .2s;width:100%;justify-content:center;margin-top:8px;}
.room-vis-btn:hover{background:rgba(12,26,46,.14);}
.room-vis-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;}
.room-vis-inner{position:relative;max-width:900px;width:100%;}
.room-vis-close{position:absolute;top:-36px;right:0;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;line-height:1;}
.room-vis-room{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;}
.room-vis-room img.room-bg{width:100%;height:100%;object-fit:cover;display:block;}
.room-vis-print{position:absolute;top:15%;left:50%;transform:translateX(-50%);width:35%;box-shadow:0 20px 60px rgba(0,0,0,.5);}

/* ── REVIEWS ── */
.review-submit-btn{background:var(--navy);color:var(--white);border:none;padding:10px 24px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;}

/* ── COOKIE BANNER ── */
#cookie-banner{animation:slideUp .4s ease;}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* ── FOOTER GRID ── */
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:48px 64px;max-width:1400px;margin:0 auto;}
.footer-brand{font-family:'Playfair Display',serif;font-size:18px;color:var(--white);font-weight:500;}
.footer-brand-sub{font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-top:2px;}
.footer-heading{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-weight:600;}
.footer-link{display:block;font-size:12px;color:var(--text-muted);text-decoration:none;margin-bottom:6px;transition:color .2s;}
.footer-link:hover{color:var(--gold);}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px;padding:32px 24px;}}





.accordion-header:hover { color: var(--gold); }




.accordion-body.open,
.faq-answer.open,
.toggle-body.open {
  display: block;
}
.accordion-header,
.faq-question,
.toggle-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--navy);
  cursor: pointer;
  border-bottom: 1px solid var(--border-light);
  user-select: none;
  transition: color .2s;
}
.accordion-header:hover,
.faq-question:hover,
.toggle-header:hover { color: var(--gold); }

.accordion-body,


.accordion-icon,
.faq-icon,
.toggle-icon {
  font-size: 18px;
  font-weight: 300;
  color: var(--gold);
  flex-shrink: 0;
  margin-left: 12px;
  line-height: 1;
}




.accordion-body,

.accordion-header,

.accordion-header:hover { color: var(--gold); }


/* ─ spacing fix ─ */
.room-vis-btn { margin-bottom: 12px; }


/* ── Accordion structure only — show/hide controlled by JS ── */
.accordion-header,
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--navy);
  cursor: pointer;
  border-bottom: 1px solid var(--border-light);
  user-select: none;
}
.accordion-header:hover,
.faq-question:hover { color: var(--gold); }

.accordion-body,
.faq-answer {
  padding: 14px 0;
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.7;
  border-bottom: 1px solid var(--border-light);
}

.accordion-icon,
.faq-icon { color: var(--gold); font-size: 18px; font-weight: 300; }

/* ════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — fixes for all pages
   ════════════════════════════════════════════════════════════ */

/* Responsive utility classes */
.r-grid-2 { display: grid; grid-template-columns: 1fr 380px; gap: 40px; }
.r-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.r-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.r-grid-2-equal { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.r-sidebar { display: grid; grid-template-columns: 240px 1fr; gap: 32px; }

@media (max-width: 768px) {

  /* ── Layout grids → single column ── */
  .r-grid-2,
  .r-grid-3,
  .r-grid-4,
  .r-grid-2-equal,
  .r-sidebar { grid-template-columns: 1fr !important; }

  /* ── Global padding reduction ── */
  section, main > div, .section { padding-left: 20px !important; padding-right: 20px !important; }

  /* ── Nav ── */
  .site-header { padding: 14px 20px !important; }
  .nav-main { display: none !important; }
  .logo-text-sub { display: none !important; }

  /* ── Hero ── */
  .hero { min-height: 70vh !important; padding: 0 20px !important; }
  .hero-title { font-size: 36px !important; }
  .hero-sub { font-size: 14px !important; }

  /* ── Section headers ── */
  .section-header { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }

  /* ── Product grid ── */
  .products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }

  /* ── Product page ── */
  .product-layout { grid-template-columns: 1fr !important; }
  .product-sticky { position: relative !important; top: auto !important; }

  /* ── Blog grid ── */
  .blog-grid-inner { grid-template-columns: 1fr !important; }

  /* ── Size guide ── */
  .size-guide-row { flex-direction: column !important; align-items: center !important; }

  /* ── Footer ── */
  .footer-grid { grid-template-columns: 1fr 1fr !important; padding: 28px 20px !important; gap: 20px !important; }

  /* ── Testimonials ── */
  .testimonials-grid, .testimonials-grid > div { grid-template-columns: 1fr !important; }

  /* ── Buttons ── */
  .btn { width: 100%; text-align: center !important; box-sizing: border-box !important; }
  .btn + .btn { margin-top: 10px !important; }
}

@media (max-width: 480px) {
  .products-grid { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr !important; }
}

/* ── Prevent horizontal overflow ── */
html, body, main { overflow-x: hidden; max-width: 100vw; }

/* ── Size guide context grid — mobile force ── */
@media (max-width: 700px) {
  .context-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .context-grid > div {
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
