/* Keep the existing theatre identity; only navigation and schedule controls change. */
:root { --teatr-admin-offset: 0px; --teatr-header-height: 72px; }
.header {
  position: sticky;
  top: var(--teatr-admin-offset);
  z-index: 100;
  flex-shrink: 0;
  background: #ecd8c4;
}
html { scroll-padding-top: calc(var(--teatr-admin-offset) + var(--teatr-header-height) + 16px); }
.burger_menu { height: calc(100dvh - var(--teatr-admin-offset) - var(--teatr-header-height)); }
.afisha[data-post="poster"] .show_filter { border: 0; padding: 0; background: none; font: inherit; color: inherit; cursor: pointer; }
.afisha[data-post="poster"] .left_filter { color: #211d1d; scrollbar-width: thin; scrollbar-color: #877b71 #ecd8c4; }
.afisha[data-post="poster"] .filter_item { margin-bottom: 20px; padding-bottom: 0; border: 0; }
.afisha[data-post="poster"] .filter_title { display: block; margin-bottom: 8px; opacity: 1; color: #655c54; }
.afisha[data-post="poster"] .checkbox_item { margin: 0; }
.afisha[data-post="poster"] .custom-checkbox + label { min-height: 30px; line-height: 1.35; }
.afisha[data-post="poster"] .podbor_block { gap: 6px; }
.afisha[data-post="poster"] .podbor_item { height: auto; min-height: 34px; padding: 7px 10px; text-align: left; background: transparent; }
.afisha[data-post="poster"] .podbor_item.active,
.afisha[data-post="poster"] .podbor_item:hover { background: #211d1d; color: #ecd8c4; }
.afisha[data-post="poster"] .serch_block { margin-bottom: 20px; }
.afisha[data-post="poster"] .serch_block button { border: 0; background: transparent; padding: 0; cursor: pointer; }
.poster_calendar.calendar { max-width: none; width: 100%; }
.poster_calendar_modes { display: flex; gap: 4px; margin-bottom: 8px; }
.poster_calendar_modes button { flex: 1; min-height: 32px; border: 0; padding: 5px 8px; font: inherit; font-size: 13px; color: #655c54; background: transparent; cursor: pointer; }
.poster_calendar_modes button:hover { background: rgba(255,81,77,.08); }
.poster_calendar_modes button[aria-pressed="true"] { color: #211d1d; background: rgba(255,81,77,.16); box-shadow: inset 0 -2px #ff514d; }
.poster_calendar .this_date { padding-bottom: 8px; gap: 4px; }
.poster_calendar .this_date_val { flex: 1; text-align: center; text-transform: capitalize; white-space: nowrap; }
.poster_calendar_prev, .poster_calendar_next { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; min-height: 32px; padding: 0; border: 0; color: #ff514d; background: transparent; cursor: pointer; }
.poster_calendar_prev:disabled, .poster_calendar_next:disabled { color: #877b71; opacity: .5; cursor: default; }
.poster_calendar_prev:not(:disabled):hover, .poster_calendar_next:not(:disabled):hover { color: #211d1d; }
.poster_calendar_table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-top: 8px; font-size: 14px; }
.poster_calendar_table th { height: 28px; padding: 0; font-weight: 400; font-size: 12px; color: #655c54; text-align: center; }
.poster_calendar_table td { padding: 1px 0; text-align: center; }
.poster_calendar_day { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 30px; padding: 0 0 3px; border: 0; background: transparent; color: #211d1d; font: inherit; font-variant-numeric: tabular-nums; cursor: pointer; }
.poster_calendar_day:disabled { color: #655c54; opacity: .55; cursor: default; }
.poster_calendar_day.has-shows::after { content: ''; position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #ff514d; bottom: 3px; left: calc(50% - 1.5px); }
.poster_calendar_day:not(:disabled):hover { background: rgba(255,81,77,.16); }
.poster_calendar_day.is-in-range { background: rgba(255,81,77,.16); }
.poster_calendar_day.is-in-range:hover { background: rgba(255,81,77,.24); }
.poster_calendar_day[aria-pressed="true"], .poster_calendar_day[aria-pressed="true"]:hover { background: #ff514d; color: #211d1d; }
.poster_calendar_day[aria-pressed="true"]::after { background: currentColor; }
.poster_calendar_day[aria-current="date"] { box-shadow: inset 0 -1px #211d1d; }
.poster_calendar_hint { margin-top: 8px; font-size: 11px; line-height: 1.4; color: #655c54; }
.poster_calendar_selection { min-height: 2.8em; margin-top: 8px; font-size: 12px; line-height: 1.4; color: #211d1d; overflow-wrap: anywhere; }
.poster_clear_date, .poster_reset_filters { display: block; margin-top: 8px; border: 0; padding: 6px 0; text-decoration: underline; text-underline-offset: 4px; font: inherit; font-size: 14px; color: #211d1d; background: none; cursor: pointer; }
.poster_clear_date[hidden] { display: none; }
.poster_reset_filters { margin-top: 0; }
.afisha[data-post="poster"] .filter_btn { display: none; }
.poster_date_summary { margin-bottom: 24px; font-size: 18px; }
.afisha[data-post="poster"] button:focus-visible,
.afisha[data-post="poster"] input:focus-visible,
.afisha[data-post="poster"] .left_filter:focus-visible { outline: 2px solid #211d1d; outline-offset: 3px; }
.afisha[data-post="poster"] .custom-checkbox:focus-visible + label { outline: 2px solid #211d1d; outline-offset: 2px; }
.poster_results_status.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 992px) {
  .afisha[data-post="poster"] .left_filter {
    position: sticky;
    top: calc(var(--teatr-admin-offset) + var(--teatr-header-height) + 16px);
    max-height: calc(100dvh - var(--teatr-filter-offset, 120px) - 16px);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    padding: 3px 10px 8px 3px;
    margin-bottom: 0;
  }
}
@media (max-width: 991px) {
  .afisha[data-post="poster"] .left_filter { position: static; margin-bottom: 24px; }
  .afisha[data-post="poster"] .custom-checkbox + label { min-height: 40px; }
  .afisha[data-post="poster"] .podbor_item { min-height: 40px; }
  .poster_calendar { max-width: 350px; }
  .poster_calendar_day { min-height: 40px; }
  .poster_calendar_modes button { min-height: 40px; }
  .poster_calendar_prev, .poster_calendar_next { flex-basis: 40px; min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { html, body { scroll-behavior: auto; } }
