/* Layout: app shell — branded header, tab bar, one working view at a time; cards only for things a person acts on */
:root{
  --paper:#f4eee3; --card:#fffbf3; --field:#ffffff; --ink:#48312c; --muted:#7a675e; --line:#ddd0bd;
  --burgundy:#4b1f52; --burgundy-soft:#efe4f0; --green:#5f7a50; --green-soft:#e3ead9;
  --sage:#a9b896; --heart:#d79a7c;
  --gold:#a87a22; --gold-soft:#f5ead0; --red:#a3281c; --red-soft:#f6dcd7;
  --stitch:#c4ad8f;
  --script:"Dancing Script","Segoe Script","Bradley Hand",cursive; --display:"Libre Baskerville",Georgia,serif; --body:"DM Sans","Segoe UI",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#1f1a18; --card:#2a2321; --field:#14110f; --ink:#f1e8dd; --muted:#b5a79c; --line:#4a3f3a;
  --burgundy:#d7a6dc; --burgundy-soft:#3d2840; --green:#a9c495; --green-soft:#2f3a2c; --sage:#4a5641; --heart:#c98a6c;
  --gold:#e0b65c; --gold-soft:#433822; --red:#f08b7d; --red-soft:#4b2723; --stitch:#6b5a4d; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#1f1a18; --card:#2a2321; --field:#14110f; --ink:#f1e8dd; --muted:#b5a79c; --line:#4a3f3a;
  --burgundy:#d7a6dc; --burgundy-soft:#3d2840; --green:#a9c495; --green-soft:#2f3a2c; --sage:#4a5641; --heart:#c98a6c;
  --gold:#e0b65c; --gold-soft:#433822; --red:#f08b7d; --red-soft:#4b2723; --stitch:#6b5a4d; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--paper);background-image:radial-gradient(circle at 20% 10%,rgba(185,138,46,.06),transparent 40%),radial-gradient(circle at 85% 70%,rgba(79,107,74,.06),transparent 45%);background-attachment:fixed;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header.brand{border-bottom:1px solid var(--line);padding-block:16px 0}
.brandrow{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;justify-content:space-between}
.brand h1{font-family:var(--display);font-weight:700;font-size:1.5rem;margin:0;color:var(--burgundy);text-wrap:balance}
.brand .sub{color:var(--muted);font-size:.95rem}
.proto{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;background:var(--gold-soft);color:var(--ink);border:1px dashed var(--gold);padding:3px 8px;border-radius:4px}
nav.tabs{display:flex;gap:4px;margin-top:14px;overflow-x:auto}
nav.tabs button{font:inherit;font-weight:700;border:0;background:none;color:var(--muted);padding:10px 14px;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}
nav.tabs button[aria-selected="true"]{color:var(--burgundy);border-bottom-color:var(--burgundy)}
nav.tabs button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}
main{padding-block:24px 64px}
h2{font-family:var(--display);font-weight:700;font-size:1.4rem;margin:0 0 4px;text-wrap:balance;color:var(--burgundy)}
h3{font-family:var(--display);font-size:1.2rem;margin:0 0 8px}
.lede{color:var(--muted);margin:0 0 20px;max-width:65ch}
.grid{display:grid;gap:16px}
.events{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;position:relative;min-width:0}
.card.stitched{outline:1.5px dashed var(--stitch);outline-offset:-7px}
.ev-name{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--burgundy);line-height:1.25;margin:0 0 4px}
.meta{color:var(--muted);font-size:.92rem}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.between{justify-content:space-between}
.pill{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.p-open{background:var(--green-soft);color:var(--green)}
.p-paused{background:var(--gold-soft);color:var(--gold)}
.p-draft{background:var(--burgundy-soft);color:var(--burgundy)}
.p-sold{background:var(--red-soft);color:var(--red)}
.p-ok{background:var(--green-soft);color:var(--green)}
.p-miss{background:var(--red-soft);color:var(--red)}
.sample{font-family:var(--mono);font-size:.68rem;color:var(--gold);border:1px dashed var(--gold);border-radius:3px;padding:0 4px;margin-left:6px;white-space:nowrap}
.btn{font:inherit;font-weight:700;border-radius:6px;padding:9px 14px;cursor:pointer;border:1.5px solid var(--burgundy);background:var(--burgundy);color:var(--card)}
.btn.ghost{background:transparent;color:var(--burgundy)}
.btn.green{background:var(--green);border-color:var(--green)}
.btn.small{padding:5px 10px;font-size:.88rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
.meter{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:6px}
.meter i{display:block;height:100%;background:var(--green)}
.meter i.full{background:var(--red)}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.94rem}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;background:var(--paper)}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
input,select,textarea{font:inherit;color:var(--ink);background:var(--field);border:1px solid var(--muted);border-radius:6px;padding:8px 10px;width:100%}
input.tiny{width:84px;padding:4px 8px;text-align:right;font-variant-numeric:tabular-nums}
label.f{display:grid;gap:4px;font-weight:700;font-size:.92rem}
label.f span.hint{font-weight:400;color:var(--muted);font-size:.85rem}
.form{display:grid;gap:14px}
.two{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.notice{border-left:4px solid var(--green);background:var(--green-soft);padding:12px 14px;border-radius:0 6px 6px 0}
.notice.warn{border-color:var(--gold);background:var(--gold-soft)}
.notice.err{border-color:var(--red);background:var(--red-soft)}
.steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 18px;padding:0;list-style:none}
.steps li{font-size:.85rem;padding:4px 10px;border-radius:999px;background:var(--line);color:var(--muted)}
.steps li.on{background:var(--burgundy);color:var(--card)}
.steps li.done{background:var(--green-soft);color:var(--green)}
.boothopt{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.boothopt:last-child{border-bottom:0}
.price{font-variant-numeric:tabular-nums;font-weight:700}
.doc{background:#fffef9;color:#1d1d1d;border:1px solid #bdb6a8;padding:22px;font-family:var(--body);max-width:720px;box-shadow:0 2px 0 #e6dfd0}
.doc h4{font-family:var(--display);margin:0;font-size:1.15rem}
.doc .fld{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:4px 12px;border-bottom:1px solid #d9d2c4;padding:6px 0;font-size:.92rem}
.doc .fld b{color:#555;font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.doc .sig{font-family:"Alegreya",serif;font-style:italic;font-size:1.4rem}
.doc .wm{font-family:var(--mono);font-size:.7rem;color:#8a5a00;border:1px dashed #b98a2e;padding:4px 8px;display:inline-block;margin-bottom:10px}
.bizgrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.biz{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px 14px;border:1.5px dashed var(--stitch);border-radius:10px;cursor:pointer;background:var(--paper);position:relative}
.biz b{display:block;line-height:1.25}
.biz .meta{display:block;font-size:.86rem;line-height:1.35;margin-top:2px}
.biz input{position:absolute;opacity:0;pointer-events:none}
.biz:has(input:checked){border-style:solid;border-color:var(--burgundy);background:var(--burgundy-soft)}
.biz:has(input:focus-visible){outline:2px solid var(--green);outline-offset:2px}
.badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1.5px dashed var(--green);color:var(--green)}
.biz:has(input:checked) .badge{border-color:var(--burgundy);color:var(--burgundy)}
.ico{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tagline{font-family:var(--script);font-weight:700;font-size:1.45rem;color:var(--green);line-height:1.1}
.logo{display:flex;align-items:center;gap:12px}
.logo .sun{width:52px;height:52px;flex:none}
.band{background:var(--sage);color:var(--ink);position:relative;margin-top:16px}
.band::before,.band::after{content:"";position:absolute;left:0;right:0;height:8px;background:inherit;
  -webkit-mask:radial-gradient(circle at 6px 0,transparent 5px,#000 5.5px) 0 0/12px 8px repeat-x;mask:radial-gradient(circle at 6px 0,transparent 5px,#000 5.5px) 0 0/12px 8px repeat-x}
.band::before{top:-7px;transform:scaleY(-1)}
.band::after{bottom:-7px}
.band .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;padding-block:8px}
.band span{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.band svg{width:26px;height:26px;border-radius:50%;background:var(--card);padding:4px;stroke:var(--burgundy);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sprig{display:block;width:120px;height:18px;margin:6px 0 14px;color:var(--stitch)}
.portal{max-width:680px}
.phead{margin:16px 0 4px;padding:16px;border:1.5px dashed var(--stitch);border-radius:10px;background:var(--card)}
.phead h2{margin-bottom:6px}
.psec{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:14px}
.psec h3{color:var(--burgundy);font-size:1.12rem}
.verbatim{white-space:pre-wrap;font-family:var(--body)}
.ann{border-left:3px solid var(--heart);padding:6px 0 6px 10px;margin-top:8px}
.reqs{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}
.reqs li{background:var(--paper);border-radius:6px;padding:8px 10px}
.big{font-size:1.15rem;margin:0 0 4px}
.mapph{border:1.5px dashed var(--stitch);border-radius:8px;padding:12px;text-align:center;color:var(--muted);background:var(--paper)}
.mapph svg{width:100%;max-width:320px;display:block;margin:0 auto 6px;color:var(--green)}
.textlink{color:var(--burgundy);font-weight:700}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.thumbs figure{position:relative;margin:0;width:84px;height:84px}
.thumbs img{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.thumbs .x{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);cursor:pointer;font-weight:700}
.consent{align-items:flex-start;gap:10px;margin:12px 0;background:var(--paper);padding:10px;border-radius:6px}
.shares{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.shares div{aspect-ratio:1;max-width:100%;border:1.5px dashed var(--stitch);border-radius:8px;display:grid;place-items:center;text-align:center;font-size:.8rem;color:var(--muted);padding:4px}
.acct{position:relative}
.acct summary{list-style:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;font-weight:700;max-width:calc(100% - 32px)}
.check{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.check:last-child{border-bottom:0}
.mark{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800}
.mark.pass{background:var(--green-soft);color:var(--green)}
.mark.fail{background:var(--red-soft);color:var(--red)}
.mark.wait{background:var(--line);color:var(--muted)}
.mono{font-family:var(--mono);font-size:.85rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.94rem}
.kv dt{color:var(--muted)} .kv dd{margin:0}
details summary{cursor:pointer;font-weight:700;color:var(--burgundy)}
@media (prefers-reduced-motion:no-preference){.toast{animation:up .25s ease-out}@keyframes up{from{transform:translate(-50%,8px);opacity:0}}}

/* ---------- Additions for the live site ---------- */
html{-webkit-text-size-adjust:100%}
body{margin:0}
a{color:var(--burgundy)}
.logo{text-decoration:none;color:inherit}
.toplinks{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}
.toplinks a{font-weight:700;text-decoration:none;color:var(--muted);padding:6px 0;border-bottom:2px solid transparent}
.toplinks a[aria-current="page"]{color:var(--burgundy);border-bottom-color:var(--burgundy)}
.toplinks a:hover{color:var(--burgundy)}
.foot{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;color:var(--muted);font-size:.9rem;padding-block:20px 40px;border-top:1px solid var(--line);margin-top:24px}
.narrow{max-width:520px}
.loading{color:var(--muted);padding:32px 0;display:flex;gap:10px;align-items:center}
.loading::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--burgundy);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.req{color:var(--red)}
.summary-total td{font-size:1.05rem}
.btn.danger{background:transparent;border-color:var(--red);color:var(--red)}
.btn.link{background:none;border:0;color:var(--burgundy);padding:4px 0;text-decoration:underline}
.flag{display:inline-block;margin-top:4px}
.subtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 18px;overflow-x:auto}
.subtabs button{font:inherit;font-weight:700;border:0;background:none;color:var(--muted);padding:10px 12px;border-bottom:3px solid transparent;cursor:pointer;white-space:nowrap}
.subtabs button[aria-selected="true"]{color:var(--burgundy);border-bottom-color:var(--burgundy)}
.edit td input,.edit td select{min-width:70px}
.edit td input.wide{min-width:180px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips label{display:inline-flex;gap:4px;align-items:center;font-size:.85rem;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:2px 8px;white-space:nowrap}
.chips input{width:auto}
.schedrow{display:grid;grid-template-columns:minmax(120px,1fr) 2fr auto;gap:8px;margin-bottom:8px}
.savebar{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:12px 0;margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;z-index:3}
@media (max-width:560px){
  .brand h1{font-size:1.2rem}
  .logo .sun{width:42px;height:42px}
  .tagline{font-size:1.2rem}
  .schedrow{grid-template-columns:1fr}
  .doc .fld{grid-template-columns:1fr}
}
@media print{header.brand,.foot,.btn,nav{display:none!important}body{background:#fff}}

/* ---------- Show artwork: homepage boxes, page banners, themed backgrounds ---------- */
.showboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;max-width:960px;margin:0 auto}
.showbox{all:unset;box-sizing:border-box;position:relative;display:block;cursor:pointer;border-radius:14px;transition:transform .15s ease,filter .15s ease}
.showbox img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 10px rgba(72,49,44,.22))}
.showbox:hover:not(:disabled){transform:translateY(-3px) rotate(-.3deg)}
.showbox:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.showbox:disabled{cursor:not-allowed}
.showbox:disabled img{filter:grayscale(.55) opacity(.75)}
.ribbon{position:absolute;top:18px;right:-6px;background:var(--red);color:#fff;font-family:var(--display);font-weight:700;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;padding:6px 14px;border-radius:4px 0 0 4px;box-shadow:0 2px 4px rgba(0,0,0,.25)}
.showbanner{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 4px 14px rgba(72,49,44,.25);margin:4px 0 14px}
body.themed::before{content:"";position:fixed;inset:-20px;background:var(--paper) var(--show-bg) center/cover no-repeat;filter:blur(5px);pointer-events:none;z-index:0}
body.themed > :not(.toast){position:relative;z-index:1}
body.themed header.brand,body.themed .foot{background:var(--paper)}
body.themed .foot{margin-top:0;padding-inline:16px;border-radius:10px 10px 0 0}
.paperpanel{background:var(--paper);border-radius:12px;padding:18px clamp(14px,3vw,28px) 24px;box-shadow:0 6px 24px rgba(0,0,0,.25);max-width:900px;margin:0 auto}
.signin{max-width:420px}
.signin .fine{font-size:.78rem;margin:0}
.codebox{font-family:var(--mono);font-size:1.4rem;letter-spacing:.3em;max-width:200px}
.artgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.art{display:grid;gap:6px;align-content:start;background:var(--paper);border:1px dashed var(--stitch);border-radius:8px;padding:10px}
.artprev{aspect-ratio:4/3;display:grid;place-items:center;background:var(--card);border-radius:6px;overflow:hidden}
.artprev img{width:100%;height:100%;object-fit:contain}
.art input[type=file]{font-size:.8rem;padding:4px}
@media (max-width:640px){.showboxes{grid-template-columns:1fr;gap:22px}}
.showhead.compact{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:6px 20px;align-items:center;margin-bottom:6px}
.showhead.compact .showbanner{margin:0}
.showhead.compact .lede{margin-bottom:0}
@media (max-width:560px){.showhead.compact{grid-template-columns:1fr}.showhead.compact .showbanner{max-width:240px}}
.showbanner{max-height:520px;width:auto;max-width:100%;margin-inline:auto;object-fit:contain}
.showhead.compact .showbanner{max-height:200px;margin-inline:0}

/* ---------- Sunrise branding from the original site ---------- */
body{background-image:linear-gradient(rgba(244,238,227,.5),rgba(244,238,227,.5)),url(../brand/paper.webp);background-size:auto,100% auto;background-repeat:repeat-y}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body{background-image:none}}
:root[data-theme="dark"] body{background-image:none}
header.brand{padding-block:10px;border-bottom:0;background:rgba(255,251,243,.72)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) header.brand{background:var(--card)}}
:root[data-theme="dark"] header.brand{background:var(--card)}
.brandrow{align-items:center}
.logo img{display:block;height:auto;width:clamp(150px,22vw,210px)}
.toplinks{gap:6px 20px}
.toplinks a{display:inline-flex;align-items:center;gap:8px}
.portal-link img{width:34px;height:34px;border-radius:50%}
.hero{position:relative;display:grid;place-items:center;overflow:hidden;max-height:680px;aspect-ratio:1800/760}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-sign{position:relative;width:min(860px,90%);max-height:94%;object-fit:contain;height:auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.bandimg{line-height:0;margin-top:-8px;position:relative;z-index:1}
.bandimg img{width:100%;height:auto;min-height:60px;object-fit:cover}
.band{display:none}
.center{text-align:center;margin-inline:auto}
.center .sprig{margin-inline:auto}
@media (max-width:760px){
  .bandimg{display:none}
  .band{display:block;margin-top:0}
  .hero{aspect-ratio:4/3}
  .hero-sign{width:94%}
}
/* portal & admin additions */
.card.muted{opacity:.75}
details.past > summary{font-family:var(--display);font-size:1.1rem;color:var(--ink)}
.filt{min-width:130px;font-size:.85rem}
.filt select{padding:6px 8px}
.releasebar{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;align-items:center;background:var(--gold-soft);border:1px solid var(--gold);border-radius:8px;padding:12px 14px}
.releasebar.on{background:var(--green-soft);border-color:var(--green)}
.releasebar > div:first-child{min-width:0;flex:1 1 280px;display:grid;gap:2px}
.cancelrow td{background:var(--paper)}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}
fieldset.plain legend{font-weight:700;font-size:.92rem;padding:0;margin-bottom:6px}
.bizgrid.tight{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.biz.small{grid-template-columns:1fr;padding:10px 12px;text-align:center}
.meta.setup{margin-top:4px}

/* desktop review, Oct 29 */
h2.bighead{font-size:clamp(1.9rem,3.2vw,2.5rem)}
.allshows{display:inline-block;margin:2px 0 10px;font-weight:600;text-decoration:none}
.allshows:hover{text-decoration:underline}
input:focus,select:focus,textarea:focus{outline:2px solid var(--burgundy);outline-offset:1px}
#printarea{display:none}
@media print{
  body.printing > *:not(#printarea){display:none !important}
  body.printing #printarea{display:block}
  #printarea .doc{box-shadow:none;border:0;max-width:none;page-break-after:always;break-after:page}
}
[hidden]{display:none !important}

/* ---------- mobile review, Oct 29 ---------- */
/* #1 green banner on phones: two even, centered columns */
@media (max-width:760px){
  .band .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));justify-content:center;column-gap:22px;row-gap:10px;padding-block:12px}
  .band span{font-size:.72rem;line-height:1.25}
}
/* #2 homepage flyers with their facts and a "More Details" button in each flyer's colour */
.showcard{display:grid;gap:12px;align-content:start}
a.showbox{text-decoration:none}
.showbox-name{display:grid;place-items:center;min-height:180px;padding:20px;border-radius:14px;background:var(--accent,var(--burgundy));color:#fff;font-family:var(--display);font-size:1.3rem;text-align:center}
.showfacts{text-align:center;display:grid;gap:4px;justify-items:center}
.showfacts p{margin:0}
.sf-date{font-family:var(--display);font-weight:700;font-size:1.2rem;color:var(--ink)}
.sf-time{font-size:1.05rem;font-weight:600}
.sf-place{font-size:1rem}.sf-place span{color:var(--muted);font-size:.95rem}
.detailsbtn,.accentbtn{background:var(--accent,var(--burgundy));border-color:var(--accent,var(--burgundy));color:#fff;margin-top:8px}
.detailsbtn:hover,.accentbtn:hover{filter:brightness(1.1)}
@media (max-width:760px){.showboxes{grid-template-columns:1fr;gap:34px}}
/* #3 each show's own page */
.showflyer{display:block;width:100%;max-width:760px;height:auto;margin:6px auto 0;border-radius:12px;box-shadow:0 6px 18px rgba(72,49,44,.22)}
.showdesc{max-width:640px;margin:10px auto 18px;text-align:center;font-size:1.05rem;line-height:1.6}
.factgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 16px}
.fact{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:2px}
.fact>span{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fact b{font-family:var(--display);font-size:1.05rem}
.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px;align-items:flex-start}
.actions .accentbtn{font-size:1.05rem;padding:12px 22px;margin-top:0}
.calmenu{position:relative}
.calmenu summary{list-style:none;cursor:pointer}.calmenu summary::-webkit-details-marker{display:none}
.calopts{display:grid;gap:6px;margin-top:8px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:220px}
/* #7 compact event facts on the registration page */
.evfacts{margin-bottom:12px}
.evbox{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--burgundy);border-radius:10px;padding:12px 14px}
.evname{display:block;font-family:var(--display);color:var(--burgundy);font-size:1.1rem;margin-bottom:6px}
.kv.tight{margin:0;row-gap:2px}
/* #13 what they've picked so far */
.regsum{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.85rem;background:var(--green-soft);border-radius:10px;padding:8px 10px;margin:0 0 12px}
.regsum span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:2px 10px}
/* #11 scrolled-to sections stay clear of the top of the screen */
.nextblock{scroll-margin-top:16px}
/* radio / checkbox rows: box lines up with the first line of text */
.addon,.agree,.taxopt{display:flex;align-items:flex-start;gap:10px;padding:6px 0}
.addon input,.agree input,.taxopt input{width:auto;margin-top:4px;flex:none}
.agree{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0}
/* #18-20 Minnesota Vendor Tax Information: looks like its own official document */
.taxdoc{background:#fffefb;color:#1d1d1d;border:1.5px solid var(--burgundy);border-radius:4px;padding:20px 18px;box-shadow:0 3px 0 #e6dfd0;font-family:var(--body)}
.taxdoc .taxhead{border-bottom:2px solid var(--burgundy);padding-bottom:12px;margin-bottom:6px}
.taxdoc .taxreq{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--burgundy);padding:3px 8px;border-radius:3px}
.taxdoc h3{font-family:var(--display);font-size:1.25rem;color:#2b1a2e;margin:10px 0 6px}
.taxdoc .taxhead p{margin:0 0 8px;font-size:.95rem}
.taxdoc section{display:grid;gap:10px;padding:12px 0;border-bottom:1px solid #e3d9cf}
.taxdoc section:last-child{border-bottom:0}
.taxdoc h4{font-family:var(--display);font-size:1rem;margin:0;color:var(--burgundy)}
.taxdoc input:not([type=radio]):not([type=checkbox]){background:#fff;border:1px solid #8c7d72;border-radius:3px}
.taxfixed{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:8px;font-size:.92rem;padding:6px 10px;background:#f4f1ea;border-radius:3px}
.taxfixed span{color:#6a5a52;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.taxdoc .sigline{font-family:"Alegreya",Georgia,serif;font-style:italic;font-size:1.15rem;border-width:0 0 1.5px 0 !important;border-radius:0 !important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .taxdoc{background:#fffefb;color:#1d1d1d}}
a.btn{text-decoration:none}
.shoplist{margin:0;padding-left:20px;display:grid;gap:6px}
@media (max-width:760px){
  .actions{flex-direction:column;align-items:stretch}
  .actions .btn,.calmenu summary{width:100%;text-align:center;justify-content:center}
  .actions .accentbtn{order:-1}
}
.addon,.agree,.taxopt{flex-wrap:nowrap}
.addon span,.agree span,.taxopt span{flex:1;min-width:0}
.evthumb{display:block;width:100%;max-width:420px;aspect-ratio:1.91/1;object-fit:cover;border-radius:8px;margin:0 auto 10px}
@media (max-width:760px){.showpage .showflyer{width:calc(100% + 24px);max-width:none;margin-left:-12px;border-radius:8px}}

/* ---------- each show's own designed page (show.html, page_theme) ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body[data-theme]{background:#1b1b1b}
body[data-theme]::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--tbg-body) center/cover no-repeat}
body[data-theme=willmar]{--tbg-body:url("shows/willmar-bg.jpg")}
body[data-theme=holidazzle]{--tbg-body:url("shows/holidazzle-bg.jpg")}
body[data-theme=rosemount]{--tbg-body:url("shows/rosemount-bg.jpg")}
main.twrap{max-width:1180px;padding-top:12px}
.tshow{--r:16px;position:relative;font-family:"Merriweather",Georgia,serif;color:var(--tink);background:var(--tpaper);border-radius:var(--r);overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35);border:3px solid var(--tframe)}
.tback{display:inline-block;margin:0 0 10px;background:rgba(255,255,255,.94);color:#2a2a2a;padding:6px 12px;border-radius:999px;font-family:var(--body);font-weight:700;font-size:.9rem;text-decoration:none;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.thero img{display:block;width:100%;height:auto}
.tbody{padding:22px 28px 30px;display:grid;gap:20px;background:var(--tpaper)}
.tbody svg{width:1em;height:1em;flex:none}
.tfacts{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px}
.tdates{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--date-bg);color:var(--date-ink);border:2px solid var(--tframe);border-radius:12px;padding:16px 18px;flex-wrap:wrap}
.tdate{display:flex;align-items:center;gap:12px}
.tdate>svg,.tplace>svg{font-size:2.6rem;color:var(--icon-ink,currentColor);background:var(--icon-bg,transparent);border-radius:50%;padding:var(--icon-pad,0);box-sizing:content-box}
.tday{display:block;font-size:1.3rem;font-weight:900;line-height:1.15}
.tmd{display:block;font-size:1.3rem;font-weight:900;line-height:1.15;color:var(--date-em,inherit)}
.ttime{display:block;font-size:1.05rem;font-weight:700;margin-top:2px}
.tand{font-family:"Dancing Script",cursive;font-size:2rem;font-weight:700;color:var(--c1);padding:0 4px}
.tplace{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--place-bg);color:var(--place-ink);border:2px solid var(--tframe);border-radius:12px;padding:16px 18px;text-decoration:none}
.tplace b{display:block;font-size:1.3rem;font-weight:900;line-height:1.2}
.tplace span{display:block;font-size:1rem;margin-top:2px}
.tplace .tmap{font-family:var(--body);font-size:.85rem;font-weight:700;text-decoration:underline;opacity:.9}
.tribbon{margin:0;display:flex;align-items:center;justify-content:center;gap:16px;background:var(--ribbon);color:#fff;font-family:"Oswald",sans-serif;font-weight:600;font-size:clamp(1.35rem,3.4vw,2.3rem);letter-spacing:.02em;text-transform:uppercase;padding:10px 18px;border-radius:6px;text-align:center;line-height:1.15;box-shadow:0 4px 10px rgba(0,0,0,.18)}
.tribbon svg{font-size:1.4em}
.thead{margin:0;text-align:center;font-family:"Merriweather",Georgia,serif;font-weight:900;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.25;color:var(--head)}
.thead em{font-style:normal;color:var(--em)}
.tdesc{margin:-6px auto 0;max-width:62ch;text-align:center;font-size:1.12rem;line-height:1.6;white-space:pre-line}
.tfeat{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.tfeat li{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-weight:900;font-size:1.05rem;line-height:1.2;padding:4px 10px;color:var(--feat-ink)}
.tfeat li+li{border-left:1.5px solid var(--divider)}
.ticon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--f0);color:#fff;font-size:2.4rem;box-shadow:0 3px 8px rgba(0,0,0,.2)}
.ticon.i1,.ticon.i3{background:var(--f1)}
.tbtns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;align-items:start}
.tbtn{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 18px;border-radius:12px;text-decoration:none;font-family:"Merriweather",Georgia,serif;font-weight:900;font-size:1.2rem;line-height:1.2;box-shadow:0 4px 12px rgba(0,0,0,.22);border:2px solid var(--btn-edge,transparent);cursor:pointer;box-sizing:border-box}
.tbtn>svg:first-child{font-size:2.3rem}
.tbtn>span{flex:1}
.tbtn small{display:block;font-family:var(--body);font-weight:700;font-size:.8rem;margin-top:3px}
.tbtn .chev{font-size:1.5rem;stroke-width:2.6}
.tbtn:hover{filter:brightness(1.07)}
.tbtn:focus-visible{outline:3px solid #ffd54a;outline-offset:2px}
.tcal{position:relative}
.tcal summary{list-style:none}.tcal summary::-webkit-details-marker{display:none}
.tcal[open] .chev{transform:rotate(90deg)}
.tcal .calopts{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;font-family:var(--body);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.tcal .calopts a{display:block;padding:8px 4px;font-weight:700}
.tcalbtn{background:var(--cal-bg);color:var(--cal-ink)}
.tfb{background:#1a4fb4;color:#fff}.tfb>svg:first-child{color:#1a4fb4}
.treg{background:var(--reg);color:#fff}
.treg.off{opacity:.8;cursor:default;filter:saturate(.6)}
.phone-only{display:none}
/* Willmar: snowy white and royal blue */
.t-willmar{--tpaper:linear-gradient(#f3f7fc,#e9f0f9);--tink:#0c2b5e;--tframe:#cfdcee;--date-bg:#fbfdff;--date-ink:#0c2b5e;--place-bg:#fbfdff;--place-ink:#0c2b5e;--icon-bg:#123f8c;--icon-ink:#fff;--icon-pad:12px;--ribbon:#123f8c;--head:#0c2b5e;--em:#123f8c;--feat-ink:#0c2b5e;--divider:#9fb4d6;--f0:#123f8c;--f1:#123f8c;--cal-bg:#fbfdff;--cal-ink:#0c2b5e;--btn-edge:#b8c9e4;--reg:#0d4757;--c1:#123f8c}
.t-willmar .tbody{background:linear-gradient(#f3f7fc,#e9f0f9)}
.t-willmar .tfacts{grid-template-columns:1fr 1fr;gap:0;background:#fbfdff;border:2px solid #cfdcee;border-radius:12px}
.t-willmar .tdates,.t-willmar .tplace{border:0;background:transparent}
.t-willmar .tplace{border-left:1.5px solid #9fb4d6;border-radius:0}
.t-willmar .tdate>svg,.t-willmar .tplace>svg{font-size:2rem}
/* Holidazzle: cream, Christmas red and evergreen, gold trim */
.t-holidazzle{--tpaper:#fbf3e2;--tink:#2a1f17;--tframe:#c9a24c;--date-bg:#fdf7ea;--date-ink:#1d4a2b;--date-em:#9b1b1e;--place-bg:#1d4a2b;--place-ink:#fff;--icon-ink:#9b1b1e;--ribbon:#9b1b1e;--head:#1d4a2b;--em:#9b1b1e;--feat-ink:#1d4a2b;--divider:#d6b46a;--f0:#9b1b1e;--f1:#1d4a2b;--cal-bg:#9b1b1e;--cal-ink:#fff;--btn-edge:#d6b46a;--reg:#1d4a2b;--c1:#9b1b1e}
.t-holidazzle .tbody{background:#fbf3e2}
.t-holidazzle .tfacts{grid-template-columns:1fr}
.t-holidazzle .tplace>svg{color:#e2b54d}
.t-holidazzle .ttime{color:#2a1f17}
/* Rosemount: rustic cream wood, cranberry red and pine green */
.t-rosemount{--tpaper:#f6ead3;--tink:#1e3d27;--tframe:#c9a46a;--date-bg:#8e1c22;--date-ink:#fff;--place-bg:#1e4a2d;--place-ink:#fff;--ribbon:#8e1c22;--head:#8e1c22;--em:#8e1c22;--feat-ink:#1e4a2d;--divider:#cfa96a;--f0:#8e1c22;--f1:#1e4a2d;--cal-bg:#fbf3e3;--cal-ink:#8e1c22;--btn-edge:#c9a46a;--reg:#1e4a2d;--c1:#8e1c22}
.t-rosemount .tbody{background:#f6ead3}
.t-rosemount .thead{font-style:italic}
.t-rosemount .tdate .ttime{color:#f4d79a}
@media (max-width:760px){
  main.twrap{padding:8px 0 0}
  .tshow{border-radius:0;border-left:0;border-right:0}
  .tbody{padding:16px 14px 22px;gap:16px}
  .tfacts,.t-willmar .tfacts{grid-template-columns:1fr}
  .t-willmar .tplace{border-left:0;border-top:1.5px solid #9fb4d6}
  .tdates{flex-direction:column;align-items:stretch;gap:6px}
  .tdate,.tplace{justify-content:flex-start}
  .tand{text-align:center;font-size:1.6rem;line-height:1}
  .tday,.tmd,.tplace b{font-size:1.35rem}
  .tdesc{font-size:1.1rem}
  .tfeat{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
  .tfeat li:nth-child(3){border-left:0}
  .ticon{width:68px;height:68px;font-size:2.1rem}
  .tbtns{grid-template-columns:1fr;gap:12px}
  .tback{margin:4px 0 8px 14px}
  .tbtn{min-height:68px;font-size:1.25rem}
  .tcal .calopts{position:static;margin-top:8px}
  .phone-only{display:flex}
}

/* framing from each show's own design: side borders on wide screens, bottom border everywhere */
.tbody{position:relative}
.tbody::before,.tbody::after{content:"";position:absolute;top:0;bottom:0;width:var(--sidew,0);background:var(--side-l) top/cover no-repeat;pointer-events:none}
.tbody::before{left:0}.tbody::after{right:0;background-image:var(--side-r)}
.tfoot{display:block;width:100%;height:auto}
.tbtn>span{text-align:center}
.t-willmar{--sidew:46px;--side-l:url("shows/willmar-side-l.jpg");--side-r:url("shows/willmar-side-r.jpg")}
.t-holidazzle{--sidew:150px;--side-l:url("shows/holidazzle-side-l.jpg");--side-r:url("shows/holidazzle-side-r.jpg")}
.t-rosemount{--sidew:110px;--side-l:url("shows/rosemount-side-l.jpg");--side-r:url("shows/rosemount-side-r.jpg")}
@media (min-width:761px){
  .tbody{padding:18px calc(var(--sidew) + 22px) 22px;gap:16px}
  .t-holidazzle .tbody{background:#fbf3e2}
  .thero img{max-height:380px;object-fit:cover}
  .tbtn{min-height:66px;font-size:1.12rem}
}
@media (max-width:760px){
  .tbody::before,.tbody::after{display:none}
}
/* fit: 3 buttons on one row on desktop, 4 features on one row on phones (as in the designs) */
@media (min-width:761px){
  .tbtns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
  .tbtn{gap:10px;padding:10px 14px;font-size:1.05rem}
  .tbtn>svg:first-child{font-size:2rem}
  .tbtn small{font-size:.74rem}
}
@media (max-width:760px){
  .tfeat{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:0}
  .tfeat li{padding:2px 3px;font-size:.82rem;gap:6px}
  .tfeat li:nth-child(3){border-left:1.5px solid var(--divider)}
  .ticon{width:54px;height:54px;font-size:1.7rem}
  .tdesc{font-size:1.05rem;line-height:1.55}
  .tribbon{font-size:1.3rem;padding:8px 12px}
}
@media (min-width:761px){ .tfoot{max-height:72px;object-fit:cover} }
/* two-day shows: both days side by side on phones too, like the Holidazzle design */
@media (max-width:760px){
  .tdates:has(.tand){display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;padding:12px 8px}
  .tdates:has(.tand) .tdate{flex-direction:column;align-items:center;text-align:center;gap:4px}
  .tdates:has(.tand) .tdate>svg{font-size:1.8rem}
  .tdates:has(.tand) .tday{font-size:1.05rem}
  .tdates:has(.tand) .tmd{font-size:1.02rem}
  .tdates:has(.tand) .ttime{font-size:.88rem}
  .tdates:has(.tand) .tand{font-size:1.4rem}
}
.thead em{white-space:nowrap}

/* homepage: show picture (4:5) + one Register button */
.showcard .showbox img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}
.regbtn{display:block;width:100%;text-align:center;font-size:1.15rem;padding:14px 16px;margin-top:10px;box-sizing:border-box}
.regbtn.off{opacity:.75;cursor:default;filter:saturate(.5)}
.evthumb{object-position:top}
@media (min-width:761px){.showboxes>.showcard:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 16px)}}
/* homepage show cards: real picture shape, tilted slightly in 3D so they float */
.showcard .showbox img{aspect-ratio:auto;object-fit:contain;border-radius:18px}
.showcard{perspective:1400px}
.showcard .showbox{display:block;border-radius:18px;transform:rotateY(var(--tilt,-7deg)) rotateX(3deg);transform-origin:center;
  box-shadow:0 2px 4px rgba(0,0,0,.18),0 18px 30px rgba(40,20,20,.28),0 40px 60px -20px rgba(40,20,20,.35);transition:transform .35s ease,box-shadow .35s ease;will-change:transform}
.showcard .showbox img{filter:none}
.showcard:nth-child(even) .showbox{--tilt:7deg}
.showcard .showbox::after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 38%,rgba(0,0,0,0) 70%,rgba(0,0,0,.12) 100%)}
.showcard .showbox:hover,.showcard .showbox:focus-visible{transform:rotateY(0) rotateX(0) translateY(-6px) scale(1.01);box-shadow:0 4px 8px rgba(0,0,0,.18),0 28px 50px rgba(40,20,20,.35)}
@media (prefers-reduced-motion:no-preference){
  .showcard .showbox{animation:cardfloat 6s ease-in-out infinite}
  .showcard:nth-child(even) .showbox{animation-delay:-3s}
  .showcard .showbox:hover{animation-play-state:paused}
}
@keyframes cardfloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (max-width:760px){.showcard .showbox{--tilt:-4deg}.showcard:nth-child(even) .showbox{--tilt:4deg}}
.showcard .regbtn{margin-top:22px}
/* homepage cards: a handmade card resting on the table — no 3D tilt, no bobbing */
.showcard{perspective:none}
.showcard .showbox{animation:none !important;transform:rotate(var(--rest,-1.2deg));background:#fffdf8;padding:10px;border-radius:6px;
  box-shadow:0 1px 1px rgba(60,40,30,.25),0 3px 6px rgba(60,40,30,.18),0 12px 18px -10px rgba(60,40,30,.35)}
.showcard:nth-child(even) .showbox{--rest:1.2deg}
.showcard .showbox::after{display:none}
.showcard .showbox img{border-radius:3px}
.showcard .showbox:hover,.showcard .showbox:focus-visible{transform:rotate(0deg) translateY(-2px);box-shadow:0 2px 3px rgba(60,40,30,.25),0 8px 16px rgba(60,40,30,.22)}
/* registration page: the show's wide banner across the top of the event box */
.evthumb{width:100%;max-width:none;aspect-ratio:auto;height:auto;object-fit:contain;border-radius:8px;margin:0 0 12px}
.showbox:not(a){cursor:default}.showcard div.showbox img{filter:saturate(.85)}
.showcard div.showbox .ribbon{top:auto;bottom:7%;left:50%;right:auto;transform:translateX(-50%);border-radius:6px;font-size:1.05rem;padding:10px 22px;white-space:nowrap;background:#5a1d1d}
/* "Registration closed" sticker over the picture's Register button */
.showcard div.showbox .sticker{bottom:6.5%;transform:translateX(-50%) rotate(-3deg);width:78%;white-space:normal;text-align:center;text-transform:none;letter-spacing:0;
  font-family:"Libre Baskerville",Georgia,serif;font-weight:700;font-size:clamp(.95rem,2.6vw,1.2rem);line-height:1.25;padding:12px 16px;border-radius:10px;
  background:#f6ead3;color:#8e1c22;border:3px solid #c9a24c;outline:2px dashed #8e1c22;outline-offset:-9px;box-shadow:0 4px 10px rgba(0,0,0,.4)}
.showcard div.showbox .sticker.t-holidazzle{background:#fbf3e2;color:#9b1b1e}
.showcard div.showbox .sticker.t-willmar{background:#f3f7fc;color:#123f8c;border-color:#9fb4d6;outline-color:#123f8c}
.showcard div.showbox .sticker{bottom:4.8%}
/* ---------- Minnesota Vendor Tax Information: plain official-document look (like Form ST19) ---------- */
.taxdoc{background:#fff !important;color:#111 !important;font-family:Arial,Helvetica,sans-serif;border:1.5px solid #222;border-radius:2px;padding:22px 20px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.taxdoc *{font-family:Arial,Helvetica,sans-serif !important}
.taxdoc .taxhead{border-bottom:2px solid #111;padding-bottom:14px;margin-bottom:4px}
.taxdoc .taxtop{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid #999;padding-bottom:8px;margin-bottom:10px}
.taxdoc .taxtop b{font-size:1.3rem;color:#000}
.taxdoc .taxtop span{font-size:.8rem;color:#444;text-transform:uppercase;letter-spacing:.05em}
.taxdoc .taxhead p{margin:0 0 10px;font-size:.95rem;color:#222;line-height:1.5}
.taxdoc .taxwhy{border:1px solid #888;background:#f4f4f4;padding:10px 12px;margin:0 0 10px}
.taxdoc .taxwhy b{display:block;font-size:.95rem;color:#000;margin-bottom:4px}
.taxdoc .taxwhy p{margin:0}
.taxdoc .taxlink a{color:#0b3d91;font-weight:700}
.taxdoc .taxlink{font-size:.85rem;color:#444}
.taxdoc section.taxsec{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #999}
.taxdoc section.taxsec:last-child{border-bottom:0}
.taxdoc .taxside{background:#d9d9d9;color:#222;writing-mode:vertical-rl;transform:rotate(180deg);font-weight:700;font-size:.8rem;text-align:center;padding:8px 0;letter-spacing:.03em}
.taxdoc .taxbody{display:grid;gap:10px;min-width:0}
.taxdoc h4{font-size:1rem;font-weight:700;color:#000 !important;margin:0}
.taxdoc label.f{color:#111;font-size:.88rem;font-weight:700}
.taxdoc label.f .hint{color:#555 !important;font-weight:400}
.taxdoc input:not([type=radio]):not([type=checkbox]),.taxdoc textarea{background:#fff !important;color:#000;border:1px solid #777 !important;border-radius:2px !important;font-size:1rem}
.taxdoc input:focus,.taxdoc textarea:focus{outline:2px solid #0b3d91 !important}
.taxdoc .taxaddr{display:grid;grid-template-columns:minmax(0,2fr) 70px minmax(0,1fr);gap:10px}
.taxdoc .taxfixed{background:#f1f1f1;border:1px solid #bbb;border-radius:0}
.taxdoc .taxfixed span{color:#444}
.taxdoc .taxfixed b{color:#000}
.taxdoc .taxnote{margin:0;font-size:.88rem;color:#333}
.taxdoc .taxopt{color:#111;font-size:.95rem}
.taxdoc .taxopt input{accent-color:#222}
.taxdoc .taxsub{margin-left:28px;display:grid;gap:6px}
.taxdoc .taxsub[hidden]{display:none !important}
.taxdoc .sigline{font-family:Georgia,serif !important;font-style:italic;font-size:1.2rem;border-width:0 0 1.5px 0 !important;border-color:#000 !important}
@media (max-width:560px){
  .taxdoc{padding:16px 12px}
  .taxdoc section.taxsec{grid-template-columns:1fr;gap:8px}
  .taxdoc .taxside{display:none}
  .taxdoc .taxaddr{grid-template-columns:1fr 80px}
  .taxdoc .taxaddr label:first-child{grid-column:1/-1}
}
.biz.off{opacity:.6;cursor:not-allowed}
/* homepage welcome picture: always the full page width, centered (no left-hugging on wide screens or zoomed out) */
.hero{width:100%;aspect-ratio:auto;height:min(42.2vw,680px);min-height:260px;margin-inline:auto}
.hero-bg{object-position:center}
@media (max-width:760px){.hero{height:auto;aspect-ratio:4/3}}

/* ---------- Batch 3 (Nov 4 2026) ---------- */
/* Header account link: green "Signed In" under "My Vendor Portal" */
.portal-link .acct-text{display:inline-flex;flex-direction:column;line-height:1.15}
.portal-link .signedin{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:var(--green);letter-spacing:.02em}
.portal-link .signedin i{width:8px;height:8px;border-radius:50%;background:#3f9a4a;box-shadow:0 0 0 2px var(--green-soft)}
@media (max-width:520px){.portal-link img{width:28px;height:28px}.toplinks a{font-size:.92rem}}
/* Homepage: warm parchment panel around Upcoming Events */
.eventspanel{background:#fbf5e8;background-image:radial-gradient(circle at 15% 0%,rgba(168,122,34,.07),transparent 45%),radial-gradient(circle at 90% 100%,rgba(95,122,80,.07),transparent 45%);
  border:1px solid #e6d8bf;border-radius:22px;box-shadow:0 10px 30px rgba(72,49,44,.10),inset 0 0 0 6px rgba(255,255,255,.45);
  padding:clamp(20px,4vw,40px) clamp(14px,4vw,44px) clamp(26px,4vw,48px);max-width:1040px;margin:8px auto 0}
.eventspanel h2.bighead{margin-top:0 !important}
:root[data-theme="dark"] .eventspanel{background:#2d2522;border-color:var(--line)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .eventspanel{background:#2d2522;border-color:var(--line)}}
@media (max-width:640px){.eventspanel{border-radius:16px}}
/* Registration: event name in the heading wraps cleanly on phones */
.evfacts h2.evtitle{text-wrap:balance;overflow-wrap:anywhere;hyphens:auto;line-height:1.25}
/* Example shown above a products box (not inside it) */
label.f span.example{font-weight:400;font-size:.85rem;color:var(--ink);background:var(--gold-soft);border-left:3px solid var(--gold);padding:6px 10px;border-radius:4px}
