:root{--ink:#141414;--muted:#666;--line:#e4e4e4;--soft:#f6f6f4;--green:#a7d481;--amber:#f2b640;--red:#c62828;--blue:#2458d6;--grey:#9a9a9a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:Heebo,Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.55}
h1,h2,h3{font-family:Rubik,Heebo,Arial,sans-serif;font-weight:700;line-height:1.2;margin:0 0 .4em}
h1{font-size:2rem}h2{font-size:1.25rem}h3{font-size:1.05rem}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.wrap{max-width:1100px;margin:0 auto;padding:24px 20px 48px}
.narrow{max-width:420px}
.loading{color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:.875rem}
.err{color:var(--red);min-height:1.4em;margin:.5em 0 0}
.ok{color:#2e7d32}
.card{border:1px solid var(--line);border-radius:10px;padding:18px;background:#fff}
label{display:block;font-size:.92rem;margin:0 0 12px}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=number],select,textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid #bdbdbd;border-radius:8px;background:#fff}
textarea{min-height:120px;resize:vertical}
.btn,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:8px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:500}
.btn.ghost{background:#fff;color:var(--ink)}
.btn.warn{background:#fff;color:var(--red);border-color:var(--red)}
.btn:disabled,button[type=submit]:disabled{opacity:.4;cursor:not-allowed}
.btn.small{padding:6px 10px;font-size:.875rem}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;border:1px solid var(--line);background:var(--soft)}
.pill.on{background:#e8f5e0;border-color:#b9dca0}
.pill.off{background:#fbeaea;border-color:#f0c2c2}

/* map */
.map{width:100%;max-width:640px;margin:0 auto;display:block;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.map .stage{fill:#f1f1ef;stroke:#d6d6d6}
.map .stage-label{font:500 26px Rubik,Heebo,sans-serif;fill:#8a8a8a}
.map .rowlabel{font:500 20px Heebo,sans-serif;fill:#8a8a8a;cursor:default}
.map .rowlabel.click{cursor:pointer;fill:var(--ink)}
.map .acc{font:22px sans-serif;fill:#555}
.map .seat circle{stroke-width:2;transition:fill .12s}
.map .seat text{font:500 15px Heebo,sans-serif;pointer-events:none;text-anchor:middle;dominant-baseline:central}
.map .seat{cursor:default}
.map .seat.pick{cursor:pointer}
/* public */
.s-av circle{fill:var(--green);stroke:var(--green)}
.s-av text{fill:#1d3b12}
.s-na circle{fill:#e6e6e6;stroke:#e6e6e6}
.s-na text{fill:#b0b0b0}
.s-sel circle{fill:var(--ink);stroke:var(--ink)}
.s-sel text{fill:#fff}
/* admin */
.s-outside circle{fill:#fff;stroke:#cfcfcf}
.s-outside text{fill:#b0b0b0}
.s-open circle{fill:var(--green);stroke:var(--green)}
.s-open text{fill:#1d3b12}
.s-reserved circle{fill:var(--grey);stroke:var(--grey)}
.s-reserved text{fill:#fff}
.s-held circle{fill:var(--amber);stroke:var(--amber)}
.s-held text{fill:#3b2a00}
.s-sold circle{fill:#262626;stroke:#262626}
.s-hall circle{fill:#7a7a7a;stroke:#7a7a7a}
.s-hall text{fill:#fff}
.s-sold text{fill:#fff}
.s-flag circle{stroke:var(--red);stroke-width:4;stroke-dasharray:6 4}
.s-picked circle{stroke:var(--blue);stroke-width:6;stroke-dasharray:none}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;font-size:.85rem;color:var(--muted);margin:8px 0 0}
.legend i{display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:-2px;margin-left:6px;border:2px solid transparent}

/* public page */
.public header.show{padding:8px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px}
.public .brand{font-size:.85rem;color:var(--muted);margin:0 0 6px}
.public .when{font-size:1.05rem;margin:0}
.public .venue{color:var(--muted);margin:0}
.public .layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}
.public .panel{position:sticky;top:12px}
.lines{list-style:none;margin:0;padding:0}
.lines li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.lines select{margin:0;padding:6px 8px;width:auto}
.lines .x{border:0;background:none;font-size:1.3rem;line-height:1;padding:4px 8px;color:var(--muted)}
.total{display:flex;justify-content:space-between;font-weight:700;font-size:1.15rem;padding:12px 0}
.banner{padding:10px 14px;border-radius:8px;background:#fff7e0;border:1px solid #f1d98b;margin:0 0 16px;font-size:.92rem}
.banner.info{background:var(--soft);border-color:var(--line)}
.check{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}
.check input{margin-top:4px;width:18px;height:18px;flex:none}
.prose{max-width:760px}
.prose p{margin:0 0 1em}
.back{font-size:.9rem;margin:0 0 16px}
.ticket{border:1px solid var(--ink);border-radius:12px;padding:20px;max-width:560px}
.ticket .seats{font-size:1.15rem;font-weight:500}
@media(max-width:820px){.public .layout{grid-template-columns:1fr}.public .panel{position:static}h1{font-size:1.6rem}}

/* admin */
.admin{background:#fafaf8}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.topbar h1{font-size:1.2rem;margin:0}
.stats{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px}
.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-width:104px}
.stat b{display:block;font:700 1.35rem Rubik,Heebo,sans-serif}
.stat span{font-size:.8rem;color:var(--muted)}
.stat.alert{border-color:var(--red)}
.stat.alert b{color:var(--red)}
.adm{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;padding:0 20px 40px;align-items:start}
.mapcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.actions{position:sticky;top:64px;z-index:4;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.actions .count{font-weight:700;margin-left:6px}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;font-size:.9rem}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.tabs .dot,.btn .dot{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:.72rem;margin-right:4px;text-align:center}
.pane{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th,.tbl td{text-align:right;padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:500;color:var(--muted)}
.st-paid{color:#2e7d32}.st-pending{color:#a36b00}.st-conflict{color:var(--red);font-weight:700}.st-cancelled,.st-expired{color:#999}
.jlist{font-family:Heebo,sans-serif;background:var(--soft);border-radius:8px;padding:10px 12px;white-space:pre-wrap;margin:6px 0 10px}
.tip{position:fixed;z-index:20;background:var(--ink);color:#fff;font-size:.82rem;padding:6px 10px;border-radius:6px;pointer-events:none;max-width:260px;display:none}
.cat{display:grid;grid-template-columns:1.2fr .7fr 1.4fr auto auto;gap:8px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}
.cat label{margin:0}
.cat .act{display:flex;align-items:center;gap:6px;font-size:.85rem;padding-bottom:10px}
dialog{border:1px solid var(--line);border-radius:12px;padding:18px;max-width:420px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(0,0,0,.35)}
.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:30;font-size:.92rem;max-width:90vw}
.toast.bad{background:var(--red)}
@media(max-width:900px){.adm{grid-template-columns:1fr}.actions{top:0;position:sticky}.cat{grid-template-columns:1fr 1fr}.topbar{position:static}}

.mbar{display:none}
@media(max-width:820px){
  .mbar:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.06)}
  .public .wrap{padding:16px 12px 88px}
  .adm{padding:0 8px 40px}.stats{padding:10px 8px}.mapcard{padding:4px}
  .stat{min-width:0;flex:1 1 30%}
}

/* product image, discount codes, consent */
.public header.show.with-img{display:flex;gap:18px;align-items:center}
.poster{width:120px;height:120px;border-radius:10px;object-fit:cover;flex:none;background:var(--soft)}
.poster.small{width:72px;height:72px;border-radius:8px}
.ticket-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.ticket-head h2{margin:0 0 4px}
.codebox{margin:12px 0 0;font-size:.92rem}
.codebox summary{cursor:pointer;color:var(--muted);text-decoration:underline;text-underline-offset:4px;width:max-content}
.codebox.on{display:flex;justify-content:space-between;align-items:center;background:#eef7e6;border:1px solid #cfe6bb;border-radius:8px;padding:6px 10px}
.codebox .x{border:0;background:none;font-size:1.2rem;line-height:1;padding:2px 6px;color:var(--muted)}
.coderow{display:flex;gap:8px;margin-top:8px}
.coderow input{margin:0;text-transform:uppercase;letter-spacing:.04em}
.subtotal{display:flex;justify-content:space-between;padding:10px 0 0;color:#2e7d32}
.foot{margin-top:28px;text-align:center}
.check a.muted{white-space:nowrap}
@media(max-width:820px){.poster{width:84px;height:84px}.public header.show.with-img{gap:12px}}
/* admin */
.disc{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}
.disc label{margin:0}
.disc .full{grid-column:1/-1}
.disc .head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.disc .head b{font:700 1.05rem Rubik,Heebo,sans-serif;letter-spacing:.03em}
.imgrow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.imgrow img{width:110px;height:110px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}
.imgrow .ph{width:110px;height:110px;border-radius:10px;border:1px dashed #bdbdbd;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;text-align:center;padding:6px}
.tag{display:inline-block;font-size:.75rem;padding:1px 7px;border-radius:999px;background:#eef7e6;border:1px solid #cfe6bb;margin-top:3px}
@media(max-width:900px){.disc{grid-template-columns:1fr 1fr}}

/* several shows */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.evpick{margin:0}
.evpick select{margin:0;padding:8px 10px;font:700 1.05rem Rubik,Heebo,sans-serif;border-color:var(--ink);min-width:220px}
.bar{display:flex;height:16px;border-radius:8px;overflow:hidden;background:#eee;border:1px solid #ddd}
.bar i{display:block;height:100%}
.bar .b-legacy{background:#262626}.bar .b-paid{background:var(--green)}.bar .b-pend{background:var(--amber)}
/* quantity checkout */
.narrowish{max-width:680px}
.general header.show{padding:8px 0 18px;border-bottom:1px solid var(--line);margin-bottom:18px}
.panel1{margin-top:6px}
.qty{list-style:none;margin:0 0 6px;padding:0}
.qty li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.stepper{display:flex;align-items:center;gap:0;border:1px solid var(--ink);border-radius:999px;overflow:hidden;flex:none}
.stepper button{width:44px;height:40px;border:0;background:#fff;font-size:1.3rem;line-height:1}
.stepper button:disabled{color:#bbb;cursor:not-allowed}
.stepper output{min-width:34px;text-align:center;font-weight:700;font-size:1.1rem}
.times-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.times-nav a,.times-nav span{padding:7px 16px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:500}
.times-nav .on{background:var(--ink);color:#fff;border-color:var(--ink)}
.times-nav .off{color:#aaa}

/* the viewing-page tab: one switch for every date, and the ledger ours + elsewhere = total */
.vseg{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 18px}
.vseg button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font:500 .95rem Rubik,Heebo,sans-serif;color:var(--muted)}
.vseg button:hover{border-color:#bdbdbd;color:var(--ink)}
.vseg button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ledger{display:flex;align-items:flex-start;gap:clamp(8px,2.4vw,22px);flex-wrap:wrap}
.ledger .term{display:flex;flex-direction:column;margin:0;min-width:0}
.ledger .term b{font:500 2.6rem/1 Rubik,Heebo,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;padding:6px 0}
.ledger .term input{width:5.2ch;margin:0;padding:4px 8px;font:500 2.6rem/1 Rubik,Heebo,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;border:1px solid #bdbdbd;border-radius:10px;-moz-appearance:textfield}
.ledger .term input::-webkit-inner-spin-button{-webkit-appearance:none}
.ledger .term span{font-size:.9rem;margin-top:8px;line-height:1.35}
.ledger .term small{color:var(--muted);font-size:.78rem}
.ledger .term.total{padding:0;font-size:inherit;font-weight:inherit;justify-content:flex-start}
.ledger .term.total b{border-bottom:3px solid var(--ink)}
.ledger i{font:400 2rem/1 Rubik,Heebo,sans-serif;font-style:normal;color:#b5b5b5;padding-top:14px}

/* the admin's home page (/admin): attention first, then every evening, then the latest sales */
.home{background:#fff}
.hbar{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:16px 32px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:#fff}
.hbar .mark{font:500 13px/1.25 Rubik,sans-serif;letter-spacing:.04em;text-decoration:none;flex:none}
.hnav{display:flex;gap:22px;flex-wrap:wrap}
.hnav a{font:500 .95rem Rubik,Heebo,sans-serif;color:var(--muted);text-decoration:none}
.hnav a:hover{color:var(--ink)}
.hlinks{display:flex;gap:6px;flex-wrap:wrap;margin-inline-start:auto}
.hwrap{max-width:1120px;margin:0 auto;padding:30px 32px 60px}
.hhead h1{font-size:1.9rem;margin:0}
.hhead p{margin:4px 0 0}
.hsec{margin-top:40px}
.hsec>h2{font-size:1.25rem;margin:0 0 14px;display:flex;align-items:center;gap:10px}
.hsec .cnt{font:500 .8rem Heebo,sans-serif;background:var(--ink);color:#fff;border-radius:999px;padding:1px 9px}
.calm{color:var(--muted);margin:0}
.att{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.att li{display:flex;gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}
.att a{text-decoration:none}.att a:hover{text-decoration:underline}
.att .lv{flex:none;width:58px;font-size:.78rem;font-weight:500;border-radius:999px;text-align:center;padding:1px 0}
.att .lv-act .lv{background:var(--red);color:#fff}
.att .lv-check .lv{background:#fff4d6;color:#7a5200;box-shadow:inset 0 0 0 1px #f0d48a}
.att .lv-info .lv{background:var(--soft);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.att .lv-info a,.att .lv-info span{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:18px}
.hcard{border:1px solid var(--line);border-radius:14px;padding:22px 24px 18px}
.hcard.past{opacity:.6}
.hcard .eyebrow{margin:0;font-size:.88rem;color:var(--muted)}
.hcard .eyebrow b{color:var(--ink);font-weight:500}
.hcard h3{font:500 1.6rem/1.2 Rubik,Heebo,sans-serif;margin:4px 0 16px}
.hcard .ledger .term b{font-size:2.4rem}
.htimes{width:100%;border-collapse:collapse;margin-top:16px;font-size:.92rem}
.htimes th,.htimes td{text-align:right;padding:9px 0;border-top:1px solid var(--line);vertical-align:middle}
.htimes th{font:500 .95rem Rubik,Heebo,sans-serif;width:64px}
.htimes th a{text-decoration:none}
.htimes td.num{white-space:nowrap;padding-inline-end:14px;font-variant-numeric:tabular-nums}
.htimes td.alloc{width:46%}
.htimes .out{color:var(--ink);font-weight:500}
.meter{display:flex;height:9px;border-radius:5px;overflow:hidden;background:#ececea;margin-bottom:4px}
.meter i{display:block;height:100%}
.meter .b-sold,.hlegend .b-sold{background:var(--ink)}
.meter .b-pend{background:var(--amber)}
.meter .b-hall,.hlegend .b-hall{background:#7a7a7a}
.meter .b-open,.hlegend .b-open{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
.hlegend .b-rest{background:#ececea}
.hall{margin-top:16px}
.meter.wide{height:12px}
.hlegend{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;font-size:.88rem}
.hlegend li{display:flex;align-items:center;gap:8px}
.hlegend i{flex:none;width:11px;height:11px;border-radius:3px}
.hlegend b{margin-inline-start:auto;font-variant-numeric:tabular-nums}
.facts{margin:16px 0 12px;font-size:.88rem;color:var(--muted)}
.hrec td,.hrec th{white-space:nowrap}
.hrec td:last-child{white-space:normal}
@media(max-width:820px){
  .hbar{padding:12px 16px;gap:12px;position:static}
  .hlinks{margin-inline-start:0}
  .hwrap{padding:20px 16px 48px}
  .hcard{padding:18px 16px 14px}
  .hlegend{grid-template-columns:1fr}
  .htimes td.alloc{width:auto}
  .hrec{display:block;overflow-x:auto}
}

/* the seat-map order page (/ulysses): where a campaign click lands. The ensemble's own language, as on the
   Miniatures landing page: a dark show panel with Heebo Medium titles and a photo from the stage, square buttons with
   thin borders, black for what is chosen. The one nod to the Jaffa Theatre is its peach (#FFDAB1): the date and the stage.
   how many tickets → the best seats together → price per seat → details → payment. */
.seated{--night:#0f0f0f;--peach:#FFDAB1;--rule:#dcdcdc}
.seated h1,.seated h2,.seated h3{font-family:Heebo,Arial,sans-serif;font-weight:500}
.seated header.show.hero{background:var(--night);color:#fff;padding:0;margin:0;border:0;display:block}
.seated .hero-in{max-width:1100px;margin:0 auto;padding:44px 20px 48px;display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
.seated .with-img .hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.seated .hero-text{min-width:0}
.seated .heroimg{margin:0;background:#1b1b1b}
.seated .heroimg img{display:block;width:100%;height:auto;border-radius:0;aspect-ratio:1200/630;object-fit:cover;object-position:50% 45%}
.seated .heroimg.square img{aspect-ratio:4/3}
.seated .kicker{color:#d6d6d6;font-size:1rem;font-weight:300;margin:0 0 12px}
.seated .hero h1{color:#fff;font-size:clamp(2.4rem,4.6vw,3.4rem);line-height:1.12;letter-spacing:-1px;margin:0 0 18px}
.seated .hero .when{margin:0 0 10px}
.seated .datechip{display:inline-block;background:var(--peach);color:var(--night);font-weight:500;font-size:1rem;padding:6px 14px}
.seated .datechip .dp{white-space:nowrap}
.seated .datechip i{font-style:normal}
.seated .hero .venue{color:#bdbdbd;font-size:.95rem;font-weight:300;margin:0}
.seated .q{margin:0}
.seated .q p{margin:0}
.seated .q cite{display:block;font-style:normal;font-size:.85rem;margin-top:6px}
.seated .q-hero{margin-top:26px;padding-right:16px;border-right:2px solid var(--peach);max-width:560px}
.seated .q-hero p{color:#fff;font-size:1.12rem;font-weight:300;line-height:1.5}
.seated .q-hero cite{color:#d6d6d6}
.seated .wrap.body{padding-top:28px}
.seated .layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start}
.seated .side{position:sticky;top:12px}
.seated .panel{position:static;border:1px solid var(--rule);border-radius:0;padding:18px;background:#fff}
.seated .panel h2{font-size:1.2rem}
.seated .map .stage{fill:var(--night);stroke:var(--night)}
.seated .map .stage-label{fill:var(--peach);font-family:Heebo,sans-serif;font-weight:500}
.seated .legend .k-av{background:var(--green)}
.seated .legend .k-sel{background:var(--ink)}
.seated .legend .k-na{background:#e6e6e6}
.seated input[type=text],.seated input[type=tel],.seated input[type=email]{border-radius:0;border-color:#aaa}
/* how many tickets */
.seated .qpick{border:1px solid var(--rule);padding:16px 18px;margin:0 0 16px;background:#fff}
.seated .pick-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px}
.seated .pick-head h2{font-size:1.4rem;margin:0}
.seated .prices{display:flex;flex-wrap:wrap;gap:2px 14px;margin:0;font-size:.92rem;color:var(--muted)}
.seated .prices b{color:var(--ink);font-weight:500;font-size:1.05rem}
.seated .qn{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 10px}
.seated .qn button{height:52px;border:1px solid #aaa;border-radius:0;background:#fff;font:500 1.45rem Heebo,Arial,sans-serif;transition:background .15s,color .15s}
.seated .qn button:hover:not(:disabled){border-color:var(--ink)}
.seated .qn button[aria-pressed=true],.seated .qn button[aria-pressed=true]:hover{background:#151515;border-color:#151515;color:#fff}
.seated .qn button:disabled{border-color:#e4e4e4;color:#c8c8c8;cursor:not-allowed}
.seated .pickmsg{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5}
.seated .left{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:.88rem;font-weight:500}
.seated .left::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--amber)}
/* the order */
.seated .hint{margin:0}
.seated .seatlines li{display:block;padding:10px 0}
.seated .sl-top{display:flex;align-items:center;gap:10px}
.seated .seatname{flex:1;font-weight:500}
.seated .popts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.seated .popt{border:1px solid #aaa;border-radius:0;background:#fff;padding:6px 12px;font-size:.88rem}
.seated .popt:hover{border-color:var(--ink)}
.seated .popt[aria-pressed=true]{background:#151515;border-color:#151515;color:#fff}
.seated #buy{margin-top:4px}
.seated button.go{width:100%;padding:14px 16px;font-size:1.05rem;font-weight:500;border-radius:0;background:#111;border-color:#111}
.seated #buy.sending button.go:disabled{opacity:1;cursor:progress;position:relative;overflow:hidden;font-size:.98rem}
.seated #buy.sending button.go::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,transparent,#fff,transparent);background-size:40% 100%;background-repeat:no-repeat;animation:go-wait 1.2s linear infinite}
@keyframes go-wait{from{background-position:-40% 0}to{background-position:140% 0}}
@media (prefers-reduced-motion:reduce){.seated #buy.sending button.go::after{animation:none;background:#fff;opacity:.5}}
.seated .assure{margin:10px 0 0;font-size:.85rem;color:var(--muted);line-height:1.5}
/* about the show */
.seated .aboutsec{max-width:760px;margin:48px 0 0;padding-top:28px;border-top:1px solid var(--rule)}
.seated .aboutsec h2{font-size:1.5rem}
.seated .abouttext p{margin:0 0 1em;font-weight:300;font-size:1.05rem;line-height:1.65}
.seated .quotes{display:grid;gap:18px;margin-top:22px}
.seated .quotes .q{padding-right:14px;border-right:2px solid var(--ink)}
.seated .quotes .q p{font-size:1.05rem;font-weight:300}
.seated .quotes cite{color:var(--muted)}
.seated .evinfo{margin:28px 0 0}
.seated .mbar .btn{padding:10px 22px;font-weight:500;border-radius:0}
@media(max-width:820px){
  /* as on the Miniatures landing page: the title beside a photo from the stage, the rest under them */
  .seated .hero-in,.seated .with-img .hero-in{grid-template-columns:minmax(0,1fr);gap:0;padding:22px 16px 22px}
  .seated .with-img .hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"k i" "t i" "w i" "v v" "q q";padding:0}
  .seated .with-img .hero-text{display:contents}
  .seated .with-img .kicker{grid-area:k;padding:20px 16px 0}
  .seated .with-img h1{grid-area:t;padding:0 16px}
  .seated .with-img .when{grid-area:w;padding:0 16px 18px;margin:0}
  .seated .with-img .venue{grid-area:v;padding:12px 16px 0}
  .seated .with-img .q-hero{grid-area:q;margin:14px 16px 20px}
  .seated .heroimg{grid-area:i;position:relative;min-height:190px}
  .seated .heroimg img,.seated .heroimg.square img{position:absolute;inset:0;height:100%;aspect-ratio:auto;object-position:50% 40%}
  .seated .kicker{font-size:.8rem;margin-bottom:8px}
  .seated .hero h1{font-size:2.15rem;letter-spacing:0;margin-bottom:12px}
  .seated .datechip{font-size:.88rem;padding:6px 10px;line-height:1.45}
  .seated .with-img .datechip .dp{display:block}
  .seated .with-img .datechip i{display:none}
  .seated .hero .venue{font-size:.85rem}
  .seated .q-hero p{font-size:1rem}
  .seated .wrap.body{padding:16px 12px 96px}
  .seated .layout{display:flex;flex-direction:column;gap:16px}
  .seated .side{display:contents}
  .seated .qpick{order:-1;margin:0;padding:14px 14px 12px}
  .seated .pick-head h2{font-size:1.25rem}
  .seated .prices{font-size:.85rem}
  .seated .prices b{font-size:1rem}
  .seated .qn{gap:8px;margin:12px 0 8px}
  .seated .qn button{height:46px;font-size:1.3rem}
  .seated .pickmsg,.seated .left{font-size:.85rem}
  .seated .left{margin-top:8px}
  .seated .aboutsec{margin-top:32px}
}
/* a sale pasted from Jaffa's TicketTool (admin, tab "סנכרון עם יפו") */
#hallText{font-size:.86rem;min-height:110px}
.hallprev{margin-top:12px;border-color:#9e9e9e}
.hallbuyer{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 10px;margin-top:8px}
.hallbuyer label{margin-bottom:6px}
.tblwrap{overflow-x:auto}
@media(max-width:900px){.adm{grid-template-columns:minmax(0,1fr)}}
.hallwho{overflow-wrap:anywhere}.hallwho [dir=ltr]{text-align:right}
.hallrep{margin:6px 0 2px}
