:root{--accent:#7b4fb4;--bg:#fff;--ink:#211a2b;--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,sans-serif}main{padding:16px;max-width:1200px;margin:auto}button,input,select{font:inherit;color:inherit}button,a.event-button{cursor:pointer;border:1px solid var(--accent);border-radius:7px;background:var(--card);padding:8px 14px;color:var(--ink);text-decoration:none;display:inline-block}button[aria-pressed=true],a.event-button{background:var(--accent);color:#fff}.event-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.event-toolbar input,.event-toolbar select{padding:9px;border:1px solid #8886;border-radius:6px;background:var(--card);max-width:100%}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px}.event-card{background:var(--card);border:1px solid #8885;border-radius:10px;overflow:hidden}.event-card>img{display:block;width:100%;height:270px;object-fit:contain;background:#8881}.event-card>div{padding:18px}.event-card h2{font-size:20px;margin:0 0 8px}.event-card p{white-space:pre-wrap;overflow-wrap:anywhere}.event-list .event-card{display:flex;margin-bottom:15px}.event-list .event-card>img{width:120px;height:150px}.event-detail{max-width:850px;margin:auto}.event-detail>.event-poster{max-height:500px;max-width:100%;object-fit:contain}.event-detail h1{font-size:30px}.event-detail p{white-space:pre-wrap;overflow-wrap:anywhere}.event-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.event-venue{border-top:1px solid #8886;padding-top:20px}.event-venue img{max-width:240px;max-height:180px}.event-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #8885;border-left:1px solid #8885}.event-day{min-height:95px;border-bottom:1px solid #8885;border-right:1px solid #8885;padding:7px;overflow-wrap:anywhere}.event-day button{display:block;width:100%;text-align:left;font-size:12px;padding:5px;margin-top:4px}.event-cancelled{color:#bb3546;font-weight:600}.event-empty{text-align:center;padding:35px}@media(max-width:520px){.event-calendar{display:block}.event-day:empty{display:none}.event-day{min-height:0}.event-list .event-card{display:block}.event-list .event-card>img{width:100%;height:220px}}

.event-weekday{padding:8px;text-align:center;font-weight:600;border-bottom:1px solid #8885;border-right:1px solid #8885}@media(max-width:520px){.event-weekday{display:none}}
