:root{
  --ink:#111111;
  --beige:#F5EFE6;
  --gold:#C9A227;
  --gold-soft:#E4C767;
  --white:#FFFFFF;
  --charcoal:#242424;
  --line:#E9E2D6;
  --muted:#8A8477;
  --r-sm:10px;
  --r-md:18px;
  --r-lg:26px;
  --sh-sm:0 3px 14px rgba(17,17,17,.07);
  --sh-md:0 14px 36px rgba(17,17,17,.11);
  --sh-lg:0 26px 64px rgba(17,17,17,.15);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter', 'Helvetica Neue', Arial, sans-serif;
  color:var(--charcoal);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.01em;
}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
button{font-family:inherit; cursor:pointer; background:none; border:none; color:inherit;}
input,select,textarea{font-family:inherit; font-size:14px;}
.serif{font-family:'Fraunces', Georgia, serif; font-weight:500; letter-spacing:-0.01em;}
.wrap{max-width:1280px; margin:0 auto; padding:0 20px;}
@media(min-width:768px){ .wrap{padding:0 32px;} }

/* Reveal-on-scroll */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:14px 28px; font-size:14px; font-weight:500; letter-spacing:.01em; border-radius:100px; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease), opacity .2s; border:1px solid transparent;}
.btn:disabled{opacity:.4; cursor:not-allowed;}
.btn-primary{background:var(--ink); color:var(--white); box-shadow:var(--sh-sm);}
.btn-primary:hover:not(:disabled){transform:translateY(-2px); box-shadow:var(--sh-md);}
.btn-gold{background:linear-gradient(135deg, var(--gold-soft), var(--gold)); color:var(--white); box-shadow:0 8px 22px rgba(201,162,39,.35);}
.btn-gold:hover:not(:disabled){transform:translateY(-2px); box-shadow:0 12px 28px rgba(201,162,39,.45);}
.btn-outline{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--white); transform:translateY(-2px);}
.btn-ghost{background:transparent; color:var(--ink); padding-left:0; padding-right:0; border-radius:0;}
.btn-sm{padding:10px 18px; font-size:12px;}

.badge{display:inline-block; padding:5px 10px; font-size:11px; font-weight:600; letter-spacing:.03em; color:var(--white); border-radius:100px;}
.badge-gold{background:linear-gradient(135deg, var(--gold-soft), var(--gold));}
.badge-ink{background:var(--ink);}

