.cinema-hero{background:#291324;color:#fff8ed;padding:50px 0 42px;position:relative;overflow:hidden}
.cinema-hero::after{content:"";position:absolute;right:-70px;top:20px;width:240px;height:240px;border:30px solid #f3b537;transform:rotate(20deg);opacity:.18;pointer-events:none}
.cinema-hero .wrap{position:relative;z-index:1}
.cinema-hero h1{font:800 clamp(36px,5vw,66px)/1.05 var(--display);letter-spacing:-.035em;margin:0 0 18px;max-width:16ch;color:#fff8ed;text-wrap:balance}
.cinema-hero h1 em{font-style:normal;color:#f3b537}
.cinema-hero p{max-width:65ch;color:#f2dce7;font-size:18px;line-height:1.55;margin:0 0 25px}
.cinema-search{display:grid;grid-template-columns:minmax(160px,1fr) 150px 130px auto;gap:12px;align-items:end;background:#fff8ed;padding:20px;border-radius:14px;color:#291324;max-width:1040px}
.cinema-search label,.cinema-control label{display:block;font:700 13px/1.3 var(--body);margin-bottom:7px}
.cinema-search input,.cinema-search select,.cinema-control input,.cinema-control select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #b9a69d;background:#fff;color:#291324;border-radius:7px;font:500 16px/1.3 var(--body);padding:12px;min-height:46px;accent-color:#92154d}
.cinema-search button,.cinema-action{border:0;cursor:pointer;background:#92154d;color:#fff;padding:13px 22px;min-height:46px;border-radius:8px;font:750 16px/1.3 var(--body)}
.cinema-search button:hover,.cinema-action:hover{background:#68103a}
.cinema-search button:disabled{opacity:.65;cursor:wait}
.cinema-location-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:15px;color:#f2dce7;font-size:13px}
.cinema-location-row button{border:0;background:none;color:#f8c85d;font:700 14px/1.3 var(--body);text-decoration:underline;text-underline-offset:4px;padding:8px 0;cursor:pointer;min-height:40px}
.cinema-body{padding:34px 0 60px;background:#fffaf4}
.cinema-calendar-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
.cinema-calendar-head h2{font-size:27px;margin:0 0 6px}
.cinema-calendar-head p{margin:0;color:#694b5a;font-size:14px}
.cinema-control{max-width:240px;min-width:0}
.cinema-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:22px}
.cinema-day{border:1px solid #d9c8bb;background:#fff;color:#291324;cursor:pointer;padding:14px 5px;border-radius:10px;font:600 13px/1.3 var(--body);min-height:91px;text-align:center;font-variant-numeric:tabular-nums}
.cinema-day strong{display:block;font:800 28px/1.1 var(--display);margin:4px 0}
.cinema-day small{display:block;font-size:11px;color:#725064}
.cinema-day[aria-pressed=true]{background:#92154d;border-color:#92154d;color:#fff}
.cinema-day[aria-pressed=true] small{color:#ffdaec}
.cinema-day:hover{outline:2px solid #92154d;outline-offset:2px}
.cinema-notice{padding:14px 18px;background:#f5e4cf;color:#543444;border-radius:10px;font-size:14px;line-height:1.55;margin-bottom:28px}
.cinema-notice a{color:#7f1043;text-decoration:underline;text-underline-offset:3px}
.cinema-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
.cinema-results{min-width:0}
.cinema-results-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:0 0 22px}
.cinema-results h2{font-size:30px;margin:0 0 8px}
.cinema-results-head p{margin:0;color:#694b5a;font-size:14px}
.cinema-movies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}
.cinema-film{min-width:0}
.cinema-film button{border:0;padding:0;text-align:left;cursor:pointer;background:transparent;width:100%;color:#291324}
.cinema-poster{display:block;aspect-ratio:2/3;overflow:hidden;border-radius:10px;background:#291324;position:relative;padding:6px}
.cinema-poster::after{content:"";position:absolute;inset:6px;border:1px solid #f3b53799;border-radius:4px;pointer-events:none}
.cinema-poster img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s}
.cinema-poster-title{position:absolute;inset:20px;display:flex;flex-direction:column;justify-content:space-between;color:#fff6e8;text-align:center;gap:20px}
.cinema-poster-title small{font:700 11px/1.4 var(--body);color:#f8cf73}
.cinema-poster-title strong{font:800 clamp(20px,2vw,29px)/1.15 var(--display);overflow-wrap:anywhere}
.cinema-film button:hover img{transform:scale(1.035)}
.cinema-film h3{font:800 19px/1.22 var(--display);margin:12px 0 6px;overflow-wrap:anywhere}
.cinema-film p{font-size:13px;line-height:1.5;color:#694b5a;margin:3px 0}
.cinema-film .session-link{display:block;color:#8a1048;font:750 14px/1.4 var(--body);margin-top:8px;text-decoration:underline;text-underline-offset:4px}
.cinema-load{display:block;margin:30px auto 0}
.cinema-aside{background:#f4e4ee;padding:22px;border-radius:12px;min-width:0}
.cinema-aside h2{font-size:23px;margin:0 0 15px}
.cinema-venues{display:grid;gap:0;max-height:740px;overflow:auto;scrollbar-color:#9b2258 #f4e4ee}
.cinema-venue{padding:17px 0;border-bottom:1px solid #cba8bb}
.cinema-venue h3{font:750 16px/1.35 var(--body);margin:0 0 5px;overflow-wrap:anywhere}
.cinema-venue p{font-size:13px;line-height:1.5;color:#654154;margin:0 0 8px}
.cinema-venue button{border:0;background:#fff8ed;color:#7f1043;border-radius:6px;min-height:40px;padding:8px 12px;font:700 13px/1.3 var(--body);cursor:pointer;margin:0 8px 6px 0}
.cinema-venue a{color:#7f1043;text-decoration:underline;text-underline-offset:3px;font:650 13px/1.4 var(--body)}
.cinema-venue:last-child{border:0}
.cinema-sessions{background:#fff;border:1px solid #d7b9c8;border-radius:12px;padding:24px;margin-bottom:28px;scroll-margin-top:84px}
.cinema-sessions-head{display:flex;justify-content:space-between;align-items:start;gap:16px}
.cinema-sessions h2{font-size:27px;margin:0 0 10px}
.cinema-sessions p{font-size:14px;color:#694b5a;line-height:1.5}
.cinema-close{background:#f4e4ee;color:#6a103b;border:0;border-radius:7px;min-height:40px;padding:8px 12px;font:700 13px var(--body);cursor:pointer}
.cinema-session-venue{padding:20px 0;border-top:1px solid #eadbd2}
.cinema-session-venue h3{font:750 17px/1.4 var(--body);margin:0 0 10px}
.cinema-times{display:flex;flex-wrap:wrap;gap:9px}
.cinema-time{display:block;padding:10px 12px;border:1px solid #aa5e81;border-radius:7px;color:#77103d;text-decoration:none;font:750 16px/1.2 var(--body);min-height:44px;text-align:center;font-variant-numeric:tabular-nums}
.cinema-time small{display:block;font-size:10px;font-weight:500;color:#654154;margin-top:5px}
.cinema-time:hover{background:#f7deeb}
.cinema-time.unavailable{background:#f2ece6;border-color:#d7c9bd;color:#6c6263}
.cinema-empty{grid-column:1/-1;padding:26px 0;color:#694b5a;font-size:17px;line-height:1.65}
.cinema-status{color:#694b5a;font-size:14px;line-height:1.6;margin:0 0 20px}
.cinema-filter-row{display:flex;gap:14px;flex-wrap:wrap;align-items:end;margin-bottom:22px}
.cinema-filter-row .cinema-control{flex:1;max-width:none;min-width:180px}
.cinema-attribution{font-size:12px;color:#694b5a;line-height:1.7;margin-top:35px;padding-top:20px;border-top:1px solid #e3d1c1}
.cinema-attribution a{color:#7f1043;text-decoration:underline}
.cinema-page :focus-visible{outline:3px solid #92154d;outline-offset:3px}
.cinema-error{color:#7d1647;background:#f8e2ec;padding:18px;border-radius:10px}
.cinema-home-feed{background:#f8dfa1;padding:38px 0}
.cinema-home-feed .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.cinema-home-feed h2{font-size:32px;margin:0 0 10px}
.cinema-home-feed p{max-width:65ch;margin:0;color:#543444;font-size:17px;line-height:1.6}
.cinema-api-doc{max-width:900px;margin:auto;padding:45px 24px 70px}
.cinema-api-doc pre{background:#291324;color:#ffe9a8;padding:20px;border-radius:10px;overflow:auto;font-size:14px}
.cinema-api-doc table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow:auto}
.cinema-api-doc th,.cinema-api-doc td{text-align:left;padding:12px;border-bottom:1px solid #d7c9bd}
@media(max-width:1000px){.cinema-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px}.cinema-movies{grid-template-columns:repeat(2,minmax(0,1fr))}.cinema-search{grid-template-columns:minmax(160px,1fr) 140px 100px auto}.cinema-search button{padding-inline:16px}}
@media(max-width:760px){.cinema-layout{grid-template-columns:1fr}.cinema-aside{order:2}.cinema-venues{max-height:480px}.cinema-search{grid-template-columns:1fr 1fr}.cinema-search .cinema-place{grid-column:1/-1}.cinema-search button{grid-column:1/-1}.cinema-hero{padding:34px 0 30px}.cinema-hero h1{font-size:42px}.cinema-hero p{font-size:16px}.cinema-calendar-head{align-items:start;flex-direction:column;gap:12px}.cinema-calendar-head .cinema-control{max-width:none;width:100%}.cinema-day{font-size:11px;padding:11px 2px;min-height:82px}.cinema-day strong{font-size:24px}.cinema-day small{font-size:9px}.cinema-week{gap:4px}.cinema-results h2{font-size:27px}.cinema-results-head{display:block}.cinema-results-head .cinema-close{margin-top:10px}.cinema-sessions{padding:17px}.cinema-home-feed .wrap{display:block}.cinema-home-feed .cinema-action{display:inline-block;margin-top:20px}.cinema-poster{border-radius:8px}.cinema-film h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.cinema-poster img{transition:none;transform:none!important}}

.cinema-search{grid-template-columns:minmax(150px,1fr) minmax(180px,1.5fr) 135px 110px auto}.cinema-search>*{min-width:0}.cinema-advanced{border:1px solid #d8b8bd;background:#fff4df;border-radius:12px;margin:0 0 22px;padding:18px}.cinema-advanced summary{cursor:pointer;font-size:20px;font-weight:800}.cinema-advanced summary span{display:block;font-size:13px;font-weight:500;margin:8px 0 0;color:#6d4053}.cinema-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.cinema-advanced p{font-size:13px;line-height:1.6}.cinema-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px;margin:16px 0}.cinema-tools button,.cinema-save{background:#fff1cb;border:1px solid #a56885;color:#481c39;border-radius:7px;padding:10px;cursor:pointer;font-size:13px}.cinema-tools label{display:flex;gap:6px;align-items:center}.cinema-tools input[type=checkbox],.cinema-compare-choice input{width:18px;height:18px}.cinema-tools select{max-width:130px;padding:8px}.cinema-save[aria-pressed=true]{background:#582043;color:white}.cinema-film>.cinema-save{margin-top:8px}.cinema-compare-choice{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:13px}.cinema-calendar-link{font-size:12px;text-decoration:underline;padding:8px}.cinema-week{grid-template-columns:repeat(8,minmax(0,1fr))}.cinema-control input,.cinema-control select{max-width:100%;box-sizing:border-box}.cinema-advanced-grid>*{min-width:0}
@media(max-width:1000px){.cinema-search{grid-template-columns:1fr 1fr 1fr}.cinema-search .cinema-place{grid-column:span 2}.cinema-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cinema-search{grid-template-columns:1fr 1fr}.cinema-search .cinema-country,.cinema-search .cinema-place{grid-column:1/-1}.cinema-advanced-grid{grid-template-columns:1fr 1fr}.cinema-advanced{padding:13px}.cinema-week{grid-template-columns:repeat(4,minmax(0,1fr))}.cinema-day{min-height:68px}.cinema-tools{align-items:flex-start}.cinema-tools label{max-width:100%}}

.cinema-search{grid-template-columns:minmax(130px,1fr) minmax(140px,1fr) minmax(240px,2fr) 105px auto;align-items:end}.cinema-place{position:relative}.cinema-city-input{position:relative}.cinema-city-input input{padding-right:100px!important}.cinema-city-input #cinema-change-city{position:absolute;right:4px;top:4px;bottom:4px;padding:6px 10px;background:#fff0c8;color:#56203e;font-size:12px;white-space:nowrap;border:1px solid #cba66e;border-radius:5px;min-height:0;grid-column:auto}.cinema-city-options{position:absolute;top:100%;left:0;right:0;z-index:30;max-height:280px;overflow-y:auto;margin:6px 0 0;padding:5px;list-style:none;background:#fffaf1;border:1px solid #b17d91;border-radius:8px;box-shadow:0 9px 22px #28112629}.cinema-city-options[hidden]{display:none}.cinema-city-options li{margin:0;padding:0}.cinema-city-options button{display:block;width:100%;text-align:left;background:none!important;color:#422036!important;padding:12px!important;border:0;border-radius:4px;min-height:44px;font-weight:600}.cinema-city-options button:hover,.cinema-city-options button:focus,.cinema-city-options button[aria-selected=true]{background:#f7dfad!important;outline:2px solid #872855;outline-offset:-2px}.cinema-city-options small{display:block;color:#72435a;font-weight:400;margin-top:3px}.cinema-city-options .city-empty{padding:12px;font-size:13px;color:#56203e}.cinema-data-credit{font-size:11px;line-height:1.5;color:#654454;padding-top:24px}.cinema-attribution:empty{display:none}.cinema-notice:empty,.cinema-status:empty{display:none}
@media(max-width:1100px){.cinema-search{grid-template-columns:1fr 1fr}.cinema-search .cinema-place{grid-column:1/-1}.cinema-search>button[type=submit]{grid-column:2}.cinema-search .cinema-country{grid-column:auto}}
@media(max-width:760px){.cinema-search{grid-template-columns:1fr 1fr}.cinema-search .cinema-country{grid-column:auto}.cinema-search .cinema-place{grid-column:1/-1}.cinema-search>button[type=submit]{grid-column:2}.cinema-search .cinema-country select{font-size:14px}.cinema-city-input #cinema-change-city{grid-column:auto}}

/* The city picker is rendered outside the clipped decorative banner. */
body>.cinema-city-options{position:fixed;right:auto;z-index:500;box-sizing:border-box;overscroll-behavior:contain;scroll-padding:5px;scrollbar-width:thin;font-family:var(--body,inherit);color:#422036}body>.cinema-city-options button{font-family:inherit;line-height:1.35}body>.cinema-city-options small{line-height:1.4}body>.cinema-city-options .city-empty{line-height:1.5}

body>.cinema-city-options{margin:0}body>.cinema-city-options button{font-size:15px}body>.cinema-city-options small{font-size:12px}

body>.cinema-city-options{scroll-padding-top:48px}body>.cinema-city-options .city-count{position:sticky;top:-5px;z-index:1;background:#fff3da;color:#5b2843;font-size:12px;line-height:1.5;padding:9px;border-bottom:1px solid #d4b5bc}body>.cinema-city-options .city-next{padding:12px;text-align:center;color:#6a294b;font-size:12px;font-weight:600}

body>.cinema-city-options{scroll-padding-top:72px}
