/* Box Office seat map — the school site's look (maratdaukayev.com is the master brand):
   navy headings, school blue for actions, the crest's gold for Premium. Light only, like the site.
   Everything is scoped under .tradlos-bo and starts with a reset, because the Pirouette theme
   paints every <button> solid blue. */
.tradlos-bo{
  --bo-bg:#F6F8FA; --bo-surface:#FFFFFF; --bo-ink:#011627; --bo-body:#4D5966; --bo-muted:#6B7785; --bo-line:#DDE3E9;
  --bo-accent:#4384BA; --bo-accent-hover:#2F70A6; --bo-accent-ink:#FFFFFF; --bo-accent-soft:#EAF2F9;
  --bo-gold:#B5924C; --bo-premium:#B5924C; --bo-premium-plus:#8C5A2E; --bo-deluxe:#4384BA; --bo-regular:#9FC2DF; --bo-house:#B8C1CB;
  --bo-picked:#011627; --bo-picked-ink:#FFFFFF; --bo-seat-free:#EEF2F5; --bo-taken:#E6EAEF; --bo-taken-edge:#CFD6DE;
  --bo-stage:#011627; --bo-stage-ink:#FFFFFF; --bo-warn:#A35A00; --bo-bad:#B3261E;
  --bo-display:"Raleway","Helvetica Neue",Arial,sans-serif;
  --bo-text:"Mulish",system-ui,-apple-system,"Segoe UI",sans-serif;
  --bo-accentf:"Lato",Georgia,serif;
  --bo-r:4px;
  color-scheme:light;
  font-family:var(--bo-text); font-size:16px; line-height:1.5; color:var(--bo-body);
  display:grid; gap:20px; max-width:1080px; margin:0 auto; padding-bottom:150px; box-sizing:border-box;
  container-type:inline-size;
}
.tradlos-bo *,.tradlos-bo *::before,.tradlos-bo *::after{box-sizing:border-box}
.tradlos-bo button,.tradlos-bo input[type=submit]{
  font:inherit; color:var(--bo-ink); background:transparent; border:0; border-radius:var(--bo-r);
  padding:0; margin:0; text-transform:none; letter-spacing:normal; box-shadow:none; line-height:1.3; min-height:0; width:auto;
}
.tradlos-bo :focus-visible{outline:2px solid var(--bo-accent);outline-offset:2px}
/* The site loads Mulish at 400 only; anything bold is Raleway Bold, as on maratdaukayev.com. */
.tradlos-bo b,.tradlos-bo strong{font-family:var(--bo-display);font-weight:700}
.tradlos-bo [hidden]{display:none!important}
.tradlos-bo .bo-loading,.tradlos-bo .bo-closed{padding:24px 0;color:var(--bo-muted)}

.bo-head{display:grid;gap:4px}
.tradlos-bo .bo-title{font-family:var(--bo-display);font-weight:700;font-size:clamp(30px,7vw,46px);letter-spacing:-0.05em;line-height:1.05;margin:0;color:var(--bo-ink)}
.bo-sub{margin:0;color:var(--bo-muted)}
.tradlos-bo .bo-h{font-family:var(--bo-display);font-size:14px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--bo-ink);margin:0 0 10px}

