.events-toolbar, .events-toolbar nav, .events-filter { display:flex; flex-wrap:wrap; align-items:center; gap:18px; }
.events-toolbar { justify-content:space-between; margin:24px 0; }
.events-filter { margin-bottom:24px; align-items:end; }
.events-filter label { display:grid; gap:8px; }
.events-filter input, .events-filter select { padding:12px; max-width:100%; }
.calendar-scroll { overflow-x:auto; margin:24px 0 40px; }
.event-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); min-width:650px; gap:1px; background:var(--border, #574551); border:1px solid var(--border, #574551); }
.calendar-weekday, .calendar-day, .calendar-empty { padding:10px; background:var(--bg, #17131b); }
.calendar-weekday { text-align:center; font-weight:600; }
.calendar-day { min-height:110px; overflow-wrap:anywhere; }
.calendar-day time { display:block; font-weight:600; margin-bottom:8px; }
.calendar-day a { display:block; padding:8px; margin-bottom:6px; border-radius:6px; background:#45283d; color:#fff; font-size:.8rem; text-decoration:underline; }
.calendar-day a span { display:block; font-size:.75rem; }
.event-panel { padding:clamp(20px,4vw,40px); margin:28px 0; }
.event-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.event-detail { max-width:960px; margin:auto; }
.event-photo { margin:24px 0; text-align:center; }
.event-photo img { display:block; width:100%; max-height:580px; object-fit:contain; border-radius:14px; background:#17131b; }
.event-photo a { cursor:zoom-in; }
.event-card-photo { display:block; }
.event-card-photo img { width:100%; height:220px; object-fit:contain; background:#17131b; border-radius:12px; }
.event-photo-preview { max-width:100%; max-height:300px; object-fit:contain; border-radius:12px; }
.event-photo-dialog { width:min(1200px,95vw); max-width:95vw; padding:16px; border:1px solid #574551; border-radius:16px; background:#17131b; color:#fff; }
.event-photo-dialog::backdrop { background:rgba(0,0,0,.85); }
.event-photo-dialog img { display:block; width:100%; max-height:80vh; object-fit:contain; margin-top:12px; }
.event-detail dt { font-weight:600; margin-top:18px; }
.event-detail dd { margin:6px 0 20px; }
.event-form { max-width:850px; }
.event-form > label, .events-form-grid label { display:grid; gap:8px; }
.events-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.event-form .check-line { display:flex; align-items:flex-start; }
.event-form .check-line input { width:auto; flex:none; }
.event-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#proposer { scroll-margin-top:110px; }
@media(max-width:600px) { .events-form-grid { grid-template-columns:1fr; } .events-toolbar nav { font-size:.85rem; } }
.calendar-mobile-help { display:none; }
@media(max-width:600px) {
  .event-calendar { min-width:0; }
  .calendar-weekday { padding:8px 2px; font-size:.75rem; }
  .calendar-day, .calendar-empty { padding:6px; min-height:68px; }
  .calendar-day a { font-size:0; padding:4px; text-align:center; }
  .calendar-day a::before { content:"●"; font-size:14px; }
  .calendar-day a span { display:none; }
  .calendar-mobile-help { display:block; font-size:.85rem; }
}
