/* RigaLife 2.5 — a clear, light programme for the selected day. */
html { scroll-padding-top: 115px; }
body { --muted:#5f6e67; }
.header-compact .header-strip { display:none; }
.header-compact .header-row { min-height:74px; }
.header-compact .brand.brand-edition { width:205px; }
.header-compact .brand-caption { display:none; }
.site-header .brand-wordmark { object-fit:contain; height:auto; }
.home-refined .afisa-intro { padding:30px 0 24px; }
.home-refined .afisa-intro h1 { font-size:clamp(38px,4.3vw,60px); }
.home-refined .home-date-planner { margin:0 0 22px; padding:24px; grid-template-columns:245px minmax(0,1fr); }
.rl-date-field>label { font-size:12px; }
.rl-date-input-wrap input { min-height:48px; font-size:15px; }
.rl-calendar-toggle { min-height:46px; min-width:44px; }
.home-date-heading h2 { font-size:29px; }
.home-date-heading>p { font-size:13px; line-height:1.6; }
.home-date-days { gap:8px; }
.home-date-day { min-height:83px; }
.home-date-day small { font-size:10px; white-space:nowrap; }
.home-day-form { display:grid; grid-template-columns:minmax(180px,1fr) 170px auto; align-items:end; gap:12px; margin-top:17px; }
.home-day-form>.rl-date-field { width:auto; min-width:0; }
.home-search-label { min-width:0; }
.home-search-label>span:first-child { display:block; font-size:12px; font-weight:700; margin-bottom:7px; }
.home-search-label input { width:100%; min-width:0; min-height:48px; padding:11px 12px 11px 38px; border:1px solid #d8ded2; background:#fff; border-radius:10px; font:inherit; font-size:14px; }
.home-day-form>.button { margin-bottom:22px; white-space:nowrap; font-size:13px; }
.home-search-label { padding-bottom:22px; }
.home-refined .quick-plans { gap:12px; margin-bottom:10px; }
.home-refined .quick-plan { min-height:76px; padding:13px 15px; }
.quick-plan small { font-size:11px; }
.home-categories { margin-bottom:0; flex-wrap:nowrap; overflow-x:auto; padding:14px 0; scrollbar-width:thin; }
.home-categories .category-chip { flex:none; }
.home-refined .home-section { margin-top:32px; }
.home-refined .section-heading h2 { font-size:32px; }
.day-events-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-search-summary { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 18px; font-size:14px; }
.home-search-summary a { display:inline-flex; gap:5px; align-items:center; color:var(--accent-deep); }
.home-search-summary .icon { width:15px; }
.home-bottom-links { display:flex; flex-wrap:wrap; gap:20px 32px; align-items:center; padding:28px 0 4px; }
.event-visual { height:auto; min-height:0; aspect-ratio:16/10; padding:10px; background:#f7f5ee; }
.event-visual>img { width:100%; height:100%; object-fit:contain; max-width:100%; }
.event-card { box-shadow:none; }
.event-card-body { padding:18px 20px 17px; }
.event-title { font-size:23px; line-height:1.28; min-height:0; margin:11px 0 14px; }
.event-title a { -webkit-line-clamp:3; }
.event-date { font-size:12px; }
.event-card-bottom { font-size:14px; gap:8px; line-height:1.5; }
.card-read { font-size:13px; margin-top:16px; padding-top:13px; }
.event-badges { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 13px; }
.event-badge { display:inline-flex; align-items:center; min-height:25px; padding:4px 8px; border-radius:7px; font-size:12px; line-height:1.4; font-weight:700; background:#eef4e9; color:#466044; }
.badge-age { background:#edf3f8; color:#456273; }
.badge-offer { background:#fff1da; color:#815b30; }
.badge-status-moved { background:#fff0dc; color:#925424; }
.badge-status-cancelled { background:#ffe9e3; color:#9c3423; }
.status-note { color:#95502f; font-size:14px; line-height:1.6; margin:9px 0; }
.fav-btn { width:44px; height:44px; min-height:44px; }
.latest-events { padding:24px; background:#fff7ec; margin-bottom:0; }
.latest-events .section-heading p { font-size:13px; line-height:1.65; margin-top:9px; }
.latest-events .latest-events-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.latest-events-grid>.latest-event { min-width:0; grid-column:auto!important; display:flex; flex-direction:column; }
.latest-events-grid .event-card { flex:1; }
.latest-events-grid .event-visual { height:auto; min-height:0; aspect-ratio:16/10; padding:9px; }
.latest-events-grid .event-title { font-size:20px; min-height:0; }
.latest-events-grid .event-card-body { padding:16px; }
.latest-events-grid .event-card-bottom { font-size:13px; }
.latest-added { font-size:11px; margin:0 0 9px 3px; }
.archive-refined { padding-top:28px; }
.archive-refined .archive-heading { padding:24px 28px; margin-bottom:24px; min-height:0; }
.archive-refined .archive-heading h1 { font-size:39px; }
.archive-refined .archive-heading p { font-size:14px; margin-top:10px; }
.archive-refined .archive-emblem { width:58px; height:58px; margin-top:0; }
.catalog-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px 20px; padding:22px; }
.catalog-filters .filter-field { min-width:0; width:auto; flex:initial; }
.catalog-filters label { min-width:0; }
.catalog-filters input[type=search],.catalog-filters select { width:100%; min-width:0; font-size:15px; min-height:48px; }
.catalog-filters label>span:first-child { font-size:12px; }
.filter-actions { display:flex; justify-content:space-between; align-items:end; gap:12px; }
.filter-actions>.button { min-width:110px; }
.checkbox-label { font-size:13px; line-height:1.6; }
.catalog-results-top { margin:24px 0 17px; scroll-margin-top:110px; }
.catalog-results-top p,.clear-filters { font-size:14px; }
.results-page { font-size:12px; color:var(--muted); }
.active-filters { gap:8px; margin-bottom:18px; }
.active-filters a { min-height:35px; font-size:12px; }
.pagination a,.pagination span { min-width:44px; min-height:44px; }
.event-empty-wrap { grid-column:1/-1; }
.date-suggestions { grid-column:1/-1; display:flex; gap:10px; justify-content:center; flex-wrap:wrap; padding:18px; font-size:14px; }
.date-suggestions>span { width:100%; text-align:center; font-weight:700; }
.date-suggestions>a { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:10px; border:1px solid var(--line); background:#fff; }
.date-suggestions .icon { width:17px; }
.cinema-planner { margin:20px 0 0; padding:23px; }
.cinema-planner-heading { margin-bottom:15px; }
.cinema-planner-heading h2 { font-size:28px; }
.cinema-modes { display:flex; gap:7px; margin-bottom:18px; flex-wrap:wrap; }
.cinema-modes a { display:flex; align-items:center; min-height:44px; padding:9px 16px; border-radius:10px; font-size:14px; font-weight:800; background:#fff; border:1px solid #e7dfd1; }
.cinema-modes .is-selected { background:var(--accent-deep); border-color:var(--accent-deep); color:#fff; }
.cinema-day { min-height:76px; }
.cinema-controls.catalog-filters { background:transparent; border:0; box-shadow:none; padding:0; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; margin-top:15px; }
.cinema-controls>.filter-search { grid-column:span 2; padding-bottom:22px; }
.cinema-controls>.rl-date-field { grid-column:span 2; }
.cinema-controls>.button { margin:0; grid-column:1/-1; justify-self:end; min-width:165px; }
.cinema-controls label>span:first-child { font-size:12px; }
.cinema-update { font-size:12px; line-height:1.6; margin-top:15px; }
.cinema-grid { gap:20px; }
.cinema-grid>.event-card { grid-template-columns:145px minmax(0,1fr); }
.cinema-grid .event-visual { aspect-ratio:auto; height:100%; min-height:0; padding:10px; }
.cinema-grid .event-visual>img { max-height:250px; height:100%; object-fit:contain; }
.cinema-grid .event-card-body { padding:10px 20px 18px; }
.cinema-grid .event-title { font-size:24px; min-height:0; margin:11px 0; }
.cinema-grid .card-topline { min-height:52px; padding:8px 16px 4px 20px; }
.cinema-grid .event-card-bottom { margin-top:5px; }
.cinema-grid .card-read { margin-top:12px; }
.movie-showtimes { margin-top:10px; }
.movie-shows-list li { font-size:13px; line-height:1.45; padding:7px 0; }
.movie-shows-list small { font-size:12px; line-height:1.5; }
.movie-shows-list a:hover { color:var(--accent-deep); text-decoration:underline; }
.movie-shows-list time { font-size:14px; min-width:50px; }
.movie-all-shows { font-size:13px; min-height:35px; }
.has-show-date .movie-shows-label { display:none; }
.single-refined .single-heading { margin-bottom:24px; }
.single-refined .single-heading h1 { font-size:40px; line-height:1.15; }
.single-heading .event-badges { margin-top:14px; margin-bottom:0; }
.single-refined .single-layout { gap:28px; grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr); }
.single-refined .single-image { padding:10px; }
.single-refined .single-image img { max-height:500px; width:100%; object-fit:contain; }
.single-refined .single-text { font-size:16px; line-height:1.85; }
.single-refined .event-details { padding:24px; }
.detail-row strong { font-size:15px; }
.detail-row>div>span { font-size:12px; }
.detail-address,.detail-map,.detail-calendar,.venue-more-link { font-size:13px; line-height:1.6; }
.detail-cinema .detail-map { display:flex; margin-top:9px; }
.detail-cinema .detail-map .icon { width:15px; }
.report-error { display:inline-flex; gap:7px; align-items:center; color:var(--muted); font-size:13px; padding-top:15px; margin-top:15px; border-top:1px solid var(--line); }
.report-error .icon { width:16px; }
.movie-first { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; align-items:start; margin-bottom:32px; }
.movie-first>* { min-width:0; }
.movie-first>.single-image { margin:0; background:#f2f4e9; }
.movie-first>.single-image img { max-height:345px; width:100%; }
.movie-first .movie-schedule { margin:0; padding:23px; }
.movie-first .movie-schedule h2 { font-size:29px; }
.schedule-date { font-size:14px; font-weight:700; color:var(--accent-deep); margin-top:5px; }
.movie-first .movie-date-form { margin:18px 0 10px; }
.movie-first .movie-shows-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
.movie-first .movie-shows-list>li { font-size:14px; }
.movie-first .event-toolbar { padding:15px 0 0; border:0; margin:0; }
.movie-single-refined .single-layout { border-top:1px solid var(--line); padding-top:28px; }
.movie-schedule>.text-link { display:inline-flex; margin-top:15px; margin-right:18px; font-size:13px; }
.organizer-extra { margin:20px 0; padding:16px 18px; border-radius:12px; background:#f6f7f0; font-size:14px; }
.organizer-extra summary { cursor:pointer; font-weight:750; }
.organizer-extra summary:focus-visible { outline:2px solid var(--accent-deep); outline-offset:4px; }
.organizer-extra[open] summary { margin-bottom:15px; }
.event-variants { margin:24px 0; padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff9ef; }
.event-variants h2 { font-size:22px; }
.event-variants p { font-size:14px; line-height:1.7; margin:10px 0; }
.event-variants ul { list-style:none; padding:0; margin:0; }
.event-variants a { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:12px 0; border-top:1px solid var(--line); font-size:14px; line-height:1.6; }
.network-refined { padding:30px 0; margin-top:35px; }
.network-refined .network-heading h2 { font-size:30px; }
.network-refined .dance-layout { grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr); gap:20px; padding:18px; }
.dance-main { min-width:0; }
.network-refined .dance-player { min-width:0; min-height:200px; aspect-ratio:16/9; background:#fff2df; border-radius:14px; overflow:hidden; position:relative; }
.network-refined .dance-player>iframe { display:block; width:100%; height:100%; position:absolute; inset:0; border:0; }
.dance-player-caption { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 2px 0; font-size:13px; line-height:1.6; }
.dance-current { font-weight:750; }
.dance-external { display:inline-flex; align-items:center; gap:5px; color:var(--accent-deep); font-size:12px; white-space:nowrap; }
.dance-external .icon { width:14px; height:14px; }
.network-refined .dance-episodes { display:grid; grid-template-columns:1fr; gap:9px; align-content:start; }
.network-refined .dance-episodes>p { grid-column:1/-1; margin:0 0 3px; }
.network-refined .dance-episode { margin:0; padding:10px; gap:12px; min-height:76px; }
.dance-thumbnail { position:relative; display:grid; place-items:center; width:96px; aspect-ratio:16/9; background:#fff0dd; border-radius:8px; overflow:hidden; flex:none; }
.dance-thumbnail>img { display:block; width:100%; height:100%; object-fit:cover; }
.dance-thumbnail-error { color:var(--accent-deep); font-size:22px; }
.network-refined .dance-episode-copy { min-width:0; flex:1; }
.network-refined .dance-episode strong { font-size:13px; }
.network-refined .dance-episode small { font-size:12px; }
.network-refined .dance-play { display:block; color:var(--accent-deep); }
.network-refined .rl-projects { margin-top:28px; }
.network-heading p { font-size:14px; }
.network-project strong { font-size:14px; }
.network-project small { font-size:12px; }
.network-project>img { object-fit:contain; }
.submission-panel { border:1px solid var(--line); border-radius:20px; background:#fff9ef; padding:28px; margin:28px 0; }
.submission-panel>h2 { margin-top:0; font-size:30px; }
.submission-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px; }
.submission-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.submission-field>span { font-size:14px; font-weight:750; }
.submission-field input,.submission-field textarea { width:100%; font:inherit; font-size:16px; border:1px solid #d9ddd1; border-radius:10px; background:#fff; min-height:49px; padding:12px; }
.submission-field textarea { resize:vertical; }
.field-title,.field-address,.field-description,.field-poster,.submission-note { grid-column:1/-1; }
.submission-field small,.submission-note { font-size:13px; line-height:1.7; color:var(--muted); }
.submission-form>.button { justify-self:start; }
.submission-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.submission-errors { border:1px solid #edb49b; border-radius:12px; background:#fff1e9; padding:18px; margin:20px 0; font-size:15px; }
.submission-errors ul { margin:10px 0; }
.submission-success { padding:24px 0; }
.submission-success>.icon { color:#557545; width:40px; height:40px; }
.submission-success h3 { font-size:26px; margin:12px 0; }
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible { outline:2px solid #bb4c2b; outline-offset:3px; }
[hidden] { display:none!important; }
@media(max-width:1100px) {
  .home-refined .home-date-planner { grid-template-columns:1fr; gap:18px; }
  .home-date-heading h2>span { display:inline; margin-left:12px; }
  .home-day-form { grid-template-columns:minmax(190px,1fr) 190px auto; }
  .network-refined .dance-layout { grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr); }
  .network-refined .dance-episodes { grid-template-columns:1fr; }
  .network-refined .dance-episode { min-height:0; padding:9px; }
}
@media(max-width:960px) {
  .latest-events .latest-events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .day-events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cinema-controls.catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cinema-grid>.event-card { grid-template-columns:115px minmax(0,1fr); }
  .cinema-grid .event-title { font-size:22px; }
  .single-refined .single-layout { grid-template-columns:1fr; }
  .single-refined .event-sidebar { grid-row:auto; }
  .movie-first { grid-template-columns:190px minmax(0,1fr); gap:20px; }
  .movie-first .movie-shows-list { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  html { scroll-padding-top:95px; }
  .header-compact .header-row { min-height:65px; }
  .header-compact .brand.brand-edition { width:175px; }
  .home-refined .afisa-intro { padding:23px 0 20px; }
  .home-refined .home-date-planner { padding:22px; }
  .home-day-form { grid-template-columns:1fr 180px; gap:12px; }
  .home-day-form>.button { grid-column:1/-1; width:100%; margin:0; min-height:47px; }
  .home-search-label { padding-bottom:22px; }
  .home-refined .quick-plan { padding:13px; min-height:77px; }
  .home-refined .section-heading h2 { font-size:29px; }
  .home-section .section-heading>.text-link { font-size:12px; }
  .catalog-filters.is-open { display:grid!important; }
  .catalog-filters .filter-search,.catalog-filters .filter-actions { grid-column:1/-1; }
  .cinema-controls>.button { width:100%; justify-self:stretch; }
  .archive-refined .archive-heading { padding:22px; }
  .archive-refined .archive-heading h1 { font-size:32px; }
  .cinema-grid { grid-template-columns:1fr; }
  .cinema-grid>.event-card { grid-template-columns:125px minmax(0,1fr); }
  .cinema-grid .event-title { font-size:23px; }
  .cinema-grid .event-visual>img { max-height:220px; }
  .single-refined .single-heading h1 { font-size:31px; }
  .movie-first { grid-template-columns:120px minmax(0,1fr); gap:15px; }
  .movie-first .movie-schedule { padding:18px; }
  .movie-first .movie-schedule h2 { font-size:26px; }
  .movie-first .movie-date-form>.button { width:100%; }
  .network-refined .dance-layout { grid-template-columns:1fr; }
  .network-refined .dance-player { aspect-ratio:16/9; }
  .network-refined .dance-episodes { grid-template-columns:1fr 1fr; }
  .network-refined .network-heading h2 { font-size:28px; }
}
@media(max-width:540px) {
  .home-refined .afisa-intro h1 { font-size:39px; }
  .home-refined .home-date-planner { padding:19px 16px; gap:17px; }
  .home-date-heading h2 { font-size:27px; }
  .home-date-heading h2>span { display:block; margin:8px 0 0; font-size:15px; }
  .home-date-days { display:flex; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x proximity; }
  .home-date-day { flex:0 0 72px; scroll-snap-align:start; }
  .home-date-day small { font-size:10px; }
  .home-day-form { grid-template-columns:1fr; margin-top:13px; gap:12px; }
  .home-day-form>.rl-date-field { width:100%; }
  .home-search-label { padding:0; }
  .home-search-label input,.rl-date-input-wrap input { font-size:16px; }
  .home-refined .quick-plans { grid-template-columns:1fr 1fr; gap:8px; }
  .home-refined .quick-plan { padding:12px 10px; gap:8px; }
  .home-refined .quick-plan strong { font-size:13px; }
  .home-refined .quick-plan small { font-size:11px; }
  .home-refined .quick-icon { width:27px; background:transparent; }
  .home-categories .category-chip { font-size:12px; min-height:44px; }
  .day-events-grid { grid-template-columns:1fr; gap:17px; }
  .event-visual { height:auto; min-height:0; aspect-ratio:16/10; padding:10px; }
  .event-title { font-size:24px; }
  .event-card-bottom { font-size:14px; }
  .event-date,.card-read { font-size:13px; }
  .card-topline { min-height:56px; }
  .latest-events { padding:19px 15px; }
  .latest-events .latest-events-grid { display:flex; overflow-x:auto; gap:13px; padding:0 3px 14px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .latest-events-grid>.latest-event { flex:0 0 84%; scroll-snap-align:start; }
  .latest-events-grid .event-title { font-size:22px; }
  .latest-events-grid .event-visual { height:auto; aspect-ratio:16/10; }
  .latest-events .section-heading h2 { font-size:29px; }
  .latest-events .section-heading>.text-link { margin-top:12px; }
  .catalog-filters,.cinema-controls.catalog-filters { grid-template-columns:1fr; padding:18px; }
  .cinema-controls.catalog-filters { padding:0; }
  .catalog-filters>*,.cinema-controls>.filter-search,.cinema-controls>.rl-date-field { grid-column:1; }
  .catalog-filters input[type=search],.catalog-filters select { font-size:16px; }
  .cinema-controls>.filter-search { padding:0; }
  .cinema-planner { padding:19px 16px; }
  .cinema-planner-heading h2 { font-size:25px; }
  .cinema-modes { gap:6px; }
  .cinema-modes a { padding:9px 11px; font-size:13px; }
  .cinema-day { flex-basis:64px; }
  .catalog-results-top { gap:13px; flex-wrap:wrap; }
  .catalog-results-top p,.clear-filters { font-size:13px; }
  .cinema-grid>.event-card { grid-template-columns:100px minmax(0,1fr); }
  .cinema-grid .event-visual { min-height:0; padding:8px; }
  .cinema-grid .event-card-body { padding:8px 14px 16px; }
  .cinema-grid .card-topline { padding:7px 10px 3px 14px; }
  .cinema-grid .event-title { font-size:21px; line-height:1.3; }
  .cinema-grid .event-date { font-size:12px; }
  .cinema-grid .fav-btn { width:44px; height:44px; min-height:44px; }
  .movie-shows-list li { font-size:13px; gap:8px; }
  .movie-shows-list small { font-size:12px; }
  .movie-shows-list time { font-size:13px; min-width:44px; }
  .movie-first { grid-template-columns:88px minmax(0,1fr); gap:12px; }
  .movie-first>.single-image { padding:5px; border-radius:10px; }
  .movie-first .movie-schedule { padding:15px 12px; }
  .movie-first .movie-schedule h2 { font-size:23px; }
  .movie-first .movie-date-form { gap:8px; }
  .movie-first .movie-date-form .button { font-size:12px; padding:10px 9px; }
  .movie-first .movie-shows-list>li { flex-wrap:wrap; gap:5px 8px; }
  .movie-first .movie-shows-list>li>span { min-width:0; flex-basis:100%; }
  .movie-first .event-toolbar { flex-wrap:wrap; gap:9px; }
  .single-refined .event-details { display:block; padding:21px; }
  .single-refined .single-text { font-size:16px; line-height:1.8; }
  .network-refined .dance-player { aspect-ratio:16/9; }
  .network-refined .dance-episodes { grid-template-columns:1fr; }
  .network-refined .dance-episode { padding:10px; }
  .dance-player-caption { flex-wrap:wrap; gap:4px 12px; }
  .dance-thumbnail { width:96px; }
  .network-project strong { font-size:13px; }
  .network-project small { font-size:12px; }
  .rl-calendar-panel { position:fixed; left:12px; right:12px; bottom:calc(85px + env(safe-area-inset-bottom)); top:auto; width:auto; max-width:none; z-index:120; transform:none!important; }
  .rl-calendar-day { min-height:38px; }
  .submission-panel { padding:20px 16px; }
  .submission-panel>h2 { font-size:26px; }
  .submission-form { grid-template-columns:1fr; gap:17px; }
  .submission-form>* { grid-column:1; min-width:0; }
  .submission-form>.button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
@media print { .event-toolbar,.report-error,.mobile-event-action,.submission-form { display:none!important; } .movie-first { display:block; } .single-refined .single-layout { display:block; } }