/* early access */
.bo-access{background:var(--bo-bg);border:0;border-radius:var(--bo-r);padding:14px 16px;display:grid;gap:10px;color:var(--bo-ink)}
.bo-access.bo-empty{display:none}
.bo-access p{margin:0}
.bo-preview{font-size:13px;color:var(--bo-warn)}
.bo-countdown{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;background:var(--bo-stage);color:var(--bo-stage-ink);border-radius:var(--bo-r);padding:14px 18px}
.bo-countdown-l{font-family:var(--bo-display);font-weight:700;letter-spacing:.02em;font-size:15px}
.bo-countdown-t{font-family:var(--bo-display);font-weight:700;font-size:28px;font-variant-numeric:tabular-nums;line-height:1;color:var(--bo-gold)}
.bo-countdown-at{font-size:13px;opacity:.85}
.bo-waves{display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.bo-waves li{font-size:13px;padding:4px 10px;border-radius:var(--bo-r);background:var(--bo-surface);color:var(--bo-muted);white-space:nowrap}
.bo-waves li.bo-open{background:var(--bo-accent);color:var(--bo-accent-ink);font-family:var(--bo-display);font-weight:700}
.bo-signin{display:grid;gap:8px}
.bo-signin label{font-size:12.75px;font-family:var(--bo-display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bo-ink)}
.bo-row{display:flex;gap:8px;flex-wrap:wrap}
.bo-row input{flex:1 1 200px;min-width:0;font:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--bo-line);border-radius:var(--bo-r);background:var(--bo-surface);color:var(--bo-ink)}
.bo-msg{font-size:13px;color:var(--bo-muted);min-height:1em}
.tradlos-bo .bo-link{color:var(--bo-accent);text-decoration:underline;cursor:pointer}

