/* ═══════════════════════════════════════════════
   VintageJewellery.in  –  Main Stylesheet
   Vintage Heritage Boutique Design
   ═══════════════════════════════════════════════ */
:root{
  --ivory:#F8F4ED; --cream:#F2EBE0; --beige:#E7D7C9; --warm:#DEC9B5;
  --gold:#C9A96E; --gold-d:#A8863E; --gold-l:#E0C98A;
  --rose:#D8A7A7; --rose-d:#B8837E;
  --brown:#8C6A5D; --brown-d:#5C3D30; --brown-dk:#3D2B1F;
  --txt:#3D2B1F; --txt-m:#6B4C3B; --txt-l:#9C7B6E;
  --border:rgba(201,169,110,.28);
  --shadow:0 4px 20px rgba(61,43,31,.10);
  --shadow-lg:0 8px 40px rgba(61,43,31,.16);
  --r:6px; --r-lg:12px;
  --tr:all .28s ease;
  --serif:'Playfair Display',Georgia,serif;
  --alt:'Cormorant Garamond',Georgia,serif;
  --sans:'Lato',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--ivory);color:var(--txt);font-family:var(--sans);font-size:15px;line-height:1.7;overflow-x:hidden}
a{color:var(--gold-d);text-decoration:none;transition:var(--tr)}
a:hover{color:var(--brown-dk)}
img{max-width:100%;display:block}
ul{list-style:none}
h1,h2,h3,h4,h5{font-family:var(--serif);color:var(--txt);line-height:1.3}
h1{font-size:clamp(1.9rem,4vw,3.2rem);font-weight:600}
h2{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500}
h3{font-size:clamp(1.1rem,2vw,1.5rem)}
p{margin-bottom:1rem;color:var(--txt-m)}

.wrap{max-width:1280px;margin:0 auto;padding:0 20px}

