/* App-specific styles, loaded after the original template. */
body { min-height: 100vh; display: flex; flex-direction: column; }
.page-content { flex: 1; min-height: 35vh; }
.eyebrow { color: var(--bs-primary); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.back-to-top { display: none; }
.back-to-top.is-visible { display: flex; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Preserve the template hero while keeping it usable without JavaScript. */
.header-carousel.owl-carousel { display: block; }
.header-carousel:not(.owl-loaded) .header-carousel-item:not(:first-child) { display: none; }
.header-carousel .header-carousel-item { background: var(--bs-dark); margin-top: 95px; height: 700px; }
.header-carousel .header-carousel-item img { margin-top: 0; height: 100%; }
.header-carousel .header-carousel-item .carousel-caption { padding: 50px 0; }
.header-carousel .owl-dots { position: absolute; bottom: 20px; width: 100%; text-align: center; }
.header-carousel .owl-dot { padding: 12px !important; }
.header-carousel .owl-dot span { display: block; width: 10px; height: 10px; border-radius: 50%; background: white; opacity: .5; }
.header-carousel .owl-dot.active span { opacity: 1; background: var(--bs-primary); }
@media (max-width: 992px) { .header-carousel .header-carousel-item { margin-top: 0; } }
@media (max-width: 576px) {
  .header-carousel .header-carousel-item { height: auto; min-height: 700px; }
  .header-carousel .header-carousel-item img { position: absolute; inset: 0; }
  .header-carousel .header-carousel-item .carousel-caption { position: relative; min-height: 700px; padding: 60px 15px 100px; }
  .header-carousel .owl-nav .owl-prev, .header-carousel .owl-nav .owl-next { top: auto; bottom: 25px; transform: none; }
}

/* Warm editorial palette, retaining the original BIR TV logo green. */
:root {
  --bir-green: #009c40;
  --bir-green-dark: #176b43;
  --bir-paper: #faf8f4;
  --bir-surface: #fffefa;
  --bir-border: #e2dfd6;
  --bir-muted: #707168;
  --bir-charcoal: #282925;
  --bir-ink: #1c211c;
  --bir-mint: #f0ede6;
  --bs-primary: var(--bir-green);
  --bs-secondary: var(--bir-charcoal);
  --bs-dark: var(--bir-charcoal);
  --bs-light: #f0ede6;
  --bs-body-color: var(--bir-charcoal);
  --bs-body-bg: var(--bir-paper);
  --bs-border-color: var(--bir-border);
  --bs-font-sans-serif: 'Source Sans 3', Arial, sans-serif;
}
body { font-family: 'Source Sans 3', Arial, sans-serif; color: var(--bir-charcoal); background: var(--bir-paper); }
h1, h2, h3, h4, h5, h6, .navbar-light .navbar-nav .nav-link, .btn {
  font-family: 'Source Sans 3', Arial, sans-serif;
}
h1, h2, h3 { font-weight: 600; letter-spacing: normal; }
h4, h5, h6 { font-weight: 600; }
a { color: var(--bir-green-dark); }
a:hover { color: #105234; }
.text-primary { color: var(--bir-green-dark) !important; }
.text-secondary { color: var(--bir-charcoal) !important; }
.bg-primary { background-color: var(--bir-green) !important; }
.bg-secondary, .bg-dark { background-color: var(--bir-charcoal) !important; }
.bg-light { background-color: var(--bs-light) !important; }
.border-primary { border-color: var(--bir-green) !important; }
.btn.btn-primary { color: white; background: var(--bir-green-dark); border-color: var(--bir-green-dark); box-shadow: none; }
.btn.btn-primary:hover, .btn.btn-primary:focus-visible { color: white !important; background: #105234; border-color: #105234; box-shadow: none !important; }
.btn.btn-secondary { color: white; background: var(--bir-charcoal); border-color: var(--bir-charcoal); box-shadow: none; }
.btn.btn-secondary:hover, .btn.btn-secondary:focus-visible { color: white !important; background: var(--bir-ink); border-color: var(--bir-ink); box-shadow: none !important; }
.btn:focus, .form-control:focus, .navbar-toggler:focus { box-shadow: 0 0 0 .25rem rgba(23, 107, 67, .22); }
.form-control:focus { border-color: var(--bir-green); }
::selection { color: white; background: var(--bir-green-dark); }
.navbar-light .navbar-nav .nav-link { font-size: 15px; font-weight: 600; color: var(--bir-charcoal) !important; }
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link.active { color: var(--bir-green-dark) !important; }
.navbar-light .navbar-brand img, .sticky-top.navbar-light .navbar-brand img { display: block; height: 70px; width: auto; max-height: 70px; object-fit: contain; }
.navbar-light .navbar-toggler { color: var(--bir-charcoal); border-color: var(--bir-green); }
.dropdown .dropdown-menu a:hover { background: var(--bir-green-dark); }
.header-carousel .header-carousel-item { background: var(--bir-charcoal); }
.header-carousel .header-carousel-item .carousel-caption { background: linear-gradient(90deg, rgba(28,29,25,.8), rgba(28,29,25,.4)); }
.header-carousel .carousel-caption .text-secondary { color: #e8e2d3 !important; }
.header-carousel .carousel-caption-content .sub-title { letter-spacing: .12em; }
.header-carousel .carousel-caption-content .sub-title::before, .header-carousel .carousel-caption-content .sub-title::after { border-color: var(--bir-green); }
.header-carousel .carousel-caption-content .fs-5 { font-weight: 400; line-height: 1.65; }
.header-carousel .owl-nav .owl-prev, .header-carousel .owl-nav .owl-next { background: var(--bir-green-dark); }
.header-carousel .owl-nav .owl-prev:hover, .header-carousel .owl-nav .owl-next:hover { color: var(--bir-green-dark) !important; }
.footer, .copyright { background: var(--bir-charcoal) !important; }
.footer-brand { display: inline-flex; align-self: flex-start; background: white; padding: 12px 18px; border-radius: 6px; }
.footer-brand img { display: block; width: 120px; height: auto; }
.footer .footer-item .footer-link:hover { color: #e8e2d3 !important; }
.footer h4 { font-size: 1.15rem; }
.footer p { line-height: 1.7; }
.footer .btn-primary { background: var(--bir-green-dark); }
@media (max-width: 991.98px) {
  .navbar-light .navbar-brand img, .sticky-top.navbar-light .navbar-brand img { height: 56px; max-height: 56px; }
}

/* Latest editions retain the template Training cards and carousel. */
.training { background: var(--bs-light); }
.training-carousel.owl-carousel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.training-carousel.owl-loaded { display: block; }
.training .training-img img, .edition-image-placeholder { aspect-ratio: 16 / 9; object-fit: cover; }
.edition-image-placeholder { display: grid; place-items: center; color: white; background: var(--bir-charcoal); font-size: 2rem; }
.training-carousel .owl-stage { display: flex; }
.training-carousel .owl-item { display: flex; flex-shrink: 0; }
.training .training-item { display: flex; flex-direction: column; width: 100%; }
.training .edition-content { display: flex; flex-direction: column; flex: 1; }
.training .edition-content .eyebrow { font-size: .75rem; }
@media (max-width: 991.98px) { .training-carousel.owl-carousel:not(.owl-loaded) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .training-carousel.owl-carousel:not(.owl-loaded) { grid-template-columns: 1fr; } }

/* YouTube channel promotion. */
.youtube-promo { position: relative; isolation: isolate; overflow: hidden; background: var(--bir-charcoal); color: white; }
.youtube-promo-background { position: absolute; z-index: -2; top: -15%; left: 0; width: 100%; height: 130%; object-fit: cover; object-position: center; }
.youtube-promo::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(100deg, rgba(28,29,25,.92) 0%, rgba(28,29,25,.76) 55%, rgba(28,29,25,.48) 100%); }
.youtube-promo-content { padding-top: clamp(70px, 9vw, 130px); padding-bottom: clamp(70px, 9vw, 130px); }
.youtube-promo-eyebrow { font: 600 .85rem 'Source Sans 3', Arial, sans-serif; color: #e8e2d3; text-transform: uppercase; letter-spacing: .12em; }
.youtube-promo-eyebrow .fab { font-size: 1.25rem; vertical-align: middle; }
.youtube-promo-description { max-width: 760px; font-size: 1.05rem; line-height: 1.85; color: #eeeae1; }
.youtube-channel-link { display: inline-flex; flex-direction: column; align-items: center; gap: 24px; color: white; padding: 16px; border-radius: 16px; }
.youtube-channel-icon { display: inline-grid; place-items: center; width: 130px; height: 130px; font-size: 3.75rem; color: white; background: var(--bir-green-dark); border: 1px solid rgba(255,255,255,.3); border-radius: 50%; box-shadow: 0 0 0 14px rgba(250,248,244,.1); transition: transform .3s, background .3s; }
.youtube-channel-label { font: 600 .9rem 'Source Sans 3', Arial, sans-serif; }
.youtube-channel-label .fa-arrow-up { transform: rotate(45deg); }
.youtube-channel-link:hover { color: #e8e2d3; }
.youtube-channel-link:hover .youtube-channel-icon { transform: scale(1.06); background: #105234; }
.youtube-channel-link:focus-visible { outline: 3px solid #e8e2d3; outline-offset: 8px; }
@media (max-width: 991.98px) { .youtube-channel-link { flex-direction: row; padding-left: 0; } .youtube-channel-icon { width: 80px; height: 80px; font-size: 2.5rem; margin: 10px; } }
@media (prefers-reduced-motion: reduce) { .youtube-promo-background { transform: none !important; } .youtube-channel-icon { transition: none; } }

/* Recommended shows use the original Events grid. */
.events .event-item { display: flex; flex-direction: column; background: var(--bir-surface); }
.recommended-show-image { aspect-ratio: 16 / 9; object-fit: cover; }
.recommended-show-body { display: flex; flex-direction: column; flex: 1; }
.recommended-show-body h3 { font-size: 1.2rem; line-height: 1.4; }
.recommended-show-schedule { font-size: .85rem; }
.recommended-show-schedule li + li { margin-top: 12px; }

/* CMS background and original Counter Facts cards. */
.counter-facts { position: relative; isolation: isolate; overflow: hidden; background: var(--bir-mint); }
.counter-facts-background { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.counter-facts::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(rgba(250,248,244,.9), rgba(240,237,230,.86)); }
.counter-facts-heading { max-width: 800px; }
.counter-facts .counter::before { background: var(--bir-green-dark); }
.counter-facts .counter h3 { overflow-wrap: anywhere; line-height: 1.4; font-size: .95rem; }
.counter-facts .counter-value { font-variant-numeric: tabular-nums; }
.counter-facts .counter-plus { font-weight: 600; font-size: 25px; }

/* Original Video Gallery play controls, with responsive CMS video tiles. */
.youtube-gallery .video { position: relative; background: var(--bir-charcoal); height: 100%; }
.youtube-gallery .video > img { width: 100%; height: 100%; object-fit: cover; }
.youtube-gallery .video .btn-play { display: grid; place-items: center; }
.youtube-gallery .video .btn-play:focus-visible { outline: 3px solid white; outline-offset: 8px; }
#youtubeGalleryModal .modal-content { border: 0; border-radius: 12px; overflow: hidden; }
#youtubeGalleryModal .modal-header { border-bottom: 3px solid var(--bir-green); }
#youtubeGalleryPlayer { border: 0; }
@media (prefers-reduced-motion: reduce) { .youtube-gallery .btn-play::before, .youtube-gallery .btn-play::after { animation: none !important; } }

/* Screenshot layout: five equal-height tiles with alternating 2/3-column widths. */
.youtube-video-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: clamp(220px, 20vw, 320px); gap: 8px; }
.youtube-video-tile { grid-column: span 2; min-width: 0; }
.youtube-video-tile:nth-child(5n + 2), .youtube-video-tile:nth-child(5n + 4) { grid-column: span 3; }
.youtube-video-grid .video, .youtube-video-grid .video > img { border-radius: 10px !important; }
.youtube-video-grid .video > img { display: block; height: 100%; width: 100%; object-fit: cover; }
@media (max-width: 1199.98px) {
  .youtube-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 280px; }
  .youtube-video-tile, .youtube-video-tile:nth-child(5n + 2), .youtube-video-tile:nth-child(5n + 4) { grid-column: auto; }
}
@media (max-width: 767.98px) { .youtube-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 300px; } }
@media (max-width: 575.98px) { .youtube-video-grid { grid-template-columns: 1fr; grid-auto-rows: 360px; } }

/* Warm editorial surfaces and quieter accents across the homepage. */
.navbar-light.bg-white, .sticky-top.navbar-light { background: var(--bir-paper) !important; }
.navbar-light { border-bottom-color: var(--bir-border); }
.navbar .dropdown-menu, .navbar .nav-item:hover .dropdown-menu { background: var(--bir-surface) !important; border-color: var(--bir-border); }
.dropdown-item { color: var(--bir-charcoal); }
.dropdown .dropdown-menu a:hover { color: white; }
.text-muted { color: var(--bir-muted) !important; }
.text-dark { color: var(--bir-charcoal) !important; }
.border, .border-start, .border-end, .border-top, .border-bottom { border-color: var(--bir-border) !important; }
.bg-primary { background-color: var(--bir-green-dark) !important; }
.eyebrow { color: var(--bir-muted); }
.sub-title { color: var(--bir-muted) !important; }
.sub-title::before, .sub-title::after { border-color: var(--bir-border) !important; }
.training { background: var(--bs-light); }
.training .training-item.bg-white { background: var(--bir-surface) !important; }
.training .training-img .bg-primary { background: var(--bir-surface) !important; color: var(--bir-charcoal) !important; }
.training .edition-content h3 a, .events .recommended-show-body h3 a, .youtube-gallery-card h3 a { color: var(--bir-charcoal); }
.training .edition-content h3 a:hover, .events .recommended-show-body h3 a:hover { color: var(--bir-green-dark); }
.events { background: var(--bir-paper); }
.events .event-item .bg-primary { background: var(--bir-surface) !important; color: var(--bir-charcoal) !important; }
.counter-facts .counter { background: var(--bir-surface); box-shadow: 0 8px 24px rgba(40,41,37,.08); }
.counter-facts .counter::before { background: #e5e0d5; }
.counter-facts .counter h3 { color: var(--bir-charcoal); }
.counter-facts .counter .counter-value { color: var(--bir-green-dark); }
.youtube-gallery { background: var(--bir-paper); }
.youtube-gallery .video .btn-play::after { background: var(--bir-surface); }
.youtube-gallery .video .btn-play::before { background: rgba(250,248,244,.5); }
.youtube-gallery .video .btn-play span { border-left-color: var(--bir-green-dark); }
#youtubeGalleryModal .modal-content { background: var(--bir-paper); }
#youtubeGalleryModal .modal-header { border-bottom-color: var(--bir-border); }
.footer, .copyright { background: var(--bir-ink) !important; }
.footer .text-white, .copyright .text-white { color: #eeeae1 !important; }
.footer-brand { background: var(--bir-paper); }
.footer .form-control { background: var(--bir-paper); border-color: var(--bir-border); }
.footer .footer-item .footer-link { color: #d5d1c7; }
.footer .footer-item .footer-link:hover { color: white !important; }
.header-carousel .carousel-caption .text-secondary { color: #e8e2d3 !important; }
.header-carousel .owl-nav .owl-prev, .header-carousel .owl-nav .owl-next { background: rgba(28,33,28,.65); border: 1px solid rgba(250,248,244,.35); }
.header-carousel .owl-dot.active span { background: var(--bir-paper); }
.header-carousel .owl-dot span { background: var(--bir-paper); }

/* Lighter editorial typography, including template weight utilities. */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4,
.display-5, .display-6 { font-weight: 600; letter-spacing: normal; }
body { font-weight: 400; }
.navbar-light .navbar-nav .nav-link, .btn { font-weight: 500; }
.sub-title.fw-bold, .counter-facts .counter .counter-value,
.training-img .fw-bold, .events .bg-primary.fw-bold { font-weight: 600 !important; }
.youtube-promo-eyebrow, .youtube-channel-label, .eyebrow { font-weight: 500; }

/* Episode cards: programme identity, episode title, and broadcast date. */
.episode-card { width: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--bir-border); border-radius: 14px; background: var(--bir-surface); transition: border-color .2s, box-shadow .2s; }
.episode-card:hover, .episode-card:focus-within { border-color: #b8c6ba; box-shadow: 0 10px 28px rgba(40,41,37,.07); }
.episode-art { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--bir-ink); }
.episode-art > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.episode-card:hover .episode-art > img { transform: scale(1.035); }
.episode-art::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.22), transparent 45%, rgba(0,0,0,.15)); }
.episode-kind { position: absolute; z-index: 2; top: 14px; left: 14px; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 6px; color: white; background: rgba(28,33,28,.8); font-size: .75rem; font-weight: 500; pointer-events: none; }
.episode-play-link { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; }
.episode-play { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: var(--bir-ink); background: var(--bir-paper); box-shadow: 0 3px 16px rgba(0,0,0,.18); transition: background .2s, color .2s, transform .2s; }
.episode-play i { margin-left: 3px; font-size: 16px; }
.episode-play-link:hover .episode-play { color: white; background: var(--bir-green-dark); transform: scale(1.08); }
.episode-play-link:focus-visible { outline: 3px solid var(--bir-paper); outline-offset: -6px; }
.episode-art-placeholder { height: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; color: #d7d6cc; font-size: 1.3rem; }
.episode-body { padding: 22px 24px 0; display: flex; flex-direction: column; flex: 1; }
.episode-show { margin: 0 0 9px; color: var(--bir-green-dark); font-size: .85rem; font-weight: 600; line-height: 1.4; }
.episode-title { font-size: 1.4rem; font-weight: 600; line-height: 1.3; margin: 0 0 16px; overflow-wrap: anywhere; }
.episode-title a { color: var(--bir-charcoal); }
.episode-title a:hover { color: var(--bir-green-dark); }
.episode-broadcast { display: flex; align-items: baseline; gap: 8px; color: var(--bir-muted); font-size: .85rem; line-height: 1.5; margin: 0 0 22px; }
.episode-footer { margin-top: auto; border-top: 1px solid var(--bir-border); padding: 16px 0 19px; }
.episode-watch { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--bir-green-dark); font-size: .95rem; font-weight: 600; }
.episode-watch i { font-size: .8rem; transition: transform .2s; }
.episode-watch:hover i { transform: translateX(3px); }
.episode-unavailable { display: flex; align-items: center; gap: 8px; color: var(--bir-muted); font-size: .85rem; }
.episode-watch:focus-visible, .episode-title a:focus-visible { outline: 2px solid var(--bir-green-dark); outline-offset: 4px; border-radius: 2px; }
.latest-episodes .training-carousel .owl-nav .owl-prev, .latest-episodes .training-carousel .owl-nav .owl-next { background: transparent; color: var(--bir-charcoal); border-color: var(--bir-border); padding: 9px 22px; }
@media (prefers-reduced-motion: reduce) { .episode-card, .episode-art > img, .episode-play, .episode-watch i { transition: none !important; } }

/* Show cards highlight programme identity and recurring broadcast times. */
.programme-card { display: flex; flex-direction: column; border: 1px solid var(--bir-border); border-radius: 14px; overflow: hidden; background: var(--bir-surface); transition: border-color .2s, box-shadow .2s; }
.programme-card:hover, .programme-card:focus-within { border-color: #b8c6ba; box-shadow: 0 10px 28px rgba(40,41,37,.07); }
.programme-art { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bir-ink); }
.programme-art > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.programme-card:hover .programme-art > img { transform: scale(1.035); }
.programme-placeholder { display: flex; height: 100%; align-items: center; justify-content: center; gap: 10px; font-size: 1.3rem; color: #d7d6cc; }
.programme-image-link { position: absolute; inset: 0; }
.programme-image-arrow { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--bir-charcoal); background: var(--bir-paper); transition: background .2s, color .2s; }
.programme-image-link:hover .programme-image-arrow { background: var(--bir-green-dark); color: white; }
.programme-body { padding: 20px 20px 0; display: flex; flex-direction: column; flex: 1; }
.programme-category { margin: 0 0 8px; color: var(--bir-green-dark); font-size: .8rem; font-weight: 600; }
.programme-title { font-size: 1.4rem; font-weight: 600; line-height: 1.3; margin: 0 0 20px; overflow-wrap: anywhere; }
.programme-title a { color: var(--bir-charcoal); }
.programme-title a:hover { color: var(--bir-green-dark); }
.programme-presenters { display: flex; align-items: baseline; gap: 10px; margin-bottom: 20px; font-size: .9rem; }
.programme-presenters > i { color: var(--bir-muted); font-size: .8rem; }
.programme-label { display: block; color: var(--bir-muted); font-size: .75rem; font-weight: 500; margin-bottom: 4px; }
.programme-presenters p { margin: 0; line-height: 1.5; }
.programme-schedule { margin-bottom: 22px; padding: 12px 14px; background: var(--bir-paper); border-radius: 8px; }
.programme-schedule > .programme-label { margin-bottom: 9px; }
.programme-schedule li + li { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--bir-border); }
.programme-slot { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px; font-size: .85rem; }
.programme-slot strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.programme-status { display: inline-block; margin-top: 3px; font-size: .7rem; color: var(--bir-muted); }
.programme-status.is-premiere { color: var(--bir-green-dark); }
.programme-more-slots { color: var(--bir-muted); font-size: .75rem; }
.programme-footer { margin-top: auto; padding: 16px 0 19px; border-top: 1px solid var(--bir-border); }
.programme-footer a { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .95rem; font-weight: 600; }
.programme-footer i { font-size: .8rem; }
.programme-image-link:focus-visible { outline: 3px solid var(--bir-paper); outline-offset: -6px; }
.programme-title a:focus-visible, .programme-footer a:focus-visible { outline: 2px solid var(--bir-green-dark); outline-offset: 4px; border-radius: 2px; }
@media (prefers-reduced-motion: reduce) { .programme-card, .programme-art > img, .programme-image-arrow { transition: none; } }

/* Paginated programme archive. */
.shows-page { padding-top: 95px; }
.shows-page-heading { padding: 56px 0 36px; }
.shows-page-heading .breadcrumb { font-size: .85rem; }
.shows-list-summary { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 20px; color: var(--bir-muted); font-size: .85rem; }
.shows-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 20px; margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--bir-border); }
.shows-page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.shows-page-numbers a, .shows-page-numbers > span { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 8px; border-radius: 8px; }
.shows-page-numbers a { border: 1px solid var(--bir-border); color: var(--bir-charcoal); }
.shows-page-numbers a:hover { background: var(--bs-light); border-color: var(--bir-green-dark); }
.shows-page-numbers .is-current { background: var(--bir-green-dark); color: white; }
.shows-page-direction { display: inline-flex; gap: 10px; align-items: center; font-size: .9rem; min-height: 44px; }
.shows-pagination a:focus-visible { outline: 2px solid var(--bir-green-dark); outline-offset: 3px; }
.shows-empty { border: 1px solid var(--bir-border); border-radius: 14px; text-align: center; padding: 60px 24px; background: var(--bir-surface); }
.shows-empty > i { color: var(--bir-green-dark); font-size: 2rem; }
@media (max-width: 991.98px) { .shows-page { padding-top: 0; } .shows-page-heading { padding-top: 36px; } }

/* Allow homepage quick links to clear the sticky navigation. */
#najnovija-izdanja, #video-galerija { scroll-margin-top: 100px; }

/* Slim editorial top bar. */
.bir-topbar { background: #eeeae1; border-bottom: 1px solid var(--bir-border); color: var(--bir-muted); }
.bir-topbar-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bir-topbar-brand { color: var(--bir-charcoal); font-size: .78rem; font-weight: 500; }
.bir-topbar-brand span { margin: 0 8px; color: #96968b; }
.bir-topbar-links { display: flex; align-items: center; gap: 24px; }
.bir-topbar-links a { color: var(--bir-muted); font-size: .78rem; }
.bir-topbar-links a:hover, .bir-topbar-brand:hover { color: var(--bir-green-dark); }
.bir-topbar-links i { margin-right: 5px; }
.bir-topbar a:focus-visible { outline: 2px solid var(--bir-green-dark); outline-offset: 3px; }
@media (max-width: 575.98px) { .bir-topbar-inner { min-height: 34px; } .bir-topbar-brand { font-size: .72rem; } .bir-topbar-links { gap: 12px; } .bir-topbar-links a { font-size: .72rem; } .bir-topbar-links a:first-child { display: none; } }

/* Dedicated missing-page view. */
.not-found-page { padding-top: 95px; background: var(--bir-paper); }
.not-found-content { min-height: 65vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding-top: 64px; padding-bottom: 80px; }
.not-found-signal { position: relative; display: grid; place-items: center; width: 160px; height: 120px; margin-bottom: 32px; }
.not-found-signal > i { font-size: 120px; color: #e2dfd6; }
.not-found-signal > span { position: absolute; top: 20px; font-size: 3rem; font-weight: 600; color: var(--bir-green-dark); letter-spacing: .04em; }
.not-found-content h1 { font-size: clamp(2.3rem, 5vw, 4rem); margin-bottom: 20px; }
.not-found-description { max-width: 490px; color: var(--bir-muted); font-size: 1.1rem; line-height: 1.7; margin-bottom: 30px; }
.not-found-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.not-found-secondary { border: 1px solid var(--bir-border); color: var(--bir-charcoal); background: var(--bir-surface); }
.not-found-secondary:hover { color: var(--bir-green-dark); border-color: var(--bir-green-dark); }
@media (max-width: 991.98px) { .not-found-page { padding-top: 0; } }

/* Cinematic show-detail comparison, scoped to this page only. */
.cinematic-page { --cinema-bg: #111714; --cinema-panel: #1b2420; --cinema-line: #334239; --cinema-muted: #a9b7ad; --cinema-accent: #8bdbab; background: var(--cinema-bg); color: #f3f5f1; }
.cinematic-page .bir-topbar { background: #0c110e; border-color: #28352d; }
.cinematic-page .bir-topbar a { color: #b5bfb8; }
.cinematic-page .navbar-light.bg-white, .cinematic-page .sticky-top.navbar-light { background: #172019 !important; border-color: #334239; }
.cinematic-page .navbar-light .navbar-nav .nav-link { color: #c5d0c7 !important; }
.cinematic-page .navbar-light .navbar-nav .nav-link.active { color: var(--cinema-accent) !important; }
.cinematic-page .navbar-brand { padding: 7px 12px !important; background: #faf8f4; border-radius: 4px; }
.cinematic-page .navbar-light .navbar-brand img { height: 56px; max-height: 56px; }
.cinematic-page .navbar-toggler { color: #f3f5f1; }
.cinema-show { padding-top: 95px; }
.cinema-hero { position: relative; isolation: isolate; min-height: 610px; display: flex; align-items: end; overflow: hidden; background: #19291f; }
.cinema-backdrop { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.cinema-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #111714 0%, rgba(17,23,20,.6) 55%, rgba(17,23,20,.25) 100%), linear-gradient(90deg, rgba(17,23,20,.7), transparent); }
.cinema-hero-content { padding-top: 34px; padding-bottom: 64px; }
.cinema-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; color: #d0d8d2; font-size: .85rem; margin-bottom: 110px; }
.cinema-breadcrumb a { color: #c1ccc4; }
.cinema-eyebrow { display: flex; align-items: center; gap: 10px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cinema-accent); margin-bottom: 18px; }
.cinema-eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: var(--cinema-accent); }
.cinema-hero h1 { color: #f3f5f1; font-size: clamp(3rem, 6vw, 6rem); font-weight: 600; line-height: 1.03; max-width: 900px; margin-bottom: 26px; }
.cinema-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; color: #d0d8d2; margin-bottom: 32px; }
.cinema-meta span { display: flex; align-items: center; gap: 8px; font-size: .95rem; }
.cinema-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cinema-action-primary, .cinema-action-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 16px; padding: 13px 22px; border: 1px solid #718378; border-radius: 6px; font-weight: 500; color: #f3f5f1; }
.cinema-action-primary { background: var(--cinema-accent); border-color: var(--cinema-accent); color: #102017; }
.cinema-action-primary:hover { color: #102017; background: #acf0c5; }
.cinema-action-secondary:hover { color: white; border-color: white; background: rgba(255,255,255,.07); }
.cinema-hero-aside { text-align: right; border-left: 1px solid #65746a; }
.cinema-hero-aside > span { color: white; font-size: 2rem; font-weight: 600; letter-spacing: .08em; }
.cinema-hero-aside p { color: #bdc8c0; margin: 8px 0 0; font-size: .9rem; }
.cinema-overview { padding-top: 64px; padding-bottom: 72px; }
.cinema-show h2 { color: #f3f5f1; font-size: 2.25rem; font-weight: 500; margin-bottom: 26px; }
.cinema-description { color: #c6d0c9; font-size: 1.1rem; line-height: 1.85; max-width: 720px; overflow-wrap: anywhere; }
.cinema-description a { color: var(--cinema-accent); text-decoration: underline; }
.cinema-description strong { color: #f3f5f1; font-weight: 600; }
.cinema-description blockquote { padding-left: 20px; border-left: 2px solid var(--cinema-accent); }
.cinema-description h2, .cinema-description h3, .cinema-description h4 { color: #f3f5f1; font-size: 1.5rem; margin-top: 28px; }
.cinema-muted { color: var(--cinema-muted); }
.cinema-duration { display: flex; align-items: center; gap: 16px; margin-top: 32px; border-top: 1px solid var(--cinema-line); padding-top: 24px; }
.cinema-duration > i { color: var(--cinema-accent); font-size: 1.4rem; }
.cinema-duration span, .cinema-duration strong { display: block; }
.cinema-duration span { font-size: .8rem; color: var(--cinema-muted); }
.cinema-duration strong { font-size: 1rem; font-weight: 500; margin-top: 4px; }
.cinema-schedule { padding: 28px; background: var(--cinema-panel); border: 1px solid var(--cinema-line); border-radius: 12px; }
.cinema-schedule h2 { font-size: 1.5rem; }
.cinema-schedule li + li { margin-top: 22px; border-top: 1px solid var(--cinema-line); padding-top: 22px; }
.cinema-slot-platform { color: var(--cinema-muted); font-size: .8rem; display: flex; gap: 8px; margin-bottom: 12px; }
.cinema-slot-main { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.cinema-slot-main time { display: block; font-size: 1.8rem; font-variant-numeric: tabular-nums; margin-top: 4px; }
.cinema-slot-status { font-size: .75rem; padding: 5px 10px; border-radius: 4px; color: #bcc9c0; background: #2c3931; }
.cinema-slot-status.is-premiere { color: var(--cinema-accent); background: #213d2c; }
.cinema-team { padding-top: 32px; padding-bottom: 64px; border-top: 1px solid var(--cinema-line); }
.cinema-section-heading { display: flex; justify-content: space-between; align-items: end; flex-wrap: wrap; gap: 20px; margin-bottom: 28px; }
.cinema-section-heading h2 { margin-bottom: 0; }
.cinema-section-heading > span { color: var(--cinema-muted); font-size: .85rem; }
.cinema-person { display: flex; align-items: center; gap: 18px; background: var(--cinema-panel); border: 1px solid var(--cinema-line); border-radius: 10px; padding: 18px; height: 100%; }
.cinema-person img, .cinema-person-placeholder { width: 76px; height: 90px; flex-shrink: 0; object-fit: cover; border-radius: 6px; }
.cinema-person-placeholder { display: grid; place-items: center; color: #9db5a5; background: #2a3a30; font-size: 1.6rem; }
.cinema-person p { color: var(--cinema-muted); font-size: .8rem; margin-bottom: 6px; }
.cinema-person h3 { font-size: 1.2rem; margin-bottom: 0; color: #f3f5f1; }
.cinema-back { padding-bottom: 64px; }
.cinema-back a { color: var(--cinema-accent); display: inline-flex; align-items: center; gap: 12px; }
.cinema-show [id] { scroll-margin-top: 115px; }
.cinematic-page a:focus-visible { outline: 2px solid var(--cinema-accent); outline-offset: 5px; }
@media (max-width: 991.98px) { .cinema-show { padding-top: 0; } .cinema-hero { min-height: 540px; } .cinema-breadcrumb { margin-bottom: 80px; } .cinema-hero-content { padding-bottom: 40px; } }
@media (max-width: 575.98px) { .cinema-actions a { width: 100%; } .cinema-schedule { padding: 22px; } .cinema-overview { padding-top: 40px; } }

/* Lighter cinematic variant: dramatic opening, warm editorial details. */
.cinematic-page { background: var(--bir-paper); color: var(--bir-charcoal); }
.cinema-show { background: var(--bir-paper); }
.cinema-hero { min-height: 530px; }
.cinema-hero::after { background: linear-gradient(0deg, rgba(17,23,20,.87) 0%, rgba(17,23,20,.42) 55%, rgba(17,23,20,.16) 100%), linear-gradient(90deg, rgba(17,23,20,.48), transparent); }
.cinema-breadcrumb { margin-bottom: 80px; }
.cinema-hero-content { padding-bottom: 52px; }
.cinema-overview, .cinema-team, .cinema-back { color: var(--bir-charcoal); }
.cinema-overview .cinema-eyebrow, .cinema-team .cinema-eyebrow { color: var(--bir-green-dark); }
.cinema-overview h2, .cinema-team h2 { color: var(--bir-charcoal); }
.cinema-description { color: #54584f; }
.cinema-description strong, .cinema-description h2, .cinema-description h3, .cinema-description h4 { color: var(--bir-charcoal); }
.cinema-description a { color: var(--bir-green-dark); }
.cinema-description blockquote { border-color: var(--bir-green-dark); }
.cinema-muted { color: var(--bir-muted); }
.cinema-duration { border-color: var(--bir-border); }
.cinema-duration > i { color: var(--bir-green-dark); }
.cinema-duration span { color: var(--bir-muted); }
.cinema-schedule { background: #f0ede6; border-color: var(--bir-border); }
.cinema-schedule li + li { border-color: var(--bir-border); }
.cinema-slot-platform { color: var(--bir-muted); }
.cinema-slot-status { color: #65695f; background: #e4e0d6; }
.cinema-slot-status.is-premiere { color: var(--bir-green-dark); background: #e0ebdf; }
.cinema-team { border-color: var(--bir-border); }
.cinema-section-heading > span { color: var(--bir-muted); }
.cinema-person { background: var(--bir-surface); border-color: var(--bir-border); }
.cinema-person p { color: var(--bir-muted); }
.cinema-person h3 { color: var(--bir-charcoal); }
.cinema-person-placeholder { color: #6d7e6c; background: #e9e6dc; }
.cinema-back a { color: var(--bir-green-dark); }
.cinema-overview a:focus-visible, .cinema-team a:focus-visible, .cinema-back a:focus-visible { outline-color: var(--bir-green-dark); }
@media (max-width: 991.98px) { .cinema-hero { min-height: 480px; } .cinema-hero-content { padding-bottom: 40px; } .cinema-breadcrumb { margin-bottom: 64px; } }

/* Editorial presenter portraits. */
.cinema-team .cinema-person { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; border-radius: 14px; overflow: hidden; background: var(--bir-surface); border: 1px solid var(--bir-border); }
.cinema-person-portrait { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e9e6dc; }
.cinema-team .cinema-person img { display: block; width: 100%; height: 100%; border-radius: 0; object-fit: cover; object-position: center 25%; }
.cinema-team .cinema-person-placeholder { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 0; color: #8a9786; background: linear-gradient(135deg, #ece9e1, #dddccc); font-size: 4rem; }
.cinema-person-mark { position: absolute; bottom: 16px; left: 20px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: var(--bir-green-dark); background: var(--bir-paper); box-shadow: 0 2px 12px rgba(40,41,37,.08); }
.cinema-person-info { position: relative; flex: 1; padding: 24px; }
.cinema-team .cinema-person-info p { margin: 0 0 8px; font-size: .78rem; font-weight: 500; color: var(--bir-green-dark); letter-spacing: .06em; text-transform: uppercase; }
.cinema-team .cinema-person-info h3 { color: var(--bir-charcoal); font-size: 1.6rem; font-weight: 600; line-height: 1.2; margin: 0; overflow-wrap: anywhere; }
.cinema-person-credit { display: block; margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--bir-border); color: var(--bir-muted); font-size: .8rem; line-height: 1.5; }

/* Subtle presenter treatment: small portrait and quiet typography. */
.cinema-team .cinema-person { flex-direction: row; align-items: center; padding: 20px 0; gap: 18px; border: 0; border-top: 1px solid var(--bir-border); border-radius: 0; background: transparent; }
.cinema-person-portrait { width: 80px; height: 96px; aspect-ratio: auto; flex-shrink: 0; border-radius: 6px; }
.cinema-team .cinema-person img { border-radius: 6px; }
.cinema-team .cinema-person-placeholder { font-size: 1.6rem; color: #969c8f; background: #e9e6dc; }
.cinema-person-info { padding: 0; }
.cinema-team .cinema-person-info p { margin-bottom: 6px; font-size: .8rem; font-weight: 400; letter-spacing: normal; text-transform: none; color: var(--bir-muted); }
.cinema-team .cinema-person-info h3 { font-size: 1.2rem; font-weight: 500; line-height: 1.35; }

/* Presenter profile links: subtle hover and keyboard decoration. */
.cinema-team .cinema-person { position: relative; transition: border-color .2s, background-color .2s; }
.cinema-person-link { color: var(--bir-charcoal); display: inline-flex; align-items: center; gap: 12px; }
.cinema-person-link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.cinema-person-link i { font-size: .7rem; color: var(--bir-green-dark); opacity: 0; transform: translateX(-4px); transition: opacity .2s, transform .2s; }
.cinema-team .cinema-person-linked:hover, .cinema-team .cinema-person-linked:focus-within { border-top-color: var(--bir-green-dark); background: rgba(23,107,67,.025); }
.cinema-person-linked:hover .cinema-person-link, .cinema-person-linked:focus-within .cinema-person-link { color: var(--bir-green-dark); }
.cinema-person-linked:hover .cinema-person-link i, .cinema-person-linked:focus-within .cinema-person-link i { opacity: 1; transform: translateX(0); }
.cinematic-page .cinema-person-link:focus-visible { outline: none; }
.cinema-person-link:focus-visible::after { outline: 2px solid var(--bir-green-dark); outline-offset: 5px; border-radius: 4px; }
@media (hover: none) { .cinema-person-link i { opacity: .7; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cinema-team .cinema-person, .cinema-person-link i { transition: none; } }

/* Vertical presenter profiles with restrained editorial styling. */
.cinema-team .cinema-person { flex-direction: column; align-items: stretch; gap: 0; padding: 0; border: 0; background: transparent; }
.cinema-person-portrait { width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 8px; }
.cinema-team .cinema-person img { border-radius: 8px; }
.cinema-team .cinema-person-placeholder { font-size: 2.5rem; }
.cinema-person-info { padding: 18px 0 16px; border-bottom: 1px solid var(--bir-border); transition: border-color .2s; }
.cinema-team .cinema-person-info h3 { font-size: 1.25rem; font-weight: 500; }
.cinema-person-link { display: flex; justify-content: space-between; }
.cinema-team .cinema-person-linked:hover, .cinema-team .cinema-person-linked:focus-within { background: transparent; }
.cinema-person-linked:hover .cinema-person-info, .cinema-person-linked:focus-within .cinema-person-info { border-bottom-color: var(--bir-green-dark); }
@media (prefers-reduced-motion: reduce) { .cinema-person-info { transition: none; } }

/* Compact portraits within the vertical presenter layout. */
.cinema-team .cinema-person-portrait { width: 180px; max-width: 100%; aspect-ratio: 4 / 3; }

/* Four-column presenter profiles with full-width portrait framing. */
.cinema-team .cinema-person-portrait { width: 100%; max-width: 100%; height: auto; aspect-ratio: 4 / 5; }

/* Programme archive shares the lighter cinematic show-detail language. */
.shows-archive .shows-page-heading { min-height: 350px; padding: 0; }
.shows-archive .shows-page-heading .cinema-hero-content { padding-top: 30px; padding-bottom: 44px; }
.shows-archive .cinema-breadcrumb { margin-bottom: 48px; }
.shows-archive .cinema-hero h1 { font-size: clamp(3rem, 6vw, 5.5rem); margin-bottom: 18px; }
.shows-archive-intro { max-width: 650px; color: #d0d8d2; font-size: 1.1rem; line-height: 1.7; margin: 0; }
.shows-archive-count { text-align: right; border-left: 1px solid rgba(193,204,196,.3); color: #bdc8c0; }
.shows-archive-count span { display: block; font-size: .8rem; }
.shows-archive-count strong { display: block; color: #f3f5f1; font-size: 3rem; font-weight: 500; line-height: 1.2; margin: 6px 0; }
.shows-archive-content { padding-top: 48px; padding-bottom: 64px; }
.shows-archive .shows-list-summary { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--bir-border); }
.shows-archive .programme-card { border-color: var(--bir-border); background: var(--bir-surface); border-radius: 12px; box-shadow: none; }
.shows-archive .programme-title { font-weight: 500; font-size: 1.4rem; }
.shows-archive .programme-schedule { background: #f0ede6; }
.shows-archive .programme-status.is-premiere { color: var(--bir-green-dark); }
.shows-archive .shows-page-numbers a { background: var(--bir-surface); border-radius: 6px; }
.shows-archive .shows-page-numbers .is-current { border-radius: 6px; }
.shows-archive-content a:focus-visible { outline-color: var(--bir-green-dark); }
@media (max-width: 991.98px) {
  .shows-archive .shows-page-heading { min-height: 320px; }
  .shows-archive .cinema-breadcrumb { margin-bottom: 36px; }
  .shows-archive-count { display: none; }
  .shows-archive-content { padding-top: 32px; }
}

/* Bright editorial footer shared across the site. */
.footer { background: #f0ede6 !important; border-top: 1px solid var(--bir-border); }
.copyright { background: var(--bir-paper) !important; border-top: 1px solid var(--bir-border); }
.footer .text-white, .copyright .text-white { color: var(--bir-charcoal) !important; }
.footer h4.text-white { color: var(--bir-charcoal) !important; font-weight: 600; }
.footer p.text-white, .footer .text-white p { color: #66695f !important; }
.footer .footer-item .footer-link { color: #66695f; }
.footer .footer-item .footer-link:hover { color: var(--bir-green-dark) !important; letter-spacing: 0; }
.footer-brand { background: transparent; padding: 0; border-radius: 0; }
.footer .btn.btn-primary { background: var(--bir-surface); color: var(--bir-green-dark); border: 1px solid #d6d9cd; box-shadow: none; }
.footer .btn.btn-primary:hover, .footer .btn.btn-primary:focus-visible { background: var(--bir-green-dark); color: white !important; border-color: var(--bir-green-dark); }
.footer .btn-primary i { color: inherit; }
.footer .form-control { background: var(--bir-surface); color: var(--bir-charcoal); border-color: #d6d9cd; }
.footer .form-control::placeholder { color: var(--bir-muted); }
.footer .form-control:focus { border-color: var(--bir-green-dark); }
.copyright .border-bottom { border-color: #c9cbbf !important; }
.copyright .text-light { color: var(--bir-muted) !important; }
.copyright a.text-white:hover { color: var(--bir-green-dark) !important; }
.footer a:focus-visible, .copyright a:focus-visible { outline: 2px solid var(--bir-green-dark); outline-offset: 4px; }

/* Shared overlay header: transparent over heroes, ivory after scrolling. */
.site-header { position: fixed; z-index: 1030; inset: 0 0 auto; color: var(--bir-charcoal); background: var(--bir-paper); transition: background-color .25s, box-shadow .25s; }
.site-header .navbar.navbar-light { position: relative !important; top: auto; left: auto; min-height: 94px; border: 0; background: transparent !important; }
.site-header .bir-topbar { background: transparent; border-color: var(--bir-border); }
.site-header .bir-topbar a { color: var(--bir-muted); }
.site-header .navbar-light .navbar-brand { padding: 6px 10px !important; background: var(--bir-paper); border-radius: 5px; }
.site-header .navbar-light .navbar-brand img { height: 58px; max-height: 58px; }
.site-header .navbar-light .navbar-nav .nav-link { color: var(--bir-charcoal) !important; }
.site-header .navbar-light .navbar-nav .nav-link.active, .site-header .navbar-light .navbar-nav .nav-link:hover { color: var(--bir-green-dark) !important; }
.site-header .navbar.navbar-light .navbar-toggler { color: var(--bir-charcoal); border-color: var(--bir-border); }
.site-header--overlay:not(.is-scrolled):not(.is-menu-open) { background: transparent; }
.site-header--overlay:not(.is-scrolled):not(.is-menu-open) .bir-topbar { border-color: rgba(255,255,255,.2); }
.site-header--overlay:not(.is-scrolled):not(.is-menu-open) .bir-topbar a, .site-header--overlay:not(.is-scrolled):not(.is-menu-open) .bir-topbar-brand span { color: #eeeae1; }
.site-header--overlay:not(.is-scrolled):not(.is-menu-open) .navbar-light .navbar-nav .nav-link { color: #f5f3ec !important; }
.site-header--overlay:not(.is-scrolled):not(.is-menu-open) .navbar-light .navbar-nav .nav-link.active { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
.site-header--overlay:not(.is-scrolled):not(.is-menu-open) .navbar.navbar-light .navbar-toggler { color: #f5f3ec; border-color: rgba(255,255,255,.5); }
.site-header.is-scrolled, .site-header.is-menu-open { background: var(--bir-paper); box-shadow: 0 2px 16px rgba(40,41,37,.08); }
.site-header a:focus-visible { outline-color: var(--bir-green-dark); }
.site-header--overlay:not(.is-scrolled):not(.is-menu-open) a:focus-visible { outline-color: #f5f3ec; }
.header-carousel .header-carousel-item { margin-top: 0; }
.header-carousel .header-carousel-item .carousel-caption { padding-top: 160px; }
.cinema-show, .shows-page { padding-top: 0; }
.cinema-hero .cinema-hero-content, .shows-archive .shows-page-heading .cinema-hero-content { padding-top: 166px; }
.site-header--solid + main { margin-top: 132px; }
.site-header--solid + .not-found-page { padding-top: 0; }
#najnovija-izdanja, #video-galerija, .cinema-show [id] { scroll-margin-top: 150px; }
@media (max-width: 991.98px) {
  .site-header .navbar.navbar-light { min-height: 86px; }
  .site-header .navbar-light .navbar-collapse { border-color: var(--bir-border); padding-bottom: 16px; }
  .site-header .navbar-light .navbar-brand img { height: 48px; max-height: 48px; }
  .cinema-hero .cinema-hero-content, .shows-archive .shows-page-heading .cinema-hero-content { padding-top: 150px; }
  .site-header--solid + main { margin-top: 124px; }
}
@media (prefers-reduced-motion: reduce) { .site-header { transition: none; } }

/* One accessible link covers the entire show card. */
.programme-card { position: relative; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.programme-card-link::after { content: ''; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.programme-footer-action { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--bir-green-dark); font-size: .95rem; font-weight: 600; }
.programme-footer-action i { transition: transform .25s ease; }
.programme-card-linked:hover, .programme-card-linked:focus-within, .shows-archive .programme-card-linked:hover, .shows-archive .programme-card-linked:focus-within { transform: translateY(-4px); border-color: #9fb7a5; box-shadow: 0 14px 30px rgba(40,41,37,.1); }
.programme-card-linked:hover .programme-title a, .programme-card-linked:focus-within .programme-title a { color: var(--bir-green-dark); }
.programme-card-linked:hover .programme-image-arrow, .programme-card-linked:focus-within .programme-image-arrow { color: white; background: var(--bir-green-dark); }
.programme-card-linked:hover .programme-art > img, .programme-card-linked:focus-within .programme-art > img { transform: scale(1.05); }
.programme-card-linked:hover .programme-footer-action i, .programme-card-linked:focus-within .programme-footer-action i { transform: translateX(4px); }
.programme-card .programme-card-link:focus-visible { outline: none; }
.programme-card-link:focus-visible::after { outline: 2px solid var(--bir-green-dark); outline-offset: -3px; }
@media (prefers-reduced-motion: reduce) { .programme-card, .programme-footer-action i { transition: none; } .programme-card-linked:hover, .programme-card-linked:focus-within, .shows-archive .programme-card-linked:hover, .shows-archive .programme-card-linked:focus-within { transform: none; } }

.editions-archive .episode-card { height: 100%; }

/* Identical shared episode cards on the homepage and editions archive. */
.episode-card { position: relative; }
.episode-card-link::after { content: ''; position: absolute; inset: 0; z-index: 3; border-radius: 14px; }
.episode-card-linked:hover .episode-play, .episode-card-linked:focus-within .episode-play { color: white; background: var(--bir-green-dark); }
.episode-card-linked:hover .episode-title a, .episode-card-linked:focus-within .episode-title a { color: var(--bir-green-dark); }
.episode-card-linked:hover .episode-watch i, .episode-card-linked:focus-within .episode-watch i { transform: translateX(3px); }
.episode-card .episode-card-link:focus-visible { outline: none; }
.episode-card-link:focus-visible::after { outline: 2px solid var(--bir-green-dark); outline-offset: -3px; }

/* Episode detail: cinematic heading with a focused viewing area. */
.edition-hero { min-height: 460px; }
.edition-main { padding-top: 40px; }
.edition-player { display: block; width: 100%; aspect-ratio: 16 / 9; background: #111714; border: 0; border-radius: 12px; overflow: hidden; }
.edition-player iframe { border: 0; }
.edition-recording-notice { text-align: center; padding: 50px 24px; background: var(--bs-light); border: 1px solid var(--bir-border); border-radius: 12px; }
.edition-recording-notice > i { color: var(--bir-green-dark); font-size: 2rem; margin-bottom: 18px; }
.edition-recording-notice h2 { color: var(--bir-charcoal); font-size: 1.5rem; }
.edition-recording-notice p { color: var(--bir-muted); }
.edition-information { padding-top: 56px; padding-bottom: 56px; }
.edition-information h2, .edition-main .cinema-team h2 { color: var(--bir-charcoal); }
.edition-information .cinema-eyebrow { color: var(--bir-green-dark); }
.edition-parent-show { background: #f0ede6; border: 1px solid var(--bir-border); border-radius: 12px; padding: 26px; }
.edition-parent-show h2 { font-size: 1.5rem; }
.edition-audio { margin-top: 24px; background: var(--bs-light); padding: 24px; border-radius: 10px; }
.edition-audio h2 { color: var(--bir-charcoal); font-size: 1.25rem; margin-bottom: 14px; }
.edition-audio audio { width: 100%; }
.edition-main a:focus-visible { outline-color: var(--bir-green-dark); }

/* Contact layout adapted from the original template. */
.contact-hero { min-height: 390px; background: #24352a; }
.contact-hero .cinema-breadcrumb { margin-bottom: 42px; }
.contact-surface { background: #f0ede6; border: 1px solid var(--bir-border); }
.contact-page .contact h2 { color: var(--bir-charcoal); }
.contact-info { padding: 8px 0 0 24px; border-left: 1px solid var(--bir-border); }
.contact-info address { font-style: normal; }
.contact-detail { display: flex; align-items: baseline; gap: 20px; margin-bottom: 30px; }
.contact-detail > i { width: 20px; color: var(--bir-green-dark); }
.contact-detail h3 { font-size: .8rem; font-weight: 400; color: var(--bir-muted); margin-bottom: 7px; }
.contact-detail p { color: var(--bir-charcoal); line-height: 1.7; margin-bottom: 0; }
.contact-detail a { color: var(--bir-charcoal); }
.contact-map-link { display: inline-flex; align-items: center; border-top: 1px solid var(--bir-border); padding-top: 20px; font-size: .9rem; }
.contact-page .contact a:focus-visible { outline-color: var(--bir-green-dark); }
@media (max-width: 991.98px) { .contact-info { padding: 30px 0 0; border-left: 0; border-top: 1px solid var(--bir-border); } }

.contact-map { overflow: hidden; border: 1px solid var(--bir-border); border-radius: 10px; background: var(--bir-paper); }
.contact-map iframe { display: block; width: 100%; height: 450px; }
@media (max-width: 575.98px) { .contact-map iframe { height: 340px; } }

/* Homepage hero occupies roughly eighty percent of the viewport. */
.header-carousel .header-carousel-item { height: 80vh; height: 80svh; min-height: 600px; }
.header-carousel .header-carousel-item img { height: 100%; }
@media (max-width: 576px) {
  .header-carousel .header-carousel-item { height: auto; min-height: 80vh; min-height: max(600px, 80svh); }
  .header-carousel .header-carousel-item .carousel-caption { min-height: 80vh; min-height: max(600px, 80svh); }
}

.journalists-archive .journalists-list { border-top: 0; padding-top: 48px; }
.journalists-archive .cinema-person-link:focus-visible::after { outline-color: var(--bir-green-dark); }

/* Journalist profile follows the lighter cinematic detail pages. */
.journalist-hero { min-height: 390px; background: #24352a; }
.journalist-hero .cinema-breadcrumb { margin-bottom: 44px; }
.journalist-hero h1 { font-size: clamp(2.75rem, 5vw, 5rem); }
.journalist-profile { padding-top: 56px; padding-bottom: 80px; }
.journalist-portrait-card { background: var(--bir-surface); border: 1px solid var(--bir-border); border-radius: 12px; overflow: hidden; }
.journalist-portrait { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 25%; }
.journalist-portrait-placeholder { display: grid; place-items: center; background: #e9e6dc; color: #8a9786; font-size: 4rem; }
.journalist-portrait-caption { padding: 22px; }
.journalist-portrait-caption p { color: var(--bir-muted); font-size: .85rem; margin-bottom: 7px; }
.journalist-portrait-caption h2 { color: var(--bir-charcoal); font-size: 1.4rem; font-weight: 500; margin: 0; }
.journalist-social { padding: 0 22px 22px; }
.journalist-social p { color: var(--bir-muted); font-size: .8rem; border-top: 1px solid var(--bir-border); padding-top: 18px; }
.journalist-social > div { display: flex; flex-wrap: wrap; gap: 8px; }
.journalist-social a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--bir-border); border-radius: 50%; color: var(--bir-green-dark); }
.journalist-social a:hover { color: white; background: var(--bir-green-dark); }
.journalist-profile #biography-title { color: var(--bir-charcoal); }
.journalist-biography table { width: 100%; display: block; overflow-x: auto; }
.journalist-back { margin-top: 36px; border-top: 1px solid var(--bir-border); padding-top: 24px; }
.journalist-profile a:focus-visible { outline-color: var(--bir-green-dark); }
@media (max-width: 767.98px) { .journalist-profile { padding-top: 32px; } .journalist-portrait-card { max-width: 400px; } }

/* Journalist cards adapted from the original template Team section. */
.bir-team-card { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--bir-border); border-radius: 10px; background: var(--bir-surface); }
.bir-team-image { position: relative; aspect-ratio: 4 / 5; width: 100%; overflow: hidden; background: #e9e6dc; }
.bir-team-image > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .5s ease; }
.bir-team-placeholder { height: 100%; display: grid; place-items: center; background: #e9e6dc; color: #8a9786; font-size: 3rem; }
.bir-team-image::after { content: ''; position: absolute; inset: 0; background: rgba(18,27,20,.4); opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.bir-team-reveal { position: absolute; z-index: 1; bottom: 0; left: 0; width: 100%; padding: 24px; display: flex; justify-content: center; align-items: center; gap: 14px; color: white; font-size: .9rem; transform: translateY(100%); opacity: 0; transition: transform .5s ease, opacity .5s ease; }
.bir-team-content { position: relative; isolation: isolate; flex: 1; padding: 24px 18px; text-align: center; background: var(--bir-surface); }
.bir-team-content::before { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--bir-green-dark); transform: scaleY(0); transform-origin: bottom; transition: transform .5s ease; }
.bir-team-content h3 { color: var(--bir-charcoal); font-size: 1.25rem; font-weight: 500; line-height: 1.35; margin: 0 0 7px; overflow-wrap: anywhere; transition: color .5s; }
.bir-team-content p { color: var(--bir-muted); font-size: .85rem; margin: 0; transition: color .5s; }
.bir-team-link { color: inherit; }
.bir-team-link::after { content: ''; position: absolute; z-index: 3; inset: 0; }
/* The stretched link belongs to the outer card, beyond the content panel. */
.bir-team-content { position: static; }
.bir-team-content::before { inset: auto 0 0; height: var(--team-caption-height, 110px); }
.bir-team-card:hover .bir-team-image > img, .bir-team-card:focus-within .bir-team-image > img { transform: scale(1.1); }
.bir-team-card:hover .bir-team-image::after, .bir-team-card:focus-within .bir-team-image::after { opacity: 1; }
.bir-team-card:hover .bir-team-reveal, .bir-team-card:focus-within .bir-team-reveal { transform: translateY(0); opacity: 1; }
.bir-team-card:hover .bir-team-content::before, .bir-team-card:focus-within .bir-team-content::before { transform: scaleY(1); }
.bir-team-card:hover .bir-team-content h3, .bir-team-card:hover .bir-team-content p, .bir-team-card:focus-within .bir-team-content h3, .bir-team-card:focus-within .bir-team-content p, .bir-team-card:hover .bir-team-link { color: white; }
.bir-team-card .bir-team-link:focus-visible { outline: none; }
.bir-team-link:focus-visible::after { outline: 2px solid var(--bir-green-dark); outline-offset: -3px; border-radius: 10px; }
@media (hover: none) { .bir-team-reveal { opacity: 1; transform: none; background: linear-gradient(transparent, rgba(18,27,20,.6)); padding: 16px; } }
@media (prefers-reduced-motion: reduce) { .bir-team-image > img, .bir-team-image::after, .bir-team-reveal, .bir-team-content::before, .bir-team-content h3, .bir-team-content p { transition: none; } .bir-team-card:hover .bir-team-image > img, .bir-team-card:focus-within .bir-team-image > img { transform: none; } }

/* Journalist cards adapted from the template Team section. */
.bir-team-card { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--bir-border); border-radius: 10px; background: var(--bir-surface); }
.bir-team-image { position: relative; aspect-ratio: 4 / 5; width: 100%; overflow: hidden; background: #e9e6dc; }
.bir-team-image > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .5s ease; }
.bir-team-placeholder { height: 100%; display: grid; place-items: center; background: #e9e6dc; color: #8a9786; font-size: 3rem; }
.bir-team-image::after { content: ''; position: absolute; inset: 0; background: rgba(18,27,20,.4); opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.bir-team-reveal { position: absolute; z-index: 1; bottom: 0; left: 0; width: 100%; padding: 24px; display: flex; justify-content: center; align-items: center; gap: 14px; color: white; font-size: .9rem; transform: translateY(100%); opacity: 0; transition: transform .5s ease, opacity .5s ease; }
.bir-team-content { position: relative; isolation: isolate; flex: 1; padding: 24px 18px; text-align: center; background: var(--bir-surface); }
.bir-team-content::before { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--bir-green-dark); transform: scaleY(0); transform-origin: bottom; transition: transform .5s ease; }
.bir-team-content h3 { color: var(--bir-charcoal); font-size: 1.25rem; font-weight: 500; line-height: 1.35; margin: 0 0 7px; overflow-wrap: anywhere; transition: color .5s; }
.bir-team-content p { color: var(--bir-muted); font-size: .85rem; margin: 0; transition: color .5s; }
.bir-team-link { position: absolute; inset: 0; z-index: 3; border-radius: 10px; }
.bir-team-card:hover .bir-team-image > img, .bir-team-card:focus-within .bir-team-image > img { transform: scale(1.1); }
.bir-team-card:hover .bir-team-image::after, .bir-team-card:focus-within .bir-team-image::after { opacity: 1; }
.bir-team-card:hover .bir-team-reveal, .bir-team-card:focus-within .bir-team-reveal { transform: translateY(0); opacity: 1; }
.bir-team-card:hover .bir-team-content::before, .bir-team-card:focus-within .bir-team-content::before { transform: scaleY(1); }
.bir-team-card:hover .bir-team-content h3, .bir-team-card:hover .bir-team-content p, .bir-team-card:focus-within .bir-team-content h3, .bir-team-card:focus-within .bir-team-content p { color: white; }
.cinematic-page .bir-team-link:focus-visible { outline: 2px solid var(--bir-green-dark); outline-offset: -3px; }
@media (hover: none) { .bir-team-reveal { opacity: 1; transform: none; background: linear-gradient(transparent, rgba(18,27,20,.6)); padding: 16px; } }
@media (prefers-reduced-motion: reduce) { .bir-team-image > img, .bir-team-image::after, .bir-team-reveal, .bir-team-content::before, .bir-team-content h3, .bir-team-content p { transition: none; } .bir-team-card:hover .bir-team-image > img, .bir-team-card:focus-within .bir-team-image > img { transform: none; } }

.footer-contact { font-style: normal; font-size: .9rem; line-height: 1.6; }
.footer-contact-icon { flex-shrink: 0; width: 28px; margin-top: 3px; color: var(--bir-green-dark); }
.footer-contact-label { display: block; color: var(--bir-muted); font-size: .75rem; margin-bottom: 3px; }
.footer-contact a { color: var(--bir-charcoal); }
.footer-contact a:hover { color: var(--bir-green-dark); }

/* Emphasized hero action: brand green, soft halo, directional movement. */
.header-carousel .btn.hero-primary-action { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 14px 28px !important; background: #009c40; border: 1px solid #38c573; color: white; font-size: 1.05rem; font-weight: 600; box-shadow: 0 6px 24px rgba(0,156,64,.3); isolation: isolate; }
.hero-primary-action::after { content: ''; position: absolute; inset: -5px; border: 1px solid rgba(98,222,144,.6); border-radius: inherit; z-index: -1; opacity: 0; pointer-events: none; }
.header-carousel .owl-item.active .hero-primary-action::after, .header-carousel:not(.owl-loaded) .hero-primary-action::after { animation: hero-action-halo 3.5s ease-out 1s 3; }
.hero-action-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(0,0,0,.17); transition: transform .25s ease, background .25s ease; }
.hero-action-icon i { font-size: .8rem; }
.header-carousel .btn.hero-primary-action:hover, .header-carousel .btn.hero-primary-action:focus-visible { background: #008035; border-color: #80dfa6; color: white !important; box-shadow: 0 8px 30px rgba(0,156,64,.4) !important; }
.hero-primary-action:hover .hero-action-icon, .hero-primary-action:focus-visible .hero-action-icon { transform: translateX(3px); background: rgba(0,0,0,.23); }
.header-carousel .hero-primary-action:focus-visible { outline: 2px solid #f5f3ec; outline-offset: 5px; }
@keyframes hero-action-halo { 0% { opacity: 0; transform: scale(1); } 20% { opacity: .7; } 85%, 100% { opacity: 0; transform: scale(1.12, 1.3); } }
@media (prefers-reduced-motion: reduce) { .hero-primary-action::after { animation: none !important; } .hero-action-icon { transition: none; } }

/* Hero action matches the primary action on show and edition detail pages. */
.header-carousel .btn.hero-primary-action { background: #8bdbab; border-color: #8bdbab; color: #102017 !important; box-shadow: 0 6px 24px rgba(139,219,171,.18); }
.header-carousel .btn.hero-primary-action:hover, .header-carousel .btn.hero-primary-action:focus-visible { background: #acf0c5; border-color: #acf0c5; color: #102017 !important; box-shadow: 0 8px 30px rgba(139,219,171,.25) !important; }
.hero-primary-action::after { border-color: rgba(139,219,171,.6); }
.hero-primary-action .hero-action-icon { background: rgba(16,32,23,.1); }
.hero-primary-action:hover .hero-action-icon, .hero-primary-action:focus-visible .hero-action-icon { background: rgba(16,32,23,.15); }

/* Homepage archive actions share the mint primary palette. */
.btn.btn-primary.home-see-all { background: #8bdbab; border-color: #8bdbab; color: #102017 !important; }
.btn.btn-primary.home-see-all:hover, .btn.btn-primary.home-see-all:focus-visible { background: #acf0c5; border-color: #acf0c5; color: #102017 !important; }
.btn.home-see-all:focus-visible { outline: 2px solid var(--bir-green-dark); outline-offset: 4px; }

/* Platform-powered about page. */
.about-hero { min-height: 440px; }
.about-hero .cinema-breadcrumb { margin-bottom: 56px; }
.about-story { padding-top: 64px; padding-bottom: 72px; }
.about-sidebar h2 { color: var(--bir-charcoal); font-size: 2rem; }
.about-links { margin-top: 30px; border-top: 1px solid var(--bir-border); }
.about-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--bir-border); color: var(--bir-charcoal); font-size: .95rem; }
.about-links a:hover { color: var(--bir-green-dark); }
.about-links i { font-size: .75rem; }
.about-content img { display: block; max-width: 100%; height: auto; border-radius: 8px; }
.about-content figure { max-width: 100%; }
.about-content figcaption { color: var(--bir-muted); font-size: .85rem; }
.about-content table { display: block; overflow-x: auto; max-width: 100%; border-collapse: collapse; }
.about-content th, .about-content td { border: 1px solid var(--bir-border); padding: 10px 14px; }
.about-contact { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; background: #f0ede6; border: 1px solid var(--bir-border); border-radius: 12px; padding: 32px; }
.about-contact h2 { color: var(--bir-charcoal); font-size: 1.5rem; margin: 0; }
.about-story a:focus-visible, .about-contact a:focus-visible { outline-color: var(--bir-green-dark); }
@media (max-width: 991.98px) { .about-story { padding-top: 40px; } }

/* Softened listing hero artwork; scale prevents blurred edges showing. */
.shows-archive .shows-page-heading .cinema-backdrop { filter: blur(5px); transform: scale(1.04); }

/* Platform-specific marketing information and downloadable PDF. */
.marketing-hero { min-height: 440px; }
.marketing-hero .cinema-breadcrumb { margin-bottom: 48px; }
.marketing-information { padding-top: 64px; padding-bottom: 80px; }
.marketing-information h2 { color: var(--bir-charcoal); }
.marketing-document { padding: 28px; border: 1px solid var(--bir-border); border-radius: 12px; background: #f0ede6; }
.marketing-document h2 { font-size: 1.4rem; margin-bottom: 14px; }
.marketing-pdf-icon { font-size: 2rem; color: var(--bir-green-dark); margin-bottom: 20px; }
.marketing-filename { overflow-wrap: anywhere; font-size: .8rem; color: var(--bir-muted); }
.marketing-document > .marketing-contact:not(:first-child) { border-top: 1px solid var(--bir-border); margin-top: 28px; padding-top: 24px; }
.marketing-information a:focus-visible { outline-color: var(--bir-green-dark); }