/* performances */
/* two across unless the page is wide enough for four times that never wrap */
.bo-shows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@container (min-width:760px){.bo-shows{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tradlos-bo .bo-show{background:var(--bo-bg);padding:14px 16px;text-align:left;cursor:pointer;display:grid;gap:4px;min-width:0}
.tradlos-bo .bo-show:hover:not(:disabled){background:var(--bo-accent-soft)}
.tradlos-bo .bo-show[aria-pressed="true"]{background:var(--bo-ink);color:var(--bo-surface)}
.tradlos-bo .bo-show[aria-pressed="true"] .bo-show-l{color:rgba(255,255,255,.75)}
.tradlos-bo .bo-show[aria-pressed="true"] .bo-bar{background:rgba(255,255,255,.2)}
.tradlos-bo .bo-show[aria-pressed="true"] .bo-bar i{background:var(--bo-gold)}
.tradlos-bo .bo-show:disabled{opacity:.5;cursor:not-allowed}
.bo-show-d{font-family:var(--bo-display);font-weight:700;font-size:clamp(15px,3.6vw,17px);letter-spacing:.06em;text-transform:uppercase;line-height:1.25}
.bo-show-t{font-family:var(--bo-display);font-weight:300;font-size:clamp(28px,7.5vw,36px);letter-spacing:-0.04em;line-height:1.05;white-space:nowrap}
.bo-show-l{font-size:14px;color:var(--bo-muted);font-variant-numeric:tabular-nums}
.bo-bar{display:block;height:4px;border-radius:2px;background:var(--bo-line);overflow:hidden;margin-top:6px}
.bo-bar i{display:block;height:100%;background:var(--bo-accent)}

/* price key */
.bo-key{display:flex;gap:8px;flex-wrap:wrap}
.tradlos-bo .bo-tier{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bo-bg);cursor:pointer;font-size:15px}
.tradlos-bo .bo-tier[aria-pressed="true"]{background:var(--bo-ink);color:var(--bo-surface)}
.tradlos-bo .bo-tier.bo-static{cursor:default;color:var(--bo-muted);background:transparent}
.bo-tier strong{font-variant-numeric:tabular-nums}
.bo-dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.bo-dot-taken{background:var(--bo-taken);border:1px solid var(--bo-taken-edge)}

/* map */
.bo-main{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.bo-main{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}
.bo-mapcard{background:transparent;border:0;padding:0;display:grid;gap:10px;min-width:0}
.bo-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.bo-seg{display:inline-flex;background:var(--bo-bg);border-radius:var(--bo-r);overflow:hidden}
.tradlos-bo .bo-seg button{padding:8px 14px;cursor:pointer;font-family:var(--bo-display);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-radius:0}
.tradlos-bo .bo-seg button[aria-pressed="true"]{background:var(--bo-ink);color:var(--bo-surface)}
.bo-zoom{display:inline-flex;gap:4px}
.tradlos-bo .bo-zoom button{width:40px;height:40px;background:var(--bo-bg);cursor:pointer;font-size:18px}
.bo-scroll{overflow:auto;border-radius:var(--bo-r);-webkit-overflow-scrolling:touch}
.bo-map{display:block;width:100%;height:auto;touch-action:manipulation}
.bo-map .bo-seat{cursor:pointer}
.bo-map .bo-seat:focus{outline:none}
.bo-map .bo-seat:focus-visible circle:first-child{stroke:var(--bo-ink);stroke-width:2}
.bo-map text{font-family:var(--bo-text);fill:var(--bo-muted)}
.bo-map .bo-rowl{font-size:8px;font-family:var(--bo-display);font-weight:700}
.bo-map .bo-note{font-size:8px}
.bo-map .bo-stage path,.bo-map .bo-stage rect{fill:var(--bo-stage)}
.bo-map .bo-stage text{fill:var(--bo-stage-ink);font-family:var(--bo-display);font-weight:700;font-size:11px;letter-spacing:.3em}
.bo-locked .bo-map .bo-seat{cursor:default}
.bo-hint{font-size:13px;color:var(--bo-muted);min-height:20px}
.bo-hint.bo-bad{color:var(--bo-bad)}
.bo-best{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--bo-bg);border-radius:var(--bo-r);padding:8px 10px}
.bo-best-l{font-size:13px;color:var(--bo-muted)}
.bo-step{display:inline-flex;align-items:center;border-radius:var(--bo-r);background:var(--bo-surface)}
.tradlos-bo .bo-step button{width:34px;height:34px;cursor:pointer;font-size:17px}
.bo-step output{min-width:22px;text-align:center;font-family:var(--bo-display);font-weight:700;color:var(--bo-ink);font-variant-numeric:tabular-nums}

.tradlos-bo .bo-btn{display:inline-block;border-radius:.1rem;padding:10px 16px;font-family:var(--bo-display);font-weight:700;cursor:pointer;text-decoration:none;text-align:center}
.tradlos-bo .bo-primary{background:var(--bo-accent);color:var(--bo-accent-ink)}
.tradlos-bo .bo-primary:hover:not(:disabled){background:var(--bo-accent-hover);color:var(--bo-accent-ink)}
.tradlos-bo .bo-btn:disabled,.tradlos-bo .bo-disabled{opacity:.45;cursor:not-allowed}

/* basket */
.bo-basket{background:var(--bo-bg);border:0;border-radius:var(--bo-r);padding:16px;display:grid;gap:12px}
@media (max-width:899px){
  .bo-basket{position:fixed;left:0;right:0;bottom:0;z-index:999;border-radius:0;background:var(--bo-surface);
    padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 30px rgba(1,22,39,.12);max-height:60vh;overflow:auto}
  .bo-basket .bo-note{display:none}
  .bo-basket.bo-basket-empty{display:none}
  .bo-basket .bo-chip{background:var(--bo-bg)}
}
@media (min-width:900px){.bo-basket{position:sticky;top:calc(16px + env(safe-area-inset-top,0px))}}
.bo-btop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bo-eyebrow{font-family:var(--bo-accentf);font-style:italic;font-size:15px;color:var(--bo-body)}
.bo-total{font-family:var(--bo-display);font-weight:300;letter-spacing:-0.04em;font-size:32px;color:var(--bo-ink);font-variant-numeric:tabular-nums}
.bo-timer{font-size:12px;color:var(--bo-warn);font-family:var(--bo-display);font-weight:700;font-variant-numeric:tabular-nums}
.bo-chips{display:flex;flex-wrap:wrap;gap:6px}
.bo-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 6px 5px 10px;border-radius:var(--bo-r);background:var(--bo-surface);color:var(--bo-ink);font-family:var(--bo-display);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}
.bo-chip i{width:8px;height:8px;border-radius:50%}
.tradlos-bo .bo-chip button{cursor:pointer;color:var(--bo-muted);font-size:15px;padding:0 4px}
.bo-empty{color:var(--bo-muted);font-size:14px}
.bo-go{width:100%}
.bo-note{font-size:12px;color:var(--bo-muted);margin:0}

