/* ===== ZEROVA STOREFRONT — shared.css ===== */
*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
:root{
  --purple:#3D1050;--purple2:#2A0B38;--purple3:#4E1A66;
  --gold:#B8860B;--gold2:#D4A843;--goldHi:#FFD100;
  --cream:#FAF6EE;--off:#FAFAF8;--ink:#1A1626;--ink2:#4A4458;--ink3:#8B8698;
  --line:#EBE7DE;--ok:#1A7F4B;--okbg:#E7F5ED;--err:#C0392B;
  --font:'Outfit',sans-serif;--serif:'DM Serif Display',serif;
  --radius:16px;--shadow:0 4px 20px rgba(61,16,80,.07);--shadow2:0 16px 50px rgba(61,16,80,.16);
}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:#fff;color:var(--ink);line-height:1.55}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.hide{display:none!important}
.hmix{line-height:1.05;letter-spacing:-.02em}
.hmix .b{font-weight:800}.hmix .i{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold2)}
.wrap{max-width:1200px;margin:0 auto;padding:0 22px}

/* nav */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;padding:0 22px;height:62px;
  background:rgba(61,16,80,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,209,0,.12)}
.nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-logo svg{width:32px;height:32px}
.nav-logo .brand{font-size:16px;font-weight:700;letter-spacing:3px;color:var(--goldHi)}
.nav-logo .brand small{display:block;font-size:7px;letter-spacing:5px;color:rgba(255,209,0,.55);font-weight:600;margin-top:2px}
.nav-links{display:flex;gap:22px;margin-left:18px}
.nav-links a{font-size:13.5px;font-weight:500;color:rgba(255,255,255,.72)}
.nav-links a:hover{color:var(--gold2)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.rate-pill{display:flex;gap:9px;font-size:11px;font-weight:600;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,209,0,.2);padding:6px 12px;border-radius:100px;color:rgba(255,255,255,.85)}
.rate-pill b{color:var(--goldHi)}
.cart-btn{position:relative;display:flex;align-items:center;gap:7px;background:var(--gold2);color:var(--purple2);
  font-size:13px;font-weight:700;padding:8px 15px;border-radius:10px}
.cart-btn:hover{background:#C9A800}
.cart-btn .badge{position:absolute;top:-7px;right:-7px;background:var(--purple);color:#fff;font-size:10px;font-weight:700;
  min-width:18px;height:18px;border-radius:100px;display:flex;align-items:center;justify-content:center;border:2px solid var(--gold2)}
@media(max-width:760px){.nav-links{display:none}.rate-pill{display:none}.nav-logo .brand small{display:none}}

/* page head */
.phead{padding:46px 0 30px;background:linear-gradient(180deg,#FBF1E0,#fff)}
.crumb{font-size:13px;color:var(--ink3);margin-bottom:12px}
.crumb a{color:var(--gold)}
.phead h1{font-size:clamp(30px,5vw,52px)}
.phead p{color:var(--ink2);margin-top:10px;max-width:620px}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;padding:34px 0 70px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow2)}
.pcard .img{aspect-ratio:1;background:var(--cream) center/cover no-repeat;position:relative}
.pcard .img.placeholder{background:radial-gradient(at 30% 25%,rgba(255,209,0,.18),transparent 55%),linear-gradient(135deg,var(--purple),var(--purple2))}
.pcard .tag{position:absolute;top:10px;left:10px;background:rgba(255,209,0,.92);color:var(--purple2);font-size:10px;font-weight:700;padding:4px 9px;border-radius:100px;letter-spacing:.4px}
.pcard .tag.sold{background:rgba(192,57,43,.92);color:#fff}
.pcard .body{padding:15px 16px 18px;display:flex;flex-direction:column;flex:1}
.pcard .cat{font-size:11px;font-weight:600;color:var(--gold);letter-spacing:.4px;text-transform:uppercase;margin-bottom:5px}
.pcard h3{font-size:15px;font-weight:600;line-height:1.3;margin-bottom:4px}
.pcard .pur{font-size:12px;color:var(--ink3);margin-bottom:10px}
.pcard .price{margin-top:auto;font-size:18px;font-weight:800;color:var(--purple)}
.pcard .price .strike{font-size:13px;color:var(--ink3);font-weight:500;text-decoration:line-through;margin-left:6px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:100px;
  font-weight:700;font-size:14px;border:none;cursor:pointer;transition:all .18s;font-family:inherit}
.btn-gold{background:var(--goldHi);color:var(--purple2)}
.btn-gold:hover{background:#F2C200;transform:translateY(-1px)}
.btn-purple{background:var(--purple);color:#fff}
.btn-purple:hover{background:var(--purple2)}
.btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink2)}
.btn-ghost:hover{border-color:var(--gold2);color:var(--ink)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-block{width:100%}

/* footer */
footer{background:var(--cream);border-top:1px solid var(--line);padding:40px 0;text-align:center;color:var(--ink3);font-size:13px}
footer .flinks{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:14px 0}
footer .flinks a{color:var(--purple3);font-weight:500}

/* toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;
  padding:13px 22px;border-radius:11px;font-weight:600;font-size:14px;z-index:200;box-shadow:var(--shadow2);
  opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}
.toast.ok{background:var(--ok)}.toast.err{background:var(--err)}

/* loading */
.loading{text-align:center;padding:70px 20px;color:var(--ink3)}
.spin{display:inline-block;width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--gold2);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty{text-align:center;padding:70px 20px;color:var(--ink3)}