/* A3 posters (297 × 420 mm) – lime gig-poster look from the 2026 Westival poster */
*{box-sizing:border-box}
:root{--ink:#12081f;--lime:#d4f53c;--yellow:#ffe14a;--pink:#ff2e88;--blue:#2b59ff;--paper:#fff8ec}
body{margin:0;background:#2a2230;font-family:Inter,system-ui,sans-serif;color:var(--ink)}
.toolbar{position:sticky;top:0;z-index:10;display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 16px;background:var(--ink);color:#f6efe6;font-size:.9rem}
.toolbar a{color:var(--lime);font-weight:800;text-decoration:none}
.toolbar button{font:inherit;font-weight:800;background:var(--pink);color:#fff;border:0;border-radius:999px;padding:.65em 1.3em;cursor:pointer}
.toolbar span{color:#cbbfd6}
.sheet{padding:24px 0;display:flex;justify-content:center}
.a3{width:297mm;height:420mm;overflow:hidden;position:relative;display:flex;flex-direction:column;
  background:radial-gradient(120mm 90mm at 85% 55%,rgba(255,255,255,.35),transparent 70%),linear-gradient(170deg,#f1ff7a 0%,var(--lime) 40%,#b9e620 100%);
  box-shadow:0 20px 60px rgba(0,0,0,.5);transform-origin:top center}
@media screen and (max-width:1160px){.a3{zoom:.7}}
@media screen and (max-width:820px){.a3{zoom:.42}}
/* top */
.a3-top{position:relative;padding:16mm 16mm 30mm;text-align:center;background:linear-gradient(180deg,#2a1546,#12081f 70%);color:#fff;overflow:hidden}
.a3-top::before{content:"";position:absolute;inset:0;background:conic-gradient(from 200deg at 20% 120%,transparent 0 20deg,rgba(255,46,136,.35) 24deg,transparent 30deg 60deg,rgba(43,89,255,.35) 66deg,transparent 72deg),conic-gradient(from 120deg at 80% 120%,transparent 0 30deg,rgba(212,245,60,.3) 36deg,transparent 44deg)}
.a3-crowd{position:absolute;left:0;right:0;bottom:-1px;width:100%;background-repeat:repeat-x;background-position:center bottom;background-size:auto 100%}

.a3-kicker{position:relative;margin:0;font-family:"Permanent Marker",cursive;color:var(--pink);font-size:20pt;transform:rotate(-2deg)}
.a3-wm{position:relative;margin:2mm 0 0;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:118pt;line-height:.85;
  background:linear-gradient(180deg,var(--yellow) 10%,var(--lime) 60%,#9fdc1a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1.4mm var(--ink);paint-order:stroke fill;filter:drop-shadow(2.5mm 2.5mm 0 var(--pink));transform:rotate(-2deg)}
.a3-dates{position:relative;display:inline-block;margin:6mm 0 0;font-family:Anton,Impact,sans-serif;font-size:30pt;text-transform:uppercase;background:var(--pink);color:#fff;padding:1mm 6mm;transform:rotate(1.5deg);box-shadow:2mm 2mm 0 var(--blue)}
.a3-badge{position:absolute;right:14mm;top:14mm;width:34mm;height:34mm;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--yellow);color:var(--ink);font-family:Anton,Impact,sans-serif;font-size:19pt;line-height:.95;text-transform:uppercase;transform:rotate(-12deg);box-shadow:0 0 0 2mm var(--ink),0 0 0 3mm var(--yellow)}
/* festival */
.a3-head{text-align:center;padding:6mm 14mm 0}
.a3-head p{margin:0;font-weight:800;letter-spacing:.3em;text-transform:uppercase;font-size:12pt;color:var(--blue)}
.a3-head h2{margin:1mm 0 0;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:44pt;line-height:1;color:var(--pink);-webkit-text-stroke:.6mm var(--ink);paint-order:stroke fill}
.a3-head i{font-style:normal;color:var(--blue);font-size:.5em;margin:0 3mm;vertical-align:middle;-webkit-text-stroke:0}
.a3-blurb{padding:5mm 22mm 0;text-align:center}
.a3-blurb p{margin:0;font-size:13pt;font-weight:600;line-height:1.4}
.a3-venues{display:grid;grid-template-columns:repeat(auto-fit,minmax(80mm,1fr));gap:5mm;padding:7mm 12mm 0}
.a3-v{background:var(--paper);border:.8mm solid var(--ink);border-top:4mm solid var(--vc);border-radius:3mm;padding:4mm 5mm;box-shadow:1.5mm 1.5mm 0 var(--ink)}
.a3-v h3{margin:0;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:21pt;color:var(--vc);line-height:1}
.a3-v .addr{margin:.5mm 0 2mm;font-size:9pt;color:#5f5568}
.a3-v .pk{margin:1mm 0;font-size:10.5pt;font-weight:700;line-height:1.25}
.a3-v .pk b{display:inline-block;min-width:10mm;color:var(--pink);text-transform:uppercase;font-size:9pt}
.a3-more{text-align:center;margin:5mm 0 0;font-family:"Permanent Marker",cursive;font-size:17pt;color:var(--blue)}
.a3-quote{margin:4mm 24mm 0;text-align:center;font-size:15pt;font-weight:700;font-style:italic}
.a3-quote cite{display:block;font-style:normal;font-family:"Permanent Marker",cursive;color:var(--pink);font-size:12pt;margin-top:1mm}
/* venue poster */
.a3-venue-name{text-align:center;padding:6mm 14mm 0}
.a3-venue-name p{margin:0;font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:12pt;color:var(--blue)}
.a3-venue-name h2{margin:1mm 0;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:64pt;line-height:.95;color:var(--vc);-webkit-text-stroke:.8mm var(--ink);paint-order:stroke fill;filter:drop-shadow(1.5mm 1.5mm 0 var(--ink))}
.a3-venue-name .addr{font-size:12pt;letter-spacing:.05em;text-transform:none;color:var(--ink)}
.a3-sched{display:grid;grid-template-columns:repeat(3,1fr);gap:5mm;padding:0 12mm;align-items:start}
.pv-day{background:var(--paper);border:.8mm solid var(--ink);border-radius:3mm;padding:4mm 5mm;box-shadow:1.5mm 1.5mm 0 var(--ink)}
.pv-day h3{margin:0 0 2mm;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:24pt;color:var(--pink);line-height:1}
.pv-day h3 small{display:block;font-family:Inter,sans-serif;font-size:10pt;color:var(--ink);font-weight:700;text-transform:none}
.pv-day ol{list-style:none;margin:0;padding:0}
.pv-day li{display:flex;gap:3mm;padding:3mm 0;border-bottom:.4mm dotted rgba(0,0,0,.25);font-size:14.5pt;font-weight:700;line-height:1.2}
.pv-day li time{font-family:Anton,Impact,sans-serif;font-weight:400;color:var(--blue);min-width:15mm;font-size:15pt}
.pv-day li.hl span{color:var(--pink)}
.pv-day li i{font-weight:500;color:#8a7f92}
.a3-free{text-align:center;margin:5mm 12mm 0;font-weight:700;font-size:13pt}
.a3-free span{display:inline-block;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;background:var(--ink);color:var(--lime);padding:.5mm 3mm;margin-right:2mm;font-size:15pt}
/* footer */
.pf{margin-top:auto;display:flex;align-items:center;gap:7mm;padding:6mm 12mm;background:var(--ink);color:#fff}
.pf-block{display:flex;flex-direction:column;align-items:center;gap:1.5mm;background:#fff;color:var(--ink);border-radius:2.5mm;padding:2.5mm 5mm;min-width:46mm}
.pf-block span{font-size:7pt;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#6b6075}
.pf-block img{max-height:16mm;max-width:52mm;object-fit:contain}
.pf-block b{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:15pt;color:var(--blue);text-align:center;line-height:1}
.pf-web{flex:1}
.pf-web b{display:block;font-family:Anton,Impact,sans-serif;font-weight:400;font-size:20pt;color:var(--lime);letter-spacing:.02em}
.pf-web span{font-size:9.5pt;color:#d9cfe2}
.pf-qr{width:27mm;height:27mm;background:#fff;padding:1.5mm;border-radius:1.5mm}
.pf-qr svg{width:100%;height:100%;display:block}
@page{size:A3 portrait;margin:0}
@media print{
  html,body{background:#fff;width:297mm}
  .toolbar{display:none}
  .sheet{padding:0;display:block}
  .a3{box-shadow:none;zoom:1!important;page-break-after:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.a3-main{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;padding-bottom:4mm}
.a3-main > *{margin-top:0!important}
.a3-stats{display:flex;justify-content:center;gap:6mm;padding:0 12mm}
.a3-stats div{width:34mm;height:34mm;border-radius:50%;background:var(--ink);color:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:1.5mm 1.5mm 0 var(--pink)}
.a3-stats div:nth-child(even){background:var(--blue);color:#fff;transform:rotate(-6deg)}
.a3-stats b{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:28pt;line-height:1}
.a3-stats span{font-weight:800;text-transform:uppercase;letter-spacing:.15em;font-size:8pt}
.a3-eq{display:flex;align-items:flex-end;gap:1.5mm;height:16mm;padding:0 12mm}
.a3-eq i{flex:1;height:var(--h);border-radius:1mm 1mm 0 0;background:linear-gradient(0deg,var(--pink),var(--blue))}
/* acoustic / second stage strip + change note */
.a3-sched-extra{display:block;padding:0 12mm}
.pv-stage{background:var(--paper);border:.8mm solid var(--ink);border-radius:3mm;padding:3mm 5mm;box-shadow:1.5mm 1.5mm 0 var(--ink)}
.pv-stage h3{margin:0 0 1.5mm;font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:18pt;color:var(--blue);line-height:1}
.pv-stage p{margin:1mm 0;font-size:10.5pt;font-weight:700;line-height:1.5}
.pv-stage p b{display:inline-block;min-width:22mm;color:var(--pink);text-transform:uppercase;font-size:9.5pt}
.pv-stage span{white-space:nowrap;margin-right:3mm}
.pv-stage time{font-family:Anton,Impact,sans-serif;font-weight:400;color:var(--blue)}
.a3-change{text-align:center;margin:2mm 12mm 0;font-size:9.5pt;font-weight:700;font-style:italic;color:#4d4357}

.pf-qrs{display:flex;gap:6mm;align-items:flex-start}
.pf-qrs figure{margin:0;text-align:center}
.pf-qrs figcaption{font:800 3.2mm/1.2 Inter,Arial,sans-serif;margin-top:1.5mm;text-transform:uppercase;letter-spacing:.04em}
.pf-qr-don{outline:1.2mm solid #ff2e88;outline-offset:1mm}
