:root{
  --bg:#050505;
  --bg-2:#0a0a0c;
  --card:#111114;
  --card-2:#18181c;
  --line:#2a2a31;
  --line-soft:rgba(255,255,255,.08);
  --text:#f3f3f3;
  --muted:#a7a7ad;
  --soft:#73737c;
  --accent:#e8e8e8;
  --danger:#f05d73;
  --ok:#91f5b5;
  --shadow:0 22px 70px rgba(0,0,0,.55);
  --radius:22px;
  --radius-sm:14px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 50% -10%, rgba(255,255,255,.10), transparent 28rem),
    radial-gradient(circle at 85% 8%, rgba(210,210,220,.06), transparent 22rem),
    linear-gradient(180deg,#020202 0%,#09090b 42%,#040404 100%);
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height:100vh;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(circle at center, black, transparent 75%);
}
body:after{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  opacity:.26;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
.container{width:min(var(--max), calc(100% - 34px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:50;
  backdrop-filter: blur(16px);
  background:rgba(5,5,6,.76);
  border-bottom:1px solid var(--line-soft);
}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.brand-icon{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(180deg,#2a2a2f,#111115);
  border:1px solid var(--line-soft);
  box-shadow:inset 0 0 18px rgba(255,255,255,.03), 0 0 40px rgba(255,255,255,.05);
}
.brand small{display:block;color:var(--soft);font-size:.64rem;letter-spacing:.18em;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nav-link,.ghost-btn,.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:42px;padding:0 15px;border-radius:12px;
  border:1px solid var(--line-soft);
  background:rgba(255,255,255,.045);
  color:#ddd;transition:.2s ease;
}
.nav-link:hover,.nav-link.active,.ghost-btn:hover{background:rgba(255,255,255,.09);transform:translateY(-1px)}
.btn{
  background:linear-gradient(180deg,#4a4a4f,#28282c);
  border-color:rgba(255,255,255,.18);
  font-weight:800;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 18px 42px rgba(0,0,0,.25);
}
.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn.secondary{background:rgba(255,255,255,.06);box-shadow:none;color:#e5e5e5}
.btn.danger{background:linear-gradient(180deg,#772b38,#38131a)}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line-soft);background:rgba(255,255,255,.045);
  border-radius:999px;padding:8px 13px;color:var(--muted);font-size:.83rem;
}
.hero{padding:74px 0 46px;position:relative}
.hero-card{
  border:1px solid rgba(255,255,255,.13);border-radius:30px;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.12), transparent 18rem),
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.08), transparent 24rem),
    linear-gradient(180deg,rgba(24,24,28,.8),rgba(10,10,12,.9));
  box-shadow:var(--shadow);
  min-height:560px;
  padding:64px 26px;
  display:grid;place-items:center;text-align:center;overflow:hidden;position:relative;
}
.hero-card:before,.section-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at center, rgba(255,255,255,.08), transparent 22rem);
}
.candle{font-size:40px;filter:drop-shadow(0 0 18px rgba(255,210,120,.5));margin-bottom:18px}
.eyebrow{letter-spacing:.34em;text-transform:uppercase;color:#b7b7bc;font-weight:900;font-size:.72rem}
.hero h1,.page-title{
  margin:18px 0 8px;
  font-size:clamp(2.8rem,9vw,6.9rem);
  line-height:.9;
  letter-spacing:.035em;
  text-transform:uppercase;
  font-family:Impact, Haettenschweiler, 'Arial Black', sans-serif;
  text-shadow:0 0 18px rgba(255,255,255,.18), 0 4px 0 rgba(0,0,0,.35);
}
.hero h1 span,.page-title span{display:inline-block;filter:drop-shadow(0 0 2px rgba(255,255,255,.45))}
.subtitle{max-width:720px;margin:22px auto 0;color:var(--muted);line-height:1.8;font-size:1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:34px}
.chip{border:1px solid var(--line-soft);background:rgba(255,255,255,.06);border-radius:10px;padding:10px 13px;color:#b8b8be;font-size:.86rem}
.section{padding:44px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}
.section-kicker{color:var(--soft);text-transform:uppercase;letter-spacing:.25em;font-size:.75rem;font-weight:900}
.section h2{font-size:clamp(2rem,5vw,3.7rem);margin:8px 0 0;line-height:1}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card,.section-card,.product-card,.cart-box,.form-box{
  position:relative;border:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(24,24,28,.86),rgba(11,11,13,.92));
  border-radius:var(--radius);box-shadow:0 18px 60px rgba(0,0,0,.27);overflow:hidden;
}
.card{padding:24px}
.card h3{margin:0 0 8px;font-size:1.25rem}
.card p{margin:0;color:var(--muted);line-height:1.7}
.product-card{display:flex;flex-direction:column;min-height:100%}
.product-media{aspect-ratio:1.15/1;background:#0c0c0f;display:grid;place-items:center;border-bottom:1px solid var(--line-soft);overflow:hidden}
.product-media img{width:100%;height:100%;object-fit:cover;transition:.3s ease}
.product-card:hover .product-media img{transform:scale(1.035)}
.product-info{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1}
.product-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.product-card h3{font-size:1.08rem;margin:0;line-height:1.25}
.price{font-weight:950;font-size:1.1rem;white-space:nowrap}
.meta{color:var(--soft);font-size:.86rem}
.product-info p{margin:0;color:var(--muted);line-height:1.6;font-size:.93rem}
.variants{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.pill{font-size:.75rem;color:#c7c7ce;padding:6px 9px;border:1px solid var(--line-soft);border-radius:999px;background:rgba(255,255,255,.04)}
.filters{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:12px;margin-bottom:20px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}
label{color:#cfcfd3;font-weight:700;font-size:.88rem}
input,select,textarea{
  width:100%;border:1px solid var(--line-soft);background:rgba(255,255,255,.055);
  border-radius:13px;padding:13px 14px;outline:none;color:#f5f5f5;
}
select option{background:#101014;color:#fff}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:rgba(255,255,255,.28);box-shadow:0 0 0 4px rgba(255,255,255,.045)}
.product-detail{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:start}
.product-detail .product-media{border-radius:var(--radius);border:1px solid var(--line-soft);aspect-ratio:1/1}
.stack{display:flex;flex-direction:column;gap:14px}
.cart-box{padding:22px}
.cart-item{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.cart-item:last-child{border-bottom:0}
.cart-item img{width:80px;height:80px;object-fit:cover;border-radius:14px;border:1px solid var(--line-soft)}
.total-row{display:flex;align-items:center;justify-content:space-between;padding-top:18px;margin-top:10px;border-top:1px solid var(--line-soft);font-weight:900;font-size:1.22rem}
.notice{padding:14px 16px;border-radius:15px;border:1px solid var(--line-soft);background:rgba(255,255,255,.055);color:var(--muted);line-height:1.6;margin-bottom:16px}
.notice.ok{border-color:rgba(145,245,181,.28);color:#cef8dc;background:rgba(145,245,181,.08)}
.notice.err{border-color:rgba(240,93,115,.34);color:#ffd0d8;background:rgba(240,93,115,.08)}
.footer{margin-top:60px;padding:30px 0;border-top:1px solid var(--line-soft);color:var(--soft);font-size:.9rem}
.footer-grid{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}
.social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.social-card{padding:26px;border-radius:var(--radius);border:1px solid var(--line-soft);background:rgba(255,255,255,.045);transition:.2s ease}
.social-card:hover{transform:translateY(-2px);background:rgba(255,255,255,.075)}
.social-card strong{display:block;font-size:1.1rem;margin-bottom:7px}
.social-card span{color:var(--muted)}
.admin-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;align-items:start}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{text-align:left;border-bottom:1px solid var(--line-soft);padding:12px;color:#ddd}
th{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}
.qty-line{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.qty-line input{max-width:82px}
.hide{display:none!important}
@media (max-width:960px){
  .grid,.grid.two,.social-grid,.product-detail,.admin-grid{grid-template-columns:1fr 1fr}
  .product-detail{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr}
  .nav{height:auto;min-height:76px;padding:12px 0;align-items:flex-start;flex-direction:column}
  .nav-links{justify-content:flex-start}
}
@media (max-width:660px){
  .grid,.grid.two,.social-grid,.admin-grid{grid-template-columns:1fr}
  .hero-card{min-height:520px;padding:44px 16px}
  .nav-link{padding:0 11px;font-size:.9rem}
  .cart-item{grid-template-columns:64px 1fr;align-items:start}
  .cart-item img{width:64px;height:64px}
  .qty-line{grid-column:1/-1;justify-content:flex-start}
  .section-head{display:block}
}
.notice.warn{border-color:rgba(255,205,112,.34);color:#ffe4ad;background:rgba(255,205,112,.08)}
