.public-site #afisha { padding-block:18px 28px; background:var(--paper); border:0; }
.event-controls { display:flex; gap:8px; margin:0 0 16px; }
.event-filter { min-width:0; }
.event-filter select { width:100%; }
#events-feed .m-event-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
#events-feed .m-event {
  display:flex; flex-direction:column; width:100%; min-width:0; padding:0; overflow:hidden;
  border:1px solid var(--rule); border-radius:20px; background:var(--paper); color:var(--ink);
  text-align:left; font-family:var(--sans); cursor:pointer;
}
#events-feed .m-event-media { display:grid; place-items:center; width:100%; aspect-ratio:1.7; overflow:hidden; background:var(--paper-2); color:var(--muted); }
#events-feed .m-event img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; object-position:center; }
#events-feed .m-event-caption { display:flex; flex:1; flex-direction:column; width:100%; gap:8px; padding:13px; }
#events-feed .m-event-date { color:var(--wine); font:650 12px/1.4 var(--sans); }
#events-feed .m-event-caption strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font:600 clamp(20px,2vw,26px)/1.08 var(--serif); overflow-wrap:anywhere; }
#events-feed .m-event-place { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font:450 11px/1.5 var(--sans); }
#events-feed .m-event-foot { display:flex; align-items:center; justify-content:space-between; gap:5px; margin-top:auto; padding-top:3px; font:650 14px/1.4 var(--sans); }
#events-feed .m-event-more { display:grid; place-items:center; flex:none; width:28px; height:28px; border:1px solid var(--rule); border-radius:50%; }
#events-feed .m-event:hover .m-event-more { background:var(--wine); color:var(--paper); }
#events-feed .m-event-empty { margin:20px 0; color:var(--muted); font-size:14px; line-height:1.6; }
#events-feed button:focus-visible, #event-dialog :is(a,button,select):focus-visible { outline:3px solid var(--brass); outline-offset:2px; }
dialog#event-dialog { width:min(540px,94vw); padding:0; border:1px solid var(--rule); border-radius:24px; background:var(--paper); color:var(--ink); }
.m-event-detail > img { display:block; width:100%; height:auto; max-height:48dvh; object-fit:contain; background:var(--paper-2); }
.m-event-info { padding:22px; font:450 14px/1.5 var(--sans); }
.m-event-info h2 { margin:6px 0 14px; }
.m-event-info p { margin:0 0 12px; }
.m-event-info .m-event-meta { color:var(--muted); font:550 12px/1.4 var(--sans); }
.m-event-info .m-event-description { color:var(--muted); font-size:13px; }
.m-event-rate strong { color:var(--wine); font:var(--price-type); }
.m-event-close { position:absolute; z-index:2; top:10px; right:10px; width:44px; height:44px; border:1px solid var(--rule); border-radius:50%; background:var(--paper); color:var(--ink); font:24px/1 var(--sans); cursor:pointer; }
.event-session { display:grid; gap:8px; margin:18px 0; text-align:left; font:550 13px/1.4 var(--sans); }
.event-session select { width:100%; max-width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid var(--rule); border-radius:12px; background:var(--paper); color:var(--ink); font:450 13px/1.4 var(--sans); }
@media(max-width:1100px) { #events-feed .m-event-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) {
  #events-feed .m-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #events-feed .m-event-caption { padding:11px; gap:7px; }
  #events-feed .m-event-date { font-size:11px; }
  #events-feed .m-event-foot { font-size:13px; }
  .event-controls { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:7px; }
  .public-site .event-controls select { font-size:12px; padding-left:9px; }
}
