/* =========================================================
   Indian Black Market — "Collector's Vault" theme
   Palette: near-black + aged gold foil + deep vault red
   Display: Cormorant Garamond / Body: Inter
   ========================================================= */

:root{
  --bg:            #0b0b0c;
  --bg-panel:      #151513;
  --bg-panel-2:    #1c1a17;
  --border:        #2c2822;
  --gold:          #d4af37;
  --gold-bright:   #f2d675;
  --gold-dim:      #8a7530;
  --red:           #8a2e2e;
  --text:          #ece6d8;
  --text-dim:      #a49b89;
  --radius:        10px;
  --shadow:        0 10px 30px rgba(0,0,0,.45);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:15px;
  line-height:1.6;
}
h1,h2,h3,.display{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  letter-spacing:.3px;
  color:var(--gold-bright);
  margin:0 0 .5em;
}
a{color:var(--gold);text-decoration:none;}
a:hover{color:var(--gold-bright);}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}
button, .btn{
  font-family:inherit;cursor:pointer;border:none;border-radius:6px;
  padding:.75em 1.4em;font-size:.95em;font-weight:600;
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
}
.btn-gold{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1a1508;}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,175,55,.35);}
.btn-outline{background:transparent;border:1px solid var(--gold-dim);color:var(--gold-bright);}
.btn-outline:hover{border-color:var(--gold);background:rgba(212,175,55,.08);}
.btn-danger{background:var(--red);color:#f5e5e5;}
.btn-block{width:100%;}
input,select,textarea{
  width:100%;padding:.7em .9em;background:var(--bg-panel-2);
  border:1px solid var(--border);border-radius:6px;color:var(--text);
  font-family:inherit;font-size:.95em;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.15);
}
label{display:block;margin:0 0 .35em;color:var(--text-dim);font-size:.85em;text-transform:uppercase;letter-spacing:.5px;}
.field{margin-bottom:1.1em;}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,11,12,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold-bright);letter-spacing:.5px;display:flex;align-items:center;gap:.5em;}
.logo .mark{color:var(--gold);}
.nav-links{display:flex;gap:1.8em;align-items:center;}
.nav-links a{color:var(--text);font-size:.92em;}
.nav-links a:hover{color:var(--gold-bright);}
.cart-pill{
  position:relative;display:flex;align-items:center;gap:.4em;
  border:1px solid var(--gold-dim);border-radius:20px;padding:.4em .9em;color:var(--gold-bright);
}
.cart-count{background:var(--gold);color:#1a1508;border-radius:50%;width:20px;height:20px;font-size:.72em;display:flex;align-items:center;justify-content:center;font-weight:700;}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;padding:90px 0 70px;
  background:
    radial-gradient(circle at 15% 20%, rgba(212,175,55,.10), transparent 40%),
    radial-gradient(circle at 85% 60%, rgba(138,46,46,.12), transparent 45%),
    var(--bg);
  border-bottom:1px solid var(--border);
}
.hero-grid{position:absolute;inset:0;opacity:.35;
  background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size:42px 42px; mask-image:radial-gradient(circle at 50% 30%, black, transparent 75%);
}
.hero-content{position:relative;text-align:center;max-width:720px;margin:0 auto;}
.hero-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:3px;font-size:.78em;margin-bottom:1em;display:inline-block;}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;}
.hero p{color:var(--text-dim);font-size:1.05em;max-width:520px;margin:1em auto 2em;}
.hero-actions{display:flex;gap:1em;justify-content:center;flex-wrap:wrap;}

/* ---------- section headers ---------- */
.section{padding:60px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.8em;border-bottom:1px solid var(--border);padding-bottom:.8em;}
.section-head h2{margin:0;}
.section-head .see-all{font-size:.85em;color:var(--text-dim);}

/* ---------- product grid & card (signature: foil-holo border) ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;}
.card{
  background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;position:relative;transition:transform .2s ease, border-color .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:var(--gold-dim);}
.card:hover .card-img::after{opacity:1;}
.card-img{position:relative;aspect-ratio:3/4;background:#0e0e0e;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card-img::after{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease;
  background:linear-gradient(120deg, transparent 30%, rgba(212,175,55,.28) 48%, rgba(255,255,255,.15) 52%, transparent 65%);
  background-size:220% 220%;animation:shimmer 2.2s linear infinite;
}
@keyframes shimmer{0%{background-position:0% 0%;}100%{background-position:100% 100%;}}
.badge{position:absolute;top:10px;left:10px;background:var(--red);color:#f6e7e7;font-size:.68em;padding:.3em .6em;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;z-index:2;}
.badge-soldout{background:#3a3a3a;color:#c8c2b6;}
.badge-grade{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.65);border:1px solid var(--gold-dim);color:var(--gold-bright);font-size:.68em;padding:.3em .55em;border-radius:4px;z-index:2;}
.card-body{padding:14px 16px 16px;}
.card-set{color:var(--text-dim);font-size:.75em;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3em;}
.card-name{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--text);margin:0 0 .4em;}
.card-price-row{display:flex;align-items:center;justify-content:space-between;margin-top:.6em;}
.price{color:var(--gold-bright);font-weight:700;font-size:1.05em;}
.price-compare{color:var(--text-dim);text-decoration:line-through;font-size:.85em;margin-right:.4em;}
.stars{color:var(--gold);font-size:.85em;}

/* ---------- filters ---------- */
.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:start;}
.filters{position:sticky;top:90px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;}
.filters h3{font-size:1rem;margin-bottom:.8em;}
.filters .field{margin-bottom:1em;}
@media (max-width:820px){.shop-layout{grid-template-columns:1fr;}.filters{position:static;}}

