.afisha-showcase{max-width:1180px}
.afisha-intro{max-width:780px}
.afisha-intro h1{max-width:17ch}
.afisha-filters{margin:40px 0 24px}
.afisha-filters summary{min-height:54px}
.afisha-results{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--page-line);padding:8px 0 16px}
.afisha-results h2{font:400 clamp(25px,2.5vw,32px)/1.2 'PT Serif Muzmost',Georgia,serif;margin:0}
.afisha-results p{color:var(--page-muted);font-size:13px;margin:0}
.afisha-poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;margin:28px 0 48px}
.afisha-poster-card{min-width:0}
.afisha-poster-link{display:flex;flex-direction:column;height:100%;color:var(--page-text);text-decoration:none}
.public-interior .afisha-poster-link:hover{text-decoration:none}
.afisha-poster-link:focus-visible{outline:2px solid var(--page-focus);outline-offset:5px;border-radius:8px}
.afisha-poster-stage{position:relative;width:100%;overflow:hidden;border-radius:8px}
.afisha-poster-stage>.afisha-poster-art{display:block;width:100%;height:auto}
.afisha-poster-stage-composed{border:1px solid var(--page-line);background:var(--page-soft)}
.afisha-composed{display:flex;flex-direction:column;min-height:100%;aspect-ratio:2/3;color:var(--page-text)}
.afisha-composed-top,.afisha-composed-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:13px;line-height:1.4;color:var(--page-muted)}
.afisha-composed-top{border-bottom:1px solid var(--page-line);color:var(--page-accent-text)}
.afisha-composed-bottom{border-top:1px solid var(--page-line)}
.afisha-composed-bottom>span:first-child{overflow-wrap:anywhere}
.afisha-composed-brand{flex:none;font-family:'PT Serif Muzmost',Georgia,serif;font-style:italic}
.afisha-composed-center{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:30px 24px;text-align:center;overflow-wrap:anywhere}
.afisha-composed-center>img{filter:var(--icon-filter);opacity:.6}
.afisha-composed-center>strong{font:400 clamp(26px,2.6vw,34px)/1.2 'PT Serif Muzmost',Georgia,serif}
.afisha-composed-center>span{font-size:13px;line-height:1.5;color:var(--page-muted)}
.afisha-poster-info{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;padding:16px 0 14px;flex:1}
.afisha-poster-date{border-right:1px solid var(--page-line)}
.afisha-poster-date time{display:flex;flex-direction:column;gap:1px;line-height:1.3}
.afisha-poster-date strong{font:400 30px/1 'PT Serif Muzmost',Georgia,serif}
.afisha-poster-date span{color:var(--page-accent-text);font-size:12px;text-transform:lowercase}
.afisha-poster-date small{display:block;color:var(--page-muted);font-size:12px;margin-top:6px}
.afisha-poster-copy{min-width:0}
.afisha-poster-copy h3{font:400 22px/1.25 'PT Serif Muzmost',Georgia,serif;margin:0 0 8px;overflow-wrap:anywhere}
.afisha-poster-copy p{margin:0 0 4px;line-height:1.45;overflow-wrap:anywhere}
.afisha-poster-artist,.afisha-poster-venue{display:flex;align-items:flex-start;gap:6px;font-size:13px}
.afisha-poster-artist{color:var(--page-body)}
.afisha-poster-venue{color:var(--page-muted)}
.afisha-poster-copy p img{flex:none;margin-top:2px;filter:var(--icon-filter);opacity:.75}
.afisha-poster-price{font-size:12px;color:var(--page-accent-text);padding-top:4px}
.afisha-poster-action{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--page-line);padding:14px 0;color:var(--page-accent-text);font-size:13px;font-weight:600}
.afisha-poster-action img{flex:none;filter:var(--icon-filter)}
.afisha-empty{grid-column:1/-1;min-height:240px}
.afisha-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 48px;padding-top:24px;border-top:1px solid var(--page-line)}
.afisha-page-numbers{display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0}
.afisha-page{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:8px;border:1px solid transparent;border-radius:6px;color:var(--page-text);font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.afisha-page-direction{padding-inline:12px;border-color:var(--page-line)}
.afisha-page svg{flex:none}
.public-interior a.afisha-page:hover{background:var(--page-soft);border-color:var(--page-line);text-decoration:none}
.afisha-page:focus-visible{outline:2px solid var(--page-focus);outline-offset:3px}
.afisha-page[aria-current]{background:var(--page-soft);border-color:var(--page-accent-text);color:var(--page-accent-text)}
.afisha-page[aria-disabled]{color:var(--page-muted);opacity:.45}
.afisha-page-gap{display:block;padding:8px 3px;color:var(--page-muted)}
.afisha-page-position{display:none;color:var(--page-muted);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:680px){.afisha-pagination{justify-content:space-between;gap:12px;padding-top:20px;margin-bottom:32px}.afisha-page-numbers{display:none}.afisha-page-position{display:block}.afisha-page-direction{min-height:44px;padding-inline:10px}}
.event-poster-gallery{min-width:0}
.publication-detail .event-cover{display:flex;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:auto;max-height:none;overflow:visible;background:transparent}
.publication-detail .event-cover img{display:block;width:auto;max-width:100%;height:auto;max-height:min(80vh,980px);object-fit:contain;border-radius:8px;background:var(--page-soft)}
.publication-detail .event-cover a{display:block;max-width:100%}
.publication-detail .event-cover a:focus-visible{outline:2px solid var(--page-focus);outline-offset:5px;border-radius:8px}
.publication-detail .event-cover figcaption{margin-top:8px;color:var(--page-muted);font-size:12px;text-align:center}
@media(max-width:980px){.afisha-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1200px){.afisha-poster-info{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:14px 0 12px}.afisha-poster-date strong{font-size:28px}.afisha-poster-copy h3{font-size:20px}.afisha-poster-artist,.afisha-poster-venue{font-size:12px}.afisha-poster-action{padding-block:12px;font-size:12px}}
@media(max-width:680px){.afisha-poster-grid{grid-template-columns:1fr;gap:28px}.afisha-poster-action{margin-top:12px}.afisha-results{align-items:flex-start;flex-direction:column}.afisha-filters{margin-top:24px}.publication-detail .event-cover img{max-height:70svh;width:auto}}
@media(prefers-reduced-motion:reduce){.afisha-poster-action img{transition:none}.afisha-poster-link:hover .afisha-poster-action img{transform:none}}

.afisha-poster-stage { transition: transform 420ms cubic-bezier(.22,1,.36,1); }
.afisha-poster-stage::after { content: ""; position: absolute; inset: 0; border: 2px solid var(--page-accent-text); border-radius: inherit; opacity: 0; pointer-events: none; transition: opacity 320ms ease; }
.afisha-poster-date { transition: transform 420ms cubic-bezier(.22,1,.36,1); }
.afisha-poster-copy h3 { transition: color 240ms ease; }
.afisha-poster-link:focus-visible .afisha-poster-stage { transform: translateY(-5px); }
.afisha-poster-link:focus-visible .afisha-poster-stage::after { opacity: .45; }
.afisha-poster-link:focus-visible .afisha-poster-copy h3 { color: var(--page-accent-text); }
@media(hover: hover) {
  .afisha-poster-link:hover .afisha-poster-stage { transform: translateY(-5px); }
  .afisha-poster-link:hover .afisha-poster-stage::after { opacity: .45; }
  .afisha-poster-link:hover .afisha-poster-date { transform: translateY(-2px); }
  .afisha-poster-link:hover .afisha-poster-copy h3 { color: var(--page-accent-text); }
}
@media(prefers-reduced-motion: reduce) {
  .afisha-poster-stage, .afisha-poster-stage::after, .afisha-poster-date, .afisha-poster-copy h3 { transition: none; }
  .afisha-poster-link:is(:hover, :focus-visible) .afisha-poster-stage, .afisha-poster-link:is(:hover, :focus-visible) .afisha-poster-date { transform: none; }
}