/* Announcement + header */
.announce{text-align:center; font-size:12px; letter-spacing:.03em; padding:9px; background:var(--ink); color:var(--beige);}
header.site{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85); backdrop-filter:blur(16px) saturate(150%); -webkit-backdrop-filter:blur(16px) saturate(150%); border-bottom:1px solid var(--line); transition:box-shadow .3s;}
header.site.scrolled{box-shadow:var(--sh-sm);}
.header-row{display:flex; align-items:center; justify-content:space-between; height:72px;}
.logo{font-size:24px; letter-spacing:.14em; color:var(--ink); transition:opacity .2s; position:relative; padding-bottom:2px; display:flex; align-items:center; gap:10px;}
.logo img{height:44px; width:auto; display:block; border-radius:50%;}
.logo:hover{opacity:.7;}
.nav-desktop{display:none; gap:28px; align-items:center;}
@media(min-width:1024px){ .nav-desktop{display:flex;} }
.nav-desktop a, .nav-desktop button{font-size:14px; color:var(--ink); position:relative; padding:4px 0;}
.nav-desktop a::after, .nav-desktop button::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px; background:var(--gold); transition:right .28s var(--ease);}
.nav-desktop a:hover::after, .nav-desktop button:hover::after{right:0;}
.header-icons{display:flex; align-items:center; gap:18px;}
.icon-btn{position:relative; display:flex; align-items:center; transition:transform .2s;}
.icon-btn:hover{transform:translateY(-1px);}
.icon-btn svg{width:20px; height:20px; color:var(--ink);}
.count-badge{position:absolute; top:-8px; right:-9px; width:17px; height:17px; border-radius:50%; background:linear-gradient(135deg, var(--gold-soft), var(--gold)); color:#fff; font-size:10px; font-weight:600; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(201,162,39,.5);}
.search-desktop{display:none; align-items:center; background:var(--beige); border-radius:100px; padding:9px 16px;}
@media(min-width:768px){ .search-desktop{display:flex;} }
.search-desktop svg{width:16px;height:16px;color:var(--muted); flex-shrink:0;}
.search-desktop input{border:none; outline:none; margin-left:8px; width:150px; padding:0; background:transparent;}
.hamburger{display:flex;}
@media(min-width:1024px){ .hamburger{display:none;} }
.hamburger svg{width:22px; height:22px; color:var(--ink);}
.mobile-menu{display:none; flex-direction:column; gap:4px; padding:18px 20px 22px; border-bottom:1px solid var(--line); background:var(--white);}
.mobile-menu.open{display:flex;}
.mobile-menu button, .mobile-menu a{display:block; text-align:left; width:100%; padding:12px 4px; font-size:15px; color:var(--ink); border-bottom:1px solid var(--line); transition:padding-left .2s, color .2s;}
.mobile-menu button:hover, .mobile-menu a:hover{padding-left:8px; color:var(--gold);}

@keyframes hero-fade-up{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
.hero-content .wrap > *{animation:hero-fade-up .8s var(--ease) both;}
.hero-content .wrap > *:nth-child(1){animation-delay:.05s;}
.hero-content .wrap > *:nth-child(2){animation-delay:.15s;}
.hero-content .wrap > *:nth-child(3){animation-delay:.25s;}
.hero-content .wrap > *:nth-child(4){animation-delay:.35s;}

/* Hero (video background) */
.hero{position:relative; overflow:hidden; background:var(--ink); min-height:560px;}
@media(min-width:768px){ .hero{min-height:680px;} }
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero-poster{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.hero-overlay{position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(10,10,10,.86) 0%, rgba(10,10,10,.6) 40%, rgba(10,10,10,.22) 78%);}
.hero-content{position:relative; z-index:2; min-height:560px; display:flex; align-items:center;}
@media(min-width:768px){ .hero-content{min-height:680px;} }
.eyebrow{font-size:11px; letter-spacing:.22em; color:var(--gold-soft); margin-bottom:16px; font-weight:600; text-transform:uppercase; display:flex; align-items:center; gap:10px;}
.eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--gold-soft); display:inline-block; animation:pulse-dot 1.8s ease-in-out infinite;}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(1.3);}}
.hero h1{font-size:38px; line-height:1.08; margin:0 0 20px; color:#fff; max-width:620px;}
@media(min-width:768px){ .hero h1{font-size:60px;} }
.hero p{font-size:16.5px; max-width:440px; margin:0 0 32px; line-height:1.6; color:rgba(255,255,255,.85);}
.btn-row{display:flex; flex-wrap:wrap; gap:14px;}
.hero-mute{position:absolute; bottom:26px; right:20px; z-index:4; width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.14); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; transition:background .2s;}
@media(min-width:768px){ .hero-mute{right:32px;} }
.hero-mute:hover{background:rgba(255,255,255,.28);}
.hero-mute svg{width:18px; height:18px; color:#fff;}
.hero-scroll{position:absolute; bottom:26px; left:20px; z-index:4; display:none; align-items:center; gap:8px; color:rgba(255,255,255,.7); font-size:12px; letter-spacing:.05em;}
@media(min-width:768px){ .hero-scroll{display:flex; left:32px;} }
.hero-scroll .line{width:1px; height:28px; background:rgba(255,255,255,.4); position:relative; overflow:hidden;}
.hero-scroll .line::after{content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--gold-soft); animation:scroll-line 2s ease-in-out infinite;}
@keyframes scroll-line{0%{top:-100%;} 60%{top:100%;} 100%{top:100%;}}