/* house editor (wp-admin) */
.bo-reason{font-size:13px;display:inline-flex;gap:6px;align-items:center}
.bo-house-summary p{margin:4px 0}
@media (prefers-reduced-motion:no-preference){.bo-map .bo-seat circle{transition:r .12s,fill .12s}}

/* team page */
.bo-team-tools{display:flex;gap:14px;flex-wrap:wrap}
.bo-team-tools label{display:grid;gap:4px;font-family:var(--bo-display);font-weight:700;font-size:12.75px;letter-spacing:.1em;text-transform:uppercase;color:var(--bo-ink);min-width:0}
.bo-team-tools select{font:inherit;font-family:var(--bo-text);font-weight:400;font-size:16px;letter-spacing:normal;text-transform:none;padding:10px 12px;border:1px solid var(--bo-line);border-radius:var(--bo-r);background:var(--bo-surface);color:var(--bo-ink);max-width:100%}
.bo-team-list,.bo-team-log{display:grid;gap:10px}
.bo-team-reason{margin:0;display:flex;align-items:center;gap:6px;color:var(--bo-ink);font-family:var(--bo-display);font-weight:700}
.bo-team-entry{margin:0;font-size:14px;color:var(--bo-muted)}
#tradlos-bo-team .bo-chip{background:var(--bo-bg)}
.bo-team-help{background:var(--bo-bg);border-radius:var(--bo-r);padding:12px 16px;color:var(--bo-ink)}
.bo-team-help summary{cursor:pointer;font-family:var(--bo-display);font-weight:700;font-size:12.75px;letter-spacing:.1em;text-transform:uppercase}
.bo-team-help ul{margin:10px 0 0;padding-left:20px;display:grid;gap:6px;font-size:14px;color:var(--bo-body)}
.bo-team-help li{margin:0}
.bo-confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--bo-surface);border:1px solid var(--bo-line);border-left:4px solid var(--bo-bad);border-radius:var(--bo-r);padding:10px 12px;color:var(--bo-ink);font-size:15px}
.bo-confirm span{flex:1 1 220px}
.tradlos-bo .bo-danger{background:var(--bo-bad);color:#fff}
.tradlos-bo .bo-danger:hover{background:#8F1E18;color:#fff}
.tradlos-bo .bo-quiet{background:var(--bo-bg);color:var(--bo-ink)}

.bo-alert{display:grid;gap:8px}
.bo-alert > .bo-btn{justify-self:start}

/* live sales board on the team page */
.bo-team-live{margin:16px 0;padding:14px 16px;background:#F6F8FA;border-radius:8px}
.bo-team-live h3{margin:0 0 10px;font-size:15px}
.bo-team-live h4{margin:12px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#4D5966}
.bo-live-counters{display:flex;gap:10px;flex-wrap:wrap}
.bo-live-counter{background:#fff;border-radius:6px;padding:8px 12px;display:grid;min-width:96px}
.bo-live-counter strong{font-size:20px}
.bo-live-counter span{font-size:11.5px;color:#4D5966}
.bo-live-total{background:#011627}.bo-live-total strong,.bo-live-total span{color:#fff}
.bo-live-cols{display:grid;gap:4px 24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.bo-team-live ul{margin:0;padding:0 0 0 1em;font-size:13px;line-height:1.5}
.bo-live-signed{font-size:12.5px;color:#4D5966;margin:0}
.bo-live-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.bo-live-head h3{margin:0 0 10px}
.bo-live-server{border-left:4px solid #011627;padding-left:12px;font-size:13px;font-weight:600;color:#011627;font-variant-numeric:tabular-nums;line-height:1.4}

.bo-live-sect summary{margin:12px 0 4px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#4D5966;cursor:pointer;user-select:none}
.bo-live-sect[open] summary{color:#011627}
