/* Independent behavior and accessibility layer. Visual CSS is retained from the owner's design. */
.site-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html{scroll-behavior:smooth;scroll-padding-top:110px}
:focus-visible{outline:2px solid #b70012!important;outline-offset:4px}
[data-site-fixed-header]{position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:800!important;visibility:hidden;opacity:0;transition:opacity .2s ease-out}
[data-site-fixed-header].site-visible{visibility:visible!important;opacity:1;height:auto!important}
.site-dialog{padding:0;border:0;background:transparent;color:inherit;width:100vw;max-width:none;max-height:none;height:100dvh;margin:0;overflow:auto;inset:0}
.site-dialog[open]{display:block!important;z-index:2000}
.site-dialog::backdrop{background:rgba(0,0,0,.55)}
.site-dialog>.modal-dialog{position:relative}
.site-close{position:absolute;right:8px;top:8px;width:44px;height:44px;z-index:50;border:0;border-radius:50%;background:#fff;color:#151515;font:32px/1 Arial;cursor:pointer}
.site-dialog[data-type=sidemenu]>.modal-dialog{display:block;min-height:100dvh;margin:0 0 0 auto!important}
.site-dialog[data-type=sidemenu][data-side=left]>.modal-dialog{margin:0 auto 0 0!important}
.site-dialog[data-type=sidemenu]::before{display:none!important}
.site-dialog[open] .menu1-root{opacity:1!important;transform:none!important;transition:none!important;min-height:100dvh}
[data-site-carousel]{display:flex!important;flex-direction:row!important;gap:var(--carousel-gap,20px);overflow-x:auto;touch-action:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;padding-top:6px;margin-top:-6px;padding-bottom:5px}
[data-site-carousel]>.slide-block{flex:0 0 calc((100% - 3 * var(--carousel-gap,20px))/4);scroll-snap-align:start;min-width:0}
[data-site-carousel]::-webkit-scrollbar{display:none}
@media(max-width:999px){[data-site-carousel]>.slide-block{flex-basis:calc((100% - var(--carousel-gap,20px))/2)}}
@media(max-width:599px){[data-site-carousel]>.slide-block{flex-basis:100%}}
.site-map-link{height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;background:#181818;color:#f6ebd7!important;border:1px solid #655d50;border-radius:10px;text-decoration:underline}
.spoiler2-header{cursor:pointer}
[data-local-notice]{padding:14px;font:16px/1.5 sans-serif;background:#f6ebd7;color:#810009;border-radius:8px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
[data-site-motion] .marquee-content{flex-shrink:0;animation:site-marquee var(--motion-duration,30s) linear infinite var(--motion-direction,normal)}
@keyframes site-marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
#cookie-consent[hidden]{display:none!important}
/* Constructor used to reveal modal contents after its animation callback. */
.site-dialog[open] .modal1-root,.site-dialog[open] .modal2-root,.site-dialog[open] .modal4-root{opacity:1!important;transform:none!important}

/* Motion layer: stage entrances, responsive interaction, no external runtime. */
:root{--site-ease:cubic-bezier(.16,1,.3,1)}
.btn,.afisha__card-buy,.afisha__cat,.afisha__date,.afisha__cat-select{
 transition-property:translate,scale,background-color,color,opacity,background-size!important;
 transition-duration:180ms!important;transition-timing-function:var(--site-ease)!important;
}
.btn:active,.afisha__card-buy:active,.afisha__cat:active,.afisha__date:active{scale:.96}
.afisha__card-photo{overflow:hidden}
.afisha__card-photo img{transition:transform 420ms var(--site-ease)}
[data-site-carousel]>.slide-block{transition:translate 240ms var(--site-ease)}
.spoiler2-header i{transform:none!important;transition:rotate 240ms var(--site-ease)!important}
.spoiler2-header[aria-expanded=true] i{rotate:180deg}
[data-site-fixed-header]{translate:0 -10px;transition:opacity 220ms var(--site-ease),translate 280ms var(--site-ease)}
[data-site-fixed-header].site-visible{translate:0 0}
.site-dialog::backdrop{animation:site-backdrop-in 260ms ease-out both}
.site-dialog.site-closing::backdrop{animation:site-backdrop-out 160ms ease-in both}
@keyframes site-backdrop-in{from{background:rgba(0,0,0,0)}to{background:rgba(0,0,0,.55)}}
@keyframes site-backdrop-out{from{background:rgba(0,0,0,.55)}to{background:rgba(0,0,0,0)}}
[data-local-notice]{animation:site-notice-in 220ms var(--site-ease)}
@keyframes site-notice-in{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
input,textarea{transition:border-color 180ms ease-out,box-shadow 180ms ease-out}
input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px rgba(183,0,18,.14)}
.site-motion-paused .marquee-content{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){
 .btn:hover,.afisha__card-buy:hover{translate:0 -2px}
 .afisha__card-photo:hover img{transform:scale(1.035)}
 [data-site-carousel]>.slide-block:hover{translate:0 -3px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .btn:active,.afisha__card-buy:active,.afisha__cat:active,.afisha__date:active{scale:1}
 .btn:hover,.afisha__card-buy:hover,[data-site-carousel]>.slide-block:hover{translate:none}
 .afisha__card-photo:hover img{transform:none}
}

/* Choreography v2 — paper posters, stage lettering and photographic curtains. */
.site-brand{white-space:nowrap}
.site-letter{display:inline-block;transform-origin:50% 100%}
.site-sticker{transition:translate 460ms var(--site-ease)}
.site-sticker img{transform-origin:50% 65%}
.afisha__card-photo{border-radius:inherit;perspective:900px}
.afisha__card-photo img{transition:transform 480ms var(--site-ease),filter 300ms ease-out}
.afisha__card-buy-arrow{transition:translate 220ms var(--site-ease)}
.afisha__card:focus-within .afisha__card-buy-arrow{translate:4px -2px}
.site-resident-card .bgnormal{overflow:hidden;border-radius:17px}
.site-resident-card .bgnormal img{transition:transform 550ms var(--site-ease)}
.site-partner-logo{transition:translate 260ms var(--site-ease),scale 260ms var(--site-ease)}
[data-motion-block=gifts] .widget-zero img{transition:rotate 450ms var(--site-ease),translate 450ms var(--site-ease)}
[data-site-carousel]{overscroll-behavior-x:contain}
[data-site-carousel]>.slide-block:focus-within{outline-offset:-3px}
.cr-menu li a,.widget-menu a{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size 240ms var(--site-ease),color 180ms ease-out}
/* Menu links already draw one animated underline on the anchor. */
.cr-menu li a .text,.widget-menu a .text{background-image:none!important}
.cr-menu li a:focus-visible,.widget-menu a:focus-visible{background-size:100% 1px}
.site-ticket-link .btn-content{transition:translate 200ms var(--site-ease)}
@media(hover:hover) and (pointer:fine){
 .site-sticker:hover img{rotate:calc(var(--sticker-direction,1)*5deg);transition:rotate 350ms var(--site-ease)}
 .afisha__card:hover .afisha__card-photo img{transform:scale(1.055) rotate(-1deg)}
 .afisha__card:hover .afisha__card-buy-arrow{translate:4px -2px}
 .site-resident-card:hover .bgnormal img{transform:scale(1.065)}
 .site-resident-card:hover{translate:0 -5px}
 .site-partner-logo:hover{translate:0 -5px;scale:1.025}
 [data-motion-block=gifts] .widget-zero:hover .zero-layer:nth-of-type(2) img{rotate:-5deg;translate:-7px -4px}
 [data-motion-block=gifts] .widget-zero:hover .zero-layer:nth-of-type(3) img{rotate:5deg;translate:7px -4px}
 .cr-menu li a:hover,.widget-menu a:hover{background-size:100% 1px}
 .site-ticket-link:hover .btn-content{translate:3px 0}
}
@media(prefers-reduced-motion:reduce){
 .site-letter,.site-sticker,.site-sticker img,.site-partner-logo,.site-resident-card,.site-resident-card .bgnormal img,
 [data-motion-block=gifts] .widget-zero img,.site-ticket-link .btn-content,.afisha__card-buy-arrow{translate:none!important;rotate:none!important;scale:none!important;transform:none!important}
}
/* Navigation labels, including the retained visual-button header. */
#gl .widget-button .text,[data-site-fixed-header] .widget-button .text{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size 240ms var(--site-ease)}
@media(hover:hover) and (pointer:fine){
 #gl .widget-button a:hover .text,[data-site-fixed-header] .widget-button a:hover .text{background-size:100% 1px}
}

/* Temporary: hide the ticket-service outage banner, including its manager button. */
.widget-grid:has(> .grid > .gridwrap > .col > .cont > .widget-button a[href="https://t.me/locostandup?direct"]){display:none!important}

/* Company details follow the existing document-page typography and palette. */
.company-details{max-width:1000px;margin:0 auto;color:inherit;padding:0 12px 32px}
.company-details h1{margin-bottom:24px}
.company-intro{font-size:18px;line-height:1.6;margin-bottom:42px}
.company-details h2{font:inherit;font-size:24px;font-weight:600;margin:40px 0 16px}
.company-details dl{margin:0}
.company-details dl>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:24px;padding:17px 0;border-bottom:1px solid rgba(128,128,128,.3)}
.company-details dt{opacity:.7}
.company-details dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.company-details dl,.company-links{font-size:17px;line-height:1.6}
.company-details a{text-decoration:underline;text-underline-offset:4px;color:inherit}
.company-links{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:40px}
@media(max-width:599px){.company-details dl>div{grid-template-columns:1fr;gap:6px}.company-details h1{font-size:42px!important;line-height:1.15}.company-details{padding-inline:0}.company-details dl{font-size:16px}}

/* Retained button styles must not override the local interaction transitions. */
body .button-container .btn-legacy{transition-property:translate,scale,background-color,color,opacity,background-size!important;transition-duration:180ms!important;transition-timing-function:var(--site-ease)!important}
@media(prefers-reduced-motion:reduce){body .button-container .btn-legacy{transition:none!important}}

/* Server-rendered schedule stays usable without JavaScript. */
#afisha-root:not(.afisha--mobile):not(.afisha--tablet) .afisha__card-photo img.is-loaded{opacity:1}
.site-event-location,.site-event-status{font-size:16px;line-height:1.5;margin:12px 0 22px}
@media(max-width:700px){#afisha-root .afisha__events{grid-template-columns:1fr}}

/* Full event date must not squeeze into the old short-date column. */
.site-event-date-column{width:100%!important}
.site-event-date-column p.css41{white-space:nowrap}
@media(max-width:700px){.site-event-time-row>.col{width:100%!important}}

/* Permanent show page: existing club typography, quiet date rows, direct purchase. */
.show-page{max-width:1080px}.show-eyebrow{font-size:13px;letter-spacing:.14em;opacity:.7}
.show-page section{margin-top:56px}.show-page section>p{max-width:740px;font-size:18px;line-height:1.6}
.show-page .show-date{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:28px 0;border-bottom:1px solid #ffffff35;font-size:18px;font-variant-numeric:tabular-nums}
.show-date time{font-size:24px}.show-date p{margin:8px 0;font-size:15px;opacity:.75}.show-date div>a{font-size:15px}
.show-page a.show-buy{background:#c90012;color:#fff;text-decoration:none;padding:16px 24px;border-radius:50px;white-space:nowrap;transition:background-color 180ms ease,scale 180ms ease}
.show-page a.show-buy:hover{background:#a90010}.show-page a.show-buy:active{scale:.97}.show-page a:focus-visible{outline:2px solid #fff;outline-offset:5px}
.show-jump{display:inline-block;padding:12px 0}.show-page #show-dates{scroll-margin-top:125px}
#show-refresh-status{font-size:14px;min-height:1.5em}.show-page .company-intro{max-width:760px}
@media(max-width:700px){.show-page .show-date{grid-template-columns:1fr auto;gap:18px}.show-date time{font-size:21px}.show-page a.show-buy{grid-column:1/-1;text-align:center}.show-page section{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.show-page a.show-buy{transition:none}}

/* Match the concert page, not the legal-document template. */
.open-mic-page .show-redesign{max-width:none;color:#f8efe1;padding:0}
.show-redesign .show-hero{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:34px;align-items:start}
.show-redesign h1{font:400 clamp(58px,5.4vw,88px)/1 'Calama_new',sans-serif!important;margin:12px 0 28px;color:#f8efe1}
.show-redesign h2{font:400 48px/1.08 'Calama_new',sans-serif;margin:12px 0 24px;color:inherit}
.show-redesign p{font-size:18px;line-height:1.55}
.show-redesign .show-eyebrow{font-size:12px;letter-spacing:.13em;opacity:.7}
.show-redesign .show-lead{font-size:24px;line-height:1.4}.show-redesign .show-address{font-size:15px;margin:28px 0}
.show-poster{margin:0}.show-poster img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 20px 60px #0005}
.show-redesign .show-hero-description h2{font-size:32px;background:#080808;display:inline-block;padding:10px 18px;border:1px solid #ffffff30;border-right-color:#c90012;margin:0 0 18px}
.show-redesign .show-hero-description p{margin-bottom:24px}
.show-redesign a{color:inherit;text-underline-offset:5px}
.show-redesign a.show-buy{background:linear-gradient(110deg,#e50011,#c90012);display:inline-block;font:400 27px/1.2 'Calama_new',sans-serif;box-shadow:inset 0 2px 5px #ffffff35;color:#fff;padding:18px 28px}
.show-redesign .show-hero-cta{width:100%;text-align:center;box-sizing:border-box}
.show-redesign .show-dates-panel{background:#f8efe1;color:#1b1917;border-radius:24px;padding:42px 44px;margin-top:64px}
.show-redesign .show-date{border-bottom-color:#211d1929}.show-redesign .show-date time{font-weight:600}.show-redesign .show-date strong{white-space:nowrap}
.show-redesign .show-date div>a{color:#50433b}.show-redesign .show-dates-panel a:focus-visible{outline-color:#b00011}
.show-redesign .show-atmosphere{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;margin:64px 0}
.show-atmosphere>img{width:100%;border-radius:18px;display:block}.show-atmosphere h2{font-size:58px}
@media(max-width:1000px){.show-redesign .show-hero{grid-template-columns:1fr 1fr;gap:28px}.show-hero-description{grid-column:1/-1}.show-redesign .show-hero-description p{max-width:720px}.show-redesign .show-dates-panel{padding:30px}}
@media(max-width:600px){.show-redesign .show-hero{grid-template-columns:1fr;gap:26px}.show-redesign h1{font-size:64px!important}.show-redesign .show-lead{font-size:21px}.show-poster{max-width:420px;width:100%;margin:auto}.show-redesign .show-dates-panel{padding:24px 18px;border-radius:18px;margin-top:36px}.show-redesign h2{font-size:40px}.show-redesign .show-date{grid-template-columns:1fr;gap:12px}.show-redesign .show-date time{font-size:20px}.show-redesign .show-atmosphere{grid-template-columns:1fr;gap:24px;margin:40px 0}.show-redesign p{font-size:17px}}

/* The inherited Telegram promo needs compact mobile typography and button sizing. */
@media(max-width:600px){
 .open-mic-page .loco-layout-node.css54>.padding_top{padding-top:32px!important}
 .open-mic-page .loco-layout-node.css55{padding:26px 20px!important}
 .open-mic-page .textable.css57{font-size:34px!important;line-height:1.12!important;overflow-wrap:anywhere}
 .open-mic-page .textable.css59{font-size:16px!important;line-height:1.5!important}
 .open-mic-page .css60 .button-wrapper,.open-mic-page .css60 .btn{width:100%;max-width:100%;box-sizing:border-box}
 .open-mic-page .css60 .pad-left,.open-mic-page .css60 .pad-right{width:14px!important;flex-shrink:0}
 .open-mic-page .css60 .text{white-space:normal;font-size:22px!important;line-height:1.2!important}
 .open-mic-page .show-atmosphere{padding-bottom:24px}
}

/* Format directory and longer show names keep the existing concert layout. */
.show-directory{max-width:1180px;margin:24px auto 48px;padding:0 20px;gap:12px 24px;box-sizing:border-box}
.show-directory a{font-size:16px;line-height:1.5;text-underline-offset:4px;color:inherit}
.show-redesign h1{overflow-wrap:anywhere}
.show-redesign .show-date-title{opacity:1;font-weight:500;max-width:540px}
@media(max-width:600px){.show-redesign h1{font-size:54px!important}.show-directory{gap:10px 20px}.show-date div{min-width:0}}

/* Visitor information uses the same visual vocabulary as concert/show pages. */
.site-event-arrival,.site-visitor-link{display:block;font-size:16px;line-height:1.5;margin:12px 0;color:#f8efe1}
.site-hours-note{font-size:14px;line-height:1.5;margin:12px 0 0;max-width:360px}
.visitor-entrance figcaption{font-size:14px;line-height:1.5;margin-top:12px;color:#f8efe1}
.visitor-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:32px}
.visitor-info h3{font-family:Calama_new,sans-serif;font-size:36px;line-height:1.1;margin:0 0 16px}
.visitor-info p,.visitor-info dl{font-size:18px;line-height:1.6}
.visitor-info p{margin:0 0 16px}.visitor-info a{color:inherit;text-underline-offset:5px}
.visitor-hours{margin:0}.visitor-hours dt{font-weight:600}.visitor-hours dd{margin:0 0 16px}
.visitor-guide a{overflow-wrap:anywhere}
.visitor-columns>div{min-width:0}
.visitor-guide{padding-bottom:64px!important}
@media(max-width:1279px){.visitor-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}.visitor-columns>div:last-child{grid-column:1/-1}.visitor-info h3{font-size:32px}}
@media(max-width:700px){.visitor-columns{grid-template-columns:1fr;gap:24px}.visitor-columns>div:last-child{grid-column:auto}}
@media(max-width:600px){.visitor-info p,.visitor-info dl{font-size:16px}.visitor-hero .show-hero-copy h1{font-size:52px}}
.visitor-guide .visitor-info a{color:#50433b!important}
/* Image-based ticket links need a real box for pointer and keyboard activation. */
.widget-image .bgnormal>a[href*="ticketscloud.com"]{display:inline-block;vertical-align:top;max-width:100%;line-height:0}

/* Explicit event states and links between a show and its individual dates. */
.site-related-show{display:flex;flex-direction:column;gap:10px;margin:16px 0;font-size:16px;line-height:1.4}
.site-related-show a{color:#f8efdf;text-decoration:underline;text-underline-offset:4px}
.site-event-status,.schedule-health{font-size:16px;line-height:1.5;margin:10px 0;overflow-wrap:anywhere}
.afisha__card-actions{flex-wrap:wrap}
.afisha__card-actions>.site-event-status{flex-basis:100%}
.show-program{line-height:1.65}
.show-program h2{margin-top:0}
.show-program a{color:#50433b!important;text-decoration:underline}
.show-program p{margin:12px 0}
.show-program>div{max-width:900px}
/* Compact footer navigation; links remain in server-rendered HTML. */
.footer-shows{max-width:1180px;margin:24px auto 0;padding:0 20px;color:#f8efdf;box-sizing:border-box}
.footer-shows summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 0;border-top:1px solid #ffffff35;cursor:pointer;font-size:17px;list-style:none}
.footer-shows summary::-webkit-details-marker{display:none}
.footer-shows summary::after{content:'+';font-size:24px;font-weight:400}
.footer-shows[open] summary::after{content:'−'}
.footer-shows-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 28px;padding:12px 0 24px}
.footer-shows-links a{display:flex;align-items:center;min-height:44px;color:#f8efdf!important;font-size:15px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.footer-shows-links a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-shows :focus-visible{outline:2px solid #f8efdf;outline-offset:3px}
@media(max-width:600px){.footer-shows{margin-top:18px}.footer-shows-links{grid-template-columns:1fr;gap:0}}
.footer-shows{position:relative;z-index:2}

.site-yandex-map{height:100%;min-height:340px;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#181818}.site-yandex-map iframe{display:block;width:100%;height:380px;min-height:300px;flex:1;border:0}.site-yandex-map>a{display:block;padding:12px 16px;color:#f8efdf!important;font-size:14px;line-height:1.5;text-align:center;text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.site-yandex-map iframe{height:360px;flex:none}.site-yandex-map>a{font-size:12px}}
.macros-map:has(>.site-yandex-map){height:420px!important}.site-yandex-map{min-height:0}.site-yandex-map iframe{min-height:0;height:360px;flex:1}.site-yandex-map>a{flex:none}@media(max-width:600px){.macros-map:has(>.site-yandex-map){height:410px!important}}

/* Preserve the source strip ratio, including Safari flex layout. */
[data-site-motion] .marquee-content img{width:358px!important;height:auto!important;aspect-ratio:484 / 44;object-fit:contain;flex:0 0 358px;align-self:center}

/* Live search shares the schedule filters; no external requests. */
.afisha-search{margin:0 0 20px;width:100%;box-sizing:border-box;color:#272321;font-family:Inter,sans-serif}
.afisha-search label{display:block;font-size:16px;font-weight:500;margin-bottom:10px}
.afisha-search-field{display:flex;align-items:center;border:1px solid #27232170;border-radius:28px;background:#fff8ed;min-height:54px;overflow:hidden}
.afisha-search-field:focus-within{outline:2px solid #bd0012;outline-offset:3px}
.afisha-search input{appearance:none;min-width:0;flex:1;width:100%;border:0;background:transparent;color:#272321;padding:15px 20px;font:400 16px/1.4 Inter,sans-serif;outline:none}
.afisha-search input::placeholder{color:#6b6259;opacity:1}
.afisha-search input::-webkit-search-cancel-button{display:none}
.afisha-search button{flex:none;width:48px;min-height:48px;border:0;background:transparent;color:#272321;font:400 28px/1 sans-serif;cursor:pointer}
.afisha-search button[hidden]{display:none}
.afisha-search-status{margin:8px 0 0;font-size:14px;line-height:1.4}
@media(max-width:600px){.afisha-search{margin-bottom:20px;max-width:none}.afisha-search input{padding:14px 16px}}

/* Compact calendar → search → format chips → cards. */
.afisha-search-status:empty{display:none}
#afisha-root .afisha__dates-row{margin-bottom:24px;padding-inline:0}
#afisha-root .afisha__filters{gap:12px;margin-bottom:24px;padding:0;min-width:0}
#afisha-root .afisha__categories{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
#afisha-root .afisha__cat{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid #27232140;background:transparent;color:#272321;font:500 14px/1.3 Inter,sans-serif;border-radius:24px;white-space:nowrap;box-sizing:border-box}
#afisha-root .afisha__cat svg{display:block;width:18px;height:18px;flex:none}
#afisha-root .afisha__cat:hover{background:#e8ddcc;border-color:#27232170}
#afisha-root .afisha__cat.is-active{background:#bd0012;border-color:#bd0012;color:#fff}
#afisha-root .afisha__cat:focus-visible{outline:2px solid #bd0012;outline-offset:3px}
#afisha-root .afisha__cat-dd{display:none}
@media(max-width:700px){
 #afisha-root .afisha__filters{display:flex;flex-direction:column;align-items:stretch}
 #afisha-root .afisha__categories{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:4px 2px 8px;scroll-padding-inline:2px;scrollbar-width:thin;scrollbar-color:#b7a38b transparent}
 #afisha-root .afisha__cat{flex:0 0 auto}
 #afisha-root .afisha__reset{align-self:flex-start}
}

/* Cooperation directions: editorial headings, not button artwork. */
#sotr .cooperation-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px;margin:0 0 24px}
#sotr .cooperation-direction{min-width:0}
#sotr .cooperation-direction h3{font-family:Calama_new,sans-serif;font-size:32px;font-weight:400;line-height:1.15;text-transform:uppercase;color:#f9efde;margin:0 0 14px}
#sotr .cooperation-direction h3::after{content:"";display:block;width:36px;height:2px;background:#c1251b;margin-top:12px}
#sotr .cooperation-direction p{font-family:Inter,sans-serif;font-size:14px;line-height:1.55;color:#c8c5c0;margin:0}
@media(min-width:601px) and (max-width:1000px){#sotr .cooperation-directions{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:600px){#sotr .cooperation-directions{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px}#sotr .cooperation-direction h3{font-size:30px;margin-bottom:12px}#sotr .cooperation-direction p{font-size:15px;max-width:40ch}}

/* Shared social disclosure: compact on phones, clear labels when expanded. */
.social-widget{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:900;font-family:Inter,sans-serif;color:#f9efde}
.social-widget-toggle{display:flex;align-items:center;justify-content:center;gap:10px;width:56px;min-height:56px;padding:0;border:1px solid #d5cbb9;border-radius:30px;background:#f9efde;color:#171717;font:600 14px/1 Inter,sans-serif;box-shadow:0 4px 22px #0003;cursor:pointer;transition:background-color .16s,color .16s}
.social-widget-toggle>svg{width:24px;height:24px;flex:none}.social-widget-toggle>.social-widget-close{display:none}
.social-widget.is-open .social-widget-toggle>svg:not(.social-widget-close){display:none}.social-widget.is-open .social-widget-close{display:block}.social-widget.is-open .social-widget-toggle{background:#bd0012;border-color:#bd0012;color:#fff}
.social-widget-toggle:hover{background:#eadcc5}.social-widget.is-open .social-widget-toggle:hover{background:#9c0010}
.social-widget-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:300px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px);overflow-y:auto;box-sizing:border-box;padding:20px 12px 12px;border:1px solid #f9efde40;border-radius:20px;background:#171717;box-shadow:0 8px 32px #0005}
.social-widget-panel[hidden]{display:none!important}
.social-widget-heading{font:400 30px/1.15 Calama_new,sans-serif;color:#f9efde;padding:0 8px 16px}
.social-widget-panel a{display:flex;align-items:center;gap:12px;padding:10px 8px;min-height:64px;box-sizing:border-box;color:#f9efde;text-decoration:none;border-radius:12px;transition:background-color .16s}
.social-widget-panel a:hover{background:#f9efde12}.social-widget-panel strong{display:block;font-size:15px;font-weight:600;line-height:1.4}.social-widget-panel small{display:block;font-size:12px;line-height:1.5;color:#bdb8b0}
.social-widget-icon{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:50%;background:#f9efde;color:#171717}.social-widget-icon svg{width:22px;height:22px}.social-widget-vk{font-size:14px;font-weight:800;letter-spacing:-1px}.social-widget-arrow{margin-left:auto;font-size:20px}
.social-widget a:focus-visible,.social-widget button:focus-visible{outline:2px solid #e34034;outline-offset:3px}
body:has(dialog[open]) .social-widget{visibility:hidden;pointer-events:none}
@media(max-width:600px){.social-widget{right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}.social-widget-toggle{width:56px;padding:0}.social-widget-toggle>span:not(.social-widget-close){display:none}.social-widget-panel{width:288px}}
@media(prefers-reduced-motion:reduce){.social-widget-toggle,.social-widget-panel a{transition:none}}
@media print{.social-widget{display:none}}

/* Audit fixes: keep the cream/red palette with readable small labels. */
.afisha__date-wd,.afisha__month-sep,.afisha__month-label{color:#68635e!important}
.afisha__date.is-weekend .afisha__date-wd{color:#a62013!important}
.afisha__date.is-active .afisha__date-wd{color:inherit!important}
#rezidenti .css96{color:#68635e!important}
#otz .css115,.section.css105 .css115,.section.css105 .css119{color:#edb9b5!important}
.afisha__card-buy-arrow{width:13px!important;height:13px!important;object-fit:contain}
