/* EzLiveShow — a darkened auditorium, not a dark UI.
   Warm near-black ground, brass gold, and a marquee red reserved solely for
   the LIVE indicator so it never competes with the accent. */

:root{
  --ground:#0E0B08;
  --surface:#17120D;
  --surface-2:#201810;
  --line:#2E2318;
  --line-soft:#241B12;
  --gold:#D4A344;
  --gold-hi:#F0C973;
  --gold-dim:#8A6B2C;
  --ink:#F6F0E4;
  --muted:#A2937D;
  --muted-2:#7A6D5A;
  --live:#E0483C;
  --ok:#6FBF73;

  --display:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --ui:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --r:14px;
  --pad:20px;
  --w:520px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--ground);
  color:var(--ink);
  font-family:var(--ui);
  font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad) 56px}

a{color:var(--gold);text-decoration:none}
a:hover{color:var(--gold-hi)}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}

/* header */
.top{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--w);margin:0 auto;padding:18px var(--pad) 14px;
}
.brand{
  font-family:var(--display);font-size:20px;font-weight:700;
  color:var(--ink);letter-spacing:.01em;
}
.brand span{color:var(--gold)}
/* Small, raised, and quiet — a trademark should be legible without competing
   with the name it belongs to. */
.brand .tm{font-size:.5em;vertical-align:super;letter-spacing:0;margin-left:1px;color:var(--gold-dim);font-weight:600}
.top-act{
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gold);background:none;border:0;cursor:pointer;
  font-family:var(--ui);padding:6px 0;
}

/* type */
h1{
  font-family:var(--display);font-size:31px;line-height:1.12;font-weight:700;
  margin:6px 0 8px;text-wrap:balance;letter-spacing:-.01em;
}
h2{
  font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted-2);margin:28px 0 12px;
}
p{margin:0 0 12px;color:var(--muted);font-size:14.5px}
.lead{color:var(--ink);font-size:15px}

/* show cards */
.cards{display:flex;flex-direction:column;gap:10px}
.card{
  display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;
  width:100%;text-align:left;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:15px 16px;cursor:pointer;color:inherit;font-family:var(--ui);
  transition:border-color .15s,background .15s;
}
.card:hover{border-color:var(--gold-dim);background:var(--surface-2)}
.card-when{
  grid-column:1/-1;font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);margin-bottom:2px;
}
.card-name{font-family:var(--display);font-size:19px;font-weight:600;line-height:1.2;color:var(--ink)}
.card-by{font-size:13px;color:var(--muted-2);grid-column:1;margin-top:2px}
.card-price{
  grid-row:2/4;grid-column:2;font-size:17px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

.livetag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--live);
}
.dot{width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.dot{animation:none}*{transition:none!important}}

/* poster */
.poster{
  position:relative;border:1px solid var(--line);border-radius:var(--r);
  background:radial-gradient(120% 80% at 50% -10%, rgba(212,163,68,.20), transparent 62%),var(--surface);
  padding:26px var(--pad) 22px;overflow:hidden;margin-bottom:18px;
}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.poster h1{font-size:32px;margin-top:0}
.byline{font-size:14px;color:var(--muted);margin:0}

/* rows */
.rows{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.row{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:13px 16px;border-bottom:1px solid var(--line-soft);font-size:14px;
}
.row:last-child{border-bottom:0}
.row dt{color:var(--muted);margin:0}
.row dd{margin:0;color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.row.total dd{font-size:17px}
.row .sub{display:block;font-weight:400;color:var(--muted-2);font-size:12px;margin-top:2px}

/* buttons */
.btn{
  width:100%;display:block;font-family:var(--ui);font-size:15px;font-weight:700;
  padding:15px 18px;border-radius:11px;border:1px solid transparent;cursor:pointer;
  margin-top:16px;transition:background .15s;
}
.btn-gold{background:var(--gold);color:#1A1206}
.btn-gold:hover{background:var(--gold-hi)}
.btn-gold[disabled]{opacity:.5;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-live{background:var(--live);color:#fff}

/* fields */
label{
  display:block;font-size:11px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted-2);margin:16px 0 7px;
}
input,select{
  width:100%;font-family:var(--ui);font-size:16px;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 14px;
}
input:focus,select:focus{border-color:var(--gold);outline:2px solid var(--gold);outline-offset:0}
.field-note{font-size:12px;color:var(--muted-2);margin:7px 0 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* quantity */
.qty{
  display:flex;align-items:center;justify-content:space-between;
  border:1px solid var(--line);border-radius:var(--r);background:var(--surface);
  padding:10px 12px;margin-top:8px;
}
.qty-btn{
  width:42px;height:42px;border-radius:10px;background:var(--surface-2);
  border:1px solid var(--line);color:var(--ink);font-size:21px;cursor:pointer;font-family:var(--ui);
}
.qty-n{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.qty-lab{font-size:12px;color:var(--muted-2);text-align:center;margin-top:8px}

/* fee readout */
.keep{
  margin-top:14px;padding:15px 16px;border:1px solid var(--gold-dim);border-radius:var(--r);
  background:linear-gradient(180deg, rgba(212,163,68,.10), rgba(212,163,68,.03));
}
.keep-big{
  font-family:var(--display);font-size:27px;font-weight:700;color:var(--gold-hi);
  font-variant-numeric:tabular-nums;line-height:1.1;
}
.keep-sub{font-size:13px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums}

.note{border-left:2px solid var(--gold-dim);padding:2px 0 2px 13px;margin:16px 0 0;font-size:13px;color:var(--muted)}
.center{text-align:center}
.empty{
  border:1px dashed var(--line);border-radius:var(--r);padding:28px 20px;
  text-align:center;color:var(--muted-2);font-size:14px;
}
.err{
  border:1px solid rgba(224,72,60,.45);background:rgba(224,72,60,.08);
  border-radius:10px;padding:12px 14px;font-size:14px;color:#F3B4AE;margin-top:14px;
}