/* Category cards */
.cat-grid{display:grid; grid-template-columns:1fr; gap:28px; padding:72px 0;}
@media(min-width:768px){ .cat-grid{grid-template-columns:1fr 1fr;} }
.cat-card{position:relative; overflow:hidden; border-radius:var(--r-lg); box-shadow:var(--sh-md); transition:box-shadow .3s, transform .3s var(--ease);}
.cat-card:hover{box-shadow:var(--sh-lg); transform:translateY(-4px);}
.cat-card img{width:100%; height:340px; object-fit:cover; transition:transform .6s var(--ease);}
.cat-card:hover img{transform:scale(1.06);}
.cat-overlay{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:28px; background:linear-gradient(to top, rgba(17,17,17,.72), transparent 62%);}
.cat-overlay h3{color:#fff; font-size:26px; margin:0 0 5px;}
.cat-overlay p{color:rgba(255,255,255,.82); font-size:14px; margin:0 0 16px;}
.cat-overlay button{align-self:flex-start; color:var(--ink); font-size:13px; font-weight:600; padding:10px 18px; background:#fff; border-radius:100px; transition:transform .25s var(--ease);}
.cat-overlay button:hover{transform:translateY(-2px);}

/* Section grid (product rows) */
.section{padding:72px 0;}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; position:relative; padding-top:12px;}
.section-head::before{content:''; position:absolute; top:0; left:0; width:38px; height:2px; background:linear-gradient(90deg, var(--gold-soft), var(--gold));}
.section-head h2{font-size:30px; margin:0; color:var(--ink);}
.section-head button, .section-head .view-all{font-size:13px; font-weight:600; color:var(--ink); padding:8px 16px; border:1px solid var(--line); border-radius:100px; transition:all .25s;}
.section-head button:hover, .section-head .view-all:hover{border-color:var(--ink); background:var(--ink); color:#fff;}
.prod-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
@media(min-width:768px){ .prod-grid{grid-template-columns:repeat(4,1fr); gap:32px;} }
.prod-grid.cols-3{grid-template-columns:repeat(2,1fr);}
@media(min-width:768px){ .prod-grid.cols-3{grid-template-columns:repeat(3,1fr);} }

/* Product Card */
.card{position:relative; transition:transform .3s var(--ease);}
.card:hover{transform:translateY(-5px);}
.card-img-wrap{position:relative; overflow:hidden; background:#F3F0EA; border-radius:var(--r-md); box-shadow:var(--sh-sm); transition:box-shadow .3s;}
.card:hover .card-img-wrap{box-shadow:var(--sh-md);}
.card-img-wrap a{display:block; aspect-ratio:3/4; overflow:hidden; border-radius:var(--r-md);}
.card-img-wrap img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.card:hover .card-img-wrap img{transform:scale(1.07);}
.card-badges{position:absolute; top:14px; left:14px; display:flex; flex-direction:column; gap:6px;}
.wish-toggle{position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.92); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; box-shadow:var(--sh-sm); transition:transform .2s;}
.wish-toggle:hover{transform:scale(1.1);}
.wish-toggle svg{width:16px; height:16px;}
.card-actions{position:absolute; left:10px; right:10px; bottom:10px; display:flex; gap:8px; transform:translateY(130%); opacity:0; transition:transform .3s var(--ease), opacity .3s;}
.card:hover .card-actions{transform:translateY(0); opacity:1;}
.card-actions button{flex:1; padding:11px; font-size:12px; font-weight:600; letter-spacing:.02em; border-radius:100px;}
.card-actions .add{background:var(--ink); color:#fff;}
.card-actions .qv{background:#fff; color:var(--ink); flex:none; padding:11px 14px;}
.card-body{margin-top:14px;}
.card-cat{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:0 0 3px; font-weight:500;}
.card-name{font-weight:500; color:var(--ink); display:block; margin-bottom:6px;}
.card-rating{display:flex; align-items:center; gap:6px; margin-bottom:7px;}
.stars{display:flex; gap:1px;}
.stars svg{width:13px; height:13px;}
.card-price{display:flex; align-items:center; gap:8px;}
.price{font-weight:700; color:var(--ink);}
.old-price{font-size:13px; color:var(--muted); text-decoration:line-through;}

/* List view */
.list-item{display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--line);}
.list-item img{width:110px; height:130px; object-fit:cover; flex-shrink:0;}
.list-item .actions{display:flex; gap:8px; margin-top:12px;}

/* Promo band */
.promo{padding:96px 20px; text-align:center; background:radial-gradient(120% 140% at 50% 0%, #1c1c1c 0%, var(--ink) 60%); color:#fff; position:relative; overflow:hidden;}
.promo::before{content:''; position:absolute; top:50%; left:50%; width:600px; height:600px; transform:translate(-50%,-50%); background:radial-gradient(circle, rgba(201,162,39,.14), transparent 70%); pointer-events:none;}
.promo h2{font-size:34px; margin:10px 0 14px; position:relative;}
@media(min-width:768px){ .promo h2{font-size:48px;} }
.promo p{opacity:.75; margin-bottom:32px; position:relative;}

/* Why shop with us */
.feat-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px; padding:72px 0; text-align:center;}
@media(min-width:768px){ .feat-grid{grid-template-columns:repeat(5,1fr);} }
.feat-grid > div{padding:20px 12px; border-radius:var(--r-md); transition:background .25s, transform .25s var(--ease);}
.feat-grid > div:hover{background:var(--beige); transform:translateY(-3px);}
.feat-grid svg{width:26px; height:26px; color:var(--gold); margin:0 auto;}
.feat-grid p{font-size:13.5px; margin-top:12px; color:var(--charcoal); font-weight:500;}

/* Featured collections */
.coll-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
@media(min-width:768px){ .coll-grid{grid-template-columns:repeat(3,1fr);} }
.coll-item{position:relative; overflow:hidden; display:block; border-radius:var(--r-md); box-shadow:var(--sh-sm); transition:box-shadow .3s, transform .3s var(--ease);}
.coll-item:hover{box-shadow:var(--sh-md); transform:translateY(-3px);}
.coll-item img{width:100%; height:170px; object-fit:cover; transition:transform .6s var(--ease);}
.coll-item:hover img{transform:scale(1.06);}
.coll-overlay{position:absolute; inset:0; display:flex; align-items:flex-end; padding:14px; background:linear-gradient(to top, rgba(17,17,17,.6), transparent 55%);}
.coll-overlay span{color:#fff; font-size:14px; font-weight:500;}

/* Reviews */
.reviews-section{padding:72px 0; background:var(--beige); text-align:center;}
.reviews-grid{display:grid; grid-template-columns:1fr; gap:24px; margin-top:44px; max-width:960px; margin-left:auto; margin-right:auto;}
@media(min-width:768px){ .reviews-grid{grid-template-columns:repeat(3,1fr);} }
.review-card{background:#fff; padding:28px; text-align:center; border-radius:var(--r-md); box-shadow:var(--sh-sm); transition:transform .3s var(--ease), box-shadow .3s; position:relative; overflow:hidden;}
.review-card::before{content:'"'; position:absolute; top:-8px; left:16px; font-family:'Fraunces', serif; font-size:60px; color:var(--beige); line-height:1; z-index:0;}
.review-card p.text{position:relative;}
.review-card .stars{position:relative;}
.review-card:hover{transform:translateY(-4px); box-shadow:var(--sh-md);}
.review-card .stars{justify-content:center; margin-bottom:12px;}
.review-card p.text{font-style:italic; font-size:14.5px; line-height:1.6; margin-bottom:16px;}
.review-card p.name{font-size:14px; font-weight:600; color:var(--ink);}

/* Insta gallery */
.insta-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
@media(min-width:768px){ .insta-grid{grid-template-columns:repeat(6,1fr);} }
.insta-grid img{width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:var(--r-sm); transition:transform .35s var(--ease), box-shadow .35s;}
.insta-grid img:hover{transform:scale(1.04); box-shadow:var(--sh-md);}

/* Newsletter */
.newsletter{padding:80px 20px; text-align:center; background:var(--ink); color:#fff;}
.newsletter h2{font-size:32px; margin:0 0 12px;}
.newsletter p{opacity:.7; max-width:420px; margin:0 auto 28px;}
.newsletter-form{display:flex; flex-direction:column; gap:12px; max-width:420px; margin:0 auto;}
@media(min-width:480px){ .newsletter-form{flex-direction:row;} }
.newsletter-form input{flex:1; padding:14px 20px; border:none; outline:none; color:var(--ink); border-radius:100px;}

/* Footer */
footer.site{background:var(--ink); color:var(--beige);}
footer.site *{color:var(--beige);}
.footer-logo{height:64px; width:auto; border-radius:50%; margin-bottom:14px;}
.footer-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px; padding:64px 0;}
@media(min-width:768px){ .footer-grid{grid-template-columns:repeat(4,1fr);} }
.footer-grid h4{font-size:14px; margin:0 0 16px; font-weight:600; opacity:1;}
.footer-grid p, .footer-grid button, .footer-grid a{font-size:14px; opacity:.68; margin-bottom:11px; text-align:left; display:block; transition:opacity .2s, transform .2s; font-family:'Inter', sans-serif;}
.footer-grid button:hover, .footer-grid a:hover{opacity:1; transform:translateX(2px);}
.social-row{display:flex; gap:10px; margin-top:18px;}
.social-row a{width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; border:1px solid rgba(245,239,230,.25); transition:background .2s, transform .2s;}
.social-row a:hover{background:rgba(245,239,230,.12); transform:translateY(-2px);}
.pay-row{display:flex; gap:8px; margin-top:18px; flex-wrap:wrap;}
.pay-row span{font-size:10px; padding:5px 10px; border:1px solid rgba(245,239,230,.25); border-radius:100px;}
.footer-bottom{text-align:center; font-size:12px; opacity:.5; padding:18px; border-top:1px solid rgba(245,239,230,.15);}

/* Generic page paddings */
.page{padding:48px 0;}
.page h1{font-size:34px; margin:0 0 8px; color:var(--ink);}
.muted{color:var(--muted);}
.breadcrumb{font-size:12px; color:var(--muted); margin-bottom:28px;}
.breadcrumb .cur{color:var(--ink);}

/* Shop layout */
.shop-layout{display:grid; grid-template-columns:1fr; gap:44px;}
@media(min-width:900px){ .shop-layout{grid-template-columns:230px 1fr;} }
.filter-block{margin-bottom:32px; padding-bottom:28px; border-bottom:1px solid var(--line);}
.filter-block:last-child{border-bottom:none;}
.filter-block p.ft{font-size:13px; font-weight:600; color:var(--ink); margin:0 0 14px; text-transform:uppercase; letter-spacing:.04em;}
.filter-block label{display:flex; align-items:center; gap:9px; font-size:14px; margin-bottom:10px; cursor:pointer; color:var(--charcoal);}
.filter-block input[type=radio], .filter-block input[type=checkbox]{accent-color:var(--gold); width:15px; height:15px;}
.filter-block input[type=range]{width:100%; accent-color:var(--gold);}
.shop-toolbar{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:28px; padding-bottom:18px; border-bottom:1px solid var(--line);}
.view-toggle{display:flex; background:var(--beige); border-radius:100px; padding:3px; gap:2px;}
.view-toggle button{font-size:12px; font-weight:600; padding:7px 16px; border-radius:100px; color:var(--ink); transition:all .2s;}
.view-toggle button.active{background:var(--ink); color:#fff;}
.sort-select{padding:10px 16px; border:1px solid var(--line); outline:none; color:var(--charcoal); border-radius:100px; font-weight:500;}
.empty-state{text-align:center; padding:80px 0; color:var(--muted);}

/* Product detail */
.pd-grid{display:grid; grid-template-columns:1fr; gap:48px;}
@media(min-width:768px){ .pd-grid{grid-template-columns:1fr 1fr;} }
.pd-main-img{aspect-ratio:1/1; overflow:hidden; background:#F3F0EA; margin-bottom:14px; border-radius:var(--r-lg); box-shadow:var(--sh-md);}
.pd-main-img img{width:100%; height:100%; object-fit:cover;}
.pd-thumbs{display:flex; gap:12px;}
.pd-thumbs button{width:66px; height:66px; overflow:hidden; border:1px solid var(--line); padding:0; border-radius:var(--r-sm); transition:transform .2s;}
.pd-thumbs button:hover{transform:translateY(-2px);}
.pd-thumbs button.active{border:2px solid var(--gold);}
.pd-thumbs img{width:100%; height:100%; object-fit:cover; border-radius:calc(var(--r-sm) - 2px);}
.pd-brand{font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:6px; font-weight:600;}
.pd-title{font-size:32px; margin:0 0 14px; color:var(--ink);}
.pd-rating{display:flex; align-items:center; gap:8px; margin-bottom:18px;}
.pd-price{display:flex; align-items:center; gap:12px; margin-bottom:8px;}
.pd-price .price{font-size:26px; font-weight:700;}
.pd-stock{font-size:14px; margin-bottom:26px; font-weight:500;}
.pd-desc{font-size:14.5px; line-height:1.65; margin-bottom:26px;}
.swatches{display:flex; gap:8px; margin-top:8px;}
.swatches button{padding:9px 16px; font-size:12px; font-weight:500; border:1px solid var(--line); color:var(--charcoal); border-radius:100px; transition:all .2s;}
.swatches button.active{border:2px solid var(--gold); background:rgba(201,162,39,.06);}
.qty-stepper{display:flex; align-items:center; border:1px solid var(--line); width:fit-content; border-radius:100px; overflow:hidden;}
.qty-stepper button{width:38px; height:38px; font-size:18px; transition:background .2s;}
.qty-stepper button:hover{background:var(--beige);}
.qty-stepper span{width:40px; text-align:center; font-size:14px; font-weight:500;}
.qty-row{display:flex; align-items:center; gap:16px; margin:18px 0 26px;}
.pd-actions{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:26px;}
.pd-wish-btn{display:flex; align-items:center; gap:8px; padding:14px 20px; border:1px solid var(--line); font-size:14px; color:var(--ink); border-radius:100px; transition:all .2s;}
.pd-wish-btn:hover{border-color:var(--ink);}
.pd-note{padding:18px; background:var(--beige); font-size:14px; display:flex; flex-direction:column; gap:10px; border-radius:var(--r-md);}
.pd-note div{display:flex; align-items:center; gap:9px;}
.pd-note svg{width:16px; height:16px; flex-shrink:0; color:var(--gold);}

.tabs{display:flex; gap:30px; border-bottom:1px solid var(--line); margin-top:60px; overflow-x:auto;}
.tabs button{padding-bottom:14px; font-size:14px; font-weight:500; color:var(--muted); white-space:nowrap; border-bottom:2px solid transparent; transition:color .2s;}
.tabs button.active{color:var(--ink); border-color:var(--gold);}
.tabs button:hover{color:var(--ink);}
.swatches button:hover{border-color:var(--gold);}
.pd-thumbs button:hover{border-color:var(--gold);}
.qty-stepper button{transition:background .2s, color .2s;}
.tab-panel{padding:36px 0; max-width:640px; font-size:14.5px; line-height:1.65;}
.spec-table{width:100%; border-collapse:collapse; font-size:14px;}
.spec-table td{padding:12px 0; border-bottom:1px solid var(--line);}
.spec-table td:first-child{font-weight:600; color:var(--ink); width:40%;}
.rev-summary{display:flex; align-items:center; gap:16px; margin-bottom:24px;}
.rev-summary .big{font-size:36px; font-weight:700; color:var(--ink);}
.rev-item{padding-top:18px; border-top:1px solid var(--line); margin-top:18px;}
.rev-item .top{display:flex; justify-content:space-between; align-items:center;}
.rev-item .top p{font-size:14px; font-weight:600; color:var(--ink); margin:0;}

/* Cart */
.cart-layout{display:grid; grid-template-columns:1fr; gap:44px;}
@media(min-width:900px){ .cart-layout{grid-template-columns:1fr 350px;} }
.cart-line{display:flex; gap:16px; padding:22px 0; border-bottom:1px solid var(--line);}
.cart-line img{width:82px; height:98px; object-fit:cover; border-radius:var(--r-sm);}
.cart-line .top{display:flex; justify-content:space-between;}
.cart-line .mid{display:flex; align-items:center; justify-content:space-between; margin-top:14px;}
.cart-line .link-row{display:flex; gap:16px; font-size:12px; color:var(--muted);}
.cart-line .link-row button:hover{text-decoration:underline; color:var(--ink);}
.summary-box{background:var(--beige); padding:26px; height:fit-content; border-radius:var(--r-lg);}
.summary-box .row{display:flex; justify-content:space-between; font-size:14px; margin-bottom:9px; color:var(--charcoal);}
.summary-box .total-row{display:flex; justify-content:space-between; font-size:17px; font-weight:700; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); color:var(--ink);}
.coupon-row{display:flex; gap:8px; margin-bottom:16px;}
.coupon-row input{flex:1; padding:11px 14px; border:1px solid var(--line); outline:none; border-radius:100px;}

/* Checkout */
.checkout-layout{display:grid; grid-template-columns:1fr; gap:44px;}
@media(min-width:900px){ .checkout-layout{grid-template-columns:1fr 360px;} }
.form-grid{display:grid; grid-template-columns:1fr; gap:18px;}
@media(min-width:600px){ .form-grid{grid-template-columns:1fr 1fr;} }
.form-grid .full{grid-column:1/-1;}
.field label{font-size:12px; color:var(--muted); display:block; margin-bottom:6px; font-weight:500;}
.field input, .field select, .field textarea{width:100%; padding:12px 14px; border:1px solid var(--line); outline:none; border-radius:var(--r-sm); transition:border-color .2s;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold);}
.radio-row{display:flex; align-items:center; justify-content:space-between; padding:14px; margin-bottom:9px; font-size:14px; border:1px solid var(--line); cursor:pointer; border-radius:var(--r-sm); transition:border-color .2s;}
.radio-row.active{border-color:var(--gold); background:rgba(201,162,39,.05);}
.toggle-row{display:flex; gap:12px; margin-bottom:26px;}
.toggle-row button{padding:11px 20px; font-size:14px; font-weight:500; border:1px solid var(--ink); border-radius:100px;}
.toggle-row button.active{background:var(--ink); color:#fff;}

/* Order success */
.success-wrap{max-width:600px; margin:0 auto; padding:90px 20px; text-align:center;}
.success-icon{width:68px; height:68px; border-radius:50%; background:linear-gradient(135deg, var(--gold-soft), var(--gold)); display:flex; align-items:center; justify-content:center; margin:0 auto 26px; box-shadow:0 10px 30px rgba(201,162,39,.4);}
.success-box{text-align:left; background:var(--beige); padding:26px; font-size:14px; margin-top:26px; border-radius:var(--r-lg);}
.success-box .row{display:flex; justify-content:space-between; margin-bottom:11px; color:var(--charcoal);}
.success-box .row.total{font-weight:700; color:var(--ink); border-top:1px solid var(--line); padding-top:11px;}

/* Account */
.account-layout{display:grid; grid-template-columns:1fr; gap:44px;}
@media(min-width:900px){ .account-layout{grid-template-columns:220px 1fr;} }
.account-nav button, .account-nav a{display:block; width:100%; text-align:left; padding:11px 14px; font-size:14px; color:var(--ink); margin-bottom:3px; border-radius:var(--r-sm); transition:background .2s;}
.account-nav button.active, .account-nav a.active{background:var(--beige); font-weight:600;}
.account-nav button:hover:not(.active), .account-nav a:hover:not(.active){background:rgba(0,0,0,.03);}
.account-nav .logout{color:#B3261E; margin-top:18px;}
.auth-box{max-width:400px; margin:0 auto; padding:90px 20px;}
.auth-box h1{text-align:center; margin-bottom:36px;}
.auth-links{display:flex; justify-content:center; gap:16px; font-size:13px; margin-top:22px; color:var(--muted);}
.auth-links button{text-decoration:underline;}
.order-row{display:flex; justify-content:space-between; align-items:center; padding:18px; margin-bottom:12px; border:1px solid var(--line); font-size:14px; border-radius:var(--r-md); transition:box-shadow .2s;}
.order-row:hover{box-shadow:var(--sh-sm);}

/* Track order */
.track-wrap{max-width:640px; margin:0 auto; padding:72px 20px;}
.track-form{display:flex; flex-direction:column; gap:12px; margin-bottom:44px;}
@media(min-width:600px){ .track-form{flex-direction:row;} }
.track-form input{flex:1; padding:13px 16px; border:1px solid var(--line); outline:none; border-radius:100px;}
.timeline{display:flex; justify-content:space-between; position:relative; margin-top:28px;}
.timeline .bar-bg{position:absolute; top:12px; left:0; right:0; height:2px; background:var(--line);}
.timeline .bar-fill{position:absolute; top:12px; left:0; height:2px; background:linear-gradient(90deg, var(--gold-soft), var(--gold)); transition:width .5s var(--ease);}
.timeline .step{position:relative; display:flex; flex-direction:column; align-items:center; flex:1;}
.timeline .dot{width:25px; height:25px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:10px; z-index:1; border:1px solid var(--line); background:#fff; color:var(--muted);}
.timeline .dot.done{background:var(--gold); border-color:var(--gold); color:#fff; box-shadow:0 4px 10px rgba(201,162,39,.4);}
.timeline .step p{font-size:10px; text-align:center; margin-top:9px; color:var(--muted);}
.timeline .step p.done{color:var(--ink); font-weight:500;}

/* Contact */
.contact-grid{display:grid; grid-template-columns:1fr; gap:52px;}
@media(min-width:768px){ .contact-grid{grid-template-columns:1fr 1fr;} }
.map-box{aspect-ratio:16/9; background:var(--beige); border-radius:var(--r-lg);}
.whatsapp-link{display:inline-flex; align-items:center; gap:8px; padding:13px 22px; color:#fff; font-size:14px; background:#25D366; border-radius:100px; box-shadow:0 8px 20px rgba(37,211,102,.35); transition:transform .2s;}
.whatsapp-link:hover{transform:translateY(-2px);}

/* FAQ */
.eyebrow-dark{font-size:11px; letter-spacing:.22em; color:var(--gold); margin-bottom:12px; font-weight:600; text-transform:uppercase;}
.faq-group{margin-bottom:40px;}
.faq-cat{font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--gold); font-weight:700; margin:0 0 16px;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 4px; text-align:left; font-size:15.5px; font-weight:500; color:var(--ink); transition:color .2s;}
.faq-q:hover{color:var(--gold);}
.faq-icon{flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--beige); display:flex; align-items:center; justify-content:center; transition:transform .35s var(--ease), background .2s;}
.faq-icon svg{width:13px; height:13px; color:var(--ink); transition:transform .35s var(--ease);}
.faq-item.open .faq-icon{background:var(--ink); transform:rotate(135deg);}
.faq-item.open .faq-icon svg{color:#fff;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease);}
.faq-item.open .faq-a{max-height:220px;}
.faq-a-inner{padding:0 4px 22px; font-size:14.5px; line-height:1.65; color:var(--charcoal); max-width:600px;}
.faq-cta{margin-top:56px; padding:40px 24px; background:var(--beige); border-radius:var(--r-lg); text-align:center;}

/* 404 */
.notfound{max-width:500px; margin:0 auto; padding:110px 20px; text-align:center;}
.notfound .num{font-size:76px; color:var(--gold); margin:0 0 10px;}

/* Toast */
#toast{position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(8px); background:var(--ink); color:#fff; padding:13px 22px; font-size:14px; font-weight:500; z-index:100; border-radius:100px; box-shadow:0 10px 30px rgba(0,0,0,.25); opacity:0; pointer-events:none; transition:opacity .3s var(--ease), transform .3s var(--ease);}
#toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* Whatsapp float */
#wa-float{position:fixed; bottom:22px; right:22px; z-index:60; width:52px; height:52px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(37,211,102,.4); transition:transform .25s var(--ease);}
#wa-float:hover{transform:scale(1.08);}
#wa-float svg{width:23px; height:23px; color:#fff;}

::selection{background:var(--gold); color:#fff;}