/* ── Top Bar ─────────────────── */
.topbar{background:var(--brown-dk);color:var(--gold-l);font-size:12px;padding:7px 0;letter-spacing:.4px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}
.topbar a{color:var(--gold-l)}.topbar a:hover{color:#fff}
.topbar .sep{margin:0 10px;opacity:.35}.topbar i{margin-right:5px}
.tb-right{display:flex;align-items:center}

/* ── Header ─────────────────── */
.site-header{background:var(--ivory);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:900;box-shadow:0 2px 18px rgba(61,43,31,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;color:var(--txt)}
.logo-orn{color:var(--gold);font-size:13px}
.logo-name{font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:700;color:var(--brown-dk)}
.logo-dot{color:var(--gold-d)}
.logo-tag{font-family:var(--alt);font-size:10px;color:var(--txt-l);letter-spacing:2px;text-transform:uppercase;text-align:center;margin-top:-8px;margin-bottom:4px}
.hdr-search{flex:1;max-width:400px;display:flex;border:1px solid var(--warm);border-radius:30px;overflow:hidden;background:#fff}
.hdr-search input{flex:1;padding:9px 16px;border:none;background:transparent;font-family:var(--sans);font-size:13px;color:var(--txt);outline:none}
.hdr-search input::placeholder{color:var(--txt-l)}
.hdr-search button{padding:9px 16px;background:var(--gold);border:none;color:#fff;cursor:pointer;transition:var(--tr)}
.hdr-search button:hover{background:var(--gold-d)}
.hdr-icons{display:flex;align-items:center;gap:10px}
.ico{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--cream);border-radius:50%;color:var(--brown);font-size:15px;border:1px solid var(--border);transition:var(--tr)}
.ico:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.dot{position:absolute;top:-3px;right:-3px;background:var(--rose-d);color:#fff;font-size:10px;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}
.mob-btn{display:none;background:none;border:1px solid var(--border);border-radius:var(--r);padding:8px 11px;color:var(--brown);cursor:pointer;font-size:17px}

/* ── Desktop Nav ─────────────── */
.site-nav{background:var(--brown-dk);border-top:2px solid var(--gold)}
.nav-ul{display:flex;justify-content:center;align-items:stretch;list-style:none;margin:0;padding:0}
.nav-ul>li{position:relative;display:flex;align-items:stretch}
.nav-ul>li>a,.nav-shop-link{display:flex;align-items:center;gap:5px;padding:0 18px;color:var(--gold-l);font-size:12px;letter-spacing:1px;text-transform:uppercase;transition:var(--tr);white-space:nowrap;text-decoration:none;border:none;background:none;cursor:pointer;height:46px}
.nav-ul>li>a:hover,.nav-ul>li>a.on,.nav-shop-link:hover{color:#fff;background:rgba(201,169,110,.18)}

/* Desktop dropdown */
.has-drop{position:relative}
.drop{display:none;position:absolute;top:100%;left:0;min-width:210px;background:var(--ivory);border-top:2px solid var(--gold);box-shadow:0 8px 32px rgba(61,43,31,.18);z-index:9999;list-style:none;padding:6px 0;margin:0}
.has-drop:hover .drop{display:block}
.drop li a{display:block;padding:10px 18px;color:var(--txt);font-size:13px;border-bottom:1px solid var(--border);transition:var(--tr);white-space:nowrap;text-decoration:none}
.drop li:last-child a{border-bottom:none}
.drop li a:hover{background:var(--cream);color:var(--gold-d);padding-left:26px}

/* Mobile nav — completely separate, hidden on desktop */
.mob-nav{display:none}

/* ── Buttons ─────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 28px;border:none;border-radius:30px;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:var(--tr);text-decoration:none}
.btn-gold{background:var(--gold);color:#fff;box-shadow:0 4px 14px rgba(201,169,110,.35)}
.btn-gold:hover{background:var(--gold-d);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,169,110,.45)}
.btn-out{background:transparent;color:var(--brown-dk);border:1.5px solid var(--brown-dk)}
.btn-out:hover{background:var(--brown-dk);color:#fff;transform:translateY(-2px)}
.btn-sm{padding:8px 18px;font-size:11px}
.btn-wide{width:100%;justify-content:center}

/* ── Section ─────────────────── */
.sec{padding:68px 0}
.sec-alt{background:var(--cream)}
.sec-hdr{text-align:center;margin-bottom:48px}
.sec-tag{font-family:var(--alt);font-size:12px;color:var(--gold-d);letter-spacing:3px;text-transform:uppercase;margin-bottom:8px;font-style:italic}
.sec-title{font-family:var(--serif);font-size:clamp(1.7rem,2.8vw,2.4rem);color:var(--brown-dk);margin-bottom:12px}
.divider{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--gold);margin:0 auto;max-width:280px}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold))}
.divider::after{background:linear-gradient(to left,transparent,var(--gold))}
.sec-sub{font-family:var(--alt);font-size:1rem;color:var(--txt-l);text-align:center;margin-top:12px;font-style:italic}

/* ── Scroll reveal ───────────── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .5s ease}
.reveal.revealed{opacity:1;transform:none}

/* ── Hero ────────────────────── */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,var(--cream) 0%,var(--beige) 45%,var(--warm) 100%)}
.hero::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C9A96E' fill-opacity='0.06'%3E%3Cpath d='M28 8v4h-4v2h4v4h2v-4h4v-2h-4V8h-2zm0-8v4h-4v2h4v4h2V6h4V4h-4V0h-2zM8 28v4H4v2h4v4h2v-4h4v-2h-4v-4H8zm0-20v4H4v2h4v4h2v-4h4V8h-4V4H8v4z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.hero-grid{max-width:860px;margin:0 auto;padding:80px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
.hero-orn{font-family:var(--alt);font-size:12px;color:var(--gold-d);letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px;font-style:italic;justify-content:center}
.hero-orn::before,.hero-orn::after{content:'';flex:1;max-width:44px;height:1px;background:var(--gold)}
.hero h1{font-size:clamp(2rem,3.8vw,3.5rem);color:var(--brown-dk);margin-bottom:18px;font-style:italic;text-align:center}
.hero h1 em{color:var(--gold-d);font-style:normal}
.hero-sub{font-family:var(--alt);font-size:1.15rem;color:var(--txt-m);margin-bottom:32px;font-style:italic;text-align:center;max-width:560px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hero-img-wrap{display:none}
.hero-frame{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.hero-frame::after{content:'';position:absolute;inset:10px;border:1px solid rgba(201,169,110,.45);border-radius:calc(var(--r-lg) - 4px);pointer-events:none;z-index:1}
.hero-frame img{width:100%;height:500px;object-fit:cover}
.hero-chip{position:absolute;bottom:26px;left:-18px;background:#fff;border:1px solid var(--gold);border-radius:var(--r-lg);padding:12px 18px;box-shadow:var(--shadow);z-index:2;text-align:center}
.hero-chip-num{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--gold-d)}
.hero-chip-lbl{font-size:10px;color:var(--txt-l);letter-spacing:1px;text-transform:uppercase}

/* ── Trust Bar ───────────────── */
.trust-bar{background:var(--cream);border-bottom:1px solid var(--border);padding:16px 0}
.trust-bar .wrap{display:flex;justify-content:space-around;flex-wrap:wrap;gap:12px}
.trust-item{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--txt-m)}
.trust-item i{color:var(--gold);font-size:17px}

/* ── Category cards ──────────── */
.cats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.cat-card{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;cursor:pointer;box-shadow:var(--shadow);transition:var(--tr)}
.cat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cat-card:hover img{transform:scale(1.07)}
.cat-card-over{position:absolute;inset:0;background:linear-gradient(to top,rgba(61,43,31,.72) 0%,transparent 58%)}
.cat-card-lbl{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-family:var(--serif);font-size:.95rem;padding:0 8px}
.cat-card-lbl small{display:block;font-family:var(--sans);font-size:10px;color:var(--gold-l);letter-spacing:1px;margin-top:2px}

/* ── Product cards ───────────── */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pcard{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);transition:var(--tr);position:relative}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pcard-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--cream)}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .38s ease}
.pcard:hover .pcard-img img{transform:scale(1.06)}
.pbadges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;z-index:2}
.badge-new{background:var(--gold-d)}.badge-sale{background:var(--rose-d)}.badge-feat{background:var(--brown)}
.badge-new,.badge-sale,.badge-feat{color:#fff;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:3px 9px;border-radius:20px}
.pcard-acts{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:7px;opacity:0;transform:translateX(9px);transition:var(--tr);z-index:2}
.pcard:hover .pcard-acts{opacity:1;transform:none}
.act{width:34px;height:34px;background:#fff;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--brown);font-size:13px;cursor:pointer;transition:var(--tr);text-decoration:none}
.act:hover,.act.wished{background:var(--gold);color:#fff;border-color:var(--gold)}
.pcard-info{padding:14px;border-top:1px solid var(--border)}
.pcard-cat{font-size:10px;color:var(--gold-d);letter-spacing:1px;text-transform:uppercase;margin-bottom:5px}
.pcard-name{font-family:var(--serif);font-size:.95rem;color:var(--txt);margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard-name a{color:inherit}.pcard-name a:hover{color:var(--gold-d)}
.pcard-price{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}
.price-now{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--gold-d)}
.price-was{font-size:.85rem;color:var(--txt-l);text-decoration:line-through}

/* ── Story section ───────────── */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.story-img-wrap{position:relative}
.story-img-wrap img{width:100%;height:460px;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.story-img-wrap::after{content:'';position:absolute;bottom:-14px;right:-14px;width:56%;height:56%;border:2px solid var(--gold);border-radius:var(--r-lg);z-index:-1;opacity:.4}
.story-stats{display:flex;gap:28px;margin-top:32px;padding-top:28px;border-top:1px solid var(--border)}
.stat-num{font-family:var(--serif);font-size:1.9rem;font-weight:700;color:var(--gold-d)}
.stat-lbl{font-size:11px;color:var(--txt-l);letter-spacing:1px;text-transform:uppercase}

/* ── Gallery ─────────────────── */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,200px);gap:10px}
.gal-item{position:relative;overflow:hidden;border-radius:var(--r);cursor:pointer}
.gal-item:first-child{grid-column:span 2;grid-row:span 2}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gal-item:hover img{transform:scale(1.08)}
.gal-over{position:absolute;inset:0;background:rgba(61,43,31,.38);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--tr)}
.gal-item:hover .gal-over{opacity:1}
.gal-over i{color:#fff;font-size:22px}

/* ── Newsletter strip ────────── */
.news-strip{background:linear-gradient(135deg,var(--brown-dk),#3D2B1F);padding:68px 0;text-align:center}
.news-strip h2{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--gold-l);margin-bottom:10px}
.news-strip p{font-family:var(--alt);font-size:1.05rem;color:rgba(231,215,201,.72);font-style:italic;margin-bottom:28px}
.news-form-inline{display:flex;max-width:420px;margin:0 auto;border-radius:30px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.28)}
.news-form-inline input{flex:1;padding:14px 20px;border:none;outline:none;font-size:13px;background:rgba(255,255,255,.92);color:var(--txt)}
.news-form-inline button{padding:14px 22px;background:var(--gold);border:none;color:#fff;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:var(--tr)}
.news-form-inline button:hover{background:var(--gold-d)}

/* ── Footer ──────────────────── */
.site-footer{background:var(--brown-dk);color:var(--beige);padding-top:56px}
.ft-ornament{text-align:center;color:var(--gold);font-size:12px;letter-spacing:4px;margin-bottom:46px;opacity:.55}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:36px;padding-bottom:46px;border-bottom:1px solid rgba(201,169,110,.18)}
.ft-logo{font-family:var(--serif);font-size:1.5rem;color:var(--gold-l);font-weight:700;margin-bottom:12px}
.ft-logo span{color:var(--gold)}
.ft-brand p{color:rgba(231,215,201,.65);font-size:13px;line-height:1.8}
.socials{display:flex;gap:10px;margin-top:18px}
.socials a{width:34px;height:34px;background:rgba(201,169,110,.14);border:1px solid rgba(201,169,110,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold-l);font-size:13px;transition:var(--tr)}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.ft-col h4{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-l);margin-bottom:16px}
.ft-col ul li{margin-bottom:9px}
.ft-col ul li a{color:rgba(231,215,201,.62);font-size:13px;transition:var(--tr)}
.ft-col ul li a:hover{color:var(--gold-l);padding-left:5px}
.ft-news h4{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-l);margin-bottom:12px}
.ft-news p{color:rgba(231,215,201,.62);font-size:13px;margin-bottom:14px}
.news-form{display:flex;border-radius:var(--r);overflow:hidden;margin-bottom:18px}
.news-form input{flex:1;padding:10px 13px;background:rgba(255,255,255,.07);border:1px solid rgba(201,169,110,.28);border-right:none;color:#fff;font-size:13px;outline:none}
.news-form input::placeholder{color:rgba(231,215,201,.38)}
.news-form button{padding:10px 16px;background:var(--gold);border:none;color:#fff;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:var(--tr)}
.news-form button:hover{background:var(--gold-d)}
.ft-contact p{color:rgba(231,215,201,.62);font-size:13px;margin-bottom:7px}
.ft-contact i{color:var(--gold);margin-right:7px}
.ft-bottom{padding:18px 0}
.ft-bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.ft-bottom p{font-size:11px;color:rgba(231,215,201,.45);margin:0}
.pay-row{display:flex;align-items:center;gap:7px;font-size:11px;color:rgba(231,215,201,.45)}
.pbadge{background:rgba(201,169,110,.14);border:1px solid rgba(201,169,110,.28);color:var(--gold-l);font-size:10px;padding:2px 8px;border-radius:3px;font-weight:700;letter-spacing:.4px}
.ft-legal{display:flex;gap:18px}
.ft-legal a{font-size:11px;color:rgba(231,215,201,.44)}
.ft-legal a:hover{color:var(--gold-l)}

/* ── Toast ───────────────────── */
.toast{display:none;position:fixed;bottom:28px;right:28px;background:var(--brown-dk);color:#fff;padding:13px 22px;border-radius:var(--r-lg);font-size:13px;z-index:9999;box-shadow:var(--shadow-lg);border-left:4px solid var(--gold);max-width:300px;animation:toastIn .28s ease}
.toast.err{border-left-color:#e74c3c}
@keyframes toastIn{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}

/* ── Page header ─────────────── */
.pg-hdr{background:linear-gradient(135deg,var(--cream),var(--beige));padding:38px 0;text-align:center;border-bottom:1px solid var(--border)}
.pg-hdr h1{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--brown-dk);margin-bottom:6px}
.pg-hdr p{font-family:var(--alt);font-size:1rem;color:var(--txt-l);font-style:italic;margin:0}
.breadcrumb{padding:13px 0;font-size:12px;color:var(--txt-l);border-bottom:1px solid var(--border)}
.breadcrumb a{color:var(--gold-d)}
.breadcrumb span{margin:0 7px;opacity:.45}

/* ── Shop layout ─────────────── */
.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:28px;padding:36px 0}
.sidebar{background:#fff;border-radius:var(--r-lg);padding:22px;border:1px solid var(--border);position:sticky;top:135px;height:fit-content}
.sb-sec{margin-bottom:26px}
.sb-sec h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brown-dk);margin-bottom:12px;padding-bottom:7px;border-bottom:1px solid var(--border)}
.sb-sec ul li{margin-bottom:7px}
.sb-sec ul li a{color:var(--txt-m);font-size:13px;display:flex;justify-content:space-between;padding:4px 0;transition:var(--tr)}
.sb-sec ul li a:hover,.sb-sec ul li a.on{color:var(--gold-d);padding-left:7px}
.sb-sec ul li a span{background:var(--cream);color:var(--txt-l);font-size:10px;padding:1px 7px;border-radius:10px}
.price-row{display:flex;gap:8px;align-items:center;margin-top:10px}
.price-row input{flex:1;padding:7px 11px;border:1px solid var(--warm);border-radius:var(--r);font-size:12px;color:var(--txt);background:var(--ivory);outline:none;width:0}
.price-row span{color:var(--txt-l);font-size:11px;flex-shrink:0}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#fff;border-radius:var(--r);border:1px solid var(--border);margin-bottom:22px;flex-wrap:wrap;gap:10px}
.shop-count{font-size:12px;color:var(--txt-l)}
.shop-sort select{padding:7px 13px;border:1px solid var(--warm);border-radius:var(--r);font-size:12px;background:var(--ivory);cursor:pointer;outline:none}

/* ── Product detail ──────────── */
.pd-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:46px 0}
.gal-main{aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:12px;cursor:zoom-in;transition:var(--tr)}
.gal-main.zoomed img{transform:scale(1.75);cursor:zoom-out}
.gal-main img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gal-thumbs{display:flex;gap:9px;overflow-x:auto}
.gal-thumb{width:66px;height:66px;object-fit:cover;border-radius:var(--r);border:2px solid transparent;cursor:pointer;transition:var(--tr);flex-shrink:0}
.gal-thumb.on,.gal-thumb:hover{border-color:var(--gold)}
.pd-cat{font-size:11px;color:var(--gold-d);letter-spacing:1px;text-transform:uppercase;margin-bottom:7px}
.pd-price{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--border)}
.pd-price .price-now{font-size:1.9rem}
.pd-desc{font-family:var(--alt);font-size:1.02rem;color:var(--txt-m);font-style:italic;margin-bottom:22px;line-height:1.85}
.pd-meta{width:100%;border-collapse:collapse;margin-bottom:22px}
.pd-meta td{padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}
.pd-meta td:first-child{color:var(--txt-l);width:130px;font-weight:700;font-size:11px;letter-spacing:.5px;text-transform:uppercase}
.pd-acts{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px}
.qty-wrap{display:flex;align-items:center;border:1px solid var(--warm);border-radius:30px;overflow:hidden}
.qty-wrap button{width:38px;height:46px;background:var(--cream);border:none;font-size:17px;cursor:pointer;color:var(--brown);transition:var(--tr)}
.qty-wrap button:hover{background:var(--gold);color:#fff}
.qty-inp{width:46px;text-align:center;border:none;outline:none;font-family:var(--serif);font-size:.95rem;font-weight:600;background:transparent}
.ship-strip{background:var(--cream);border:1px solid var(--border);border-radius:var(--r);padding:13px 16px;margin-top:18px;display:flex;gap:18px;flex-wrap:wrap}
.ship-strip span{font-size:12px;color:var(--txt-m)}
.ship-strip i{color:var(--gold);margin-right:5px}
.tabs{margin-top:36px;border-top:1px solid var(--border);padding-top:26px}
.tab-btns{display:flex;border-bottom:1px solid var(--border);margin-bottom:22px;width:100%}
.tab-btn{flex:1;padding:13px 8px;background:none;border:none;border-bottom:2px solid transparent;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--txt-l);cursor:pointer;margin-bottom:-1px;transition:var(--tr);text-align:center}
.tab-btn.on{color:var(--gold-d);border-bottom-color:var(--gold-d);background:rgba(201,169,110,.04)}
.tab-panel{display:none;font-size:14px;color:var(--txt-m);line-height:1.85}
.tab-panel.on{display:block}

