/* Kaunas Blues 2026 main festival page. Loaded only by its dedicated template. */
a.kb-day-programme-link {
 display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
 box-sizing: border-box; max-width: 100%; min-height: 48px; padding: 14px 24px;
 border: 2px solid #104e8a; border-radius: 6px;
 background-color: #f99f1c; color: #104e8a;
 font-family: inherit; font-size: inherit; font-weight: 600; line-height: 1.4;
 text-align: center; text-decoration: none; cursor: pointer;
 transition: background-color 160ms ease, color 160ms ease;
}
.kb-day-programme-link .kb-day-arrow {
 position: relative; display: inline-block; flex: 0 0 22px;
 width: 22px; height: 16px; font-size: 0;
}
.kb-day-programme-link .kb-day-arrow::before {
 content: ""; position: absolute; left: 0; right: 1px; top: 50%;
 height: 2px; background: currentColor; transform: translateY(-50%);
}
.kb-day-programme-link .kb-day-arrow::after {
 content: ""; position: absolute; right: 1px; top: 50%;
 width: 8px; height: 8px; border-top: 2px solid currentColor;
 border-right: 2px solid currentColor; transform: translateY(-50%) rotate(45deg);
 transform-origin: center;
}
@media (hover: hover) and (pointer: fine) {
 a.kb-day-programme-link:hover { background-color: #104e8a; color: #fff; text-decoration: none; }
}
a.kb-day-programme-link:focus-visible {
 background-color: #104e8a; color: #fff;
 outline: 3px solid #104e8a; outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
 a.kb-day-programme-link { transition: none; }
}

/* Concert-day headers and shortcuts, scoped to this festival page. */
h2.kb-concert-day {
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 box-sizing:border-box;width:100%;min-height:4.95em;padding:.75em 16px;gap:.15em;
 margin:3.0375em 0 1.75em;background:#202020;color:#fff;
 /* Extend the black background to both screen edges without horizontal scrolling. */
 box-shadow:0 0 0 100vmax #202020;clip-path:inset(0 -100vmax);
 font-family:inherit;font-size:inherit;line-height:1.5;text-align:center;
 text-transform:none;letter-spacing:normal;scroll-margin-top:100px;
}
h2.kb-concert-day strong{font:inherit;font-weight:600;color:inherit}
h2.kb-concert-day span{display:block;font:inherit;color:inherit}
#kb-concert-dates {
 position:fixed;right:.375rem;bottom:90px;z-index:1000;
 display:flex;flex-direction:column;gap:8px;margin:0;padding:0;
}
#kb-concert-dates[hidden]{display:none!important}
#kb-concert-dates a {
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 box-sizing:border-box;width:50px;height:50px;border-radius:4px;
 background:#000;color:#fff;text-decoration:none;border:0;
 font-family:inherit;font-size:12px;font-weight:400;line-height:1.2;
 transition:background-color 160ms ease,color 160ms ease;
}
#kb-concert-dates a strong{font:inherit;font-size:20px;font-weight:600;color:inherit}
@media(hover:hover) and (pointer:fine){
 #kb-concert-dates a:hover{background:#f99f1c;color:#000}
}
#kb-concert-dates a:focus-visible{outline:3px solid #f99f1c;outline-offset:3px}
@media(prefers-reduced-motion:reduce){#kb-concert-dates a{transition:none}}
@media print{#kb-concert-dates{display:none!important}}

/* Tighten only the mobile artist-heading-to-video gap. */
@media (max-width:767px) {
 .page-content h3.kb-artist-heading{margin-bottom:8px!important}
 .page-content h3.kb-artist-heading + p{margin-top:0}
 .page-content h3.kb-artist-heading + p iframe.youtube-player{display:block;margin-top:0}
}

/* Keep the shared red decoration above the full-width date backgrounds. */
.page-content > .content-bg-item2{z-index:1;pointer-events:none}

/* Reserve border space so highlighting never shifts the date labels. */
#kb-concert-dates a{border:2px solid transparent}
#kb-concert-dates a.kb-over-black{border-color:#EE79AE}

/* Fade the overlap border in and out without moving the shortcuts. */
#kb-concert-dates a{transition:background-color 160ms ease,color 160ms ease,border-color 280ms ease-in-out}
@media(prefers-reduced-motion:reduce){#kb-concert-dates a{transition:none}}

/* Keep embedded content space stable before its network resources arrive. */
.page-content .img-bilietai{height:auto}
.fb-page{min-height:220px}
iframe[data-kb-frame-src]{background:transparent}

/* Reduce both desktop spacing contributions by 25% (.208rem and .139rem). */
@media (min-width:768px) {
 .page-content h3.kb-artist-heading{margin-bottom:.156rem}
 .page-content h3.kb-artist-heading + p{margin-top:0}
 .page-content h3.kb-artist-heading + p iframe.youtube-player{margin-top:.10425rem}
}
/* Discount lines remain centred, with consistent space and small orange dots. */
.page-content ul.kb-ticket-discounts{display:flex;flex-direction:column;gap:.5em;list-style:none;margin:0 0 1em;padding:0;text-align:center;font:inherit}
.page-content ul.kb-ticket-discounts > li{display:block;list-style:none;margin:0;padding:0;text-align:center;font:inherit;line-height:1.5}
.page-content ul.kb-ticket-discounts > li::before{content:"";display:inline-block;width:.32em;height:.32em;margin-right:.45em;border-radius:50%;background:#f99f1c;vertical-align:middle}

/* Reveal dates top-to-bottom; hide bottom-to-top, 120ms apart. */
#kb-concert-dates{visibility:hidden;pointer-events:none;transition:visibility 0s linear .74s}
#kb-concert-dates.kb-dates-visible{visibility:visible;pointer-events:auto;transition-delay:0s}
#kb-concert-dates a{
 opacity:0;
 transition:opacity .5s ease var(--kb-date-delay),background-color 160ms ease,color 160ms ease,border-color 280ms ease-in-out;
}
#kb-concert-dates a:nth-child(1){--kb-date-delay:.24s}
#kb-concert-dates a:nth-child(2){--kb-date-delay:.12s}
#kb-concert-dates a:nth-child(3){--kb-date-delay:0s}
#kb-concert-dates.kb-dates-visible a{opacity:1}
#kb-concert-dates.kb-dates-visible a:nth-child(1){--kb-date-delay:0s}
#kb-concert-dates.kb-dates-visible a:nth-child(2){--kb-date-delay:.12s}
#kb-concert-dates.kb-dates-visible a:nth-child(3){--kb-date-delay:.24s}
@media(prefers-reduced-motion:reduce){
 #kb-concert-dates,#kb-concert-dates.kb-dates-visible,#kb-concert-dates a,#button-go-top,#button-go-top-pasaulis{transition:none}
}

/* The arrow is last on reveal and first on dismissal. */
#button-go-top,#button-go-top-pasaulis{
 transition:background-color .3s ease,opacity .5s ease 0s,visibility 0s linear .5s;
}
#button-go-top.show-go-top,#button-go-top-pasaulis.show-go-top{
 transition:background-color .3s ease,opacity .5s ease .36s,visibility 0s linear .36s;
}
#kb-concert-dates{transition-delay:.86s}
#kb-concert-dates.kb-dates-visible{transition-delay:0s}
#kb-concert-dates:not(.kb-dates-visible) a:nth-child(1){--kb-date-delay:.36s}
#kb-concert-dates:not(.kb-dates-visible) a:nth-child(2){--kb-date-delay:.24s}
#kb-concert-dates:not(.kb-dates-visible) a:nth-child(3){--kb-date-delay:.12s}
@media(prefers-reduced-motion:reduce){
 #kb-concert-dates,#kb-concert-dates.kb-dates-visible,
 #button-go-top,#button-go-top.show-go-top,
 #button-go-top-pasaulis,#button-go-top-pasaulis.show-go-top{transition:none}
}

/* Room for both “Spalio” and “October”, with matching shortcut sizes. */
#kb-concert-dates a{width:64px;height:64px;padding:6px 8px}
#button-go-top,#button-go-top-pasaulis{width:64px;height:64px;box-sizing:border-box}
#button-go-top::after,#button-go-top-pasaulis::after{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}

/* Let mobile content show through the floating shortcuts. */
@media(max-width:767px){
 #kb-concert-dates.kb-dates-visible a,
 #button-go-top.show-go-top,#button-go-top-pasaulis.show-go-top{opacity:.5}
 #kb-concert-dates.kb-dates-visible a:active,
 #kb-concert-dates.kb-dates-visible a:focus-visible,
 #button-go-top.show-go-top:active,#button-go-top.show-go-top:focus-visible,
 #button-go-top-pasaulis.show-go-top:active,#button-go-top-pasaulis.show-go-top:focus-visible{opacity:1}
}

/* Equal space above/below the daytime link; twice the previous lower gap. */
.page-content p:has(> a.kb-day-programme-link){margin-top:.135rem;margin-bottom:.30rem}
@media(max-width:768px) and (orientation:portrait){
 .page-content p:has(> a.kb-day-programme-link){margin-top:1.04rem;margin-bottom:1.3rem}
}

/* Short underline under the evening-concert heading in both languages. */
.page-content .kb-evening-heading > strong{display:inline-block}
.page-content .kb-evening-heading > strong::after{content:"";display:block;width:80%;height:5px;margin:10px auto 0;background:currentColor}

/* The first concert block controls all shortcuts, overriding shared scroll thresholds. */
#button-go-top[data-kb-controlled],#button-go-top-pasaulis[data-kb-controlled]{opacity:0!important;visibility:hidden!important;pointer-events:none;transition:background-color .3s ease,opacity .5s ease,visibility 0s linear .5s}
#button-go-top[data-kb-controlled].kb-controls-visible,#button-go-top-pasaulis[data-kb-controlled].kb-controls-visible{opacity:1!important;visibility:visible!important;pointer-events:auto;transition:background-color .3s ease,opacity .5s ease .36s,visibility 0s linear .36s}
@media(max-width:767px){
 #button-go-top[data-kb-controlled].kb-controls-visible,#button-go-top-pasaulis[data-kb-controlled].kb-controls-visible{opacity:.5!important}
 #button-go-top[data-kb-controlled].kb-controls-visible:active,#button-go-top[data-kb-controlled].kb-controls-visible:focus-visible,#button-go-top-pasaulis[data-kb-controlled].kb-controls-visible:active,#button-go-top-pasaulis[data-kb-controlled].kb-controls-visible:focus-visible{opacity:1!important}
}
@media(prefers-reduced-motion:reduce){#button-go-top[data-kb-controlled],#button-go-top-pasaulis[data-kb-controlled]{transition:none}}

/* Green jam-session button between daytime navigation and evening concerts. */
.page-content .kb-jam-link-wrap{text-align:center;margin:.20rem 0 .35rem;}
.page-content a.kb-jam-link{display:inline-flex;align-items:center;justify-content:center;gap:.5em;box-sizing:border-box;max-width:100%;min-height:48px;padding:14px 24px;border:2px solid #27A263;border-radius:6px;background:#27A263;color:#fff;font:inherit;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
.page-content .kb-jam-link .kb-day-arrow{position:relative;display:inline-block;flex:0 0 22px;width:22px;height:16px;font-size:0}
.page-content .kb-jam-link .kb-day-arrow::before{content:"";position:absolute;left:0;right:1px;top:50%;height:2px;background:currentColor;transform:translateY(-50%)}
.page-content .kb-jam-link .kb-day-arrow::after{content:"";position:absolute;right:1px;top:50%;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg)}
@media(max-width:768px) and (orientation:portrait){.page-content .kb-jam-link-wrap{margin:1.3rem 0}}
@media(hover:hover) and (pointer:fine){.page-content a.kb-jam-link:hover{background:#104e8a;border-color:#104e8a;color:#fff}}
.page-content a.kb-jam-link:focus-visible{outline:3px solid #104e8a;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.page-content a.kb-jam-link{transition:none}}

/* Consistent programme navigation buttons across all three pages. */
.page-content a.kb-day-programme-link,.page-content a.kb-jam-link{background:#000;color:#fff;border:0}
@media(hover:hover) and (pointer:fine){.page-content a.kb-day-programme-link:hover,.page-content a.kb-jam-link:hover{background:#104e8a;color:#fff;border:0}}
.page-content a.kb-day-programme-link:focus-visible,.page-content a.kb-jam-link:focus-visible{background:#104e8a;color:#fff;border:0;outline:3px solid #104e8a;outline-offset:4px}
 @media (max-width: 767px) {
    .page-content .kb-date-tickets {
      flex-direction: column;
      align-items: flex-start !important;
      gap: 4px !important;
      margin-bottom: 8px;
    }

    .page-content .kb-date-tickets .img-bilietai {
      width: 90px !important;
    }
  }

