/* Kaunas Blues homepage campaign 1.2.8 */
#hero .kb-home-video{position:absolute;z-index:4;left:41%;top:43%;width:332.5px;display:block;border:2px solid #17171b;border-radius:5px;overflow:hidden;background:#17171b;color:#fff;text-decoration:none!important;box-sizing:border-box;font-family:inherit;font-size:14px;font-weight:500;line-height:1.3;cursor:pointer;transition:background-color .2s,border-color .2s}
#hero .kb-home-video-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden}
#hero .kb-home-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
#hero .kb-home-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding-left:3px;box-sizing:border-box;background:#fff;color:#111;border-radius:50%;font-size:19px;line-height:1}


#hero .kb-home-video:focus-visible{outline:3px solid #ffa600;outline-offset:4px}
.news-item-img:has(.kb-home-discount){position:relative}
.kb-home-discount{position:absolute;top:0;right:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;padding:6px 13px 7px 8px;box-sizing:border-box;background:#ffa600;color:#111;border-radius:0 0 0 5px;line-height:1.1;pointer-events:none;font-family:inherit}
.kb-home-discount::after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-top:11px solid #ffe2a0;border-left:11px solid #d78b00}
.kb-home-discount strong{font-size:22px;font-weight:700}
.kb-home-discount>span{font-size:11px;font-weight:600;margin-top:2px}
.kb-home-video-dialog{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;padding:64px 20px 24px;box-sizing:border-box;animation:kb-video-in .18s ease-out}
.kb-home-video-stage{width:100%;max-width:1100px;position:relative}
.kb-home-video-frame{position:relative;width:100%;padding-bottom:56.25%;background:#000}
.kb-home-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kb-home-video-close{position:absolute;right:0;top:-52px;border:0;border-radius:4px;padding:10px 14px;min-height:44px;background:#fff;color:#111;font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer}
.kb-home-video-close:focus-visible{outline:3px solid #ffa600;outline-offset:3px}
@media(hover:hover) and (pointer:fine){#hero .kb-home-video:hover{background:#0755a4;border-color:#0755a4}.kb-home-video-close:hover{background:#0755a4;color:#fff}}
@media(max-width:1050px){#hero .kb-home-video{left:29%;width:271.25px}}
@media(max-width:768px) and (orientation:portrait){#hero .kb-home-video{left:50%;top:calc(37.5% - 2px);transform:translateX(-50%);width:108px;display:block}#hero .kb-home-video-thumb{width:100%}#hero .kb-home-video-play{width:28px;height:28px;font-size:13px}.kb-home-discount{min-width:78px;padding:5px 12px 6px 8px}.kb-home-discount strong{font-size:20px}.kb-home-discount>span{font-size:10px}}
@media(max-height:500px) and (orientation:landscape){#hero .kb-home-video{left:29%;top:50%;width:224px}.kb-home-video-stage{max-width:calc((100dvh - 88px)*16/9)}}
@media(prefers-reduced-motion:reduce){#hero .kb-home-video{transition:none}.kb-home-video-dialog{animation:none}}
@keyframes kb-video-in{from{opacity:0}to{opacity:1}}

#hero .kb-home-ticket-panel>h2{padding-right:76px}
#hero .kb-home-ticket-panel>.kb-home-discount{top:0;right:0;min-width:78px;padding:5px 12px 6px 8px;border-radius:0 4px 0 5px}
#hero .kb-home-ticket-panel>.kb-home-discount strong{font-size:20px}
#hero .kb-home-ticket-panel>.kb-home-discount>span{font-size:10px}
@media(max-width:768px) and (orientation:portrait){
/* Preserve the poster proportions within the gap above the printed dates. */
#hero .kb-home-video-thumb{aspect-ratio:16/9}
#hero .kb-home-ticket-panel>h2{padding-right:70px}
#hero .kb-home-ticket-panel>.kb-home-discount{min-width:70px;padding:3px 10px 4px 6px}
#hero .kb-home-ticket-panel>.kb-home-discount strong{font-size:18px}
#hero .kb-home-ticket-panel>.kb-home-discount>span{font-size:9px;margin-top:1px}
}

/* Phone-only icon launcher: fits between the festival logo and printed dates. */
@media(max-width:640px) and (orientation:portrait){
#hero .kb-home-video{top:calc(37.5% - 10px);width:56px;height:44px;border:0;border-radius:6px;background:transparent;overflow:visible}
#hero .kb-home-video-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:auto;overflow:visible}
#hero .kb-home-video-thumb img{display:none}
#hero .kb-home-video-play{position:static;transform:none;width:52px;height:34px;border-radius:8px;background:#e62117;color:#fff;font-size:20px;padding-left:3px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
#hero .kb-home-video:hover{background:transparent;border-color:transparent}
}

/* Use the same play-icon treatment on desktop and tablet. */
@media(min-width:641px), (orientation:landscape){
#hero .kb-home-video{width:72px;height:52px;border:0;border-radius:8px;background:transparent;overflow:visible}
#hero .kb-home-video-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:auto;overflow:visible}
#hero .kb-home-video-thumb img{display:none}
#hero .kb-home-video-play{position:static;transform:none;width:68px;height:44px;border-radius:10px;background:#e62117;color:#fff;font-size:25px;padding-left:3px;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:background-color .2s}
#hero .kb-home-video:hover{background:transparent;border-color:transparent}
}
@media(min-width:1051px){#hero .kb-home-video{left:calc(41% + 130px);top:calc(43% + 68px)}}
@media(hover:hover) and (pointer:fine){#hero .kb-home-video:hover .kb-home-video-play{background:#0755a4}}
@media(prefers-reduced-motion:reduce){#hero .kb-home-video-play{transition:none}}

/* Keep the video launcher opposite the existing read-more button. */
#hero .kb-home-ticket-panel .kb-home-read{display:flex;align-items:center;justify-content:space-between;gap:12px}
#hero .kb-home-ticket-panel .kb-home-read .kb-home-video{position:static;left:auto;right:auto;top:auto;bottom:auto;transform:none;flex:0 0 56px;width:56px;height:44px;border:0;border-radius:6px;background:transparent;overflow:visible}
#hero .kb-home-ticket-panel .kb-home-read .kb-home-video-thumb{display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:auto;overflow:visible}
#hero .kb-home-ticket-panel .kb-home-read .kb-home-video-thumb img{display:none}
#hero .kb-home-ticket-panel .kb-home-read .kb-home-video-play{position:static;transform:none;width:52px;height:34px;border-radius:8px;color:#fff;font-size:20px;padding-left:3px}

/* Programme switcher 1.3.0. No automatic programme changes. */
#hero .kb-home-tabs{display:flex;gap:4px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #ffffff35}
#hero .kb-home-tabs button{appearance:none;border:0;border-radius:3px;background:transparent;color:#fff;font:600 14px/1.3 Poppins,sans-serif;padding:10px;min-height:40px;cursor:pointer;transition:background .18s,color .18s}
#hero .kb-home-tabs button[aria-pressed=true]{background:#ffa600;color:#111}
#hero .kb-home-tabs button:focus-visible,#hero .kb-home-map-open:focus-visible{outline:3px solid #ffa600;outline-offset:3px}
#hero .kb-home-view{position:relative;animation:kb-pane-in .24s ease-out}
#hero .kb-home-view[hidden]{display:none!important}
#hero .kb-home-view h2{font-size:17px;margin-bottom:20px}
#hero .kb-home-view[data-kb-pane=evening] h2{padding-right:76px;min-height:45px}
#hero .kb-home-view>.kb-home-discount{top:-2px;right:-20px;min-width:70px;border-radius:4px 0 0 4px}
#hero .kb-home-view>.kb-home-discount strong{font-size:19px}
#hero .kb-home-view>.kb-home-discount>span{font-size:9px}
#hero .kb-home-map-date{font-size:13px;color:#ddd;margin:-10px 0 12px}
#hero .kb-home-map-open{position:relative;display:block;height:138px;overflow:hidden;border-radius:4px;background:#e8e7e3;cursor:pointer}
#hero .kb-home-map-open img{display:block;width:100%;height:100%;object-fit:cover}
#hero .kb-home-map-open>span{position:absolute;top:7px;right:7px;border-radius:3px;padding:7px;background:white;color:#111;font-size:11px;line-height:1.4}
.kb-home-map-dialog .kb-home-video-stage{max-width:1000px}
.kb-home-map-dialog .kb-home-video-frame{padding:0;background:#eee}
.kb-home-expanded-map{height:min(70vh,650px);height:min(70dvh,650px);min-height:220px;color:#111;font:14px/1.5 Poppins,sans-serif}
.kb-home-marker span{display:grid;place-items:center;width:30px;height:30px;background:#17171b;border:2px solid white;border-radius:50%;color:white;font:600 11px/1 Poppins,sans-serif;box-shadow:0 1px 5px #0006}
.kb-home-map-event{display:block;margin-top:10px;font-size:13px;line-height:1.5;color:#0755a4}
@media(hover:hover) and (pointer:fine){#hero .kb-home-tabs button:hover{background:#0755a4;color:white}#hero .kb-home-map-open:hover>span{background:#0755a4;color:white}}
@media(max-width:640px) and (orientation:portrait){
#hero .kb-home-ticket-panel{bottom:20px;max-width:300px}
#hero .kb-home-tabs{margin-bottom:10px;padding-bottom:7px;gap:3px}
#hero .kb-home-tabs button{font-size:13px;padding:8px 7px;min-height:44px}
#hero .kb-home-view h2{font-size:15px;margin-bottom:12px}
#hero .kb-home-view[data-kb-pane=evening] h2{min-height:35px;padding-right:66px}
#hero .kb-home-view>.kb-home-discount{right:-12px;min-width:62px;padding:4px 10px 5px 6px}
#hero .kb-home-view>.kb-home-discount strong{font-size:17px}
#hero .kb-home-map-open{height:100px}
#hero .kb-home-map-date{margin:0 0 8px;font-size:12px}
}
@keyframes kb-pane-in{from{opacity:0;transform:translateX(7px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#hero .kb-home-view{animation:none}#hero .kb-home-tabs button{transition:none}}
/* Isolate Leaflet from the theme's large global link/strong typography. */
.kb-home-map-dialog .leaflet-container{font:13px/1.5 Poppins,sans-serif}
.kb-home-map-dialog .leaflet-popup-content{font:13px/1.5 Poppins,sans-serif;margin:13px 19px;max-width:230px;color:#111}
.kb-home-map-dialog .leaflet-popup-content strong{display:block;font:600 15px/1.4 Poppins,sans-serif;color:#111}
.kb-home-map-dialog .leaflet-popup-content a.kb-home-map-event{font:400 13px/1.5 Poppins,sans-serif;color:#0755a4}
.kb-home-map-dialog .leaflet-control-attribution,.kb-home-map-dialog .leaflet-control-attribution a{font:10px/1.4 Arial,sans-serif;margin:0}
.kb-home-map-dialog .leaflet-control-attribution svg{width:12px;height:8px}
.kb-home-map-dialog .leaflet-control-zoom a{font:700 22px/30px Arial,sans-serif;width:30px;height:30px;color:#111}
.kb-home-map-dialog .leaflet-container a.leaflet-popup-close-button{font:16px/24px Arial,sans-serif;width:24px;height:24px;padding:0}

/* Evening title is already provided by the programme selector. */
#hero .kb-home-view[data-kb-pane=evening]>.kb-home-discount{position:relative;top:0;width:max-content;margin:0 0 12px auto}

/* 1.3.2: discount shares the existing footer row; no extra vertical space. */
#hero .kb-home-ticket-panel .kb-home-read{gap:8px}
#hero .kb-home-read>.kb-home-discount{position:static;flex:0 0 auto;min-width:0;margin:0;padding:5px 7px;border-radius:4px;line-height:1.1}
#hero .kb-home-read>.kb-home-discount::after{display:none}
#hero .kb-home-read>.kb-home-discount strong{font-size:18px}
#hero .kb-home-read>.kb-home-discount>span{font-size:9px;margin-top:2px;white-space:nowrap}
@media(max-width:640px) and (orientation:portrait){
#hero .kb-home-read>.kb-home-discount{padding:4px 6px}
#hero .kb-home-read>.kb-home-discount strong{font-size:17px}
}

/* Starting times fit within the existing ticket rows. */
#hero .kb-home-ticket-date{display:flex;flex-direction:column;gap:1px;line-height:1.25;white-space:nowrap}
#hero .kb-home-ticket-date small{display:block;font:400 12px/1.2 Poppins,sans-serif;color:#ddd}
@media(max-width:640px) and (orientation:portrait){#hero .kb-home-ticket-date small{font-size:11px}}

/* 1.3.4: single-line dates/times and a little more horizontal room. */
#hero .kb-home-ticket-panel{width:384px}
#hero .kb-home-ticket-date{display:block;white-space:nowrap;line-height:1.4}
#hero .kb-home-ticket-date small{display:inline;font-size:13px;line-height:inherit}
@media(min-width:1600px){#hero .kb-home-ticket-panel{width:414px}}
@media(max-width:1050px){#hero .kb-home-ticket-panel{width:340px}}
@media(max-width:768px) and (orientation:portrait){#hero .kb-home-ticket-panel{width:calc(100% - 32px)}}
@media(max-width:640px) and (orientation:portrait){
#hero .kb-home-ticket-panel{width:calc(100% - 32px);max-width:332px}
#hero .kb-home-ticket-date small{font-size:12px}
#hero .kb-home-ticket{gap:8px}
}
@media(max-width:350px) and (orientation:portrait){
#hero .kb-home-ticket{padding-left:8px;padding-right:6px;gap:6px;font-size:13px}
#hero .kb-home-ticket-logo{width:84px}
#hero .kb-home-ticket-date small{font-size:11px}
}

/* 1.3.7: desktop corner badge; phone/tablet footer placement unchanged. */
@media(min-width:1051px){
#hero .kb-home-tabs{padding-right:56px}
#hero .kb-home-tabs button{padding-left:8px;padding-right:8px}
#hero .kb-home-view{position:static;animation-name:kb-pane-fade}
#hero .kb-home-ticket-panel .kb-home-read{position:static}
#hero .kb-home-read>.kb-home-discount{position:absolute;top:0;right:0;min-width:64px;padding:6px 8px;border-radius:0 5px 0 5px}
#hero .kb-home-read>.kb-home-discount::after{display:block}
}
@keyframes kb-pane-fade{from{opacity:0}to{opacity:1}}
@media(max-width:640px) and (orientation:portrait){#hero .kb-home-ticket-panel{bottom:35px}}

/* 1.3.10: programme selectors provide the headings; show both daytime schedules. */
#hero .kb-home-map-date{display:flex;flex-direction:column;gap:5px;margin:0 0 12px;color:#fff;font-size:14px;line-height:1.4}
#hero .kb-home-map-date>span{white-space:nowrap}
@media(max-width:640px) and (orientation:portrait){#hero .kb-home-map-date{font-size:13px;margin-bottom:10px;gap:4px}}

/* 1.3.11: day selection in the expanded programme map. */
.kb-home-map-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#19191e;color:#fff;font:13px/1.4 Poppins,sans-serif}
.kb-home-map-days{display:flex;gap:8px}
.kb-home-map-days button{appearance:none;min-height:44px;padding:9px 12px;border:0;border-radius:4px;background:#303037;color:white;font:500 14px/1.3 Poppins,sans-serif;cursor:pointer;transition:background .18s,color .18s}
.kb-home-map-days button[aria-pressed=true]{background:#ffa600;color:#111}
.kb-home-map-days button:disabled{opacity:.5;cursor:wait}
.kb-home-map-days button:focus-visible{outline:3px solid white;outline-offset:2px}
.kb-home-map-count{font:400 12px/1.4 Poppins,sans-serif;white-space:nowrap}
.kb-home-map-dialog .kb-home-expanded-map{height:min(65vh,600px);height:min(65dvh,600px)}
@media(hover:hover) and (pointer:fine){.kb-home-map-days button:not(:disabled):hover{background:#0755a4;color:white}}
@media(max-width:400px){.kb-home-map-tools{padding:8px;gap:6px}.kb-home-map-days{gap:5px}.kb-home-map-days button{padding:8px;font-size:12px}.kb-home-map-count{font-size:11px}}
@media(max-height:500px){.kb-home-map-dialog .kb-home-expanded-map{height:calc(100dvh - 160px);min-height:100px}}
@media(prefers-reduced-motion:reduce){.kb-home-map-days button{transition:none}}

/* Daytime admission badge uses the existing responsive discount placement. */
#hero .kb-home-read>.kb-home-free{background:#CE7AB2;color:#111;min-height:38px}
#hero .kb-home-read>.kb-home-free strong{font-size:11px;line-height:1.2;white-space:nowrap;font-weight:700}
#hero .kb-home-read>.kb-home-free::after{border-top-color:#edc5e0;border-left-color:#a34f88}

/* Slightly larger hero badges on desktop only; anchored to the same corner. */
@media(min-width:1051px){
#hero .kb-home-read>.kb-home-discount{transform:scale(1.1);transform-origin:top right}
#hero .kb-home-tabs{padding-right:64px}
}
