:root{
  --bg:#070707;--panel:#121212;--panel2:#181818;--text:#f5f5f5;--muted:#b9b9b9;--gold:#f3c400;--gold2:#d5a900;--line:rgba(255,255,255,.12);--danger:#c0392b;--success:#1f9d55;
}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#1b1b1b 0,#070707 42%,#000 100%);color:var(--text)}
a{color:inherit;text-decoration:none}.wrap{width:min(1180px,92vw);margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.5px}.brand-mark{width:36px;height:36px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:900}.navlinks{display:flex;gap:18px;color:var(--muted);font-size:14px}.navlinks a:hover{color:var(--gold)}
.hero{padding:62px 0 38px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:center}.eyebrow{color:var(--gold);text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:2px}.hero h1{font-size:clamp(38px,6vw,70px);line-height:.96;margin:14px 0}.hero p{color:var(--muted);font-size:18px;line-height:1.6;max-width:690px}.hero-card{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 18px 60px rgba(0,0,0,.35)}.store-logos{display:grid;gap:18px}.logo-box{background:#000;border:1px solid rgba(243,196,0,.35);border-radius:20px;padding:18px;display:grid;place-items:center;min-height:150px}.logo-box img{max-width:100%;max-height:170px;object-fit:contain}
.notice{margin-top:20px;padding:14px 16px;border-left:4px solid var(--gold);background:rgba(243,196,0,.08);color:#f7e7a1;border-radius:10px}.section{padding:38px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.section h2{font-size:34px;margin:0}.muted{color:var(--muted)}
.store-block{margin:26px 0 42px;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:26px;overflow:hidden}.store-head{display:flex;align-items:center;gap:18px;padding:20px;background:linear-gradient(90deg,rgba(243,196,0,.16),rgba(255,255,255,.03));border-bottom:1px solid var(--line)}.store-head img{width:120px;height:72px;object-fit:contain;background:#000;border-radius:12px;padding:8px}.store-title h3{margin:0;font-size:27px}.store-title p{margin:5px 0 0;color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:.2s}.product-card:hover{transform:translateY(-3px);border-color:rgba(243,196,0,.55)}.product-img{height:190px;background:#050505;display:grid;place-items:center;border-bottom:1px solid var(--line)}.product-img img{width:100%;height:100%;object-fit:cover}.product-img .placeholder{color:#555;font-weight:900}.product-body{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1}.badge{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:rgba(243,196,0,.12);color:var(--gold);border:1px solid rgba(243,196,0,.25);font-size:12px;font-weight:800;text-transform:uppercase}.product-body h4{font-size:21px;margin:0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:var(--panel2);padding:10px;border-radius:12px;border:1px solid var(--line)}.stat b{display:block;font-size:18px}.stat span{font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;background:var(--gold);color:#111;font-weight:900;border:0;cursor:pointer}.btn:hover{background:#ffe04a}.btn.secondary{background:#222;color:#fff;border:1px solid var(--line)}.empty{padding:28px;color:var(--muted)}
.product-page{padding:34px 0}.product-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px}.panel{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:24px;padding:22px}.seat-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px}.seat{height:42px;border-radius:10px;border:1px solid var(--line);background:#171717;color:#fff;font-weight:800;cursor:pointer}.seat.paid{background:#3b3b3b;color:#777;cursor:not-allowed;text-decoration:line-through}.seat.reserved{background:#453400;color:#f1d36a;cursor:not-allowed}.seat.selected{outline:3px solid var(--gold);background:#2b2400}.store-chip{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}.store-chip img{width:70px;height:42px;object-fit:contain;background:#000;border-radius:8px;padding:5px;border:1px solid var(--line)}.footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:14px}.form{display:grid;gap:12px}.input{width:100%;padding:13px;border-radius:12px;border:1px solid var(--line);background:#0d0d0d;color:#fff}.alert{padding:14px;border-radius:12px;margin:12px 0}.alert.info{background:rgba(243,196,0,.08);border:1px solid rgba(243,196,0,.25);color:#ffe27a}
@media(max-width:900px){.hero-grid,.product-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr 1fr}.navlinks{display:none}.seat-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:600px){.product-grid{grid-template-columns:1fr}.store-head{align-items:flex-start;flex-direction:column}.store-head img{width:100%;height:110px}.stats{grid-template-columns:1fr}.hero{padding-top:36px}}
/* Admin additions */
.admin-section h1{font-size:clamp(34px,5vw,56px);margin:8px 0 8px}.admin-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:820px}.admin-table th,.admin-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table th{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:1px}.small{padding:8px 10px;font-size:13px}.danger{background:#8f1d1d;color:#fff}.danger:hover{background:#b42323}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row-actions form{margin:0}.admin-grid-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-grid-form label,.form label{font-size:13px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.7px}.checkline{display:flex!important;align-items:center;gap:9px;color:var(--text)!important;text-transform:none!important;letter-spacing:0!important}.user-card{margin-bottom:16px}.inline-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.inline-actions .input{max-width:280px}.admin-actions{display:flex;align-items:end}.admin-search{display:flex;gap:10px}.admin-nav{gap:12px}.form textarea.input{min-height:120px;resize:vertical}
@media(max-width:900px){.admin-stats,.admin-grid-form{grid-template-columns:1fr}.admin-title-row,.admin-search,.inline-actions{flex-direction:column;align-items:stretch}.admin-nav{display:none}}

/* Legal acknowledgement and legal pages */
.legal-ack-box {
  border: 1px solid rgba(255, 211, 0, .35);
  background: rgba(255, 211, 0, .08);
  border-radius: 16px;
  padding: 16px;
  margin: 18px 0;
}
.legal-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  line-height: 1.5;
  font-size: .95rem;
}
.legal-check input {
  margin-top: 5px;
  transform: scale(1.2);
}
.legal-check a,
.footer a {
  color: #ffd300;
  font-weight: 800;
  text-decoration: none;
}
.legal-check a:hover,
.footer a:hover {
  text-decoration: underline;
}
.legal-page h2 {
  margin-top: 26px;
  font-size: 1.15rem;
}
.legal-page p {
  line-height: 1.7;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.btn.secondary {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
}

/* Drawing video archive additions */
.archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:20px}.archive-card{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}.archive-card h3{margin:8px 0 6px;font-size:24px}.archive-body{display:grid;gap:12px}.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--line);border-radius:18px;overflow:hidden}.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}.archive-media .empty{min-height:220px;display:grid;place-items:center;border:1px dashed var(--line);border-radius:18px;background:#070707;text-align:center}.admin-table .muted{font-size:12px}.form input[type=file].input{padding:11px;background:#0d0d0d}.form select.input{appearance:auto}
@media(max-width:1000px){.archive-grid{grid-template-columns:1fr}.archive-card{grid-template-columns:1fr}}


/* Checkout review page light-card override */
.checkout-wrap {
  max-width: 980px;
  margin: 40px auto;
  padding: 0 18px;
  color: #111827 !important;
}

.checkout-card {
  background: #ffffff !important;
  border: 1px solid #e7e2d8;
  border-radius: 18px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  color: #111827 !important;
}

.checkout-card h1,
.checkout-card h2,
.checkout-card p,
.checkout-card span,
.checkout-card strong,
.checkout-card label {
  color: #111827 !important;
}

.checkout-card .muted {
  color: #475467 !important;
}

.checkout-card a {
  color: #1d4ed8 !important;
  text-decoration: none;
}

.checkout-card a:hover {
  text-decoration: underline;
}

.checkout-card .summary-row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #e5e7eb;
  padding: 10px 0;
  gap: 16px;
  color: #344054 !important;
}

.checkout-card .summary-row span {
  color: #475467 !important;
}

.checkout-card .summary-row strong {
  text-align: right;
  color: #111827 !important;
}

.checkout-card .legal-box {
  background: #f8f5ef !important;
  border: 1px solid #e7e2d8;
  border-radius: 14px;
  padding: 18px;
  margin: 20px 0;
  color: #111827 !important;
}

.checkout-card .checkbox-line {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  line-height: 1.45;
  color: #111827 !important;
}

.checkout-card .checkbox-line input {
  margin-top: 4px;
  transform: scale(1.2);
}

.checkout-card .btn-primary {
  display: inline-block;
  background: #111827 !important;
  color: #ffffff !important;
  border: 0;
  border-radius: 12px;
  padding: 14px 20px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}

.checkout-card .btn-secondary {
  display: inline-block;
  background: #f3f4f6 !important;
  color: #111827 !important;
  border-radius: 12px;
  padding: 14px 20px;
  font-weight: 700;
  text-decoration: none;
  margin-right: 8px;
}

.checkout-card .alert {
  background: #fff1f0 !important;
  border: 1px solid #ffa39e;
  color: #a8071a !important;
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 16px;
}
