:root{
  --bg:#0b0014;--bg2:#210033;--panel:#23002fcc;--panel2:#2d063bcc;
  --gold:#d4af37;--gold2:#f6dc88;--purple:#8c37ff;--purple2:#b45cff;
  --cream:#fff4d6;--text:#f8f0ff;--muted:#d6c4e7;--line:rgba(212,175,55,.28);
}
*{box-sizing:border-box}
body{margin:0;font-family:Georgia,'Times New Roman',serif;background:radial-gradient(circle at 65% 5%,#3b0757 0,#160020 32%,#08000f 100%);color:var(--text);min-height:100vh}
a{color:inherit}

.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;padding:18px 44px;border-bottom:1px solid rgba(212,175,55,.45);background:rgba(8,0,14,.92);position:sticky;top:0;z-index:10}
.brand img{height:76px;max-width:260px;object-fit:contain;background:#fff;border:1px solid rgba(255,255,255,.12)}
.top-nav{display:flex;gap:24px;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:14px}
.top-nav a{text-decoration:none;color:var(--gold2)}
.cart-pill{border:1px solid var(--gold);border-radius:999px;padding:10px 17px}

.panel{background:linear-gradient(145deg,rgba(48,0,64,.82),rgba(15,0,24,.92));border:1px solid rgba(212,175,55,.42);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:34px}
.glow-panel{box-shadow:0 0 80px rgba(140,55,255,.14),0 20px 60px rgba(0,0,0,.35)}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--gold2);font-weight:700;font-size:14px}
.lead{font-size:22px;line-height:1.55;color:var(--text)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-block;text-decoration:none;border-radius:999px;padding:13px 24px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--gold);cursor:pointer}
.btn.primary{background:linear-gradient(90deg,var(--gold2),var(--purple2));color:#18001f;border:0}
.btn.ghost{color:var(--gold2);background:transparent}

.hero-shop{max-width:1250px;margin:48px auto 80px;display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center;padding:0 28px}
.hero-copy h1{font-size:78px;line-height:.95;margin:15px 0;color:var(--gold2)}
.hero-art img{width:100%;border-radius:24px;border:1px solid rgba(212,175,55,.45);box-shadow:0 35px 90px rgba(0,0,0,.55)}

.section-wrap{max-width:1250px;margin:0 auto 80px;padding:0 28px}
.section-wrap h1,.section-wrap h2{color:var(--gold2);font-size:46px;line-height:1.08;margin:10px 0 28px}
.narrow{max-width:820px}

.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.product-card{background:rgba(24,0,32,.8);border:1px solid rgba(212,175,55,.35);border-radius:22px;overflow:hidden}
.product-img{height:260px;display:flex;align-items:center;justify-content:center;background:#13001f;color:var(--muted);text-decoration:none}
.product-img img{width:100%;height:100%;object-fit:cover}
.product-info{padding:20px}
.product-info h3{margin:0 0 10px;color:var(--cream);font-size:24px}
.product-info p{color:var(--muted);min-height:45px}
.product-info strong,.price{color:var(--gold2);font-size:24px}
.empty-state{color:var(--muted);font-size:19px}

.story-band{max-width:1180px;margin:0 auto 80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.story-band h2{font-size:42px;color:var(--gold2);margin:8px 0}
.story-band p{font-size:20px;color:var(--muted)}

.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.gallery img{width:100%;border-radius:18px;margin-bottom:12px}
.cart-row{display:grid;grid-template-columns:1fr 90px 120px;gap:16px;align-items:center;border-bottom:1px solid rgba(212,175,55,.24);padding:14px 0}
.cart-total{display:flex;justify-content:space-between;font-size:24px;margin:25px 0}

.form-row{margin-bottom:18px}
.form-row label{display:block;color:var(--gold2);letter-spacing:.08em;margin-bottom:7px;text-transform:uppercase;font-weight:700}
.form-row input,.form-row textarea,.form-row select,.cart-row input{width:100%;background:#100019;color:var(--text);border:1px solid rgba(212,175,55,.4);border-radius:12px;padding:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check{display:block;margin:12px 0 22px}

.flash{padding:12px 14px;border-radius:12px;margin:14px 0}
.flash.err{background:#4b0615}
.flash.ok{background:#064b27}

.admin-login{max-width:540px;margin:10vh auto;padding:24px}
.sig-wrap{text-align:center}
.sig-wrap img{max-width:320px;width:100%;background:#fff}

.admin-wrap{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.admin-side{background:#08000f;border-right:1px solid rgba(212,175,55,.4);padding:24px;display:flex;flex-direction:column;gap:12px}
.admin-side img{background:#fff;width:190px;margin-bottom:20px}
.admin-side a{text-decoration:none;color:var(--gold2);padding:12px;border:1px solid rgba(212,175,55,.25);border-radius:12px}
.admin-main{padding:32px}
.admin-title{display:flex;justify-content:space-between;align-items:center;gap:18px}

.table-panel{overflow:auto;padding:18px}
table{width:100%;border-collapse:collapse}
th,td{padding:8px 10px;border-bottom:1px solid rgba(212,175,55,.25);text-align:left;vertical-align:middle}
th{color:var(--gold2);text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.table-panel th:first-child,.table-panel td:first-child{width:68px}
.table-actions{white-space:nowrap}

.admin-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid rgba(212,175,55,.28);display:block;background:rgba(255,255,255,.06)}
.muted{color:var(--muted);font-size:13px}
.link-danger{border:0;background:transparent;color:#ff9a9a;cursor:pointer;font:inherit;padding:0;margin-left:12px;text-decoration:underline}
.link-danger:hover{color:#ffc1c1}

.thumbs{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.thumbs img{width:90px;height:90px;object-fit:cover;border-radius:12px;border:1px solid rgba(212,175,55,.25)}

.site-footer{max-width:1250px;margin:40px auto 0;padding:0 28px 32px}
.footer-line{border-top:2px solid rgba(212,175,55,.55);margin-bottom:22px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--cream)}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-brand img{width:54px;background:white}
.socials{display:flex;gap:18px}

.page-main{
  margin-top:42px;
  margin-bottom:90px;
}

.about-panel{
  max-width:820px;
  margin:0 auto;
}

.about-panel h1{
  color:var(--gold2);
  font-size:54px;
  line-height:1.05;
  margin:12px 0 24px;
}

.about-panel p{
  font-size:20px;
  line-height:1.55;
  color:var(--text);
}

.site-footer{
  max-width:1250px;
  margin:80px auto 0;
  padding:0 28px 36px;
}

.social-icons{
  display:flex;
  align-items:center;
  gap:16px;
}

.social-icons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.social-icons img{
  width:34px;
  height:34px;
  object-fit:contain;
  transition:transform .18s ease, opacity .18s ease;
}

.social-icons img:hover{
  transform:translateY(-2px);
  opacity:.85;
}

.copyright{
  color:var(--cream);
  font-weight:700;
}


.social-icon-upload{
  margin-top:10px;
  padding:12px;
  border:1px solid rgba(212,175,55,.22);
  border-radius:12px;
  background:rgba(255,255,255,.04);
}

.social-icon-upload label{
  font-size:12px;
  margin-bottom:8px;
}

.settings-icon-preview{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
  margin:8px 0 10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(212,175,55,.25);
  border-radius:8px;
  padding:5px;
}

.footer-links{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.footer-links a{
    color:var(--gold2);
    text-decoration:none;
    font-size:14px;
}

.footer-links a:hover{
    color:#fff;
}

.social-icons{
    display:flex;
    gap:12px;
    align-items:center;
}

.social-icons img{
    width:34px;
    height:34px;
    object-fit:contain;
}

@media(max-width:900px){
  .site-header{height:auto;padding:15px;flex-direction:column;gap:14px}
  .hero-shop,.product-detail{grid-template-columns:1fr}
  .hero-copy h1{font-size:50px}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .story-band,.footer-inner{flex-direction:column;align-items:flex-start}
  .admin-wrap{grid-template-columns:1fr}
  .admin-side{position:static}
  .top-nav{gap:12px;font-size:12px;flex-wrap:wrap;justify-content:center}
}

@media(max-width:560px){
  .product-grid{grid-template-columns:1fr}
  .cart-row{grid-template-columns:1fr}
  .brand img{max-width:220px}
  .section-wrap h1,.section-wrap h2{font-size:36px}
}