/* ── Cart ────────────────────── */
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:26px;padding:36px 0}
.cart-tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border)}
.cart-tbl th{padding:12px 16px;text-align:left;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--txt-l);background:var(--cream);border-bottom:2px solid var(--border)}
.cart-tbl td{padding:18px 16px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px}
.cart-prod{display:flex;align-items:center;gap:14px}
.cart-prod img{width:66px;height:66px;object-fit:cover;border-radius:var(--r);border:1px solid var(--border)}
.cart-prod-name{font-family:var(--serif);font-size:.95rem;color:var(--txt)}
.cart-qty-ctrl{display:flex;align-items:center;gap:5px}
.cart-qty-ctrl button{width:26px;height:26px;background:var(--cream);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:14px;transition:var(--tr)}
.cart-qty-ctrl button:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.cart-qty-ctrl input{width:38px;text-align:center;border:1px solid var(--border);border-radius:4px;padding:3px;font-size:13px}
.rm-btn{background:none;border:none;color:var(--rose-d);cursor:pointer;font-size:14px;padding:5px;border-radius:4px;transition:var(--tr)}
.rm-btn:hover{background:#fdf0f0}
.order-box{background:#fff;border-radius:var(--r-lg);padding:26px;border:1px solid var(--border);position:sticky;top:135px;height:fit-content}
.order-box h3{font-size:1rem;color:var(--brown-dk);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.sum-row{display:flex;justify-content:space-between;padding:9px 0;font-size:13px;border-bottom:1px solid var(--border)}
.sum-row:last-of-type{border-bottom:none}
.sum-row.total-row{font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--brown-dk);padding-top:14px;border-top:2px solid var(--gold);margin-top:6px}
.sum-row.total-row span:last-child{color:var(--gold-d)}

/* ── Forms ───────────────────── */
.fgrp{margin-bottom:18px}
.flbl{display:block;font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--txt-m);text-transform:uppercase;margin-bottom:7px}
.finp,.fsel,.ftxt{width:100%;padding:11px 14px;border:1px solid var(--warm);border-radius:var(--r);font-family:var(--sans);font-size:13px;color:var(--txt);background:#fff;outline:none;transition:var(--tr)}
.finp:focus,.fsel:focus,.ftxt:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,169,110,.13)}
.finp::placeholder,.ftxt::placeholder{color:var(--txt-l)}
.ftxt{resize:vertical;min-height:110px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.full{grid-column:1/-1}
.pay-opt{display:flex;align-items:center;gap:13px;padding:13px 16px;border:1.5px solid var(--warm);border-radius:var(--r);cursor:pointer;transition:var(--tr);background:#fff;margin-bottom:10px}
.pay-opt:hover,.pay-opt.on{border-color:var(--gold);background:rgba(201,169,110,.04)}
.pay-opt label{cursor:pointer;font-size:13px}
.pay-opt i{color:var(--gold);font-size:17px;flex-shrink:0}
.pay-sub{font-size:11px;color:var(--txt-l);display:block;margin-top:1px}
.alert{padding:12px 16px;border-radius:var(--r);margin-bottom:18px;font-size:13px;border-left:4px solid}
.alert-ok{background:#f0fdf4;border-color:#22c55e;color:#166534}
.alert-err{background:#fef2f2;border-color:#ef4444;color:#991b1b}
.alert-info{background:rgba(201,169,110,.09);border-color:var(--gold);color:var(--brown-dk)}

/* ── Auth pages ──────────────── */
.auth-page{min-height:78vh;display:flex;align-items:center;background:linear-gradient(135deg,var(--cream),var(--beige));padding:56px 0}
.auth-card{background:#fff;border-radius:var(--r-lg);padding:44px 40px;max-width:460px;width:100%;margin:0 auto;box-shadow:var(--shadow-lg);border:1px solid var(--border)}
.auth-hdr{text-align:center;margin-bottom:32px}
.auth-hdr .orn{color:var(--gold);font-size:1.4rem;display:block;margin-bottom:6px}
.auth-hdr h2{color:var(--brown-dk);margin-bottom:5px}
.auth-hdr p{font-size:13px;color:var(--txt-l);margin:0}
.auth-link{text-align:center;margin-top:18px;font-size:13px;color:var(--txt-l)}

/* ── Account ─────────────────── */
.acc-layout{display:grid;grid-template-columns:240px 1fr;gap:26px;padding:36px 0}
.acc-side{background:#fff;border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;height:fit-content}
.acc-user{padding:22px;background:var(--cream);text-align:center;border-bottom:1px solid var(--border)}
.acc-avatar{width:60px;height:60px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.4rem;color:#fff;margin:0 auto 10px}
.acc-nav a{display:flex;align-items:center;gap:10px;padding:13px 18px;color:var(--txt-m);font-size:13px;border-bottom:1px solid var(--border);transition:var(--tr)}
.acc-nav a:hover,.acc-nav a.on{color:var(--gold-d);background:rgba(201,169,110,.05);padding-left:24px}
.acc-nav a i{width:16px;color:var(--gold);font-size:13px}

/* ── Status badges ───────────── */
.sbadge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.s-pending{background:#fef3c7;color:#92400e}
.s-processing{background:rgba(201,169,110,.15);color:var(--gold-d)}
.s-shipped{background:#dbeafe;color:#1e40af}
.s-delivered{background:#d1fae5;color:#065f46}
.s-cancelled{background:#fee2e2;color:#991b1b}

/* ── Empty state ─────────────── */
.empty{text-align:center;padding:80px 20px;color:var(--txt-l)}
.empty i{font-size:3rem;color:var(--gold);margin-bottom:14px;display:block}
.empty h3{font-size:1.3rem;color:var(--txt-m);margin-bottom:8px}

/* ── Pagination ──────────────── */
.pagi{display:flex;justify-content:center;gap:7px;padding:36px 0 0}
.pagi a,.pagi span{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r);font-size:12px;font-weight:600;color:var(--txt-m);background:#fff;transition:var(--tr);padding:0 8px}
.pagi a:hover,.pagi .cur{background:var(--gold);border-color:var(--gold);color:#fff}

/* ── Responsive ──────────────── */
@media(max-width:1100px){
  .cats-grid{grid-template-columns:repeat(3,1fr)}
  .prod-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-orn{justify-content:center}
  .hero-btns{justify-content:center}
  .story-grid{grid-template-columns:1fr}
  .shop-layout{grid-template-columns:1fr}
  .sidebar{position:static}
  .pd-grid{grid-template-columns:1fr}
  .cart-layout{grid-template-columns:1fr}
  .acc-layout{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gal-item:first-child{grid-column:span 2}
  .fgrid{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .hdr-search{display:none}
  .topbar .tb-right .sep+*,.topbar .sep:last-of-type{display:none}
  .prod-grid{grid-template-columns:1fr;gap:10px}
  .cats-grid{grid-template-columns:repeat(2,1fr)}
  .site-nav{display:none}
  .site-nav.open{display:block}
  .nav-ul{flex-direction:column;align-items:stretch}
  .nav-ul>li>a{border-bottom:1px solid rgba(201,169,110,.14)}
  .mob-btn{display:block}
  .ft-grid{grid-template-columns:1fr}
  .auth-card{padding:28px 18px}
}

CATEGORY SLIDER — circles, swipeable, dots
   ============================================== */
.cat-sec { padding-bottom: 50px; }
.cat-slider-wrap {
  position: relative;
  padding: 0 44px;
  max-width: 1280px;
  margin: 10px auto 0;
}
.cat-slider {
  display: flex;
  flex-direction: row;
  gap: 18px;
  overflow-x: scroll;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 10px 2px 14px;
  align-items: flex-start;
}
.cat-slider::-webkit-scrollbar { display: none; }
.cat-slide {
  flex: 0 0 130px;
  width: 130px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: transform .25s ease;
}
.cat-slide:hover { transform: translateY(-3px); }
.cat-slide-img {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--gold);
  background: var(--cream);
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(61,43,31,.12);
}
.cat-slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cat-slide-name {
  font-family: var(--serif);
  font-size: .8rem;
  color: var(--brown-dk);
  text-align: center;
  line-height: 1.3;
  width: 120px;
}
.cat-arrow {
  position: absolute;
  top: 50px;
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  background: #fff;
  color: var(--gold-d);
  font-size: 1.3rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(61,43,31,.1);
  transition: all .2s;
  z-index: 5;
  padding: 0; line-height: 1;
}
.cat-arrow:hover { background: var(--gold); color: #fff; }
.cat-arrow-prev { left: 2px; }
.cat-arrow-next { right: 2px; }
.cat-arrow.hidden { opacity: 0; pointer-events: none; }
/* Dots */
.cat-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 14px;
}
.cat-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--warm);
  cursor: pointer;
  transition: all .2s;
  border: none;
  padding: 0;
}
.cat-dot.on {
  background: var(--gold);
  width: 18px;
  border-radius: 3px;
}

/* ==============================================
   CART ITEM CARDS
   ============================================== */
.cart-items-wrap { display: flex; flex-direction: column; gap: 12px; }
.cart-item-card {
  display: flex; align-items: center; gap: 14px;
  background: #fff; border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 12px;
}
.cart-item-card > img {
  width: 80px; height: 80px; object-fit: cover;
  border-radius: var(--r); flex-shrink: 0;
  border: 1px solid var(--border);
}
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name {
  font-family: var(--serif); font-size: .92rem;
  color: var(--txt); margin-bottom: 3px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cart-item-price { color: var(--gold-d); font-weight: 600; font-size: .9rem; margin-bottom: 8px; }
.cart-item-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cart-item-total { font-family: var(--serif); font-weight: 700; color: var(--gold-d); margin-left: auto; }
.cart-qty-ctrl { display: flex; align-items: center; gap: 3px; }
.cart-qty-ctrl button {
  width: 26px; height: 26px; background: var(--cream);
  border: 1px solid var(--border); border-radius: 4px;
  cursor: pointer; font-size: 14px;
  display: flex; align-items: center; justify-content: center;
  transition: var(--tr);
}
.cart-qty-ctrl button:hover { background: var(--gold); color: #fff; border-color: var(--gold); }
.cart-qty-ctrl input {
  width: 34px; text-align: center;
  border: 1px solid var(--border); border-radius: 4px;
  padding: 2px; font-size: 12px;
}
.rm-btn { background: none; border: none; color: var(--rose-d); cursor: pointer; font-size: 13px; padding: 4px; border-radius: 4px; transition: var(--tr); }
.rm-btn:hover { background: #fdf0f0; }

/* ==============================================
   CHECKOUT GRID
   ============================================== */
.checkout-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 26px;
  align-items: start;
}

/* ==============================================
   TABLET 641–900px
   ============================================== */
/* ═══════════════════════════════════════════
/* Wrap div containing shop link + arrow button */

/* ═══════════════════════════════════════════
   CART ITEM CARDS
   ═══════════════════════════════════════════ */
.cart-items-wrap { display: flex; flex-direction: column; gap: 12px; }
.cart-item-card {
  display: flex; align-items: center; gap: 14px;
  background: #fff; border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 12px;
}
.cart-item-card > img { width: 80px; height: 80px; object-fit: cover; border-radius: var(--r); flex-shrink: 0; border: 1px solid var(--border); }
.cart-item-info { flex: 1; min-width: 0; }
.cart-item-name { font-family: var(--serif); font-size: .92rem; color: var(--txt); margin-bottom: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cart-item-price { color: var(--gold-d); font-weight: 600; font-size: .9rem; margin-bottom: 8px; }
.cart-item-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cart-item-total { font-family: var(--serif); font-weight: 700; color: var(--gold-d); margin-left: auto; }
.cart-qty-ctrl { display: flex; align-items: center; gap: 3px; }
.cart-qty-ctrl button { width: 26px; height: 26px; background: var(--cream); border: 1px solid var(--border); border-radius: 4px; cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; transition: var(--tr); }
.cart-qty-ctrl button:hover { background: var(--gold); color: #fff; border-color: var(--gold); }
.cart-qty-ctrl input { width: 34px; text-align: center; border: 1px solid var(--border); border-radius: 4px; padding: 2px; font-size: 12px; }
.rm-btn { background: none; border: none; color: var(--rose-d); cursor: pointer; font-size: 13px; padding: 4px; border-radius: 4px; transition: var(--tr); }
.rm-btn:hover { background: #fdf0f0; }

/* ═══════════════════════════════════════════
   CHECKOUT GRID
   ═══════════════════════════════════════════ */
.checkout-grid { display: grid; grid-template-columns: 1fr 360px; gap: 26px; align-items: start; }

/* ═══════════════════════════════════════════
   SHOP — pills mobile only, sidebar desktop
   ═══════════════════════════════════════════ */
.cat-pills-wrap { display: none; }

/* ═══════════════════════════════════════════
   TABLET 641–900px
   ═══════════════════════════════════════════ */
@media (min-width: 641px) and (max-width: 900px) {
  .prod-grid { grid-template-columns: repeat(2,1fr) !important; gap: 16px !important; }
  .shop-layout { grid-template-columns: 1fr !important; }
  .sidebar { position: static !important; }
  .pd-grid { grid-template-columns: 1fr !important; }
  .cart-layout { grid-template-columns: 1fr !important; }
  .checkout-grid { grid-template-columns: 1fr !important; }
  .story-grid { grid-template-columns: 1fr !important; }
  .ft-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ═══════════════════════════════════════════
   MOBILE max-width 640px — ONE BLOCK ONLY
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  html, body { overflow-x: hidden !important; }
  * { box-sizing: border-box !important; }
  .cat-slider, .gal-thumbs, .cat-pills { max-width: none !important; overflow-x: scroll !important; }

  /* Topbar + tagline */
  .topbar { display: none !important; }
  .logo-tag { display: none !important; }

  /* Globals */
  .wrap { padding: 0 12px; }
  .sec { padding: 34px 0; }
  .sec-hdr { margin-bottom: 18px; }
  h1 { font-size: 1.45rem !important; }
  h2 { font-size: 1.2rem !important; }
  .btn { padding: 10px 16px; font-size: 11px; }

  /* ── Header ── */
  .header-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 12px !important;
    gap: 0 !important;
  }
  .logo { flex: 1; display: flex !important; align-items: center; gap: 4px; }
  .logo-name { font-size: .95rem !important; white-space: nowrap; }
  .hdr-search { display: none !important; }
  .hdr-icons { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 7px !important; flex-shrink: 0; }
  .ico { width: 36px !important; height: 36px !important; font-size: 13px !important; }
  .mob-btn { display: flex !important; width: 36px !important; height: 36px !important; align-items: center; justify-content: center; padding: 0 !important; }

  /* ── Mobile Nav ── */
  .site-nav { display: none; background: var(--brown-dk); }
  .site-nav.open { display: block !important; }
  .nav-ul { display: flex !important; flex-direction: column !important; align-items: stretch !important; padding: 6px 0 !important; gap: 0 !important; }
  .nav-ul > li { display: block !important; border-bottom: 1px solid rgba(255,255,255,.06) !important; }
  .nav-ul > li > a { display: block !important; padding: 13px 18px !important; color: rgba(255,255,255,.82) !important; font-size: 12px !important; letter-spacing: 1px !important; text-transform: uppercase !important; height: auto !important; line-height: 1.4 !important; }
  .nav-ul > li > a:hover { color: var(--gold-l) !important; }

  /* SHOP row */
  .has-drop > div { display: flex !important; align-items: center !important; height: auto !important; }
  .has-drop .shop-link { flex: 1 !important; padding: 13px 18px !important; display: block !important; color: rgba(255,255,255,.82) !important; font-size: 12px !important; letter-spacing: 1px !important; text-transform: uppercase !important; height: auto !important; }
  .drop-toggle { padding: 13px 16px !important; color: rgba(255,255,255,.7) !important; font-size: 12px !important; height: auto !important; border-left: 1px solid rgba(255,255,255,.08) !important; transition: transform .25s !important; }
  .drop-toggle.open { transform: rotate(180deg) !important; }

  /* Category dropdown — hidden, shown via JS */
  .has-drop .drop { display: none !important; position: static !important; box-shadow: none !important; border-top: 1px solid rgba(201,169,110,.15) !important; background: rgba(0,0,0,.2) !important; min-width: unset !important; max-width: unset !important; width: 100% !important; border-radius: 0 !important; padding: 4px 0 !important; max-height: none !important; overflow: visible !important; }
  .has-drop .drop.open { display: block !important; }
  .has-drop:hover .drop { display: none !important; } /* disable CSS hover on mobile */
  .drop a { padding: 10px 28px !important; font-size: 12px !important; color: rgba(255,255,255,.65) !important; border-bottom: 1px solid rgba(255,255,255,.05) !important; white-space: normal !important; text-transform: none !important; letter-spacing: 0 !important; }
  .drop a:hover { color: var(--gold-l) !important; padding-left: 34px !important; background: transparent !important; }

  /* ── Hero ── */
  .hero-grid { grid-template-columns: 1fr !important; padding: 28px 12px !important; gap: 18px !important; text-align: center; }
  .hero-orn { justify-content: center; }
  .hero-btns { justify-content: center; flex-wrap: wrap; gap: 10px; }
  .hero-frame img { height: 200px; }

  /* Category slider */
  .cat-slider-wrap { padding: 0 30px; }
  .cat-slide { flex: 0 0 95px; width: 95px; }
  .cat-slide-img { width: 85px; height: 85px; border-width: 2px; }
  .cat-slide-name { font-size: .7rem; width: 90px; }
  .cat-arrow { width: 26px; height: 26px; font-size: 1rem; top: 40px; }

  /* ── PRODUCTS: 1 per row, card style ── */
  .prod-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; }
  .pcard { display: block !important; border-radius: 12px !important; overflow: hidden !important; width: 100% !important; }
  .pcard:hover { transform: none !important; }
  .pcard-img { width: 100% !important; height: 200px !important; aspect-ratio: unset !important; border-radius: 0 !important; }
  .pcard-img img { width: 100% !important; height: 200px !important; object-fit: cover !important; border-radius: 0 !important; display: block !important; }
  .pcard-acts { display: none !important; }
  .pbadges { top: 8px !important; left: 8px !important; }
  .badge-new,.badge-sale,.badge-feat { font-size: 9px !important; padding: 3px 8px !important; }
  .pcard-info { padding: 12px 14px !important; border-top: 1px solid var(--border) !important; border-left: none !important; display: block !important; }
  .pcard-cat { font-size: 9px !important; margin-bottom: 3px !important; }
  .pcard-name { font-size: .95rem !important; margin-bottom: 6px !important; min-height: unset !important; }
  .pcard-price { margin-bottom: 10px !important; }
  .price-now { font-size: 1rem !important; }
  .price-was { font-size: .8rem !important; }
  .btn-wide { padding: 10px !important; font-size: 11px !important; border-radius: 25px !important; }

  /* Shop pills (mobile) */
  .cat-pills-wrap { display: block !important; background: #fff; border-bottom: 1px solid var(--border); position: sticky; top: 58px; z-index: 50; padding: 10px 0; }
  .cat-pills { display: flex; gap: 8px; overflow-x: auto; padding: 0 12px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .cat-pills::-webkit-scrollbar { display: none; }
  .cat-pill { flex-shrink: 0; padding: 6px 14px; border-radius: 20px; font-size: 11px; font-weight: 600; color: var(--txt-m); background: var(--cream); border: 1px solid var(--border); text-decoration: none; white-space: nowrap; transition: var(--tr); }
  .cat-pill span { font-size: 10px; opacity: .7; margin-left: 2px; }
  .cat-pill.on, .cat-pill:hover { background: var(--gold); color: #fff; border-color: var(--gold); }
  .sidebar { display: none !important; }
  .shop-layout { grid-template-columns: 1fr !important; }

  /* Story */
  .story-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .story-img-wrap img { height: 180px !important; }
  .story-img-wrap::after { display: none; }
  .story-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; padding-top: 14px; }
  .stat { text-align: center; }
  .stat-num { font-size: 1.3rem; }

  /* Gallery */
  .gallery-grid { grid-template-columns: 1fr 1fr !important; grid-template-rows: auto !important; gap: 6px !important; }
  .gal-item { height: 110px !important; }
  .gal-item:first-child { grid-column: 1/-1 !important; height: 155px !important; }

  /* Newsletter */
  .news-strip { padding: 34px 12px !important; }
  .news-form-inline { flex-direction: column !important; border-radius: 10px !important; max-width: 100% !important; overflow: hidden; }
  .news-form-inline input { border-radius: 10px 10px 0 0 !important; padding: 12px 14px !important; width: 100% !important; }
  .news-form-inline button { border-radius: 0 0 10px 10px !important; padding: 12px !important; width: 100% !important; font-size: 12px !important; }

  /* Footer */
  .ft-ornament { display: none; }
  .ft-grid { grid-template-columns: 1fr !important; gap: 20px; padding-bottom: 22px; }
  .ft-bottom-inner { flex-direction: column; text-align: center; gap: 8px; }
  .ft-legal { justify-content: center; }
  .pay-row { justify-content: center; }

  /* Cart */
  .cart-layout { display: flex !important; flex-direction: column !important; gap: 14px !important; padding: 14px 0 !important; }
  .order-box { position: static !important; }
  .cart-item-card > img { width: 60px !important; height: 60px !important; }

  /* Checkout */
  .checkout-grid { display: flex !important; flex-direction: column !important; gap: 14px !important; }
  .fgrid { display: flex !important; flex-direction: column !important; gap: 10px !important; }

  /* Product detail */
  .pd-grid { grid-template-columns: 1fr !important; gap: 14px; padding: 14px 0; }
  .pd-grid h1 { font-size: 1.2rem !important; }
  .gal-main img { height: 260px !important; }
  .tab-btns { overflow: visible; }
  .tab-btn { white-space: nowrap; flex: 1; font-size: 10px; padding: 10px 4px; }
  .ship-strip { flex-direction: column; gap: 5px; }
  .pd-acts { flex-wrap: wrap; gap: 8px; }
  .pd-meta { table-layout: fixed; width: 100%; }
  .pd-meta td { font-size: 12px !important; word-break: break-word; }
  .pd-meta td:first-child { width: 100px; }

  /* Auth */
  .auth-page { padding: 20px 0; }
  .auth-card { padding: 20px 12px; }
  .acc-layout { grid-template-columns: 1fr !important; gap: 12px; padding: 14px 0; }

  /* Misc */
  .pg-hdr { padding: 20px 12px; }
  .breadcrumb { overflow-x: auto; white-space: nowrap; font-size: 11px; }
  .pagi { flex-wrap: wrap; padding-top: 18px; }
}

/* ═══════════════════════════════════════════
   SHOP NAV — Desktop: link only, Mobile: link + toggle button
   ═══════════════════════════════════════════ */

/* Desktop: show only the shop-link (with chevron icon), hide toggle button */
.shop-nav-row { display: flex; align-items: center; height: 100%; }
.shop-link {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 13px 20px !important;
  color: var(--gold-l) !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  height: 100% !important;
  white-space: nowrap !important;
}
.shop-link:hover { color: #fff !important; background: rgba(201,169,110,.18) !important; }
.shop-link i { font-size: 9px !important; }
.drop-toggle { display: none; } /* hidden on desktop */

/* Mobile: hide icon in shop-link, show toggle button */
@media (max-width: 640px) {
  .shop-nav-row {
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  .shop-link {
    flex: 1 !important;
    padding: 13px 18px !important;
    height: auto !important;
    border-bottom: none !important;
  }
  .shop-link i { display: none !important; } /* hide chevron on mobile, use button instead */
  .drop-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    border: none !important;
    border-left: 1px solid rgba(255,255,255,.1) !important;
    color: var(--gold-l) !important;
    padding: 13px 16px !important;
    cursor: pointer !important;
    font-size: 12px !important;
    transition: transform .25s !important;
    flex-shrink: 0 !important;
  }
  .drop-toggle.open { transform: rotate(180deg) !important; }
  /* Override has-drop li border since shop-nav-row has its own */
  .has-drop { border-bottom: none !important; }
}

/* ═══════════════════════════════════════════
   MOBILE NAV — separate element, clean
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  /* Hide desktop nav */
  .site-nav { display: none !important; }

  /* Show mobile nav when open */
  .mob-nav { display: none; background: var(--brown-dk); }
  .mob-nav.open { display: block; }
  .mob-nav ul { list-style: none; margin: 0; padding: 6px 0; }
  .mob-nav > ul > li { border-bottom: 1px solid rgba(255,255,255,.07); }
  .mob-nav > ul > li > a,
  .mob-shop-row > a {
    display: block;
    padding: 13px 18px;
    color: rgba(255,255,255,.85);
    font-size: 13px;
    letter-spacing: .5px;
    text-decoration: none;
    text-transform: uppercase;
  }
  .mob-nav > ul > li > a:hover,
  .mob-shop-row > a:hover { color: var(--gold-l); }

  /* Shop row with toggle */
  .mob-shop-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .mob-shop-row > a { flex: 1; }
  .mob-drop-btn {
    background: none;
    border: none;
    border-left: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.7);
    padding: 13px 18px;
    cursor: pointer;
    font-size: 13px;
    transition: transform .25s;
  }
  .mob-drop-btn.open { transform: rotate(180deg); }

  /* Category dropdown */
  .mob-drop { display: none; list-style: none; margin: 0; padding: 4px 0; background: rgba(0,0,0,.25); }
  .mob-drop.open { display: block; }
  .mob-drop li a {
    display: block;
    padding: 10px 28px;
    color: rgba(255,255,255,.65);
    font-size: 12px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,.04);
    text-transform: none;
    letter-spacing: 0;
  }
  .mob-drop li:last-child a { border-bottom: none; }
  .mob-drop li a:hover { color: var(--gold-l); padding-left: 34px; }
}

/* ── Cart qty control — better styling ── */
.cart-qty-ctrl {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--warm);
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
}
.cart-qty-ctrl button {
  width: 34px !important;
  height: 34px !important;
  background: var(--cream) !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  color: var(--brown) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: var(--tr) !important;
  flex-shrink: 0 !important;
}
.cart-qty-ctrl button:hover {
  background: var(--gold) !important;
  color: #fff !important;
}
.cart-qty-ctrl input {
  width: 46px !important;
  height: 34px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1.5px solid var(--warm) !important;
  border-right: 1.5px solid var(--warm) !important;
  border-radius: 0 !important;
  font-family: var(--serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--txt) !important;
  background: #fff !important;
  outline: none !important;
  -moz-appearance: textfield !important;
}
.cart-qty-ctrl input::-webkit-outer-spin-button,
.cart-qty-ctrl input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ═══════════════════════════════════════════
   NEW FEATURES CSS
   ═══════════════════════════════════════════ */

/* ── Product zoom ── */
.gal-main-wrap { position: relative; }
.gal-main { cursor: crosshair; }
.zoom-box {
  display: none;
  position: absolute;
  top: 0; right: -320px;
  width: 300px; height: 300px;
  border: 2px solid var(--gold);
  border-radius: var(--r);
  box-shadow: var(--shadow-lg);
  background-repeat: no-repeat;
  z-index: 100;
  pointer-events: none;
}
@media (max-width: 900px) { .zoom-box { display: none !important; } }

/* ── Share buttons ── */
.share-row { display: flex; align-items: center; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.share-label { font-size: 11px; color: var(--txt-l); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.share-btn { display: inline-flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 20px; font-size: 12px; font-weight: 600; cursor: pointer; text-decoration: none; transition: var(--tr); border: none; }
.share-btn.wa { background: #25D366; color: #fff; }
.share-btn.wa:hover { background: #128C7E; color: #fff; }
.share-btn.fb { background: #1877F2; color: #fff; width: 32px; height: 32px; padding: 0; justify-content: center; border-radius: 50%; }
.share-btn.cp { background: var(--cream); color: var(--brown); border: 1px solid var(--border); width: 32px; height: 32px; padding: 0; justify-content: center; border-radius: 50%; }
.share-btn.cp:hover { background: var(--gold); color: #fff; }

/* ── Sticky Add to Cart ── */
.sticky-atc {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #fff;
  border-top: 2px solid var(--gold);
  padding: 12px 16px;
  z-index: 800;
  box-shadow: 0 -4px 20px rgba(61,43,31,.12);
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.sticky-atc.show { display: flex; }
.sticky-atc-info { flex: 1; min-width: 0; }
@media (min-width: 641px) { .sticky-atc { max-width: 640px; margin: 0 auto; left: 50%; transform: translateX(-50%); right: auto; } }

/* ── Variants ── */
.variants-wrap { margin-bottom: 18px; }
.variant-group { margin-bottom: 14px; }
.variant-lbl { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--txt-m); margin-bottom: 8px; }
.variant-opts { display: flex; gap: 8px; flex-wrap: wrap; }
.vbtn { padding: 7px 16px; border: 1.5px solid var(--warm); border-radius: 6px; background: #fff; font-size: 13px; cursor: pointer; transition: var(--tr); color: var(--txt); }
.vbtn:hover, .vbtn.on { border-color: var(--gold); background: var(--gold); color: #fff; }

/* ── Rating ── */
.rating-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.star-display span { font-size: 16px; }
.r-avg { font-family: var(--serif); font-size: 1.1rem; font-weight: 700; color: var(--gold-d); }
.r-count { font-size: 13px; color: var(--txt-l); }

/* ── Reviews ── */
.review-card { background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg); padding: 18px; margin-bottom: 14px; }
.review-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.review-av { width: 38px; height: 38px; background: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 1rem; color: #fff; flex-shrink: 0; }
.review-name { font-weight: 700; font-size: 14px; color: var(--txt); }
.review-date { font-size: 11px; color: var(--txt-l); }
.review-title { font-family: var(--serif); font-size: .95rem; color: var(--brown-dk); margin-bottom: 6px; font-weight: 600; }
.review-form-box { background: #fff; border: 1px solid var(--border); border-radius: var(--r-lg); padding: 24px; }

/* ── Star picker ── */
.star-picker { display: flex; gap: 4px; cursor: pointer; margin-bottom: 6px; }
.sp-star { font-size: 1.8rem; color: #ddd; transition: color .15s; user-select: none; }
.sp-star.on { color: var(--gold); }

/* ── Order tracking ── */
.order-track { display: flex; justify-content: space-between; position: relative; padding: 10px 0 30px; }
.order-track::before { content: ''; position: absolute; top: 24px; left: 10%; right: 10%; height: 3px; background: var(--border); z-index: 0; }
.track-step { flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1; }
.track-icon { width: 46px; height: 46px; border-radius: 50%; background: var(--cream); border: 3px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: var(--txt-l); margin-bottom: 10px; transition: all .3s; }
.track-step.done .track-icon { background: var(--gold); border-color: var(--gold); color: #fff; }
.track-step.active .track-icon { background: var(--gold-d); border-color: var(--gold-d); color: #fff; box-shadow: 0 0 0 4px rgba(201,169,110,.25); }
.track-line { position: absolute; top: 22px; left: 50%; right: -50%; height: 3px; background: var(--border); z-index: -1; }
.track-step.done .track-line { background: var(--gold); }
.track-step:last-child .track-line { display: none; }
.track-label { font-size: 12px; font-weight: 700; color: var(--txt-m); text-align: center; }
.track-step.done .track-label, .track-step.active .track-label { color: var(--gold-d); }
.track-desc { font-size: 11px; color: var(--txt-l); text-align: center; margin-top: 4px; }

/* ── Coupon applied badge ── */
.coupon-applied { display: flex; align-items: center; justify-content: space-between; background: rgba(39,174,96,.08); border: 1px solid #86efac; border-radius: 6px; padding: 8px 12px; font-size: 12px; color: #166534; }

/* ── WhatsApp float button ── */
.wa-float {
  position: fixed;
  bottom: 24px; right: 24px;
  width: 56px; height: 56px;
  background: #25D366;
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  z-index: 700;
  transition: var(--tr);
  text-decoration: none;
}
.wa-float:hover { background: #128C7E; color: #fff; transform: scale(1.1); }
.wa-float-tip { position: absolute; right: 66px; top: 50%; transform: translateY(-50%); background: #333; color: #fff; font-size: 12px; padding: 5px 10px; border-radius: 6px; white-space: nowrap; opacity: 0; transition: opacity .2s; pointer-events: none; }
.wa-float:hover .wa-float-tip { opacity: 1; }

/* ── Back to top ── */
.back-top {
  position: fixed;
  bottom: 90px; right: 24px;
  width: 42px; height: 42px;
  background: var(--brown-dk);
  color: var(--gold-l);
  border: none;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem;
  cursor: pointer;
  z-index: 700;
  opacity: 0;
  transition: opacity .3s, transform .3s;
  transform: translateY(10px);
}
.back-top.show { opacity: 1; transform: none; }
.back-top:hover { background: var(--gold); }

@media (max-width: 640px) {
  .review-form-box { margin-top: 22px; }
  .order-track { flex-direction: column; gap: 16px; }
  .order-track::before { display: none; }
  .track-step { flex-direction: row; align-items: flex-start; gap: 14px; }
  .track-icon { flex-shrink: 0; width: 38px; height: 38px; margin-bottom: 0; }
  .track-line { display: none; }
  .track-label { text-align: left; }
  /* Reviews grid mobile */
  #reviews .wrap > div { grid-template-columns: 1fr !important; }
  .zoom-box { display: none !important; }
}

/* ═══════════════════════════════════════════
   HOMEPAGE BANNER SLIDER
   ═══════════════════════════════════════════ */
.banner-slider {
  position: relative;
  overflow: hidden;
  height: 520px;
  background: var(--brown-dk);
}
.bs-track {
  display: flex;
  height: 100%;
  transition: transform .6s cubic-bezier(.25,.46,.45,.94);
}
.bs-slide {
  min-width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bs-overlay {
  position: absolute;
  inset: 0;
  background: rgba(44,24,16,.45);
}
.bs-content {
  position: relative;
  z-index: 2;
  padding: 0 40px;
  max-width: 860px;
  width: 100%;
  color: #fff;
  text-align: center;
  margin: 0 auto;
}
.bs-content .hero-orn { color: var(--gold-l); justify-content: center; font-size: 13px; margin-bottom: 16px; display: flex; }
.bs-content h1 { color: #fff; font-size: clamp(1.8rem, 4vw, 3rem); margin-bottom: 16px; line-height: 1.2; text-align: center; }
.bs-content .hero-sub { color: rgba(255,255,255,.85); font-size: 1.1rem; margin-bottom: 24px; text-align: center; }
.bs-content .hero-btns { justify-content: center; }
.bs-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px; height: 48px;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(4px);
  border: 1.5px solid rgba(255,255,255,.3);
  border-radius: 50%;
  color: #fff;
  font-size: 1.6rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s;
  z-index: 5;
  line-height: 1;
}
.bs-arrow:hover { background: var(--gold); border-color: var(--gold); }
.bs-prev { left: 24px; }
.bs-next { right: 24px; }
.bs-dots {
  position: absolute;
  bottom: 20px; left: 50%;
  transform: translateX(-50%);
  display: flex; gap: 8px; z-index: 5;
}
.bs-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,.4);
  border: none; cursor: pointer;
  transition: all .3s;
  padding: 0;
}
.bs-dot.on { background: var(--gold); width: 24px; border-radius: 4px; }

@media (max-width: 640px) {
  .banner-slider { height: 380px; }
  .bs-content { padding: 0 48px; }
  .bs-content h1 { font-size: 1.5rem !important; }
  .bs-arrow { width: 36px; height: 36px; font-size: 1.2rem; }
  .bs-prev { left: 10px; }
  .bs-next { right: 10px; }
}

/* ═══════════════════════════════════════════
   PRODUCT PAGE IMAGE FIX
   ═══════════════════════════════════════════ */
.pd-gallery .gal-main-wrap {
  position: relative;
  width: 100%;
}
.pd-gallery .gal-main {
  aspect-ratio: 1 !important;
  width: 100% !important;
  height: auto !important;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  margin-bottom: 12px;
  cursor: crosshair;
  display: block;
  position: relative;
}
.pd-gallery .gal-main img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important;
}
.pd-gallery .gal-thumbs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.pd-gallery .gal-thumb {
  width: 66px;
  height: 66px;
  object-fit: cover;
  border-radius: 6px;
  border: 2px solid var(--border);
  cursor: pointer;
  transition: var(--tr);
  flex-shrink: 0;
}
.pd-gallery .gal-thumb.on,
.pd-gallery .gal-thumb:hover { border-color: var(--gold); }

/* Zoom box */
.zoom-box {
  display: none;
  position: absolute;
  top: 0; right: -320px;
  width: 300px; height: 300px;
  border: 2px solid var(--gold);
  border-radius: var(--r);
  box-shadow: var(--shadow-lg);
  background-repeat: no-repeat;
  z-index: 100;
  pointer-events: none;
  background-color: #fff;
}

/* Mobile product image */
@media (max-width: 640px) {
  .pd-gallery .gal-main {
    aspect-ratio: 1 !important;
    border-radius: 10px !important;
  }
  .pd-gallery .gal-thumb { width: 52px; height: 52px; }
  .zoom-box { display: none !important; }
}

/* ═══════════════════════════════════════════
   CONTACT PAGE MOBILE FIX
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .contact-form-wrap,
  .contact-info-wrap {
    padding: 20px 16px !important;
  }
  .map-wrap iframe {
    height: 200px !important;
  }
}

/* ═══════════════════════════════════════════
   LOGIN & REGISTER MOBILE FIX
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  .auth-page {
    padding: 20px 0 40px !important;
    background: var(--cream);
    min-height: 80vh;
  }
  .auth-card {
    margin: 0 12px !important;
    padding: 28px 18px !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(61,43,31,.1) !important;
  }
  .auth-logo {
    text-align: center;
    margin-bottom: 18px;
  }
  .auth-logo span { font-size: 1.5rem !important; }
  .auth-title { font-size: 1.3rem !important; text-align: center; }
  .auth-sub { text-align: center; font-size: 13px; }
  .finp, .fsel, .ftxt { font-size: 14px !important; padding: 12px 14px !important; }
  .auth-card .btn { width: 100%; justify-content: center; padding: 13px !important; font-size: 13px !important; }
  .auth-switch { text-align: center; margin-top: 16px; font-size: 13px; }
  .fgrp { margin-bottom: 14px !important; }
  .flbl { font-size: 11px !important; margin-bottom: 5px !important; }
}

/* ── Mobile nav extras ── */
@media (max-width: 640px) {
  .mob-nav-divider {
    height: 1px;
    background: rgba(255,255,255,.1) !important;
    border: none !important;
    margin: 4px 0 !important;
  }
  .mob-nav .mob-logout a {
    color: #ff8a80 !important;
  }
  .mob-nav .mob-login a {
    color: var(--gold-l) !important;
    font-weight: 700 !important;
  }
  .mob-nav .mob-register a {
    color: rgba(255,255,255,.7) !important;
  }

  /* Auth pages full redesign for mobile */
  .auth-page {
    min-height: 100vh !important;
    padding: 0 !important;
    background: linear-gradient(160deg, var(--cream) 0%, var(--beige) 100%) !important;
    display: flex !important;
    align-items: flex-start !important;
    padding-top: 20px !important;
    padding-bottom: 40px !important;
  }
  .auth-page .wrap {
    width: 100% !important;
    padding: 0 16px !important;
  }
  .auth-card {
    max-width: 100% !important;
    padding: 28px 20px !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 32px rgba(61,43,31,.12) !important;
    margin: 0 auto !important;
  }
  .auth-hdr { margin-bottom: 22px !important; }
  .auth-hdr h2 { font-size: 1.4rem !important; }
  .auth-hdr p { font-size: 13px !important; }
  .finp, .fsel {
    font-size: 16px !important;
    padding: 13px 14px !important;
    border-radius: 10px !important;
    width: 100% !important;
  }
  .ftxt {
    font-size: 15px !important;
    padding: 13px 14px !important;
    border-radius: 10px !important;
    width: 100% !important;
  }
  .fgrp { margin-bottom: 16px !important; }
  .flbl { font-size: 12px !important; font-weight: 700 !important; margin-bottom: 6px !important; display: block !important; }
  /* 2-col grid goes single col on mobile */
  .auth-card .fgrid { grid-template-columns: 1fr !important; gap: 0 !important; }
}

/* ═══════════════════════════════════════════
   SEARCH AUTOCOMPLETE
   ═══════════════════════════════════════════ */
.search-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0; right: 0;
  background: #fff;
  border: 1.5px solid var(--warm);
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(61,43,31,.15);
  z-index: 9999;
  overflow: hidden;
  max-height: 380px;
  overflow-y: auto;
}
.search-dropdown.open { display: block; }
.search-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid var(--border);
  text-decoration: none;
  transition: background .15s;
}
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover { background: var(--cream); }
.search-result-img {
  width: 44px; height: 44px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  border: 1px solid var(--border);
}
.search-result-name { font-family: var(--serif); font-size: .88rem; color: var(--txt); font-weight: 600; }
.search-result-cat  { font-size: 10px; color: var(--txt-l); text-transform: uppercase; letter-spacing: .5px; }
.search-result-price { font-size: .85rem; color: var(--gold-d); font-weight: 700; margin-top: 2px; }
.search-no-results { padding: 18px; text-align: center; color: var(--txt-l); font-size: 13px; }

/* ═══════════════════════════════════════════
   SIZE GUIDE BUTTON
   ═══════════════════════════════════════════ */
.size-guide-btn {
  background: none;
  border: 1px solid var(--warm);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12px;
  color: var(--txt-m);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 14px;
  transition: var(--tr);
}
.size-guide-btn:hover { border-color: var(--gold); color: var(--gold-d); }

/* ═══════════════════════════════════════════
   MODAL
   ═══════════════════════════════════════════ */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 8000;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal-overlay.open { display: flex; }
.modal-box {
  background: #fff;
  border-radius: 16px;
  width: 100%;
  max-width: 600px;
  max-height: 88vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  animation: modalIn .25s ease;
}
@keyframes modalIn { from { transform: scale(.95); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}
.modal-head h3 { font-size: 1.1rem; color: var(--brown-dk); margin: 0; }
.modal-close {
  background: none; border: none; font-size: 1.2rem; cursor: pointer;
  color: var(--txt-l); width: 32px; height: 32px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: var(--tr);
}
.modal-close:hover { background: var(--cream); color: var(--brown); }
.modal-body { padding: 20px 22px 24px; }

/* ═══════════════════════════════════════════
   NOTIFY FORM (back in stock)
   ═══════════════════════════════════════════ */
.notify-form-wrap {
  background: var(--cream);
  border: 1px solid var(--warm);
  border-radius: var(--r-lg);
  padding: 18px;
  margin-bottom: 18px;
}

/* ═══════════════════════════════════════════
   INSTAGRAM GRID
   ═══════════════════════════════════════════ */
.insta-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}
.insta-item {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 6px;
  display: block;
}
.insta-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
  display: block;
}
.insta-item:hover img { transform: scale(1.08); }
.insta-over {
  position: absolute;
  inset: 0;
  background: rgba(44,24,16,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .3s;
  color: #fff;
  font-size: 1.5rem;
}
.insta-item:hover .insta-over { opacity: 1; }

@media (max-width: 640px) {
  .insta-grid { grid-template-columns: repeat(3,1fr); gap: 5px; }
  .size-guide-btn { font-size: 11px; padding: 5px 12px; }
  .modal-box { max-height: 92vh; border-radius: 16px 16px 0 0; margin-top: auto; }
  .modal-overlay { align-items: flex-end; padding: 0; }
  .search-dropdown { left: -60px; right: -10px; }
}

@media (min-width: 641px) and (max-width: 900px) {
  .insta-grid { grid-template-columns: repeat(3,1fr); }
}

/* ═══════════════════════════════════════════
   MY ORDERS PAGE
   ═══════════════════════════════════════════ */
.abadge.b-pending { background: rgba(243,156,18,.15); color: #92400e; }

/* ═══════════════════════════════════════════
   BLOG
   ═══════════════════════════════════════════ */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.blog-card {
  background: #fff;
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  transition: var(--tr);
  display: flex;
  flex-direction: column;
}
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.blog-card-featured { grid-column: span 3; display: grid; grid-template-columns: 1.4fr 1fr; }
.blog-img-wrap { position: relative; aspect-ratio: 16/10; overflow: hidden; display: block; }
.blog-card-featured .blog-img-wrap { aspect-ratio: unset; min-height: 280px; }
.blog-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.blog-img-over { position: absolute; inset: 0; background: rgba(44,24,16,.1); transition: background .3s; }
.blog-card:hover .blog-img-wrap img { transform: scale(1.05); }
.blog-card:hover .blog-img-over { background: rgba(44,24,16,.2); }
.blog-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.blog-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.blog-tag {
  background: rgba(201,169,110,.12);
  color: var(--gold-d);
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-decoration: none;
  transition: var(--tr);
}
.blog-tag:hover { background: var(--gold); color: #fff; }
.blog-title { font-family: var(--serif); font-size: 1.1rem; color: var(--brown-dk); margin: 0 0 10px; line-height: 1.35; }
.blog-title a { color: inherit; text-decoration: none; }
.blog-title a:hover { color: var(--gold-d); }
.blog-excerpt {
  font-family: var(--alt);
  font-style: italic;
  font-size: .88rem;
  color: var(--txt-m);
  line-height: 1.6;
  margin-bottom: 14px;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-meta { display: flex; align-items: center; gap: 12px; font-size: 12px; color: var(--txt-l); margin-top: auto; flex-wrap: wrap; }
.blog-meta span { display: flex; align-items: center; gap: 4px; }
.blog-read-more { margin-left: auto; color: var(--gold-d); font-weight: 700; text-decoration: none; display: flex; align-items: center; gap: 4px; font-size: 12px; transition: var(--tr); }
.blog-read-more:hover { gap: 8px; }
.blog-content { font-size: 15px; line-height: 1.85; color: var(--txt-m); }
.blog-content h1,.blog-content h2,.blog-content h3 { font-family: var(--serif); color: var(--brown-dk); margin: 1.5em 0 .6em; }
.blog-content h2 { font-size: 1.4rem; border-bottom: 2px solid var(--gold); padding-bottom: 6px; }
.blog-content h3 { font-size: 1.1rem; }
.blog-content p { margin-bottom: 1.1em; }
.blog-content img { max-width: 100%; border-radius: 8px; margin: 1em 0; }
.blog-content ul,.blog-content ol { padding-left: 1.5em; margin-bottom: 1em; }
.blog-content li { margin-bottom: .4em; }
.blog-content blockquote { border-left: 3px solid var(--gold); padding: 10px 18px; margin: 1.2em 0; background: var(--cream); border-radius: 0 6px 6px 0; font-style: italic; color: var(--txt-m); }

/* ═══════════════════════════════════════════
   REVIEWS MARQUEE
   ═══════════════════════════════════════════ */
.reviews-marquee-wrap {
  overflow: hidden;
  position: relative;
  padding: 10px 0;
}
.reviews-marquee-wrap::before,
.reviews-marquee-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}
.reviews-marquee-wrap::before { left: 0; background: linear-gradient(to right, var(--bg, #fff), transparent); }
.reviews-marquee-wrap::after  { right: 0; background: linear-gradient(to left, var(--bg, #fff), transparent); }
.reviews-marquee {
  display: flex;
  gap: 18px;
  animation: marquee 28s linear infinite;
  width: max-content;
}
.reviews-marquee:hover { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.review-bubble {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 20px 22px;
  width: 280px;
  flex-shrink: 0;
  box-shadow: var(--shadow);
}
.review-bubble-stars { font-size: 15px; margin-bottom: 8px; }
.review-bubble-title { font-family: var(--serif); font-weight: 600; color: var(--brown-dk); font-size: .9rem; margin-bottom: 6px; }
.review-bubble-text { font-family: var(--alt); font-style: italic; font-size: .82rem; color: var(--txt-m); line-height: 1.6; margin-bottom: 14px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.review-bubble-author { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--border); padding-top: 12px; }
.review-bubble-av { width: 32px; height: 32px; background: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--serif); font-size: .85rem; font-weight: 700; flex-shrink: 0; }
.review-bubble-name { font-size: 13px; font-weight: 600; color: var(--txt); }

/* ═══════════════════════════════════════════
   WISHLIST BUTTON
   ═══════════════════════════════════════════ */
.btn-out.wished {
  color: #e74c3c !important;
  border-color: #e74c3c !important;
  background: rgba(231,76,60,.06) !important;
}
.btn-out.wished i { color: #e74c3c !important; }

/* ═══════════════════════════════════════════
   BLOG MOBILE
   ═══════════════════════════════════════════ */
@media (max-width: 640px) {
  .blog-grid { grid-template-columns: 1fr !important; gap: 14px; }
  .blog-card-featured { grid-column: span 1 !important; grid-template-columns: 1fr !important; }
  .blog-card-featured .blog-img-wrap { min-height: 180px; }
  .reviews-marquee { gap: 12px; }
  .review-bubble { width: 240px; padding: 16px; }
}
@media (min-width: 641px) and (max-width: 900px) {
  .blog-grid { grid-template-columns: repeat(2,1fr) !important; }
  .blog-card-featured { grid-column: span 2 !important; }
}