/* ---------- product detail ---------- */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.product-gallery img{border:1px solid var(--border);border-radius:var(--radius);}
.product-info .card-set{font-size:.85em;}
.product-info h1{font-size:2rem;}
.product-price{font-size:1.8rem;color:var(--gold-bright);font-weight:700;margin:.4em 0;}
.qty-row{display:flex;align-items:center;gap:1em;margin:1.4em 0;}
.qty-box{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;width:fit-content;}
.qty-box button{background:transparent;color:var(--gold);padding:.5em .9em;border-radius:0;}
.qty-box input{width:56px;text-align:center;border:none;background:transparent;}
.stock-note{font-size:.85em;color:var(--text-dim);margin-top:.5em;}
.stock-low{color:#d98a3d;}
.stock-out{color:#c0524f;}
.tabs-nav{display:flex;gap:1.5em;border-bottom:1px solid var(--border);margin:2em 0 1.4em;}
.tabs-nav button{background:none;color:var(--text-dim);padding:.6em 0;border-radius:0;border-bottom:2px solid transparent;}
.tabs-nav button.active{color:var(--gold-bright);border-color:var(--gold);}
@media (max-width:760px){.product-detail{grid-template-columns:1fr;}}

/* ---------- reviews ---------- */
.review{border-bottom:1px solid var(--border);padding:16px 0;}
.review-head{display:flex;justify-content:space-between;font-size:.9em;color:var(--text-dim);}

/* ---------- cart / checkout ---------- */
.cart-table{width:100%;border-collapse:collapse;}
.cart-table th{text-align:left;color:var(--text-dim);font-size:.8em;text-transform:uppercase;letter-spacing:.5px;padding-bottom:.8em;border-bottom:1px solid var(--border);}
.cart-table td{padding:14px 0;border-bottom:1px solid var(--border);vertical-align:middle;}
.cart-row-item{display:flex;gap:14px;align-items:center;}
.cart-row-item img{width:60px;height:80px;object-fit:cover;border-radius:6px;border:1px solid var(--border);}
.summary-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;}
.summary-row{display:flex;justify-content:space-between;margin-bottom:.7em;color:var(--text-dim);}
.summary-total{display:flex;justify-content:space-between;font-size:1.2em;color:var(--gold-bright);border-top:1px solid var(--border);padding-top:.8em;margin-top:.8em;font-weight:700;}
.checkout-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;}
@media (max-width:820px){.checkout-layout{grid-template-columns:1fr;}}
.pay-option{display:flex;align-items:center;gap:.8em;border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:.8em;cursor:pointer;}
.pay-option.selected{border-color:var(--gold);background:rgba(212,175,55,.06);}

/* ---------- misc panels ---------- */
.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;}
.alert{padding:12px 16px;border-radius:6px;margin-bottom:1.2em;font-size:.9em;}
.alert-error{background:rgba(138,46,46,.18);border:1px solid var(--red);color:#f2c9c9;}
.alert-success{background:rgba(212,175,55,.12);border:1px solid var(--gold-dim);color:var(--gold-bright);}
.status-pill{display:inline-block;padding:.25em .7em;border-radius:20px;font-size:.75em;text-transform:capitalize;}
.status-pending{background:#3a3a3a;color:#d8d2c4;}
.status-processing{background:#3d3417;color:var(--gold-bright);}
.status-shipped{background:#1f3a4d;color:#a9d3ec;}
.status-delivered{background:#1f4d2a;color:#a9ecb8;}
.status-cancelled{background:#4d1f1f;color:#ecb0a9;}

footer{border-top:1px solid var(--border);padding:40px 0;margin-top:60px;color:var(--text-dim);font-size:.85em;}
footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1em;}
footer a{color:var(--text-dim);}
footer a:hover{color:var(--gold-bright);}

/* ---------- admin ---------- */
.admin-body{display:flex;min-height:100vh;background:var(--bg);}
.admin-sidebar{width:230px;background:var(--bg-panel);border-right:1px solid var(--border);padding:22px 0;flex-shrink:0;}
.admin-sidebar .logo{padding:0 20px 20px;}
.admin-sidebar a{display:block;padding:.8em 20px;color:var(--text-dim);font-size:.9em;}
.admin-sidebar a:hover,.admin-sidebar a.active{color:var(--gold-bright);background:rgba(212,175,55,.06);}
.admin-main{flex:1;padding:32px;max-width:1200px;}
.admin-table{width:100%;border-collapse:collapse;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.admin-table th{background:var(--bg-panel-2);text-align:left;padding:12px 16px;font-size:.78em;text-transform:uppercase;color:var(--text-dim);letter-spacing:.4px;}
.admin-table td{padding:12px 16px;border-top:1px solid var(--border);font-size:.9em;}
.admin-table tr:hover td{background:rgba(212,175,55,.03);}
.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:28px;}
.stat-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;}
.stat-card .num{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--gold-bright);}
.stat-card .label{color:var(--text-dim);font-size:.8em;text-transform:uppercase;letter-spacing:.5px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
@media (max-width:760px){.form-grid{grid-template-columns:1fr;}.admin-body{flex-direction:column;}.admin-sidebar{width:100%;}}
