/* Public event presentation. The organizer editor and artist review keep their existing layout. */
.public-page{font-family:FlyerGothic,sans-serif;color:#07477e;background:#c7efff;min-height:100vh;isolation:isolate}
.public-page::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffff14,#e4f8ff65),url('/assets/site-sky.png') center top/cover no-repeat;pointer-events:none}
.public-page header{display:flex;min-height:104px;padding:18px max(40px,calc((100vw - 1320px)/2));background:transparent;border:0;justify-content:flex-start;gap:0}.public-page header .wordmark,.public-page header nav{display:none}.public-page header .public-header-logo{display:block;width:310px;max-width:85%;margin:0}
.public-page main{max-width:1400px;padding:12px 40px 20px}
.public-hero{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:center}
.public-info{padding:24px 18px;border-radius:22px;background:linear-gradient(105deg,#ffffffc9,#ffffff65);box-shadow:0 8px 30px #66abd014;backdrop-filter:blur(2px)}
.public-edition{font-size:15px;letter-spacing:.1em;margin:0 0 6px;color:#146897}
.public-date{margin:0;font-weight:400;line-height:1}
.date-year{font-size:24px;display:block;margin:0 0 4px}.date-main{display:flex;align-items:baseline;gap:8px;font-size:72px;letter-spacing:-.04em;white-space:nowrap}.date-day{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;background:#07528a;color:white;border-radius:50%;font-size:20px;letter-spacing:0}
.public-subtitle{font-size:20px;margin:12px 0;line-height:1.5}.public-venue{font-size:25px;margin:14px 0 22px;line-height:1.4;overflow-wrap:anywhere}
.public-time{display:flex;gap:16px;font-size:17px;white-space:nowrap;margin:0 0 12px}.public-time strong{font-weight:400;font-size:20px;margin-left:3px}
.public-price{font-size:17px;white-space:nowrap;line-height:1.7}.public-price span{display:block;font-size:14px;color:#3a71a0;text-align:center;margin-top:2px}
.public-actions{margin:26px 0 0;display:grid;gap:12px}.public-actions a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 8px;border-radius:25px;text-decoration:none;font-size:16px;text-align:center;transition:transform .15s,box-shadow .15s}.public-actions svg{width:22px;height:22px;flex-shrink:0}.public-actions .ticket-cta svg:last-child{width:15px;height:15px}
.ticket-cta{color:white;background:linear-gradient(110deg,#f77ba3 0%,#e155d9 50%,#5267fa 100%);box-shadow:0 5px 16px #a257ce24}.venue-cta{background:#ffffffeb;color:#0754a0;border:1px solid #7ba9d7}.public-actions a:hover{transform:translateY(-2px);box-shadow:0 6px 20px #367ebc2a}
.public-address{font-size:11px;line-height:1.6;color:#356a92;margin:12px 0 0;text-align:center}.public-tagline{font-family:FlyerPop,FlyerGothic,sans-serif;font-size:19px;letter-spacing:.12em;line-height:1.6;transform:rotate(-6deg);text-align:center;margin:26px 0 22px}.public-tagline br+*{margin-left:10px}
.public-share{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.public-share button{font-size:11px;min-height:34px;padding:6px 10px;border-color:#c1d9ec;background:#ffffffa3;color:#155d91}
.public-flyer{position:relative;padding:12px;border-radius:22px;background:#ffffffe0;box-shadow:0 10px 35px #3e8db033;min-width:0}.public-flyer .poster{width:100%;height:auto;border-radius:8px;box-shadow:none}.poster-hint{text-align:right;font-size:11px;color:#4c79a2;margin:6px 4px 0;line-height:1.2}.artists-stage .public-flyer{max-width:570px;justify-self:center}.flyer-pending{padding:60px;text-align:center;border-radius:22px;background:#ffffffc9}
.past-shell{max-width:1320px;margin:12px auto 24px;padding:24px 34px;background:#fffffff0;border:1px solid #ffffff;border-radius:24px;box-shadow:0 5px 15px #3b91b51a;min-width:0}.past-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.past-heading h2{font-size:21px;margin:0;line-height:1.3}.past-heading h2 span{display:block;font-size:11px;letter-spacing:.18em;color:#80acd0;margin-top:4px}.past-all{border:1px solid #93bce1;color:#145a94;border-radius:22px;padding:8px 18px;font-size:12px;white-space:nowrap;display:flex;gap:16px;align-items:center;min-height:40px;text-decoration:none}.past-slider{position:relative}.past-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:1px;padding:2px 2px 10px;scrollbar-width:thin;scrollbar-color:#9fcae6 transparent;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.past-card{flex:0 0 calc((100% - 100px)/6);min-width:130px;color:#0c4c82;scroll-snap-align:start;display:block;text-decoration:none}.past-card img{width:100%;aspect-ratio:3508/2480;object-fit:contain;display:block;border:1px solid #d9edfb;border-radius:6px;background:#f0f8fc;margin-bottom:10px}.past-card strong,.past-card time,.past-card span{display:block;font-weight:400;font-size:13px;line-height:1.6}.past-card time{color:#638eb6}.past-card span{font-size:11px;overflow-wrap:anywhere}.past-prev,.past-next{position:absolute;top:calc(50% - 35px);width:38px;height:38px;min-height:38px;padding:0;z-index:1;border:1px solid #d5e7f3;border-radius:50%;background:#fff;color:#12588a;box-shadow:0 2px 8px #5a89a722;font-size:28px;line-height:1}.past-prev{left:-19px}.past-next{right:-19px}.past-prev:disabled,.past-next:disabled{opacity:.35;cursor:default}.past-message{font-size:14px;color:#597da0;min-height:65px;display:flex;align-items:center;gap:10px}.past-message button{font-size:13px}.public-page footer{max-width:1320px;border:0;font-size:11px;color:#356d95;padding:14px 24px 24px}.public-page footer a{color:#155c91}.public-page .notice{max-width:1320px;border-radius:10px;background:#ffffffed;font-size:14px}.public-page .waiting{min-height:55vh;color:#0c4c82;background:#ffffffc9;border-radius:24px;padding:24px}.public-page .waiting img{filter:drop-shadow(0 1px 2px white)}
.public-page :focus-visible{outline:3px solid #144f91;outline-offset:4px}
@media(min-width:1500px){.public-page main{padding-top:28px}.public-hero{grid-template-columns:320px minmax(0,1fr)}.public-info{padding:26px}.date-main{font-size:76px}}
@media(max-width:1000px){.public-page main{padding:22px 24px 16px}.public-hero{grid-template-columns:270px minmax(0,1fr);gap:20px}.public-info{padding:20px 12px}.date-main{font-size:65px}.public-venue{font-size:23px}.public-time{gap:12px;font-size:15px}.public-time strong{font-size:18px}.public-price{font-size:15px}.past-shell{margin:12px 24px 22px}.past-card{flex-basis:calc((100% - 60px)/4)}}
@media(max-width:720px){.public-page main{padding:18px 18px 8px}.public-page header{min-height:90px;padding:16px 18px 10px;justify-content:center}.public-page header .public-header-logo{width:265px;max-width:85%}.public-hero{grid-template-columns:minmax(0,1fr);gap:20px}.public-info{text-align:center;max-width:430px;justify-self:center;width:100%;padding:20px 18px 16px;background:linear-gradient(#ffffffa8,#ffffffcc)}.public-edition{font-size:13px}.date-year{font-size:20px}.date-main{justify-content:center;font-size:72px}.date-day{width:31px;height:31px;font-size:18px}.public-venue{font-size:24px;margin:12px 0 14px}.public-time{justify-content:center;gap:20px;font-size:17px}.public-time strong{font-size:20px}.public-price{font-size:16px}.public-actions{margin:20px 0 0;gap:10px}.public-actions a{min-height:54px;font-size:17px}.public-address{font-size:10px}.public-tagline{font-size:17px;margin:20px 0 16px}.public-share{gap:8px}.public-flyer{padding:9px;border-radius:16px;max-width:100%}.artists-stage .public-flyer{width:min(100%,360px)}.poster-hint{margin:6px 2px 0;font-size:10px}.past-shell{margin:16px 14px;padding:20px 20px 14px;border-radius:20px}.past-heading{gap:8px;margin-bottom:16px}.past-heading h2{font-size:19px}.past-all{padding:6px 12px;font-size:11px;gap:10px;min-height:38px}.past-track{gap:12px}.past-card{flex-basis:calc((100% - 24px)/3);min-width:92px}.past-card strong,.past-card time{font-size:11px}.past-card img{margin-bottom:7px}.past-prev,.past-next{width:32px;height:32px;min-height:32px;top:calc(50% - 30px);font-size:24px}.past-prev{left:-16px}.past-next{right:-16px}.public-page footer{padding:12px 18px 20px;font-size:10px}.public-page .waiting h1{font-size:20px}.public-page .waiting p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.public-actions a{transition:none}.past-track{scroll-behavior:auto}}

.public-page .waiting img{display:none}
.public-page footer .copyright{font-size:12px}@media(max-width:720px){.public-page footer .copyright{font-size:11px}}
