/* DTV bundle source: assets/css/brand-portal.css */
/**
 * DimosTV BRAND-13.2 — Portal and Mobile/PWA deployment.
 */

:root {
    --dtv-brand-navy: #1a2e4a;
    --dtv-brand-red: #cc001f;
}

.dtv-portal-brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    max-width: min(240px, 28vw);
    line-height: 0;
}

.dtv-portal-brand__lockup,
.dtv-portal-brand__logo {
    display: block;
    width: clamp(160px, 15vw, 240px);
    height: auto;
}

.dtv-portal-brand__compact {
    display: none;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

@media (max-width: 767px) {
    .dtv-portal-brand {
        max-width: 159px;
    }

    .dtv-portal-brand__lockup,
    .dtv-portal-brand__logo {
        width: clamp(112px, 34vw, 159px);
    }
}

@media (max-width: 359px) {
    .dtv-portal-brand {
        width: 40px;
        max-width: 40px;
    }

    .dtv-portal-brand__lockup {
        display: none;
    }

    .dtv-portal-brand__compact {
        display: block;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-portal-brand,
    .dtv-portal-brand * {
        transition: none !important;
    }
}

/* DTV bundle source: assets/css/frontend-homepage.css */
/* ==========================================================dimosTV Frontend Homepage========================================================== */

body {background: #F4F7FB;}

/* ==========================================================Sections========================================================== */

.dtv-front-section,.dtv-carousel-section {margin: 72px 0;}

.dtv-front-section-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 18px;}

.dtv-front-section-header h2 {margin: 0;font-family: "Commissioner", "Segoe UI", Arial, sans-serif;color: #1A2E4A;font-size: 28px;font-weight: 800;}

.dtv-front-section-header a {color: #0066CC;font-weight: 800;text-decoration: none;}

/* ==========================================================UI - Section Header========================================================== */

.dtv-section-header {display: flex;align-items: center;justify-content: space-between;margin-bottom: 28px;}

.dtv-section-header h2 {display: flex;align-items: center;gap: 14px;margin: 0;font-family: "Commissioner", "Segoe UI", Arial, sans-serif;font-size: 34px;font-weight: 700;line-height: 1;text-transform: uppercase;color: #1A2E4A;}

.dtv-section-header h2::before {content: "";width: 5px;height: 34px;border-radius: 6px;background: #CC0000;}

.dtv-section-header a {font-size: 14px;font-weight: 800;text-transform: uppercase;letter-spacing: .08em;color: #0066CC;text-decoration: none;transition: color .25s ease;}

.dtv-section-header a {color: #CC0000;}

.dtv-section-header a::after {content: " →";}

/* ==========================================================Hero Slider========================================================== */

.dtv-front-hero-slider {position: relative;margin: 0 0 64px;}

.dtv-front-slider-track {position: relative;isolation: isolate;height: 620px;border-radius: 28px;overflow: hidden;background: #0F172A;}

.dtv-front-slide {position: absolute;inset: 0;opacity: 0;pointer-events: none;transition: opacity .45s ease;}

.dtv-front-slide.is-active {opacity: 1;pointer-events: auto;}

.dtv-front-hero-card {position: relative;display: block;width: 100%;height: 100%;color: #fff;text-decoration: none;overflow: hidden;}

.dtv-front-hero-card img {width: 100%;height: 100%;object-fit: cover;object-position: center 35%;display: block;transform: scale(1);transition: transform 8s ease-out;}

.dtv-front-slide.is-active .dtv-front-hero-card img {transform: scale(1.08);}

.dtv-front-hero-card::after {display: none;}

.dtv-front-hero-overlay {position: absolute;inset: 0;z-index: 1;pointer-events: none;background:linear-gradient(90deg,rgba(8,12,22,.35) 0%,rgba(8,12,22,.12) 24%,rgba(8,12,22,0) 48%,rgba(8,12,22,0) 56%,rgba(8,12,22,.14) 78%,rgba(8,12,22,.36) 100%),linear-gradient(to top,rgba(8,12,22,.82) 0%,rgba(8,12,22,.52) 34%,rgba(8,12,22,.14) 62%,rgba(8,12,22,0) 100%);}

.dtv-front-hero-content {position: absolute;left: 96px;right: 88px;bottom: 118px;z-index: 2;max-width: 760px;}

.dtv-front-badge {display: inline-flex;align-items: center;gap: 7px;background: #0066CC;color: #fff;font-size: 12px;font-weight: 800;padding: 10px 16px;border-radius: 999px;text-transform: uppercase;box-shadow: 0 12px 30px rgba(0,0,0,.24);}

.dtv-front-badge-live,.dtv-front-badge-breaking,.dtv-front-badge-νεο {background: #CC0000;}

.dtv-front-badge-exclusive {background: #5B3FD6;}

.dtv-front-hero-content h1 {margin: 18px 0 0;font-family: "Commissioner", "Segoe UI", Arial, sans-serif;font-size: clamp(58px, 5vw, 84px);font-weight: 900;line-height: .92;letter-spacing: -2px;color: #fff !important;text-shadow: 0 6px 28px rgba(0,0,0,.30);}

.dtv-front-hero-content p {margin: 22px 0 0;max-width: 620px;font-size: 18px;line-height: 1.55;color: rgba(255,255,255,.92);}

.dtv-front-hero-cta {display: inline-flex;align-items: center;gap: 10px;margin-top: 24px;color: #fff;font-size: 15px;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;}

.dtv-front-hero-cta::after {content: "";width: 78px;height: 2px;background: #CC0000;}

/* Hero arrows */

.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {position: absolute !important;top: 50%;z-index: 20;width: 54px;height: 54px;min-width: 54px;min-height: 54px;padding: 0;margin: 0;border-radius: 50%;border: 1px solid rgba(255,255,255,.20);background: rgba(15,23,42,.38);background-image: none;color: #fff;font-size: 34px;line-height: 1;font-weight: 400;display: flex;align-items: center;justify-content: center;transform: translateY(-50%);box-shadow: none;text-shadow: none;cursor: pointer;backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);transition: background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev {left: 28px;}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow--next {right: 28px;}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow {background: #CC0000;border-color: #CC0000;box-shadow: 0 12px 28px rgba(204,0,0,.35);transform: translateY(-50%) scale(1.06);}

/* Hero controls */

.dtv-front-slider-controls {position: absolute;left: 96px;right: 96px;bottom: 62px;z-index: 20;display: flex;align-items: center;justify-content: space-between;gap: 24px;}

.dtv-front-slider-dots {display: flex;gap: 14px;flex: 1;max-width: 410px;}

.dtv-front-hero-slider button.dtv-front-slider-dot {position: relative;flex: 1;min-width: 170px;height: 5px;padding: 0;margin: 0;border: 0;border-radius: 999px;overflow: hidden;background: rgba(255,255,255,.34) !important;background-image: none !important;box-shadow: none;cursor: pointer;}

.dtv-front-slider-dot::after {content: "";position: absolute;inset: 0;border-radius: inherit;background: #CC0000;transform: scaleX(0);transform-origin: left center;will-change: transform;}

.dtv-front-slider-dot.is-active::after {animation: dtvHeroProgress 6s linear forwards;}

.dtv-front-slider-dot(.is-active)::after {animation: none;transform: scaleX(0);}

.dtv-front-hero-slider.is-paused .dtv-front-slider-dot.is-active::after,.dtv-front-hero-slider.is-hover-paused .dtv-front-slider-dot.is-active::after {animation-play-state: paused;}

@keyframes dtvHeroProgress {from { transform: scaleX(0); }to { transform: scaleX(1); }}

.dtv-front-slider-actions {display: flex;align-items: center;gap: 12px;margin-top: -10px;}

.dtv-front-hero-slider button.dtv-front-slider-pause,.dtv-front-hero-slider button.dtv-front-slider-play {width: 54px;height: 54px;min-width: 54px;min-height: 54px;padding: 0;margin: 0;border-radius: 50%;border: 1px solid rgba(255,255,255,.20);background: rgba(15,23,42,.38);background-image: none;color: #fff;font-size: 17px;font-weight: 900;line-height: 1;display: inline-flex;align-items: center;justify-content: center;cursor: pointer;box-shadow: none;text-shadow: none;backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);transition: all .25s ease;}

.dtv-front-hero-slider button.dtv-front-slider-pause,.dtv-front-hero-slider button.dtv-front-slider-play {background: #CC0000;border-color: #CC0000;box-shadow: 0 12px 28px rgba(204,0,0,.35);transform: scale(1.06);}

/* ==========================================================Live Control Bar========================================================== */

.dtv-live-strip {display: grid;grid-template-columns: 180px 1fr 340px;gap: 24px;align-items: center;margin: -52px 0 72px;padding: 20px 24px;border-radius: 22px;background: #1A2E4A;color: #ffffff;box-shadow: 0 22px 54px rgba(15,23,42,.24);position: relative;z-index: 8;}

.dtv-live-strip__status {display: flex;gap: 14px;align-items: center;}

.dtv-live-strip__live-dot {width: 12px;height: 12px;border-radius: 50%;background: #CC0000;box-shadow: 0 0 0 6px rgba(204,0,0,.14);animation: dtvLivePulse 1.7s infinite;}

.dtv-live-strip__label {display: block;font-family: "Commissioner", "Segoe UI", Arial, sans-serif;font-size: 22px;font-weight: 900;letter-spacing: .03em;}

.dtv-live-strip__status p,.dtv-live-strip__info p {margin: 5px 0 0;color: rgba(255,255,255,.72);font-size: 14px;}

.dtv-live-strip__current {display: grid;grid-template-columns: 170px 1fr;gap: 18px;align-items: center;}

.dtv-live-strip__thumb {height: 96px;border-radius: 16px;position: relative;overflow: hidden;background:linear-gradient(135deg, rgba(204,0,0,.92), rgba(0,102,204,.88)),#0F172A;}

.dtv-live-strip__badge {position: absolute;left: 12px;top: 12px;background: #CC0000;color: #ffffff;font-size: 11px;font-weight: 900;padding: 6px 10px;border-radius: 999px;}

.dtv-live-strip__info :is(h2, h4) {margin: 0;font-family: "Commissioner", "Segoe UI", Arial, sans-serif;color: #ffffff;font-size: 24px;font-weight: 900;}

.dtv-live-strip__watch {display: inline-flex;align-items: center;margin-top: 12px;padding: 9px 13px;border-radius: 999px;background: #CC0000;color: #fff;font-size: 12px;font-weight: 900;text-decoration: none;}

.dtv-live-strip__epg {border-left: 1px solid rgba(255,255,255,.14);padding-left: 24px;}

.dtv-live-strip__epg :is(h3, h5) {margin: 0 0 10px;color: rgba(255,255,255,.62);font-size: 12px;font-weight: 900;letter-spacing: .09em;}

.dtv-live-strip__epg-row {display: grid;grid-template-columns: 54px 1fr;gap: 12px;align-items: center;padding: 6px 0;}

.dtv-live-strip__epg-row.is-next {margin: 4px 0;padding: 8px 10px;border-radius: 12px;background: rgba(255,255,255,.08);}

.dtv-live-strip__time {color: #CC0000;font-size: 13px;font-weight: 900;}

.dtv-live-strip__show {color: #ffffff;font-size: 14px;font-weight: 700;}

@keyframes dtvLivePulse {0%, 100% {opacity: .55;transform: scale(.95);}

50% {
    opacity: 1;
    transform: scale(1.18);
}

}

/* ==========================================================
   Carousel v2
========================================================== */

.dtv-carousel-row {
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
    scroll-snap-type: x var(--dtv-carousel-scroll-snap);
    -webkit-overflow-scrolling: touch;
}

.dtv-carousel-row > * {
    scroll-snap-align: start;
}

.dtv-carousel-row.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}

.dtv-carousel-row.is-dragging * {
    pointer-events: none;
}



.dtv-carousel-arrow {
    width: var(--dtv-carousel-arrow-size);
    height: var(--dtv-carousel-arrow-size);

    border-radius: var(--dtv-carousel-arrow-radius);
}

.dtv-carousel-arrow:disabled {
    opacity: var(--dtv-carousel-arrow-opacity-disabled);
    pointer-events: none;
    cursor: default;
}

.dtv-carousel-arrow:disabled:hover {
    background: var(--dtv-carousel-arrow-bg);
    transform: translateY(-50%);
}

@media (prefers-reduced-motion: reduce) {
    .dtv-carousel-row {
        scroll-behavior: auto;
    }

    .dtv-carousel-arrow,
    .dtv-video-card__media,
    .dtv-video-card__media img {
        transition: none;
    }
}

/* ==========================================================Responsive========================================================== */

@media (max-width: 1024px) {.dtv-front-slider-track {height: 560px;border-radius: 24px;}

.dtv-front-hero-content {
    left: 88px;
    right: 56px;
    bottom: 118px;
}

.dtv-front-slider-controls {
    left: 88px;
    right: 56px;
}

.dtv-front-hero-slider button.dtv-front-slider-dot {
    min-width: 120px;
}

.dtv-live-strip {
    grid-template-columns: 1fr;
    margin-top: -34px;
}

.dtv-live-strip__epg {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.14);
    padding-left: 0;
    padding-top: 16px;
}

}

@media (max-width: 768px) {.dtv-front-slider-track {height: 520px;border-radius: 20px;}

.dtv-front-hero-content {
    left: 24px;
    right: 24px;
    bottom: 112px;
}

.dtv-front-hero-content h1 {
    font-size: clamp(34px, 10vw, 48px);
    letter-spacing: -.6px;
}

.dtv-front-hero-content p {
    font-size: 17px;
    line-height: 1.45;
}

.dtv-front-slider-controls {
    left: 24px;
    right: 24px;
    bottom: 28px;
}

.dtv-front-slider-dots {
    max-width: none;
    gap: 7px;
}

.dtv-front-hero-slider button.dtv-front-slider-dot {
    min-width: 32px;
    height: 4px;
}

.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    font-size: 26px;
}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev {
    left: 14px;
}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow--next {
    right: 14px;
}

.dtv-front-hero-slider button.dtv-front-slider-pause,
.dtv-front-hero-slider button.dtv-front-slider-play {
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
}

.dtv-live-strip__current {
    grid-template-columns: 1fr;
}

.dtv-live-strip__thumb {
    height: 140px;
}

.dtv-video-card--portrait {
    flex: 0 0 230px;
    max-width: 230px;
}

.dtv-video-card__copy h3 {
    font-size: 20px;
}

}

/* ==========================================================Horizontal Carousel v2========================================================== */

.dtv-carousel-shell{position;}

.dtv-carousel-row{

display:flex;

gap:24px;

overflow-x:auto;

scroll-behavior:smooth;

scrollbar-width:none;

-ms-overflow-style:none;

padding:4px 8px 20px;

}

.dtv-carousel-row::-webkit-scrollbar{

display:none;

}

.dtv-carousel-arrow{

position:absolute;

top:50%;

transform:translateY(-50%);

z-index:20;

width:52px;

height:52px;

border:none;

border-radius:50%;

background:rgba(15,23,42,.88);

color:#fff;

font-size:34px;

cursor:pointer;

display:flex;

align-items:center;

justify-content:center;

transition:.25s;

opacity:0;

pointer-events:none;

}

.dtv-carousel-shell .dtv-carousel-arrow{

opacity:1;

pointer-events:auto;

}

.dtv-carousel-arrow{

background:#CC0000;

transform:translateY(-50%) scale(1.08);

}

.dtv-carousel-arrow--prev{

left:-26px;

}

.dtv-carousel-arrow--next{

right:-26px;

}

/* ==========================================================Horizontal Carousel========================================================== */

.dtv-carousel-shell{position;}

.dtv-carousel-row{

display:flex;
gap:24px;

overflow-x:auto;
overflow-y:hidden;

scroll-behavior:smooth;
scrollbar-width:none;

padding:8px 8px 16px;

}

.dtv-carousel-row::-webkit-scrollbar{display;}

.dtv-carousel-arrow{

position:absolute;
top:50%;
transform:translateY(-50%);

width:54px;
height:54px;

border:none;
border-radius:50%;

background:rgba(15,23,42,.82);
color:#fff;

font-size:34px;
line-height:1;

display:flex;
align-items:center;
justify-content:center;

cursor:pointer;

transition:.25s;

z-index:50;

}

.dtv-carousel-arrow{

background:#CC0000;
transform:translateY(-50%) scale(1.08);

}

.dtv-carousel-arrow--prev{

left:-26px;

}

.dtv-carousel-arrow--next{

right:-26px;

}

/* Vidorev override - carousel arrows */.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {position: absolute !important;top: 50% !important;z-index: 50 !important;

width: 54px !important;
height: 54px !important;
min-width: 54px !important;
min-height: 54px !important;

padding: 0 !important;
margin: 0 !important;

border: 1px solid rgba(255,255,255,.22) !important;
border-radius: 50% !important;

background: rgba(15,23,42,.82) !important;
background-image: none !important;

color: #fff !important;
font-size: 34px !important;
line-height: 1 !important;

display: flex !important;
align-items: center !important;
justify-content: center !important;

box-shadow: none !important;
text-shadow: none !important;
cursor: pointer !important;

}

.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {left: -26px !important;transform: translateY(-50%) !important;}

.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {right: -26px !important;transform: translateY(-50%) !important;}

.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {background: #CC0000 !important;border-color: #CC0000 !important;}

/* DTV bundle source: assets/css/frontend-homepage-v2.css */
/* ==========================================================
   dimosTV Homepage v2
   Clean layout layer
========================================================== */

body {
    background: var(--dtv-color-background, #F5F7FB);
}

/* ==========================================================
   Page Layout
========================================================== */

.dtv-front-section,
.dtv-carousel-section {
    margin: var(--dtv-space-3xl, 72px) 0;
}

/* ==========================================================
   Homepage Presentation Add-ons — Municipalities / Popular / Newsletter
   Keeps the EPIC07.4A visual language: dark panels, red accents,
   compact video-portal rhythm.
========================================================== */

.dtv-home-after-highlights {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
    gap: 28px;
    align-items: stretch;
    margin: 38px 0 0;
}

.dtv-home-discover-municipalities,
.dtv-home-popular-videos {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 0%, rgba(204,0,0,.18), transparent 30%),
        linear-gradient(135deg, #05070B 0%, #101827 58%, #07111F 100%);
    color: #fff;
    box-shadow: 0 22px 54px rgba(15,23,42,.18);
}

.dtv-home-discover-municipalities {
    padding: 28px 28px 24px;
}

.dtv-home-popular-videos {
    padding: 24px;
}

.dtv-home-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.dtv-home-block-head h2 {
    margin: 0;
    color: #fff;
    font-family: "Commissioner", "Segoe UI", Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.dtv-home-block-head h2::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 20px;
    margin-right: 10px;
    border-radius: 999px;
    vertical-align: -3px;
    background: #CC0000;
}

.dtv-home-block-head a {
    color: rgba(255,255,255,.82);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-decoration: none;
    white-space: nowrap;
}

.dtv-home-block-head a::after {
    content: " ›";
    color: #CC0000;
    font-size: 16px;
    line-height: 0;
}

.dtv-home-municipality-grid {
    display: grid;
    grid-template-columns: repeat(10, minmax(72px, 1fr));
    gap: 14px;
}

.dtv-home-municipality-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: #fff;
    text-decoration: none;
}

.dtv-home-municipality-logo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(74px, 7vw, 116px);
    height: clamp(74px, 7vw, 116px);
    border-radius: 50%;
    background: #fff;
    border: 4px solid rgba(255,255,255,.94);
    box-shadow: 0 18px 36px rgba(0,0,0,.28);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}

.dtv-home-municipality-chip:hover .dtv-home-municipality-logo {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 22px 44px rgba(0,0,0,.34);
}

.dtv-home-municipality-logo img {
    display: block;
    width: 76%;
    height: 76%;
    max-width: 76%;
    max-height: 76%;
    object-fit: contain;
    border-radius: 0;
}

.dtv-home-municipality-logo > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, #F5F7FB, #DCE6F4);
    color: #1A2E4A;
    font-family: "Commissioner", "Segoe UI", Arial, sans-serif;
    font-size: 30px;
    font-weight: 900;
}

.dtv-home-municipality-logo em {
    position: absolute;
    right: -6px;
    top: 8px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #CC0000;
    color: #fff;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .08em;
    box-shadow: 0 8px 18px rgba(204,0,0,.32);
}

.dtv-home-municipality-chip strong {
    max-width: 100%;
    color: #fff;
    font-family: "Commissioner", "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dtv-home-popular-list {
    display: grid;
    gap: 13px;
}

.dtv-home-popular-item {
    display: grid;
    grid-template-columns: 42px 84px 1fr;
    gap: 14px;
    align-items: center;
    padding: 10px;
    border-radius: 16px;
    color: #fff;
    text-decoration: none;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    transition: background .22s ease, transform .22s ease, border-color .22s ease;
}

.dtv-home-popular-item:hover {
    transform: translateX(3px);
    background: rgba(255,255,255,.10);
    border-color: rgba(204,0,0,.35);
}

.dtv-home-popular-rank {
    color: #CC0000;
    font-family: "Commissioner", "Segoe UI", Arial, sans-serif;
    font-size: 24px;
    font-weight: 900;
    text-align: center;
}

.dtv-home-popular-thumb {
    position: relative;
    display: block;
    height: 54px;
    border-radius: 12px;
    overflow: hidden;
    background: #0F172A;
}

.dtv-home-popular-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dtv-home-popular-thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.42), transparent);
}

.dtv-home-popular-thumb i {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: rgba(255,255,255,.22);
    border: 1px solid rgba(255,255,255,.38);
    color: #fff;
    font-size: 10px;
    font-style: normal;
}

.dtv-home-popular-copy {
    min-width: 0;
}

.dtv-home-popular-copy strong {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
}

.dtv-home-popular-copy small {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,.58);
    font-size: 12px;
    font-weight: 700;
}

.dtv-home-newsletter-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: 28px;
    align-items: center;
    margin: 28px 0 72px;
    padding: 28px 32px;
    border-radius: 24px;
    background: linear-gradient(135deg, #1A2E4A 0%, #10213A 62%, #CC0000 160%);
    color: #fff;
    box-shadow: 0 20px 48px rgba(15,23,42,.18);
}

.dtv-home-newsletter-copy span {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(204,0,0,.22);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.dtv-home-newsletter-copy h2 {
    margin: 14px 0 0;
    color: #fff;
    font-family: "Commissioner", "Segoe UI", Arial, sans-serif;
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 900;
    line-height: 1.05;
}

.dtv-home-newsletter-copy p {
    margin: 9px 0 0;
    max-width: 720px;
    color: rgba(255,255,255,.72);
    font-size: 15px;
    line-height: 1.5;
}

.dtv-home-newsletter-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
}

.dtv-home-newsletter-form input[type="email"] {
    min-height: 48px;
    border: 0;
    outline: 0;
    border-radius: 999px;
    padding: 0 18px;
    background: rgba(255,255,255,.94);
    color: #0F172A;
    font-size: 15px;
    font-weight: 700;
}

.dtv-home-newsletter-form button {
    min-height: 48px;
    border: 0;
    border-radius: 999px;
    padding: 0 22px;
    background: #CC0000;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(204,0,0,.28);
}

@media (max-width: 1180px) {
    .dtv-home-after-highlights {
        grid-template-columns: 1fr;
    }

    .dtv-home-municipality-grid {
        grid-template-columns: repeat(5, minmax(76px, 1fr));
    }
}

@media (max-width: 820px) {
    .dtv-home-municipality-grid {
        grid-template-columns: repeat(3, minmax(82px, 1fr));
    }

    .dtv-home-newsletter-strip {
        grid-template-columns: 1fr;
        padding: 24px;
    }
}

@media (max-width: 560px) {
    .dtv-home-municipality-grid {
        grid-template-columns: repeat(2, minmax(92px, 1fr));
    }

    .dtv-home-popular-item {
        grid-template-columns: 34px 72px 1fr;
        gap: 10px;
    }

    .dtv-home-newsletter-form {
        grid-template-columns: 1fr;
        border-radius: 20px;
    }

    .dtv-home-newsletter-form input[type="email"],
    .dtv-home-newsletter-form button {
        border-radius: 16px;
    }
}

/* EPIC07.4A municipality chips: use existing ACF dimos_logo and premium hover action. */
.dtv-home-municipality-chip:hover .dtv-home-municipality-logo,
.dtv-home-municipality-chip:focus-visible .dtv-home-municipality-logo {
    border-color: #CC0000;
    box-shadow: 0 22px 48px rgba(204,0,0,.28), 0 18px 36px rgba(0,0,0,.34);
}

.dtv-home-municipality-logo::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: rgba(10, 16, 28, .72);
    opacity: 0;
    transition: opacity .22s ease;
}

.dtv-home-municipality-logo b {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    color: #fff;
    font-family: "Commissioner", "Segoe UI", Arial, sans-serif;
    font-size: 10px;
    font-weight: 900;
    font-style: normal;
    line-height: 1.15;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
    opacity: 0;
    transform: scale(.94);
    transition: opacity .22s ease, transform .22s ease;
}

.dtv-home-municipality-chip:hover .dtv-home-municipality-logo::after,
.dtv-home-municipality-chip:focus-visible .dtv-home-municipality-logo::after,
.dtv-home-municipality-chip:hover .dtv-home-municipality-logo b,
.dtv-home-municipality-chip:focus-visible .dtv-home-municipality-logo b {
    opacity: 1;
}

.dtv-home-municipality-chip:hover .dtv-home-municipality-logo b,
.dtv-home-municipality-chip:focus-visible .dtv-home-municipality-logo b {
    transform: scale(1);
}

.dtv-home-municipality-chip:hover .dtv-home-municipality-logo img,
.dtv-home-municipality-chip:focus-visible .dtv-home-municipality-logo img {
    transform: scale(1.06);
}

.dtv-home-municipality-logo img {
    transition: transform .25s ease;
    position: relative;
    z-index: 1;
}

/* DTV bundle source: assets/css/municipality-template.css */
/**
 * dimosTV Municipality Portal Template
 */

.dtv-municipality-portal {
    --dtv-muni-bg: #070b14;
    --dtv-muni-surface: rgba(16, 23, 38, .86);
    --dtv-muni-surface-strong: rgba(21, 30, 49, .96);
    --dtv-muni-border: rgba(255, 255, 255, .10);
    --dtv-muni-text: #ffffff;
    --dtv-muni-muted: rgba(255, 255, 255, .66);
    --dtv-muni-red: #e10600;
    --dtv-muni-red-soft: rgba(225, 6, 0, .18);
    background: radial-gradient(circle at top left, rgba(225, 6, 0, .14), transparent 32%), var(--dtv-muni-bg);
    color: var(--dtv-muni-text);
    min-height: 100vh;
    overflow: hidden;
}

.dtv-muni-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.dtv-muni-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
    padding: 120px 0 58px;
    isolation: isolate;
}

.dtv-muni-hero__bg,
.dtv-muni-hero__shade {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.dtv-muni-hero__bg {
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
    opacity: .72;
    filter: saturate(1.08) contrast(1.04);
}

.dtv-muni-hero__shade {
    z-index: -1;
    background: linear-gradient(90deg, rgba(7, 11, 20, .72) 0%, rgba(7, 11, 20, .48) 38%, rgba(7, 11, 20, .18) 68%, rgba(7, 11, 20, .05) 100%),
                radial-gradient(circle at 8% 50%, rgba(7, 11, 20, .36) 0%, rgba(7, 11, 20, .14) 42%, transparent 70%),
                linear-gradient(180deg, rgba(7, 11, 20, .08) 0%, rgba(7, 11, 20, .54) 100%);
}

.dtv-muni-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
}

.dtv-muni-identity {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
}

.dtv-muni-logo {
    width: 126px;
    height: 126px;
    flex: 0 0 126px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .96);
    border: 3px solid rgba(255, 255, 255, .72);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .42), 0 0 0 9px rgba(225, 6, 0, .10);
    overflow: hidden;
}

.dtv-muni-logo img {
    width: 82%;
    height: 82%;
    object-fit: contain;
    display: block;
}

.dtv-muni-logo span {
    color: #111827;
    font-weight: 900;
    font-size: 36px;
    letter-spacing: -.05em;
}

.dtv-muni-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 13px;
    border: 1px solid rgba(227, 6, 19, .45);
    border-radius: 999px;
    background: rgba(227, 6, 19, .18);
    box-shadow: 0 10px 28px rgba(227, 6, 19, .10);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dtv-muni-kicker::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #e30613;
    box-shadow: 0 0 16px rgba(227, 6, 19, .72);
}

.dtv-muni-hero h1 {
    margin: 10px 0 0;
    font-size: clamp(38px, 7vw, 76px);
    line-height: .98;
    letter-spacing: -.045em;
    text-transform: none;
}

.dtv-muni-description {
    margin-top: 16px;
    max-width: 720px;
    color: var(--dtv-muni-muted);
    font-size: 16px;
    line-height: 1.7;
}

.dtv-muni-description p {
    margin: 0;
}

.dtv-muni-hero__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    min-width: 220px;
}

.dtv-muni-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.dtv-muni-btn:hover {
    transform: translateY(-1px);
}


.dtv-muni-btn__play {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .22);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.dtv-muni-btn__play::before {
    content: "";
    width: 0;
    height: 0;
    margin-left: 2px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 7px solid currentColor;
}

.dtv-muni-btn--primary {
    background: var(--dtv-muni-red);
    color: #fff !important;
    box-shadow: 0 18px 40px rgba(225, 6, 0, .32);
}

.dtv-muni-btn--ghost {
    background: rgba(255, 255, 255, .08);
    border: 1px solid var(--dtv-muni-border);
    color: #fff !important;
    backdrop-filter: blur(10px);
}

.dtv-muni-overview {
    margin-top: -28px;
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dtv-muni-stat {
    display: block;
    padding: 22px 22px 20px;
    border-radius: 22px;
    background: var(--dtv-muni-surface-strong);
    border: 1px solid var(--dtv-muni-border);
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .24);
}

.dtv-muni-stat strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.05em;
}

.dtv-muni-stat span {
    display: block;
    margin-top: 8px;
    color: var(--dtv-muni-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

.dtv-muni-section {
    padding: 64px 0 0;
}

.dtv-muni-section__header,
.dtv-muni-panel__header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 22px;
}

.dtv-muni-section__header h2,
.dtv-muni-panel__header h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 3.5vw, 38px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.035em;
    text-transform: none;
}

.dtv-muni-grid {
    display: grid;
    gap: 18px;
}

.dtv-muni-grid--landscape {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dtv-muni-grid--short {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dtv-muni-two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    padding-top: 64px;
}

.dtv-muni-panel {
    background: var(--dtv-muni-surface);
    border: 1px solid var(--dtv-muni-border);
    border-radius: 28px;
    padding: 26px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
}

.dtv-muni-list {
    display: grid;
    gap: 14px;
}

.dtv-muni-list-item {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    color: #fff !important;
    text-decoration: none !important;
    padding: 10px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .06);
    transition: background .18s ease, transform .18s ease;
}

.dtv-muni-list-item:hover {
    background: rgba(255, 255, 255, .075);
    transform: translateY(-1px);
}

.dtv-muni-list-item img {
    width: 104px;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 14px;
    display: block;
}

.dtv-muni-list-item strong {
    display: block;
    font-size: 15px;
    line-height: 1.3;
}

.dtv-muni-list-item small {
    display: block;
    margin-top: 6px;
    color: var(--dtv-muni-muted);
    font-size: 12px;
}

.dtv-muni-related {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    padding-bottom: 72px;
}

.dtv-muni-related-card {
    display: grid;
    justify-items: center;
    gap: 12px;
    padding: 22px 12px;
    text-align: center;
    color: #fff !important;
    text-decoration: none !important;
    background: var(--dtv-muni-surface);
    border: 1px solid var(--dtv-muni-border);
    border-radius: 22px;
    transition: transform .18s ease, border-color .18s ease;
}

.dtv-muni-related-card:hover {
    transform: translateY(-2px);
    border-color: rgba(225, 6, 0, .62);
}

.dtv-muni-related-logo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    color: #111827;
    font-weight: 900;
    overflow: hidden;
}

.dtv-muni-related-logo img {
    width: 82%;
    height: 82%;
    object-fit: contain;
}

.dtv-muni-related-card strong {
    font-size: 13px;
    line-height: 1.25;
}

@media (max-width: 1024px) {
    .dtv-muni-hero__inner,
    .dtv-muni-two-col {
        grid-template-columns: 1fr;
    }

    .dtv-muni-hero__actions {
        flex-direction: row;
        flex-wrap: wrap;
        min-width: 0;
    }

    .dtv-muni-overview,
    .dtv-muni-grid--landscape,
    .dtv-muni-grid--short,
    .dtv-muni-related {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dtv-muni-container {
        width: min(100% - 28px, 1180px);
    }

    .dtv-muni-hero {
        min-height: 520px;
        padding: 96px 0 42px;
    }

    .dtv-muni-identity {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .dtv-muni-logo {
        width: 96px;
        height: 96px;
        flex-basis: 96px;
    }

    .dtv-muni-hero__actions,
    .dtv-muni-overview,
    .dtv-muni-grid--landscape,
    .dtv-muni-grid--short,
    .dtv-muni-related {
        grid-template-columns: 1fr;
    }

    .dtv-muni-hero__actions {
        display: grid;
    }

    .dtv-muni-list-item {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .dtv-muni-list-item img {
        width: 88px;
    }
}

.dtv-muni-profile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    max-width: 860px;
}

.dtv-muni-profile-meta__item {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    min-width: 118px;
    padding: 10px 13px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 16px;
    background: rgba(255, 255, 255, .065);
    backdrop-filter: blur(10px);
}

.dtv-muni-profile-meta__item small {
    color: rgba(255, 255, 255, .58);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: none;
}

.dtv-muni-profile-meta__item strong,
.dtv-muni-profile-meta__item a {
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none !important;
}

.dtv-muni-profile-meta__item a:hover {
    color: var(--dtv-muni-red) !important;
}

@media (max-width: 640px) {
    .dtv-muni-profile-meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .dtv-muni-profile-meta__item {
        min-width: 0;
    }
}

/* Municipalities Archive */
.dtv-municipalities-archive {
    padding-bottom: 80px;
}

.dtv-muni-archive-hero {
    position: relative;
    min-height: 350px;
    display: flex;
    align-items: flex-end;
    padding: 76px 0 48px;
    isolation: isolate;
    overflow: hidden;
}

.dtv-muni-archive-hero__bg,
.dtv-muni-archive-hero__shade {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.dtv-muni-archive-hero__bg {
    background-size: cover;
    background-position: center;
    opacity: .20;
    filter: saturate(1.08) contrast(1.05);
    transform: scale(1.03);
}

.dtv-muni-archive-hero__shade {
    z-index: -1;
    background: radial-gradient(circle at 78% 18%, rgba(225, 6, 0, .22), transparent 30%),
                linear-gradient(90deg, rgba(7, 11, 20, .99) 0%, rgba(7, 11, 20, .80) 58%, rgba(7, 11, 20, .68) 100%),
                linear-gradient(180deg, rgba(7, 11, 20, .15) 0%, #070b14 100%);
}

.dtv-muni-archive-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
}

.dtv-muni-archive-hero h1 {
    margin: 12px 0 0;
    color: #fff;
    font-size: clamp(38px, 6.5vw, 72px);
    line-height: .98;
    letter-spacing: -.045em;
    text-transform: none;
}

.dtv-muni-archive-hero p {
    max-width: 720px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: 17px;
    line-height: 1.7;
}

.dtv-muni-archive-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 12px;
}

.dtv-muni-archive-stats span {
    display: grid;
    gap: 6px;
    padding: 20px 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(14px);
}

.dtv-muni-archive-stats strong {
    color: #fff;
    font-size: 38px;
    line-height: 1;
    letter-spacing: -.05em;
}

.dtv-muni-archive-stats small {
    color: rgba(255, 255, 255, .62);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dtv-muni-archive-toolbar {
    position: relative;
    z-index: 2;
    margin-top: -22px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px) auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
    border-radius: 24px;
    background: var(--dtv-muni-surface-strong);
    border: 1px solid var(--dtv-muni-border);
    box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

.dtv-muni-archive-toolbar__field {
    min-width: 0;
}

.dtv-muni-archive-toolbar input,
.dtv-muni-archive-toolbar select {
    width: 100%;
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 18px;
    outline: none;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    font-size: 15px;
}

.dtv-muni-archive-toolbar select {
    appearance: none;
    cursor: pointer;
    padding-right: 44px;
    background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,.78) 50%), linear-gradient(135deg, rgba(255,255,255,.78) 50%, transparent 50%);
    background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.dtv-muni-archive-toolbar select option {
    color: #111827;
}


.dtv-muni-archive-toolbar input::placeholder {
    color: rgba(255, 255, 255, .48);
}

.dtv-muni-archive-toolbar input:focus,
.dtv-muni-archive-toolbar select:focus {
    border-color: rgba(225, 6, 0, .72);
    box-shadow: 0 0 0 4px rgba(225, 6, 0, .14);
}

.dtv-muni-archive-toolbar > span {
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dtv-muni-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding-top: 38px;
}

.dtv-muni-archive-card {
    overflow: visible;
    border-radius: 28px;
    background: var(--dtv-muni-surface);
    border: 1px solid var(--dtv-muni-border);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dtv-muni-archive-card:hover {
    transform: translateY(-3px);
    border-color: rgba(225, 6, 0, .58);
    box-shadow: 0 30px 86px rgba(0, 0, 0, .30);
}

.dtv-muni-archive-card__media {
    position: relative;
    display: block;
    min-height: 176px;
    background: linear-gradient(135deg, rgba(225, 6, 0, .28), rgba(255, 255, 255, .06));
    overflow: visible;
    border-radius: 28px 28px 0 0;
}

.dtv-muni-archive-card__hero {
    width: 100%;
    height: 176px;
    object-fit: cover;
    display: block;
    opacity: .62;
    border-radius: 28px 28px 0 0;
    transition: transform .25s ease, opacity .25s ease;
}

.dtv-muni-archive-card:hover .dtv-muni-archive-card__hero {
    transform: scale(1.04);
    opacity: .78;
}

.dtv-muni-archive-card__logo {
    position: absolute;
    left: 22px;
    bottom: -39px;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #fff;
    color: #111827;
    border: 4px solid #111827;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .34);
    font-weight: 900;
    font-size: 22px;
}

.dtv-muni-archive-card__logo img {
    width: 82%;
    height: 82%;
    object-fit: contain;
    display: block;
}

.dtv-muni-archive-card__body {
    padding: 48px 22px 22px;
}

.dtv-muni-archive-card__title {
    display: inline-block;
    color: #fff !important;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.035em;
    text-decoration: none !important;
}

.dtv-muni-archive-card__title:hover {
    color: var(--dtv-muni-red) !important;
}
.dtv-muni-archive-card__region {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .56);
    font-size: 12px;
    font-weight: 800;
}


.dtv-muni-archive-card__body p {
    min-height: 44px;
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .62);
    font-size: 14px;
    line-height: 1.55;
}

.dtv-muni-archive-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.dtv-muni-archive-card__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .075);
    color: rgba(255, 255, 255, .70);
    font-size: 12px;
    font-weight: 800;
}

.dtv-muni-archive-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: var(--dtv-muni-red);
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-decoration: none !important;
    box-shadow: 0 14px 34px rgba(225, 6, 0, .28);
}

.dtv-muni-archive-empty {
    grid-column: 1 / -1;
    padding: 42px;
    border-radius: 24px;
    background: var(--dtv-muni-surface);
    border: 1px solid var(--dtv-muni-border);
    color: rgba(255, 255, 255, .72);
    text-align: center;
}

@media (max-width: 1024px) {
    .dtv-muni-archive-hero__inner,
    .dtv-muni-archive-toolbar {
        grid-template-columns: 1fr;
    }

    .dtv-muni-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dtv-muni-archive-stats {
        max-width: 360px;
    }
}

@media (max-width: 640px) {
    .dtv-muni-archive-hero {
        min-height: 340px;
        padding: 76px 0 40px;
    }

    .dtv-muni-archive-stats,
    .dtv-muni-archive-grid {
        grid-template-columns: 1fr;
    }

    .dtv-muni-archive-toolbar > span {
        white-space: normal;
    }
}

/* ==========================================================
   DimosTV Regions Archive
   ========================================================== */
.dtv-regions-archive .dtv-muni-archive-hero{
    margin-bottom: clamp(28px, 4vw, 52px);
}

.dtv-regions-archive-toolbar{
    grid-template-columns: minmax(260px, 1fr) auto;
}

.dtv-regions-archive-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    padding-bottom: clamp(56px, 7vw, 96px);
}

.dtv-region-archive-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    border:1px solid rgba(12,18,32,.08);
    box-shadow:0 18px 46px rgba(12,18,32,.10);
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dtv-region-archive-card:hover{
    transform:translateY(-4px);
    border-color:rgba(227,6,19,.28);
    box-shadow:0 26px 62px rgba(12,18,32,.16);
}

.dtv-region-archive-card__media{
    position:relative;
    display:block;
    height:220px;
    overflow:hidden;
    background:linear-gradient(135deg,#101827,#24324a);
}

.dtv-region-archive-card__media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(5,8,15,.08),rgba(5,8,15,.45));
    pointer-events:none;
}

.dtv-region-archive-card__hero{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform:scale(1.01);
    transition:transform .35s ease;
}

.dtv-region-archive-card:hover .dtv-region-archive-card__hero{
    transform:scale(1.055);
}

.dtv-region-archive-card__logo{
    position:absolute;
    left:22px;
    bottom:-34px;
    z-index:2;
    width:76px;
    height:76px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#fff;
    color:#101827;
    font-weight:900;
    letter-spacing:.03em;
    border:5px solid #fff;
    box-shadow:0 16px 34px rgba(12,18,32,.22);
}

.dtv-region-archive-card__logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:10px;
}

.dtv-region-archive-card__body{
    padding:50px 24px 24px;
}

.dtv-region-archive-card__title{
    display:inline-block;
    color:#101827;
    text-decoration:none;
    font-size:22px;
    font-weight:900;
    line-height:1.15;
    margin-bottom:10px;
}

.dtv-region-archive-card__title:hover{
    color:#E30613;
}

.dtv-region-archive-card__body p{
    margin:0 0 16px;
    color:#5c6677;
    font-size:14px;
    line-height:1.55;
}

.dtv-region-archive-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:16px;
}

.dtv-region-archive-card__meta span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(227,6,19,.08);
    color:#E30613;
    font-size:11px;
    font-weight:900;
    letter-spacing:.05em;
}

.dtv-region-archive-card__municipalities{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:20px;
}

.dtv-region-archive-card__municipalities span{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:5px 9px;
    border-radius:999px;
    background:#f3f5f8;
    color:#4b5565;
    font-size:11px;
    font-weight:800;
}

.dtv-region-archive-card__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    border-radius:14px;
    background:#101827;
    color:#fff !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:900;
    letter-spacing:.06em;
    transition:background .2s ease, transform .2s ease;
}

.dtv-region-archive-card__cta:hover{
    background:#E30613;
    transform:translateY(-1px);
}

@media (max-width:1100px){
    .dtv-regions-archive-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:767px){
    .dtv-regions-archive-toolbar{
        grid-template-columns:1fr;
    }

    .dtv-regions-archive-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .dtv-region-archive-card__media{
        height:190px;
    }
}

/* ==========================================================
   DimosTV Regions Archive + Region Portal alignment
   Matches the /dimoi/ visual system and removes municipality-count UI.
   ========================================================== */
.dtv-regions-archive .dtv-muni-archive-toolbar{
    grid-template-columns:minmax(0,1fr) auto;
}

.dtv-regions-archive .dtv-muni-archive-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    padding-top:38px;
    padding-bottom:clamp(56px,7vw,96px);
}

.dtv-regions-archive .dtv-region-archive-card,
.dtv-regions-archive .dtv-muni-archive-card{
    overflow:visible;
    border-radius:28px;
    background:var(--dtv-muni-surface);
    border:1px solid var(--dtv-muni-border);
    box-shadow:0 24px 70px rgba(0,0,0,.20);
}

.dtv-regions-archive .dtv-region-archive-card:hover,
.dtv-regions-archive .dtv-muni-archive-card:hover{
    transform:translateY(-3px);
    border-color:rgba(225,6,0,.58);
    box-shadow:0 30px 86px rgba(0,0,0,.30);
}

.dtv-regions-archive .dtv-muni-archive-card__media{
    position:relative;
    display:block;
    min-height:176px;
    height:auto;
    background:linear-gradient(135deg,rgba(225,6,0,.28),rgba(255,255,255,.06));
    overflow:visible;
    border-radius:28px 28px 0 0;
}

.dtv-regions-archive .dtv-muni-archive-card__media::after{
    display:none;
}

.dtv-regions-archive .dtv-muni-archive-card__hero{
    width:100%;
    height:176px;
    object-fit:cover;
    display:block;
    opacity:.62;
    border-radius:28px 28px 0 0;
    transform:none;
    transition:transform .25s ease,opacity .25s ease;
}

.dtv-regions-archive .dtv-muni-archive-card:hover .dtv-muni-archive-card__hero{
    transform:scale(1.04);
    opacity:.78;
}

.dtv-regions-archive .dtv-muni-archive-card__logo{
    position:absolute;
    left:22px;
    bottom:-39px;
    width:78px;
    height:78px;
    border-radius:50%;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#fff;
    color:#111827;
    border:4px solid #111827;
    box-shadow:0 18px 44px rgba(0,0,0,.34);
    font-weight:900;
    font-size:22px;
    z-index:3;
    letter-spacing:0;
}

.dtv-regions-archive .dtv-muni-archive-card__logo img{
    width:82%;
    height:82%;
    object-fit:contain;
    display:block;
    padding:0;
}

.dtv-regions-archive .dtv-muni-archive-card__body{
    padding:48px 22px 22px;
}

.dtv-regions-archive .dtv-muni-archive-card__title{
    color:#fff !important;
    font-size:22px;
    font-weight:900;
    line-height:1.1;
    letter-spacing:-.035em;
    margin-bottom:0;
}

.dtv-regions-archive .dtv-muni-archive-card__title:hover{
    color:var(--dtv-muni-red) !important;
}

.dtv-regions-archive .dtv-muni-archive-card__body p{
    min-height:44px;
    margin:10px 0 0;
    color:rgba(255,255,255,.62);
    font-size:14px;
    line-height:1.55;
}

.dtv-regions-archive .dtv-muni-archive-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:16px 0 0;
}

.dtv-regions-archive .dtv-muni-archive-card__meta span{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(255,255,255,.075);
    color:rgba(255,255,255,.70);
    font-size:12px;
    font-weight:800;
    letter-spacing:0;
}

.dtv-regions-archive .dtv-muni-archive-card__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    margin-top:18px;
    min-height:42px;
    padding:0 16px;
    border-radius:999px;
    background:var(--dtv-muni-red);
    color:#fff !important;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-decoration:none !important;
    box-shadow:0 14px 34px rgba(225,6,0,.28);
}

.dtv-regions-archive .dtv-muni-archive-card__cta:hover{
    background:var(--dtv-muni-red);
    transform:none;
}

.dtv-region-portal .dtv-muni-hero__shade{
    background:linear-gradient(90deg,rgba(7,12,20,.72) 0%,rgba(7,12,20,.48) 38%,rgba(7,12,20,.18) 68%,rgba(7,12,20,.05) 100%);
}

@media (max-width:1024px){
    .dtv-regions-archive .dtv-muni-archive-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:767px){
    .dtv-regions-archive .dtv-muni-archive-toolbar{
        grid-template-columns:1fr;
    }

    .dtv-regions-archive .dtv-muni-archive-grid{
        grid-template-columns:1fr;
    }
}

/* DTV bundle source: assets/css/components/dtv-local-entity-experience.css */
/**
 * DTV-FE11 — Municipality & Region Experience
 * Canonical ownership for Local entity pages. Archives keep their existing discovery shell.
 */
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive){
  --dtv-local-ink:#13253f;--dtv-local-muted:#667085;--dtv-local-line:#e5e9ef;--dtv-local-soft:#f5f7fa;
  background:#fff;color:var(--dtv-local-ink);overflow:clip;
}
.dtv-entity-breadcrumb{display:flex;align-items:center;gap:9px;padding-top:22px;padding-bottom:18px;color:#7a8493;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.dtv-entity-breadcrumb a{color:#5d6878!important;text-decoration:none!important}.dtv-entity-breadcrumb a:hover{color:#cc0000!important}.dtv-entity-breadcrumb strong{color:#13253f;font-weight:900}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero{min-height:470px;padding:76px 0 52px;background:#142a47}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero__shade{background:linear-gradient(90deg,rgba(11,28,50,.92),rgba(11,28,50,.64) 52%,rgba(11,28,50,.28)),linear-gradient(180deg,rgba(10,25,45,.06),rgba(10,25,45,.68))}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-logo{border-radius:18px;width:112px;height:112px;flex-basis:112px;box-shadow:0 18px 50px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.7)}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-kicker{color:#fff;background:#cc0000;border-radius:999px;padding:6px 10px;font-size:10px;letter-spacing:.1em}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-identity h1{font-size:clamp(38px,5vw,68px);letter-spacing:-.045em;max-width:850px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-description{max-width:760px;color:rgba(255,255,255,.78)}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-overview{margin-top:-32px;gap:1px;background:#dfe4ea;border:1px solid #dfe4ea;border-radius:12px;overflow:hidden;box-shadow:0 16px 40px rgba(19,37,63,.10)}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat{border:0;border-radius:0;background:#fff;color:#13253f!important;box-shadow:none;padding:24px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat strong{color:#cc0000;font-size:32px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat span{color:#687386}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-section{padding-top:76px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-section__header,.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-panel__header{border-top:3px solid #13253f;padding-top:14px;margin-bottom:24px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-section__header h2,.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-panel__header h2{color:#13253f;font-size:clamp(25px,3vw,36px)}
.dtv-muni-section__eyebrow{display:block;color:#cc0000;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-two-col{padding-top:76px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-panel{background:#f6f8fa;border:1px solid #e4e8ee;border-radius:12px;box-shadow:none}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-list-item{background:#fff;border:1px solid #e5e9ef;color:#13253f!important;border-radius:9px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-list-item small{color:#7a8493}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-related{padding-bottom:82px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-related-card{background:#fff;border:1px solid #e2e7ed;color:#13253f!important;border-radius:10px;box-shadow:0 8px 24px rgba(19,37,63,.05)}
.dtv-region-municipalities .dtv-muni-section__header{flex-direction:row!important;align-items:end;justify-content:space-between}.dtv-region-municipalities .dtv-muni-section__header>span{font-size:11px;font-weight:900;color:#7a8493;letter-spacing:.08em}
.dtv-region-municipality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dtv-region-municipality-grid a{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:12px 15px;border:1px solid #e2e7ed;border-radius:9px;background:#fff;color:#13253f!important;text-decoration:none!important}.dtv-region-municipality-grid a>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#13253f;color:#fff;font-size:12px;font-weight:900}.dtv-region-municipality-grid a strong{font-size:14px}.dtv-region-municipality-grid a b{color:#cc0000}.dtv-region-municipality-grid a:hover{border-color:#c8d0da;transform:translateY(-1px)}
@media (max-width:1024px){.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero{min-height:420px;padding:62px 0 46px}.dtv-region-municipality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dtv-entity-breadcrumb{padding-top:18px}}
@media (max-width:767px){.dtv-entity-breadcrumb{width:calc(100% - 32px);padding:14px 0 12px;overflow:hidden;white-space:nowrap;font-size:9px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero{min-height:auto;padding:42px 0 38px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-logo{width:78px;height:78px;flex-basis:78px;border-radius:14px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-identity h1{font-size:36px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;border-radius:0;width:100%}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat{padding:18px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat strong{font-size:26px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-section{padding-top:54px}.dtv-region-municipality-grid{grid-template-columns:1fr}.dtv-region-municipalities .dtv-muni-section__header{align-items:flex-start}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-related{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* DTV-FE11 Correction 01 — Municipality & Region Editorial Experience Recovery */
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero{min-height:360px;padding:52px 0 44px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero__inner{align-items:center;grid-template-columns:minmax(0,1fr) 210px;gap:42px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-identity{align-items:flex-start}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-logo{width:92px;height:92px;flex-basis:92px;border-radius:16px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-identity h1{font-size:clamp(38px,4.2vw,58px);line-height:1;margin-top:10px}
.dtv-muni-description--summary{max-width:680px!important;font-size:15px!important;line-height:1.55!important;margin-top:13px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-profile-meta{margin-top:15px;gap:7px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-overview{margin-top:-24px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat{padding:18px 22px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat strong{font-size:27px}
.dtv-local-about{padding-top:54px;display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);column-gap:54px;align-items:start;border-bottom:1px solid #e5e9ef;padding-bottom:52px}
.dtv-local-about>.dtv-muni-section__eyebrow{grid-column:1}
.dtv-local-about>h2{grid-column:1;margin:3px 0 0;color:#13253f;font-size:clamp(25px,2.7vw,34px);line-height:1.05;letter-spacing:-.035em}
.dtv-local-about__text{grid-column:2;grid-row:1 / span 2;color:#526071;font-size:15px;line-height:1.75;max-width:760px}
.dtv-local-about__text p:first-child{margin-top:0}.dtv-local-about__text p:last-child{margin-bottom:0}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-section{padding-top:58px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape>*:first-child{grid-column:span 2;grid-row:span 2}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-two-col{padding-top:58px}
@media (max-width:1024px){
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero{min-height:340px;padding:46px 0 40px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero__inner{grid-template-columns:1fr;gap:24px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero__actions{flex-direction:row}
 .dtv-local-about{grid-template-columns:1fr;gap:12px}.dtv-local-about__text{grid-column:1;grid-row:auto;max-width:none}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape>*:first-child{grid-column:span 2;grid-row:auto}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero{padding:28px 0 26px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero__shade{background:linear-gradient(180deg,rgba(11,28,50,.68),rgba(11,28,50,.94))}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-identity{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-logo{width:64px;height:64px;flex-basis:64px;border-radius:12px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-identity h1{font-size:30px;margin-top:7px}
 .dtv-muni-description--summary{grid-column:1 / -1;font-size:13px!important;line-height:1.5!important;-webkit-line-clamp:3;margin-top:2px!important}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-profile-meta{grid-column:1 / -1;margin-top:4px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-btn{min-height:42px;padding:0 12px;font-size:10px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-overview{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0;border-radius:0}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat{padding:13px 7px;text-align:center}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat strong{font-size:22px}.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-stat span{font-size:7px;letter-spacing:.04em}
 .dtv-local-about{padding-top:38px;padding-bottom:38px}.dtv-local-about__text{font-size:14px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-section{padding-top:42px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape>*:first-child{grid-column:1 / -1}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-two-col{padding-top:42px;gap:12px}
}

/* DTV-FE11 Correction 02 — Adaptive Local Editorial Grid & Content Density Recovery */
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid{align-items:stretch}
/* One/two-item collections must use the available editorial canvas instead of leaving a dead column. */
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-1{grid-template-columns:minmax(0,720px)}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-1>*:first-child{grid-column:auto;grid-row:auto}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-2>*:first-child{grid-column:auto;grid-row:auto}
/* Three items: one lead plus two balanced support cards. Four+: canonical 3-column editorial mosaic. */
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-3{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-3>*:first-child{grid-column:1;grid-row:1 / span 2}
/* Short-form collections expand according to their real cardinality. */
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short.dtv-muni-grid--count-1{grid-template-columns:minmax(0,420px)}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short.dtv-muni-grid--count-2{grid-template-columns:repeat(2,minmax(0,420px));justify-content:start}
.dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short.dtv-muni-grid--count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
/* About copy uses a denser editorial split and avoids the oversized empty left rail. */
.dtv-local-about{grid-template-columns:minmax(180px,.27fr) minmax(0,.73fr);column-gap:38px}
.dtv-local-about__text{max-width:none}
@media (max-width:1024px){
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-1{grid-template-columns:minmax(0,1fr)}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-2>*:first-child{grid-column:auto}
}
@media (max-width:767px){
 /* Mobile prioritises legibility: no tiny supporting tiles beneath a lead. */
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape,
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-1,
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-2,
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-3{grid-template-columns:1fr;gap:12px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape>*:first-child,
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--landscape.dtv-muni-grid--count-3>*:first-child{grid-column:auto;grid-row:auto}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short,
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short.dtv-muni-grid--count-1,
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short.dtv-muni-grid--count-2,
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short.dtv-muni-grid--count-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short.dtv-muni-grid--count-1{grid-template-columns:1fr}
 .dtv-local-about{grid-template-columns:1fr;column-gap:0}
}
@media (max-width:430px){
 .dtv-municipality-portal:not(.dtv-municipalities-archive):not(.dtv-regions-archive) .dtv-muni-grid--short{grid-template-columns:1fr}
}

/* DTV-FE11 Correction 03 — Region High-Density Video Grid & Mobile Editorial Rhythm Recovery */
/* Region collections with four or more items use a regular dense grid. Municipality low-density rules remain untouched. */
#dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-4,
#dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-5,
#dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-6{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
}
#dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-4>*:first-child,
#dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-5>*:first-child,
#dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-6>*:first-child{
  grid-column:auto;grid-row:auto;
}
@media (max-width:1024px){
 #dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-4,
 #dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-5,
 #dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-6{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media (max-width:767px){
 /* High-density Region pages stay scannable: two compact cards per row instead of a long one-card feed. */
 #dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-4,
 #dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-5,
 #dtv-region-latest .dtv-muni-grid--landscape.dtv-muni-grid--count-6,
 #dtv-region-popular .dtv-muni-grid--short{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #dtv-region-latest .dtv-muni-grid--landscape>*:first-child{grid-column:auto;grid-row:auto}
 #dtv-region-latest .dtv-video-card__copy h3,
 #dtv-region-popular .dtv-video-card__copy h3{font-size:clamp(13px,3.8vw,17px);line-height:1.05;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 #dtv-region-latest .dtv-video-card__meta,
 #dtv-region-popular .dtv-video-card__meta{font-size:9px;line-height:1.2}
}
@media (max-width:430px){
 /* Override Correction 02's generic one-column short-form fallback only for Region density. */
 #dtv-region-popular .dtv-muni-grid--short{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* DTV-FE11 Correction 04 — Mobile Latest Videos Card Proportion & Readability Refinement */
/* Region-only mobile refinement: retain the two-column high-density grid while giving landscape cards enough vertical room for title, metadata and playback affordance. */
@media (max-width:767px){
 #dtv-region-latest .dtv-video-card--landscape > .dtv-video-card__link{aspect-ratio:4 / 3 !important}
 #dtv-region-latest .dtv-video-card__copy{left:10px !important;right:10px !important;bottom:10px !important}
 #dtv-region-latest .dtv-video-card__copy h3{font-size:clamp(14px,3.9vw,17px) !important;line-height:1.08 !important;-webkit-line-clamp:3 !important}
 #dtv-region-latest .dtv-video-card__meta{margin-top:5px !important;font-size:9px !important;line-height:1.2 !important}
}

/* DTV bundle source: assets/css/news-archive.css */
/**
 * dimosTV News Archive
 */

.dtv-news-archive {
    --dtv-news-bg: #070b14;
    --dtv-news-surface: rgba(16, 23, 38, .86);
    --dtv-news-surface-strong: rgba(21, 30, 49, .96);
    --dtv-news-border: rgba(255, 255, 255, .10);
    --dtv-news-text: #ffffff;
    --dtv-news-muted: rgba(255, 255, 255, .66);
    --dtv-news-red: #e10600;
    --dtv-news-red-soft: rgba(225, 6, 0, .18);
    background: radial-gradient(circle at top left, rgba(225, 6, 0, .14), transparent 32%), var(--dtv-news-bg);
    color: var(--dtv-news-text);
    min-height: 100vh;
    overflow: hidden;
    padding-bottom: 86px;
}

.dtv-news-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.dtv-news-archive-hero {
    position: relative;
    min-height: 360px;
    display: flex;
    align-items: flex-end;
    padding: 82px 0 52px;
    isolation: isolate;
    overflow: hidden;
}

.dtv-news-archive-hero__bg,
.dtv-news-archive-hero__shade {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.dtv-news-archive-hero__bg {
    background-size: cover;
    background-position: center;
    opacity: .22;
    filter: saturate(1.08) contrast(1.05);
    transform: scale(1.03);
}

.dtv-news-archive-hero__shade {
    z-index: -1;
    background: radial-gradient(circle at 78% 18%, rgba(225, 6, 0, .23), transparent 30%),
                linear-gradient(90deg, rgba(7, 11, 20, .99) 0%, rgba(7, 11, 20, .80) 58%, rgba(7, 11, 20, .68) 100%),
                linear-gradient(180deg, rgba(7, 11, 20, .15) 0%, #070b14 100%);
}

.dtv-news-archive-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
}

.dtv-news-kicker,
.dtv-news-section-header span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--dtv-news-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.dtv-news-kicker::before,
.dtv-news-section-header span::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--dtv-news-red);
    box-shadow: 0 0 0 6px var(--dtv-news-red-soft);
}

.dtv-news-kicker {
    padding: 8px 13px;
    border: 1px solid rgba(227, 6, 19, .45);
    border-radius: 999px;
    background: rgba(227, 6, 19, .18);
    box-shadow: 0 10px 28px rgba(227, 6, 19, .10);
    color: #fff;
    letter-spacing: .09em;
}

.dtv-news-kicker::before {
    background: #e30613;
    box-shadow: 0 0 16px rgba(227, 6, 19, .72);
}

.dtv-news-archive-hero h1 {
    margin: 12px 0 0;
    color: #fff;
    font-size: clamp(38px, 6.5vw, 72px);
    line-height: .98;
    letter-spacing: -.045em;
    text-transform: none;
}

.dtv-news-archive-hero p {
    max-width: 760px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: 17px;
    line-height: 1.7;
}

.dtv-news-archive-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 12px;
}

.dtv-news-archive-stats span {
    display: grid;
    gap: 6px;
    padding: 20px 22px;
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(14px);
}

.dtv-news-archive-stats strong {
    color: #fff;
    font-size: 38px;
    line-height: 1;
    letter-spacing: -.05em;
}

.dtv-news-archive-stats small {
    color: rgba(255, 255, 255, .62);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dtv-news-toolbar {
    position: relative;
    z-index: 2;
    margin-top: -24px;
    display: grid;
    grid-template-columns: minmax(240px, 2.2fr) repeat(3, minmax(145px, 1fr));
    gap: 12px;
    align-items: center;
    padding: 16px;
    border-radius: 24px;
    background: var(--dtv-news-surface-strong);
    border: 1px solid var(--dtv-news-border);
    box-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

.dtv-news-toolbar.has-active-filters {
    grid-template-columns: minmax(240px, 2.2fr) repeat(3, minmax(145px, 1fr)) max-content;
}

.dtv-news-toolbar__field {
    min-width: 0;
}

.dtv-news-toolbar__field--reset {
    display: none;
}

.dtv-news-toolbar.has-active-filters .dtv-news-toolbar__field--reset {
    display: block;
}

.dtv-news-toolbar input,
.dtv-news-toolbar select,
.dtv-news-filter-reset {
    width: 100%;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 18px;
    outline: none;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    font-size: 15px;
}

.dtv-news-toolbar select {
    appearance: none;
    cursor: pointer;
    padding-right: 44px;
    background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,.78) 50%), linear-gradient(135deg, rgba(255,255,255,.78) 50%, transparent 50%);
    background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.dtv-news-filter-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    white-space: nowrap;
    padding: 0 20px;
    border: 1px solid var(--dtv-news-red);
    border-radius: 999px;
    background: var(--dtv-news-red);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .075em;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(225, 6, 0, .24);
    transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.dtv-news-filter-reset:hover {
    transform: translateY(-1px);
    border-color: #ff241c;
    background: #ff241c;
    color: #fff;
    box-shadow: 0 14px 34px rgba(225, 6, 0, .34);
}

.dtv-news-toolbar select option {
    color: #111827;
}

.dtv-news-toolbar input::placeholder {
    color: rgba(255, 255, 255, .48);
}

.dtv-news-toolbar input:focus,
.dtv-news-toolbar select:focus,
.dtv-news-filter-reset:focus {
    border-color: rgba(225, 6, 0, .72);
    box-shadow: 0 0 0 4px rgba(225, 6, 0, .14);
}


@media (max-width: 1180px) {
    .dtv-news-toolbar,
    .dtv-news-toolbar.has-active-filters {
        grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(140px, 1fr));
    }

    .dtv-news-filter-reset {
        grid-column: 1 / -1;
        justify-self: end;
    }
}

@media (max-width: 760px) {
    .dtv-news-toolbar,
    .dtv-news-toolbar.has-active-filters {
        grid-template-columns: 1fr;
    }

    .dtv-news-filter-reset {
        justify-self: stretch;
        width: 100%;
    }
}

.dtv-news-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
    gap: 24px;
    align-items: stretch;
    padding-top: 40px;
}

.dtv-news-featured__media {
    position: relative;
    min-height: 360px;
    border-radius: 30px;
    overflow: hidden;
    background: rgba(255,255,255,.06);
    border: 1px solid var(--dtv-news-border);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .22);
}

.dtv-news-featured__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s ease, opacity .25s ease;
}

.dtv-news-featured__media:hover img {
    transform: scale(1.035);
    opacity: .86;
}

.dtv-news-featured__play,
.dtv-news-card__play {
    position: absolute;
    inset: auto auto 22px 22px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--dtv-news-red);
    display: grid;
    place-items: center;
    box-shadow: 0 18px 44px rgba(225, 6, 0, .38);
}

.dtv-news-featured__play::before,
.dtv-news-card__play::before {
    content: "";
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 13px solid #fff;
}

.dtv-news-featured__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
    border-radius: 30px;
    background: var(--dtv-news-surface);
    border: 1px solid var(--dtv-news-border);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .18);
}

.dtv-news-featured__copy h2 {
    margin: 12px 0 0;
    color: #fff;
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -.04em;
}

.dtv-news-featured__copy > h2:first-child {
    margin-top: 0;
}

.dtv-news-featured__copy p {
    margin: 18px 0 0;
    color: var(--dtv-news-muted);
    font-size: 15px;
    line-height: 1.7;
}

.dtv-news-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    margin-top: 24px;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--dtv-news-red);
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-decoration: none !important;
    box-shadow: 0 14px 34px rgba(225, 6, 0, .28);
}

.dtv-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 26px;
    padding-top: 62px;
}

.dtv-news-section-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 22px;
}

.dtv-news-section-header h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 3.5vw, 38px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -.035em;
    text-transform: none;
}

.dtv-news-section-header--compact h2 {
    font-size: 28px;
}

.dtv-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.dtv-news-card {
    overflow: hidden;
    border-radius: 26px;
    background: var(--dtv-news-surface);
    border: 1px solid var(--dtv-news-border);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .18);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.dtv-news-card:hover {
    transform: translateY(-3px);
    border-color: rgba(225, 6, 0, .58);
    box-shadow: 0 30px 86px rgba(0, 0, 0, .30);
}

.dtv-news-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    background: linear-gradient(135deg, rgba(225, 6, 0, .24), rgba(255, 255, 255, .06));
    overflow: hidden;
}

.dtv-news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .72;
    transition: transform .25s ease, opacity .25s ease;
}

.dtv-news-card:hover .dtv-news-card__media img {
    transform: scale(1.045);
    opacity: .86;
}

.dtv-news-card__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.58);
    font-weight: 900;
    letter-spacing: .18em;
}

.dtv-news-card__play {
    width: 42px;
    height: 42px;
    bottom: 16px;
    left: 16px;
}

.dtv-news-card__play::before {
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 10px;
}

.dtv-news-card__body {
    padding: 18px 18px 20px;
}

.dtv-news-card__category {
    display: inline-flex;
    color: var(--dtv-news-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dtv-news-card h3 {
    margin: 9px 0 0;
    color: #fff;
    font-size: 18px;
    line-height: 1.16;
    font-weight: 900;
    letter-spacing: -.025em;
}

.dtv-news-card h3 a {
    color: #fff !important;
    text-decoration: none !important;
}

.dtv-news-card h3 a:hover {
    color: var(--dtv-news-red) !important;
}

.dtv-news-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.dtv-news-card__meta span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .075);
    color: rgba(255, 255, 255, .70);
    font-size: 12px;
    font-weight: 800;
}

.dtv-news-sidebar {
    position: sticky;
    top: 24px;
    align-self: start;
    padding: 24px;
    border-radius: 28px;
    background: var(--dtv-news-surface-strong);
    border: 1px solid var(--dtv-news-border);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .20);
}

.dtv-news-popular-list {
    display: grid;
    gap: 12px;
}

.dtv-news-popular-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    color: #fff !important;
    text-decoration: none !important;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .065);
    transition: transform .18s ease, background .18s ease;
}

.dtv-news-popular-item:hover {
    background: rgba(255, 255, 255, .075);
    transform: translateY(-1px);
}

.dtv-news-popular-item b {
    color: var(--dtv-news-red);
    font-size: 22px;
    line-height: 1;
    letter-spacing: -.05em;
}

.dtv-news-popular-item strong {
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 1.28;
}

.dtv-news-popular-item small {
    display: block;
    margin-top: 6px;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
}

.dtv-news-empty,
.dtv-news-no-results {
    grid-column: 1 / -1;
    padding: 42px;
    border-radius: 24px;
    background: var(--dtv-news-surface);
    border: 1px solid var(--dtv-news-border);
    color: rgba(255, 255, 255, .72);
    text-align: center;
}

.dtv-news-no-results[hidden],
.dtv-news-archive-end[hidden] {
    display: none !important;
}

.dtv-news-archive-end {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: 24px;
    padding: 26px 24px;
    border: 1px solid var(--dtv-news-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 0, rgba(225, 6, 0, .12), transparent 52%),
        var(--dtv-news-surface);
    color: #fff;
    text-align: center;
}

.dtv-news-archive-end h3,
.dtv-news-archive-end p {
    margin: 0;
}

.dtv-news-archive-end h3 {
    font-size: clamp(20px, 2vw, 26px);
    line-height: 1.2;
}

.dtv-news-archive-end p {
    max-width: 560px;
    color: rgba(255, 255, 255, .68);
    font-size: 14px;
    line-height: 1.55;
}

.dtv-news-archive-end__action {
    margin-top: 4px;
    min-height: 42px;
    padding: 0 20px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.dtv-news-archive-end__action:hover,
.dtv-news-archive-end__action:focus-visible {
    transform: translateY(-1px);
    border-color: var(--dtv-news-red);
    background: var(--dtv-news-red);
}

@media (max-width: 1100px) {
    .dtv-news-featured,
    .dtv-news-layout,
    .dtv-news-archive-hero__inner,
    .dtv-news-toolbar {
        grid-template-columns: 1fr;
    }

    .dtv-news-sidebar {
        position: static;
    }

    .dtv-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dtv-news-archive-stats {
        max-width: 360px;
    }
}

@media (max-width: 640px) {
    .dtv-news-container {
        width: min(100% - 28px, 1180px);
    }

    .dtv-news-archive-hero {
        min-height: 340px;
        padding: 76px 0 40px;
    }

    .dtv-news-archive-stats,
    .dtv-news-grid {
        grid-template-columns: 1fr;
    }

    .dtv-news-featured__media {
        min-height: 240px;
    }

    .dtv-news-featured__copy {
        padding: 24px;
    }
}

/* Shows Archive: ekpompes taxonomy portal */
.dtv-shows-archive {
    --dtv-shows-card: rgba(15, 25, 43, .92);
}

.dtv-shows-hero .dtv-news-archive-hero__shade {
    background:
        radial-gradient(circle at 82% 18%, rgba(225, 6, 0, .20), transparent 30%),
        linear-gradient(90deg, rgba(5, 9, 17, .94) 0%, rgba(5, 9, 17, .76) 44%, rgba(5, 9, 17, .48) 72%, rgba(5, 9, 17, .68) 100%);
}

.dtv-shows-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 0;
    margin-top: -72px;
    position: relative;
    z-index: 3;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(19, 30, 50, .98), rgba(39, 12, 28, .92));
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
}

.dtv-shows-featured__media {
    position: relative;
    min-height: 360px;
    background: rgba(255, 255, 255, .05);
    overflow: hidden;
}

.dtv-shows-featured__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(5, 9, 17, .28), transparent 58%);
}

.dtv-shows-featured__media img,
.dtv-shows-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.dtv-shows-featured:hover .dtv-shows-featured__media img,
.dtv-shows-card:hover .dtv-shows-card__media img {
    transform: scale(1.04);
}

.dtv-shows-featured__copy {
    padding: 46px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dtv-shows-featured__copy > .dtv-news-kicker {
    width: fit-content;
    max-width: 100%;
    align-self: flex-start;
}

.dtv-shows-featured__copy h2 {
    margin: 12px 0 14px;
    color: #fff;
    font-size: clamp(34px, 4vw, 58px);
    line-height: .96;
    letter-spacing: -.055em;
}

.dtv-shows-featured__copy p {
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    line-height: 1.65;
    margin: 0 0 22px;
}

.dtv-shows-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px;
}

.dtv-shows-meta-row span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .80);
    font-size: 12px;
    font-weight: 800;
}

.dtv-shows-section {
    margin-top: 48px;
    padding-bottom: 80px;
}

.dtv-shows-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.dtv-shows-card {
    overflow: hidden;
    border-radius: 26px;
    background: var(--dtv-shows-card);
    border: 1px solid rgba(255, 255, 255, .10);
    box-shadow: 0 24px 68px rgba(0, 0, 0, .22);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.dtv-shows-card:hover {
    transform: translateY(-4px);
    border-color: rgba(225, 6, 0, .46);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
}

.dtv-shows-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(225, 6, 0, .22), rgba(20, 31, 52, .95));
}

.dtv-shows-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(7, 12, 20, .56), transparent 62%);
}

.dtv-shows-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .94);
    font-size: 48px;
    font-weight: 950;
    letter-spacing: -.08em;
}

.dtv-shows-card__badge {
    position: absolute;
    left: 14px;
    bottom: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(225, 6, 0, .96);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.dtv-shows-card__body {
    padding: 22px;
}

.dtv-shows-card__body h3 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.dtv-shows-card__body h3 a {
    color: #fff;
    text-decoration: none;
}

.dtv-shows-card__body p {
    min-height: 46px;
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .66);
    font-size: 14px;
    line-height: 1.55;
}

.dtv-shows-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dtv-shows-card__button,
.dtv-shows-card__latest {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .04em;
}

.dtv-shows-card__button {
    background: var(--dtv-news-red);
    color: #fff;
    box-shadow: 0 12px 30px rgba(225, 6, 0, .30);
}

.dtv-shows-card__latest {
    border: 1px solid rgba(255, 255, 255, .14);
    color: rgba(255, 255, 255, .86);
    background: rgba(255, 255, 255, .06);
}

.dtv-shows-card__button:hover,
.dtv-shows-card__latest:hover {
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 1100px) {
    .dtv-shows-featured,
    .dtv-shows-grid {
        grid-template-columns: 1fr;
    }

    .dtv-shows-featured {
        margin-top: 24px;
    }
}

@media (max-width: 760px) {
    .dtv-shows-featured__media {
        min-height: 230px;
    }

    .dtv-shows-featured__copy {
        padding: 28px;
    }

    .dtv-shows-card__actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Shows 2.0: streaming-style archive cards and show portal */
.dtv-shows-card__hover {
    position: absolute;
    inset: auto 18px 18px 18px;
    z-index: 4;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(225, 6, 0, .96);
    color: #fff;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .045em;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .22s ease, transform .22s ease;
    box-shadow: 0 18px 42px rgba(225, 6, 0, .34);
}

.dtv-shows-card:hover .dtv-shows-card__hover {
    opacity: 1;
    transform: translateY(0);
}

.dtv-show-portal {
    --dtv-show-hero-height: min(78vh, 720px);
}

.dtv-show-portal-hero {
    position: relative;
    min-height: var(--dtv-show-hero-height);
    display: flex;
    align-items: flex-end;
    padding: 118px 0 72px;
    isolation: isolate;
    overflow: hidden;
}

.dtv-show-portal-hero__bg,
.dtv-show-portal-hero__shade {
    position: absolute;
    inset: 0;
    z-index: -2;
}

.dtv-show-portal-hero__bg {
    background-size: cover;
    background-position: center;
    filter: saturate(1.08) contrast(1.06);
    transform: scale(1.02);
}

.dtv-show-portal-hero__shade {
    z-index: -1;
    background:
        radial-gradient(circle at 78% 16%, rgba(225, 6, 0, .24), transparent 30%),
        linear-gradient(90deg, rgba(5, 9, 17, .96) 0%, rgba(5, 9, 17, .82) 34%, rgba(5, 9, 17, .50) 64%, rgba(5, 9, 17, .72) 100%),
        linear-gradient(180deg, rgba(5, 9, 17, .08) 0%, #070b14 100%);
}

.dtv-show-portal-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
    gap: 44px;
    align-items: end;
}

.dtv-show-portal-hero__copy h1 {
    max-width: 860px;
    margin: 14px 0 0;
    color: #fff;
    font-size: clamp(48px, 8vw, 96px);
    line-height: .9;
    letter-spacing: -.065em;
    text-transform: none;
}

.dtv-show-portal-hero__copy p {
    max-width: 720px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 18px;
    line-height: 1.75;
}

.dtv-show-portal-logo {
    display: block;
    max-width: 220px;
    max-height: 86px;
    width: auto;
    height: auto;
    object-fit: contain;
    margin: 18px 0 8px;
    filter: drop-shadow(0 18px 42px rgba(0, 0, 0, .36));
}

.dtv-show-portal-meta {
    margin-top: 24px;
    margin-bottom: 0;
}

.dtv-show-portal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.dtv-show-secondary-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .90);
    text-decoration: none;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .045em;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.dtv-show-secondary-btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .28);
    color: #fff;
}

.dtv-show-portal-preview {
    position: relative;
    display: block;
    min-height: 260px;
    overflow: hidden;
    border-radius: 30px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 30px 90px rgba(0, 0, 0, .32);
    text-decoration: none;
    color: #fff;
}

.dtv-show-portal-preview::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(5, 9, 17, .74), rgba(5, 9, 17, .08) 62%);
}

.dtv-show-portal-preview img,
.dtv-show-portal-preview .dtv-shows-card__placeholder {
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .35s ease;
}

.dtv-show-portal-preview:hover img {
    transform: scale(1.04);
}

.dtv-show-portal-preview__label,
.dtv-show-portal-preview__play,
.dtv-show-portal-preview strong {
    position: absolute;
    z-index: 3;
}

.dtv-show-portal-preview__label {
    top: 18px;
    left: 18px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(225, 6, 0, .96);
    color: #fff;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
}

.dtv-show-portal-preview__play {
    left: 24px;
    bottom: 70px;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff;
    color: var(--dtv-news-red);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .30);
}

.dtv-show-portal-preview strong {
    left: 24px;
    right: 24px;
    bottom: 24px;
    font-size: 22px;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.dtv-show-episodes-section {
    margin-top: -24px;
    position: relative;
    z-index: 4;
}

.dtv-show-episodes-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.dtv-show-episode-card {
    overflow: hidden;
    border-radius: 22px;
    background: rgba(15, 25, 43, .92);
    border: 1px solid rgba(255, 255, 255, .10);
    box-shadow: 0 20px 54px rgba(0, 0, 0, .20);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.dtv-show-episode-card:hover {
    transform: translateY(-4px);
    border-color: rgba(225, 6, 0, .44);
    box-shadow: 0 26px 72px rgba(0, 0, 0, .30);
}

.dtv-show-episode-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(225, 6, 0, .20), rgba(20, 31, 52, .95));
}

.dtv-show-episode-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(7, 12, 20, .58), transparent 64%);
}

.dtv-show-episode-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .32s ease;
}

.dtv-show-episode-card:hover .dtv-show-episode-card__media img {
    transform: scale(1.04);
}

.dtv-show-episode-card__play {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 3;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, .96);
    color: var(--dtv-news-red);
    transform: translate(-50%, -50%);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .34);
    transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}

.dtv-show-episode-card__play svg {
    width: 19px;
    height: 19px;
    display: block;
    margin-left: 3px;
    fill: currentColor;
}

.dtv-show-episode-card:hover .dtv-show-episode-card__play {
    transform: translate(-50%, -50%) scale(1.08);
    background: var(--dtv-news-red);
    color: #fff;
    box-shadow: 0 18px 44px rgba(225, 6, 0, .35);
}

.dtv-show-episode-card__duration {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 3;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(5, 9, 17, .78);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.dtv-show-episode-card__body {
    padding: 16px;
}

.dtv-show-episode-card__body h3 {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.dtv-show-episode-card__body h3 a {
    color: #fff;
    text-decoration: none;
}

.dtv-show-episode-card__body span {
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
    font-weight: 800;
}

.dtv-shows-grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .dtv-show-portal-hero__inner,
    .dtv-show-episodes-grid,
    .dtv-shows-grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dtv-show-portal-hero__copy {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .dtv-show-portal-hero {
        min-height: auto;
        padding: 86px 0 42px;
    }

    .dtv-show-portal-hero__inner,
    .dtv-show-episodes-grid,
    .dtv-shows-grid--compact {
        grid-template-columns: 1fr;
    }

    .dtv-show-portal-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .dtv-show-portal-preview {
        min-height: 220px;
    }
}

/* Frontend 2.0 — Show Portal ACF polish */
.dtv-show-portal {
    --dtv-show-accent: var(--dtv-news-red, #e10600);
}

.dtv-show-portal .dtv-news-btn {
    background: var(--dtv-show-accent);
    box-shadow: 0 18px 42px color-mix(in srgb, var(--dtv-show-accent) 34%, transparent);
}

.dtv-show-play-trailer {
    scroll-behavior: smooth;
}

.dtv-show-info-section,
.dtv-show-trailer-section,
.dtv-show-municipalities-section,
.dtv-show-highlights-section {
    position: relative;
    z-index: 5;
}

.dtv-show-trailer-section {
    margin-top: -22px;
}

.dtv-show-trailer-card,
.dtv-show-info-card {
    border-radius: 30px;
    background: rgba(15, 25, 43, .92);
    border: 1px solid rgba(255, 255, 255, .10);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
    overflow: hidden;
}

.dtv-show-trailer-embed {
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
    background: #050914;
}

.dtv-show-trailer-embed iframe,
.dtv-show-trailer-embed embed,
.dtv-show-trailer-embed object,
.dtv-show-trailer-embed video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.dtv-show-info-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr);
    gap: 22px;
}

.dtv-show-info-card {
    padding: 28px;
}

.dtv-show-info-card__label {
    display: inline-flex;
    margin-bottom: 14px;
    color: var(--dtv-show-accent);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .09em;
}

.dtv-show-info-card h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(24px, 3vw, 38px);
    letter-spacing: -.04em;
}

.dtv-show-info-card p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    line-height: 1.75;
}

.dtv-show-info-card dl {
    margin: 0;
    display: grid;
    gap: 16px;
}

.dtv-show-info-card dt {
    color: rgba(255, 255, 255, .48);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
}

.dtv-show-info-card dd {
    margin: 5px 0 0;
    color: #fff;
    font-size: 16px;
    font-weight: 850;
}

.dtv-show-municipalities-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.dtv-show-municipality-chip {
    min-height: 74px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px 10px 10px;
    border-radius: 999px;
    background: rgba(15, 25, 43, .92);
    border: 1px solid rgba(255, 255, 255, .10);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .18);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.dtv-show-municipality-chip:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--dtv-show-accent) 58%, transparent);
    background: rgba(22, 34, 56, .96);
    color: #fff;
}

.dtv-show-municipality-chip img,
.dtv-show-municipality-chip span {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    object-fit: contain;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #10213a;
    font-size: 16px;
    font-weight: 950;
    flex: 0 0 52px;
}

.dtv-show-municipality-chip strong {
    font-size: 14px;
    font-weight: 900;
    letter-spacing: -.01em;
}

@media (max-width: 900px) {
    .dtv-show-info-grid {
        grid-template-columns: 1fr;
    }
}

/* Shows Archive / Show Portal polish: ACF hero images, clean cards, no overlap */
.dtv-shows-archive .dtv-news-archive-hero {
    min-height: 420px;
    padding: 92px 0 96px;
}

.dtv-shows-featured {
    margin-top: 34px;
    margin-bottom: 58px;
    isolation: isolate;
}

.dtv-shows-featured__media,
.dtv-shows-card__media {
    isolation: isolate;
}

.dtv-shows-featured__media img,
.dtv-shows-card__media img,
.dtv-shows-media__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dtv-shows-featured__placeholder {
    width: 100%;
    height: 100%;
    min-height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .94);
    font-size: 72px;
    font-weight: 950;
    letter-spacing: -.08em;
    background: linear-gradient(135deg, rgba(225, 6, 0, .20), rgba(20, 31, 52, .95));
}

.dtv-shows-media__logo {
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 5;
    width: 76px;
    height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: rgba(5, 9, 17, .70);
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .34);
    backdrop-filter: blur(14px);
    overflow: hidden;
}

.dtv-shows-featured__media .dtv-shows-media__logo {
    width: 96px;
    height: 96px;
    border-radius: 26px;
}

.dtv-shows-media__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
    display: block;
}

.dtv-shows-card__actions {
    display: flex;
    align-items: center;
}

.dtv-shows-card__button {
    width: fit-content;
}

.dtv-shows-card__latest {
    display: none !important;
}

.dtv-show-portal-hero {
    min-height: min(74vh, 660px);
    padding-top: 118px;
}

.dtv-show-portal-hero__bg {
    opacity: 1;
    background-size: cover;
    background-position: center center;
}

.dtv-show-portal-hero__shade {
    background:
        radial-gradient(circle at 80% 18%, rgba(225, 6, 0, .20), transparent 30%),
        linear-gradient(90deg, rgba(5, 9, 17, .90) 0%, rgba(5, 9, 17, .68) 38%, rgba(5, 9, 17, .32) 68%, rgba(5, 9, 17, .58) 100%),
        linear-gradient(180deg, rgba(5, 9, 17, .08) 0%, rgba(7, 11, 20, .94) 100%);
}

.dtv-show-portal-logo {
    background: rgba(5, 9, 17, .54);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 18px;
    padding: 12px;
    backdrop-filter: blur(12px);
}

@media (max-width: 1100px) {
    .dtv-shows-featured {
        margin-top: 28px;
    }
}

@media (max-width: 760px) {
    .dtv-shows-archive .dtv-news-archive-hero {
        min-height: 340px;
        padding: 82px 0 52px;
    }

    .dtv-shows-featured {
        margin-top: 24px;
        margin-bottom: 38px;
    }

    .dtv-shows-media__logo {
        width: 62px;
        height: 62px;
        border-radius: 18px;
    }

    .dtv-shows-featured__media .dtv-shows-media__logo {
        width: 76px;
        height: 76px;
        border-radius: 22px;
    }

    .dtv-show-portal-hero {
        min-height: 560px;
        padding-top: 96px;
    }
}

/* Frontend 2.0 — Show Design Pass
   Clean show library cards, clear hero imagery and single CTA. */
.dtv-shows-archive .dtv-news-archive-hero {
    min-height: 390px;
    padding: 88px 0 74px;
}

.dtv-shows-archive .dtv-news-archive-hero__bg {
    opacity: .34;
    background-size: cover;
    background-position: center center;
}

.dtv-shows-archive .dtv-news-archive-hero__shade {
    background:
        radial-gradient(circle at 78% 16%, rgba(225, 6, 0, .20), transparent 30%),
        linear-gradient(90deg, rgba(5, 9, 17, .96) 0%, rgba(5, 9, 17, .78) 48%, rgba(5, 9, 17, .60) 100%),
        linear-gradient(180deg, rgba(5, 9, 17, .10) 0%, #070b14 100%);
}

.dtv-shows-featured {
    margin-top: 36px;
    margin-bottom: 64px;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
    overflow: hidden;
}

.dtv-shows-featured__media {
    min-height: 390px;
}

.dtv-shows-featured__copy {
    padding: 44px 46px;
}

.dtv-shows-featured__copy h2 {
    font-size: clamp(34px, 4.4vw, 62px);
}

.dtv-shows-grid {
    align-items: stretch;
}

.dtv-shows-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: linear-gradient(180deg, rgba(15, 25, 43, .98), rgba(12, 21, 37, .96));
}

.dtv-shows-card__media {
    aspect-ratio: 16 / 9;
    min-height: 230px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.dtv-shows-card__media::after {
    background: linear-gradient(0deg, rgba(7, 12, 20, .42), rgba(7, 12, 20, .08) 62%);
}

.dtv-shows-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 26px;
}

.dtv-shows-card__body h3 {
    margin-bottom: 12px;
    font-size: 25px;
}

.dtv-shows-card__body p {
    min-height: 0;
    margin-bottom: 22px;
}

.dtv-shows-card__actions {
    margin-top: auto;
}

.dtv-shows-card__button {
    min-height: 42px;
    padding: 0 20px;
    font-size: 12px;
    box-shadow: 0 16px 38px rgba(225, 6, 0, .28);
}

.dtv-shows-card__hover {
    display: none !important;
}

.dtv-shows-card__badge {
    left: 18px;
    bottom: 18px;
    min-height: 30px;
    padding: 0 12px;
    font-size: 11px;
}

.dtv-shows-media__logo {
    width: 72px;
    height: 72px;
    left: 18px;
    top: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 18px 44px rgba(0,0,0,.30);
}

.dtv-shows-media__logo img {
    padding: 8px;
}

.dtv-shows-featured__media .dtv-shows-media__logo {
    width: 82px;
    height: 82px;
    border-radius: 22px;
}

.dtv-show-portal {
    --dtv-show-hero-height: min(76vh, 680px);
}

.dtv-show-portal-hero {
    min-height: var(--dtv-show-hero-height);
    padding: 122px 0 78px;
}

.dtv-show-portal-hero__bg {
    opacity: 1;
    background-size: cover;
    background-position: center center;
    filter: saturate(1.04) contrast(1.03);
}

.dtv-show-portal-hero__shade {
    background:
        radial-gradient(circle at 80% 16%, rgba(225, 6, 0, .18), transparent 30%),
        linear-gradient(90deg, rgba(5, 9, 17, .92) 0%, rgba(5, 9, 17, .68) 38%, rgba(5, 9, 17, .26) 70%, rgba(5, 9, 17, .58) 100%),
        linear-gradient(180deg, rgba(5, 9, 17, .04) 0%, rgba(7, 11, 20, .96) 100%);
}

.dtv-show-portal-logo {
    max-width: 240px;
    max-height: 100px;
    padding: 12px;
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(255,255,255,.68);
    filter: drop-shadow(0 20px 46px rgba(0, 0, 0, .34));
}

.dtv-show-portal-preview {
    min-height: 300px;
}

.dtv-show-portal-preview img,
.dtv-show-portal-preview .dtv-shows-card__placeholder {
    min-height: 300px;
}

@media (max-width: 1100px) {
    .dtv-shows-featured {
        grid-template-columns: 1fr;
        margin-top: 30px;
    }

    .dtv-shows-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .dtv-shows-archive .dtv-news-archive-hero {
        min-height: 330px;
        padding: 76px 0 46px;
    }

    .dtv-shows-featured__media,
    .dtv-shows-card__media {
        min-height: 210px;
    }

    .dtv-shows-grid {
        grid-template-columns: 1fr;
    }

    .dtv-show-portal {
        --dtv-show-hero-height: auto;
    }

    .dtv-show-portal-hero {
        min-height: 560px;
        padding: 96px 0 52px;
    }
}

/* Show portal polish: keep the primary hero action focused on the show page, not duplicate latest episode CTA. */
.dtv-show-portal .dtv-show-play-latest,
.dtv-show-portal-preview__play {
    display: none !important;
}

.dtv-show-portal .dtv-show-portal-actions .dtv-show-secondary-btn {
    margin-left: 0;
}

.dtv-show-portal-preview strong {
    bottom: 24px;
}

/* FE-08 — Municipal Councils archive */
.dtv-councils-archive__hero {
    background: var(--dtv-news-archive-hero-background, linear-gradient(135deg, #101a2a 0%, #1a2e4a 68%, #0e1724 100%));
}

.dtv-councils-archive__content {
    padding-top: clamp(40px, 6vw, 76px);
    padding-bottom: clamp(64px, 8vw, 110px);
}

.dtv-councils-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.dtv-councils-archive__grid .dtv-video-card__media {
    aspect-ratio: 16 / 9;
}

@media (max-width: 1040px) {
    .dtv-councils-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .dtv-councils-archive__grid {
        grid-template-columns: 1fr;
    }
}

/* F2.0-R04.7 Implementation 02 */
.dtv-show-episodes-pagination{display:flex;justify-content:center;margin-top:24px}.dtv-show-episodes-pagination .dtv-news-btn:disabled{opacity:.6;cursor:wait}

/* ================================================================
 * DTV-FE10 — Archive & Listing Experience
 * DTV Network visual migration for the canonical public archives.
 * Data, filters, pagination and interaction contracts are unchanged.
 * ================================================================ */
.dtv-news-archive {
    --dtv-news-bg: #f3f6fa;
    --dtv-news-surface: #ffffff;
    --dtv-news-surface-strong: #ffffff;
    --dtv-news-border: #d9e1ea;
    --dtv-news-text: #0b1f38;
    --dtv-news-muted: #73849a;
    --dtv-news-red: #ed1c24;
    --dtv-news-red-soft: rgba(237,28,36,.10);
    background: var(--dtv-news-bg);
    color: var(--dtv-news-text);
    overflow: clip;
    padding-bottom: 96px;
}
.dtv-news-container { width: min(1180px, calc(100% - 48px)); }

/* Editorial masthead: compact, typographic, DTV Network rather than legacy dark hero. */
.dtv-news-archive-hero {
    min-height: 0;
    padding: 72px 0 42px;
    align-items: center;
    background: transparent;
}
.dtv-news-archive-hero__bg { display: none; }
.dtv-news-archive-hero__shade {
    background: none;
    border-bottom: 1px solid var(--dtv-news-border);
}
.dtv-news-archive-hero__inner { align-items: center; gap: 48px; }
.dtv-news-kicker {
    padding: 0 0 0 15px;
    border: 0;
    border-left: 3px solid var(--dtv-news-red);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--dtv-news-red);
}
.dtv-news-kicker::before { display: none; }
.dtv-news-archive-hero h1 {
    max-width: 820px;
    margin-top: 10px;
    color: var(--dtv-news-text);
    font-size: clamp(40px,5vw,64px);
    line-height: .96;
    letter-spacing: -.045em;
}
.dtv-news-archive-hero p {
    max-width: 720px;
    margin-top: 14px;
    color: var(--dtv-news-muted);
    font-size: 16px;
    line-height: 1.55;
}
.dtv-news-archive-stats { grid-template-columns: repeat(2,minmax(108px,1fr)); }
.dtv-news-archive-stats span {
    padding: 15px 18px;
    border: 1px solid var(--dtv-news-border);
    border-radius: 12px;
    background: #fff;
    backdrop-filter: none;
}
.dtv-news-archive-stats strong { color: var(--dtv-news-text); font-size: 30px; }
.dtv-news-archive-stats small { color: var(--dtv-news-muted); }

/* Filter bar becomes a quiet utility strip. */
.dtv-news-toolbar,
.dtv-news-toolbar.has-active-filters {
    margin-top: 24px;
    padding: 12px;
    border: 1px solid var(--dtv-news-border);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(11,31,56,.055);
}
.dtv-news-toolbar input,
.dtv-news-toolbar select {
    min-height: 44px;
    border: 1px solid #dce3eb;
    border-radius: 8px;
    background-color: #f7f9fc;
    color: var(--dtv-news-text);
}
.dtv-news-toolbar input::placeholder { color: #8a98aa; }
.dtv-news-toolbar select {
    background-image: linear-gradient(45deg,transparent 50%,#53657a 50%),linear-gradient(135deg,#53657a 50%,transparent 50%);
}
.dtv-news-toolbar input:focus,.dtv-news-toolbar select:focus,.dtv-news-filter-reset:focus {
    border-color: var(--dtv-news-red); box-shadow: 0 0 0 3px rgba(237,28,36,.10);
}
.dtv-news-filter-reset { min-height:44px; border-radius:8px; box-shadow:none; }

/* Lead story follows the editorial feature language established on the homepage. */
.dtv-news-featured {
    grid-template-columns: minmax(0,1.55fr) minmax(300px,.75fr);
    gap: 0;
    padding-top: 42px;
}
.dtv-news-featured__media {
    min-height: 430px;
    border: 0;
    border-radius: 14px 0 0 14px;
    box-shadow: none;
}
.dtv-news-featured__media::after {
    content:""; position:absolute; inset:0;
    background:linear-gradient(90deg,transparent 58%,rgba(11,31,56,.15)); pointer-events:none;
}
.dtv-news-featured__media img { opacity:1; }
.dtv-news-featured__media:hover img { opacity:1; transform:scale(1.02); }
.dtv-news-featured__copy {
    padding: 38px;
    border: 0;
    border-radius: 0 14px 14px 0;
    background: #0b1f38;
    box-shadow: none;
}
.dtv-news-featured__copy h2 { color:#fff; font-size:clamp(30px,3.4vw,46px); }
.dtv-news-featured__copy p { color:#b9c5d3; }
.dtv-news-featured__play { width:46px;height:46px;bottom:20px;left:20px;background:rgba(11,31,56,.86);border:1px solid rgba(255,255,255,.7);box-shadow:none;z-index:1; }
.dtv-news-btn { border-radius:4px; background:var(--dtv-news-red); box-shadow:none; }

/* Listing rhythm: content first, restrained cards, ranked side rail. */
.dtv-news-layout { grid-template-columns:minmax(0,1fr) 300px; gap:42px; padding-top:72px; }
.dtv-news-section-header { margin-bottom:24px; padding-left:14px; border-left:3px solid var(--dtv-news-red); }
.dtv-news-section-header span::before { display:none; }
.dtv-news-section-header h2 { color:var(--dtv-news-text); font-size:clamp(26px,3vw,36px); text-transform:uppercase; }
.dtv-news-section-header--compact h2 { font-size:24px; }
.dtv-news-grid { gap:24px 18px; }
.dtv-news-card {
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.dtv-news-card:hover { transform:none; border-color:transparent; box-shadow:none; }
.dtv-news-card__media { aspect-ratio:16/9; border-radius:10px; }
.dtv-news-card__media img { opacity:1; }
.dtv-news-card:hover .dtv-news-card__media img { opacity:1; transform:scale(1.025); }
.dtv-news-card__play { width:36px;height:36px;bottom:12px;left:12px;background:rgba(11,31,56,.82);border:1px solid rgba(255,255,255,.72);box-shadow:none; }
.dtv-news-card__body { padding:13px 0 0; }
.dtv-news-card__category { color:var(--dtv-news-red); font-size:10px; }
.dtv-news-card h3 { color:var(--dtv-news-text); font-size:18px; line-height:1.18; }
.dtv-news-card h3 a { color:var(--dtv-news-text)!important; }
.dtv-news-card__meta { gap:6px; margin-top:10px; padding-top:0!important; }
.dtv-news-card__meta span { min-height:0; padding:0; border-radius:0; background:transparent; color:var(--dtv-news-muted); font-size:11px; }
.dtv-news-card__meta span + span::before { content:"·"; margin-right:6px; color:#a6b1bf; }

.dtv-news-sidebar {
    position:sticky; top:100px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.dtv-news-popular-list { gap:0; border-top:2px solid var(--dtv-news-text); }
.dtv-news-popular-item {
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    padding:18px 0;
    border:0;
    border-bottom:1px solid var(--dtv-news-border);
    border-radius:0;
    background:transparent;
    color:var(--dtv-news-text)!important;
}
.dtv-news-popular-item:hover { transform:none; background:transparent; }
.dtv-news-popular-item b { color:#b7c1ce; font-size:28px; }
.dtv-news-popular-item strong { color:var(--dtv-news-text); }
.dtv-news-popular-item small { color:var(--dtv-news-muted); }
.dtv-news-empty,.dtv-news-no-results,.dtv-news-archive-end {
    border:1px solid var(--dtv-news-border); border-radius:10px; background:#fff; color:var(--dtv-news-muted); box-shadow:none;
}
.dtv-news-archive-end { background:#fff; }
.dtv-news-archive-end h3 { color:var(--dtv-news-text); }
.dtv-news-pagination { margin-top:34px; }

@media (max-width:1100px) {
    .dtv-news-container { width:min(100% - 40px, 980px); }
    .dtv-news-archive-hero { padding:54px 0 34px; }
    .dtv-news-archive-hero__inner { grid-template-columns:1fr; gap:24px; }
    .dtv-news-archive-stats { display:flex; }
    .dtv-news-archive-stats span { min-width:120px; }
    .dtv-news-featured { grid-template-columns:1.25fr .75fr; }
    .dtv-news-featured__media { min-height:360px; }
    .dtv-news-featured__copy { padding:28px; }
    .dtv-news-layout { grid-template-columns:1fr; gap:52px; }
    .dtv-news-sidebar { position:static; }
    .dtv-news-popular-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
}
@media (max-width:760px) {
    .dtv-news-archive { padding-bottom:64px; }
    .dtv-news-container { width:calc(100% - 32px); }
    .dtv-news-archive-hero { padding:38px 0 28px; }
    .dtv-news-archive-hero h1 { font-size:clamp(34px,11vw,48px); }
    .dtv-news-archive-hero p { font-size:14px; }
    .dtv-news-archive-stats { gap:8px; }
    .dtv-news-archive-stats span { min-width:0; flex:1; padding:12px; }
    .dtv-news-archive-stats strong { font-size:24px; }
    .dtv-news-toolbar,.dtv-news-toolbar.has-active-filters { margin-top:16px; padding:10px; border-radius:10px; }
    .dtv-news-featured { display:block; padding-top:28px; }
    .dtv-news-featured__media { min-height:0; aspect-ratio:16/10; border-radius:10px 10px 0 0; }
    .dtv-news-featured__copy { padding:22px; border-radius:0 0 10px 10px; }
    .dtv-news-featured__copy h2 { font-size:28px; }
    .dtv-news-featured__copy p { margin-top:12px; }
    .dtv-news-layout { padding-top:52px; gap:44px; }
    .dtv-news-section-header { margin-bottom:18px; }
    .dtv-news-grid { gap:30px; }
    .dtv-news-card h3 { font-size:20px; }
    .dtv-news-popular-list { grid-template-columns:1fr; }
}

/* ================================================================
 * DTV-FE10 Correction 01 — Responsive archive composition + closing flow
 * ================================================================ */
.dtv-news-archive .dtv-news-pagination {
    display:flex;
    justify-content:center;
    margin-top:36px;
}
.dtv-news-archive .dtv-news-pagination .dtv-news-btn {
    min-width:220px;
    min-height:46px;
    padding:0 24px;
    border:1px solid #0b1f38;
    border-radius:999px;
    background:#0b1f38;
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    box-shadow:none;
}
.dtv-news-archive .dtv-news-pagination .dtv-news-btn:hover:not(:disabled),
.dtv-news-archive .dtv-news-pagination .dtv-news-btn:focus-visible:not(:disabled) {
    background:#ed1c24;
    border-color:#ed1c24;
}
.dtv-news-archive .dtv-news-pagination .dtv-news-btn:disabled {
    display:none;
}
.dtv-news-archive .dtv-news-archive-end {
    flex-direction:row;
    justify-content:space-between;
    gap:18px;
    margin-top:28px;
    padding:18px 0;
    border:0;
    border-top:1px solid var(--dtv-news-border);
    border-bottom:1px solid var(--dtv-news-border);
    border-radius:0;
    background:transparent;
    text-align:left;
}
.dtv-news-archive .dtv-news-archive-end h3 {
    color:var(--dtv-news-text);
    font-size:15px;
    line-height:1.3;
}
.dtv-news-archive .dtv-news-archive-end p { display:none; }
.dtv-news-archive .dtv-news-archive-end__action {
    flex:0 0 auto;
    margin:0;
    min-height:38px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--dtv-news-text);
    font-size:10px;
    letter-spacing:.08em;
}
.dtv-news-archive .dtv-news-archive-end__action::after { content:"  ↑"; color:var(--dtv-news-red); }
.dtv-news-archive .dtv-news-archive-end__action:hover,
.dtv-news-archive .dtv-news-archive-end__action:focus-visible {
    transform:none;
    background:transparent;
    color:var(--dtv-news-red);
}

/* Tablet: stop using the desktop split lead once the content column becomes narrow. */
@media (max-width: 900px) and (min-width: 641px) {
    .dtv-news-archive .dtv-news-featured {
        display:grid;
        grid-template-columns:1fr;
        gap:0;
    }
    .dtv-news-archive .dtv-news-featured__media {
        min-height:0;
        aspect-ratio:16/9;
        border-radius:12px 12px 0 0;
    }
    .dtv-news-archive .dtv-news-featured__copy {
        padding:28px 30px 30px;
        border-radius:0 0 12px 12px;
    }
    .dtv-news-archive .dtv-news-featured__copy h2 {
        max-width:680px;
        font-size:34px;
        line-height:1.02;
    }
    .dtv-news-archive .dtv-news-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:28px 20px;
    }
}

/* Mobile: premium single-column editorial feed, never a compressed two-column grid. */
@media (max-width: 640px) {
    .dtv-news-archive .dtv-news-featured {
        display:flex;
        flex-direction:column;
    }
    .dtv-news-archive .dtv-news-featured__media {
        aspect-ratio:16/9;
        border-radius:10px 10px 0 0;
    }
    .dtv-news-archive .dtv-news-featured__copy {
        padding:20px 18px 22px;
    }
    .dtv-news-archive .dtv-news-featured__copy h2 {
        font-size:26px;
        line-height:1.02;
        overflow-wrap:anywhere;
    }
    .dtv-news-archive .dtv-news-featured__copy p {
        font-size:13px;
        line-height:1.5;
    }
    .dtv-news-archive .dtv-news-grid {
        grid-template-columns:1fr !important;
        gap:30px !important;
    }
    .dtv-news-archive .dtv-news-card__media { border-radius:9px; }
    .dtv-news-archive .dtv-news-card h3 {
        font-size:20px;
        line-height:1.14;
    }
    .dtv-news-archive .dtv-news-pagination { margin-top:30px; }
    .dtv-news-archive .dtv-news-pagination .dtv-news-btn { width:100%; min-width:0; }
    .dtv-news-archive .dtv-news-archive-end {
        align-items:flex-start;
        padding:16px 0;
    }
    .dtv-news-archive .dtv-news-archive-end h3 { font-size:14px; }
}

/* DTV bundle source: assets/css/components/canonical-archive-grid.css */
/**
 * F2.0-R04.4 — Canonical Archive Content Grid & Responsive System
 * Presentation authority for archive result grids only.
 * Retrieval, filters, pagination and card interaction remain unchanged.
 */
.dtv-news-archive .dtv-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.dtv-news-archive .dtv-news-grid > .dtv-news-card {
    min-width: 0;
    width: 100%;
    height: 100%;
}

.dtv-news-archive .dtv-news-card {
    display: flex;
    flex-direction: column;
}

.dtv-news-archive .dtv-news-card__media {
    flex: 0 0 auto;
}

.dtv-news-archive .dtv-news-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.dtv-news-archive .dtv-news-card h3 {
    overflow-wrap: break-word;
}

.dtv-news-archive .dtv-news-card__meta {
    margin-top: auto;
    padding-top: 14px;
}

.dtv-news-archive .dtv-news-empty,
.dtv-news-archive .dtv-news-no-results {
    grid-column: 1 / -1;
}

@media (max-width: 1100px) {
    .dtv-news-archive .dtv-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (max-width: 640px) {
    .dtv-news-archive .dtv-news-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .dtv-news-archive .dtv-news-grid > .dtv-news-card {
        max-width: none;
    }
}

/* DTV bundle source: assets/css/live-experience.css */
/* Frontend 2.0B — Live Experience */
.dtv-live-experience {
    --dtv-live-bg: #070b12;
    --dtv-live-card: rgba(255,255,255,.06);
    --dtv-live-card-strong: rgba(255,255,255,.1);
    --dtv-live-text: #ffffff;
    --dtv-live-muted: rgba(255,255,255,.68);
    --dtv-live-line: rgba(255,255,255,.12);
    --dtv-live-red: #e10600;
    --dtv-live-radius: 28px;
    background: radial-gradient(circle at 15% 0%, rgba(225,6,0,.18), transparent 35%), linear-gradient(180deg, #080d16 0%, #05070c 100%);
    color: var(--dtv-live-text);
    min-height: 100vh;
    padding-bottom: 72px;
}

.dtv-live-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.dtv-live-hero {
    padding: 58px 0 34px;
}

.dtv-live-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(320px, .75fr);
    gap: 24px;
    align-items: stretch;
}

.dtv-live-player-card,
.dtv-live-now-card,
.dtv-live-section,
.dtv-live-info-box {
    border: 1px solid var(--dtv-live-line);
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.045));
    box-shadow: 0 24px 70px rgba(0,0,0,.34);
    backdrop-filter: blur(18px);
}

.dtv-live-player-card {
    border-radius: var(--dtv-live-radius);
    overflow: hidden;
}

.dtv-live-player-card__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 58px;
    padding: 0 18px;
    color: var(--dtv-live-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--dtv-live-line);
}

.dtv-live-badge,
.dtv-live-mini__body span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}

.dtv-live-badge i,
.dtv-live-mini__body i {
    width: 9px;
    height: 9px;
    display: inline-block;
    border-radius: 999px;
    background: var(--dtv-live-red);
    box-shadow: 0 0 0 0 rgba(225,6,0,.55);
    animation: dtvLivePulse 1.35s infinite;
}

@keyframes dtvLivePulse {
    0% { box-shadow: 0 0 0 0 rgba(225,6,0,.55); }
    70% { box-shadow: 0 0 0 11px rgba(225,6,0,0); }
    100% { box-shadow: 0 0 0 0 rgba(225,6,0,0); }
}

.dtv-live-player {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    min-height: 360px;
    background: #000;
}

.dtv-live-player__iframe,
.dtv-live-player__video {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    object-fit: cover;
    background: #000;
    pointer-events: auto;
}

.dtv-live-player__empty {
    position: absolute;
    z-index: 1;
    inset: 0;
    display: grid;
    pointer-events: none;
    place-content: center;
    text-align: center;
    padding: 40px;
    background: radial-gradient(circle at center, rgba(225,6,0,.2), transparent 38%), #05070c;
}

.dtv-live-player__empty-icon {
    margin: 0 auto 18px;
    display: inline-grid;
    place-items: center;
    width: 84px;
    height: 84px;
    border-radius: 999px;
    background: var(--dtv-live-red);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .12em;
}
.dtv-live-player__empty-logo{display:block;width:min(38%,220px);height:auto;margin:0 auto 18px;filter:drop-shadow(0 10px 28px rgba(0,0,0,.38))}

.dtv-live-player__empty h2 {
    margin: 0 0 10px;
    font-size: 24px;
}

.dtv-live-player__empty p {
    color: var(--dtv-live-muted);
    margin: 0;
}

.dtv-live-player-card__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 14px;
    border-top: 1px solid var(--dtv-live-line);
}

.dtv-live-action {
    appearance: none;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.075);
    color: #fff;
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.dtv-live-action:hover {
    transform: translateY(-1px);
    background: var(--dtv-live-red);
    border-color: var(--dtv-live-red);
}

.dtv-live-now-card {
    border-radius: var(--dtv-live-radius);
    padding: 30px;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dtv-live-kicker {
    color: var(--dtv-live-red);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dtv-live-now-card h1 {
    margin: 14px 0 14px;
    font-size: clamp(27px, 2.65vw, 42px);
    line-height: 1.03;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

.dtv-live-now-card p,
.dtv-live-info-box p {
    margin: 0;
    color: var(--dtv-live-muted);
    line-height: 1.7;
}

.dtv-live-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 26px 0 18px;
}

.dtv-live-meta-grid span {
    border: 1px solid var(--dtv-live-line);
    border-radius: 18px;
    padding: 14px 12px;
    background: rgba(255,255,255,.045);
}

.dtv-live-meta-grid strong,
.dtv-live-meta-grid small {
    display: block;
}

.dtv-live-meta-grid strong {
    font-size: 19px;
    line-height: 1;
}

.dtv-live-meta-grid small {
    margin-top: 8px;
    color: var(--dtv-live-muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.dtv-live-current-category {
    align-self: flex-start;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(225,6,0,.15);
    border: 1px solid rgba(225,6,0,.3);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.dtv-live-content-grid {
    display: block;
}

.dtv-live-main-column {
    display: grid;
    gap: 24px;
}

.dtv-live-section,
.dtv-live-info-box {
    border-radius: 24px;
    padding: 22px;
}

.dtv-live-section__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.dtv-live-section__header span {
    color: var(--dtv-live-red);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

.dtv-live-section__header h2,
.dtv-live-info-box h2 {
    margin: 4px 0 0;
    font-size: 25px;
    letter-spacing: -.02em;
}

.dtv-live-schedule-list {
    display: grid;
    gap: 10px;
}

.dtv-live-schedule-item {
    display: grid;
    grid-template-columns: 118px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--dtv-live-line);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
}

.dtv-live-schedule-item time,
.dtv-live-schedule-item > span {
    color: var(--dtv-live-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
}

.dtv-live-schedule-item h3 {
    margin: 0 0 4px;
    font-size: 16px;
}

.dtv-live-schedule-item p {
    margin: 0;
    color: var(--dtv-live-muted);
    font-size: 13px;
}

.dtv-live-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.dtv-live-video-card {
    overflow: hidden;
    border-radius: 20px;
    background: rgba(255,255,255,.06);
    border: 1px solid var(--dtv-live-line);
}

.dtv-live-video-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    background: rgba(255,255,255,.05);
    overflow: hidden;
}

.dtv-live-video-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .28s ease;
}

.dtv-live-video-card:hover img {
    transform: scale(1.045);
}

.dtv-live-video-card__play {
    position: absolute;
    left: 14px;
    bottom: 14px;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(225,6,0,.94);
    box-shadow: 0 14px 30px rgba(0,0,0,.32);
}

.dtv-live-video-card__play::before {
    content: '';
    position: absolute;
    left: 17px;
    top: 12px;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 13px solid #fff;
}

.dtv-live-video-card__body {
    padding: 13px 14px 15px;
}

.dtv-live-video-card__body h3 {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.3;
}

.dtv-live-video-card__body a {
    color: #fff;
    text-decoration: none;
}

.dtv-live-video-card__body small {
    color: var(--dtv-live-muted);
    font-size: 12px;
}

.dtv-live-info-box dl {
    margin: 20px 0 0;
    display: grid;
    gap: 10px;
}

.dtv-live-info-box dl div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    border-top: 1px solid var(--dtv-live-line);
}

.dtv-live-info-box dt {
    color: var(--dtv-live-muted);
    font-size: 12px;
    font-weight: 800;
}

.dtv-live-info-box dd {
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    text-align: right;
}

.dtv-live-empty {
    border: 1px dashed var(--dtv-live-line);
    border-radius: 18px;
    padding: 22px;
    color: var(--dtv-live-muted);
}

/* LBS-14 — scheduled/offline state and lighter visual hierarchy. */
.dtv-live-badge.is-scheduled {
    background: #e7eef7;
    color: #1a2e4a;
}

.dtv-live-badge.is-scheduled i {
    background: #5f7898;
    box-shadow: none;
    animation: none;
}

.dtv-live-player__scheduled {
    position: relative;
    display: grid;
    min-height: 100%;
    place-items: end start;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, #13253d, #1a2e4a 60%, #243e61);
}

.dtv-live-player__scheduled::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    content: "";
    background-image: linear-gradient(90deg, rgba(10, 24, 42, .96) 0%, rgba(10, 24, 42, .7) 50%, rgba(10, 24, 42, .35) 100%), var(--dtv-live-poster, none);
    background-position: center;
    background-size: cover;
}

.dtv-live-player__scheduled::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(5, 15, 28, .78), transparent 55%);
}

.dtv-live-player__scheduled-content {
    max-width: 780px;
    padding: clamp(28px, 5vw, 64px);
}

.dtv-live-player__scheduled-content > span {
    display: block;
    margin-bottom: 12px;
    color: #a9bad0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
}

.dtv-live-player__scheduled-content h2 {
    max-width: 24ch;
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 3.2vw, 48px);
    line-height: 1.08;
}

.dtv-live-player__scheduled-content time {
    display: block;
    margin-top: 18px;
    color: #fff;
    font-size: clamp(14px, 1.4vw, 18px);
    font-weight: 750;
}

.dtv-live-player__scheduled-content a {
    display: inline-flex;
    margin-top: 24px;
    padding: 11px 18px;
    border: 1px solid rgba(255,255,255,.36);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease;
}

.dtv-live-player__scheduled-content a:hover,
.dtv-live-player__scheduled-content a:focus-visible {
    border-color: #cc0000;
    background: #cc0000;
}

.dtv-live-section {
    scroll-margin-top: 110px;
}

.dtv-live-video-card__media img {
    content-visibility: auto;
}

@media (max-width: 767px) {
    .dtv-live-player__scheduled {
        min-height: 430px;
    }
    .dtv-live-player__scheduled-content {
        padding: 28px 22px;
    }
}

.dtv-live-mini {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 99998;
    width: 320px;
    overflow: hidden;
    border-radius: 22px;
    background: #080d16;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 24px 70px rgba(0,0,0,.48);
    color: #fff;
}

.dtv-live-mini__media {
    aspect-ratio: 16 / 9;
    background: #000;
}

.dtv-live-mini__media iframe,
.dtv-live-mini__media video {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.dtv-live-mini__body {
    padding: 12px 42px 14px 14px;
}

.dtv-live-mini__body strong {
    display: block;
    margin-top: 5px;
    font-size: 14px;
}

.dtv-live-mini__close {
    position: absolute;
    right: 8px;
    bottom: 11px;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.11);
    color: #fff;
    font-size: 20px;
    cursor: pointer;
}

@media (max-width: 980px) {
    .dtv-live-hero__grid,
    .dtv-live-content-grid {
        grid-template-columns: 1fr;
    }
    .dtv-live-related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dtv-live-container {
        width: min(100% - 24px, 1180px);
    }
    .dtv-live-hero {
        padding-top: 34px;
    }
    .dtv-live-player {
        min-height: 220px;
    }
    .dtv-live-now-card,
    .dtv-live-section,
    .dtv-live-info-box {
        padding: 18px;
        border-radius: 20px;
    }
    .dtv-live-meta-grid,
    .dtv-live-related-grid {
        grid-template-columns: 1fr;
    }
    .dtv-live-schedule-item {
        grid-template-columns: 1fr;
    }
    .dtv-live-mini {
        width: calc(100% - 24px);
        right: 12px;
        bottom: 12px;
    }
}

/* Frontend 2.0B.2 — Sticky Mini Player polish */
.dtv-live-mini[hidden] {
    display: none !important;
}

.dtv-live-mini {
    user-select: none;
    touch-action: none;
}

.dtv-live-mini.is-dragging {
    cursor: grabbing;
    opacity: .96;
}

.dtv-live-mini__drag {
    position: absolute;
    top: 0;
    left: 0;
    right: 74px;
    height: 34px;
    z-index: 3;
    cursor: grab;
}

.dtv-live-mini__drag::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 10px;
    width: 34px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,.26);
    box-shadow: 0 7px 0 rgba(255,255,255,.16);
}

.dtv-live-mini__mute,
.dtv-live-mini__close {
    position: absolute;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #fff;
    cursor: pointer;
    display: inline-grid;
    place-items: center;
    transition: background .18s ease, transform .18s ease;
    z-index: 4;
}

.dtv-live-mini__mute:hover,
.dtv-live-mini__close:hover {
    background: var(--dtv-live-red, #e10600);
    transform: translateY(-1px);
}

.dtv-live-mini__mute {
    right: 44px;
    bottom: 11px;
    font-size: 13px;
}

.dtv-live-mini__close {
    right: 8px;
    bottom: 11px;
    font-size: 20px;
}

.dtv-live-mini__body {
    padding-right: 82px;
}

.dtv-live-mini--global {
    font-family: inherit;
}

@media (max-width: 640px) {
    .dtv-live-mini__drag {
        right: 78px;
    }
}


/* Frontend 2.0B.2 hotfix: keep the native live-player controls clickable. */
.dtv-live-player-card__topbar,
.dtv-live-player-card__actions {
    position: relative;
    z-index: 3;
}

.dtv-live-player-card::before,
.dtv-live-player-card::after,
.dtv-live-player::before,
.dtv-live-player::after {
    pointer-events: none;
}

/* Frontend 2.0B.2A — Mobile mini player and autoplay polish */
.dtv-live-audio-toast {
    position: fixed;
    left: 50%;
    bottom: 26px;
    z-index: 100000;
    transform: translateX(-50%);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    padding: 12px 18px;
    background: rgba(8,13,22,.92);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
    box-shadow: 0 18px 44px rgba(0,0,0,.35);
    cursor: pointer;
}

@media (max-width: 780px) {
    .dtv-live-mini {
        width: 260px;
        right: 12px;
        bottom: 12px;
        border-radius: 16px;
    }
    .dtv-live-mini__body {
        padding: 8px 68px 10px 10px;
    }
    .dtv-live-mini__body span {
        font-size: 9px;
        letter-spacing: .1em;
    }
    .dtv-live-mini__body strong {
        margin-top: 3px;
        font-size: 11px;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        width: 24px;
        height: 24px;
        bottom: 8px;
    }
    .dtv-live-mini__mute { right: 38px; font-size: 11px; }
    .dtv-live-mini__close { right: 8px; font-size: 17px; }
    .dtv-live-mini__drag {
        height: 28px;
        right: 64px;
    }
}

@media (max-width: 480px) {
    .dtv-live-mini {
        width: min(200px, calc(100vw - 24px));
        right: 12px;
        bottom: 12px;
        border-radius: 14px;
    }
    .dtv-live-mini__body {
        padding: 7px 60px 8px 9px;
    }
    .dtv-live-mini__body span {
        font-size: 8px;
    }
    .dtv-live-mini__body i,
    .dtv-live-mini__body span i {
        width: 7px;
        height: 7px;
    }
    .dtv-live-mini__body strong {
        font-size: 10px;
    }
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        width: 22px;
        height: 22px;
        bottom: 7px;
    }
    .dtv-live-mini__mute { right: 34px; }
    .dtv-live-mini__close { right: 7px; }
    .dtv-live-mini__drag::before {
        left: 10px;
        width: 26px;
        height: 3px;
        top: 8px;
        box-shadow: 0 6px 0 rgba(255,255,255,.14);
    }
    .dtv-live-audio-toast {
        width: calc(100% - 24px);
        bottom: 16px;
        text-align: center;
        font-size: 12px;
    }
}

/* Frontend 2.0B.2B — Mini Player UI polish */
.dtv-live-mini {
    overflow: hidden;
    box-shadow: 0 26px 80px rgba(0,0,0,.54), 0 0 0 1px rgba(255,255,255,.06) inset;
}

.dtv-live-mini__controls {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 8;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    pointer-events: auto;
}

.dtv-live-mini__mute,
.dtv-live-mini__close {
    position: absolute;
    top: 10px;
    bottom: auto;
    z-index: 8;
    width: 32px;
    height: 32px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(12,18,32,.88);
    color: #fff;
    box-shadow: 0 10px 28px rgba(0,0,0,.35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease;
}

.dtv-live-mini__mute {
    right: 50px;
    font-size: 0;
}

.dtv-live-mini__close {
    right: 10px;
    font-size: 0;
}

.dtv-live-mini__mute:hover,
.dtv-live-mini__close:hover,
.dtv-live-mini__mute:focus-visible,
.dtv-live-mini__close:focus-visible {
    background: var(--dtv-live-red, #e10600);
    border-color: rgba(225,6,0,.9);
    transform: translateY(-1px);
    outline: none;
}

.dtv-live-mini__icon,
.dtv-live-mini__icon svg {
    width: 16px;
    height: 16px;
    display: block;
}

.dtv-live-mini__icon svg {
    overflow: visible;
}

.dtv-live-mini__icon path {
    fill: currentColor;
    stroke: none;
}

.dtv-live-mini__icon--sound .dtv-live-mini__sound-wave,
.dtv-live-mini__icon--sound .dtv-live-mini__sound-wave--outer,
.dtv-live-mini__icon--sound .dtv-live-mini__mute-slash,
.dtv-live-mini__close .dtv-live-mini__icon path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.dtv-live-mini__icon--sound .dtv-live-mini__mute-slash {
    opacity: 0;
    color: #fff;
}

.dtv-live-mini__mute.is-muted {
    color: var(--dtv-live-red, #e10600);
    background: rgba(12,18,32,.92);
    border-color: rgba(225,6,0,.34);
}

.dtv-live-mini__mute.is-muted:hover,
.dtv-live-mini__mute.is-muted:focus-visible {
    color: #fff;
    background: var(--dtv-live-red, #e10600);
}

.dtv-live-mini__mute.is-muted .dtv-live-mini__sound-wave,
.dtv-live-mini__mute.is-muted .dtv-live-mini__sound-wave--outer {
    opacity: .12;
}

.dtv-live-mini__mute.is-muted .dtv-live-mini__mute-slash {
    opacity: 1;
}

.dtv-live-mini__drag {
    right: 94px;
    z-index: 7;
}

.dtv-live-mini__media {
    position: relative;
    overflow: hidden;
}

.dtv-live-mini__media iframe,
.dtv-live-mini__media video {
    position: relative;
    z-index: 1;
}

.dtv-live-mini__body {
    padding-right: 14px;
}

@media (max-width: 780px) {
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        top: 8px;
        width: 30px;
        height: 30px;
    }
    .dtv-live-mini__mute { right: 46px; }
    .dtv-live-mini__close { right: 8px; }
    .dtv-live-mini__icon,
    .dtv-live-mini__icon svg {
        width: 15px;
        height: 15px;
    }
    .dtv-live-mini__drag {
        right: 86px;
    }
}

@media (max-width: 480px) {
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        top: 7px;
        width: 28px;
        height: 28px;
    }
    .dtv-live-mini__mute { right: 42px; }
    .dtv-live-mini__close { right: 7px; }
    .dtv-live-mini__icon,
    .dtv-live-mini__icon svg {
        width: 14px;
        height: 14px;
    }
    .dtv-live-mini__drag {
        height: 30px;
        right: 78px;
    }
}


/* Frontend 2.0B.2C — Mini Player controls placement + YouTube mute UI */
.dtv-live-mini__body {
    position: relative;
    padding: 14px 76px 16px 16px !important;
}

.dtv-live-mini__mute,
.dtv-live-mini__close {
    top: auto !important;
    bottom: 15px !important;
    width: 24px !important;
    height: 24px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 999px !important;
    background: rgba(12,18,32,.76) !important;
    color: rgba(255,255,255,.92) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.28) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.dtv-live-mini__mute {
    right: 44px !important;
}

.dtv-live-mini__close {
    right: 14px !important;
}

.dtv-live-mini__mute:hover,
.dtv-live-mini__close:hover,
.dtv-live-mini__mute:focus-visible,
.dtv-live-mini__close:focus-visible {
    background: var(--dtv-live-red, #e10600) !important;
    border-color: var(--dtv-live-red, #e10600) !important;
    color: #fff !important;
    transform: translateY(-1px) scale(1.02);
}

.dtv-live-mini__icon,
.dtv-live-mini__icon svg {
    width: 13px !important;
    height: 13px !important;
}

.dtv-live-mini__icon svg {
    display: block;
}

.dtv-live-mini__mute.is-muted {
    color: var(--dtv-live-red, #e10600) !important;
    background: rgba(12,18,32,.86) !important;
    border-color: rgba(225,6,0,.42) !important;
}

.dtv-live-mini__mute.is-muted:hover,
.dtv-live-mini__mute.is-muted:focus-visible {
    color: #fff !important;
    background: var(--dtv-live-red, #e10600) !important;
}

.dtv-live-mini__drag {
    right: 14px !important;
    bottom: auto !important;
    height: 30px !important;
}

@media (max-width: 640px) {
    .dtv-live-mini__body {
        padding: 12px 68px 14px 14px !important;
    }
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        bottom: 13px !important;
        width: 22px !important;
        height: 22px !important;
    }
    .dtv-live-mini__mute {
        right: 40px !important;
    }
    .dtv-live-mini__close {
        right: 12px !important;
    }
    .dtv-live-mini__icon,
    .dtv-live-mini__icon svg {
        width: 12px !important;
        height: 12px !important;
    }
}

/* Frontend 2.0B.2D — Mini Player final UI polish */
.dtv-live-mini {
    box-shadow: 0 22px 62px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.06) inset;
}

.dtv-live-mini__media {
    position: relative;
}

.dtv-live-mini__media::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, #e10600 0%, #ff2b2b 46%, rgba(225,6,0,.18) 46%, rgba(225,6,0,.18) 100%);
    background-size: 220% 100%;
    animation: dtv-live-mini-pulse-line 2.2s linear infinite;
    pointer-events: none;
    z-index: 2;
}

@keyframes dtv-live-mini-pulse-line {
    0% { background-position: 120% 0; }
    100% { background-position: -120% 0; }
}

.dtv-live-mini::after {
    content: 'Επιστροφή στο Live';
    position: absolute;
    left: 12px;
    right: 12px;
    top: 12px;
    z-index: 5;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(8,13,22,.72);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: none;
    backdrop-filter: blur(10px);
}

.dtv-live-mini:hover::after,
.dtv-live-mini:focus-within::after {
    opacity: 1;
    transform: translateY(0);
}

.dtv-live-mini__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 14px;
    align-items: center;
    padding: 10px 12px 12px 12px !important;
    background: #080d16;
}

.dtv-live-mini__body span {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 6px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(225,6,0,.15);
    color: #fff;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.dtv-live-mini__body span::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #e10600;
    box-shadow: 0 0 0 4px rgba(225,6,0,.16);
}

.dtv-live-mini__body span i,
.dtv-live-mini__body i {
    display: none !important;
}

.dtv-live-mini__body strong {
    grid-column: 1;
    min-width: 0;
    margin-top: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dtv-live-mini__mute,
.dtv-live-mini__close {
    position: static !important;
    width: 25px !important;
    height: 25px !important;
    min-width: 25px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #fff;
    grid-row: 1 / span 2;
    align-self: end;
    z-index: 6;
}

.dtv-live-mini__mute {
    grid-column: 2;
    justify-self: end;
    margin-right: 36px;
}

.dtv-live-mini__close {
    grid-column: 2;
    justify-self: end;
}

.dtv-live-mini__mute svg,
.dtv-live-mini__close svg {
    width: 13px;
    height: 13px;
}

.dtv-live-mini__mute:hover,
.dtv-live-mini__close:hover {
    background: rgba(225,6,0,.95);
    border-color: rgba(225,6,0,.95);
}

.dtv-live-mini__drag {
    right: 0;
    height: 38px;
}

@media (max-width: 780px) {
    .dtv-live-mini__body {
        padding: 8px 10px 10px 10px !important;
        column-gap: 12px;
    }
    .dtv-live-mini__body span {
        font-size: 8px;
        padding: 3px 7px;
    }
    .dtv-live-mini__body span::before {
        width: 6px;
        height: 6px;
        box-shadow: 0 0 0 3px rgba(225,6,0,.14);
    }
    .dtv-live-mini__body strong {
        font-size: 11px;
    }
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        width: 23px !important;
        height: 23px !important;
        min-width: 23px;
    }
    .dtv-live-mini__mute {
        margin-right: 34px;
    }
    .dtv-live-mini__mute svg,
    .dtv-live-mini__close svg {
        width: 12px;
        height: 12px;
    }
}

@media (max-width: 480px) {
    .dtv-live-mini::after {
        display: none;
    }
    .dtv-live-mini__body {
        padding: 7px 9px 9px 9px !important;
    }
    .dtv-live-mini__body strong {
        font-size: 10px;
    }
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px;
    }
    .dtv-live-mini__mute {
        margin-right: 32px;
    }
}

/* Frontend 2.0B.2D — controls inside footer row */
.dtv-live-mini__controls {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.dtv-live-mini__controls .dtv-live-mini__mute,
.dtv-live-mini__controls .dtv-live-mini__close {
    position: static !important;
    margin: 0 !important;
    flex: 0 0 25px;
}

.dtv-live-mini__body[data-dtv-live-mini-restore] {
    cursor: pointer;
}

.dtv-live-mini__controls button {
    cursor: pointer;
}

@media (max-width: 780px) {
    .dtv-live-mini__controls {
        gap: 11px;
    }
    .dtv-live-mini__controls .dtv-live-mini__mute,
    .dtv-live-mini__controls .dtv-live-mini__close {
        flex-basis: 23px;
    }
}

@media (max-width: 480px) {
    .dtv-live-mini__controls {
        gap: 10px;
    }
    .dtv-live-mini__controls .dtv-live-mini__mute,
    .dtv-live-mini__controls .dtv-live-mini__close {
        flex-basis: 22px;
    }
}


/* Frontend 2.0B.2E — Mini Player bug fix: click-safe return overlay + centered controls */
.dtv-live-mini {
    position: fixed;
}

.dtv-live-mini__media {
    position: relative;
}

.dtv-live-mini__return {
    position: absolute;
    inset: 0 0 auto 0;
    height: calc((100% - 58px));
    min-height: 96px;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    padding: 0;
    background: rgba(0,0,0,.22);
    color: #fff;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: 0;
    cursor: pointer;
    transition: opacity .18s ease, background .18s ease;
    pointer-events: auto;
}

.dtv-live-mini__return::before {
    content: 'ΕΠΙΣΤΡΟΦΗ ΣΤΟ LIVE';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: calc(100% - 24px);
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(8,13,22,.68);
    box-shadow: 0 10px 26px rgba(0,0,0,.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.dtv-live-mini:hover .dtv-live-mini__return,
.dtv-live-mini:focus-within .dtv-live-mini__return {
    opacity: 1;
}

.dtv-live-mini__return:focus-visible {
    opacity: 1;
    outline: 2px solid rgba(225,6,0,.9);
    outline-offset: -4px;
}

.dtv-live-mini::after {
    content: none !important;
    display: none !important;
}

.dtv-live-mini__media iframe,
.dtv-live-mini__media video {
    pointer-events: none;
}

.dtv-live-mini__body {
    min-height: 58px;
}

.dtv-live-mini__controls {
    position: relative;
    z-index: 9;
}

.dtv-live-mini__controls .dtv-live-mini__mute,
.dtv-live-mini__controls .dtv-live-mini__close,
.dtv-live-mini__mute,
.dtv-live-mini__close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 0 !important;
    text-align: center !important;
}

.dtv-live-mini__icon,
.dtv-live-mini__icon svg,
.dtv-live-mini__mute svg,
.dtv-live-mini__close svg {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.dtv-live-mini__icon path,
.dtv-live-mini__icon--sound .dtv-live-mini__sound-wave,
.dtv-live-mini__icon--sound .dtv-live-mini__sound-wave--outer,
.dtv-live-mini__icon--sound .dtv-live-mini__mute-slash,
.dtv-live-mini__close .dtv-live-mini__icon path {
    vector-effect: non-scaling-stroke;
}

@media (max-width: 480px) {
    .dtv-live-mini__return {
        min-height: 86px;
        font-size: 9px;
    }
    .dtv-live-mini__return::before {
        padding: 7px 9px;
    }
    .dtv-live-mini__body {
        min-height: 52px;
    }
}


/* Frontend 2.0B.2F — Mini Player final footer-return fix */
.dtv-live-mini__return {
    display: none !important;
}

.dtv-live-mini__media {
    cursor: pointer;
}

.dtv-live-mini__media iframe,
.dtv-live-mini__media video {
    pointer-events: none !important;
}

.dtv-live-mini__body {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto !important;
    gap: 5px 16px !important;
    padding: 10px 12px 12px !important;
    min-height: 0 !important;
}

.dtv-live-mini__body::after {
    content: 'ΕΠΙΣΤΡΟΦΗ ΣΤΟ LIVE';
    grid-column: 1 / -1;
    grid-row: 3;
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 6px;
    margin-top: 2px;
    padding: 4px 8px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.72);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(-2px);
    transition: opacity .16s ease, transform .16s ease, color .16s ease, background .16s ease;
    pointer-events: none;
}

.dtv-live-mini:hover .dtv-live-mini__body::after,
.dtv-live-mini:focus-within .dtv-live-mini__body::after {
    opacity: 1;
    transform: translateY(0);
}

.dtv-live-mini__body:hover::after {
    color: #fff;
    background: rgba(225,6,0,.16);
    border-color: rgba(225,6,0,.34);
}

.dtv-live-mini__body > span {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
}

.dtv-live-mini__body > strong {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    min-width: 0;
    margin: 0 !important;
}

.dtv-live-mini__controls {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: end !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    position: relative !important;
    z-index: 10 !important;
}

.dtv-live-mini__controls .dtv-live-mini__mute,
.dtv-live-mini__controls .dtv-live-mini__close,
.dtv-live-mini__mute,
.dtv-live-mini__close {
    position: static !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    flex: 0 0 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 0 !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    box-sizing: border-box !important;
    transform: none;
}

.dtv-live-mini__controls .dtv-live-mini__mute:hover,
.dtv-live-mini__controls .dtv-live-mini__close:hover,
.dtv-live-mini__controls .dtv-live-mini__mute:focus-visible,
.dtv-live-mini__controls .dtv-live-mini__close:focus-visible {
    background: var(--dtv-live-red, #e10600) !important;
    border-color: var(--dtv-live-red, #e10600) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

.dtv-live-mini__icon,
.dtv-live-mini__icon svg,
.dtv-live-mini__mute svg,
.dtv-live-mini__close svg {
    width: 13px !important;
    height: 13px !important;
    display: block !important;
    margin: 0 !important;
    flex: 0 0 13px !important;
}

.dtv-live-mini__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.dtv-live-mini__drag {
    right: 0 !important;
    height: 32px !important;
}

@media (max-width: 480px) {
    .dtv-live-mini__body {
        padding: 8px 9px 9px !important;
        gap: 4px 12px !important;
    }
    .dtv-live-mini__body::after {
        font-size: 8px;
        padding: 3px 6px;
    }
    .dtv-live-mini__controls {
        gap: 12px !important;
    }
    .dtv-live-mini__controls .dtv-live-mini__mute,
    .dtv-live-mini__controls .dtv-live-mini__close,
    .dtv-live-mini__mute,
    .dtv-live-mini__close {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        flex-basis: 22px !important;
    }
    .dtv-live-mini__icon,
    .dtv-live-mini__icon svg,
    .dtv-live-mini__mute svg,
    .dtv-live-mini__close svg {
        width: 12px !important;
        height: 12px !important;
        flex-basis: 12px !important;
    }
}


/* Frontend 2.0B.2G — Mini Player click area + entrance animation */
.dtv-live-mini:not([hidden]) {
    animation: dtv-live-mini-enter .18s cubic-bezier(.2,.8,.2,1) both;
    transform-origin: right bottom;
    transition: box-shadow .18s ease, transform .18s ease;
}

@keyframes dtv-live-mini-enter {
    from { opacity: 0; transform: translateY(8px) scale(.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.dtv-live-mini__media,
.dtv-live-mini__body {
    cursor: pointer;
}

.dtv-live-mini__controls,
.dtv-live-mini__controls button,
.dtv-live-mini__mute,
.dtv-live-mini__close {
    cursor: pointer;
}

.dtv-live-mini:hover {
    box-shadow: 0 26px 76px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.08) inset;
}

@media (prefers-reduced-motion: reduce) {
    .dtv-live-mini:not([hidden]) {
        animation: none;
        transition: none;
    }
}

/* Frontend 2.0B.3 — Quick Live Modal */
.dtv-quick-live[hidden] {
    display: none !important;
}

.dtv-quick-live {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 22px;
    color: #fff;
}

.dtv-quick-live__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2,6,14,.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.dtv-quick-live__dialog {
    position: relative;
    z-index: 2;
    width: min(880px, 100%);
    max-height: min(92vh, 780px);
    overflow: auto;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 28px;
    background: radial-gradient(circle at 18% 0%, rgba(225,6,0,.18), transparent 34%), linear-gradient(180deg, #0b111d 0%, #060912 100%);
    box-shadow: 0 34px 120px rgba(0,0,0,.62);
    animation: dtv-quick-live-enter .18s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes dtv-quick-live-enter {
    from { opacity: 0; transform: translateY(10px) scale(.975); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.dtv-quick-live__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 4;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(7,12,21,.72);
    color: #fff;
    cursor: pointer;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.dtv-quick-live__close:hover,
.dtv-quick-live__close:focus-visible {
    background: var(--dtv-live-red, #e10600);
    border-color: var(--dtv-live-red, #e10600);
    transform: translateY(-1px);
    outline: none;
}

.dtv-quick-live__close svg {
    width: 16px;
    height: 16px;
}

.dtv-quick-live__close path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
}

.dtv-quick-live__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 62px 18px 22px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.dtv-quick-live__badge,
.dtv-quick-live__source {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dtv-quick-live__badge {
    color: #fff;
}

.dtv-quick-live__badge i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--dtv-live-red, #e10600);
    box-shadow: 0 0 0 0 rgba(225,6,0,.55);
    animation: dtvLivePulse 1.35s infinite;
}

.dtv-quick-live__source {
    color: rgba(255,255,255,.64);
}

.dtv-quick-live__player {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
}

.dtv-quick-live__player iframe,
.dtv-quick-live__player video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    background: #000;
}

.dtv-quick-live__empty {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: 10px;
    text-align: center;
    background: radial-gradient(circle at center, rgba(225,6,0,.18), transparent 36%), #03050a;
}

.dtv-quick-live__empty strong {
    display: inline-grid;
    place-items: center;
    width: 78px;
    height: 78px;
    margin: 0 auto;
    border-radius: 999px;
    background: var(--dtv-live-red, #e10600);
    font-size: 14px;
    letter-spacing: .1em;
}

.dtv-quick-live__empty span {
    color: rgba(255,255,255,.7);
}

.dtv-quick-live__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: end;
    padding: 24px;
}

.dtv-quick-live__body h2 {
    margin: 0 0 8px;
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1;
    letter-spacing: -.035em;
}

.dtv-quick-live__body p {
    margin: 0;
    max-width: 620px;
    color: rgba(255,255,255,.72);
    line-height: 1.65;
}

.dtv-quick-live__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.dtv-quick-live__meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    color: rgba(255,255,255,.76);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
}

.dtv-quick-live__meta strong {
    color: #fff;
}

.dtv-quick-live__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dtv-quick-live__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.14);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.dtv-quick-live__btn:hover,
.dtv-quick-live__btn:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

.dtv-quick-live__btn--primary {
    border-color: var(--dtv-live-red, #e10600);
    background: var(--dtv-live-red, #e10600);
    box-shadow: 0 14px 34px rgba(225,6,0,.28);
}

.dtv-quick-live__btn--secondary {
    background: rgba(255,255,255,.07);
}

.dtv-quick-live__btn--secondary:hover,
.dtv-quick-live__btn--secondary:focus-visible {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.22);
}

.dtv-quick-live-is-open {
    overflow: hidden;
}

@media (max-width: 720px) {
    .dtv-quick-live {
        padding: 12px;
        align-items: end;
    }
    .dtv-quick-live__dialog {
        width: 100%;
        border-radius: 22px;
        max-height: 94vh;
    }
    .dtv-quick-live__header {
        padding: 16px 58px 16px 18px;
    }
    .dtv-quick-live__source {
        display: none;
    }
    .dtv-quick-live__body {
        grid-template-columns: 1fr;
        padding: 18px;
    }
    .dtv-quick-live__actions {
        justify-content: stretch;
    }
    .dtv-quick-live__btn {
        flex: 1 1 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-quick-live__dialog {
        animation: none;
    }
}


/* Frontend 2.0B.3A — Quick Live Modal polish */
.dtv-quick-live__close {
    width: 31px;
    height: 31px;
    top: 13px;
    right: 13px;
    border-radius: 999px;
    border-color: rgba(225, 6, 0, .72);
    background: rgba(10, 17, 31, .92);
    color: #ff2b3a;
    box-shadow: 0 10px 26px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.04) inset;
}

.dtv-quick-live__close:hover,
.dtv-quick-live__close:focus-visible {
    background: #e10600;
    border-color: #e10600;
    color: #fff;
    transform: translateY(-1px) scale(1.02);
}

.dtv-quick-live__close svg {
    width: 13px;
    height: 13px;
}

.dtv-quick-live__actions {
    justify-content: flex-end;
}

.dtv-quick-live__btn--secondary {
    border-color: rgba(225, 6, 0, .7);
    background: rgba(225, 6, 0, .1);
    color: #fff !important;
}

.dtv-quick-live__btn--secondary:hover,
.dtv-quick-live__btn--secondary:focus-visible {
    background: #e10600;
    border-color: #e10600;
}

@media (max-width: 720px) {
    .dtv-quick-live__close {
        width: 30px;
        height: 30px;
        top: 10px;
        right: 10px;
    }
}

/* Frontend 2.0B.3B — Quick Live Modal final polish */
.dtv-quick-live__close {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.dtv-quick-live__close svg {
    width: 14px !important;
    height: 14px !important;
}

.dtv-quick-live__close:hover,
.dtv-quick-live__close:focus-visible {
    background: var(--dtv-live-red, #e10600) !important;
    color: #fff !important;
    transform: translateY(-1px) scale(1.03);
}

.dtv-quick-live__header {
    padding: 18px 64px 18px 22px;
}

.dtv-quick-live__source {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    color: rgba(255,255,255,.78) !important;
    max-width: 42%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dtv-quick-live__body {
    align-items: center;
    padding-top: 28px;
}

.dtv-quick-live__actions {
    align-self: end;
    padding-bottom: 2px;
}

.dtv-quick-live__meta:empty {
    display: none;
}

body.dtv-quick-live-is-open .dtv-live-btn,
body.dtv-quick-live-is-open [data-dtv-quick-live],
body.dtv-quick-live-is-open [data-dtv-live-modal-open] {
    filter: brightness(1.08);
    box-shadow: 0 0 0 1px rgba(255,255,255,.18) inset, 0 0 22px rgba(225,6,0,.42) !important;
}

@media (max-width: 720px) {
    .dtv-quick-live__header {
        padding: 16px 56px 16px 18px;
    }
    .dtv-quick-live__source {
        max-width: 48%;
        font-size: 12px !important;
    }
    .dtv-quick-live__body {
        align-items: stretch;
        padding-top: 20px;
    }
    .dtv-quick-live__actions {
        padding-bottom: 0;
    }
}


/* Live TV Studio Completion Sprint 4 — Public overlays */
.dtv-live-player,.dtv-quick-live__player{position:relative;overflow:hidden;}
.dtv-live-overlay-layer{position:absolute;inset:0;z-index:7;pointer-events:none;color:#fff;font-family:Inter,system-ui,sans-serif;}
.dtv-live-overlay-logo{position:absolute;max-width:140px;max-height:70px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45));}
.dtv-live-overlay-logo.is-top-left{top:18px;left:18px}.dtv-live-overlay-logo.is-top-right{top:18px;right:18px}.dtv-live-overlay-logo.is-bottom-left{bottom:18px;left:18px}.dtv-live-overlay-logo.is-bottom-right{bottom:18px;right:18px}
.dtv-live-overlay-clock{position:absolute;top:18px;right:18px;padding:8px 11px;border-radius:10px;background:rgba(2,8,23,.78);font-weight:900;font-variant-numeric:tabular-nums;}
.dtv-live-overlay-breaking{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;background:rgba(173,0,10,.95);font-weight:900;}
.dtv-live-overlay-breaking strong{padding:10px 14px;background:#fff;color:#b0000a;letter-spacing:.08em}.dtv-live-overlay-breaking span{padding:10px 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dtv-live-overlay-lower-third{position:absolute;left:22px;bottom:24px;min-width:260px;max-width:68%;padding:11px 16px;border-left:5px solid #e50914;border-radius:4px 14px 14px 4px;background:linear-gradient(90deg,rgba(2,8,23,.94),rgba(15,23,42,.76));box-shadow:0 14px 34px rgba(0,0,0,.38);}
.dtv-live-overlay-lower-third strong,.dtv-live-overlay-lower-third span{display:block}.dtv-live-overlay-lower-third span{margin-top:3px;color:rgba(255,255,255,.72);font-size:12px;}
.dtv-live-overlay-watermark{position:absolute;right:18px;bottom:18px;font-weight:950;font-size:18px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.dtv-live-overlay-layer--minimal .dtv-live-overlay-lower-third{background:rgba(2,8,23,.72);border-left-width:2px;padding:8px 12px}.dtv-live-overlay-layer--breaking .dtv-live-overlay-lower-third{border-left-color:#fff;background:rgba(173,0,10,.9)}.dtv-live-overlay-layer--clean .dtv-live-overlay-breaking{display:none}
.dtv-live-overlay-layer--brand .dtv-live-overlay-lower-third{padding:12px 18px;border-left:6px solid #cc0000;border-radius:0 12px 12px 0;background:linear-gradient(90deg,rgba(26,46,74,.98),rgba(26,46,74,.78))}
.dtv-live-overlay-layer--brand .dtv-live-overlay-lower-third strong{font-weight:850;letter-spacing:.01em}.dtv-live-overlay-layer--brand .dtv-live-overlay-lower-third span{color:rgba(255,255,255,.82)}
.dtv-live-overlay-layer--brand .dtv-live-overlay-clock{border-radius:6px;background:rgba(26,46,74,.9);box-shadow:inset 0 -2px 0 #cc0000}
@media(max-width:720px){.dtv-live-overlay-logo{max-width:92px;max-height:46px}.dtv-live-overlay-lower-third{left:12px;bottom:12px;max-width:78%;min-width:0}.dtv-live-overlay-clock{top:12px;right:12px}.dtv-live-overlay-breaking strong,.dtv-live-overlay-breaking span{padding:7px 9px;font-size:11px}}

/* DTV bundle source: assets/css/search-experience.css */
:root{--dtv-search-bg:#070b14;--dtv-search-card:#0e1625;--dtv-search-line:rgba(255,255,255,.12);--dtv-search-text:#fff;--dtv-search-muted:rgba(255,255,255,.68);--dtv-search-red:#e30613;--dtv-search-blue:#0f5fff}
.dtv-search-is-open{overflow:hidden}.dtv-search-trigger{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:0;background:transparent;color:#fff;border-radius:50%;padding:0;cursor:pointer;transition:color .18s ease,background .18s ease,transform .18s ease}.dtv-search-trigger:hover,.dtv-search-trigger:focus-visible{color:var(--dtv-search-red);background:rgba(255,255,255,.06);transform:translateY(-1px);outline:0}.dtv-search-trigger__icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.dtv-search-trigger__icon svg{width:22px;height:22px;display:block}.dtv-search-trigger__label{display:none}
.dtv-search-overlay[hidden]{display:none}.dtv-search-overlay{position:fixed;inset:0;z-index:999999;color:var(--dtv-search-text)}.dtv-search-overlay__backdrop{position:absolute;inset:0;background:rgba(1,4,10,.78);backdrop-filter:blur(14px)}.dtv-search-overlay__dialog{position:relative;width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 48px);margin:24px auto;background:linear-gradient(180deg,#0d1524,#070b14);border:1px solid var(--dtv-search-line);border-radius:28px;box-shadow:0 28px 90px rgba(0,0,0,.55);overflow:hidden;animation:dtvSearchIn .18s ease-out}.dtv-search-overlay__close{position:absolute;top:18px;right:18px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:2}.dtv-search-overlay__close:hover{background:var(--dtv-search-red)}.dtv-search-overlay__header{padding:34px 34px 22px}.dtv-search-overlay__kicker,.dtv-search-page__kicker{display:inline-flex;align-items:center;width:max-content;background:rgba(227,6,19,.14);color:#ffccd1;border:1px solid rgba(227,6,19,.32);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}.dtv-search-overlay__input-wrap{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:0 18px;height:64px}.dtv-search-overlay__input-wrap input{width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:24px;font-weight:700}.dtv-search-overlay__input-wrap input::placeholder{color:rgba(255,255,255,.45)}.dtv-search-overlay__body{padding:0 34px 26px;min-height:320px;max-height:58vh;overflow:auto}.dtv-search-overlay__idle{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dtv-search-overlay__idle h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--dtv-search-muted);margin:0 0 12px}.dtv-search-chips{display:flex;flex-wrap:wrap;gap:10px}.dtv-search-chips button,.dtv-search-page__toolbar button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer}.dtv-search-chips button:hover,.dtv-search-page__toolbar button:hover,.dtv-search-page__toolbar button.is-active{background:var(--dtv-search-red);border-color:var(--dtv-search-red)}.dtv-search-muted{color:var(--dtv-search-muted);font-size:14px}.dtv-search-overlay__results{display:grid;gap:10px}.dtv-search-result{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;text-decoration:none;color:#fff;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:10px;transition:background .16s ease,transform .16s ease,border-color .16s ease}.dtv-search-result:hover,.dtv-search-result.is-active{background:rgba(227,6,19,.12);border-color:rgba(227,6,19,.35);transform:translateY(-1px)}.dtv-search-result__media{position:relative;display:grid;place-items:center;width:72px;height:54px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#18263d,#0f1728);font-size:16px;font-weight:900}.dtv-search-result__media img{width:100%;height:100%;object-fit:cover}.dtv-search-result__media i{position:absolute;inset:auto auto 8px 8px;width:24px;height:24px;border-radius:50%;background:var(--dtv-search-red)}.dtv-search-result__media i:after{content:"";position:absolute;left:9px;top:7px;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent}.dtv-search-result__body{min-width:0}.dtv-search-result__body em{font-style:normal;display:inline-flex;color:#ffccd1;background:rgba(227,6,19,.14);border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:5px}.dtv-search-result__body strong{display:block;font-size:16px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtv-search-result__body small{display:block;color:var(--dtv-search-muted);font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.dtv-search-view-all{display:flex;justify-content:center;margin-top:10px;padding:13px;border-radius:14px;background:var(--dtv-search-red);color:#fff;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.08em}.dtv-search-loading,.dtv-search-error,.dtv-search-overlay__empty,.dtv-search-page__empty{padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:18px;color:var(--dtv-search-muted);background:rgba(255,255,255,.04)}.dtv-search-overlay__footer{display:flex;gap:18px;border-top:1px solid rgba(255,255,255,.09);padding:14px 34px;color:rgba(255,255,255,.5);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.dtv-search-page{background:#f5f7fb;color:#07101d}.dtv-search-page__container{width:min(1180px,calc(100% - 32px));margin:0 auto}.dtv-search-page__hero{background:linear-gradient(135deg,#08111f,#0e1b32 58%,#21060a);color:#fff;padding:72px 0 46px}.dtv-search-page__hero h1{font-size:clamp(34px,5vw,64px);line-height:1;margin:0 0 12px}.dtv-search-page__hero p{max-width:720px;color:rgba(255,255,255,.72);font-size:17px}.dtv-search-page__form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:26px;max-width:760px}.dtv-search-page__form input{height:56px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08);color:#fff;padding:0 18px;font-size:17px}.dtv-search-page__form button{border:0;border-radius:16px;background:var(--dtv-search-red);color:#fff;font-weight:900;padding:0 22px}.dtv-search-page__content{padding:28px 0 70px}.dtv-search-page__toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.dtv-search-page__toolbar button{color:#08111f;background:#fff;border-color:#e2e8f0}.dtv-search-page__summary{font-size:14px;color:#5c6675;margin:12px 0 18px}.dtv-search-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dtv-search-card .dtv-search-result{height:100%;grid-template-columns:96px 1fr;background:#fff;color:#07101d;border-color:#e5e9f1}.dtv-search-card .dtv-search-result__media{width:96px;height:72px}.dtv-search-card .dtv-search-result__body small{color:#667085}.dtv-search-card .dtv-search-result__body strong{white-space:normal}.dtv-search-card .dtv-search-result:hover{background:#fff;border-color:rgba(227,6,19,.35)}
@keyframes dtvSearchIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:780px){.dtv-search-overlay__dialog{width:calc(100vw - 18px);margin:9px auto;border-radius:22px}.dtv-search-overlay__header{padding:26px 18px 16px}.dtv-search-overlay__body{padding:0 18px 22px}.dtv-search-overlay__idle{grid-template-columns:1fr}.dtv-search-overlay__input-wrap{height:56px}.dtv-search-overlay__input-wrap input{font-size:18px}.dtv-search-result{grid-template-columns:62px 1fr}.dtv-search-result__media{width:62px;height:48px}.dtv-search-overlay__footer{padding:12px 18px;gap:10px;flex-wrap:wrap}.dtv-search-page__form{grid-template-columns:1fr}.dtv-search-page__form button{height:50px}.dtv-search-page__grid{grid-template-columns:1fr}.dtv-search-card .dtv-search-result{grid-template-columns:82px 1fr}.dtv-search-card .dtv-search-result__media{width:82px;height:62px}}

/* ==========================================================
   Search Experience 2.0C.2-C.5
   Results, ranking controls, recent/trending, accessibility
   ========================================================== */
.dtv-search-suggestion-group{display:grid;gap:8px;margin-bottom:16px}.dtv-search-suggestion-group h4{margin:0 0 2px;color:rgba(255,255,255,.55);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.dtv-search-chips button span{display:inline-flex;margin-right:6px;opacity:.65;font-size:10px}.dtv-search-page__controls{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:14px}.dtv-search-page__sort{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 8px 6px 14px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.dtv-search-page__sort span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#667085}.dtv-search-page__sort select{height:34px;border:0;background:transparent;color:#07101d;font-size:13px;font-weight:800;outline:0;cursor:pointer}.dtv-search-page__toolbar button span{margin-left:5px;opacity:.62}.dtv-search-page__recent{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:12px 14px;border:1px solid #e5e9f1;border-radius:16px;background:#fff;color:#667085;font-size:12px}.dtv-search-page__recent strong{font-size:11px;letter-spacing:.08em;color:#07101d}.dtv-search-page__recent button{border:0;background:#f1f5f9;color:#07101d;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;cursor:pointer}.dtv-search-page__recent button:hover{background:var(--dtv-search-red);color:#fff}.dtv-search-page__intro{grid-column:1/-1;padding:34px;border:1px solid #e5e9f1;border-radius:22px;background:#fff;text-align:center}.dtv-search-page__intro h2{margin:0 0 8px;font-size:24px}.dtv-search-page__intro p{margin:0;color:#667085}.dtv-search-page__summary{display:flex;align-items:center;min-height:24px}.dtv-search-result:focus-visible,.dtv-search-chips button:focus-visible,.dtv-search-page__toolbar button:focus-visible,.dtv-search-page__recent button:focus-visible,.dtv-search-view-all:focus-visible,.dtv-search-overlay__close:focus-visible,.dtv-search-page__form button:focus-visible{outline:3px solid rgba(227,6,19,.32);outline-offset:3px}.dtv-search-page__form input:focus-visible,.dtv-search-overlay__input-wrap:focus-within{box-shadow:0 0 0 3px rgba(227,6,19,.22);border-color:rgba(227,6,19,.46)}.dtv-search-card .dtv-search-result__body em{color:#a30b14;background:rgba(227,6,19,.08)}.dtv-search-card .dtv-search-result__media.is-fallback{background:linear-gradient(135deg,#101b2f,#263a5c);color:#fff}.dtv-search-result__media.is-fallback{color:#fff}.dtv-search-page__empty[hidden]{display:none}.dtv-search-page__empty{grid-column:1/-1;text-align:center;background:#fff;color:#667085}.dtv-search-loading,.dtv-search-error{grid-column:1/-1}.dtv-search-trigger.is-active{color:var(--dtv-search-red);background:rgba(227,6,19,.12)}
@media (max-width:900px){.dtv-search-page__controls{grid-template-columns:1fr}.dtv-search-page__sort{width:max-content}.dtv-search-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.dtv-search-page__controls{gap:10px}.dtv-search-page__sort{width:100%;justify-content:space-between}.dtv-search-page__toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dtv-search-page__toolbar button{justify-content:center}.dtv-search-page__grid{grid-template-columns:1fr}.dtv-search-page__recent{align-items:flex-start}.dtv-search-page__hero{padding:54px 0 34px}.dtv-search-page__hero p{font-size:15px}}

/* F2.0-R04.6 */
.dtv-search-page__pager{display:flex;justify-content:center;margin:24px 0 0}.dtv-search-page__pager button{min-height:46px;border:0;border-radius:999px;padding:0 22px;background:var(--dtv-search-red);color:#fff;font-size:12px;font-weight:900;letter-spacing:.06em;cursor:pointer}.dtv-search-page__pager button:disabled{opacity:.6}.dtv-search-page__pager button:focus-visible{outline:3px solid rgba(227,6,19,.32);outline-offset:3px}

/* DTV bundle source: assets/css/complaints-page.css */
/* ==========================================================
   DimosTV Complaints Page
   ========================================================== */
.dtv-complaints-page{background:#050914;color:#fff;min-height:100vh;font-family:inherit}.dtv-complaints-container{width:min(1180px,calc(100% - 40px));margin:0 auto}.dtv-complaints-hero{position:relative;min-height:360px;display:flex;align-items:end;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(227,6,19,.28),transparent 30%),linear-gradient(135deg,#101a2c 0%,#070b15 62%,#050914 100%)}.dtv-complaints-hero:before{content:"";position:absolute;inset:auto -10% -35% 40%;height:330px;background:rgba(227,6,19,.18);filter:blur(85px);transform:rotate(-10deg)}.dtv-complaints-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,20,.92),rgba(5,9,20,.62),rgba(5,9,20,.38))}.dtv-complaints-hero__inner{position:relative;z-index:1;padding:80px 0 64px}.dtv-complaints-kicker,.dtv-complaints-info__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(227,6,19,.14);border:1px solid rgba(227,6,19,.34);color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.dtv-complaints-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#e30613;box-shadow:0 0 0 6px rgba(227,6,19,.18)}.dtv-complaints-hero h1{margin:18px 0 14px;font-size:clamp(34px,5vw,64px);line-height:.96;letter-spacing:-.05em;color:#fff}.dtv-complaints-hero p{max-width:700px;margin:0;color:rgba(255,255,255,.78);font-size:18px;line-height:1.65}.dtv-complaints-layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:26px;padding:48px 0 72px}.dtv-complaints-info__card,.dtv-complaints-form-wrap{border:1px solid rgba(255,255,255,.10);border-radius:26px;background:rgba(11,18,32,.78);box-shadow:0 24px 70px rgba(0,0,0,.32);backdrop-filter:blur(12px)}.dtv-complaints-info__card{position:sticky;top:96px;padding:28px}.dtv-complaints-info h2{margin:18px 0 12px;font-size:24px;color:#fff}.dtv-complaints-info p,.dtv-complaints-info li{color:rgba(255,255,255,.72);line-height:1.65}.dtv-complaints-info ul{margin:18px 0 0;padding-left:20px}.dtv-complaints-form-wrap{padding:30px}.dtv-complaints-section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid rgba(255,255,255,.08)}.dtv-complaints-section:last-of-type{border-bottom:0;margin-bottom:20px;padding-bottom:0}.dtv-complaints-section h2{margin:0 0 18px;font-size:18px;letter-spacing:-.02em;color:#fff}.dtv-complaints-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dtv-complaints-type{position:relative;display:block}.dtv-complaints-type input{position:absolute;opacity:0;pointer-events:none}.dtv-complaints-type span{display:flex;min-height:54px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:16px;color:rgba(255,255,255,.82);font-weight:800;font-size:13px;transition:.2s ease;text-align:center}.dtv-complaints-type input:checked+span{border-color:rgba(227,6,19,.72);background:rgba(227,6,19,.16);color:#fff;box-shadow:0 12px 30px rgba(227,6,19,.12)}.dtv-complaints-grid{display:grid;gap:16px}.dtv-complaints-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.dtv-complaints-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.dtv-complaints-form label>span:not(.screen-reader-text),.dtv-complaints-check span{display:block;margin:0 0 8px;color:rgba(255,255,255,.70);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dtv-complaints-form input[type=text],.dtv-complaints-form input[type=email],.dtv-complaints-form input[type=tel],.dtv-complaints-form select,.dtv-complaints-form textarea{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06);color:#fff;padding:14px 15px;outline:none;transition:.2s ease}.dtv-complaints-form textarea{resize:vertical;min-height:170px}.dtv-complaints-form input:focus,.dtv-complaints-form select:focus,.dtv-complaints-form textarea:focus{border-color:rgba(227,6,19,.72);box-shadow:0 0 0 4px rgba(227,6,19,.12)}.dtv-complaints-form select option{color:#111}.dtv-complaints-check{display:flex!important;align-items:flex-start;gap:10px;margin:0 0 18px}.dtv-complaints-check input{width:18px;height:18px;margin-top:2px;accent-color:#e30613}.dtv-complaints-check span{margin:0;text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;line-height:1.45}.dtv-complaints-grid.is-disabled{opacity:.45;pointer-events:none}.dtv-complaints-count{text-align:right;color:rgba(255,255,255,.48);font-size:12px;margin-top:8px}.dtv-complaints-upload{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:150px;border:1px dashed rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.04);cursor:pointer;transition:.2s ease;padding:24px}.dtv-complaints-upload.is-dragover{border-color:#e30613;background:rgba(227,6,19,.12)}.dtv-complaints-upload input{display:none}.dtv-complaints-upload__title{font-size:16px!important;color:#fff!important;margin:0 0 8px!important;text-transform:none!important;letter-spacing:0!important}.dtv-complaints-upload small{color:rgba(255,255,255,.58)}.dtv-complaints-files{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}.dtv-complaints-files li{border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.06);padding:7px 10px;font-size:12px;color:rgba(255,255,255,.78)}.dtv-complaints-submit{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:0;border-radius:999px;background:#e30613;color:#fff;padding:0 24px;font-weight:900;letter-spacing:.08em;cursor:pointer;box-shadow:0 18px 44px rgba(227,6,19,.24);transition:.2s ease}.dtv-complaints-submit:hover{transform:translateY(-1px);box-shadow:0 24px 55px rgba(227,6,19,.32);background:#ff1f2b}.dtv-complaints-alert{display:flex;flex-direction:column;gap:4px;margin:0 0 22px;border-radius:18px;padding:16px 18px}.dtv-complaints-alert--success{background:rgba(32,187,112,.12);border:1px solid rgba(32,187,112,.32);color:#dcffe9}.dtv-complaints-alert--error{background:rgba(227,6,19,.12);border:1px solid rgba(227,6,19,.35);color:#fff}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1024px){.dtv-complaints-layout{grid-template-columns:1fr}.dtv-complaints-info__card{position:relative;top:0}.dtv-complaints-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dtv-complaints-grid--3{grid-template-columns:1fr}}@media(max-width:767px){.dtv-complaints-container{width:min(100% - 28px,1180px)}.dtv-complaints-hero{min-height:300px}.dtv-complaints-hero__inner{padding:62px 0 42px}.dtv-complaints-hero h1{font-size:36px}.dtv-complaints-hero p{font-size:15px}.dtv-complaints-layout{padding:28px 0 54px}.dtv-complaints-form-wrap,.dtv-complaints-info__card{padding:20px;border-radius:22px}.dtv-complaints-grid--2,.dtv-complaints-type-grid{grid-template-columns:1fr}.dtv-complaints-submit{width:100%}}

/* ==========================================================
   DimosTV Complaints Page Polish
   ========================================================== */
.dtv-complaints-section h2,
.dtv-complaints-form label>span:not(.screen-reader-text),
.dtv-complaints-type span{
    text-transform:uppercase;
}

.dtv-complaints-type span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:0 14px;
    line-height:1.05;
    letter-spacing:.08em;
}

.dtv-complaints-section > label:not(.dtv-complaints-check):not(.dtv-complaints-upload){
    display:block;
    width:100%;
}

.dtv-complaints-form textarea{
    display:block;
    width:100%;
    min-height:170px;
}

.dtv-complaints-upload{
    gap:8px;
    min-height:165px;
    border-color:rgba(255,255,255,.24);
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028));
}

.dtv-complaints-upload:hover,
.dtv-complaints-upload.is-dragover{
    border-color:rgba(227,6,19,.72);
    background:rgba(227,6,19,.10);
    box-shadow:0 18px 44px rgba(227,6,19,.10);
}

.dtv-complaints-upload__icon{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin:0 0 4px!important;
    border-radius:50%;
    background:rgba(227,6,19,.16);
    border:1px solid rgba(227,6,19,.42);
    color:#fff!important;
    font-size:28px!important;
    line-height:1!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

.dtv-complaints-upload__title{
    font-weight:900!important;
}

.dtv-complaints-submit{
    border-radius:999px;
    background:linear-gradient(135deg,#e30613 0%,#ff1f2b 100%);
    color:#fff!important;
    padding:0 30px;
    min-height:54px;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 18px 44px rgba(227,6,19,.34), inset 0 1px 0 rgba(255,255,255,.18);
}

.dtv-complaints-submit:hover,
.dtv-complaints-submit:focus-visible{
    transform:translateY(-1px);
    background:linear-gradient(135deg,#ff1f2b 0%,#e30613 100%);
    box-shadow:0 24px 56px rgba(227,6,19,.42), inset 0 1px 0 rgba(255,255,255,.22);
}

/* ==========================================================
   DimosTV Complaints Page Polish 2 — Mockup Alignment
   ========================================================== */
.dtv-complaints-page{
    background:
        radial-gradient(circle at 72% 10%, rgba(227,6,19,.18), transparent 34%),
        linear-gradient(180deg,#050914 0%,#050914 100%);
}

.dtv-complaints-container{
    width:min(1320px,calc(100% - 56px));
}

.dtv-complaints-hero{
    min-height:360px;
    align-items:center;
    background:
        radial-gradient(circle at 78% 35%, rgba(227,6,19,.22), transparent 38%),
        linear-gradient(115deg,#070b16 0%,#080d19 52%,#1b0610 100%);
}

.dtv-complaints-hero:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(120deg, transparent 0 50%, rgba(227,6,19,.12) 50.2%, transparent 51.2%),
        radial-gradient(circle at 88% 35%, rgba(255,255,255,.06), transparent 22%);
    opacity:.7;
}

.dtv-complaints-hero__shade{
    background:linear-gradient(90deg,rgba(5,9,20,.94),rgba(5,9,20,.68),rgba(5,9,20,.25));
}

.dtv-complaints-hero__inner{
    padding:76px 0 66px;
}

.dtv-complaints-kicker,
.dtv-complaints-info__badge{
    background:rgba(227,6,19,.18);
    border-color:rgba(227,6,19,.42);
    box-shadow:0 10px 28px rgba(227,6,19,.10);
}

.dtv-complaints-hero h1{
    max-width:860px;
    font-size:clamp(42px,5vw,70px);
    letter-spacing:-.055em;
}

.dtv-complaints-layout{
    grid-template-columns:minmax(280px,340px) minmax(0,860px);
    justify-content:center;
    align-items:start;
    gap:34px;
    padding:70px 0 86px;
}

.dtv-complaints-info__card,
.dtv-complaints-form-wrap{
    background:linear-gradient(180deg,rgba(14,24,42,.88),rgba(8,14,27,.92));
    border-color:rgba(255,255,255,.13);
    box-shadow:0 30px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
}

.dtv-complaints-info__card{
    padding:36px;
}

.dtv-complaints-info h2{
    font-size:26px;
    letter-spacing:-.03em;
}

.dtv-complaints-info ul{
    padding-left:0;
    list-style:none;
}

.dtv-complaints-info li{
    position:relative;
    padding-left:26px;
    margin:0 0 12px;
}

.dtv-complaints-info li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:.08em;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    border-radius:50%;
    color:#fff;
    background:#e30613;
    font-size:10px;
    font-weight:900;
}

.dtv-complaints-form-wrap{
    padding:36px;
    border-radius:28px;
}

.dtv-complaints-section h2,
.dtv-complaints-form label>span:not(.screen-reader-text),
.dtv-complaints-check span,
.dtv-complaints-type b{
    text-transform:uppercase;
    letter-spacing:.075em;
}

.dtv-complaints-section h2{
    font-size:18px;
    margin-bottom:20px;
}

.dtv-complaints-type-grid{
    gap:14px;
}

.dtv-complaints-type span{
    min-height:62px;
    justify-content:flex-start;
    gap:14px;
    padding:0 18px;
    border-radius:16px;
    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.026));
    line-height:1;
}

.dtv-complaints-type__icon{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.22);
    color:#fff;
    font-style:normal;
    font-weight:900;
    font-size:15px;
    line-height:1;
}

.dtv-complaints-type b{
    display:block;
    font-size:13px;
    font-weight:900;
    color:#fff;
}

.dtv-complaints-type input:checked+span{
    background:linear-gradient(135deg,#e30613,#c00512);
    border-color:rgba(255,255,255,.22);
    box-shadow:0 18px 42px rgba(227,6,19,.28), inset 0 1px 0 rgba(255,255,255,.18);
}

.dtv-complaints-type input:checked+span .dtv-complaints-type__icon{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.32);
}

.dtv-complaints-form input[type=text],
.dtv-complaints-form input[type=email],
.dtv-complaints-form input[type=tel],
.dtv-complaints-form select,
.dtv-complaints-form textarea{
    min-height:54px;
    border-radius:14px;
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}

.dtv-complaints-form textarea{
    min-height:185px;
}

.dtv-complaints-count{
    margin-top:10px;
}

.dtv-complaints-upload{
    min-height:180px;
    border-radius:18px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025));
}

.dtv-complaints-upload__icon{
    width:50px;
    height:50px;
    font-size:30px!important;
    background:rgba(227,6,19,.22);
    border-color:rgba(227,6,19,.55);
    box-shadow:0 14px 36px rgba(227,6,19,.16);
}

.dtv-complaints-upload__title{
    font-size:17px!important;
}

.dtv-complaints-section--consent{
    padding-bottom:22px!important;
    margin-bottom:22px!important;
}

.dtv-complaints-submit{
    min-width:280px;
    min-height:62px;
    padding:0 36px;
    font-size:14px;
    gap:10px;
    background:linear-gradient(135deg,#ff1630 0%,#e30613 58%,#b70410 100%);
    box-shadow:0 24px 58px rgba(227,6,19,.36), inset 0 1px 0 rgba(255,255,255,.22);
}

.dtv-complaints-submit span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    line-height:1;
}

@media(max-width:1024px){
    .dtv-complaints-layout{
        grid-template-columns:1fr;
        max-width:860px;
    }
}

@media(max-width:767px){
    .dtv-complaints-container{
        width:min(100% - 28px,1320px);
    }
    .dtv-complaints-hero h1{
        font-size:38px;
    }
    .dtv-complaints-layout{
        padding:34px 0 62px;
    }
    .dtv-complaints-form-wrap,
    .dtv-complaints-info__card{
        padding:22px;
    }
    .dtv-complaints-type span{
        justify-content:flex-start;
        min-height:58px;
    }
    .dtv-complaints-submit{
        min-width:0;
        width:100%;
    }
}

/* ==========================================================
   DimosTV Complaints Experience 2.0
   Final layout pass matching DimosTV premium public pages
   ========================================================== */
.dtv-complaints-page{
    --dtv-red:#e30613;
    --dtv-red-2:#ff1f2b;
    --dtv-bg:#050914;
    --dtv-panel:#0c1425;
    --dtv-panel-2:#101a2e;
    --dtv-border:rgba(255,255,255,.13);
    --dtv-muted:rgba(255,255,255,.66);
    background:
        radial-gradient(circle at 75% 8%, rgba(227,6,19,.24), transparent 34%),
        radial-gradient(circle at 18% 55%, rgba(21,82,143,.12), transparent 30%),
        #050914;
}
.dtv-complaints-container{width:min(1280px,calc(100% - 48px));}
.dtv-complaints-hero{
    min-height:430px;
    overflow:hidden;
    background:
        linear-gradient(115deg,#060b16 0%,#080d19 50%,#250711 100%);
}
.dtv-complaints-hero:before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
        linear-gradient(118deg,transparent 0 51%,rgba(227,6,19,.18) 51.2%,transparent 52.4%),
        radial-gradient(circle at 86% 38%,rgba(255,255,255,.08),transparent 24%);
    opacity:.9;
}
.dtv-complaints-hero__shade{background:linear-gradient(90deg,rgba(5,9,20,.96),rgba(5,9,20,.64),rgba(5,9,20,.20));}
.dtv-complaints-hero__inner{position:relative;z-index:2;padding:104px 0 88px;}
.dtv-complaints-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;background:rgba(227,6,19,.18);border:1px solid rgba(227,6,19,.45);font-weight:900;font-size:12px;letter-spacing:.09em;color:#fff;text-transform:uppercase;}
.dtv-complaints-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dtv-red);box-shadow:0 0 16px rgba(227,6,19,.72);}
.dtv-complaints-hero h1{margin:22px 0 14px;max-width:820px;font-size:clamp(44px,5.2vw,74px);line-height:.98;letter-spacing:-.055em;font-weight:900;color:#fff;}
.dtv-complaints-hero p{max-width:560px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.74);}
.dtv-complaints-layout{display:grid;grid-template-columns:320px minmax(0,860px);gap:34px;align-items:start;justify-content:center;padding:76px 0 96px;}
.dtv-complaints-info__card,.dtv-complaints-form-wrap{background:linear-gradient(180deg,rgba(16,27,48,.90),rgba(8,14,27,.96));border:1px solid var(--dtv-border);box-shadow:0 30px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04);}
.dtv-complaints-info__card{position:sticky;top:110px;border-radius:28px;padding:34px;}
.dtv-complaints-info__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(227,6,19,.18);border:1px solid rgba(227,6,19,.42);font-size:11px;letter-spacing:.09em;font-weight:900;text-transform:uppercase;color:#fff;}
.dtv-complaints-info__badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dtv-red);}
.dtv-complaints-info h2{margin:22px 0 16px;font-size:28px;line-height:1.05;letter-spacing:-.035em;color:#fff;}
.dtv-complaints-info p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.72);}
.dtv-complaints-info ul{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:14px;}
.dtv-complaints-info li{position:relative;margin:0;padding-left:30px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.55;}
.dtv-complaints-info li:before{content:"✓";position:absolute;left:0;top:.12em;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--dtv-red);color:#fff;font-size:10px;font-weight:900;box-shadow:0 8px 18px rgba(227,6,19,.24);}
.dtv-complaints-form-wrap{border-radius:30px;padding:38px;}
.dtv-complaints-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 34px;padding:10px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:rgba(255,255,255,.035);}
.dtv-complaints-progress span{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:12px;color:rgba(255,255,255,.55);font-size:11px;font-weight:900;letter-spacing:.08em;}
.dtv-complaints-progress b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:11px;}
.dtv-complaints-progress span.is-active,.dtv-complaints-progress span.is-complete{background:rgba(227,6,19,.16);color:#fff;}
.dtv-complaints-progress span.is-active b,.dtv-complaints-progress span.is-complete b{background:var(--dtv-red);}
.dtv-complaints-section{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid rgba(255,255,255,.08);}
.dtv-complaints-section:last-of-type{margin-bottom:22px;}
.dtv-complaints-section h2{margin:0 0 20px;color:#fff;font-size:17px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.dtv-complaints-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.dtv-complaints-type{display:block;cursor:pointer;}
.dtv-complaints-type input{position:absolute;opacity:0;pointer-events:none;}
.dtv-complaints-type span{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:86px;padding:14px 10px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.03);transition:.2s ease;}
.dtv-complaints-type:hover span{transform:translateY(-1px);border-color:rgba(227,6,19,.42);background:rgba(227,6,19,.08);}
.dtv-complaints-type input:checked+span{background:linear-gradient(135deg,var(--dtv-red),#bd0410);border-color:rgba(255,255,255,.24);box-shadow:0 18px 42px rgba(227,6,19,.30),inset 0 1px 0 rgba(255,255,255,.20);}
.dtv-complaints-type__icon{display:inline-flex!important;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-style:normal;color:#fff;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.06);}
.dtv-complaints-type b{display:block;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;text-align:center;}
.dtv-complaints-grid{display:grid;gap:16px;}.dtv-complaints-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}.dtv-complaints-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.dtv-complaints-form label>span:not(.screen-reader-text){display:block;margin:0 0 9px;color:rgba(255,255,255,.62);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.dtv-complaints-form input[type=text],.dtv-complaints-form input[type=email],.dtv-complaints-form input[type=tel],.dtv-complaints-form select,.dtv-complaints-form textarea{width:100%;min-height:56px;border-radius:15px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#fff;padding:15px 16px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.dtv-complaints-form input::placeholder,.dtv-complaints-form textarea::placeholder{color:rgba(255,255,255,.42);}
.dtv-complaints-form input:focus,.dtv-complaints-form select:focus,.dtv-complaints-form textarea:focus{border-color:rgba(227,6,19,.72);background:rgba(255,255,255,.07);box-shadow:0 0 0 4px rgba(227,6,19,.12),inset 0 1px 0 rgba(255,255,255,.05);}
.dtv-complaints-form select option{color:#111;}.dtv-complaints-form textarea{min-height:190px;resize:vertical;}
.dtv-complaints-check{display:flex!important;align-items:flex-start;gap:11px;margin:0 0 18px;}.dtv-complaints-check input{width:18px;height:18px;margin-top:1px;accent-color:var(--dtv-red);flex:0 0 auto;}.dtv-complaints-check span{margin:0!important;color:rgba(255,255,255,.76);font-size:12px!important;font-weight:800;letter-spacing:.055em;line-height:1.55;text-transform:uppercase!important;}.dtv-complaints-check a{color:#fff;text-decoration:none;border-bottom:1px solid var(--dtv-red);}
.dtv-complaints-grid.is-disabled{opacity:.45;pointer-events:none;}.dtv-complaints-count{text-align:right;color:rgba(255,255,255,.48);font-size:12px;margin-top:9px;}
.dtv-complaints-upload{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;min-height:188px;border:1px dashed rgba(255,255,255,.24);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.052),rgba(255,255,255,.025));cursor:pointer;transition:.22s ease;padding:28px;}
.dtv-complaints-upload:hover,.dtv-complaints-upload.is-dragover{border-color:rgba(227,6,19,.72);background:rgba(227,6,19,.10);box-shadow:0 22px 54px rgba(227,6,19,.12);}
.dtv-complaints-upload input{display:none;}.dtv-complaints-upload__icon{display:inline-flex!important;align-items:center;justify-content:center;width:52px;height:52px;margin:0 0 2px!important;border-radius:50%;background:rgba(227,6,19,.20);border:1px solid rgba(227,6,19,.55);color:#fff!important;font-size:30px!important;line-height:1!important;box-shadow:0 14px 36px rgba(227,6,19,.16);}.dtv-complaints-upload__title{margin:0!important;color:#fff!important;font-size:17px!important;font-weight:900!important;letter-spacing:0!important;text-transform:none!important;}.dtv-complaints-upload small{color:rgba(255,255,255,.58);font-size:12px;}
.dtv-complaints-files{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}.dtv-complaints-files li{border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);padding:7px 11px;font-size:12px;color:rgba(255,255,255,.78)}
.dtv-complaints-submit{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-width:310px;min-height:64px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:linear-gradient(135deg,#ff1730 0%,var(--dtv-red) 58%,#b70410 100%);color:#fff!important;padding:0 38px;font-size:14px;font-weight:900;letter-spacing:.08em;cursor:pointer;box-shadow:0 24px 58px rgba(227,6,19,.36),inset 0 1px 0 rgba(255,255,255,.22);transition:.22s ease;}.dtv-complaints-submit:hover,.dtv-complaints-submit:focus-visible{transform:translateY(-1px);box-shadow:0 30px 70px rgba(227,6,19,.46),inset 0 1px 0 rgba(255,255,255,.25);}.dtv-complaints-submit span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1;}
.dtv-complaints-alert,.dtv-complaints-success{margin:0 0 24px;border-radius:22px;padding:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);}.dtv-complaints-success{display:flex;gap:16px;align-items:flex-start;background:rgba(36,196,118,.10);border-color:rgba(36,196,118,.34);}.dtv-complaints-success__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#20bb70;color:#fff;font-weight:900;flex:0 0 auto;}.dtv-complaints-success strong{display:block;font-size:20px;color:#fff;margin-bottom:6px}.dtv-complaints-success span{display:block;color:#d8ffe9;font-weight:900;margin-bottom:8px}.dtv-complaints-success p{margin:0;color:rgba(255,255,255,.78);line-height:1.55;}
@media(max-width:1100px){.dtv-complaints-layout{grid-template-columns:1fr;max-width:900px}.dtv-complaints-info__card{position:relative;top:0}.dtv-complaints-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.dtv-complaints-container{width:min(100% - 28px,1280px)}.dtv-complaints-hero{min-height:330px}.dtv-complaints-hero__inner{padding:70px 0 54px}.dtv-complaints-hero h1{font-size:38px}.dtv-complaints-hero p{font-size:15px}.dtv-complaints-layout{padding:34px 0 62px}.dtv-complaints-form-wrap,.dtv-complaints-info__card{padding:22px;border-radius:24px}.dtv-complaints-progress{grid-template-columns:1fr 1fr}.dtv-complaints-type-grid,.dtv-complaints-grid--2,.dtv-complaints-grid--3{grid-template-columns:1fr}.dtv-complaints-submit{width:100%;min-width:0}.dtv-complaints-type span{min-height:72px;flex-direction:row;justify-content:flex-start;padding:0 18px}.dtv-complaints-type b{text-align:left}}

/* DTV bundle source: assets/css/menu-modal.css */
/* ==========================================================
   DimosTV Navigation Experience
   ========================================================== */

.dtv-menu-trigger {
    appearance: none;
    border: 0;
    background: transparent;
    color: #fff;
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
    transition: background .22s ease, color .22s ease, transform .22s ease;
}

.dtv-menu-trigger:hover,
.dtv-menu-trigger.is-active {
    background: rgba(227, 6, 19, .12);
    color: #e30613;
}

.dtv-menu-trigger:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(227, 6, 19, .35);
}

.dtv-menu-trigger__bars {
    width: 22px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.dtv-menu-trigger__bars span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .22s ease, opacity .22s ease;
}

.dtv-menu-trigger.is-active .dtv-menu-trigger__bars span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.dtv-menu-trigger.is-active .dtv-menu-trigger__bars span:nth-child(2) { opacity: 0; }
.dtv-menu-trigger.is-active .dtv-menu-trigger__bars span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.dtv-menu-trigger__label {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
}

.dtv-menu-modal[hidden] { display: none; }

.dtv-menu-modal {
    position: fixed;
    inset: 0;
    z-index: 999998;
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease;
}

.dtv-menu-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.dtv-menu-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 7, 15, .74);
    backdrop-filter: blur(14px);
}

.dtv-menu-modal__panel {
    position: absolute;
    top: 22px;
    right: 22px;
    width: min(520px, calc(100vw - 32px));
    max-height: calc(100vh - 44px);
    overflow: auto;
    color: #fff;
    background:
        radial-gradient(circle at 85% 0%, rgba(227, 6, 19, .20), transparent 34%),
        linear-gradient(145deg, rgba(18, 29, 48, .98), rgba(6, 11, 20, .98));
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 28px;
    box-shadow: 0 38px 110px rgba(0, 0, 0, .55);
    transform: translate3d(18px, 0, 0) scale(.98);
    opacity: 0;
    transition: transform .28s cubic-bezier(.2, .8, .2, 1), opacity .24s ease;
}

.dtv-menu-modal.is-open .dtv-menu-modal__panel {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
}

.dtv-menu-modal__header,
.dtv-menu-modal__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 26px;
}

.dtv-menu-modal__header {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.dtv-menu-modal__kicker,
.dtv-menu-modal__section-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #e30613;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.dtv-menu-modal__kicker::before,
.dtv-menu-modal__section-title::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e30613;
    box-shadow: 0 0 18px rgba(227, 6, 19, .7);
}

.dtv-menu-modal__header h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(30px, 4vw, 52px);
    line-height: .95;
    font-weight: 950;
    letter-spacing: -.04em;
}

.dtv-menu-modal__close {
    appearance: none;
    border: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    cursor: pointer;
    transition: background .22s ease, transform .22s ease;
}

.dtv-menu-modal__close:hover {
    background: #e30613;
    transform: scale(1.04);
}

.dtv-menu-modal__content {
    padding: 26px;
}

.dtv-menu-modal__list,
.dtv-menu-modal__sublist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dtv-menu-modal__list {
    display: grid;
    gap: 8px;
}

.dtv-menu-modal__item > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 16px;
    color: rgba(255, 255, 255, .92);
    text-decoration: none !important;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
    background: rgba(255, 255, 255, .035);
    border: 1px solid rgba(255, 255, 255, .06);
    transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.dtv-menu-modal__item > a:hover,
.dtv-menu-modal__item.is-current > a {
    color: #fff;
    background: rgba(227, 6, 19, .16);
    border-color: rgba(227, 6, 19, .38);
    transform: translateX(3px);
}

.dtv-menu-modal__item > a i {
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
    opacity: .7;
}

.dtv-menu-modal__sublist {
    margin: 8px 0 4px 18px;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, .10);
    display: grid;
    gap: 6px;
}

.dtv-menu-modal__sublist .dtv-menu-modal__item > a {
    min-height: 38px;
    font-size: 14px;
    font-weight: 800;
    background: transparent;
}

.dtv-menu-modal__quick {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.dtv-menu-modal__quick-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dtv-menu-modal__quick-card {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .08);
    color: #fff;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .04em;
    transition: background .22s ease, border-color .22s ease, transform .22s ease;
}

.dtv-menu-modal__quick-card:hover {
    background: rgba(227, 6, 19, .14);
    border-color: rgba(227, 6, 19, .32);
    transform: translateY(-2px);
}

.dtv-menu-modal__quick-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(227, 6, 19, .14);
    color: #ff3340;
    flex: 0 0 auto;
}

.dtv-menu-modal__quick-icon svg {
    width: 17px;
    height: 17px;
}

.dtv-menu-modal__footer {
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.dtv-menu-modal__search,
.dtv-menu-modal__live {
    min-height: 42px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 18px;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    text-decoration: none !important;
    cursor: pointer;
}

.dtv-menu-modal__search {
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .06);
    color: #fff;
}

.dtv-menu-modal__search:hover {
    border-color: rgba(227, 6, 19, .44);
    background: rgba(227, 6, 19, .14);
}

.dtv-menu-modal__live {
    color: #fff;
    background: #e30613;
    box-shadow: 0 14px 30px rgba(227, 6, 19, .28);
}

.dtv-menu-modal__live i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
}

html.dtv-menu-is-open,
body.dtv-menu-is-open,
html.dtv-menu-is-open body {
    overflow: hidden;
}

@media (max-width: 767px) {
    .dtv-menu-trigger {
        width: 38px;
        height: 38px;
    }

    .dtv-menu-modal__panel {
        inset: 12px;
        width: auto;
        max-height: calc(100vh - 24px);
        border-radius: 24px;
    }

    .dtv-menu-modal__header,
    .dtv-menu-modal__footer,
    .dtv-menu-modal__content {
        padding: 20px;
    }

    .dtv-menu-modal__item > a {
        font-size: 16px;
    }

    .dtv-menu-modal__quick-grid {
        grid-template-columns: 1fr;
    }

    .dtv-menu-modal__footer {
        align-items: stretch;
        flex-direction: column;
    }
}

/* ==========================================================
   EPIC 08 Navigation Experience Polish
   - mobile floating panel spacing
   - stronger header/kicker hierarchy
   - circular close button
   - clearer menu item arrows
   - larger quick access separation
   - pill search button in DimosTV style
   ========================================================== */

.dtv-menu-modal__panel {
    top: 28px;
    right: 28px;
    width: min(540px, calc(100vw - 56px));
    max-height: calc(100vh - 56px);
    border-radius: 30px;
}

.dtv-menu-modal__header {
    padding: 30px 30px 26px;
}

.dtv-menu-modal__kicker,
.dtv-menu-modal__section-title {
    font-size: 12px;
    letter-spacing: .18em;
}

.dtv-menu-modal__kicker::before,
.dtv-menu-modal__section-title::before {
    width: 10px;
    height: 10px;
}

.dtv-menu-modal__header h2 {
    margin-top: 6px;
}

.dtv-menu-modal__close {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.dtv-menu-modal__close svg {
    width: 14px;
    height: 14px;
}

.dtv-menu-modal__close:hover,
.dtv-menu-modal__close:focus-visible {
    background: #e30613;
    border-color: #e30613;
    box-shadow: 0 12px 28px rgba(227, 6, 19, .34);
}

.dtv-menu-modal__content {
    padding: 30px;
}

.dtv-menu-modal__list {
    gap: 10px;
}

.dtv-menu-modal__item > a {
    position: relative;
    min-height: 54px;
    padding: 14px 46px 14px 18px;
    border-radius: 18px;
}

.dtv-menu-modal__item > a i {
    position: absolute;
    right: 18px;
    top: 50%;
    width: 8px;
    height: 8px;
    transform: translateY(-50%) rotate(45deg);
    opacity: .55;
    transition: opacity .22s ease, transform .22s ease;
}

.dtv-menu-modal__item > a:hover i,
.dtv-menu-modal__item.is-current > a i {
    opacity: 1;
    transform: translate(3px, -50%) rotate(45deg);
}

.dtv-menu-modal__quick {
    margin-top: 40px;
    padding-top: 34px;
}

.dtv-menu-modal__quick-grid {
    margin-top: 18px;
}

.dtv-menu-modal__footer {
    padding: 26px 30px 30px;
    gap: 14px;
}

.dtv-menu-modal__search {
    min-height: 52px;
    padding: 0 30px;
    border-radius: 999px;
    border: 1px solid rgba(227, 6, 19, .62);
    background: linear-gradient(135deg, rgba(227, 6, 19, .13), rgba(227, 6, 19, .04));
    color: #ff4b63;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 34px rgba(227, 6, 19, .12);
    letter-spacing: .14em;
}

.dtv-menu-modal__search svg {
    width: 18px;
    height: 18px;
}

.dtv-menu-modal__search:hover,
.dtv-menu-modal__search:focus-visible {
    color: #fff;
    border-color: #e30613;
    background: linear-gradient(135deg, #e30613, #ff2030);
    box-shadow: 0 18px 42px rgba(227, 6, 19, .34);
    outline: none;
}

.dtv-menu-modal__live {
    min-height: 52px;
    padding: 0 34px;
}

@media (max-width: 767px) {
    .dtv-menu-modal__panel {
        inset: 18px 16px;
        width: auto;
        max-height: calc(100vh - 36px);
        border-radius: 26px;
    }

    .dtv-menu-modal__header {
        padding: 28px 24px 24px;
    }

    .dtv-menu-modal__content {
        padding: 24px;
    }

    .dtv-menu-modal__footer {
        padding: 24px;
        gap: 16px;
    }

    .dtv-menu-modal__kicker,
    .dtv-menu-modal__section-title {
        font-size: 12px;
    }

    .dtv-menu-modal__header h2 {
        margin-top: 6px;
        font-size: clamp(42px, 14vw, 58px);
    }

    .dtv-menu-modal__close {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .dtv-menu-modal__close svg {
        width: 16px;
        height: 16px;
    }

    .dtv-menu-modal__list {
        gap: 12px;
    }

    .dtv-menu-modal__item > a {
        min-height: 66px;
        padding: 16px 52px 16px 22px;
        border-radius: 22px;
        font-size: 20px;
    }

    .dtv-menu-modal__item > a i {
        right: 22px;
        width: 9px;
        height: 9px;
    }

    .dtv-menu-modal__quick {
        margin-top: 44px;
        padding-top: 38px;
    }

    .dtv-menu-modal__quick-grid {
        margin-top: 22px;
        gap: 14px;
    }

    .dtv-menu-modal__quick-card {
        min-height: 72px;
        padding: 16px 18px;
        border-radius: 24px;
        font-size: 16px;
    }

    .dtv-menu-modal__quick-icon {
        width: 42px;
        height: 42px;
    }

    .dtv-menu-modal__search,
    .dtv-menu-modal__live {
        width: 100%;
        min-height: 58px;
        padding-left: 28px;
        padding-right: 28px;
        font-size: 17px;
        justify-content: center;
    }
}


/* F2.0-R06.3 Rebase 02 — shared current-navigation presentation.
 * Does not alter header geometry, breakpoints or Menu Modal lifecycle. */
.elementor-location-header a.dtv-nav-current,
[data-elementor-type="header"] a.dtv-nav-current,
header a.dtv-nav-current {
    text-decoration-thickness: 2px;
    text-underline-offset: 0.35em;
}

.dtv-menu-modal__item.is-current > a {
    font-weight: 700;
}

/* DTV bundle source: assets/css/dtv-global-shell.css */
/** DTV-FE09 — Header, Navigation & Global Shell */
:root{--dtv-shell-h:82px;--dtv-shell-navy:#132b49;--dtv-shell-red:#ed0017;--dtv-shell-line:rgba(255,255,255,.13)}
.dtv-global-shell{position:relative;z-index:9990;background:var(--dtv-shell-navy)!important;border-bottom:2px solid var(--dtv-shell-red);box-shadow:0 8px 28px rgba(8,25,45,.08);transition:box-shadow .2s ease,background .2s ease}
.dtv-global-shell.is-dtv-stuck{box-shadow:0 12px 34px rgba(8,25,45,.18)}
.dtv-global-shell>.elementor-container,.dtv-global-shell>.e-con-inner,.dtv-global-shell .elementor-section>.elementor-container{min-height:var(--dtv-shell-h)}
.dtv-global-shell .dtv-portal-brand{max-width:220px}
.dtv-global-shell .dtv-portal-brand__logo,.dtv-global-shell .dtv-portal-brand__lockup{width:clamp(168px,12vw,220px)}
.dtv-global-shell nav ul,.dtv-global-shell .elementor-nav-menu{align-items:center;gap:clamp(18px,1.7vw,34px)}
.dtv-global-shell nav a,.dtv-global-shell .elementor-nav-menu a{position:relative;color:#fff!important;font-size:12px!important;font-weight:850!important;letter-spacing:.035em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:opacity .18s ease,color .18s ease}
.dtv-global-shell nav a:hover,.dtv-global-shell nav a:focus-visible,.dtv-global-shell .elementor-nav-menu a:hover{color:#fff!important;opacity:1}
.dtv-global-shell nav a::after,.dtv-global-shell .elementor-nav-menu a::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--dtv-shell-red);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.dtv-global-shell nav a:hover::after,.dtv-global-shell nav a:focus-visible::after,.dtv-global-shell nav a.dtv-nav-current::after,.dtv-global-shell .elementor-nav-menu a.dtv-nav-current::after{transform:scaleX(1)}
.dtv-global-shell nav a.dtv-nav-current,.dtv-global-shell .elementor-nav-menu a.dtv-nav-current{font-weight:950!important}
.dtv-global-shell :where(a,button):focus-visible{outline:2px solid #fff;outline-offset:4px}
.dtv-global-shell :where(a[href*="/live"],a[href*="live-tv"]):not(.dtv-portal-brand){border-radius:999px}
.dtv-global-shell .dtv-menu-trigger{border:1px solid rgba(237,0,23,.75);width:44px;height:44px}
.dtv-global-shell .dtv-menu-trigger:hover{background:var(--dtv-shell-red);color:#fff}
/* Search controls commonly used by the Elementor shell. */
.dtv-global-shell :where(.elementor-search-form__toggle,[data-dtv-search-open],.dtv-search-trigger){display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid rgba(237,0,23,.7);border-radius:999px;color:#fff!important;background:transparent;transition:background .18s ease}
.dtv-global-shell :where(.elementor-search-form__toggle,[data-dtv-search-open],.dtv-search-trigger):hover{background:rgba(237,0,23,.14)}
@media (min-width:1200px){.dtv-global-shell{position:sticky;top:0}.admin-bar .dtv-global-shell{top:32px}}
@media (min-width:768px) and (max-width:1199px){:root{--dtv-shell-h:72px}.dtv-global-shell{position:sticky;top:0}.admin-bar .dtv-global-shell{top:32px}.dtv-global-shell nav ul,.dtv-global-shell .elementor-nav-menu{gap:14px}.dtv-global-shell nav a,.dtv-global-shell .elementor-nav-menu a{font-size:10px!important;letter-spacing:.02em}.dtv-global-shell .dtv-portal-brand__logo,.dtv-global-shell .dtv-portal-brand__lockup{width:150px}}
@media (max-width:767px){:root{--dtv-shell-h:90px}.dtv-global-shell{position:sticky;top:0;border-bottom-width:0}.admin-bar .dtv-global-shell{top:0}.dtv-global-shell>.elementor-container,.dtv-global-shell>.e-con-inner,.dtv-global-shell .elementor-section>.elementor-container{min-height:var(--dtv-shell-h)}.dtv-global-shell .dtv-portal-brand{max-width:150px}.dtv-global-shell .dtv-portal-brand__logo,.dtv-global-shell .dtv-portal-brand__lockup{width:145px}.dtv-global-shell nav:not(.dtv-menu-modal__nav),.dtv-global-shell .elementor-nav-menu--main{display:none!important}.dtv-global-shell .dtv-menu-trigger{width:46px;height:46px}.dtv-global-shell::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.1)}}
@media (max-width:359px){.dtv-global-shell .dtv-portal-brand{max-width:120px}.dtv-global-shell .dtv-portal-brand__logo,.dtv-global-shell .dtv-portal-brand__lockup{width:118px}}
@media (prefers-reduced-motion:reduce){.dtv-global-shell,.dtv-global-shell *{transition:none!important}}

/* DTV-FE09 Correction 01 — Tablet Header Shell & Responsive Navigation Recovery
 * Tablet-only ownership: preserve desktop >=1200 and mobile <=767 contracts.
 */
@media (min-width:768px) and (max-width:1199px){
  :root{--dtv-shell-h:62px}
  .dtv-global-shell>.elementor-container,
  .dtv-global-shell>.e-con-inner,
  .dtv-global-shell .elementor-section>.elementor-container{min-height:var(--dtv-shell-h)!important}
  .dtv-global-shell .dtv-portal-brand{max-width:136px!important}
  .dtv-global-shell .dtv-portal-brand__logo,
  .dtv-global-shell .dtv-portal-brand__lockup{width:132px!important;max-width:132px!important}
  /* Tablet uses the compact control shell; the full desktop nav returns at 1200px. */
  .dtv-global-shell nav:not(.dtv-menu-modal__nav),
  .dtv-global-shell .elementor-nav-menu--main{display:none!important}
  .dtv-global-shell .dtv-menu-trigger,
  .dtv-global-shell :where(.elementor-search-form__toggle,[data-dtv-search-open],.dtv-search-trigger){width:40px;height:40px;min-width:40px;min-height:40px}
  .dtv-global-shell :where(.dtv-live-btn,a[href*="/live"],a[href*="live-tv"]):not(.dtv-portal-brand){min-height:36px;padding-top:8px!important;padding-bottom:8px!important}
  /* Elementor header columns sometimes retain mobile vertical spacing at tablet widths. */
  .dtv-global-shell .elementor-widget:not(:last-child){margin-bottom:0}
  .dtv-global-shell .elementor-column-gap-default>.elementor-column>.elementor-element-populated{padding-top:6px;padding-bottom:6px}
}

/* DTV bundle source: assets/css/contact-page.css */
/* ==========================================================
   DimosTV Contact Experience
   ========================================================== */
.dtv-contact-page{background:#050914;color:#fff;min-height:100vh;font-family:inherit}.dtv-contact-container{width:min(1320px,calc(100% - 56px));margin:0 auto}.dtv-contact-hero{position:relative;min-height:360px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 78% 35%,rgba(227,6,19,.22),transparent 38%),linear-gradient(115deg,#070b16 0%,#080d19 52%,#1b0610 100%)}.dtv-contact-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 50%,rgba(227,6,19,.12) 50.2%,transparent 51.2%),radial-gradient(circle at 88% 35%,rgba(255,255,255,.06),transparent 22%);opacity:.7}.dtv-contact-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,20,.94),rgba(5,9,20,.68),rgba(5,9,20,.25))}.dtv-contact-hero__inner{position:relative;z-index:1;padding:76px 0 66px}.dtv-contact-kicker,.dtv-contact-info__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(227,6,19,.18);border:1px solid rgba(227,6,19,.42);box-shadow:0 10px 28px rgba(227,6,19,.10);color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.dtv-contact-kicker:before,.dtv-contact-info__badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#e30613;box-shadow:0 0 0 6px rgba(227,6,19,.18)}.dtv-contact-hero h1{max-width:900px;margin:18px 0 14px;font-size:clamp(42px,5vw,70px);line-height:.96;letter-spacing:-.055em;color:#fff}.dtv-contact-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.78);font-size:18px;line-height:1.65}.dtv-contact-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,860px);justify-content:center;align-items:start;gap:34px;padding:70px 0 86px}.dtv-contact-info__card,.dtv-contact-form-wrap{background:linear-gradient(180deg,rgba(14,24,42,.88),rgba(8,14,27,.92));border:1px solid rgba(255,255,255,.13);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(12px)}.dtv-contact-info__card{position:sticky;top:96px;padding:36px}.dtv-contact-info h2{margin:18px 0 12px;font-size:26px;letter-spacing:-.03em;color:#fff}.dtv-contact-info p,.dtv-contact-info li{color:rgba(255,255,255,.72);line-height:1.65}.dtv-contact-info ul{margin:18px 0 0;padding-left:0;list-style:none}.dtv-contact-info li{position:relative;padding-left:26px;margin:0 0 12px}.dtv-contact-info li:before{content:"✓";position:absolute;left:0;top:.08em;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:#fff;background:#e30613;font-size:10px;font-weight:900}.dtv-contact-form-wrap{padding:36px}.dtv-contact-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 28px}.dtv-contact-progress span{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);min-height:42px;color:rgba(255,255,255,.58);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dtv-contact-progress b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.10);color:#fff;font-size:11px}.dtv-contact-progress span.is-active,.dtv-contact-progress span.is-complete{color:#fff;background:rgba(227,6,19,.16);border-color:rgba(227,6,19,.38)}.dtv-contact-progress span.is-active b,.dtv-contact-progress span.is-complete b{background:#e30613}.dtv-contact-section{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid rgba(255,255,255,.08)}.dtv-contact-section h2{margin:0 0 20px;font-size:18px;color:#fff;text-transform:uppercase;letter-spacing:.075em}.dtv-contact-type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dtv-contact-type{position:relative;display:block}.dtv-contact-type input{position:absolute;opacity:0;pointer-events:none}.dtv-contact-type span{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:64px;padding:0 16px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035));border-radius:16px;color:rgba(255,255,255,.84);transition:.2s ease}.dtv-contact-type svg{width:20px;height:20px}.dtv-contact-type b{font-size:11px;font-weight:900;line-height:1.15;letter-spacing:.07em;text-transform:uppercase}.dtv-contact-type__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:rgba(227,6,19,.12);color:#fff}.dtv-contact-type input:checked+span{border-color:rgba(227,6,19,.78);background:linear-gradient(135deg,#e30613,rgba(227,6,19,.72));box-shadow:0 18px 44px rgba(227,6,19,.22);color:#fff}.dtv-contact-grid{display:grid;gap:16px}.dtv-contact-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.dtv-contact-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.dtv-contact-form label>span:not(.screen-reader-text),.dtv-contact-check span{display:block;margin:0 0 8px;color:rgba(255,255,255,.70);font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.dtv-contact-form input[type=text],.dtv-contact-form input[type=email],.dtv-contact-form input[type=tel],.dtv-contact-form select,.dtv-contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06);color:#fff;padding:15px 16px;outline:none;transition:.2s ease}.dtv-contact-form textarea{resize:vertical;min-height:190px}.dtv-contact-form input:focus,.dtv-contact-form select:focus,.dtv-contact-form textarea:focus{border-color:rgba(227,6,19,.72);box-shadow:0 0 0 4px rgba(227,6,19,.12)}.dtv-contact-form select option{color:#111}.dtv-contact-count{text-align:right;color:rgba(255,255,255,.48);font-size:12px;margin-top:-6px}.dtv-contact-consent{display:flex;flex-direction:column;gap:20px}.dtv-contact-check{display:flex!important;align-items:flex-start;gap:10px;margin:0}.dtv-contact-check input{width:18px;height:18px;margin-top:2px;accent-color:#e30613}.dtv-contact-check span{margin:0;text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:900;line-height:1.55}.dtv-contact-check a{color:#fff;text-decoration:underline;text-decoration-color:#e30613;text-underline-offset:3px}.dtv-contact-submit{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:54px;border-radius:999px;background:linear-gradient(135deg,#e30613 0%,#ff1f2b 100%);color:#fff!important;padding:0 30px;border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 44px rgba(227,6,19,.34),inset 0 1px 0 rgba(255,255,255,.18);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s ease}.dtv-contact-submit:before{content:"›";font-size:18px;margin-right:8px}.dtv-contact-submit:hover,.dtv-contact-submit:focus-visible{transform:translateY(-1px);background:linear-gradient(135deg,#ff1f2b 0%,#e30613 100%);box-shadow:0 24px 56px rgba(227,6,19,.42),inset 0 1px 0 rgba(255,255,255,.22)}.dtv-contact-alert,.dtv-contact-success{margin:0 0 26px;border-radius:22px;padding:22px;border:1px solid rgba(255,255,255,.12)}.dtv-contact-alert--error{background:rgba(227,6,19,.12);border-color:rgba(227,6,19,.35);color:#fff}.dtv-contact-success{background:rgba(32,187,112,.12);border-color:rgba(32,187,112,.32);color:#dcffe9}.dtv-contact-success__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#20bb70;color:#fff;font-weight:900;margin-bottom:10px}.dtv-contact-success h2{margin:0 0 8px;color:#fff}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1180px){.dtv-contact-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.dtv-contact-layout{grid-template-columns:1fr}.dtv-contact-info__card{position:relative;top:0}.dtv-contact-grid--3{grid-template-columns:1fr}.dtv-contact-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.dtv-contact-container{width:min(100% - 28px,1320px)}.dtv-contact-hero{min-height:330px}.dtv-contact-hero__inner{padding:62px 0 46px}.dtv-contact-hero h1{font-size:38px}.dtv-contact-hero p{font-size:15px}.dtv-contact-layout{padding:32px 0 58px;gap:22px}.dtv-contact-info__card,.dtv-contact-form-wrap{padding:22px;border-radius:22px}.dtv-contact-type-grid,.dtv-contact-grid--2{grid-template-columns:1fr}.dtv-contact-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.dtv-contact-submit{width:100%}}

/* DTV bundle source: assets/css/legal-experience.css */
/* ==========================================================
   DimosTV Legal Experience
   ========================================================== */

.dtv-legal-page{
    --dtv-legal-bg:#070b14;
    --dtv-legal-panel:#0d1423;
    --dtv-legal-panel-2:#111a2d;
    --dtv-legal-border:rgba(255,255,255,.10);
    --dtv-legal-muted:rgba(255,255,255,.68);
    --dtv-legal-soft:rgba(255,255,255,.08);
    --dtv-legal-red:#E30613;
    --dtv-legal-red-2:#ff2b36;
    background:
        radial-gradient(circle at 15% 0%, rgba(227,6,19,.16), transparent 34%),
        radial-gradient(circle at 80% 20%, rgba(75,117,255,.10), transparent 35%),
        var(--dtv-legal-bg);
    color:#fff;
    min-height:100vh;
}

.dtv-legal-container{
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
}

.dtv-legal-hero{
    position:relative;
    overflow:hidden;
    padding:92px 0 74px;
    background:
        linear-gradient(135deg, rgba(7,11,20,.92), rgba(10,18,33,.78)),
        radial-gradient(circle at 85% 15%, rgba(227,6,19,.24), transparent 34%);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.dtv-legal-hero::before{
    content:"";
    position:absolute;
    inset:auto -10% -50% 20%;
    height:260px;
    background:linear-gradient(90deg, transparent, rgba(227,6,19,.14), transparent);
    filter:blur(28px);
    transform:rotate(-8deg);
    pointer-events:none;
}

.dtv-legal-hero__inner{
    position:relative;
    z-index:1;
    max-width:850px;
}

.dtv-legal-kicker,
.dtv-legal-sidebar__badge,
.dtv-legal-content__header > div > span{
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:28px;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(227,6,19,.16);
    border:1px solid rgba(227,6,19,.34);
    color:#fff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    line-height:1;
}

.dtv-legal-hero h1{
    margin:20px 0 16px;
    font-size:clamp(40px, 6vw, 76px);
    line-height:.96;
    letter-spacing:-.055em;
    font-weight:900;
}

.dtv-legal-hero p{
    margin:0;
    max-width:720px;
    color:rgba(255,255,255,.78);
    font-size:clamp(17px, 2vw, 22px);
    line-height:1.55;
}

.dtv-legal-hero__meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px;
}

.dtv-legal-hero__meta span{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.dtv-legal-layout{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:28px;
    padding:56px 0 88px;
}

.dtv-legal-sidebar__card,
.dtv-legal-content{
    border:1px solid var(--dtv-legal-border);
    border-radius:28px;
    background:linear-gradient(180deg, rgba(17,26,45,.94), rgba(9,14,26,.96));
    box-shadow:0 24px 80px rgba(0,0,0,.35);
}

.dtv-legal-sidebar__card{
    position:sticky;
    top:96px;
    padding:24px;
}

.dtv-legal-sidebar__card h2{
    margin:18px 0 10px;
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.025em;
}

.dtv-legal-sidebar__card p{
    margin:0 0 22px;
    color:var(--dtv-legal-muted);
    font-size:14px;
    line-height:1.65;
}

.dtv-legal-nav{
    display:grid;
    gap:10px;
}

.dtv-legal-nav a{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:54px;
    padding:12px 14px;
    border-radius:18px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.075);
    color:#fff;
    text-decoration:none !important;
    transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.dtv-legal-nav a:hover,
.dtv-legal-nav a.is-active{
    background:rgba(227,6,19,.13);
    border-color:rgba(227,6,19,.40);
    transform:translateY(-1px);
}

.dtv-legal-nav a span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-weight:900;
}

.dtv-legal-nav a.is-active span{
    background:linear-gradient(135deg, var(--dtv-legal-red), var(--dtv-legal-red-2));
}

.dtv-legal-nav a b{
    font-size:13px;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.dtv-legal-content{
    padding:34px;
}

.dtv-legal-content__header{
    display:flex;
    align-items:center;
    gap:18px;
    padding-bottom:28px;
    margin-bottom:28px;
    border-bottom:1px solid rgba(255,255,255,.10);
}

.dtv-legal-content__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 64px;
    width:64px;
    height:64px;
    border-radius:22px;
    background:linear-gradient(135deg, rgba(227,6,19,.95), rgba(255,43,54,.84));
    color:#fff;
    font-size:28px;
    font-weight:900;
    box-shadow:0 18px 40px rgba(227,6,19,.22);
}

.dtv-legal-content__header h2{
    margin:12px 0 0;
    font-size:clamp(28px, 3vw, 44px);
    letter-spacing:-.04em;
    line-height:1;
}

.dtv-legal-block{
    padding:0 0 26px;
    margin:0 0 26px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.dtv-legal-block:last-child{
    border-bottom:0;
    margin-bottom:0;
    padding-bottom:0;
}

.dtv-legal-block h3{
    margin:0 0 12px;
    font-size:22px;
    line-height:1.15;
    letter-spacing:-.025em;
}

.dtv-legal-block p{
    margin:0 0 12px;
    color:rgba(255,255,255,.76);
    font-size:16px;
    line-height:1.78;
}

.dtv-legal-cookie-box{
    padding:24px;
    border-radius:24px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.10);
}

.dtv-legal-cookie-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    margin-top:10px;
    padding:13px 20px;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg, var(--dtv-legal-red), var(--dtv-legal-red-2));
    color:#fff;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:0 16px 34px rgba(227,6,19,.28);
    transition:transform .2s ease, box-shadow .2s ease;
}

.dtv-legal-cookie-button:hover{
    transform:translateY(-1px);
    box-shadow:0 20px 42px rgba(227,6,19,.36);
}

@media (max-width:980px){
    .dtv-legal-layout{
        grid-template-columns:1fr;
    }

    .dtv-legal-sidebar__card{
        position:relative;
        top:auto;
    }

    .dtv-legal-nav{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:640px){
    .dtv-legal-container{
        width:min(100% - 28px, 1180px);
    }

    .dtv-legal-hero{
        padding:64px 0 50px;
    }

    .dtv-legal-layout{
        padding:34px 0 64px;
        gap:18px;
    }

    .dtv-legal-content,
    .dtv-legal-sidebar__card{
        padding:20px;
        border-radius:22px;
    }

    .dtv-legal-nav{
        grid-template-columns:1fr;
    }

    .dtv-legal-content__header{
        align-items:flex-start;
        gap:14px;
    }

    .dtv-legal-content__icon{
        flex-basis:50px;
        width:50px;
        height:50px;
        border-radius:17px;
        font-size:22px;
    }

    .dtv-legal-block h3{
        font-size:20px;
    }

    .dtv-legal-block p{
        font-size:15px;
    }
}

/* DTV bundle source: assets/css/frontend-stability-pass1.css */
/* ==========================================================
   DimosTV CMS 1.7.0 RC1 — Frontend 2.1 PASS 1
   UI Audit & Consistency
   ----------------------------------------------------------
   Purpose: normalize public frontend spacing, buttons, cards,
   badges, forms and focus states without changing features.
   ========================================================== */

:root{
    --dtv-ui-red:#E30613;
    --dtv-ui-red-dark:#b80510;
    --dtv-ui-bg:#070b14;
    --dtv-ui-panel:#0b1220;
    --dtv-ui-panel-soft:#101827;
    --dtv-ui-text:#ffffff;
    --dtv-ui-muted:rgba(255,255,255,.68);
    --dtv-ui-border:rgba(255,255,255,.10);
    --dtv-ui-border-strong:rgba(255,255,255,.16);
    --dtv-ui-radius-sm:12px;
    --dtv-ui-radius:18px;
    --dtv-ui-radius-lg:26px;
    --dtv-ui-pill:999px;
    --dtv-ui-shadow:0 24px 70px rgba(0,0,0,.38);
    --dtv-ui-shadow-soft:0 16px 44px rgba(0,0,0,.26);
    --dtv-ui-transition:all .22s ease;
}

/* ---------- Global focus / accessibility consistency ---------- */
.dtv-frontend :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-homepage :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-municipality :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-region :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-news-archive :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-live-experience :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-search-experience :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-complaints :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-contact :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-legal :where(a,button,input,select,textarea,[tabindex]):focus-visible,
.dtv-menu-modal :where(a,button,input,select,textarea,[tabindex]):focus-visible{
    outline:none !important;
    box-shadow:0 0 0 3px rgba(227,6,19,.34), 0 0 0 6px rgba(227,6,19,.10) !important;
}

/* ---------- Uppercase UI labels: no Greek accents ---------- */
.dtv-section-kicker,
.dtv-card-kicker,
.dtv-archive-kicker,
.dtv-filter-label,
.dtv-form-label,
.dtv-meta-label,
.dtv-badge,
.dtv-pill,
.dtv-menu-modal__kicker,
.dtv-menu-modal__section-title,
.dtv-complaints__step,
.dtv-contact__step,
.dtv-legal__kicker{
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* ---------- Buttons / CTAs ---------- */
.dtv-btn,
.dtv-primary-btn,
.dtv-secondary-btn,
.dtv-hero-cta,
.dtv-card-cta,
.dtv-submit,
.dtv-archive-reset,
.dtv-live-action,
.dtv-search-result__cta,
.dtv-menu-modal__search,
.dtv-menu-modal__live,
.dtv-complaints button[type="submit"],
.dtv-contact button[type="submit"],
.dtv-legal .dtv-legal__button,
.dtv-news-archive .dtv-archive-card__button,
.dtv-show-portal .dtv-show-portal__cta,
.dtv-muni-hero__button,
.dtv-region-hero__button{
    border-radius:var(--dtv-ui-pill) !important;
    transition:var(--dtv-ui-transition) !important;
    font-weight:800 !important;
    letter-spacing:.04em;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.dtv-primary-btn,
.dtv-submit,
.dtv-hero-cta,
.dtv-card-cta,
.dtv-complaints button[type="submit"],
.dtv-contact button[type="submit"],
.dtv-live-action--primary,
.dtv-menu-modal__live,
.dtv-show-portal .dtv-show-portal__cta,
.dtv-muni-hero__button,
.dtv-region-hero__button{
    background:linear-gradient(135deg,var(--dtv-ui-red),var(--dtv-ui-red-dark)) !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.12) !important;
    box-shadow:0 14px 34px rgba(227,6,19,.28) !important;
}

.dtv-primary-btn:hover,
.dtv-submit:hover,
.dtv-hero-cta:hover,
.dtv-card-cta:hover,
.dtv-complaints button[type="submit"]:hover,
.dtv-contact button[type="submit"]:hover,
.dtv-live-action--primary:hover,
.dtv-menu-modal__live:hover,
.dtv-show-portal .dtv-show-portal__cta:hover,
.dtv-muni-hero__button:hover,
.dtv-region-hero__button:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 44px rgba(227,6,19,.36) !important;
}

.dtv-secondary-btn,
.dtv-archive-reset,
.dtv-menu-modal__search,
.dtv-live-action:not(.dtv-live-action--primary){
    background:rgba(255,255,255,.06) !important;
    color:#fff !important;
    border:1px solid var(--dtv-ui-border-strong) !important;
}

.dtv-secondary-btn:hover,
.dtv-archive-reset:hover,
.dtv-menu-modal__search:hover,
.dtv-live-action:not(.dtv-live-action--primary):hover{
    background:rgba(227,6,19,.13) !important;
    border-color:rgba(227,6,19,.42) !important;
    color:#fff !important;
}

/* ---------- Cards / panels ---------- */
.dtv-card,
.dtv-video-card,
.dtv-archive-card,
.dtv-municipality-card,
.dtv-region-card,
.dtv-show-card,
.dtv-show-portal-card,
.dtv-live-panel,
.dtv-search-result,
.dtv-complaints__panel,
.dtv-contact__panel,
.dtv-legal__panel,
.dtv-menu-modal__quick-card{
    border-radius:var(--dtv-ui-radius-lg) !important;
    border:1px solid var(--dtv-ui-border) !important;
    box-shadow:var(--dtv-ui-shadow-soft);
    transition:var(--dtv-ui-transition);
}

.dtv-card:hover,
.dtv-video-card:hover,
.dtv-archive-card:hover,
.dtv-municipality-card:hover,
.dtv-region-card:hover,
.dtv-show-card:hover,
.dtv-menu-modal__quick-card:hover{
    transform:translateY(-2px);
    border-color:rgba(227,6,19,.26) !important;
    box-shadow:var(--dtv-ui-shadow);
}

/* Media inside cards should keep consistent rounding */
.dtv-video-card img,
.dtv-archive-card img,
.dtv-municipality-card img,
.dtv-region-card img,
.dtv-show-card img,
.dtv-show-portal-card img{
    border-radius:inherit;
}

/* ---------- Section titles ---------- */
.dtv-section-title,
.dtv-archive-title,
.dtv-muni-section-title,
.dtv-region-section-title,
.dtv-show-section-title,
.dtv-live-section-title,
.dtv-search-title,
.dtv-complaints h2,
.dtv-contact h2,
.dtv-legal h2{
    letter-spacing:-.02em;
    line-height:1.08;
}

.dtv-section-header,
.dtv-archive-header,
.dtv-muni-section-header,
.dtv-region-section-header,
.dtv-show-section-header{
    margin-bottom:clamp(18px,2.2vw,30px) !important;
}

/* ---------- Inputs / filters ---------- */
.dtv-filterbar input,
.dtv-filterbar select,
.dtv-search-input,
.dtv-complaints input,
.dtv-complaints select,
.dtv-complaints textarea,
.dtv-contact input,
.dtv-contact select,
.dtv-contact textarea,
.dtv-legal input,
.dtv-legal select,
.dtv-legal textarea{
    min-height:48px;
    border-radius:16px !important;
    border:1px solid var(--dtv-ui-border-strong) !important;
    background:rgba(255,255,255,.055) !important;
    color:#fff !important;
    transition:var(--dtv-ui-transition);
}

.dtv-filterbar input:hover,
.dtv-filterbar select:hover,
.dtv-search-input:hover,
.dtv-complaints input:hover,
.dtv-complaints select:hover,
.dtv-complaints textarea:hover,
.dtv-contact input:hover,
.dtv-contact select:hover,
.dtv-contact textarea:hover{
    border-color:rgba(255,255,255,.24) !important;
}

.dtv-filterbar input:focus,
.dtv-filterbar select:focus,
.dtv-search-input:focus,
.dtv-complaints input:focus,
.dtv-complaints select:focus,
.dtv-complaints textarea:focus,
.dtv-contact input:focus,
.dtv-contact select:focus,
.dtv-contact textarea:focus{
    border-color:rgba(227,6,19,.56) !important;
    box-shadow:0 0 0 3px rgba(227,6,19,.16) !important;
    outline:none !important;
}

.dtv-complaints textarea,
.dtv-contact textarea{
    line-height:1.6;
    resize:vertical;
}

/* ---------- Badges / pills ---------- */
.dtv-badge,
.dtv-pill,
.dtv-live-badge,
.dtv-search-result__type,
.dtv-archive-card__badge,
.dtv-show-card__badge,
.dtv-complaints__chip,
.dtv-contact__chip{
    border-radius:var(--dtv-ui-pill) !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:26px;
    padding:6px 11px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}

/* ---------- Modal close buttons ---------- */
.dtv-modal__close,
.dtv-live-modal__close,
.dtv-menu-modal__close,
.dtv-search-overlay__close,
.dtv-video-modal__close{
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    transition:var(--dtv-ui-transition) !important;
}

/* ---------- Header action consistency for Elementor shortcodes ---------- */
.dtv-search-trigger,
.dtv-menu-trigger{
    width:42px;
    height:42px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:var(--dtv-ui-transition);
}

.dtv-search-trigger:hover,
.dtv-menu-trigger:hover,
.dtv-search-trigger.is-active,
.dtv-menu-trigger.is-active{
    background:rgba(227,6,19,.12);
    color:var(--dtv-ui-red);
}

/* ---------- Mobile consistency ---------- */
@media (max-width: 767px){
    .dtv-section-header,
    .dtv-archive-header,
    .dtv-muni-section-header,
    .dtv-region-section-header,
    .dtv-show-section-header{
        margin-bottom:18px !important;
    }

    .dtv-card,
    .dtv-video-card,
    .dtv-archive-card,
    .dtv-municipality-card,
    .dtv-region-card,
    .dtv-show-card,
    .dtv-live-panel,
    .dtv-search-result,
    .dtv-complaints__panel,
    .dtv-contact__panel,
    .dtv-legal__panel{
        border-radius:20px !important;
    }

    .dtv-primary-btn,
    .dtv-secondary-btn,
    .dtv-submit,
    .dtv-archive-reset,
    .dtv-live-action,
    .dtv-menu-modal__search,
    .dtv-menu-modal__live,
    .dtv-complaints button[type="submit"],
    .dtv-contact button[type="submit"]{
        min-height:42px;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .dtv-filterbar,
    .dtv-archive-filters{
        gap:10px !important;
    }

    .dtv-search-trigger,
    .dtv-menu-trigger{
        width:38px;
        height:38px;
    }
}

/* DTV bundle source: assets/css/frontend-stability-pass2.css */
/* ==========================================================
   DimosTV CMS 1.7.0 RC1 — Frontend 2.1 PASS 2
   Mobile QA & Responsive Polish
   ----------------------------------------------------------
   Purpose: mobile-first stability improvements for public
   frontend pages. No new features; only responsive, touch,
   safe-area, modal and form polish.
   ========================================================== */

:root{
    --dtv-mobile-edge: max(16px, env(safe-area-inset-left));
    --dtv-mobile-edge-r: max(16px, env(safe-area-inset-right));
    --dtv-mobile-bottom: max(16px, env(safe-area-inset-bottom));
    --dtv-vh: 1vh;
}

/* Use modern dynamic viewport height where supported. */
@supports (height: 100dvh){
    .dtv-search-overlay,
    .dtv-menu-modal,
    .dtv-live-modal,
    .dtv-video-modal{
        min-height:100dvh;
    }
}

/* Fallback target for iOS Safari via PASS2 JS. */
.dtv-search-overlay,
.dtv-menu-modal,
.dtv-live-modal,
.dtv-video-modal{
    min-height:calc(var(--dtv-vh, 1vh) * 100);
}

/* ---------- Touch target normalization ---------- */
@media (hover:none), (max-width: 1024px){
    .dtv-search-trigger,
    .dtv-menu-trigger,
    .dtv-live-btn,
    .dtv-modal__close,
    .dtv-live-modal__close,
    .dtv-menu-modal__close,
    .dtv-search-overlay__close,
    .dtv-video-modal__close,
    .dtv-mini-player__action,
    .dtv-archive-reset,
    .dtv-filterbar button,
    .dtv-filterbar select,
    .dtv-filterbar input,
    .dtv-archive-filters button,
    .dtv-archive-filters select,
    .dtv-archive-filters input,
    .dtv-complaints button,
    .dtv-contact button{
        min-width:44px;
        min-height:44px;
    }

    .dtv-card,
    .dtv-video-card,
    .dtv-archive-card,
    .dtv-municipality-card,
    .dtv-region-card,
    .dtv-show-card,
    .dtv-search-result,
    .dtv-menu-modal__quick-card{
        -webkit-tap-highlight-color:rgba(227,6,19,.18);
    }
}

/* ---------- Small phones: global rhythm ---------- */
@media (max-width: 767px){
    .dtv-frontend,
    .dtv-homepage,
    .dtv-news-archive,
    .dtv-municipality,
    .dtv-region,
    .dtv-show-portal,
    .dtv-live-experience,
    .dtv-search-experience,
    .dtv-complaints-page,
    .dtv-contact-page,
    .dtv-legal-page{
        width:100%;
        max-width:100%;
        overflow-x:clip;
    }

    .dtv-container,
    .dtv-homepage-container,
    .dtv-archive-container,
    .dtv-muni-container,
    .dtv-region-container,
    .dtv-show-container,
    .dtv-live-container,
    .dtv-complaints-container,
    .dtv-contact-container,
    .dtv-legal-container{
        width:100% !important;
        max-width:100% !important;
        padding-left:var(--dtv-mobile-edge) !important;
        padding-right:var(--dtv-mobile-edge-r) !important;
    }

    /* Avoid oversized hero sections on small screens. */
    .dtv-hero,
    .dtv-homepage-hero,
    .dtv-archive-hero,
    .dtv-muni-hero,
    .dtv-region-hero,
    .dtv-show-hero,
    .dtv-live-hero,
    .dtv-complaints-hero,
    .dtv-contact-hero,
    .dtv-legal-hero{
        min-height:auto !important;
        padding-top:clamp(42px, 10vw, 72px) !important;
        padding-bottom:clamp(44px, 12vw, 82px) !important;
    }

    .dtv-hero h1,
    .dtv-homepage-hero h1,
    .dtv-archive-hero h1,
    .dtv-muni-hero h1,
    .dtv-region-hero h1,
    .dtv-show-hero h1,
    .dtv-live-hero h1,
    .dtv-complaints-hero h1,
    .dtv-contact-hero h1,
    .dtv-legal-hero h1,
    .dtv-archive-title{
        font-size:clamp(30px, 9vw, 46px) !important;
        line-height:1.04 !important;
        letter-spacing:-.035em !important;
        overflow-wrap:break-word;
    }

    .dtv-hero p,
    .dtv-homepage-hero p,
    .dtv-archive-hero p,
    .dtv-muni-hero p,
    .dtv-region-hero p,
    .dtv-show-hero p,
    .dtv-live-hero p,
    .dtv-complaints-hero p,
    .dtv-contact-hero p,
    .dtv-legal-hero p{
        font-size:15px !important;
        line-height:1.58 !important;
        max-width:100% !important;
    }

    /* Grids collapse predictably. */
    .dtv-grid,
    .dtv-video-grid,
    .dtv-archive-grid,
    .dtv-municipalities-grid,
    .dtv-regions-grid,
    .dtv-shows-grid,
    .dtv-show-episodes-grid,
    .dtv-related-grid,
    .dtv-live-related-grid,
    .dtv-search-results-grid,
    .dtv-complaints-type-grid,
    .dtv-menu-modal__quick-grid{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .dtv-video-card,
    .dtv-archive-card,
    .dtv-municipality-card,
    .dtv-region-card,
    .dtv-show-card,
    .dtv-search-result{
        width:100% !important;
    }

    /* Cards: prevent cramped text and inconsistent overflow. */
    .dtv-video-card__title,
    .dtv-archive-card__title,
    .dtv-municipality-card__title,
    .dtv-region-card__title,
    .dtv-show-card__title,
    .dtv-search-result__title{
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
        line-height:1.22;
    }

    .dtv-video-card__excerpt,
    .dtv-archive-card__excerpt,
    .dtv-show-card__excerpt,
    .dtv-search-result__excerpt{
        display:-webkit-box;
        -webkit-line-clamp:3;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }
}

/* ---------- Archive filters on mobile ---------- */
@media (max-width: 767px){
    .dtv-filterbar,
    .dtv-archive-filters,
    .dtv-news-archive__filters,
    .dtv-search-filters{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        padding:14px !important;
        border-radius:22px !important;
    }

    .dtv-filterbar > *,
    .dtv-archive-filters > *,
    .dtv-news-archive__filters > *,
    .dtv-search-filters > *{
        width:100% !important;
        min-width:0 !important;
    }

    .dtv-archive-reset,
    .dtv-search-filters__reset{
        justify-self:stretch !important;
        width:100% !important;
    }
}

/* ---------- Search overlay mobile keyboard stability ---------- */
@media (max-width: 767px){
    .dtv-search-overlay__dialog{
        width:calc(100vw - 24px) !important;
        max-width:calc(100vw - 24px) !important;
        max-height:calc((var(--dtv-vh, 1vh) * 100) - 24px) !important;
        margin:12px auto !important;
        border-radius:24px !important;
        overflow:hidden !important;
    }

    .dtv-search-overlay__header{
        padding:18px 16px 14px !important;
    }

    .dtv-search-overlay__input-wrap{
        min-height:50px !important;
    }

    .dtv-search-overlay__body{
        max-height:calc((var(--dtv-vh, 1vh) * 100) - 210px) !important;
        overflow:auto !important;
        -webkit-overflow-scrolling:touch;
    }

    .dtv-search-overlay__footer{
        padding-bottom:max(14px, env(safe-area-inset-bottom)) !important;
    }

    body.dtv-keyboard-open .dtv-search-overlay__dialog{
        margin-top:8px !important;
        max-height:calc((var(--dtv-vh, 1vh) * 100) - 16px) !important;
    }
}

/* ---------- Navigation modal mobile stability ---------- */
@media (max-width: 767px){
    .dtv-menu-modal__panel{
        inset:12px !important;
        width:auto !important;
        max-width:none !important;
        height:auto !important;
        max-height:calc((var(--dtv-vh, 1vh) * 100) - 24px) !important;
        border-radius:26px !important;
        overflow:hidden !important;
    }

    .dtv-menu-modal__header{
        padding:18px 18px 12px !important;
    }

    .dtv-menu-modal__content{
        max-height:calc((var(--dtv-vh, 1vh) * 100) - 210px) !important;
        overflow:auto !important;
        -webkit-overflow-scrolling:touch;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .dtv-menu-modal__footer{
        padding:14px 18px max(18px, env(safe-area-inset-bottom)) !important;
        gap:10px !important;
    }

    .dtv-menu-modal__item > a,
    .dtv-menu-modal__quick-card{
        min-height:48px;
    }
}

/* ---------- Live mobile: player, modal, mini player ---------- */
@media (max-width: 767px){
    .dtv-live-layout,
    .dtv-live-experience__layout,
    .dtv-live-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:18px !important;
    }

    .dtv-live-player,
    .dtv-live-player-wrap,
    .dtv-live-experience iframe,
    .dtv-live-experience video{
        max-width:100% !important;
    }

    .dtv-live-modal__dialog{
        width:calc(100vw - 24px) !important;
        max-width:calc(100vw - 24px) !important;
        max-height:calc((var(--dtv-vh, 1vh) * 100) - 24px) !important;
        border-radius:24px !important;
    }

    .dtv-live-modal__body{
        overflow:auto;
        -webkit-overflow-scrolling:touch;
    }

    .dtv-mini-player{
        right:max(12px, env(safe-area-inset-right)) !important;
        bottom:max(72px, calc(env(safe-area-inset-bottom) + 14px)) !important;
        max-width:min(220px, calc(100vw - 24px)) !important;
    }

    .dtv-mini-player__footer{
        min-height:42px !important;
    }
}

/* ---------- Complaints / Contact forms mobile ---------- */
@media (max-width: 767px){
    .dtv-complaints-layout,
    .dtv-contact-layout{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:18px !important;
    }

    .dtv-complaints-info,
    .dtv-contact-info{
        order:1;
    }

    .dtv-complaints-form-wrap,
    .dtv-contact-form-wrap,
    .dtv-complaints-form,
    .dtv-contact-form{
        order:2;
        width:100% !important;
        max-width:100% !important;
    }

    .dtv-complaints-grid,
    .dtv-complaints-grid--2,
    .dtv-complaints-grid--3,
    .dtv-contact-grid,
    .dtv-contact-grid--2,
    .dtv-contact-grid--3{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .dtv-complaints-section,
    .dtv-contact-section{
        padding:18px !important;
        border-radius:22px !important;
    }

    .dtv-complaints-type,
    .dtv-contact-type,
    .dtv-complaints-check,
    .dtv-contact-check{
        min-height:48px;
    }

    .dtv-complaints-progress,
    .dtv-contact-progress{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:4px;
        scrollbar-width:none;
    }

    .dtv-complaints-progress::-webkit-scrollbar,
    .dtv-contact-progress::-webkit-scrollbar{
        display:none;
    }

    .dtv-complaints-submit,
    .dtv-contact-submit,
    .dtv-complaints button[type="submit"],
    .dtv-contact button[type="submit"]{
        width:100% !important;
        min-height:50px !important;
    }

    .dtv-complaints-upload,
    .dtv-contact-upload{
        min-height:150px !important;
        padding:22px 16px !important;
    }
}

/* ---------- Legal pages ---------- */
@media (max-width: 767px){
    .dtv-legal-layout,
    .dtv-legal-center{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .dtv-legal-nav,
    .dtv-legal-tabs{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        display:flex !important;
        gap:10px !important;
        padding-bottom:4px !important;
    }

    .dtv-legal-nav::-webkit-scrollbar,
    .dtv-legal-tabs::-webkit-scrollbar{
        display:none;
    }

    .dtv-legal-nav a,
    .dtv-legal-tabs a{
        white-space:nowrap;
        flex:0 0 auto;
    }

    .dtv-legal__panel,
    .dtv-legal-panel{
        padding:20px !important;
    }
}

/* ---------- Tablet polish ---------- */
@media (min-width: 768px) and (max-width: 1024px){
    .dtv-container,
    .dtv-homepage-container,
    .dtv-archive-container,
    .dtv-muni-container,
    .dtv-region-container,
    .dtv-show-container,
    .dtv-live-container,
    .dtv-complaints-container,
    .dtv-contact-container,
    .dtv-legal-container{
        padding-left:28px !important;
        padding-right:28px !important;
    }

    .dtv-archive-grid,
    .dtv-municipalities-grid,
    .dtv-regions-grid,
    .dtv-shows-grid,
    .dtv-show-episodes-grid,
    .dtv-related-grid,
    .dtv-live-related-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }

    .dtv-complaints-layout,
    .dtv-contact-layout{
        grid-template-columns: minmax(0, .85fr) minmax(0, 1.45fr) !important;
        gap:22px !important;
    }

    .dtv-live-layout,
    .dtv-live-experience__layout,
    .dtv-live-grid{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }
}

/* ---------- Mobile reduced-motion safety ---------- */
@media (prefers-reduced-motion: reduce){
    .dtv-search-overlay,
    .dtv-menu-modal,
    .dtv-live-modal,
    .dtv-video-modal,
    .dtv-mini-player,
    .dtv-card,
    .dtv-video-card,
    .dtv-archive-card,
    .dtv-municipality-card,
    .dtv-region-card,
    .dtv-show-card{
        transition:none !important;
        animation:none !important;
    }
}

/* DTV bundle source: assets/css/design-system/tokens.css */
/* ==========================================================
   dimosTV Design System — DTV Network Foundation
   DTV-FE01 — Canonical frontend tokens
========================================================== */

:root {
    /* Brand */
    --dtv-color-primary: #E30613;
    --dtv-color-primary-hover: #C8000C;
    --dtv-color-secondary: #0066CC;
    --dtv-color-secondary-hover: #0074E8;

    /* DTV Network navy scale */
    --dtv-color-navy-900: #0B1B31;
    --dtv-color-navy-800: #112640;
    --dtv-color-navy-700: #193451;

    /* Neutrals / surfaces */
    --dtv-color-page: #F5F7FA;
    --dtv-color-background: var(--dtv-color-page);
    --dtv-color-surface: #FFFFFF;
    --dtv-color-surface-soft: #EEF2F6;
    --dtv-color-surface-dark: var(--dtv-color-navy-900);
    --dtv-color-surface-navy: var(--dtv-color-navy-800);

    /* Text */
    --dtv-color-text: #0B1728;
    --dtv-color-text-soft: #536174;
    --dtv-color-text-muted: #7B8797;
    --dtv-color-text-inverse: #FFFFFF;
    --dtv-color-text-inverse-soft: rgba(255,255,255,.78);
    --dtv-color-text-inverse-muted: rgba(255,255,255,.58);

    /* Borders */
    --dtv-color-border: #DDE3EA;
    --dtv-color-border-strong: #C8D0DA;
    --dtv-color-border-inverse: rgba(255,255,255,.12);

    /* Overlays */
    --dtv-overlay-soft: rgba(11,27,49,.68);
    --dtv-overlay-dark: rgba(5,10,20,.78);
    --dtv-overlay-card: linear-gradient(to top, rgba(5,10,20,.88) 0%, rgba(5,10,20,.58) 38%, rgba(5,10,20,.12) 68%, rgba(5,10,20,0) 100%);

    /* Typography */
    --dtv-font-heading: "Commissioner", "Segoe UI", Arial, sans-serif;
    --dtv-font-body: "Inter", "Segoe UI", Arial, sans-serif;
    --dtv-font-weight-regular: 400;
    --dtv-font-weight-medium: 500;
    --dtv-font-weight-semibold: 600;
    --dtv-font-weight-bold: 700;
    --dtv-font-weight-black: 800;
    --dtv-text-display-xl: clamp(38px, 3vw, 56px);
    --dtv-text-display-lg: clamp(32px, 2.6vw, 40px);
    --dtv-text-heading-xl: clamp(26px, 2.1vw, 30px);
    --dtv-text-heading-lg: clamp(22px, 1.8vw, 26px);
    --dtv-text-heading-md: 22px;
    --dtv-text-heading-sm: 18px;
    --dtv-text-body-lg: 18px;
    --dtv-text-body-md: 16px;
    --dtv-text-body-sm: 14px;
    --dtv-text-caption: 12px;
    --dtv-text-label: 11px;
    --dtv-line-tight: .98;
    --dtv-line-heading: 1.10;
    --dtv-line-body: 1.55;

    /* 4px spacing foundation */
    --dtv-space-0: 0;
    --dtv-space-2xs: 4px;
    --dtv-space-xs: 8px;
    --dtv-space-sm: 12px;
    --dtv-space-md: 16px;
    --dtv-space-lg: 24px;
    --dtv-space-xl: 32px;
    --dtv-space-2xl: 48px;
    --dtv-space-3xl: 64px;
    --dtv-space-4xl: 80px;
    --dtv-space-5xl: 96px;
    --dtv-space-6xl: 120px;
    --dtv-space-section-related: var(--dtv-space-3xl);
    --dtv-space-section: var(--dtv-space-4xl);
    --dtv-space-section-major: var(--dtv-space-5xl);
    --dtv-space-section-landmark: var(--dtv-space-6xl);
    --dtv-space-section-sm: var(--dtv-space-3xl);

    /* Geometry */
    --dtv-radius-xs: 6px;
    --dtv-radius-media: 8px;
    --dtv-radius-sm: 8px;
    --dtv-radius-card: 10px;
    --dtv-radius-md: 10px;
    --dtv-radius-panel: 12px;
    --dtv-radius-lg: 12px;
    --dtv-radius-xl: 14px;
    --dtv-radius-2xl: 18px;
    --dtv-radius-pill: 999px;

    /* Elevation: deliberately restrained */
    --dtv-shadow-xs: 0 2px 8px rgba(11,27,49,.06);
    --dtv-shadow-sm: 0 8px 24px rgba(11,27,49,.10);
    --dtv-shadow-md: 0 12px 32px rgba(11,27,49,.12);
    --dtv-shadow-lg: 0 18px 46px rgba(11,27,49,.16);
    --dtv-shadow-xl: 0 28px 80px rgba(11,27,49,.22);
    --dtv-shadow-card: var(--dtv-shadow-xs);
    --dtv-shadow-card-hover: var(--dtv-shadow-sm);
    --dtv-shadow-modal: 0 32px 110px rgba(0,0,0,.44);
    --dtv-shadow-control: 0 8px 24px rgba(0,0,0,.22);

    /* Motion */
    --dtv-ease-standard: cubic-bezier(.2,.8,.2,1);
    --dtv-ease-emphasized: cubic-bezier(.2,.9,.1,1);
    --dtv-motion-fast: .12s var(--dtv-ease-standard);
    --dtv-motion-normal: .18s var(--dtv-ease-standard);
    --dtv-motion-media: .24s var(--dtv-ease-standard);
    --dtv-motion-slow: .45s var(--dtv-ease-emphasized);

    /* Z-index */
    --dtv-z-base: 1;
    --dtv-z-controls: 20;
    --dtv-z-dropdown: 100;
    --dtv-z-overlay: 1000;
    --dtv-z-modal: 999990;
    --dtv-z-player: 999998;
    --dtv-z-toast: 999999;

    /* Canonical DTV Network layout */
    --dtv-container-max: 1320px;
    --dtv-container-editorial: 1200px;
    --dtv-container-narrow: 1080px;
    --dtv-container-padding: 24px;
    --dtv-grid-columns: 12;
    --dtv-grid-gap: 24px;
    --dtv-card-width-sm: 240px;
    --dtv-card-width-md: 280px;
    --dtv-card-width-lg: 320px;
}

@media (max-width: 1199px) { :root { --dtv-container-padding: 32px; --dtv-grid-columns: 8; } }
@media (max-width: 991px) { :root { --dtv-container-padding: 24px; } }
@media (max-width: 767px) {
    :root {
        --dtv-container-padding: 16px;
        --dtv-grid-columns: 4;
        --dtv-grid-gap: 16px;
        --dtv-space-section: 64px;
        --dtv-space-section-related: 56px;
        --dtv-space-section-major: 72px;
        --dtv-space-section-landmark: 80px;
    }
}
@media (max-width: 389px) { :root { --dtv-container-padding: 14px; } }
@media (prefers-reduced-motion: reduce) {
    :root { --dtv-motion-fast: 0s; --dtv-motion-normal: 0s; --dtv-motion-media: 0s; --dtv-motion-slow: 0s; }
}

/* DTV bundle source: assets/css/design-system/typography.css */
/* ==========================================================
   dimosTV Design System
   DS1 — Typography
========================================================== */

.dtv-text-display-xl {
    font-family: var(--dtv-font-heading);
    font-size: var(--dtv-text-display-xl);
    font-weight: var(--dtv-font-weight-black);
    line-height: .92;
    letter-spacing: -.035em;
}

.dtv-text-display-lg {
    font-family: var(--dtv-font-heading);
    font-size: var(--dtv-text-display-lg);
    font-weight: var(--dtv-font-weight-black);
    line-height: .94;
    letter-spacing: -.028em;
}

.dtv-text-heading-xl {
    font-family: var(--dtv-font-heading);
    font-size: var(--dtv-text-heading-xl);
    font-weight: var(--dtv-font-weight-bold);
    line-height: var(--dtv-line-heading);
}

.dtv-text-heading-lg {
    font-family: var(--dtv-font-heading);
    font-size: var(--dtv-text-heading-lg);
    font-weight: var(--dtv-font-weight-bold);
    line-height: var(--dtv-line-heading);
}

.dtv-text-heading-md {
    font-family: var(--dtv-font-heading);
    font-size: var(--dtv-text-heading-md);
    font-weight: var(--dtv-font-weight-bold);
    line-height: var(--dtv-line-heading);
}

.dtv-text-body-lg {
    font-size: var(--dtv-text-body-lg);
    line-height: var(--dtv-line-body);
}

.dtv-text-body-md {
    font-size: var(--dtv-text-body-md);
    line-height: var(--dtv-line-body);
}

.dtv-text-caption {
    font-size: var(--dtv-text-caption);
    line-height: 1.35;
}

.dtv-text-label {
    font-size: var(--dtv-text-label);
    font-weight: var(--dtv-font-weight-black);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dtv-text-title-case {
    text-transform: none !important;
    letter-spacing: normal;
}

/* DTV bundle source: assets/css/design-system/spacing.css */
/* dimosTV Design System — DTV Network Layout Utilities */
.dtv-container,.dtv-network-container{width:min(calc(100% - (var(--dtv-container-padding) * 2)),var(--dtv-container-max));margin-inline:auto}.dtv-container--editorial{max-width:var(--dtv-container-editorial)}.dtv-container--narrow{max-width:var(--dtv-container-narrow)}.dtv-grid{display:grid;grid-template-columns:repeat(var(--dtv-grid-columns),minmax(0,1fr));gap:var(--dtv-grid-gap)}.dtv-section{margin-block:var(--dtv-space-section)}.dtv-section--related{margin-block:var(--dtv-space-section-related)}.dtv-section--major{margin-block:var(--dtv-space-section-major)}.dtv-section--landmark{margin-block:var(--dtv-space-section-landmark)}.dtv-section-sm{margin-block:var(--dtv-space-section-sm)}.dtv-stack-xs>*+*{margin-top:var(--dtv-space-xs)}.dtv-stack-sm>*+*{margin-top:var(--dtv-space-sm)}.dtv-stack-md>*+*{margin-top:var(--dtv-space-md)}.dtv-stack-lg>*+*{margin-top:var(--dtv-space-lg)}.dtv-stack-xl>*+*{margin-top:var(--dtv-space-xl)}.dtv-cluster{display:flex;align-items:center;gap:var(--dtv-space-md);flex-wrap:wrap}

/* DTV bundle source: assets/css/design-system/radius.css */
/* ==========================================================
   dimosTV Design System
   DS1 — Radius
========================================================== */

.dtv-radius-xs { border-radius: var(--dtv-radius-xs); }
.dtv-radius-sm { border-radius: var(--dtv-radius-sm); }
.dtv-radius-md { border-radius: var(--dtv-radius-md); }
.dtv-radius-lg { border-radius: var(--dtv-radius-lg); }
.dtv-radius-xl { border-radius: var(--dtv-radius-xl); }
.dtv-radius-2xl { border-radius: var(--dtv-radius-2xl); }
.dtv-radius-pill { border-radius: var(--dtv-radius-pill); }

/* DTV bundle source: assets/css/design-system/elevation.css */
/* ==========================================================
   dimosTV Design System
   DS1 — Elevation
========================================================== */

.dtv-shadow-xs { box-shadow: var(--dtv-shadow-xs); }
.dtv-shadow-sm { box-shadow: var(--dtv-shadow-sm); }
.dtv-shadow-md { box-shadow: var(--dtv-shadow-md); }
.dtv-shadow-lg { box-shadow: var(--dtv-shadow-lg); }
.dtv-shadow-xl { box-shadow: var(--dtv-shadow-xl); }
.dtv-shadow-modal { box-shadow: var(--dtv-shadow-modal); }

/* DTV bundle source: assets/css/design-system/motion.css */
/* ==========================================================
   dimosTV Design System
   DS1 — Motion
========================================================== */

.dtv-transition {
    transition:
        background var(--dtv-motion-normal),
        color var(--dtv-motion-normal),
        transform var(--dtv-motion-normal),
        box-shadow var(--dtv-motion-normal),
        opacity var(--dtv-motion-normal);
}

.dtv-hover-lift {
    transition:
        transform var(--dtv-motion-normal),
        box-shadow var(--dtv-motion-normal);
}

.dtv-hover-lift:hover,
.dtv-hover-lift:focus-visible {
    transform: translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
    .dtv-transition,
    .dtv-hover-lift {
        transition: none;
    }

    .dtv-hover-lift:hover,
    .dtv-hover-lift:focus-visible {
        transform: none;
    }
}

/* DTV bundle source: assets/css/design-system/icons.css */
/* ==========================================================
   dimosTV Design System
   DS2.1 — Icons
========================================================== */

.dtv-icon {
    display: inline-block;

    width: 1em;
    height: 1em;

    flex: 0 0 auto;

    color: currentColor;

    fill: currentColor;

    vertical-align: -0.125em;

    pointer-events: none;
}

.dtv-icon--xs {
    width: 12px;
    height: 12px;
}

.dtv-icon--sm {
    width: 14px;
    height: 14px;
}

.dtv-icon--md {
    width: 18px;
    height: 18px;
}

.dtv-icon--lg {
    width: 22px;
    height: 22px;
}

.dtv-icon--xl {
    width: 28px;
    height: 28px;
}

.dtv-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    border-radius: var(--dtv-radius-pill);

    color: inherit;
}

.dtv-icon-wrap--light {
    background: rgba(255,255,255,.94);
    color: var(--dtv-color-primary);
    box-shadow: var(--dtv-shadow-control);
}

.dtv-icon-wrap--dark {
    background: rgba(15,23,42,.84);
    color: var(--dtv-color-text-inverse);
    box-shadow: var(--dtv-shadow-control);
}

.dtv-icon-wrap--primary {
    background: var(--dtv-color-primary);
    color: var(--dtv-color-text-inverse);
    box-shadow: 0 14px 36px rgba(204,0,0,.28);
}

/* WordPress emoji replacement guard */
.dtv-icon img.emoji,
.dtv-icon-wrap img.emoji,
.dtv-video-card__play img.emoji,
.dtv-continue-card__play img.emoji,
.dtv-live-strip__watch img.emoji,
.dtv-front-hero-cta img.emoji {
    display: none !important;
}

/* DTV bundle source: assets/css/design-system/buttons.css */
/* DS2.2 Button System */
.dtv-btn{
display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
padding:.72rem 1rem;border:0;border-radius:var(--dtv-radius-pill);
font:600 var(--dtv-text-body-sm)/1 var(--dtv-font-body);
cursor:pointer;text-decoration:none;
transition:background var(--dtv-motion-normal),color var(--dtv-motion-normal),
transform var(--dtv-motion-normal),box-shadow var(--dtv-motion-normal);
}
.dtv-btn:hover{transform:translateY(-2px)}
.dtv-btn--primary{background:var(--dtv-color-primary);color:#fff;box-shadow:var(--dtv-shadow-sm)}
.dtv-btn--secondary{background:var(--dtv-color-secondary);color:#fff}
.dtv-btn--ghost{background:rgba(255,255,255,.10);color:#fff;border:1px solid var(--dtv-color-border-inverse)}
.dtv-btn--icon{width:44px;height:44px;padding:0;border-radius:999px}
.dtv-btn--live{background:linear-gradient(135deg,var(--dtv-color-primary),#e33);color:#fff}
.dtv-btn--danger{background:#8b0000;color:#fff}
.dtv-btn--sm{padding:.5rem .8rem;font-size:12px}
.dtv-btn--lg{padding:.9rem 1.2rem;font-size:16px}
.dtv-btn:focus-visible{outline:3px solid var(--dtv-color-secondary);outline-offset:3px}
.dtv-btn[disabled]{opacity:.45;pointer-events:none}

/* DTV bundle source: assets/css/design-system/badges.css */
/* ==========================================================
DS2.3 Badge System
========================================================== */

.dtv-badge{
display:inline-flex;
align-items:center;
justify-content:center;
gap:.4rem;
padding:.32rem .65rem;
border-radius:var(--dtv-radius-pill);
font:800 var(--dtv-text-label)/1 var(--dtv-font-body);
letter-spacing:.04em;
white-space:nowrap;
box-shadow:var(--dtv-shadow-xs);
}

.dtv-badge--live{
background:#CC0000;
color:#fff;
}

.dtv-badge--new{
background:#0F172A;
color:#fff;
}

.dtv-badge--featured{
background:#0066CC;
color:#fff;
}

.dtv-badge--exclusive{
background:linear-gradient(135deg,#CC0000,#0066CC);
color:#fff;
}

.dtv-badge--duration{
background:rgba(15,23,42,.82);
color:#fff;
backdrop-filter:blur(8px);
}

.dtv-badge--progress{
background:rgba(15,23,42,.82);
color:#fff;
}

.dtv-badge--soft{
background:rgba(255,255,255,.88);
color:var(--dtv-color-text);
}

.dtv-badge svg{
width:12px;
height:12px;
fill:currentColor;
}

/* DTV bundle source: assets/css/components/hero.css */
/* ==========================================================
   Hero Slider
========================================================== */

.dtv-front-hero-slider {
    position: relative;
    margin: 0 0 64px;
}

.dtv-front-slider-track {
    position: relative;
    isolation: isolate;
    height: 620px;
    border-radius: var(--dtv-radius-2xl, 28px);
    overflow: hidden;
    background: var(--dtv-color-surface-dark, #0F172A);
}

.dtv-front-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--dtv-motion-slow, .45s ease);
}

.dtv-front-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}

.dtv-front-hero-card {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: var(--dtv-color-text-inverse, #fff);
    text-decoration: none;
    overflow: hidden;
}

.dtv-front-hero-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
    display: block;
    transform: scale(1);
    transition: transform 8s ease-out;
}

.dtv-front-slide.is-active .dtv-front-hero-card img {
    transform: scale(1.08);
}

.dtv-front-hero-card::after { display: none; }

.dtv-front-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg,rgba(8,12,22,.35) 0%,rgba(8,12,22,.12) 24%,rgba(8,12,22,0) 48%,rgba(8,12,22,0) 56%,rgba(8,12,22,.14) 78%,rgba(8,12,22,.36) 100%),
        linear-gradient(to top,rgba(8,12,22,.82) 0%,rgba(8,12,22,.52) 34%,rgba(8,12,22,.14) 62%,rgba(8,12,22,0) 100%);
}

.dtv-front-hero-content {
    position: absolute;
    left: 96px;
    right: 88px;
    bottom: 118px;
    z-index: 2;
    max-width: 760px;
}

.dtv-front-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--dtv-color-secondary, #0066CC);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    padding: 10px 16px;
    border-radius: var(--dtv-radius-pill, 999px);
    text-transform: uppercase;
    box-shadow: var(--dtv-shadow-control, 0 12px 30px rgba(0,0,0,.24));
}

.dtv-front-badge-live,
.dtv-front-badge-breaking,
.dtv-front-badge-νεο {
    background: var(--dtv-color-primary, #CC0000);
}

.dtv-front-badge-exclusive { background: #5B3FD6; }

.dtv-front-hero-content h1 {
    margin: 18px 0 0;
    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif);
    font-size: clamp(58px, 5vw, 84px);
    font-weight: 900;
    line-height: .92;
    letter-spacing: -2px;
    color: #fff !important;
    text-shadow: 0 6px 28px rgba(0,0,0,.30);
}

.dtv-front-hero-content p {
    margin: 22px 0 0;
    max-width: 620px;
    font-size: 18px;
    line-height: 1.55;
    color: rgba(255,255,255,.92);
}

.dtv-front-hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dtv-front-hero-cta::after {
    content: '';
    width: 78px;
    height: 2px;
    background: var(--dtv-color-primary, #CC0000);
}

.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
    position: absolute !important;
    top: 50%;
    z-index: 20;
    width: 54px;
    height: 54px;
    min-width: 54px;
    min-height: 54px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    border: 1px solid var(--dtv-color-primary, #CC0000);
    background: var(--dtv-color-primary, #CC0000);
    background-image: none;
    color: #fff;
    font-size: 34px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 12px 28px rgba(204,0,0,.35);
    cursor: pointer;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev { left: 28px; }
.dtv-front-hero-slider button.dtv-home-hero__side-arrow--next { right: 28px; }

.dtv-front-slider-controls {
    position: absolute;
    left: 96px;
    right: 96px;
    bottom: 62px;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.dtv-front-slider-dots {
    display: flex;
    gap: 14px;
    flex: 1;
    max-width: 410px;
}

.dtv-front-hero-slider button.dtv-front-slider-dot {
    position: relative;
    flex: 1;
    min-width: 170px;
    height: 5px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255,255,255,.34) !important;
    background-image: none !important;
    box-shadow: none;
    cursor: pointer;
}

.dtv-front-slider-dot::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: var(--dtv-color-primary, #CC0000);
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
}

.dtv-front-slider-dot.is-active::after { animation: dtvHeroProgress 6s linear forwards; }
.dtv-front-hero-slider.is-paused .dtv-front-slider-dot.is-active::after,
.dtv-front-hero-slider.is-hover-paused .dtv-front-slider-dot.is-active::after { animation-play-state: paused; }

@keyframes dtvHeroProgress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.dtv-front-slider-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: -10px;
}

.dtv-front-hero-slider button.dtv-front-slider-pause,
.dtv-front-hero-slider button.dtv-front-slider-play {
    width: 54px;
    height: 54px;
    min-width: 54px;
    min-height: 54px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    border: 1px solid var(--dtv-color-primary, #CC0000);
    background: var(--dtv-color-primary, #CC0000);
    background-image: none;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(204,0,0,.35);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transform: scale(1.06);
}

/* ==========================================================
   Hero Slider UX polish — 1.7.2.16
   Keeps navigation arrows and pause/play controls unchanged.
========================================================== */

@media (min-width: 1025px) {
    .dtv-front-hero-content {
        left: clamp(128px, 9.5vw, 176px);
        right: clamp(96px, 7vw, 136px);
        bottom: 122px;
        max-width: min(880px, calc(100% - 304px));
    }

    .dtv-front-slider-controls {
        left: clamp(128px, 9.5vw, 176px);
        right: 96px;
    }
}

.dtv-front-hero-content h1 {
    max-width: 880px;
    font-size: clamp(42px, 3.65vw, 64px);
    line-height: 1.01;
    letter-spacing: -1.25px;
    text-wrap: balance;
    overflow-wrap: break-word;
    word-break: normal;
}

.dtv-front-hero-content p {
    max-width: 700px;
    margin-top: 18px;
    font-size: clamp(16px, 1.18vw, 19px);
    line-height: 1.5;
    text-wrap: pretty;
    color: rgba(255,255,255,.9);
    text-shadow: 0 2px 14px rgba(0,0,0,.34);
}

.dtv-front-hero-cta {
    margin-top: 20px;
    gap: 9px;
    font-size: 14px;
    line-height: 1;
}

.dtv-front-hero-cta::after {
    width: 68px;
}

.dtv-front-slider-dots {
    flex: 0 1 auto;
    width: auto;
    max-width: min(360px, calc(100% - 86px));
    gap: 9px;
}

.dtv-front-hero-slider button.dtv-front-slider-dot {
    flex: 0 1 72px;
    width: clamp(42px, 4.4vw, 72px);
    min-width: 42px;
    height: 4px;
}

@media (max-width: 1024px) and (min-width: 769px) {
    .dtv-front-hero-content {
        left: 104px;
        right: 72px;
        bottom: 118px;
        max-width: min(720px, calc(100% - 176px));
    }

    .dtv-front-hero-content h1 {
        font-size: clamp(40px, 5.4vw, 56px);
        line-height: 1.02;
    }

    .dtv-front-slider-controls {
        left: 104px;
        right: 56px;
    }

    .dtv-front-hero-slider button.dtv-front-slider-dot {
        flex-basis: 58px;
        width: 58px;
        min-width: 36px;
    }
}

@media (max-width: 768px) {
    .dtv-front-hero-content {
        left: 24px;
        right: 24px;
        bottom: 108px;
        max-width: none;
    }

    .dtv-front-hero-content h1 {
        margin-top: 14px;
        font-size: clamp(31px, 8.8vw, 45px);
        line-height: 1.04;
        letter-spacing: -.55px;
        text-wrap: pretty;
    }

    .dtv-front-hero-content p {
        display: -webkit-box;
        margin-top: 14px;
        font-size: 15px;
        line-height: 1.42;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .dtv-front-hero-cta {
        margin-top: 16px;
        font-size: 13px;
    }

    .dtv-front-hero-cta::after {
        width: 48px;
    }

    .dtv-front-slider-dots {
        max-width: calc(100% - 58px);
        gap: 7px;
    }

    .dtv-front-hero-slider button.dtv-front-slider-dot {
        flex: 1 1 36px;
        width: auto;
        min-width: 24px;
        max-width: 56px;
        height: 4px;
    }
}

@media (max-width: 480px) {
    .dtv-front-slider-track {
        height: min(560px, 78vh);
        min-height: 470px;
    }

    .dtv-front-hero-content {
        left: 20px;
        right: 20px;
        bottom: 102px;
    }

    .dtv-front-hero-content h1 {
        font-size: clamp(29px, 9.5vw, 40px);
    }

    .dtv-front-badge {
        padding: 8px 12px;
        font-size: 10px;
    }

    .dtv-front-slider-controls {
        left: 20px;
        right: 20px;
    }
}

/* DTV bundle source: assets/css/components/live-strip.css */
/* ==========================================================
   dimosTV Design System
   DS4.4 — Premium Live Strip
========================================================== */

.dtv-live-strip {
    position: relative;
    z-index: 8;

    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: center;

    margin: -52px 0 clamp(56px, 6vw, 92px) !important;
    padding: 22px 26px;

    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--dtv-radius-2xl, 28px);

    background:
        radial-gradient(circle at 12% 20%, rgba(204,0,0,.22), transparent 30%),
        linear-gradient(135deg, #0F172A 0%, #1A2E4A 58%, #101827 100%);

    color: var(--dtv-color-text-inverse, #ffffff);

    box-shadow:
        var(--dtv-shadow-lg, 0 28px 80px rgba(15,23,42,.22)),
        inset 0 0 0 1px rgba(255,255,255,.04);

    overflow: hidden;

    isolation: isolate;
}

/* LBS-14 — compact scheduled strip. */
.dtv-live-strip--no-live {
    min-height: 0;
    grid-template-columns: minmax(520px, 1.35fr) minmax(300px, .65fr);
}

.dtv-live-strip--no-live .dtv-live-strip__epg--standalone {
    width: 100%;
    max-width: none;
}

.dtv-live-strip--no-live .dtv-live-strip__epg-row {
    min-height: 64px;
}

.dtv-live-strip__preview-poster {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dtv-live-strip__badge.is-scheduled {
    background: rgba(231,238,247,.94);
    color: #1a2e4a;
}

.dtv-live-strip__badge.is-scheduled i {
    background: #5f7898;
    box-shadow: 0 0 0 4px rgba(95,120,152,.16);
}

.dtv-live-strip--no-live .dtv-live-strip__label,
.dtv-live-strip--no-live .dtv-live-strip__epg-heading span,
.dtv-live-strip--no-live .dtv-live-strip__show small {
    text-transform: uppercase;
}

.dtv-live-strip__schedule-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 14px;
    padding: 9px 15px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.dtv-live-strip__schedule-link:hover,
.dtv-live-strip__schedule-link:focus-visible {
    border-color: #cc0000;
    background: #cc0000;
    color: #fff;
}

.dtv-live-strip::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -1;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.05),
            rgba(255,255,255,0) 38%,
            rgba(255,255,255,.04)
        );

    pointer-events: none;
}

.dtv-live-strip__status {
    display: flex;
    gap: 14px;
    align-items: center;
}

.dtv-live-strip__live-dot {
    position: relative;

    width: 12px;
    height: 12px;

    border-radius: 50%;

    background: var(--dtv-color-primary, #CC0000);
    box-shadow:
        0 0 0 6px rgba(204,0,0,.14),
        0 0 22px rgba(204,0,0,.45);

    animation: dtvLivePulse 1.8s infinite;
}

.dtv-live-strip__live-dot::after {
    content: "";

    position: absolute;
    inset: -10px;

    border-radius: inherit;

    border: 1px solid rgba(204,0,0,.28);

    animation: dtvLiveRing 1.8s infinite;
}

.dtv-live-strip__label {
    display: block;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif);
    font-size: 24px;
    font-weight: var(--dtv-font-weight-black, 900);
    line-height: 1;
    letter-spacing: .03em;

    color: #fff;
}

.dtv-live-strip__status p,
.dtv-live-strip__info p {
    margin: 6px 0 0;

    color: rgba(255,255,255,.72);

    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

/* Current live */
.dtv-live-strip__current {
    display: grid;
    grid-template-columns: 178px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.dtv-live-strip__thumb {
    position: relative;

    height: 104px;

    border-radius: var(--dtv-radius-lg, 18px);
    overflow: hidden;

    background:
        radial-gradient(circle at 50% 40%, rgba(204,0,0,.32), transparent 44%),
        linear-gradient(135deg, rgba(204,0,0,.92), rgba(0,102,204,.88)),
        var(--dtv-color-surface-dark, #0F172A);

    box-shadow: 0 18px 42px rgba(0,0,0,.26);
}

.dtv-live-strip__thumb::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(5,10,20,.72),
            rgba(5,10,20,.08)
        );

    pointer-events: none;
}

.dtv-live-strip__badge {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 6px 10px;

    border-radius: var(--dtv-radius-pill, 999px);

    background: var(--dtv-color-primary, #CC0000);
    color: #ffffff;

    font-size: 11px;
    font-weight: var(--dtv-font-weight-black, 900);
    line-height: 1;
    letter-spacing: .06em;

    box-shadow: 0 10px 24px rgba(0,0,0,.28);
}

.dtv-live-strip__info :is(h2, h4) {
    margin: 0;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif);
    color: #ffffff;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: var(--dtv-font-weight-black, 900);
    line-height: 1.05;
}

.dtv-live-strip__watch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin-top: 14px;
    padding: 10px 15px;

    border-radius: var(--dtv-radius-pill, 999px);

    background: var(--dtv-color-primary, #CC0000);
    color: #fff;

    font-size: 12px;
    font-weight: var(--dtv-font-weight-black, 900);
    line-height: 1;
    letter-spacing: .04em;
    text-decoration: none;

    box-shadow: 0 14px 34px rgba(204,0,0,.28);

    transition:
        transform var(--dtv-motion-normal, .22s ease),
        background var(--dtv-motion-normal, .22s ease),
        box-shadow var(--dtv-motion-normal, .22s ease);
}

.dtv-live-strip__watch:hover,
.dtv-live-strip__watch:focus-visible {
    transform: translateY(-2px);
    background: var(--dtv-color-primary-hover, #E00000);
    box-shadow: 0 18px 44px rgba(204,0,0,.34);
}

.dtv-live-strip__watch:focus-visible {
    outline: 3px solid var(--dtv-color-secondary, #0066CC);
    outline-offset: 4px;
}

.dtv-live-strip__watch svg {
    display: block;

    width: 14px;
    height: 14px;

    margin-left: 1px;
}

/* EPG */
.dtv-live-strip__epg {
    border-left: 1px solid rgba(255,255,255,.14);
    padding-left: 26px;
}

.dtv-live-strip__epg :is(h3, h5) {
    margin: 0 0 12px;

    color: rgba(255,255,255,.62);

    font-size: 12px;
    font-weight: var(--dtv-font-weight-black, 900);
    letter-spacing: .10em;
    text-transform: uppercase;
}

.dtv-live-strip__epg-row {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;

    padding: 7px 0;
}

.dtv-live-strip__epg-row.is-next {
    margin: 4px 0;
    padding: 9px 11px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--dtv-radius-md, 14px);

    background: rgba(255,255,255,.08);

    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}

.dtv-live-strip__time {
    color: #ff6b6b;

    font-size: 13px;
    font-weight: var(--dtv-font-weight-black, 900);
}

.dtv-live-strip__show {
    color: #ffffff;

    font-size: 14px;
    font-weight: 800;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@keyframes dtvLivePulse {
    0%,
    100% {
        opacity: .70;
        transform: scale(.96);
    }

    50% {
        opacity: 1;
        transform: scale(1.16);
    }
}

@keyframes dtvLiveRing {
    0% {
        opacity: .75;
        transform: scale(.76);
    }

    100% {
        opacity: 0;
        transform: scale(1.45);
    }
}

/* Tablet */
@media (max-width: 1100px) {
    .dtv-live-strip {
        grid-template-columns: 1fr;
        gap: 22px;

        margin-top: -34px !important;
    }

    .dtv-live-strip__current {
        grid-template-columns: 180px minmax(0, 1fr);
    }

    .dtv-live-strip__epg {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.14);

        padding-left: 0;
        padding-top: 18px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .dtv-live-strip {
        gap: 20px;

        margin: -24px 0 58px !important;
        padding: 20px;

        border-radius: var(--dtv-radius-xl, 22px);
    }

    .dtv-live-strip__status {
        align-items: flex-start;
    }

    .dtv-live-strip__label {
        font-size: 22px;
    }

    .dtv-live-strip__current {
        grid-template-columns: 1fr;
    }

    .dtv-live-strip__thumb {
        height: 150px;
        border-radius: var(--dtv-radius-lg, 18px);
    }

    .dtv-live-strip__info :is(h2, h4) {
        font-size: 26px;
    }

    .dtv-live-strip__watch {
        width: 100%;
        min-height: 44px;
    }

    .dtv-live-strip__epg-row {
        grid-template-columns: 54px minmax(0, 1fr);
    }
}

/* ==========================================================
   FE-08 — Player-first Live Preview
========================================================== */
.dtv-live-strip {
    grid-template-columns: minmax(420px, 1.35fr) minmax(280px, .65fr);
    gap: clamp(22px, 3vw, 42px);
    align-items: stretch;
    padding: clamp(18px, 2vw, 28px);
}

.dtv-live-strip__current {
    grid-template-columns: minmax(260px, 1.1fr) minmax(210px, .9fr);
    gap: clamp(18px, 2vw, 30px);
    align-items: center;
}

.dtv-live-strip__thumb,
.dtv-live-strip__preview {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    background: #080d17;
    box-shadow: 0 22px 54px rgba(0,0,0,.38);
}

.dtv-live-strip__preview-frame,
.dtv-live-strip__preview-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    pointer-events: none;
}

.dtv-live-strip__badge {
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

.dtv-live-strip__badge i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255,255,255,.18);
}

.dtv-live-strip__preview-source {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 3;
    padding: 6px 9px;
    border-radius: 999px;
    color: #fff;
    background: rgba(5,10,20,.72);
    backdrop-filter: blur(8px);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dtv-live-strip__status {
    margin-bottom: 12px;
}

.dtv-live-strip__label {
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    background: rgba(204,0,0,.18);
    border: 1px solid rgba(255,76,76,.36);
    font-size: 11px;
    letter-spacing: .1em;
}

.dtv-live-strip__epg {
    align-self: stretch;
    padding: 4px 0 4px clamp(20px, 2.4vw, 34px);
    border-left: 1px solid rgba(255,255,255,.13);
}

.dtv-live-strip__epg-heading span {
    color: #ff6b6b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
}

.dtv-live-strip__epg-heading h3 {
    margin: 5px 0 16px;
    color: #fff;
    font-size: clamp(19px, 1.8vw, 25px);
}

.dtv-live-strip__epg-row {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px 0;
    border-top: 1px solid rgba(255,255,255,.1);
}

.dtv-live-strip__time {
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.dtv-live-strip__show strong,
.dtv-live-strip__show small {
    display: block;
}

.dtv-live-strip__show strong {
    color: rgba(255,255,255,.9);
    font-size: 13px;
    line-height: 1.3;
}

.dtv-live-strip__show small {
    margin-top: 4px;
    color: #ff6b6b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

@media (max-width: 1100px) {
    .dtv-live-strip {
        grid-template-columns: 1fr;
    }

    .dtv-live-strip__epg {
        padding: 20px 0 0;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.13);
    }
}

@media (max-width: 720px) {
    .dtv-live-strip__current {
        grid-template-columns: 1fr;
    }

    .dtv-live-strip__thumb,
    .dtv-live-strip__preview {
        height: auto;
        min-height: 0;
    }
}

/* ==========================================================
   CMS 1.4C.2 — Live Strip compact preview
========================================================== */

.dtv-live-strip__preview {
    display: block;
    color: inherit;
    text-decoration: none;
}

.dtv-live-strip__preview iframe,
.dtv-live-strip__preview video,
.dtv-live-strip__preview-frame,
.dtv-live-strip__preview-video {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    background: #050a14;
    pointer-events: none;
}

.dtv-live-strip__preview::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at 50% 42%, rgba(255,255,255,.10), transparent 34%),
        linear-gradient(to top, rgba(5,10,20,.72), rgba(5,10,20,.12) 55%, rgba(5,10,20,.26));
    pointer-events: none;
}

.dtv-live-strip__preview::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
    pointer-events: none;
}

.dtv-live-strip__preview-fallback {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 42%, rgba(204,0,0,.34), transparent 42%),
        linear-gradient(135deg, rgba(204,0,0,.92), rgba(0,102,204,.88)),
        #0f172a;
}

.dtv-live-strip__preview.has-poster .dtv-live-strip__preview-fallback {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(8,13,23,.78) 0%, rgba(8,13,23,.26) 56%, rgba(8,13,23,.08) 100%),
        linear-gradient(to top, rgba(8,13,23,.74), transparent 58%);
}

.dtv-live-strip__preview.has-poster .dtv-live-strip__preview-fallback strong,
.dtv-live-strip__preview.has-poster .dtv-live-strip__preview-fallback small {
    text-shadow: 0 2px 12px rgba(0,0,0,.8);
}

.dtv-live-strip__preview-play {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    color: #fff;
    backdrop-filter: blur(10px);
    box-shadow: 0 16px 34px rgba(0,0,0,.24);
}

.dtv-live-strip__preview-fallback strong {
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dtv-live-strip__preview-fallback small {
    max-width: 86%;
    color: rgba(255,255,255,.74);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dtv-live-strip__preview-caption {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 3;
    max-width: calc(100% - 20px);
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(5,10,20,.66);
    color: rgba(255,255,255,.92);
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    backdrop-filter: blur(10px);
}

.dtv-live-strip__meta {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,.58);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
}

.dtv-live-strip__preview:hover,
.dtv-live-strip__preview:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 22px 52px rgba(0,0,0,.32);
}

.dtv-live-strip__preview:focus-visible {
    outline: 3px solid var(--dtv-color-secondary, #0066CC);
    outline-offset: 4px;
}

.dtv-live-strip__preview:hover .dtv-live-strip__preview-caption,
.dtv-live-strip__preview:focus-visible .dtv-live-strip__preview-caption {
    background: rgba(204,0,0,.86);
}

@media (max-width: 768px) {
    .dtv-live-strip__preview-caption {
        right: 12px;
        bottom: 12px;
        font-size: 11px;
    }

    .dtv-live-strip__preview-play {
        width: 52px;
        height: 52px;
    }
}


/* ==========================================================
   CMS 1.4C.3 — Live Strip UI tune
   - larger live preview card
   - no preview caption overlay
   - source moved under current program title
   - safer hover colors
   - updated upcoming copy / empty state
========================================================== */

.dtv-live-strip {
    grid-template-columns: 190px minmax(520px, 1fr) 390px;
    gap: 30px;
    padding: 24px 28px;
}

.dtv-live-strip__current {
    grid-template-columns: clamp(220px, 18vw, 280px) minmax(0, 1fr);
    gap: 22px;
}

.dtv-live-strip__thumb,
.dtv-live-strip__preview {
    min-height: 132px;
    height: 132px;
}

.dtv-live-strip__preview-caption {
    display: none !important;
}

.dtv-live-strip__source-name {
    margin-top: 8px !important;
    color: rgba(255,255,255,.78) !important;
    font-weight: 800 !important;
}

.dtv-live-strip__watch,
.dtv-live-strip__watch:visited,
.dtv-live-strip__watch:hover,
.dtv-live-strip__watch:focus,
.dtv-live-strip__watch:focus-visible,
.dtv-live-strip__watch:hover span,
.dtv-live-strip__watch:focus-visible span,
.dtv-live-strip__watch svg {
    color: #ffffff !important;
}

.dtv-live-strip__watch:hover,
.dtv-live-strip__watch:focus-visible {
    background: #b80000;
}

.dtv-live-strip__epg :is(h3, h5) {
    text-transform: none;
    letter-spacing: .02em;
    color: rgba(255,255,255,.74);
}

.dtv-live-strip__epg-row.is-empty {
    display: block;
    padding: 12px 0 0;
}

.dtv-live-strip__epg-row.is-empty .dtv-live-strip__show {
    color: rgba(255,255,255,.62);
    white-space: normal;
    font-weight: 700;
}

@media (max-width: 1200px) {
    .dtv-live-strip {
        grid-template-columns: 1fr;
    }

    .dtv-live-strip__current {
        grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    }
}

@media (max-width: 768px) {
    .dtv-live-strip__current {
        grid-template-columns: 1fr;
    }

    .dtv-live-strip__thumb,
    .dtv-live-strip__preview {
        min-height: 190px;
        height: 190px;
    }
}


/* R01.4 canonical UPCOMING/IDLE composition. */

.dtv-live-strip--no-live {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    padding: 24px 28px;
}

.dtv-live-strip--upcoming {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: clamp(22px, 2.5vw, 36px);
}

.dtv-live-strip--upcoming .dtv-live-strip__current {
    display: grid;
    grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr);
    gap: clamp(20px, 2.2vw, 32px);
    align-items: center;
}

.dtv-live-strip--upcoming .dtv-live-strip__thumb,
.dtv-live-strip--upcoming .dtv-live-strip__preview {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
}

.dtv-live-strip--upcoming .dtv-live-strip__thumb::after,
.dtv-live-strip--upcoming .dtv-live-strip__preview::before {
    background: linear-gradient(to top, rgba(5,10,20,.22), rgba(5,10,20,0) 52%);
}

.dtv-live-strip--upcoming .dtv-live-strip__preview {
    cursor: default;
    box-shadow: 0 18px 42px rgba(0,0,0,.24);
}

.dtv-live-strip--upcoming .dtv-live-strip__preview:hover {
    transform: none;
    box-shadow: 0 18px 42px rgba(0,0,0,.24);
}

.dtv-live-strip--upcoming .dtv-live-strip__info {
    min-width: 0;
}

.dtv-live-strip--upcoming .dtv-live-strip__info h2 {
    font-size: clamp(21px, 1.65vw, 28px);
    line-height: 1.08;
}

.dtv-live-strip--upcoming .dtv-live-strip__epg {
    min-width: 0;
    padding-left: clamp(20px, 2vw, 30px);
}

.dtv-live-strip--upcoming .dtv-live-strip__epg-row {
    grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
    gap: 14px;
}

.dtv-live-strip--upcoming .dtv-live-strip__show {
    white-space: normal;
}

.dtv-live-strip--upcoming .dtv-live-strip__show strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dtv-live-strip--idle .dtv-live-strip__epg {
    border-left: 0;
    padding-left: 0;
}

.dtv-live-strip__epg--standalone {
    border-left: 0;
    padding-left: 0;
    width: 100%;
}

.dtv-live-strip__epg--standalone h5 {
    margin-bottom: 14px;
    color: #ffffff;
    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif);
    font-size: clamp(20px, 2vw, 28px);
    font-weight: var(--dtv-font-weight-black, 900);
    line-height: 1.05;
}

.dtv-live-strip__epg--standalone .dtv-live-strip__epg-row {
    max-width: 720px;
}

/* FE-09 canonical live composition: final override after legacy tune layers. */
.dtv-live-strip.dtv-live-strip--is-live {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
    gap: clamp(24px, 3vw, 42px);
    padding: clamp(20px, 2.4vw, 32px);
}
.dtv-live-strip--is-live .dtv-live-strip__current {
    display: grid;
    grid-template-columns: minmax(360px, 1.2fr) minmax(230px, .8fr);
    gap: clamp(20px, 2.4vw, 34px);
    align-items: center;
}
.dtv-live-strip--is-live .dtv-live-strip__thumb,
.dtv-live-strip--is-live .dtv-live-strip__preview {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
}
.dtv-live-strip__preview-poster {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dtv-live-strip__preview-poster + .dtv-live-strip__preview-frame,
.dtv-live-strip__preview-poster + .dtv-live-strip__preview-video {
    z-index: 1;
}
@media (max-width: 1180px) {
    .dtv-live-strip.dtv-live-strip--is-live { grid-template-columns: 1fr; }
    .dtv-live-strip--is-live .dtv-live-strip__epg { border-left: 0; border-top: 1px solid rgba(255,255,255,.13); padding: 22px 0 0; }
}
@media (max-width: 760px) {
    .dtv-live-strip--is-live .dtv-live-strip__current { grid-template-columns: 1fr; }
}

.dtv-live-strip__epg--standalone .dtv-live-strip__epg-row.is-empty {
    max-width: none;
    padding-top: 4px;
}

.dtv-live-strip__epg--standalone .dtv-live-strip__epg-row.is-empty .dtv-live-strip__show {
    color: rgba(255,255,255,.68);
    font-size: 15px;
}

@media (max-width: 768px) {
    .dtv-live-strip--no-live {
        padding: 20px;
    }

    .dtv-live-strip__epg--standalone .dtv-live-strip__epg-row {
        max-width: none;
    }
}

@media (max-width: 1180px) {
    .dtv-live-strip--upcoming { grid-template-columns: 1fr; }
    .dtv-live-strip--upcoming .dtv-live-strip__epg { border-left: 0; border-top: 1px solid rgba(255,255,255,.13); padding: 22px 0 0; }
}

/* R01.5 Correction 01: tablet UPCOMING information must use its natural
   height. The legacy editorial two-line clamp is intentionally neutralised
   only in the tablet range so long Greek event titles are not truncated. */
@media (min-width: 761px) and (max-width: 960px) {
    .dtv-live-strip--upcoming .dtv-live-strip__current {
        grid-template-columns: minmax(220px, 1.05fr) minmax(0, .95fr);
        align-items: center;
    }

    .dtv-live-strip--upcoming .dtv-live-strip__info h2 {
        display: block;
        overflow: visible;
        -webkit-box-orient: initial;
        -webkit-line-clamp: unset;
        font-size: clamp(20px, 2.7vw, 23px);
        line-height: 1.08;
    }
}

@media (max-width: 760px) {
    .dtv-live-strip--upcoming {
        height: auto;
        max-height: none;
        grid-auto-rows: max-content;
        align-items: start;
        gap: 22px !important;
        overflow: hidden;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__current {
        grid-template-columns: 1fr;
        gap: 14px !important;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__thumb,
    .dtv-live-strip--upcoming .dtv-live-strip__preview { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
    .dtv-live-strip--upcoming .dtv-live-strip__info {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__info .dtv-live-strip__status,
    .dtv-live-strip--upcoming .dtv-live-strip__info h2,
    .dtv-live-strip--upcoming .dtv-live-strip__source-name,
    .dtv-live-strip--upcoming .dtv-live-strip__watch {
        margin-top: 0;
        margin-bottom: 0;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__watch {
        margin-top: 4px;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__epg {
        display: block !important;
        width: 100%;
        min-width: 0;
        height: auto;
        max-height: none;
        overflow: visible;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.13);
        padding: 20px 0 0;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__epg-heading {
        margin-bottom: 10px;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__epg-heading span {
        display: block;
        margin-bottom: 5px;
        font-size: 11px;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__epg-heading h3 {
        margin-bottom: 0;
        font-size: 17px;
        line-height: 1.15;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__epg-row {
        width: 100%;
        grid-template-columns: minmax(76px, auto) minmax(0, 1fr);
        gap: 12px;
        padding-block: 9px;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__epg-row.is-next {
        margin-block: 0;
        padding: 10px 11px;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__time {
        font-size: 12px;
        white-space: nowrap;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__show strong {
        font-size: 13px;
        line-height: 1.28;
    }
    .dtv-live-strip--upcoming .dtv-live-strip__schedule-link {
        width: 100%;
        min-height: 44px;
        margin-top: 12px;
    }
}

/* DTV bundle source: assets/css/components/section-header.css */
/* DTV-FE01 — Canonical DTV Network Section Header */
.dtv-front-section-header,.dtv-section-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:clamp(22px,2.4vw,32px)}.dtv-front-section-header h2,.dtv-section-header h2{display:inline-flex;align-items:center;gap:12px;margin:0;color:var(--dtv-color-text);font-family:var(--dtv-font-heading);font-size:var(--dtv-text-heading-xl);font-weight:var(--dtv-font-weight-bold);line-height:var(--dtv-line-heading);letter-spacing:-.01em;text-transform:uppercase}.dtv-front-section-header h2:before,.dtv-section-header h2:before{content:"";flex:0 0 3px;width:3px;height:22px;border-radius:var(--dtv-radius-pill);background:var(--dtv-color-primary)}.dtv-front-section-header a,.dtv-section-header a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--dtv-color-primary);font-family:var(--dtv-font-body);font-size:12px;font-weight:var(--dtv-font-weight-bold);line-height:1.2;text-decoration:none;transition:color var(--dtv-motion-normal),transform var(--dtv-motion-normal)}.dtv-front-section-header a:after,.dtv-section-header a:after{content:"→"}.dtv-front-section-header a:has(>svg):after,.dtv-section-header a:has(>svg):after{content:""}.dtv-front-section-header a:hover,.dtv-front-section-header a:focus-visible,.dtv-section-header a:hover,.dtv-section-header a:focus-visible{color:var(--dtv-color-primary-hover);transform:translateX(3px)}.dtv-section-title-group{display:grid;gap:8px}.dtv-section-subtitle{max-width:620px;margin:0 0 0 15px;color:var(--dtv-color-text-soft);font-size:14px;font-weight:500;line-height:1.45}.dtv-front-section-header--continue h2{text-transform:none}.dtv-front-section-header--continue h2:before{display:none}@media(max-width:767px){.dtv-front-section-header,.dtv-section-header{gap:12px;margin-bottom:20px}.dtv-front-section-header h2,.dtv-section-header h2{font-size:clamp(21px,6vw,24px)}.dtv-front-section-header h2:before,.dtv-section-header h2:before{height:20px}.dtv-front-section-header a,.dtv-section-header a{font-size:11px}}

/* DTV bundle source: assets/css/components/section-layout.css */
/* ==========================================================
   dimosTV Design System
   DS4.1 — Premium Section Layout System
========================================================== */

/* ==========================================================
   Global section rhythm
========================================================== */

.dtv-front-section,
.dtv-carousel-section,
.dtv-continue-watching {
    position: relative;

    margin-block: clamp(56px, 6vw, 96px) !important;
}

/* Slightly tighter section after Live Strip */
.dtv-live-strip + .dtv-continue-watching,
.dtv-live-strip + .dtv-carousel-section {
    margin-top: clamp(48px, 5vw, 80px) !important;
}

/* Section-header appearance is owned by section-header.css (DTV-FE01). */

/* ==========================================================
   Continue Watching exception
========================================================== */

.dtv-front-section-header--continue {
    margin-bottom: 22px !important;
}

.dtv-front-section-header--continue::after {
    display: none;
}

.dtv-front-section-header--continue h2 {
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.dtv-front-section-header--continue h2::before {
    display: none;
}

/* ==========================================================
   Carousel row spacing inside section
========================================================== */

.dtv-carousel-shell {
    margin-top: 0 !important;
}

.dtv-carousel-row {
    padding-top: 8px !important;
}

/* ==========================================================
   Empty / single-card sections
   Prevent huge vertical gaps from lonely carousel items
========================================================== */

.dtv-carousel-section:has(.dtv-carousel-row > .dtv-video-card:only-child) {
    margin-bottom: clamp(56px, 6vw, 88px) !important;
}

.dtv-carousel-section:has(.dtv-carousel-row > .dtv-video-card:only-child) .dtv-carousel-row {
    min-height: auto !important;
}

/* ==========================================================
   Mobile
========================================================== */

@media (max-width: 768px) {
    .dtv-front-section,
    .dtv-carousel-section,
    .dtv-continue-watching {
        margin-block: 58px !important;
    }

    .dtv-front-section-header,
    .dtv-section-header {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;

        margin-bottom: 24px !important;
        padding-inline: 0;
    }

    .dtv-front-section-header::after,
    .dtv-section-header::after {
        bottom: -10px;
    }

    .dtv-front-section-header h2,
    .dtv-section-header h2 {
        gap: 10px;

        font-size: clamp(28px, 8vw, 38px) !important;
        letter-spacing: .005em !important;
    }

    .dtv-front-section-header h2::before,
    .dtv-section-header h2::before {
        width: 4px;
    }

    .dtv-front-section-header a,
    .dtv-section-header a {
        margin-bottom: 4px;

        font-size: 13px !important;
        white-space: nowrap;
    }

    .dtv-section-subtitle {
        display: none;
    }
}

@media (max-width: 420px) {
    .dtv-front-section-header,
    .dtv-section-header {
        gap: 8px;
    }

    .dtv-front-section-header h2,
    .dtv-section-header h2 {
        font-size: 30px !important;
    }

    .dtv-front-section-header a,
    .dtv-section-header a {
        font-size: 12px !important;
    }
}

/* DTV bundle source: assets/css/components/carousel.css */
/* ==========================================================
   dimosTV Design System
   DS4.2 — Premium Carousel System
========================================================== */

.dtv-carousel-shell {
    position: relative;

    overflow: visible;

    isolation: isolate;
}

/* Edge fades */
.dtv-carousel-shell::before,
.dtv-carousel-shell::after {
    content: "";

    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 12;

    width: 72px;

    pointer-events: none;

    opacity: 0;

    transition: opacity var(--dtv-motion-normal, .22s ease);
}

.dtv-carousel-shell::before {
    left: 0;

    background:
        linear-gradient(
            90deg,
            var(--dtv-color-page, #F4F7FB) 0%,
            rgba(244,247,251,.86) 35%,
            rgba(244,247,251,0) 100%
        );
}

.dtv-carousel-shell::after {
    right: 0;

    background:
        linear-gradient(
            270deg,
            var(--dtv-color-page, #F4F7FB) 0%,
            rgba(244,247,251,.86) 35%,
            rgba(244,247,251,0) 100%
        );
}

.dtv-carousel-shell.can-scroll-left::before {
    opacity: 1;
}

.dtv-carousel-shell.can-scroll-right::after {
    opacity: 1;
}

/* Row */
.dtv-carousel-row {
    position: relative;
    z-index: 1;

    display: flex;
    gap: clamp(18px, 2vw, 28px);

    overflow-x: auto;
    overflow-y: visible;

    padding: 10px 8px 28px;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 8px;

    scrollbar-width: none;
    -ms-overflow-style: none;

    cursor: grab;
    user-select: none;
    touch-action: pan-x pan-y;

    -webkit-overflow-scrolling: touch;
}

.dtv-carousel-row::-webkit-scrollbar {
    display: none;
}

.dtv-carousel-row > * {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.dtv-carousel-row.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}

.dtv-carousel-row.is-dragging > * {
    pointer-events: none;
}

/* Controls */
.dtv-carousel-arrow,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 30 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: var(--dtv-radius-pill, 999px) !important;

    background: rgba(15,23,42,.62) !important;
    background-image: none !important;
    color: var(--dtv-color-text-inverse, #ffffff) !important;

    font-size: 0 !important;
    line-height: 1 !important;

    box-shadow:
        0 18px 44px rgba(15,23,42,.24),
        inset 0 0 0 1px rgba(255,255,255,.08) !important;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    cursor: pointer !important;
    pointer-events: auto !important;

    transform: translateY(-50%) scale(1) !important;

    transition:
        background var(--dtv-motion-normal, .22s ease),
        transform var(--dtv-motion-normal, .22s ease),
        opacity var(--dtv-motion-normal, .22s ease),
        box-shadow var(--dtv-motion-normal, .22s ease);
}

.dtv-carousel-arrow::before,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow::before {
    content: "";

    width: 12px;
    height: 12px;

    border-top: 3px solid currentColor;
    border-right: 3px solid currentColor;
}

.dtv-carousel-arrow--prev::before,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev::before {
    transform: rotate(-135deg);
    margin-left: 4px;
}

.dtv-carousel-arrow--next::before,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next::before {
    transform: rotate(45deg);
    margin-right: 4px;
}

.dtv-carousel-arrow:hover,
.dtv-carousel-arrow:focus-visible,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow:hover,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow:focus-visible {
    background: var(--dtv-color-primary, #CC0000) !important;
    transform: translateY(-50%) scale(1.08) !important;
    box-shadow:
        0 18px 52px rgba(204,0,0,.28),
        0 18px 52px rgba(15,23,42,.22) !important;
}

.dtv-carousel-arrow:focus-visible,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow:focus-visible {
    outline: 3px solid var(--dtv-color-secondary, #0066CC) !important;
    outline-offset: 4px !important;
}

.dtv-carousel-arrow:disabled,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow:disabled {
    opacity: 0 !important;
    pointer-events: none !important;
    cursor: default !important;
}

.dtv-carousel-arrow--prev,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {
    left: -22px !important;
}

.dtv-carousel-arrow--next,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {
    right: -22px !important;
}

/* Progress */
.dtv-carousel-progress {
    position: relative;

    height: 3px;

    margin: 2px 8px 0;

    border-radius: var(--dtv-radius-pill, 999px);

    overflow: hidden;

    background: rgba(26,46,74,.10);
}

.dtv-carousel-progress__bar {
    display: block;

    width: 0;
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            var(--dtv-color-primary, #CC0000),
            var(--dtv-color-primary-hover, #E00000)
        );

    box-shadow: 0 0 18px rgba(204,0,0,.35);

    transition: width var(--dtv-motion-normal, .22s ease);
}

/* Mobile */
@media (max-width: 768px) {
    .dtv-carousel-shell {
        padding-inline: 0 !important;
        padding-bottom: 58px !important;
    }

    .dtv-carousel-shell::before,
    .dtv-carousel-shell::after {
        width: 42px;
    }

    .dtv-carousel-row {
        gap: 18px !important;
        padding: 8px 18px 20px !important;
        scroll-padding-inline: 18px;
    }

    .dtv-carousel-arrow,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
        top: auto !important;
        bottom: 6px !important;

        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;

        transform: none !important;

        background: rgba(15,23,42,.82) !important;
    }

    .dtv-carousel-arrow:hover,
    .dtv-carousel-arrow:focus-visible,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow:hover,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow:focus-visible {
        transform: none !important;
    }

    .dtv-carousel-arrow--prev,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {
        left: calc(50% - 56px) !important;
        right: auto !important;
    }

    .dtv-carousel-arrow--next,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {
        right: calc(50% - 56px) !important;
        left: auto !important;
    }

    .dtv-carousel-progress {
        margin-inline: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-carousel-row {
        scroll-behavior: auto;
    }

    .dtv-carousel-arrow,
    .dtv-carousel-progress__bar {
        transition: none !important;
    }
}

/* DTV bundle source: assets/css/components/video-card.css */
/* ==========================================================
   dimosTV Design System
   DS3.2 RC4 — Final Adaptive Video Cards
   Force full-card media fill
   short      = 9:16
   poster     = 5:4
   landscape  = 16:9
========================================================== */

/* Base card */
.dtv-video-card {
    position: relative !important;

    border-radius: var(--dtv-radius-xl, 22px) !important;
    overflow: hidden !important;

    background: var(--dtv-color-surface-dark, #0F172A) !important;
    box-shadow: var(--dtv-shadow-md, 0 18px 46px rgba(15,23,42,.14)) !important;

    transform: translateZ(0);

    transition:
        transform var(--dtv-motion-normal, .22s ease),
        box-shadow var(--dtv-motion-normal, .22s ease);
}

.dtv-video-card:hover,
.dtv-video-card:focus-within {
    transform: translateY(-6px);
    box-shadow: var(--dtv-shadow-lg, 0 28px 80px rgba(15,23,42,.22)) !important;
}

/* The link becomes the actual card canvas */
.dtv-video-card > .dtv-video-card__link {
    position: relative !important;
    display: block !important;

    width: 100% !important;
    height: auto !important;

    color: var(--dtv-color-text-inverse, #ffffff) !important;
    text-decoration: none !important;

    overflow: hidden !important;
}

/* Ratios */
.dtv-video-card--short {
    flex: 0 0 260px !important;
    max-width: 260px !important;
}

.dtv-video-card--short > .dtv-video-card__link {
    aspect-ratio: 9 / 16 !important;
}

.dtv-video-card--poster {
    flex: 0 0 360px !important;
    max-width: 360px !important;
}

.dtv-video-card--poster > .dtv-video-card__link {
    aspect-ratio: 5 / 4 !important;
}

.dtv-video-card--landscape {
    flex: 0 0 420px !important;
    max-width: 420px !important;
}

.dtv-video-card--landscape > .dtv-video-card__link {
    aspect-ratio: 16 / 9 !important;
}

/* Media must fill the whole card */
.dtv-video-card .dtv-video-card__media {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    aspect-ratio: auto !important;

    display: block !important;

    overflow: hidden !important;

    background:
        radial-gradient(circle at 50% 30%, rgba(0,102,204,.22), transparent 44%),
        linear-gradient(135deg, #101827, #1A2E4A) !important;
}

/* Thumbnail / featured image full bleed */
.dtv-video-card .dtv-video-card__media > img {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;
    min-width: 100% !important;
    min-height: 100% !important;

    object-fit: cover !important;
    object-position: center !important;

    display: block !important;

    transform: scale(1);

    transition:
        transform var(--dtv-motion-slow, .34s ease),
        filter var(--dtv-motion-normal, .22s ease);
}

.dtv-video-card:hover .dtv-video-card__media > img,
.dtv-video-card:focus-within .dtv-video-card__media > img {
    transform: scale(1.055);
    filter: saturate(1.05) contrast(1.04);
}

/* Placeholder */
.dtv-video-card__placeholder {
    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: rgba(255,255,255,.88) !important;

    background:
        radial-gradient(circle at 50% 35%, rgba(204,0,0,.24), transparent 46%),
        linear-gradient(135deg, #101827, #1A2E4A) !important;
}

.dtv-video-card__placeholder span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 58px !important;
    height: 58px !important;

    border-radius: var(--dtv-radius-pill, 999px) !important;

    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.22) !important;

    box-shadow: var(--dtv-shadow-control, 0 14px 36px rgba(0,0,0,.28)) !important;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Overlay */
.dtv-video-card__shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;

    display: block !important;

    background:
        linear-gradient(
            to top,
            rgba(5,10,20,.94) 0%,
            rgba(5,10,20,.72) 30%,
            rgba(5,10,20,.30) 58%,
            rgba(5,10,20,.04) 100%
        ),
        linear-gradient(
            135deg,
            rgba(204,0,0,.10),
            rgba(0,102,204,.10)
        ) !important;

    pointer-events: none !important;
}

.dtv-video-card--poster .dtv-video-card__shade,
.dtv-video-card--landscape .dtv-video-card__shade {
    background:
        linear-gradient(
            to top,
            rgba(5,10,20,.90) 0%,
            rgba(5,10,20,.58) 38%,
            rgba(5,10,20,.14) 70%,
            rgba(5,10,20,0) 100%
        ),
        linear-gradient(
            135deg,
            rgba(204,0,0,.08),
            rgba(0,102,204,.08)
        ) !important;
}

/* Badge / duration */
.dtv-video-card__badge {
    position: absolute !important;
    left: 12px !important;
    top: 12px !important;
    z-index: 7 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 6px 10px !important;

    border-radius: var(--dtv-radius-pill, 999px) !important;

    background: var(--dtv-color-primary, #CC0000) !important;
    color: var(--dtv-color-text-inverse, #ffffff) !important;

    font-size: var(--dtv-text-label, 11px) !important;
    font-weight: var(--dtv-font-weight-black, 900) !important;
    line-height: 1 !important;
    letter-spacing: .04em !important;

    box-shadow: 0 10px 24px rgba(0,0,0,.26) !important;
}

.dtv-video-card__duration {
    position: absolute !important;
    right: 12px !important;
    top: 12px !important;
    z-index: 7 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 26px !important;
    padding: 5px 9px !important;

    border-radius: var(--dtv-radius-pill, 999px) !important;

    background: rgba(15,23,42,.88) !important;
    color: var(--dtv-color-text-inverse, #ffffff) !important;

    font-size: 12px !important;
    font-weight: var(--dtv-font-weight-black, 900) !important;
    line-height: 1 !important;

    box-shadow: 0 10px 24px rgba(0,0,0,.30) !important;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Center play */
.dtv-video-card__play {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 8 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 56px !important;
    height: 56px !important;

    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: var(--dtv-radius-pill, 999px) !important;

    background: rgba(255,255,255,.16) !important;
    color: var(--dtv-color-text-inverse, #ffffff) !important;

    box-shadow:
        0 16px 42px rgba(0,0,0,.34),
        inset 0 0 0 1px rgba(255,255,255,.10) !important;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    transform: translate(-50%, -50%) scale(1) !important;

    transition:
        transform var(--dtv-motion-normal, .22s ease),
        background var(--dtv-motion-normal, .22s ease),
        color var(--dtv-motion-normal, .22s ease),
        border-color var(--dtv-motion-normal, .22s ease),
        box-shadow var(--dtv-motion-normal, .22s ease);
}

.dtv-video-card__play svg {
    display: block !important;

    width: 22px !important;
    height: 22px !important;

    margin-left: 3px !important;
}

.dtv-video-card:hover .dtv-video-card__play,
.dtv-video-card:focus-within .dtv-video-card__play {
    transform: translate(-50%, -50%) scale(1.10) !important;

    background: var(--dtv-color-primary, #CC0000) !important;
    color: var(--dtv-color-text-inverse, #ffffff) !important;
    border-color: rgba(255,255,255,.86) !important;

    box-shadow:
        0 18px 52px rgba(204,0,0,.30),
        0 18px 52px rgba(0,0,0,.34) !important;
}

/* Copy on top of image/gradient */
.dtv-video-card__copy {
    position: absolute !important;
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 7 !important;

    display: block !important;

    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
}

.dtv-video-card__copy h3 {
    display: -webkit-box !important;

    margin: 0 !important;

    overflow: hidden !important;
    -webkit-box-orient: vertical !important;

    color: var(--dtv-color-text-inverse, #ffffff) !important;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    font-weight: var(--dtv-font-weight-bold, 800) !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;

    text-transform: none !important;

    text-shadow:
        0 2px 8px rgba(0,0,0,.42),
        0 8px 24px rgba(0,0,0,.32) !important;
}

.dtv-video-card--short .dtv-video-card__copy h3 {
    font-size: 22px !important;
    -webkit-line-clamp: 3 !important;
}

.dtv-video-card--poster .dtv-video-card__copy h3 {
    font-size: 24px !important;
    -webkit-line-clamp: 2 !important;
}

.dtv-video-card--landscape .dtv-video-card__copy h3 {
    font-size: 23px !important;
    -webkit-line-clamp: 2 !important;
}

.dtv-video-card__meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;

    margin-top: 8px !important;

    color: rgba(255,255,255,.78) !important;

    font-size: 13px !important;
    font-weight: 700 !important;

    text-shadow: 0 2px 8px rgba(0,0,0,.35) !important;
}

/* FE-08: publication date/time and municipality/region are editorial card data. */
.dtv-video-card__meta {
    white-space: normal !important;
    line-height: 1.35 !important;
}

/* Focus */
.dtv-video-card__link:focus-visible {
    outline: 3px solid var(--dtv-color-secondary, #0066CC) !important;
    outline-offset: 5px !important;
    border-radius: var(--dtv-radius-xl, 22px) !important;
}

/* Responsive */
@media (max-width: 1280px) {
    .dtv-video-card--short {
        flex-basis: 240px !important;
        max-width: 240px !important;
    }

    .dtv-video-card--poster {
        flex-basis: 330px !important;
        max-width: 330px !important;
    }

    .dtv-video-card--landscape {
        flex-basis: 380px !important;
        max-width: 380px !important;
    }
}

/* Mobile: one whole card visible */
@media (max-width: 768px) {
    .dtv-video-card {
        border-radius: var(--dtv-radius-lg, 18px) !important;
    }

    .dtv-video-card--short {
        flex: 0 0 min(76vw, 300px) !important;
        max-width: min(76vw, 300px) !important;
    }

    .dtv-video-card--poster {
        flex: 0 0 min(84vw, 340px) !important;
        max-width: min(84vw, 340px) !important;
    }

    .dtv-video-card--landscape {
        flex: 0 0 min(86vw, 360px) !important;
        max-width: min(86vw, 360px) !important;
    }

    .dtv-video-card__copy {
        left: 16px !important;
        right: 16px !important;
        bottom: 16px !important;
    }

    .dtv-video-card--short .dtv-video-card__copy h3,
    .dtv-video-card--poster .dtv-video-card__copy h3,
    .dtv-video-card--landscape .dtv-video-card__copy h3 {
        font-size: 21px !important;
    }

    .dtv-video-card__play {
        width: 54px !important;
        height: 54px !important;
    }

    .dtv-video-card__play svg {
        width: 21px !important;
        height: 21px !important;
    }

    .dtv-video-card__duration,
    .dtv-video-card__badge {
        top: 12px !important;
    }

    .dtv-video-card__badge {
        left: 12px !important;
    }

    .dtv-video-card__duration {
        right: 12px !important;
    }
}

@media (max-width: 420px) {
    .dtv-video-card--short {
        flex-basis: 78vw !important;
        max-width: 78vw !important;
    }

    .dtv-video-card--poster {
        flex-basis: 86vw !important;
        max-width: 86vw !important;
    }

    .dtv-video-card--landscape {
        flex-basis: 88vw !important;
        max-width: 88vw !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-video-card,
    .dtv-video-card__media img,
    .dtv-video-card__play {
        transition: none !important;
    }

    .dtv-video-card:hover,
    .dtv-video-card:focus-within,
    .dtv-video-card:hover .dtv-video-card__media img,
    .dtv-video-card:focus-within .dtv-video-card__media img {
        transform: none !important;
    }

    .dtv-video-card:hover .dtv-video-card__play,
    .dtv-video-card:focus-within .dtv-video-card__play {
        transform: translate(-50%, -50%) !important;
    }
}


/* === DS3.2 RC4 PATCH === */
/* Larger cards + improved mobile sizing */

/* Desktop */
.dtv-video-card--short{
    flex:0 0 312px !important;
    max-width:312px !important;
}

.dtv-video-card--poster{
    flex:0 0 432px !important;
    max-width:432px !important;
}

.dtv-video-card--landscape{
    flex:0 0 504px !important;
    max-width:504px !important;
}

/* Larger centered play button */
.dtv-video-card__play{
    width:64px !important;
    height:64px !important;
}

.dtv-video-card__play svg{
    width:24px !important;
    height:24px !important;
}

/* Tablet */
@media (max-width:1280px){

    .dtv-video-card--short{
        flex:0 0 280px !important;
        max-width:280px !important;
    }

    .dtv-video-card--poster{
        flex:0 0 390px !important;
        max-width:390px !important;
    }

    .dtv-video-card--landscape{
        flex:0 0 460px !important;
        max-width:460px !important;
    }

}

/* Mobile */
@media (max-width:768px){

    .dtv-video-card--short{
        flex:0 0 86vw !important;
        max-width:86vw !important;
    }

    .dtv-video-card--poster{
        flex:0 0 90vw !important;
        max-width:90vw !important;
    }

    .dtv-video-card--landscape{
        flex:0 0 92vw !important;
        max-width:92vw !important;
    }

    .dtv-video-card__play{
        width:64px !important;
        height:64px !important;
    }

    .dtv-video-card__play svg{
        width:24px !important;
        height:24px !important;
    }

    .dtv-video-card__copy{
        left:20px !important;
        right:20px !important;
        bottom:20px !important;
    }

    .dtv-video-card--short .dtv-video-card__copy h3{
        font-size:23px !important;
    }

    .dtv-video-card--poster .dtv-video-card__copy h3,
    .dtv-video-card--landscape .dtv-video-card__copy h3{
        font-size:22px !important;
    }
}

@media (max-width:420px){

    .dtv-video-card--short{
        flex-basis:88vw !important;
        max-width:88vw !important;
    }

    .dtv-video-card--poster{
        flex-basis:92vw !important;
        max-width:92vw !important;
    }

    .dtv-video-card--landscape{
        flex-basis:94vw !important;
        max-width:94vw !important;
    }

}

/* DTV bundle source: assets/css/components/card-lazy-renderer.css */
/* DS7.2F.2 — Production video-card image states */

.dtv-video-card[data-dtv-card],
.dtv-video-card,
.dtv-front-card {
    content-visibility: auto;
    contain-intrinsic-size: 260px 462px;
}

.dtv-video-card--poster {
    contain-intrinsic-size: 360px 288px;
}

.dtv-video-card--landscape {
    contain-intrinsic-size: 420px 236px;
}

.dtv-video-card.is-lazy-ready,
.dtv-front-card.is-lazy-ready {
    will-change: transform;
}

.dtv-video-card img[data-dtv-lazy-image],
.dtv-video-card .dtv-video-card__media > img,
.dtv-front-card img {
    opacity: 0;
    z-index: 1;
    transition:
        opacity var(--dtv-motion-normal, .22s ease),
        transform var(--dtv-motion-slow, .34s ease),
        filter var(--dtv-motion-normal, .22s ease);
}

.dtv-video-card.is-image-loaded img[data-dtv-lazy-image],
.dtv-video-card.is-image-loaded .dtv-video-card__media > img,
.dtv-video-card img.is-image-loaded,
.dtv-front-card.is-image-loaded img,
.dtv-front-card img.is-image-loaded {
    opacity: 1;
}

.dtv-video-card.is-image-loaded .dtv-video-card__placeholder,
.dtv-front-card.is-image-loaded .dtv-video-card__placeholder {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.dtv-video-card:not(.is-image-loaded) .dtv-video-card__placeholder,
.dtv-video-card.has-image-error .dtv-video-card__placeholder {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
}

.dtv-video-card.has-image-error img[data-dtv-lazy-image],
.dtv-video-card.has-image-error .dtv-video-card__media > img,
.dtv-front-card.has-image-error img {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .dtv-video-card img[data-dtv-lazy-image],
    .dtv-video-card .dtv-video-card__media > img,
    .dtv-front-card img,
    .dtv-video-card .dtv-video-card__placeholder {
        transition: none;
    }
}

/* DS7.2X — Production Polish: premium skeleton shimmer + stable image reveal */
.dtv-video-card .dtv-video-card__placeholder,
.dtv-front-card .dtv-video-card__placeholder {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: linear-gradient(110deg, rgba(255,255,255,.045), rgba(255,255,255,.08), rgba(255,255,255,.045));
}

.dtv-video-card .dtv-video-card__placeholder::after,
.dtv-front-card .dtv-video-card__placeholder::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-120%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
    animation: dtvCardSkeletonShimmer 1.35s ease-in-out infinite;
}

.dtv-video-card.is-image-loaded .dtv-video-card__placeholder::after,
.dtv-front-card.is-image-loaded .dtv-video-card__placeholder::after {
    animation: none;
}

.dtv-video-card.is-image-loaded img,
.dtv-front-card.is-image-loaded img {
    filter: none;
    transform: translateZ(0);
}

@keyframes dtvCardSkeletonShimmer {
    100% { transform: translateX(120%); }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-video-card .dtv-video-card__placeholder::after,
    .dtv-front-card .dtv-video-card__placeholder::after {
        animation: none;
    }
}

/* DTV bundle source: assets/css/components/infinite-scroll-engine.css */
/**
 * DS7.2G — Infinite Scroll & Virtual Rendering
 */

[data-dtv-infinite-section] {
    position: relative;
}

.dtv-infinite-sentinel {
    width: 100%;
    height: 1px;
    pointer-events: none;
}

[data-dtv-infinite-section].is-infinite-loading .dtv-infinite-sentinel::after {
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    margin: 18px auto 0;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    opacity: .45;
    animation: dtv-infinite-spin .75s linear infinite;
}

[data-dtv-infinite-section].is-infinite-exhausted .dtv-infinite-sentinel,
[data-dtv-infinite-section].has-infinite-error .dtv-infinite-sentinel {
    display: none;
}

.dtv-video-card.is-virtual-suspended {
    visibility: hidden;
    pointer-events: none;
    contain: strict;
}

@keyframes dtv-infinite-spin {
    to {
        transform: rotate(360deg);
    }
}

/* DTV bundle source: assets/css/components/up-next-card.css */
/**
 * DS7.2G.9 — Autoplay Popup Mini Player Behavior CSS
 * Full replacement CSS. Fully isolated popup, safe for mobile theme conflicts.
 */

.dtv-auto-v4,
.dtv-auto-v4 * {
    box-sizing: border-box !important;
}

.dtv-auto-v4 {
    --dtv-auto-red: #ed0009;
    --dtv-auto-red-soft: #ff2932;
    --dtv-auto-card: rgba(10, 17, 32, 0.98);
    --dtv-auto-line: rgba(255, 255, 255, 0.12);
    --dtv-auto-text: #ffffff;
    --dtv-auto-muted: rgba(255, 255, 255, 0.74);

    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483600 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
    color: var(--dtv-auto-text) !important;
    font-family: inherit !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;
    overflow: hidden !important;
    transition: opacity 160ms ease !important;
}

.dtv-auto-v4.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.dtv-auto-v4.is-leaving {
    opacity: 0 !important;
    pointer-events: none !important;
}

.dtv-auto-v4__scrim {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 50% 46%, rgba(237, 0, 9, 0.14), transparent 32%),
        linear-gradient(180deg, rgba(3, 7, 18, 0.64), rgba(3, 7, 18, 0.92)) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    box-shadow: none !important;
    cursor: default !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.dtv-auto-v4__card {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: min(560px, calc(100vw - 32px)) !important;
    max-width: 560px !important;
    min-width: 300px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 32px) !important;
    margin: 0 auto !important;
    padding: 30px !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    border: 1px solid rgba(237, 0, 9, 0.40) !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at 13% 12%, rgba(237, 0, 9, 0.18), transparent 28%),
        linear-gradient(145deg, rgba(22, 34, 58, 0.98), rgba(8, 13, 27, 0.99)) !important;
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.60),
        0 0 0 1px rgba(255, 255, 255, 0.05) inset,
        0 0 48px rgba(237, 0, 9, 0.16) !important;
    transform: translateY(10px) scale(0.98) !important;
    transition: transform 160ms ease !important;
}

.dtv-auto-v4.is-visible .dtv-auto-v4__card {
    transform: translateY(0) scale(1) !important;
}

.dtv-auto-v4__close,
.dtv-auto-v4__top,
.dtv-auto-v4__timer,
.dtv-auto-v4__copy,
.dtv-auto-v4__preview,
.dtv-auto-v4__thumb,
.dtv-auto-v4__meta,
.dtv-auto-v4__actions,
.dtv-auto-v4__btn {
    visibility: visible !important;
    opacity: 1 !important;
}

.dtv-auto-v4__close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 4 !important;
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
    cursor: pointer !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-transform: none !important;
}

.dtv-auto-v4__close svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    fill: currentColor !important;
}

.dtv-auto-v4__top {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: center !important;
    width: 100% !important;
    padding-right: 52px !important;
}

.dtv-auto-v4__timer {
    position: relative !important;
    width: 76px !important;
    height: 76px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(237, 0, 9, 0.10) !important;
    box-shadow: 0 0 0 12px rgba(237, 0, 9, 0.05) !important;
    flex: 0 0 auto !important;
}

.dtv-auto-v4__timer::before,
.dtv-auto-v4__timer::after {
    content: "" !important;
    position: absolute !important;
    inset: 12px !important;
    border: 1px solid rgba(237, 0, 9, 0.32) !important;
    border-radius: inherit !important;
    animation: dtvAutoV4Pulse 1.6s ease-in-out infinite !important;
}

.dtv-auto-v4__timer::after {
    animation-delay: 0.45s !important;
}

.dtv-auto-v4__timer svg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    transform: rotate(-90deg) !important;
}

.dtv-auto-v4__ring-bg,
.dtv-auto-v4__ring {
    fill: none !important;
    stroke-width: 5 !important;
}

.dtv-auto-v4__ring-bg {
    stroke: rgba(255, 255, 255, 0.10) !important;
}

.dtv-auto-v4__ring {
    stroke: var(--dtv-auto-red-soft) !important;
    stroke-linecap: round !important;
    filter: drop-shadow(0 0 8px rgba(237, 0, 9, 0.58)) !important;
    transition: stroke-dashoffset 320ms linear !important;
}

.dtv-auto-v4__timer > span,
.dtv-auto-v4__play-icon {
    position: relative !important;
    z-index: 2 !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--dtv-auto-red), var(--dtv-auto-red-soft)) !important;
    font-size: 0 !important;
    text-indent: 0 !important;
    box-shadow: 0 14px 32px rgba(237, 0, 9, 0.34) !important;
}


.dtv-auto-v4__play-icon svg,
.dtv-auto-v4__btn svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    flex: 0 0 auto !important;
    fill: currentColor !important;
}

.dtv-auto-v4__btn span {
    display: inline-block !important;
    text-transform: none !important;
}

.dtv-auto-v4__copy {
    display: block !important;
    min-width: 0 !important;
    color: #fff !important;
}

.dtv-auto-v4__copy h3 {
    display: block !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: clamp(24px, 2.6vw, 31px) !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    letter-spacing: -0.035em !important;
}

.dtv-auto-v4__copy h3 strong {
    color: var(--dtv-auto-red-soft) !important;
    font-size: 1.08em !important;
    text-shadow: 0 0 22px rgba(237, 0, 9, 0.42) !important;
}

.dtv-auto-v4__copy p {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--dtv-auto-muted) !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

.dtv-auto-v4__preview {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 24px 0 0 !important;
    padding: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(33, 54, 90, 0.72), rgba(18, 31, 53, 0.74)) !important;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.24) !important;
}

.dtv-auto-v4__thumb {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    min-height: 84px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #070b14 !important;
}

.dtv-auto-v4__thumb img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.dtv-auto-v4__thumb::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, transparent 42%, rgba(0, 0, 0, 0.58)) !important;
}

.dtv-auto-v4__fallback {
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    place-items: center !important;
    color: #fff !important;
    background: radial-gradient(circle at center, rgba(237, 0, 9, 0.44), rgba(8, 13, 27, 1)) !important;
}

.dtv-auto-v4__duration {
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    z-index: 2 !important;
    padding: 4px 7px !important;
    border-radius: 7px !important;
    color: #fff !important;
    background: rgba(0, 0, 0, 0.78) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.dtv-auto-v4__meta {
    display: block !important;
    min-width: 0 !important;
    color: #fff !important;
}

.dtv-auto-v4__meta span {
    display: block !important;
    margin: 0 0 6px !important;
    color: var(--dtv-auto-red-soft) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
}

.dtv-auto-v4__meta strong {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: clamp(18px, 2vw, 22px) !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: -0.035em !important;
}

.dtv-auto-v4__meta small {
    display: block !important;
    margin-top: 8px !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.dtv-auto-v4__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    width: 100% !important;
    margin-top: 24px !important;
}

.dtv-auto-v4__btn {
    min-height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 20px !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 16px !important;
    color: #fff !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    text-transform: none !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease !important;
}

.dtv-auto-v4__btn:hover,
.dtv-auto-v4__btn:focus-visible {
    transform: translateY(-1px) !important;
    outline: none !important;
}

.dtv-auto-v4__btn--play {
    border-color: rgba(255, 42, 50, 0.85) !important;
    background: linear-gradient(135deg, var(--dtv-auto-red), var(--dtv-auto-red-soft)) !important;
    box-shadow: 0 16px 38px rgba(237, 0, 9, 0.36) !important;
}

@keyframes dtvAutoV4Pulse {
    0% { transform: scale(0.86); opacity: 0.85; }
    70% { transform: scale(1.34); opacity: 0; }
    100% { transform: scale(1.34); opacity: 0; }
}

@media (max-width: 640px) {
    .dtv-auto-v4 {
        place-items: end center !important;
        padding: 12px !important;
    }

    .dtv-auto-v4__card {
        width: calc(100vw - 24px) !important;
        max-width: none !important;
        min-width: 0 !important;
        max-height: calc(100dvh - 24px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 22px !important;
        border-radius: 22px !important;
    }

    .dtv-auto-v4__top {
        grid-template-columns: 56px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding-right: 42px !important;
    }

    .dtv-auto-v4__timer {
        width: 54px !important;
        height: 54px !important;
    }

    .dtv-auto-v4__timer > span,
.dtv-auto-v4__play-icon {
        width: 30px !important;
        height: 30px !important;
        font-size: 0 !important;
    }

    .dtv-auto-v4__copy h3 {
        font-size: 20px !important;
        line-height: 1.1 !important;
        letter-spacing: -0.025em !important;
    }

    .dtv-auto-v4__copy p {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .dtv-auto-v4__preview {
        grid-template-columns: 116px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 12px !important;
        margin-top: 18px !important;
    }

    .dtv-auto-v4__actions {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-top: 18px !important;
    }
}

@media (max-width: 420px) {
    .dtv-auto-v4__card {
        padding: 20px !important;
    }

    .dtv-auto-v4__top {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .dtv-auto-v4__timer {
        width: 56px !important;
        height: 56px !important;
    }

    .dtv-auto-v4__timer > span,
.dtv-auto-v4__play-icon {
        width: 30px !important;
        height: 30px !important;
    }

    .dtv-auto-v4__copy h3 {
        font-size: 19px !important;
    }

    .dtv-auto-v4__preview {
        grid-template-columns: 104px minmax(0, 1fr) !important;
    }

    .dtv-auto-v4__meta strong {
        font-size: 17px !important;
    }
}

@media (max-width: 360px) {
    .dtv-auto-v4__top,
    .dtv-auto-v4__preview {
        grid-template-columns: 1fr !important;
    }

    .dtv-auto-v4__timer {
        margin: 0 auto !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-auto-v4,
    .dtv-auto-v4__card,
    .dtv-auto-v4__btn,
    .dtv-auto-v4__ring {
        transition: none !important;
    }

    .dtv-auto-v4__timer::before,
    .dtv-auto-v4__timer::after {
        animation: none !important;
    }
}


@media (max-width: 640px) {
    .dtv-auto-v4__close {
        top: 14px !important;
        right: 14px !important;
        width: 34px !important;
        height: 34px !important;
    }

    .dtv-auto-v4__close svg {
        width: 14px !important;
        height: 14px !important;
    }

    .dtv-auto-v4__copy h3 {
        max-width: 100% !important;
        white-space: normal !important;
    }

    .dtv-auto-v4__copy h3 strong {
        display: inline !important;
        font-size: 1em !important;
    }

    .dtv-auto-v4__btn {
        min-height: 48px !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        text-transform: none !important;
    }

    .dtv-auto-v4__btn svg {
        width: 16px !important;
        height: 16px !important;
    }
}

@media (orientation: landscape) and (max-height: 560px) {
    .dtv-auto-v4__card {
        width: min(500px, calc(100vw - 28px)) !important;
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .dtv-auto-v4__top {
        grid-template-columns: 52px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding-right: 38px !important;
    }

    .dtv-auto-v4__timer {
        width: 50px !important;
        height: 50px !important;
    }

    .dtv-auto-v4__timer > span,
    .dtv-auto-v4__play-icon {
        width: 28px !important;
        height: 28px !important;
    }

    .dtv-auto-v4__copy h3 {
        font-size: 18px !important;
        line-height: 1.08 !important;
        margin-bottom: 5px !important;
    }

    .dtv-auto-v4__copy p {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    .dtv-auto-v4__preview {
        margin-top: 14px !important;
        grid-template-columns: 112px minmax(0, 1fr) !important;
        padding: 10px !important;
    }

    .dtv-auto-v4__meta strong {
        font-size: 16px !important;
    }

    .dtv-auto-v4__actions {
        margin-top: 14px !important;
        gap: 12px !important;
    }

    .dtv-auto-v4__btn {
        min-height: 42px !important;
        font-size: 13px !important;
    }
}


/* DS7.2G.8 final UI tune: title/close spacing, compact controls, cleaner icons */
.dtv-auto-v4__close {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    min-height: 30px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.dtv-auto-v4__close svg {
    width: 12px !important;
    height: 12px !important;
}

.dtv-auto-v4__top {
    padding-right: 44px !important;
}

.dtv-auto-v4__copy h3 {
    font-size: clamp(22px, 2.3vw, 28px) !important;
    padding-right: 4px !important;
}

.dtv-auto-v4__timer-number {
    position: relative !important;
    z-index: 2 !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--dtv-auto-red), var(--dtv-auto-red-soft)) !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 14px 32px rgba(237, 0, 9, 0.34) !important;
}

.dtv-auto-v4__play-icon {
    display: none !important;
}

.dtv-auto-v4__btn,
.dtv-auto-v4__btn span {
    text-transform: none !important;
}

.dtv-auto-v4__btn svg {
    width: 15px !important;
    height: 15px !important;
}

.dtv-auto-v4__btn--cancel svg {
    width: 13px !important;
    height: 13px !important;
    opacity: 0.9 !important;
}

@media (max-width: 640px) {
    .dtv-auto-v4__card {
        width: min(430px, calc(100vw - 24px)) !important;
    }

    .dtv-auto-v4__close {
        top: 12px !important;
        right: 12px !important;
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        min-height: 28px !important;
    }

    .dtv-auto-v4__top {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        padding-right: 38px !important;
    }

    .dtv-auto-v4__copy h3 {
        font-size: 18px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.02em !important;
    }

    .dtv-auto-v4__copy h3 strong {
        font-size: 1em !important;
    }

    .dtv-auto-v4__timer-number {
        width: 30px !important;
        height: 30px !important;
        font-size: 16px !important;
    }
}

@media (orientation: landscape) and (max-height: 560px) {
    .dtv-auto-v4__card {
        width: min(520px, calc(100vw - 28px)) !important;
    }

    .dtv-auto-v4__close {
        top: 12px !important;
        right: 12px !important;
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        min-height: 28px !important;
    }

    .dtv-auto-v4__top {
        grid-template-columns: 52px minmax(0, 1fr) !important;
        padding-right: 42px !important;
    }

    .dtv-auto-v4__copy h3 {
        font-size: 17px !important;
        line-height: 1.12 !important;
        margin-bottom: 5px !important;
    }

    .dtv-auto-v4__copy p {
        max-width: 360px !important;
    }

    .dtv-auto-v4__timer-number {
        width: 28px !important;
        height: 28px !important;
        font-size: 15px !important;
    }

    .dtv-auto-v4__btn {
        min-height: 42px !important;
        font-size: 13px !important;
        text-transform: none !important;
    }
}

@media (max-width: 360px) {
    .dtv-auto-v4__top {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding-right: 34px !important;
    }

    .dtv-auto-v4__timer {
        width: 48px !important;
        height: 48px !important;
        margin: 0 !important;
    }

    .dtv-auto-v4__copy h3 {
        font-size: 16px !important;
    }
}


/* DS7.2G.9 — Mini player scoped autoplay popup
   When the video is minimized, the autoplay prompt is mounted inside the mini-player
   instead of covering the entire viewport. It follows the current video aspect ratio. */
.dtv-video-modal.is-minimized .dtv-video-modal__player,
.dtv-auto-v4-mini-host {
    position: relative !important;
    isolation: isolate !important;
}

.dtv-auto-v4.dtv-auto-v4--mini {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2147483600 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
    padding: 10px !important;
    overflow: hidden !important;
    border-radius: inherit !important;
    background: transparent !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__scrim {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: inherit !important;
    background:
        radial-gradient(circle at 50% 44%, rgba(237, 0, 9, 0.20), transparent 44%),
        linear-gradient(180deg, rgba(3, 7, 18, 0.42), rgba(3, 7, 18, 0.78)) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__card {
    width: min(92%, 300px) !important;
    min-width: 0 !important;
    max-width: 300px !important;
    max-height: calc(100% - 20px) !important;
    padding: 14px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    border-color: rgba(237, 0, 9, 0.44) !important;
    background:
        radial-gradient(circle at 10% 10%, rgba(237, 0, 9, 0.16), transparent 32%),
        linear-gradient(145deg, rgba(18, 29, 51, 0.96), rgba(7, 12, 24, 0.98)) !important;
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.52),
        0 0 32px rgba(237, 0, 9, 0.16) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__close {
    top: 8px !important;
    right: 8px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    min-height: 24px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__close svg {
    width: 10px !important;
    height: 10px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__top {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-right: 28px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__timer {
    width: 40px !important;
    height: 40px !important;
    box-shadow: 0 0 0 7px rgba(237, 0, 9, 0.05) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__ring-bg,
.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__ring {
    stroke-width: 6 !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__timer-number {
    width: 24px !important;
    height: 24px !important;
    font-size: 13px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__copy h3 {
    margin-bottom: 3px !important;
    font-size: 15px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__copy p {
    font-size: 10px !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__preview {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 9px !important;
    margin-top: 10px !important;
    padding: 8px !important;
    border-radius: 12px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__thumb {
    min-height: 44px !important;
    border-radius: 9px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__duration {
    right: 5px !important;
    bottom: 5px !important;
    padding: 3px 5px !important;
    border-radius: 5px !important;
    font-size: 9px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__meta span {
    margin-bottom: 4px !important;
    font-size: 10px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__meta strong {
    font-size: 13px !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 2 !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__meta small {
    margin-top: 4px !important;
    font-size: 10px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__actions {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__btn {
    min-height: 34px !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
    gap: 6px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
}

.dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__btn svg {
    width: 12px !important;
    height: 12px !important;
}

/* Portrait mini-player: keep the prompt inside the tall/narrow video area. */
.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini {
    place-items: end center !important;
    padding: 10px !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__card,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__card {
    width: calc(100% - 4px) !important;
    max-width: none !important;
    padding: 12px !important;
    border-radius: 14px !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__top,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__top {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding-right: 24px !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__timer,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__timer {
    width: 36px !important;
    height: 36px !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__timer-number,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__timer-number {
    width: 22px !important;
    height: 22px !important;
    font-size: 12px !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__copy h3,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__copy h3 {
    font-size: 13px !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__copy p,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__copy p {
    font-size: 9px !important;
    -webkit-line-clamp: 1 !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__preview,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__preview {
    grid-template-columns: 70px minmax(0, 1fr) !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__actions,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__actions {
    gap: 7px !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__btn,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__btn {
    min-height: 32px !important;
    font-size: 10px !important;
    padding: 0 6px !important;
}

@media (max-width: 420px) {
    .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__card {
        width: calc(100% - 8px) !important;
        padding: 12px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__preview {
        grid-template-columns: 72px minmax(0, 1fr) !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__copy h3 {
        font-size: 13px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini .dtv-auto-v4__btn {
        font-size: 10px !important;
    }
}

/* DS7.2G.10 — Mobile modal fit fix
   In full modal on phones, keep the autoplay card visible inside the viewport.
   Mini-player rules above stay scoped to .dtv-auto-v4--mini. */
@media (max-width: 640px) {
    .dtv-auto-v4:not(.dtv-auto-v4--mini) {
        place-items: center !important;
        align-items: center !important;
        justify-items: center !important;
        padding-top: max(10px, env(safe-area-inset-top)) !important;
        padding-right: 12px !important;
        padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
        padding-left: 12px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__card {
        width: min(390px, calc(100vw - 24px)) !important;
        max-width: 390px !important;
        max-height: calc(100dvh - max(34px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
        padding: 16px !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        transform: translateY(4px) scale(0.985) !important;
    }

    .dtv-auto-v4.is-visible:not(.dtv-auto-v4--mini) .dtv-auto-v4__card {
        transform: translateY(0) scale(1) !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__close {
        top: 10px !important;
        right: 10px !important;
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        min-height: 30px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__top {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding-right: 34px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__timer {
        width: 48px !important;
        height: 48px !important;
        box-shadow: 0 0 0 8px rgba(237, 0, 9, 0.045) !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__timer-number {
        width: 28px !important;
        height: 28px !important;
        font-size: 15px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__copy h3 {
        margin-bottom: 6px !important;
        font-size: 18px !important;
        line-height: 1.08 !important;
        letter-spacing: -0.025em !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__copy p {
        font-size: 12px !important;
        line-height: 1.32 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__preview {
        grid-template-columns: 106px minmax(0, 1fr) !important;
        gap: 12px !important;
        margin-top: 14px !important;
        padding: 10px !important;
        border-radius: 16px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__thumb {
        min-height: 60px !important;
        border-radius: 12px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__duration {
        right: 6px !important;
        bottom: 6px !important;
        padding: 3px 6px !important;
        font-size: 10px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__meta span {
        margin-bottom: 4px !important;
        font-size: 11px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__meta strong {
        font-size: 16px !important;
        line-height: 1.08 !important;
        -webkit-line-clamp: 2 !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__meta small {
        margin-top: 5px !important;
        font-size: 11px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__actions {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        margin-top: 14px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__btn {
        min-height: 44px !important;
        padding: 0 10px !important;
        border-radius: 14px !important;
        gap: 7px !important;
        font-size: 13px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 360px) {
    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__card {
        padding: 14px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__top {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding-right: 32px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__timer {
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__timer-number {
        width: 26px !important;
        height: 26px !important;
        font-size: 14px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__copy h3 {
        font-size: 16px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__preview {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__actions {
        gap: 8px !important;
    }

    .dtv-auto-v4:not(.dtv-auto-v4--mini) .dtv-auto-v4__btn {
        min-height: 40px !important;
        font-size: 12px !important;
        padding: 0 8px !important;
    }
}

/* DS7.2G.11 — Dedicated mini-player autoplay layout
   Separate compact template for minimized players. This does not reuse the full modal card. */
.dtv-auto-v4.dtv-auto-v4--mini-compact {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2147483600 !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(6px, 3%, 12px) !important;
    overflow: hidden !important;
    border-radius: inherit !important;
    pointer-events: auto !important;
    background: transparent !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-v4__scrim {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: inherit !important;
    background:
        radial-gradient(circle at 50% 48%, rgba(237, 0, 9, 0.20), transparent 48%),
        linear-gradient(180deg, rgba(3, 7, 18, 0.42), rgba(3, 7, 18, 0.82)) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__card {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    gap: clamp(6px, 2.4%, 10px) !important;
    width: min(94%, 300px) !important;
    max-width: 300px !important;
    max-height: calc(100% - 8px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: clamp(10px, 4%, 14px) !important;
    overflow: hidden !important;
    border: 1px solid rgba(237, 0, 9, 0.48) !important;
    border-radius: clamp(13px, 5%, 18px) !important;
    background:
        radial-gradient(circle at 8% 10%, rgba(237, 0, 9, 0.18), transparent 34%),
        linear-gradient(145deg, rgba(19, 31, 55, 0.96), rgba(7, 12, 24, 0.98)) !important;
    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.52),
        0 0 28px rgba(237, 0, 9, 0.16) !important;
    box-sizing: border-box !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__close {
    position: absolute !important;
    top: 7px !important;
    right: 7px !important;
    z-index: 3 !important;
    display: grid !important;
    place-items: center !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 999px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background: rgba(255, 255, 255, 0.10) !important;
    cursor: pointer !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__close svg,
.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__btn svg {
    display: block !important;
    fill: currentColor !important;
    flex: 0 0 auto !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__close svg {
    width: 11px !important;
    height: 11px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__head {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    padding-right: 30px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 999px !important;
    background: rgba(237, 0, 9, 0.14) !important;
    box-shadow: 0 0 0 7px rgba(237, 0, 9, 0.05), 0 0 18px rgba(237, 0, 9, 0.28) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer svg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: rotate(-90deg) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer .dtv-auto-v4__ring-bg,
.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer .dtv-auto-v4__ring {
    fill: none !important;
    stroke-width: 7 !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer .dtv-auto-v4__ring-bg {
    stroke: rgba(255, 255, 255, 0.14) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer .dtv-auto-v4__ring {
    stroke: #ff2028 !important;
    stroke-linecap: round !important;
    transition: stroke-dashoffset 220ms linear !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer span {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    place-items: center !important;
    width: 25px !important;
    height: 25px !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    background: #ed0009 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    font-family: inherit !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy {
    display: block !important;
    min-width: 0 !important;
    color: #fff !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy strong,
.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy span {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy strong {
    font-size: clamp(13px, 4.2vw, 16px) !important;
    line-height: 1.02 !important;
    font-weight: 950 !important;
    letter-spacing: -0.035em !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy span {
    margin-top: 2px !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy b {
    color: #ff2630 !important;
    font-weight: 950 !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__preview {
    display: grid !important;
    grid-template-columns: minmax(56px, 38%) minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 7px !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-radius: 12px !important;
    background: rgba(23, 44, 78, 0.76) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__thumb {
    position: relative !important;
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    min-width: 56px !important;
    overflow: hidden !important;
    border-radius: 9px !important;
    background: #0b1220 !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__thumb .dtv-auto-v4__duration {
    position: absolute !important;
    right: 4px !important;
    bottom: 4px !important;
    z-index: 2 !important;
    padding: 2px 4px !important;
    border-radius: 5px !important;
    color: #fff !important;
    background: rgba(2, 6, 23, 0.88) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__meta {
    min-width: 0 !important;
    color: #fff !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__meta span {
    display: block !important;
    margin-bottom: 2px !important;
    overflow: hidden !important;
    color: #ff2630 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__meta strong {
    display: -webkit-box !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: clamp(12px, 3.8vw, 14px) !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__meta small {
    display: block !important;
    margin-top: 3px !important;
    overflow: hidden !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    min-width: 0 !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 8px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    gap: 5px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    font-family: inherit !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__btn svg {
    width: 12px !important;
    height: 12px !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__btn--play {
    order: 1 !important;
    color: #fff !important;
    background: linear-gradient(180deg, #ff2630, #ed0009) !important;
    box-shadow: 0 10px 20px rgba(237, 0, 9, 0.24) !important;
}

.dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__btn--cancel {
    order: 2 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    background: rgba(255, 255, 255, 0.10) !important;
}

/* Landscape / very short mini-player: switch to ultra-compact horizontal layout. */
@container (max-height: 180px) {
    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__card {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        width: min(96%, 330px) !important;
        max-width: 330px !important;
        gap: 7px 8px !important;
        padding: 9px 10px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__head {
        display: contents !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        align-self: center !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy {
        grid-column: 2 !important;
        padding-right: 28px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__preview {
        grid-column: 2 !important;
        grid-template-columns: 56px minmax(0, 1fr) !important;
        padding: 5px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__actions {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 420px) {
    .dtv-auto-v4.dtv-auto-v4--mini-compact {
        padding: 7px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__card {
        width: min(94%, 270px) !important;
        max-width: 270px !important;
        padding: 11px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__head {
        grid-template-columns: 38px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding-right: 28px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__timer span {
        width: 22px !important;
        height: 22px !important;
        font-size: 12px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy strong {
        font-size: 13px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__copy span {
        font-size: 11px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__preview {
        grid-template-columns: 62px minmax(0, 1fr) !important;
        gap: 7px !important;
        padding: 6px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__meta strong {
        font-size: 12px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__actions {
        gap: 6px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__btn {
        min-height: 30px !important;
        height: 30px !important;
        padding: 0 6px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 340px) {
    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__card {
        width: min(96%, 238px) !important;
        max-width: 238px !important;
        padding: 10px !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__preview {
        grid-template-columns: 54px minmax(0, 1fr) !important;
    }

    .dtv-auto-v4.dtv-auto-v4--mini-compact .dtv-auto-mini__btn span {
        max-width: 62px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

/* DS7.2X — Production Polish: refined motion, focus states, hover/ripple, accessibility */
.dtv-auto-v4__card,
.dtv-auto-mini__card {
    animation: dtvAutoPolishIn 220ms cubic-bezier(.2,.8,.2,1) both !important;
    outline: none !important;
}

.dtv-auto-v4.is-leaving .dtv-auto-v4__card,
.dtv-auto-v4.is-leaving .dtv-auto-mini__card {
    animation: dtvAutoPolishOut 150ms ease both !important;
}

.dtv-auto-v4__btn,
.dtv-auto-mini__btn,
.dtv-auto-v4__close,
.dtv-auto-mini__close {
    position: relative !important;
    overflow: hidden !important;
    transition:
        transform 160ms ease,
        filter 160ms ease,
        background 160ms ease,
        border-color 160ms ease !important;
    -webkit-tap-highlight-color: transparent !important;
}

.dtv-auto-v4__btn:hover,
.dtv-auto-mini__btn:hover,
.dtv-auto-v4__close:hover,
.dtv-auto-mini__close:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.08) !important;
}

.dtv-auto-v4__btn:active,
.dtv-auto-mini__btn:active,
.dtv-auto-v4__close:active,
.dtv-auto-mini__close:active {
    transform: translateY(0) scale(.98) !important;
}

.dtv-auto-v4__btn:focus-visible,
.dtv-auto-mini__btn:focus-visible,
.dtv-auto-v4__close:focus-visible,
.dtv-auto-mini__close:focus-visible {
    outline: 2px solid rgba(255,255,255,.82) !important;
    outline-offset: 3px !important;
}

.dtv-auto-v4__btn--play::after,
.dtv-auto-mini__btn--play::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background: radial-gradient(circle at center, rgba(255,255,255,.28), transparent 56%) !important;
    transform: scale(0) !important;
    opacity: 0 !important;
    transition: transform 260ms ease, opacity 260ms ease !important;
    pointer-events: none !important;
}

.dtv-auto-v4__btn--play:hover::after,
.dtv-auto-mini__btn--play:hover::after {
    transform: scale(1.8) !important;
    opacity: .46 !important;
}

.dtv-auto-v4__thumb img,
.dtv-auto-mini__thumb img {
    transition: transform 280ms ease, opacity 200ms ease, filter 200ms ease !important;
    backface-visibility: hidden !important;
}

.dtv-auto-v4__preview:hover .dtv-auto-v4__thumb img,
.dtv-auto-mini__preview:hover .dtv-auto-mini__thumb img {
    transform: scale(1.035) !important;
}

@keyframes dtvAutoPolishIn {
    from { opacity: 0; transform: translateY(14px) scale(.965); filter: blur(2px); }
    to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes dtvAutoPolishOut {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(8px) scale(.975); }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-auto-v4,
    .dtv-auto-v4 *,
    .dtv-auto-v4__card,
    .dtv-auto-mini__card {
        animation: none !important;
        transition: none !important;
    }
}


/* DS7.3.0 RC1.4 — CSS/UI hardening */
.dtv-auto-v4,
.dtv-auto-mini {
    isolation: isolate !important;
}

.dtv-auto-v4__card,
.dtv-auto-mini__card {
    contain: layout paint !important;
}

.dtv-auto-v4__title,
.dtv-auto-v4__video-title,
.dtv-auto-mini__title,
.dtv-auto-mini__video-title {
    overflow-wrap: anywhere !important;
}

.dtv-auto-v4__btn,
.dtv-auto-mini__btn,
.dtv-auto-v4__close,
.dtv-auto-mini__close {
    touch-action: manipulation !important;
}

@media (max-width: 420px) {
    .dtv-auto-v4__card {
        width: min(100%, calc(100vw - 20px)) !important;
    }

    .dtv-auto-v4__copy h3 {
        max-width: calc(100vw - 128px) !important;
    }
}

/* DTV bundle source: assets/css/components/video-modal.css */
/* ==========================================================
   dimosTV DS6 — Premium Video Modal Rebuild
   Netflix / Apple TV+ inspired
   No backdrop element required.
========================================================== */

/* Root */
.dtv-video-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: var(--dtv-z-modal, 999990) !important;

    display: none;

    color: #fff;
}

.dtv-video-modal.is-open {
    display: block !important;
}

/* Overlay via pseudo-element */
.dtv-video-modal::before {
    content: "";

    position: fixed;
    inset: 0;
    z-index: 0;

    background:
        radial-gradient(circle at 50% 32%, rgba(0,102,204,.16), transparent 34%),
        linear-gradient(180deg, rgba(2,6,15,.88), rgba(2,6,15,.97));

    backdrop-filter: blur(22px) brightness(.58) saturate(1.06);
    -webkit-backdrop-filter: blur(22px) brightness(.58) saturate(1.06);

    opacity: 0;
    pointer-events: auto;

    transition: opacity var(--dtv-motion-normal, .22s ease);
}

.dtv-video-modal.is-open::before {
    opacity: 1;
}

/* no old backdrop */
.dtv-video-modal__backdrop {
    display: none !important;
}

/* Dialog */
.dtv-video-modal__dialog {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 2 !important;

    width: min(94vw, 1480px) !important;
    max-height: 90vh !important;

    padding: 24px !important;

    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 32px !important;

    background:
        radial-gradient(circle at 20% 8%, rgba(204,0,0,.12), transparent 32%),
        linear-gradient(135deg, rgba(15,23,42,.98), rgba(3,7,18,.99)) !important;

    box-shadow:
        0 46px 140px rgba(0,0,0,.62),
        inset 0 0 0 1px rgba(255,255,255,.04) !important;

    overflow: hidden !important;

    transform: translate(-50%, -50%) !important;
}

/* Layout */
.dtv-video-modal__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 28px !important;

    width: 100% !important;
    max-height: calc(90vh - 48px) !important;

    overflow: hidden !important;
}

.dtv-video-modal__main {
    min-width: 0 !important;

    display: grid !important;
    grid-template-rows: auto auto !important;
    align-content: start !important;
}

/* Close */
.dtv-video-modal__close {
    position: absolute !important;
    top: 22px !important;
    right: 22px !important;
    z-index: 40 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;

    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 999px !important;

    background: rgba(15,23,42,.82) !important;
    color: #fff !important;

    box-shadow: 0 18px 46px rgba(0,0,0,.38) !important;

    cursor: pointer !important;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        background var(--dtv-motion-normal,.22s ease),
        box-shadow var(--dtv-motion-normal,.22s ease);
}

.dtv-video-modal__close:hover,
.dtv-video-modal__close:focus-visible {
    transform: scale(1.06);
    background: var(--dtv-color-primary, #CC0000) !important;
    box-shadow: 0 18px 52px rgba(204,0,0,.32) !important;
}

.dtv-video-modal__close:focus-visible {
    outline: 3px solid var(--dtv-color-secondary, #0066CC);
    outline-offset: 4px;
}

/* Player */
.dtv-video-modal__player {
    position: relative !important;

    width: 100% !important;
    aspect-ratio: 16 / 9 !important;

    border-radius: 22px !important;
    overflow: hidden !important;

    background: #000 !important;

    box-shadow:
        0 28px 78px rgba(0,0,0,.46),
        inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

.dtv-video-modal__player iframe,
.dtv-video-modal__player video {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    border: 0 !important;
}

.dtv-video-modal__social-fallback {
    min-height: 100%;
    display: grid;
    place-content: center;
    gap: 12px;
    padding: 28px;
    text-align: center;
    background: #f6f8fb;
    color: #1a2e4a;
}

.dtv-video-modal__social-source {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(15,23,42,.88);
    color: #fff;
    font: 700 12px/1 Inter, sans-serif;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0,0,0,.28);
    backdrop-filter: blur(10px);
}

.dtv-video-modal__social-source:hover,
.dtv-video-modal__social-source:focus-visible {
    background: #cc0000;
    color: #fff;
}

.dtv-video-modal__social-fallback a {
    color: #cc0000;
    font-weight: 800;
}

/* Portrait modal layout */
.dtv-video-modal.is-video-portrait .dtv-video-modal__main,
.dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__main {
    display: grid !important;
    grid-template-columns: minmax(320px, 520px) minmax(0, 1fr) !important;
    grid-template-areas: "player content" !important;
    gap: 28px !important;
    align-items: start !important;
}

.dtv-video-modal.is-video-portrait .dtv-video-modal__player,
.dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
    grid-area: player !important;

    width: min(100%, 520px) !important;
    max-height: calc(90vh - 72px) !important;

    aspect-ratio: 9 / 16 !important;

    margin-inline: auto !important;
}

.dtv-video-modal.is-video-portrait .dtv-video-modal__content,
.dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__content {
    grid-area: content !important;
    align-self: start !important;

    padding-top: 12px !important;
}

/* Content */
.dtv-video-modal__content {
    padding: 24px 6px 0 !important;
}

.dtv-video-modal__kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;

    margin-bottom: 12px !important;
    padding: 8px 13px !important;

    border: 1px solid rgba(227,6,19,.45) !important;
    border-radius: 999px !important;
    background: rgba(227,6,19,.18) !important;
    box-shadow: 0 10px 28px rgba(227,6,19,.10) !important;

    color: #fff !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.dtv-video-modal__kicker span {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #e30613;
    box-shadow: 0 0 16px rgba(227,6,19,.72);
}

.dtv-video-modal__title {
    margin: 0 !important;

    color: #fff !important;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    font-size: clamp(32px, 3vw, 52px) !important;
    font-weight: 900 !important;
    line-height: .98 !important;
    letter-spacing: -.02em !important;

    text-shadow: 0 4px 22px rgba(0,0,0,.42) !important;
}

.dtv-video-modal__meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;

    margin-top: 12px !important;
    padding: 8px 13px !important;

    border: 1px solid rgba(227,6,19,.45) !important;
    border-radius: 999px !important;
    background: rgba(227,6,19,.18) !important;
    box-shadow: 0 10px 28px rgba(227,6,19,.10) !important;

    color: #fff !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .09em !important;
}

.dtv-video-modal__meta::before {
    content: "";

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #e30613;
    box-shadow: 0 0 16px rgba(227,6,19,.72);
}

.dtv-video-modal__excerpt {
    max-width: 720px !important;

    margin: 18px 0 0 !important;

    color: rgba(255,255,255,.78) !important;

    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
}

.dtv-video-modal__excerpt:empty {
    display: none !important;
}

/* Actions */
.dtv-video-modal__actions {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;

    margin-top: 22px !important;
}

.dtv-video-modal__action {
    min-height: 42px !important;
    padding: 0 16px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.08) !important;
    color: #fff !important;

    font-size: 12px !important;
    font-weight: 900 !important;

    cursor: pointer !important;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        background var(--dtv-motion-normal,.22s ease);
}

.dtv-video-modal__action:hover:not(:disabled),
.dtv-video-modal__action:focus-visible:not(:disabled) {
    transform: translateY(-2px);
    background: rgba(255,255,255,.14) !important;
}

.dtv-video-modal__action--primary {
    background: var(--dtv-color-primary, #CC0000) !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 16px 38px rgba(204,0,0,.25) !important;
}

.dtv-video-modal__action--primary:hover:not(:disabled),
.dtv-video-modal__action--primary:focus-visible:not(:disabled) {
    background: var(--dtv-color-primary-hover, #E00000) !important;
}

.dtv-video-modal__action:disabled {
    opacity: .42 !important;
    cursor: default !important;
}

/* Sidebar */
.dtv-video-modal__sidebar {
    min-width: 0 !important;

    padding-left: 26px !important;

    border-left: 1px solid rgba(255,255,255,.10) !important;

    overflow: hidden !important;
}

.dtv-video-modal__sidebar-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 3 !important;

    padding: 0 54px 14px 0 !important;

    background: linear-gradient(180deg, rgba(3,7,18,.98), rgba(3,7,18,0)) !important;
}

.dtv-video-modal__sidebar-header span {
    color: #fff !important;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}

.dtv-video-modal__queue {
    max-height: calc(90vh - 96px) !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    padding-right: 6px !important;

    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.28) transparent;
}

.dtv-video-modal__queue::-webkit-scrollbar {
    width: 6px;
}

.dtv-video-modal__queue::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255,255,255,.28);
}

.dtv-video-modal__queue-section {
    margin-bottom: 24px !important;
}

.dtv-video-modal__queue-label {
    margin: 0 0 12px !important;

    color: rgba(255,255,255,.56) !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
}

/* Current */
.dtv-video-modal__queue-current {
    display: grid !important;
    grid-template-columns: 116px minmax(0,1fr) !important;
    gap: 12px !important;
    align-items: center !important;

    padding: 12px !important;

    border: 1px solid rgba(204,0,0,.55) !important;
    border-radius: 18px !important;

    background:
        linear-gradient(135deg, rgba(204,0,0,.18), rgba(255,255,255,.05)) !important;

    box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}

.dtv-video-modal__queue-current strong {
    color: #fff !important;

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

/* Related */
.dtv-video-modal__related-item {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;

    padding: 12px 0 !important;

    border-bottom: 1px solid rgba(255,255,255,.08) !important;

    color: #fff !important;
    text-decoration: none !important;

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        opacity var(--dtv-motion-normal,.22s ease) !important;
}

.dtv-video-modal__related-item:hover {
    transform: translateX(4px) !important;
}

.dtv-video-modal__related-thumb {
    position: relative !important;

    display: block !important;

    aspect-ratio: 16 / 9 !important;

    border-radius: 12px !important;
    overflow: hidden !important;

    background: rgba(255,255,255,.08) !important;
}

.dtv-video-modal__related-thumb img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
}

.dtv-video-modal__related-thumb span {
    position: absolute !important;
    right: 6px !important;
    bottom: 6px !important;

    padding: 4px 6px !important;

    border-radius: 999px !important;

    background: rgba(15,23,42,.86) !important;
    color: #fff !important;

    font-size: 10px !important;
    font-weight: 900 !important;
}

.dtv-video-modal__related-title {
    display: -webkit-box !important;

    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    color: #fff !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

/* Mini player */
.dtv-video-modal.is-minimized {
    pointer-events: none !important;
}

.dtv-video-modal.is-minimized::before {
    display: none !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__dialog {
    left: auto !important;
    top: auto !important;
    right: 24px !important;
    bottom: 24px !important;

    width: min(420px, calc(100vw - 32px)) !important;
    max-height: none !important;

    display: block !important;

    padding: 0 !important;

    border: 0 !important;
    border-radius: 18px !important;

    background: transparent !important;
    box-shadow: none !important;

    overflow: visible !important;

    transform: none !important;

    pointer-events: auto !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__layout,
.dtv-video-modal.is-minimized .dtv-video-modal__main {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__content,
.dtv-video-modal.is-minimized .dtv-video-modal__sidebar,
.dtv-video-modal.is-minimized .dtv-video-modal__close {
    display: none !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__player {
    width: 100% !important;

    aspect-ratio: 16 / 9 !important;

    border-radius: 18px !important;
    overflow: hidden !important;

    background: #000 !important;

    box-shadow: 0 22px 64px rgba(0,0,0,.42) !important;
}

/* Portrait mini */
.dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__dialog,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__dialog {
    width: min(260px, calc(100vw - 32px)) !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__player,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
    aspect-ratio: 9 / 16 !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__player iframe,
.dtv-video-modal.is-minimized .dtv-video-modal__player video {
    width: 100% !important;
    height: 100% !important;
}

/* Mini bar */
.dtv-mini-bar {
    position: relative !important;
    z-index: 20 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;

    width: 100% !important;
    box-sizing: border-box !important;

    margin-top: 8px !important;
    padding: 10px 12px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 16px !important;

    background: rgba(15,23,42,.92) !important;
    color: #fff !important;

    box-shadow: 0 18px 52px rgba(0,0,0,.38) !important;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.dtv-video-modal:not(.is-minimized) .dtv-mini-bar {
    display: none !important;
}

.dtv-mini-bar__restore {
    min-width: 0 !important;

    display: grid !important;
    gap: 2px !important;

    border: 0 !important;
    background: transparent !important;
    color: #fff !important;

    text-align: left !important;

    cursor: pointer !important;
}

.dtv-mini-bar__restore strong {
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    font-size: 13px !important;
    font-weight: 900 !important;
}

.dtv-mini-bar__restore span {
    color: rgba(255,255,255,.64) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.dtv-mini-bar__close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: var(--dtv-color-primary, #CC0000) !important;
    color: #fff !important;

    cursor: pointer !important;
}

/* Tablet */
@media (max-width: 1180px) {
    .dtv-video-modal__dialog {
        width: 94vw !important;
    }

    .dtv-video-modal__layout {
        grid-template-columns: minmax(0, 1fr) 320px !important;
        gap: 22px !important;
    }

    .dtv-video-modal.is-video-portrait .dtv-video-modal__main,
    .dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__main {
        grid-template-columns: minmax(280px, 460px) minmax(0, 1fr) !important;
        gap: 22px !important;
    }

    .dtv-video-modal__sidebar {
        padding-left: 20px !important;
    }
}

/* Mobile */
@media (max-width: 900px) {
    .dtv-video-modal__dialog {
        width: 94vw !important;
        max-height: 92vh !important;

        overflow-y: auto !important;
    }

    .dtv-video-modal__layout {
        grid-template-columns: 1fr !important;
        gap: 22px !important;

        max-height: none !important;
        overflow: visible !important;
    }

    .dtv-video-modal.is-video-portrait .dtv-video-modal__main,
    .dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__main {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "player"
            "content" !important;
    }

    .dtv-video-modal.is-video-portrait .dtv-video-modal__player,
    .dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
        width: min(100%, 420px) !important;
        max-height: 62vh !important;
    }

    .dtv-video-modal__sidebar {
        padding-left: 0 !important;
        padding-top: 22px !important;

        border-left: 0 !important;
        border-top: 1px solid rgba(255,255,255,.10) !important;
    }

    .dtv-video-modal__queue {
        max-height: 360px !important;
    }
}

/* ==========================================================
   FE-05A — Unified Video Modal article-state foundation
   This layer is intentionally scoped to article mode
   so the established video presentation remains unchanged.
========================================================== */
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__dialog {
    width: min(94vw, 1480px) !important;
    border-color: rgba(26, 46, 74, .16) !important;
    background: #fff !important;
    color: #172033 !important;
    box-shadow: 0 38px 110px rgba(4, 15, 30, .36) !important;
}

.dtv-video-modal.is-article:not(.is-minimized):not(.has-article-sidebar) .dtv-video-modal__dialog {
    width: min(94vw, 1120px) !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__layout,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__main,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__content {
    background: #fff !important;
    color: #172033 !important;
}

.dtv-video-modal.is-article:not(.is-minimized):not(.has-article-sidebar) .dtv-video-modal__layout {
    grid-template-columns: minmax(0, 1fr) !important;
}

.dtv-video-modal.is-article:not(.is-minimized):not(.has-article-sidebar) .dtv-video-modal__sidebar {
    display: none !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__main {
    scrollbar-color: rgba(26, 46, 74, .28) transparent !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__content {
    padding: 24px 8px 4px !important;
}

.dtv-video-modal.is-article:not(.is-minimized):not(.has-article-media) .dtv-video-modal__content {
    padding-top: 8px !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__player[hidden] {
    display: none !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__article-hero {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__player {
    background: #0b1220 !important;
    box-shadow: 0 22px 58px rgba(15, 31, 51, .22) !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__close {
    top: 20px !important;
    right: 20px !important;
    border-color: rgba(255, 255, 255, .16) !important;
    background: #1a2e4a !important;
    color: #fff !important;
    box-shadow: 0 12px 34px rgba(16, 35, 58, .26) !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__close:hover,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__close:focus-visible {
    border-color: #cc0000 !important;
    background: #cc0000 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__kicker {
    margin-bottom: 14px !important;
    border-color: rgba(204, 0, 0, .18) !important;
    background: rgba(204, 0, 0, .08) !important;
    color: #a80000 !important;
    box-shadow: none !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__kicker span {
    background: #cc0000 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__kicker strong {
    color: #a80000 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__title {
    max-width: 900px !important;
    color: #14243a !important;
    font-size: clamp(1.75rem, 1.2rem + 1.5vw, 3rem) !important;
    line-height: 1.08 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__meta {
    color: #66758a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__meta::before {
    background: #cc0000 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__excerpt {
    max-width: 880px !important;
    color: #3f4f63 !important;
    font-size: clamp(1.05rem, 1rem + .2vw, 1.2rem) !important;
    line-height: 1.62 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description {
    max-width: 880px !important;
    border-top-color: #e3e8ef !important;
    color: #26384d !important;
    font-size: clamp(1rem, .95rem + .16vw, 1.125rem) !important;
    line-height: 1.78 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description h2,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description h3,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description h4 {
    color: #14243a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description a {
    color: #a80000 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action {
    border-color: #d9e0e8 !important;
    color: #1a2e4a !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action[data-dtv-video-modal-prev] {
    border-color: #1a2e4a !important;
    background: #1a2e4a !important;
    color: #fff !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action[data-dtv-video-modal-next] {
    border-color: #cc0000 !important;
    background: #cc0000 !important;
    color: #fff !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action[data-dtv-video-modal-share] {
    background: #fff !important;
    color: #1a2e4a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action:hover:not(:disabled),
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action:focus-visible:not(:disabled) {
    border-color: #cc0000 !important;
    background: #cc0000 !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(204, 0, 0, .2) !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action:disabled {
    border-color: #e2e7ed !important;
    background: #f2f5f8 !important;
    color: #8491a1 !important;
    opacity: 1 !important;
}

/* ==========================================================
   FE-05E — Article mini-player paint isolation
   Article reading surfaces must never paint behind the rounded
   media frame after the modal enters external mini-player mode.
========================================================== */
.dtv-video-modal.is-article.is-minimized .dtv-video-modal__dialog,
.dtv-video-modal.is-article.is-minimized .dtv-video-modal__layout,
.dtv-video-modal.is-article.is-minimized .dtv-video-modal__main,
.dtv-video-modal.is-article.is-minimized .dtv-video-modal__content,
.dtv-video-modal.is-article.is-minimized .dtv-video-modal__sidebar {
    background: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.dtv-video-modal.is-article.is-minimized .dtv-video-modal__layout,
.dtv-video-modal.is-article.is-minimized .dtv-video-modal__main {
    border-radius: 0 !important;
}

.dtv-video-modal.is-article.is-minimized .dtv-video-modal__player {
    isolation: isolate !important;
    background-clip: padding-box !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__sidebar {
    border-left-color: #e2e7ed !important;
    background: #f8fafc !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__sidebar-header {
    background: linear-gradient(180deg, #f8fafc 72%, rgba(248, 250, 252, 0)) !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__sidebar-header span::before {
    content: "Σχετικά άρθρα" !important;
    color: #14243a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__queue {
    scrollbar-color: rgba(26, 46, 74, .24) transparent !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-item {
    border-bottom-color: #e2e7ed !important;
    color: #14243a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-item:hover,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-item:focus-visible {
    border-color: #d8e0e9 !important;
    background: #eef3f8 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-thumb {
    background: #e8edf3 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-title {
    color: #14243a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-copy small,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-empty {
    color: #6d7a8b !important;
}

.dtv-video-modal.is-article.is-article-loading:not(.is-minimized) .dtv-video-modal__content {
    min-height: 16rem !important;
}

@media (max-width: 900px) {
    .dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__sidebar {
        border-top-color: #e2e7ed !important;
        border-left: 0 !important;
    }
}

@media (max-width: 520px) {
    .dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__dialog {
        width: 100vw !important;
        border-radius: 0 !important;
    }

    .dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__content {
        padding: 20px 4px 8px !important;
    }

    .dtv-video-modal.is-article:not(.is-minimized):not(.has-article-media) .dtv-video-modal__content {
        padding-top: 8px !important;
    }
}

/* FE-05 — Articles use the single production Video Modal shell. */
.dtv-video-modal.is-article .dtv-video-modal__dialog,
.dtv-video-modal.is-article .dtv-video-modal__layout,
.dtv-video-modal.is-article .dtv-video-modal__main,
.dtv-video-modal.is-article .dtv-video-modal__content,
.dtv-video-modal.is-article .dtv-video-modal__sidebar {
    background: #fff !important;
    color: #172033 !important;
}

.dtv-video-modal.is-article .dtv-video-modal__dialog {
    border-color: rgba(23, 32, 51, .12) !important;
}

.dtv-video-modal.is-article .dtv-video-modal__close {
    background: #1a2e4a !important;
    color: #fff !important;
}

.dtv-video-modal.is-article .dtv-video-modal__title,
.dtv-video-modal.is-article .dtv-video-modal__excerpt,
.dtv-video-modal.is-article .dtv-video-modal__description,
.dtv-video-modal.is-article .dtv-video-modal__meta,
.dtv-video-modal.is-article .dtv-video-modal__sidebar-header,
.dtv-video-modal.is-article .dtv-video-modal__sidebar-header span,
.dtv-video-modal.is-article .dtv-video-modal__kicker strong,
.dtv-video-modal.is-article .dtv-video-modal__related-title,
.dtv-video-modal.is-article .dtv-video-modal__related-copy small {
    color: #172033 !important;
}

.dtv-video-modal.is-article .dtv-video-modal__kicker span {
    background: #cc0000 !important;
}

.dtv-video-modal.is-article .dtv-video-modal__description {
    font-size: clamp(1rem, .94rem + .18vw, 1.125rem) !important;
    line-height: 1.78 !important;
}

.dtv-video-modal.is-article .dtv-video-modal__description a {
    color: #b00000 !important;
}

.dtv-video-modal.is-article .dtv-video-modal__description img,
.dtv-video-modal.is-article .dtv-video-modal__description iframe,
.dtv-video-modal.is-article .dtv-video-modal__description video {
    max-width: 100%;
    height: auto;
}

.dtv-video-modal.is-article .dtv-video-modal__sidebar,
.dtv-video-modal.is-article .dtv-video-modal__sidebar-header,
.dtv-video-modal.is-article .dtv-video-modal__related-item {
    border-color: rgba(23, 32, 51, .1) !important;
}

.dtv-video-modal.is-article .dtv-video-modal__related-item:hover,
.dtv-video-modal.is-article .dtv-video-modal__related-item:focus-visible {
    background: #f2f5f8 !important;
}

.dtv-video-modal.is-article .dtv-video-modal__player[hidden] {
    display: none !important;
}

.dtv-video-modal.is-article .dtv-video-modal__article-hero {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dtv-video-modal.is-article.is-article-loading .dtv-video-modal__content {
    min-height: 16rem;
}

.dtv-video-modal.is-article.is-article-loading .dtv-video-modal__title::after {
    display: inline-block;
    width: .85em;
    height: .85em;
    margin-left: .65rem;
    border: 2px solid rgba(26, 46, 74, .2);
    border-top-color: #1a2e4a;
    border-radius: 50%;
    content: "";
    animation: dtv-article-loading-spin .75s linear infinite;
}

@keyframes dtv-article-loading-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 520px) {
    .dtv-video-modal__dialog {
        left: 0 !important;
        top: 0 !important;

        width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;

        padding: 14px !important;

        border: 0 !important;
        border-radius: 0 !important;

        transform: none !important;
    }

    .dtv-video-modal__player {
        border-radius: 16px !important;
    }

    .dtv-video-modal.is-video-portrait .dtv-video-modal__player,
    .dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
        width: min(100%, 360px) !important;
        max-height: 58vh !important;
    }

    .dtv-video-modal__title {
        font-size: 30px !important;
    }

    .dtv-video-modal__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .dtv-video-modal__action {
        min-height: 52px !important;
        justify-content: center !important;
    }

    .dtv-video-modal__action[data-dtv-video-modal-share] {
        grid-column: 1 / -1 !important;
    }

    .dtv-video-modal__queue-current,
    .dtv-video-modal__related-item {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    .dtv-video-modal.is-minimized .dtv-video-modal__dialog {
        right: 12px !important;
        bottom: 12px !important;

        width: calc(100vw - 24px) !important;
        height: auto !important;
    }

    .dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__dialog,
    .dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__dialog {
        width: min(54vw, 230px) !important;
    }
}


/* ==========================================================
   DS6 Mini Player — Portrait-first redesign
   Add at the END of assets/css/components/video-modal.css
========================================================== */

/* Mini player shell */
.dtv-video-modal.is-minimized .dtv-video-modal__dialog {
    right: 24px !important;
    bottom: 24px !important;

    width: min(320px, calc(100vw - 32px)) !important;

    display: grid !important;
    gap: 10px !important;

    background: transparent !important;
    box-shadow: none !important;
}

/* Portrait mini should be taller/narrower */
.dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__dialog,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__dialog {
    width: min(280px, calc(100vw - 32px)) !important;
}

/* Player */
.dtv-video-modal.is-minimized .dtv-video-modal__player {
    width: 100% !important;

    border-radius: 22px !important;
    overflow: hidden !important;

    background: #000 !important;

    box-shadow:
        0 24px 70px rgba(0,0,0,.42),
        0 0 0 1px rgba(255,255,255,.08) !important;
}

.dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__player,
.dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
    aspect-ratio: 9 / 16 !important;
}

.dtv-video-modal.is-minimized:not(.is-video-portrait) .dtv-video-modal__player {
    aspect-ratio: 16 / 9 !important;
}

/* Mini info bar redesigned */
.dtv-video-modal.is-minimized .dtv-mini-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    gap: 12px !important;
    align-items: center !important;

    width: 100% !important;

    margin-top: 0 !important;
    padding: 14px !important;

    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 22px !important;

    background:
        linear-gradient(135deg, rgba(26,46,74,.96), rgba(15,23,42,.98)) !important;

    color: #fff !important;

    box-shadow:
        0 24px 70px rgba(15,23,42,.34),
        inset 0 0 0 1px rgba(255,255,255,.04) !important;

    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

/* Restore button text block */
.dtv-video-modal.is-minimized .dtv-mini-bar__restore {
    min-width: 0 !important;

    display: grid !important;
    gap: 5px !important;

    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;
    color: #fff !important;

    text-align: left !important;
    cursor: pointer !important;
}

.dtv-video-modal.is-minimized .dtv-mini-bar__restore strong {
    display: -webkit-box !important;

    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    white-space: normal !important;
    text-overflow: unset !important;

    color: #fff !important;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: .01em !important;

    text-transform: uppercase !important;
}

.dtv-video-modal.is-minimized .dtv-mini-bar__restore span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;

    color: rgba(255,255,255,.62) !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.dtv-video-modal.is-minimized .dtv-mini-bar__restore span::before {
    content: "" !important;

    width: 6px !important;
    height: 6px !important;

    border-radius: 50% !important;

    background: var(--dtv-color-primary, #CC0000) !important;
    box-shadow: 0 0 14px rgba(204,0,0,.45) !important;
}

/* Close button */
.dtv-video-modal.is-minimized .dtv-mini-bar__close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 52px !important;
    height: 52px !important;

    padding: 0 !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: var(--dtv-color-primary, #CC0000) !important;
    color: #fff !important;

    box-shadow: 0 16px 38px rgba(204,0,0,.30) !important;

    cursor: pointer !important;

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        background var(--dtv-motion-normal,.22s ease),
        box-shadow var(--dtv-motion-normal,.22s ease) !important;
}

.dtv-video-modal.is-minimized .dtv-mini-bar__close:hover,
.dtv-video-modal.is-minimized .dtv-mini-bar__close:focus-visible {
    transform: scale(1.06) !important;
    background: var(--dtv-color-primary-hover, #E00000) !important;
}

/* Mobile */
@media (max-width: 520px) {
    .dtv-video-modal.is-minimized .dtv-video-modal__dialog {
        right: 12px !important;
        bottom: 12px !important;

        width: min(72vw, 300px) !important;
    }

    .dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__dialog,
    .dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__dialog {
        width: min(64vw, 260px) !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar {
        grid-template-columns: minmax(0, 1fr) 48px !important;
        gap: 10px !important;

        padding: 12px !important;
        border-radius: 20px !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar__restore strong {
        font-size: 15px !important;
        -webkit-line-clamp: 2 !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar__restore span {
        font-size: 10px !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar__close {
        width: 48px !important;
        height: 48px !important;
    }
}

/* Very small screens */
@media (max-width: 380px) {
    .dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__dialog,
    .dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__dialog {
        width: 68vw !important;
    }
}


/* ==========================================================
   DS6 Mini Player Mobile Refinement
========================================================== */

/* Μην είναι όλα κεφαλαία */
.dtv-video-modal.is-minimized .dtv-mini-bar__restore strong{
    text-transform:none !important;
    font-size:15px !important;
    line-height:1.2 !important;
    letter-spacing:0 !important;
    font-family:inherit !important;
    font-weight:700 !important;
}

.dtv-video-modal.is-minimized .dtv-mini-bar__restore span{
    text-transform:none !important;
    letter-spacing:0 !important;
    font-size:11px !important;
    opacity:.75;
}

/* Mobile - περίπου 40% μικρότερο */
@media (max-width:768px){

    .dtv-video-modal.is-minimized .dtv-video-modal__dialog{
        right:12px !important;
        bottom:12px !important;

        width:170px !important;
    }

    .dtv-video-modal.is-minimized.is-video-portrait .dtv-video-modal__dialog,
    .dtv-video-modal.is-minimized[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__dialog{
        width:170px !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar{
        padding:10px !important;
        gap:8px !important;
        border-radius:16px !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar__restore strong{
        font-size:13px !important;
        line-height:1.15 !important;
        -webkit-line-clamp:2 !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar__restore span{
        font-size:10px !important;
    }

    .dtv-video-modal.is-minimized .dtv-mini-bar__close{
        width:40px !important;
        height:40px !important;
    }
}

/* ==========================================================
   DS6 RC4 — Modal Action Buttons + Autoplay Popup Polish
   Add at the END of assets/css/components/video-modal.css
========================================================== */

/* ==========================================================
   1. Modal action buttons
   Προηγούμενο / Επόμενο / Κοινοποίηση
========================================================== */

.dtv-video-modal__actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;

    margin-top: 22px !important;
}

.dtv-video-modal__action,
.dtv-video-modal__action--button,
.dtv-video-modal__action--primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    min-height: 42px !important;
    padding: 0 16px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;

    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.92) !important;

    font-family: var(--dtv-font-body, inherit) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;

    cursor: pointer !important;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.03),
        0 12px 28px rgba(0,0,0,.18) !important;

    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        background var(--dtv-motion-normal,.22s ease),
        color var(--dtv-motion-normal,.22s ease),
        box-shadow var(--dtv-motion-normal,.22s ease),
        opacity var(--dtv-motion-normal,.22s ease) !important;
}

.dtv-video-modal__action--primary,
.dtv-video-modal__action[data-dtv-video-modal-next] {
    background:
        linear-gradient(135deg, var(--dtv-color-primary,#CC0000), var(--dtv-color-primary-hover,#E00000)) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.10) !important;

    box-shadow:
        0 16px 38px rgba(204,0,0,.28),
        inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

.dtv-video-modal__action:hover:not(:disabled),
.dtv-video-modal__action:focus-visible:not(:disabled) {
    transform: translateY(-2px) !important;

    background: rgba(255,255,255,.14) !important;
    color: #fff !important;

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.06),
        0 16px 38px rgba(0,0,0,.24) !important;
}

.dtv-video-modal__action--primary:hover:not(:disabled),
.dtv-video-modal__action[data-dtv-video-modal-next]:hover:not(:disabled),
.dtv-video-modal__action--primary:focus-visible:not(:disabled),
.dtv-video-modal__action[data-dtv-video-modal-next]:focus-visible:not(:disabled) {
    background:
        linear-gradient(135deg, var(--dtv-color-primary-hover,#E00000), #ff1c1c) !important;

    box-shadow:
        0 18px 46px rgba(204,0,0,.34),
        inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.dtv-video-modal__action:focus-visible {
    outline: 3px solid var(--dtv-color-secondary,#0066CC) !important;
    outline-offset: 4px !important;
}

.dtv-video-modal__action:disabled {
    opacity: .42 !important;
    cursor: default !important;
    transform: none !important;
}

/* Remove forced uppercase from old CSS */
.dtv-video-modal__action *,
.dtv-video-modal__actions * {
    text-transform: none !important;
}

/* Optional cleaner Greek labels if browser renders old uppercase text visually */
.dtv-video-modal__action[data-dtv-video-modal-prev],
.dtv-video-modal__action[data-dtv-video-modal-next],
.dtv-video-modal__action[data-dtv-video-modal-share] {
    white-space: nowrap !important;
}

/* ==========================================================
   2. Close button inside modal
========================================================== */

.dtv-video-modal__close {
    width: 46px !important;
    height: 46px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.16) !important;

    background: rgba(15,23,42,.78) !important;
    color: #fff !important;

    box-shadow: 0 18px 46px rgba(0,0,0,.38) !important;

    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

.dtv-video-modal__close:hover,
.dtv-video-modal__close:focus-visible {
    background: var(--dtv-color-primary,#CC0000) !important;
    transform: scale(1.06) !important;
}

/* ==========================================================
   3. Autoplay / Up Next popup
   Covers common possible class names.
========================================================== */

.dtv-autoplay-pop,
.dtv-autoplay-popup,
.dtv-up-next,
.dtv-upnext,
.dtv-video-autoplay,
[data-dtv-autoplay],
[data-dtv-up-next] {
    position: absolute !important;
    left: 50% !important;
    bottom: 24px !important;
    z-index: 80 !important;

    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;

    width: min(520px, calc(100% - 48px)) !important;
    min-height: 96px !important;
    padding: 12px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 22px !important;

    background:
        linear-gradient(135deg, rgba(26,46,74,.96), rgba(15,23,42,.98)) !important;
    color: #fff !important;

    box-shadow:
        0 24px 70px rgba(0,0,0,.42),
        inset 0 0 0 1px rgba(255,255,255,.04) !important;

    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;

    transform: translateX(-50%) !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* If JS uses hidden attribute/class, don't force hidden popups open globally */
.dtv-autoplay-pop[hidden],
.dtv-autoplay-popup[hidden],
.dtv-up-next[hidden],
.dtv-upnext[hidden],
.dtv-video-autoplay[hidden],
[data-dtv-autoplay][hidden],
[data-dtv-up-next][hidden] {
    display: none !important;
}

/* Autoplay thumbnails */
.dtv-autoplay-pop img,
.dtv-autoplay-popup img,
.dtv-up-next img,
.dtv-upnext img,
.dtv-video-autoplay img,
[data-dtv-autoplay] img,
[data-dtv-up-next] img {
    width: 88px !important;
    height: 56px !important;

    display: block !important;

    border-radius: 12px !important;

    object-fit: cover !important;
}

/* Autoplay text */
.dtv-autoplay-pop strong,
.dtv-autoplay-popup strong,
.dtv-up-next strong,
.dtv-upnext strong,
.dtv-video-autoplay strong,
[data-dtv-autoplay] strong,
[data-dtv-up-next] strong {
    display: -webkit-box !important;

    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    color: #fff !important;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;

    text-transform: none !important;
}

.dtv-autoplay-pop span,
.dtv-autoplay-popup span,
.dtv-up-next span,
.dtv-upnext span,
.dtv-video-autoplay span,
[data-dtv-autoplay] span,
[data-dtv-up-next] span {
    color: rgba(255,255,255,.68) !important;

    font-size: 12px !important;
    font-weight: 800 !important;

    text-transform: none !important;
}

/* Autoplay buttons */
.dtv-autoplay-pop button,
.dtv-autoplay-popup button,
.dtv-up-next button,
.dtv-upnext button,
.dtv-video-autoplay button,
[data-dtv-autoplay] button,
[data-dtv-up-next] button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 38px !important;
    padding: 0 14px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.10) !important;
    color: #fff !important;

    font-size: 12px !important;
    font-weight: 900 !important;

    text-transform: none !important;

    cursor: pointer !important;
}

.dtv-autoplay-pop button:first-of-type,
.dtv-autoplay-popup button:first-of-type,
.dtv-up-next button:first-of-type,
.dtv-upnext button:first-of-type,
.dtv-video-autoplay button:first-of-type,
[data-dtv-autoplay] button:first-of-type,
[data-dtv-up-next] button:first-of-type {
    background: var(--dtv-color-primary,#CC0000) !important;
}

/* ==========================================================
   4. Mobile action buttons
========================================================== */

@media (max-width: 520px) {
    .dtv-video-modal__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }

    .dtv-video-modal__action {
        min-height: 52px !important;
        padding: 0 14px !important;

        font-size: 14px !important;
        border-radius: 999px !important;
    }

    .dtv-video-modal__action[data-dtv-video-modal-share] {
        grid-column: 1 / -1 !important;
    }

    .dtv-autoplay-pop,
    .dtv-autoplay-popup,
    .dtv-up-next,
    .dtv-upnext,
    .dtv-video-autoplay,
    [data-dtv-autoplay],
    [data-dtv-up-next] {
        grid-template-columns: 72px minmax(0, 1fr) !important;
        width: calc(100% - 28px) !important;
        bottom: 18px !important;
        padding: 10px !important;
    }

    .dtv-autoplay-pop img,
    .dtv-autoplay-popup img,
    .dtv-up-next img,
    .dtv-upnext img,
    .dtv-video-autoplay img,
    [data-dtv-autoplay] img,
    [data-dtv-up-next] img {
        width: 72px !important;
        height: 46px !important;
    }

    .dtv-autoplay-pop button,
    .dtv-autoplay-popup button,
    .dtv-up-next button,
    .dtv-upnext button,
    .dtv-video-autoplay button,
    [data-dtv-autoplay] button,
    [data-dtv-up-next] button {
        min-height: 36px !important;
        padding: 0 12px !important;
    }
}


/* DS6 Resume Sheet Buttons */
.dtv-resume-sheet__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr auto !important;
    gap: 10px !important;
    align-items: center !important;
}

.dtv-resume-sheet__actions button {
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: none !important;
    cursor: pointer !important;
}

.dtv-resume-sheet__actions button[data-dtv-resume-accept] {
    background: var(--dtv-color-primary, #CC0000) !important;
    color: #fff !important;
    box-shadow: 0 16px 38px rgba(204,0,0,.28) !important;
}

.dtv-resume-sheet__actions button[data-dtv-resume-dismiss] {
    width: 42px !important;
    padding: 0 !important;
    font-size: 20px !important;
    background: rgba(15,23,42,.78) !important;
}

.dtv-resume-sheet__actions button:hover {
    transform: translateY(-2px) !important;
}

@media (max-width: 520px) {
    .dtv-resume-sheet__actions {
        grid-template-columns: 1fr !important;
    }

    .dtv-resume-sheet__actions button[data-dtv-resume-dismiss] {
        width: 100% !important;
    }
}

/* DS6 RC5 — Mobile close + typography cleanup */

@media (max-width: 520px) {
    .dtv-video-modal__close {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        right: 18px !important;
        top: 18px !important;
    }
}

/* No forced uppercase except current playing kicker */
.dtv-video-modal,
.dtv-video-modal * {
    text-transform: none !important;
}

.dtv-video-modal__kicker,
.dtv-video-modal__kicker strong {
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

/* Remove accents visually from ΠΑΙΖΕΙ ΤΩΡΑ only if text is already supplied */
.dtv-video-modal__kicker strong {
    font-size: 12px !important;
    font-weight: 900 !important;
}

/* Watch Queue title in Greek */
.dtv-video-modal__sidebar-header span {
    font-size: 0 !important;
}

.dtv-video-modal__sidebar-header span::before {
    content: "Σειρά προβολής";
    font-size: 22px !important;
    font-weight: 900 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Queue labels not uppercase, except Παίζει τώρα if desired */
.dtv-video-modal__queue-label {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 12px !important;
}

.dtv-video-modal__queue-section:first-child .dtv-video-modal__queue-label {
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

/* ==========================================================
   DS6.1 — Smart Watch Queue UI
   Add at the END of video-modal.css
========================================================== */

.dtv-video-modal__sidebar-header span {
    font-size: 0 !important;
}

.dtv-video-modal__sidebar-header span::before {
    content: "Επόμενα βίντεο";

    color: #fff;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif);
    font-size: 22px;
    font-weight: 900;
    line-height: 1;

    letter-spacing: 0;
    text-transform: none;
}

.dtv-video-modal__queue-label {
    margin: 0 0 12px !important;

    color: rgba(255,255,255,.58) !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* Remove old "playing now" if cached/older JS renders it */
.dtv-video-modal__queue-current {
    display: none !important;
}

.dtv-video-modal__queue-section--next {
    margin-bottom: 22px !important;
}

.dtv-video-modal__related-item {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 13px !important;
    align-items: center !important;

    padding: 12px 0 !important;

    border-bottom: 1px solid rgba(255,255,255,.08) !important;

    color: #fff !important;
    text-decoration: none !important;

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        background var(--dtv-motion-normal,.22s ease),
        border-color var(--dtv-motion-normal,.22s ease) !important;
}

.dtv-video-modal__related-item:hover {
    transform: translateX(4px) !important;
}

.dtv-video-modal__related-item.is-next {
    grid-template-columns: 132px minmax(0, 1fr) !important;

    padding: 12px !important;

    border: 1px solid rgba(204,0,0,.46) !important;
    border-radius: 18px !important;

    background:
        linear-gradient(135deg, rgba(204,0,0,.18), rgba(255,255,255,.06)) !important;

    box-shadow: 0 18px 48px rgba(0,0,0,.22) !important;
}

.dtv-video-modal__related-thumb {
    position: relative !important;

    display: block !important;

    aspect-ratio: 16 / 9 !important;

    border-radius: 13px !important;
    overflow: hidden !important;

    background: rgba(255,255,255,.08) !important;
}

.dtv-video-modal__related-item.is-next .dtv-video-modal__related-thumb {
    border-radius: 15px !important;
}

.dtv-video-modal__related-thumb img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
}

.dtv-video-modal__related-thumb span {
    position: absolute !important;
    right: 6px !important;
    bottom: 6px !important;

    padding: 4px 6px !important;

    border-radius: 999px !important;

    background: rgba(15,23,42,.88) !important;
    color: #fff !important;

    font-size: 10px !important;
    font-weight: 900 !important;
}

.dtv-video-modal__related-copy {
    min-width: 0;

    display: grid;
    gap: 5px;
}

.dtv-video-modal__related-copy em {
    color: #ff6b6b;

    font-style: normal;
    font-size: 11px;
    font-weight: 900;

    letter-spacing: 0;
    text-transform: none;
}

.dtv-video-modal__related-title {
    display: -webkit-box !important;

    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    color: #fff !important;

    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;

    text-transform: none !important;
}

.dtv-video-modal__related-item.is-next .dtv-video-modal__related-title {
    font-size: 15px !important;
}

.dtv-video-modal__related-copy small {
    color: rgba(255,255,255,.58);

    font-size: 11px;
    font-weight: 700;
}

.dtv-video-modal__related-empty {
    margin: 12px 0 !important;

    color: rgba(255,255,255,.62) !important;

    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Mobile */
@media (max-width: 520px) {
    .dtv-video-modal__related-item,
    .dtv-video-modal__related-item.is-next {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

	
	/* ==========================================================
   DS7.1 — Autoplay Experience / Up Next Overlay
   Add at the END of video-modal.css
========================================================== */

.dtv-up-next {
    position: absolute !important;
    left: 50% !important;
    bottom: 28px !important;
    z-index: 90 !important;

    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) 54px auto !important;
    gap: 14px !important;
    align-items: center !important;

    width: min(720px, calc(100% - 56px)) !important;
    min-height: 104px !important;
    padding: 12px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 24px !important;

    background:
        linear-gradient(135deg, rgba(26,46,74,.96), rgba(15,23,42,.98)) !important;

    color: #fff !important;

    box-shadow:
        0 28px 80px rgba(0,0,0,.46),
        inset 0 0 0 1px rgba(255,255,255,.04) !important;

    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;

    opacity: 0 !important;
    transform: translate(-50%, 18px) scale(.98) !important;
    pointer-events: auto !important;

    transition:
        opacity .18s ease,
        transform .18s ease !important;
}

.dtv-up-next.is-visible {
    opacity: 1 !important;
    transform: translate(-50%, 0) scale(1) !important;
}

.dtv-up-next__thumb {
    position: relative !important;

    display: block !important;

    aspect-ratio: 16 / 9 !important;

    border-radius: 16px !important;
    overflow: hidden !important;

    background: rgba(255,255,255,.08) !important;
}

.dtv-up-next__thumb img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
}

.dtv-up-next__play {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    border-radius: 999px !important;

    background: rgba(204,0,0,.92) !important;
    color: #fff !important;

    font-size: 13px !important;

    transform: translate(-50%, -50%) !important;
}

.dtv-up-next__copy {
    min-width: 0 !important;

    display: grid !important;
    gap: 5px !important;
}

.dtv-up-next__label {
    color: #ff6b6b !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    text-transform: none !important;
}

.dtv-up-next__copy strong {
    display: -webkit-box !important;

    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    color: #fff !important;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;

    text-transform: none !important;
}

.dtv-up-next__copy small {
    color: rgba(255,255,255,.68) !important;

    font-size: 12px !important;
    font-weight: 800 !important;

    text-transform: none !important;
}

.dtv-up-next__copy small b {
    color: #fff !important;
    font-weight: 900 !important;
}

.dtv-up-next__timer {
    position: relative !important;

    width: 54px !important;
    height: 54px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.dtv-up-next__timer svg {
    position: absolute !important;
    inset: 0 !important;

    width: 54px !important;
    height: 54px !important;

    transform: rotate(-90deg) !important;
}

.dtv-up-next__timer-bg,
.dtv-up-next__timer-progress {
    fill: none !important;
    stroke-width: 4 !important;
}

.dtv-up-next__timer-bg {
    stroke: rgba(255,255,255,.16) !important;
}

.dtv-up-next__timer-progress {
    stroke: var(--dtv-color-primary, #CC0000) !important;
    stroke-linecap: round !important;

    transition: stroke-dashoffset .32s linear !important;
}

.dtv-up-next__timer span {
    position: relative !important;
    z-index: 2 !important;

    color: #fff !important;

    font-size: 16px !important;
    font-weight: 900 !important;
}

.dtv-up-next__actions {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}

.dtv-up-next__button {
    min-height: 40px !important;
    padding: 0 14px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.08) !important;
    color: #fff !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: none !important;

    cursor: pointer !important;

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        background var(--dtv-motion-normal,.22s ease) !important;
}

.dtv-up-next__button:hover,
.dtv-up-next__button:focus-visible {
    transform: translateY(-2px) !important;
    background: rgba(255,255,255,.14) !important;
}

.dtv-up-next__button--primary {
    background: var(--dtv-color-primary, #CC0000) !important;
    box-shadow: 0 16px 38px rgba(204,0,0,.28) !important;
}

.dtv-up-next__button--primary:hover,
.dtv-up-next__button--primary:focus-visible {
    background: var(--dtv-color-primary-hover, #E00000) !important;
}

/* Portrait modal position */
.dtv-video-modal.is-video-portrait .dtv-up-next,
.dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-up-next {
    width: min(680px, calc(100% - 56px)) !important;
}

/* Mobile */
@media (max-width: 720px) {
    .dtv-up-next {
        left: 14px !important;
        right: 14px !important;
        bottom: 18px !important;

        width: auto !important;

        grid-template-columns: 82px minmax(0, 1fr) 48px !important;
        grid-template-areas:
            "thumb copy timer"
            "actions actions actions" !important;

        gap: 12px !important;

        padding: 12px !important;

        transform: translateY(18px) scale(.98) !important;
    }

    .dtv-up-next.is-visible {
        transform: translateY(0) scale(1) !important;
    }

    .dtv-up-next__thumb {
        grid-area: thumb !important;
    }

    .dtv-up-next__copy {
        grid-area: copy !important;
    }

    .dtv-up-next__timer {
        grid-area: timer !important;

        width: 48px !important;
        height: 48px !important;
    }

    .dtv-up-next__timer svg {
        width: 48px !important;
        height: 48px !important;
    }

    .dtv-up-next__actions {
        grid-area: actions !important;

        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }

    .dtv-up-next__button {
        min-height: 44px !important;
        font-size: 13px !important;
    }

    .dtv-up-next__copy strong {
        font-size: 18px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-up-next,
    .dtv-up-next.is-visible,
    .dtv-up-next__timer-progress {
        transition: none !important;
        transform: none !important;
    }
}

	
	/* ==========================================================
   DS7.1.1 — Premium Up Next UI
   Add at the END of assets/css/components/video-modal.css
========================================================== */

/* ==========================================================
   Premium Up Next card
========================================================== */

.dtv-up-next,
.dtv-up-next--premium {
    position: absolute !important;
    right: 388px !important;
    bottom: 28px !important;
    left: auto !important;
    z-index: 95 !important;

    display: grid !important;
    gap: 14px !important;

    width: min(430px, calc(100% - 420px)) !important;
    min-height: auto !important;
    padding: 16px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 26px !important;

    background:
        radial-gradient(circle at 18% 10%, rgba(204,0,0,.18), transparent 34%),
        linear-gradient(135deg, rgba(26,46,74,.97), rgba(15,23,42,.985)) !important;

    color: #fff !important;

    box-shadow:
        0 30px 90px rgba(0,0,0,.50),
        inset 0 0 0 1px rgba(255,255,255,.04) !important;

    backdrop-filter: blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;

    opacity: 0 !important;
    transform: translateY(14px) scale(.985) !important;
    pointer-events: auto !important;

    transition:
        opacity .22s cubic-bezier(.2,.8,.2,1),
        transform .22s cubic-bezier(.2,.8,.2,1) !important;
}

.dtv-up-next.is-visible,
.dtv-up-next--premium.is-visible {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

.dtv-up-next__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.dtv-up-next__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;

    color: rgba(255,255,255,.72) !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.dtv-up-next__eyebrow::before {
    content: "" !important;

    width: 7px !important;
    height: 7px !important;

    border-radius: 50% !important;

    background: var(--dtv-color-primary,#CC0000) !important;
    box-shadow: 0 0 16px rgba(204,0,0,.50) !important;
}

.dtv-up-next__dismiss {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.07) !important;
    color: #fff !important;

    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    cursor: pointer !important;
}

.dtv-up-next__body {
    display: grid !important;
    grid-template-columns: 116px minmax(0, 1fr) 58px !important;
    gap: 14px !important;
    align-items: center !important;
}

.dtv-up-next__thumb {
    position: relative !important;

    display: block !important;

    width: 116px !important;
    aspect-ratio: 16 / 9 !important;

    border-radius: 16px !important;
    overflow: hidden !important;

    background: rgba(255,255,255,.08) !important;

    box-shadow:
        0 16px 34px rgba(0,0,0,.28),
        inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.dtv-up-next__thumb img {
    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;
}

.dtv-up-next__play {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;

    border-radius: 999px !important;

    background: rgba(204,0,0,.92) !important;
    color: #fff !important;

    font-size: 14px !important;

    transform: translate(-50%, -50%) !important;

    box-shadow: 0 14px 34px rgba(204,0,0,.28) !important;
}

.dtv-up-next__duration {
    position: absolute !important;
    right: 6px !important;
    bottom: 6px !important;

    padding: 4px 6px !important;

    border-radius: 999px !important;

    background: rgba(15,23,42,.88) !important;
    color: #fff !important;

    font-size: 10px !important;
    font-weight: 900 !important;
}

.dtv-up-next__copy {
    min-width: 0 !important;

    display: grid !important;
    gap: 6px !important;
}

.dtv-up-next__copy strong {
    display: -webkit-box !important;

    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;

    color: #fff !important;

    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.dtv-up-next__copy small {
    color: rgba(255,255,255,.66) !important;

    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

.dtv-up-next__copy small b {
    color: #fff !important;
    font-weight: 900 !important;
}

.dtv-up-next__timer {
    position: relative !important;

    width: 58px !important;
    height: 58px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;

    background: rgba(255,255,255,.06) !important;
}

.dtv-up-next__timer svg {
    position: absolute !important;
    inset: 0 !important;

    width: 58px !important;
    height: 58px !important;

    transform: rotate(-90deg) !important;
}

.dtv-up-next__timer-bg,
.dtv-up-next__timer-progress {
    fill: none !important;
    stroke-width: 4 !important;
}

.dtv-up-next__timer-bg {
    stroke: rgba(255,255,255,.14) !important;
}

.dtv-up-next__timer-progress {
    stroke: var(--dtv-color-primary,#CC0000) !important;
    stroke-linecap: round !important;
    transition: stroke-dashoffset .32s linear !important;
}

.dtv-up-next__timer span {
    position: relative !important;
    z-index: 2 !important;

    color: #fff !important;

    font-size: 17px !important;
    font-weight: 900 !important;
}

.dtv-up-next__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    align-items: center !important;
}

.dtv-up-next__button {
    min-height: 44px !important;
    padding: 0 16px !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.08) !important;
    color: #fff !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: none !important;

    cursor: pointer !important;

    transition:
        transform var(--dtv-motion-normal,.22s ease),
        background var(--dtv-motion-normal,.22s ease),
        box-shadow var(--dtv-motion-normal,.22s ease) !important;
}

.dtv-up-next__button:hover,
.dtv-up-next__button:focus-visible {
    transform: translateY(-2px) !important;
    background: rgba(255,255,255,.14) !important;
}

.dtv-up-next__button--primary {
    background:
        linear-gradient(135deg, var(--dtv-color-primary,#CC0000), var(--dtv-color-primary-hover,#E00000)) !important;

    box-shadow:
        0 16px 38px rgba(204,0,0,.28),
        inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

.dtv-up-next__button--primary:hover,
.dtv-up-next__button--primary:focus-visible {
    background:
        linear-gradient(135deg, var(--dtv-color-primary-hover,#E00000), #ff1c1c) !important;
}

/* ==========================================================
   Queue next item emphasis
========================================================== */

.dtv-video-modal__queue-section--next .dtv-video-modal__queue-label {
    color: rgba(255,255,255,.76) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.dtv-video-modal__related-item.is-next {
    grid-template-columns: 142px minmax(0,1fr) !important;
    gap: 14px !important;

    padding: 14px !important;

    border-color: rgba(204,0,0,.58) !important;
    border-radius: 20px !important;

    background:
        radial-gradient(circle at 18% 12%, rgba(204,0,0,.18), transparent 36%),
        linear-gradient(135deg, rgba(204,0,0,.16), rgba(255,255,255,.055)) !important;

    box-shadow:
        0 20px 58px rgba(0,0,0,.24),
        inset 0 0 0 1px rgba(255,255,255,.035) !important;
}

.dtv-video-modal__related-item.is-next .dtv-video-modal__related-thumb {
    border-radius: 16px !important;
}

.dtv-video-modal__related-item.is-next .dtv-video-modal__related-title {
    font-size: 15px !important;
}

/* ==========================================================
   Responsive
========================================================== */

@media (max-width: 1180px) {
    .dtv-up-next,
    .dtv-up-next--premium {
        right: 26px !important;
        width: min(430px, calc(100% - 52px)) !important;
    }
}

@media (max-width: 900px) {
    .dtv-up-next,
    .dtv-up-next--premium {
        position: fixed !important;
        left: 16px !important;
        right: 16px !important;
        bottom: 18px !important;

        width: auto !important;

        transform: translateY(14px) scale(.985) !important;
    }

    .dtv-up-next.is-visible,
    .dtv-up-next--premium.is-visible {
        transform: translateY(0) scale(1) !important;
    }
}

@media (max-width: 560px) {
    .dtv-up-next,
    .dtv-up-next--premium {
        padding: 14px !important;
        border-radius: 22px !important;
    }

    .dtv-up-next__body {
        grid-template-columns: 96px minmax(0, 1fr) 52px !important;
        gap: 12px !important;
    }

    .dtv-up-next__thumb {
        width: 96px !important;
        border-radius: 14px !important;
    }

    .dtv-up-next__copy strong {
        font-size: 18px !important;
    }

    .dtv-up-next__timer {
        width: 52px !important;
        height: 52px !important;
    }

    .dtv-up-next__timer svg {
        width: 52px !important;
        height: 52px !important;
    }

    .dtv-up-next__actions {
        grid-template-columns: 1fr !important;
    }

    .dtv-up-next__button {
        min-height: 46px !important;
    }

    .dtv-video-modal__related-item.is-next {
        grid-template-columns: 110px minmax(0,1fr) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-up-next,
    .dtv-up-next.is-visible,
    .dtv-up-next__timer-progress {
        transition: none !important;
        transform: none !important;
    }
}

    .dtv-video-modal__related-title,
    .dtv-video-modal__related-item.is-next .dtv-video-modal__related-title {
        font-size: 14px !important;
    }
}


/* FE-01I — Full video description */
.dtv-video-modal__description {
    max-width: 760px !important;
    margin: 20px 0 0 !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
    overflow-wrap: anywhere !important;
}
.dtv-video-modal__description[hidden],
.dtv-video-modal__description:empty { display: none !important; }
.dtv-video-modal__description > :first-child { margin-top: 0 !important; }
.dtv-video-modal__description > :last-child { margin-bottom: 0 !important; }
.dtv-video-modal__description p,
.dtv-video-modal__description ul,
.dtv-video-modal__description ol,
.dtv-video-modal__description blockquote { margin: 0 0 1em !important; }
.dtv-video-modal__description h2,
.dtv-video-modal__description h3,
.dtv-video-modal__description h4 {
    margin: 1.4em 0 .55em !important;
    color: #fff !important;
    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif) !important;
    line-height: 1.15 !important;
}
.dtv-video-modal__description a { color: #8fc7ff !important; text-decoration: underline !important; }
.dtv-video-modal__description img,
.dtv-video-modal__description iframe,
.dtv-video-modal__description video { max-width: 100% !important; height: auto; border-radius: 14px; }
.dtv-video-modal__description-status { color: rgba(255,255,255,.58) !important; font-style: italic; }
.dtv-video-modal__main {
    max-height: calc(90vh - 48px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.28) transparent;
}
.dtv-video-modal.is-minimized .dtv-video-modal__main { overflow: visible !important; padding-right: 0 !important; }
@media (max-width: 900px) {
    .dtv-video-modal__main { max-height: none !important; overflow: visible !important; padding-right: 0 !important; }
    .dtv-video-modal__description { font-size: 15px !important; line-height: 1.68 !important; }
}


/* ==========================================================
   FE-01J.1 — Isolated in-modal scroll mini-player
   Never shares the established .is-minimized external player state.
========================================================== */
.dtv-video-modal__scroll-sentinel {
    display: block !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

/* FE-05D: the floating player never reserves or paints a second media box.
   Keep this terminal compatibility rule for older cached runtimes that may
   still inject the legacy placeholder element. */
.dtv-video-modal__scroll-placeholder {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.dtv-video-modal:not(.is-minimized).is-scroll-mini .dtv-video-modal__player {
    position: fixed !important;
    left: auto !important;
    top: auto !important;
    right: 28px !important;
    bottom: 28px !important;
    z-index: 1000002 !important;
    width: min(400px, calc(100vw - 56px)) !important;
    max-width: 400px !important;
    max-height: min(52vh, 360px) !important;
    margin: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 74px rgba(0,0,0,.58), 0 0 0 1px rgba(255,255,255,.12) !important;
    transform: none !important;
}

.dtv-video-modal__scroll-mini-return {
    position: fixed !important;
    right: 38px !important;
    bottom: 38px !important;
    z-index: 1000003 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 999px !important;
    background: rgba(26,46,74,.94) !important;
    color: #fff !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.4) !important;
    cursor: pointer !important;
    font: inherit !important;
}

.dtv-video-modal__scroll-mini-return span {
    display: grid !important;
    width: 20px !important;
    height: 20px !important;
    place-items: center !important;
}

.dtv-video-modal__scroll-mini-return svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.dtv-video-modal:not(.is-minimized).is-scroll-mini .dtv-video-modal__scroll-mini-return {
    display: inline-flex !important;
}

.dtv-video-modal:not(.is-minimized).is-scroll-mini .dtv-video-modal__scroll-mini-return:hover,
.dtv-video-modal:not(.is-minimized).is-scroll-mini .dtv-video-modal__scroll-mini-return:focus-visible {
    background: #cc0000 !important;
    border-color: #cc0000 !important;
    outline: 3px solid rgba(255,255,255,.82) !important;
    outline-offset: 2px !important;
}

.dtv-video-modal:not(.is-minimized).is-scroll-mini.is-video-portrait .dtv-video-modal__player,
.dtv-video-modal:not(.is-minimized).is-scroll-mini[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
    width: min(220px, calc(100vw - 56px)) !important;
    max-width: 220px !important;
    max-height: min(62vh, 390px) !important;
    aspect-ratio: 9 / 16 !important;
}

/* Keep the normal player in document flow and protect content from overlap. */
.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__player {
    flex: 0 0 auto !important;
}
.dtv-video-modal__content {
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
}

/* External mini-player remains governed exclusively by .is-minimized. */
.dtv-video-modal.is-minimized.is-scroll-mini {
    /* Defensive cleanup for stale classes from cached scripts. */
}
.dtv-video-modal.is-minimized .dtv-video-modal__scroll-sentinel {
    display: none !important;
}

@media (max-width: 900px) {
    .dtv-video-modal.is-scroll-mini .dtv-video-modal__player {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
        box-shadow: 0 28px 78px rgba(0,0,0,.46), inset 0 0 0 1px rgba(255,255,255,.06) !important;
    }
    .dtv-video-modal__scroll-sentinel,
    .dtv-video-modal__scroll-mini-return {
        display: none !important;
    }
}


/* ==========================================================
   FE-02 — Video Modal Rendering Stabilization
   Deterministic media-first flow for landscape and portrait.
========================================================== */
.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__main {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
}

.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__player {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    isolation: isolate !important;
    z-index: 2 !important;
}

.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__content {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    order: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 6px 0 !important;
    transform: none !important;
    z-index: 1 !important;
}

.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__player .dtv-video-player-mount,
.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__player iframe,
.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__player video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
}

.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__main,
.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__main {
    display: grid !important;
    grid-template-columns: minmax(300px, 500px) minmax(0, 1fr) !important;
    grid-template-areas: "player content" !important;
    align-items: start !important;
    gap: 28px !important;
}

.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__player,
.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
    grid-area: player !important;
    order: initial !important;
    width: min(100%, 500px) !important;
    max-height: calc(90vh - 72px) !important;
    aspect-ratio: 9 / 16 !important;
    margin-inline: auto !important;
}

.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__content,
.dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__content {
    grid-area: content !important;
    order: initial !important;
    padding-top: 12px !important;
}

/* The sentinel lives after the media. It may activate only after the complete
   player has left the scroll viewport; it must never float on initial render. */
.dtv-video-modal__scroll-sentinel {
    order: 1 !important;
    flex: 0 0 1px !important;
}
@media (max-width: 900px) {
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__main,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__main {
        display: flex !important;
        flex-direction: column !important;
    }
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__player,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
        width: min(100%, 420px) !important;
        max-height: 62vh !important;
        order: 1 !important;
    }
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__content,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__content {
        width: 100% !important;
        order: 2 !important;
        padding-top: 20px !important;
    }
}

/* FE-05A terminal article palette.
 * Kept last so legacy Video Modal refinement layers cannot reapply the dark
 * palette or force an empty media surface back into the article state. */
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__dialog,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__layout,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__main,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__content {
    background: #fff !important;
    color: #172033 !important;
}

.dtv-video-modal.is-article:not(.is-minimized):not(.has-article-sidebar) .dtv-video-modal__layout {
    grid-template-columns: minmax(0, 1fr) !important;
}

.dtv-video-modal.is-article:not(.is-minimized):not(.has-article-sidebar) .dtv-video-modal__sidebar,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__player[hidden] {
    display: none !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__title,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description h2,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description h3,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description h4,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-title {
    color: #14243a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__excerpt,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description {
    color: #26384d !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__meta,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-copy small,
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-empty {
    color: #66758a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description {
    border-top-color: #e3e8ef !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__description a {
    color: #a80000 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__sidebar {
    border-color: #e2e7ed !important;
    background: #f8fafc !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__sidebar-header {
    background: linear-gradient(180deg, #f8fafc 72%, rgba(248, 250, 252, 0)) !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__sidebar-header span::before {
    content: "Περισσότερα άρθρα" !important;
    color: #14243a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-item {
    border-color: #e2e7ed !important;
    color: #14243a !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__related-thumb {
    background: #e8edf3 !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action[data-dtv-video-modal-prev] {
    border-color: #1a2e4a !important;
    background: #1a2e4a !important;
    color: #fff !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action[data-dtv-video-modal-next] {
    border-color: #cc0000 !important;
    background: #cc0000 !important;
    color: #fff !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action[data-dtv-video-modal-share] {
    border-color: #d9e0e8 !important;
    background: #fff !important;
    color: #1a2e4a !important;
}

/* ==========================================================
   FE-05B — Portrait player responsive geometry
   Keep a true 9:16 box at tablet/mobile sizes. Height caps must
   constrain the width as well, otherwise provider iframes letterbox.
========================================================== */
@media (min-width: 901px) and (max-width: 1180px) {
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__main,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__main {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__player,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
        width: min(100%, 460px, calc(50.625vh - 40.5px)) !important;
        max-height: none !important;
        aspect-ratio: 9 / 16 !important;
        margin-inline: auto !important;
        order: 1 !important;
    }

    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__content,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__content {
        width: 100% !important;
        padding-top: 20px !important;
        order: 2 !important;
    }
}

@media (max-width: 900px) {
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__player,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
        width: min(100%, 37.6875dvh) !important;
        max-width: none !important;
        max-height: none !important;
        aspect-ratio: 9 / 16 !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 520px) {
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini).is-video-portrait .dtv-video-modal__player,
    .dtv-video-modal:not(.is-minimized):not(.is-scroll-mini)[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__player {
        width: min(100%, 38.25dvh) !important;
    }
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action:hover:not(:disabled),
.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action:focus-visible:not(:disabled) {
    border-color: #cc0000 !important;
    background: #cc0000 !important;
    color: #fff !important;
}

.dtv-video-modal.is-article:not(.is-minimized) .dtv-video-modal__action:disabled {
    border-color: #e2e7ed !important;
    background: #f2f5f8 !important;
    color: #8491a1 !important;
    opacity: 1 !important;
}


/* F2.0-R05.9 Correction 01 — final modal-wide reduced-motion hardening.
   Presentation geometry is intentionally unchanged. */
@media (prefers-reduced-motion: reduce) {
    .dtv-video-modal,
    .dtv-video-modal *,
    .dtv-video-modal *::before,
    .dtv-video-modal *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }
}

/* DTV bundle source: assets/css/components/mini-player.css */
/* ==========================================================
   Sprint 4.8 RC1 - Mini Player Option A
========================================================== */

.dtv-video-player-mount {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
}

.dtv-video-player-mount iframe,
.dtv-video-player-mount video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    border: 0;

    display: block;
}

.dtv-mini-player {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999998;

    width: min(380px, calc(100vw - 32px));

    overflow: hidden;

    border-radius: 18px;

    background: #0F172A;
    color: #ffffff;

    box-shadow: 0 24px 80px rgba(0,0,0,.38);

    opacity: 0;
    transform: translateY(18px) scale(.96);

    pointer-events: none;

    transition:
        opacity .22s ease,
        transform .22s ease;
}

.dtv-mini-player.is-open {
    opacity: 1;
    transform: translateY(0) scale(1);

    pointer-events: auto;
}

.dtv-mini-player__video {
    position: relative;

    width: 100%;
    aspect-ratio: 16 / 9;

    background: #000000;
    overflow: hidden;

    cursor: pointer;
}

.dtv-mini-player__bar {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 12px 12px 12px 14px;

    background: #1A2E4A;
}

.dtv-mini-player__restore {
    min-width: 0;
    flex: 1;

    padding: 0;
    border: 0;

    background: transparent;
    color: #ffffff;

    text-align: left;

    cursor: pointer;
}

.dtv-mini-player__restore span {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
}

.dtv-mini-player__close {
    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 999px;

    background: rgba(255,255,255,.10);
    color: #ffffff;

    font-size: 24px;
    line-height: 1;

    cursor: pointer;
}

.dtv-mini-player__close:hover,
.dtv-mini-player__close:focus-visible {
    background: #CC0000;
}

@media (max-width: 768px) {
    .dtv-mini-player {
        right: 12px;
        bottom: 12px;

        width: min(340px, calc(100vw - 24px));

        border-radius: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-mini-player {
        transition: none;
    }
}

/* DTV bundle source: assets/css/components/foundation-overrides.css */
/* ==========================================================
   dimosTV Design System
   DS1 — Safe Foundation Overrides
   This file applies foundations without redesigning components yet.
========================================================== */

body {
    background: var(--dtv-color-page);
    color: var(--dtv-color-text);
}

.dtv-front-section,
.dtv-carousel-section,
.dtv-continue-watching {
    margin-block: var(--dtv-space-section);
}

.dtv-video-card,
.dtv-continue-card,
.dtv-live-strip,
.dtv-video-modal__dialog {
    transition:
        transform var(--dtv-motion-normal),
        box-shadow var(--dtv-motion-normal),
        background var(--dtv-motion-normal),
        color var(--dtv-motion-normal);
}

.dtv-video-card__duration,
.dtv-video-card__badge,
.dtv-live-strip__badge,
.dtv-front-badge,
.dtv-continue-card__meta-pill {
    border-radius: var(--dtv-radius-pill);
}

.dtv-video-card__copy h3,
.dtv-continue-card__body strong {
    text-transform: none;
}

.dtv-front-section-header h2,
.dtv-section-header h2 {
    color: var(--dtv-color-text);
}

.dtv-front-section-header a,
.dtv-section-header a {
    text-transform: none;
}

/* DTV bundle source: assets/css/components/token-overrides.css */
/* ==========================================================
   Release Sprint R1 - Token Adoption Overrides
   Safe layer: can be appended after existing component CSS.
========================================================== */

/* Shared controls */
.dtv-video-card__play,
.dtv-continue-card__play,
.dtv-front-hero-cta,
.dtv-mini-bar__close,
.dtv-resume-sheet__actions button,
.dtv-autoplay__actions button {
    transition:
        background var(--dtv-motion-normal),
        color var(--dtv-motion-normal),
        transform var(--dtv-motion-normal),
        box-shadow var(--dtv-motion-normal);
}

/* Video Cards */
.dtv-video-card {
    color: var(--dtv-color-text);
}

.dtv-video-card__badge {
    border-radius: var(--dtv-radius-pill);
}

.dtv-video-card__duration {
    border-radius: var(--dtv-radius-pill);
    background: var(--dtv-overlay-soft);
    color: var(--dtv-color-text-inverse);
}

.dtv-video-card__play {
    background: rgba(255, 255, 255, .94);
    color: var(--dtv-color-primary);
    box-shadow: var(--dtv-shadow-control);
}

/* Continue Watching */
.dtv-continue-card {
    border-radius: var(--dtv-radius-xl);
    background: var(--dtv-color-surface-dark);
    box-shadow: var(--dtv-shadow-card);
    transition:
        transform var(--dtv-motion-normal),
        box-shadow var(--dtv-motion-normal);
}

.dtv-continue-card:hover,
.dtv-continue-card:focus-visible {
    box-shadow: var(--dtv-shadow-card-hover);
}

.dtv-continue-card__progress span {
    background: linear-gradient(
        90deg,
        var(--dtv-color-primary),
        var(--dtv-color-primary-hover)
    );
}

.dtv-continue-card__play {
    color: var(--dtv-color-primary);
}

.dtv-continue-card__body {
    background:
        linear-gradient(
            180deg,
            var(--dtv-color-surface-navy),
            var(--dtv-color-surface-dark)
        );
}

/* Modal / Mini Player */
.dtv-video-modal__dialog {
    box-shadow: var(--dtv-shadow-modal);
}

.dtv-video-modal.is-minimized .dtv-video-modal__dialog {
    border-radius: var(--dtv-radius-lg);
    box-shadow: var(--dtv-shadow-modal);
}

.dtv-mini-bar {
    background: var(--dtv-color-surface-navy);
    color: var(--dtv-color-text-inverse);
}

.dtv-mini-bar__close:hover,
.dtv-mini-bar__close:focus-visible {
    background: var(--dtv-color-primary);
}

/* Resume / Autoplay */
.dtv-resume-sheet__inner,
.dtv-autoplay__box {
    border-color: var(--dtv-color-border-inverse);
    border-radius: var(--dtv-radius-lg);
    background: rgba(26, 46, 74, .92);
    color: var(--dtv-color-text-inverse);
    box-shadow: var(--dtv-shadow-modal);
}

.dtv-resume-sheet__actions button:first-child,
.dtv-autoplay__actions button:first-child {
    background: var(--dtv-color-primary);
    border-color: var(--dtv-color-primary);
}

.dtv-resume-sheet__actions button:first-child:hover,
.dtv-autoplay__actions button:first-child:hover {
    background: var(--dtv-color-primary-hover);
    border-color: var(--dtv-color-primary-hover);
}

/* ==========================================================
   Hotfix - SVG icons + duration readability
========================================================== */

/* Continue Watching inline SVG alignment */
.dtv-continue-card__play svg,
.dtv-continue-card__fallback svg,
.dtv-continue-card__resume-icon svg,
.dtv-video-card__play svg {
    display: block;
}

.dtv-continue-card__body small {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dtv-continue-card__resume-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Make carousel/video-card duration readable on any thumbnail */
.dtv-video-card__duration {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 8;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 26px;
    padding: 5px 9px;

    border-radius: 999px;

    background: rgba(15, 23, 42, .88);
    color: #ffffff;

    font-size: 12px;
    font-weight: 900;
    line-height: 1;

    letter-spacing: .01em;

    box-shadow: 0 8px 22px rgba(0,0,0,.28);

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Prevent WordPress emoji images from breaking play UI if any remain */
.dtv-video-card__play img.emoji,
.dtv-continue-card__play img.emoji,
.dtv-front-live-strip img.emoji,
.dtv-live-strip img.emoji {
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    vertical-align: -0.12em !important;
}

/* Optional: better live CTA icon spacing if live strip still uses emoji image */
.dtv-front-live-strip a,
.dtv-front-live-strip button,
.dtv-live-strip a,
.dtv-live-strip button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ==========================================================
   Hotfix - Carousel buttons + Continue Watching play visibility
========================================================== */

/* Carousel arrows must always be above cards and clickable */
.dtv-carousel-shell {
    position: relative;
}

.dtv-carousel-arrow,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
    z-index: 80 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.dtv-carousel-arrow:not(:disabled),
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow:not(:disabled) {
    opacity: 1 !important;
}

.dtv-carousel-row.is-dragging {
    cursor: grabbing;
}

.dtv-carousel-row.is-dragging > * {
    pointer-events: none;
}

/* Continue Watching play button: stronger contrast and perfect SVG centering */
.dtv-continue-card__play {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 48px !important;
    height: 48px !important;

    border: 2px solid rgba(255,255,255,.72) !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.96) !important;
    color: var(--dtv-color-primary, #CC0000) !important;

    box-shadow: 0 16px 44px rgba(0,0,0,.34) !important;
}

.dtv-continue-card__play svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    margin-left: 2px;
}

.dtv-continue-card__fallback span {
    color: #ffffff !important;
    background: rgba(204,0,0,.92) !important;
    box-shadow: 0 16px 44px rgba(0,0,0,.34) !important;
}

.dtv-continue-card__resume-icon svg {
    display: block;
}


/* ==========================================================
   Hotfix - Mobile Carousel + Mini Player Close
========================================================== */

/* Carousel arrows on tablet/mobile */
.dtv-carousel-shell {
    position: relative;
    overflow: visible;
}

.dtv-carousel-row {
    touch-action: pan-x pan-y;
}

.dtv-carousel-arrow,
.dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
    z-index: 120 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

@media (max-width: 1024px) {
    .dtv-carousel-arrow,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        font-size: 28px !important;
    }

    .dtv-carousel-arrow--prev,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {
        left: 6px !important;
    }

    .dtv-carousel-arrow--next,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {
        right: 6px !important;
    }
}

@media (max-width: 768px) {
    .dtv-carousel-arrow,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        font-size: 24px !important;
    }

    .dtv-carousel-arrow--prev,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {
        left: 8px !important;
    }

    .dtv-carousel-arrow--next,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {
        right: 8px !important;
    }
}

/* Mini player close/restore */
.dtv-video-modal.is-minimized .dtv-mini-bar {
    position: relative;
    z-index: 40;
}

.dtv-video-modal.is-minimized .dtv-mini-bar__restore {
    cursor: pointer;
}

.dtv-video-modal.is-minimized .dtv-mini-bar__close {
    position: relative;
    z-index: 45;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    pointer-events: auto !important;
    cursor: pointer !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__player {
    pointer-events: auto;
}


/* ==========================================================
   DS3.2 RC5 — Mobile Carousel Controls Fix
   Goal:
   - carousel arrows no longer cover the video card
   - one full card is visible on mobile
   - arrows sit outside the card area
========================================================== */

@media (max-width: 768px) {

    /*
     * Give the carousel shell side gutters for the arrows.
     * The card will live inside the available center area.
     */
    .dtv-carousel-shell {
        padding-inline: 58px !important;
        overflow: visible !important;
    }

    /*
     * Keep the row inside the safe area.
     */
    .dtv-carousel-row {
        gap: 18px !important;
        padding: 8px 0 22px !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-padding-inline: 0 !important;
    }

    /*
     * Make the card width relative to the available carousel area,
     * not the full viewport. This prevents arrows from covering it.
     */
    .dtv-video-card--short {
        flex: 0 0 calc(100vw - 148px) !important;
        max-width: calc(100vw - 148px) !important;
    }

    .dtv-video-card--poster {
        flex: 0 0 calc(100vw - 132px) !important;
        max-width: calc(100vw - 132px) !important;
    }

    .dtv-video-card--landscape {
        flex: 0 0 calc(100vw - 126px) !important;
        max-width: calc(100vw - 126px) !important;
    }

    /*
     * Position arrows in the gutters, outside the card.
     */
    .dtv-carousel-arrow,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
        top: 50% !important;

        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;

        z-index: 90 !important;

        transform: translateY(-50%) !important;

        box-shadow: 0 12px 28px rgba(204,0,0,.28) !important;
    }

    .dtv-carousel-arrow--prev,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {
        left: 6px !important;
    }

    .dtv-carousel-arrow--next,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {
        right: 6px !important;
    }

    /*
     * Slightly reduce title size so it breathes better on mobile.
     */
    .dtv-video-card--short .dtv-video-card__copy h3 {
        font-size: 21px !important;
    }

    .dtv-video-card__copy {
        left: 18px !important;
        right: 18px !important;
        bottom: 18px !important;
    }
}

@media (max-width: 420px) {

    .dtv-carousel-shell {
        padding-inline: 54px !important;
    }

    .dtv-video-card--short {
        flex-basis: calc(100vw - 138px) !important;
        max-width: calc(100vw - 138px) !important;
    }

    .dtv-video-card--poster {
        flex-basis: calc(100vw - 124px) !important;
        max-width: calc(100vw - 124px) !important;
    }

    .dtv-video-card--landscape {
        flex-basis: calc(100vw - 118px) !important;
        max-width: calc(100vw - 118px) !important;
    }

    .dtv-carousel-arrow,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }

    .dtv-carousel-arrow--prev,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {
        left: 4px !important;
    }

    .dtv-carousel-arrow--next,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {
        right: 4px !important;
    }
}

/* ==========================================================
   dimosTV Design System
   DS5.1 — Modal Safe Motion Patch
   Purpose:
   - keep DS5 motion
   - remove modal transform conflicts
   - restore Video Modal positioning
========================================================== */

/*
 * IMPORTANT:
 * Do NOT animate .dtv-video-modal__dialog with transform here.
 * The modal already uses transform/positioning for desktop, mobile,
 * mini-player and queue layouts.
 */

/* Restore modal/dialog control to component CSS */
.dtv-video-modal__dialog {
    opacity: 1 !important;
}

/* Prevent DS5 from changing modal positioning */
.dtv-video-modal.is-open .dtv-video-modal__dialog,
.dtv-video-modal.is-minimized .dtv-video-modal__dialog {
    opacity: 1 !important;
}

/* Safe backdrop fade only */
.dtv-video-modal__backdrop {
    transition: opacity var(--dtv-motion-normal, .22s ease) !important;
}

/* Modal open state should remain interactive */
.dtv-video-modal.is-open {
    pointer-events: auto !important;
}

/* Mini player state remains unchanged */
.dtv-video-modal.is-minimized {
    pointer-events: none !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__dialog,
.dtv-video-modal.is-minimized .dtv-mini-bar,
.dtv-video-modal.is-minimized [data-dtv-mini-close],
.dtv-video-modal.is-minimized [data-dtv-mini-restore] {
    pointer-events: auto !important;
}

/* Remove accidental inherited reveal/motion from modal */
.dtv-video-modal,
.dtv-video-modal *,
.dtv-video-modal__dialog,
.dtv-video-modal__player,
.dtv-video-modal__sidebar {
    animation-name: none;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .dtv-video-modal,
    .dtv-video-modal__backdrop,
    .dtv-video-modal__dialog {
        transition: none !important;
        animation: none !important;
    }
}

/* DTV bundle source: assets/css/components/motion-overrides.css */
/* ==========================================================
   dimosTV Design System
   DS5.1 — Motion & Microinteractions Clean
   Same DS5 motion, but WITHOUT modal dialog transform overrides.
========================================================== */

:root {
    --dtv-motion-enter-distance: 18px;
    --dtv-motion-enter-duration: .42s;
    --dtv-motion-enter-ease: cubic-bezier(.2, .8, .2, 1);

    --dtv-motion-hover-lift: -6px;
    --dtv-motion-press-scale: .98;
}

/* Section reveal */
.dtv-motion-ready .dtv-motion-reveal {
    opacity: 0;
    transform: translateY(var(--dtv-motion-enter-distance));
    transition:
        opacity var(--dtv-motion-enter-duration) var(--dtv-motion-enter-ease),
        transform var(--dtv-motion-enter-duration) var(--dtv-motion-enter-ease);
    will-change: opacity, transform;
}

.dtv-motion-ready .dtv-motion-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Shared hover lift */
.dtv-video-card,
.dtv-continue-card,
.dtv-live-strip,
.dtv-front-hero-card {
    will-change: transform;
}

.dtv-video-card:hover,
.dtv-video-card:focus-within,
.dtv-continue-card:hover,
.dtv-continue-card:focus-visible {
    transform: translateY(var(--dtv-motion-hover-lift)) !important;
}

/* Press feedback */
.dtv-video-card__link:active,
.dtv-continue-card:active,
.dtv-btn:active,
.dtv-carousel-arrow:active,
.dtv-live-strip__watch:active {
    transform: scale(var(--dtv-motion-press-scale)) !important;
}

/* Button microinteraction */
.dtv-btn,
.dtv-live-strip__watch,
.dtv-front-hero-cta,
.dtv-video-card__play,
.dtv-continue-card__play,
.dtv-carousel-arrow {
    transition:
        transform var(--dtv-motion-normal),
        background var(--dtv-motion-normal),
        color var(--dtv-motion-normal),
        box-shadow var(--dtv-motion-normal),
        opacity var(--dtv-motion-normal) !important;
}

/* Carousel */
.dtv-carousel-row {
    scroll-behavior: smooth;
}

.dtv-carousel-row.is-dragging {
    scroll-behavior: auto !important;
}

/* Keep the large Live Strip shadow static so scrolling and idle time do not
 * repaint the full component on every animation frame. */
.dtv-live-strip {
    animation: none;
    box-shadow:
        0 28px 80px rgba(15,23,42,.22),
        inset 0 0 0 1px rgba(255,255,255,.04);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .dtv-motion-ready .dtv-motion-reveal,
    .dtv-motion-ready .dtv-motion-reveal.is-visible,
    .dtv-live-strip {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .dtv-video-card:hover,
    .dtv-video-card:focus-within,
    .dtv-continue-card:hover,
    .dtv-continue-card:focus-visible {
        transform: none !important;
    }
}

/* DTV bundle source: assets/css/components/responsive.css */
/* ==========================================================
   Responsive
========================================================== */

@media (max-width: 1024px) {
    .dtv-front-slider-track { height: 560px; border-radius: 24px; }
    .dtv-front-hero-content { left: 88px; right: 56px; bottom: 118px; }
    .dtv-front-slider-controls { left: 88px; right: 56px; }
    .dtv-front-hero-slider button.dtv-front-slider-dot { min-width: 120px; }
    .dtv-live-strip { grid-template-columns: 1fr; margin-top: -34px; }
    .dtv-live-strip__epg { border-left: 0; border-top: 1px solid rgba(255,255,255,.14); padding-left: 0; padding-top: 16px; }
}

@media (max-width: 768px) {
    .dtv-front-slider-track { height: 520px; border-radius: 20px; }
    .dtv-front-hero-content { left: 24px; right: 24px; bottom: 112px; }
    .dtv-front-hero-content h1 { font-size: clamp(34px, 10vw, 48px); letter-spacing: -.6px; }
    .dtv-front-hero-content p { font-size: 17px; line-height: 1.45; }
    .dtv-front-slider-controls { left: 24px; right: 24px; bottom: 28px; }
    .dtv-front-slider-dots { max-width: none; gap: 7px; }
    .dtv-front-hero-slider button.dtv-front-slider-dot { min-width: 32px; height: 4px; }
    .dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow { width: 38px; height: 38px; min-width: 38px; min-height: 38px; font-size: 26px; }
    .dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev { left: 14px; }
    .dtv-front-hero-slider button.dtv-home-hero__side-arrow--next { right: 14px; }
    .dtv-front-hero-slider button.dtv-front-slider-pause,
    .dtv-front-hero-slider button.dtv-front-slider-play { width: 42px; height: 42px; min-width: 42px; min-height: 42px; }
    .dtv-live-strip__current { grid-template-columns: 1fr; }
    .dtv-live-strip__thumb { height: 140px; }
    .dtv-video-card--portrait { flex: 0 0 230px; max-width: 230px; }
    .dtv-video-card__copy h3 { font-size: 20px; }
    .dtv-carousel-row { gap: 16px; padding: 8px 4px 16px; }
    .dtv-carousel-arrow,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow { width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; font-size: 26px !important; }
    .dtv-carousel-arrow--prev,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev { left: -10px !important; }
    .dtv-carousel-arrow--next,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next { right: -10px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-carousel-row { scroll-behavior: auto; }
    .dtv-carousel-arrow,
    .dtv-video-card__media,
    .dtv-video-card__media img,
    .dtv-front-slide,
    .dtv-front-hero-card img { transition: none; }
}


/* Mobile carousel controls below card */
@media (max-width: 768px) {

    .dtv-carousel-shell {
        padding-inline: 0 !important;
        padding-bottom: 64px !important;
        overflow: visible !important;
    }

    .dtv-carousel-row {
        padding-inline: 18px !important;
        padding-bottom: 18px !important;
    }

    .dtv-video-card--short {
        flex: 0 0 86vw !important;
        max-width: 86vw !important;
    }

    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
        top: auto !important;
        bottom: 8px !important;

        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;

        transform: none !important;
        z-index: 50 !important;
    }

    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--prev {
        left: calc(50% - 56px) !important;
        right: auto !important;
    }

    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow--next {
        right: calc(50% - 56px) !important;
        left: auto !important;
    }
}

/* Mobile poster cards / Εκπομπές */
@media (max-width: 768px) {

    .dtv-video-card--poster {
        flex: 0 0 85vw !important;
        max-width: 85vw !important;
    }

    .dtv-carousel-row:has(.dtv-video-card--poster) {
        justify-content: center !important;
    }
}
/* Hero Slider UX polish — 1.7.2.16 */
@media (max-width: 1024px) and (min-width: 769px) {
    .dtv-front-hero-content { left: 104px; right: 72px; bottom: 118px; max-width: min(720px, calc(100% - 176px)); }
    .dtv-front-hero-content h1 { font-size: clamp(40px, 5.4vw, 56px); line-height: 1.02; letter-spacing: -1px; }
    .dtv-front-slider-controls { left: 104px; right: 56px; }
    .dtv-front-hero-slider button.dtv-front-slider-dot { flex: 0 1 58px; width: 58px; min-width: 36px; height: 4px; }
}

@media (max-width: 768px) {
    .dtv-front-hero-content { left: 24px; right: 24px; bottom: 108px; max-width: none; }
    .dtv-front-hero-content h1 { margin-top: 14px; font-size: clamp(31px, 8.8vw, 45px); line-height: 1.04; letter-spacing: -.55px; }
    .dtv-front-hero-content p { margin-top: 14px; font-size: 15px; line-height: 1.42; }
    .dtv-front-slider-dots { max-width: calc(100% - 58px); gap: 7px; }
    .dtv-front-hero-slider button.dtv-front-slider-dot { flex: 1 1 36px; width: auto; min-width: 24px; max-width: 56px; height: 4px; }
}

@media (max-width: 480px) {
    .dtv-front-slider-track { height: min(560px, 78vh); min-height: 470px; }
    .dtv-front-hero-content { left: 20px; right: 20px; bottom: 102px; }
    .dtv-front-hero-content h1 { font-size: clamp(29px, 9.5vw, 40px); }
    .dtv-front-slider-controls { left: 20px; right: 20px; }
}

/* DTV bundle source: assets/css/components/dtv-component-framework.css */
.dtv-component {
  box-sizing: border-box;
  font-family: inherit;
}

.dtv-component *,
.dtv-component *::before,
.dtv-component *::after {
  box-sizing: inherit;
}

.dtv-component-grid,
.dtv-component-directory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--dtv-spacing-md, 16px);
}

.dtv-component-directory-card,
.dtv-newsletter-card {
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: var(--dtv-radius-lg, 18px);
  background: rgba(255, 255, 255, 0.04);
  color: inherit;
  padding: var(--dtv-spacing-lg, 24px);
  text-decoration: none;
}

.dtv-component-directory-card strong {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
}

.dtv-component-directory-card span {
  display: block;
  margin-top: 8px;
  color: var(--dtv-colors-muted, #9ca3af);
  font-size: .9rem;
  line-height: 1.5;
}

.dtv-newsletter-card {
  display: grid;
  gap: 12px;
}

.dtv-newsletter-card h2,
.dtv-newsletter-card p {
  margin: 0;
}

.dtv-newsletter-form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.dtv-newsletter-form input[type="email"] {
  flex: 1 1 220px;
  min-height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--dtv-radius-md, 14px);
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
  padding: 0 14px;
}

.dtv-newsletter-form button {
  min-height: 44px;
  border: 0;
  border-radius: var(--dtv-radius-md, 14px);
  background: var(--dtv-colors-brand, #e11d2e);
  color: #fff;
  cursor: pointer;
  font-weight: 700;
  padding: 0 18px;
}

.dtv-live-strip__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  overflow-x: auto;
  border-radius: var(--dtv-radius-lg, 18px);
  background: rgba(225, 29, 46, 0.10);
  padding: 12px 16px;
}

.dtv-live-strip__badge {
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--dtv-colors-brand, #e11d2e);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 6px 10px;
}

.dtv-live-strip__item {
  display: grid;
  gap: 2px;
  color: inherit;
  text-decoration: none;
}

.dtv-live-strip__item span {
  color: var(--dtv-colors-muted, #9ca3af);
  font-size: .9rem;
}

.dtv-component--ad-slot {
  overflow: hidden;
}

/* DTV bundle source: assets/css/components/hero-pixel-perfect.css */
/* ==========================================================
   DimosTV Hero Slider — Pixel Perfect Visual Baseline 1.7.2.20
   Final cascade layer loaded after all legacy hero/responsive CSS.
========================================================== */

.dtv-front-hero-slider {
    position: relative;
    margin: 0 0 64px;
}

.dtv-front-hero-slider .dtv-front-slider-track {
    height: clamp(540px, 37.5vw, 620px);
    min-height: 540px;
    border-radius: 28px;
    overflow: hidden;
    background: #0b1728;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .10);
}

.dtv-front-hero-slider .dtv-front-hero-card img {
    object-position: center 42%;
    transform: scale(1.015);
    transition: transform 8s cubic-bezier(.2,.65,.25,1);
}

.dtv-front-hero-slider .dtv-front-slide.is-active .dtv-front-hero-card img {
    transform: scale(1.075);
}

.dtv-front-hero-slider .dtv-front-hero-overlay {
    background:
        linear-gradient(90deg,
            rgba(5, 14, 26, .94) 0%,
            rgba(5, 14, 26, .84) 18%,
            rgba(5, 14, 26, .58) 36%,
            rgba(5, 14, 26, .16) 58%,
            rgba(5, 14, 26, .04) 76%,
            rgba(5, 14, 26, .20) 100%),
        linear-gradient(0deg,
            rgba(5, 14, 26, .76) 0%,
            rgba(5, 14, 26, .22) 35%,
            rgba(5, 14, 26, .04) 68%,
            rgba(5, 14, 26, .08) 100%);
}

.dtv-front-hero-slider .dtv-front-hero-content {
    left: clamp(156px, 13.6vw, 218px);
    right: 96px;
    bottom: 112px;
    width: min(650px, calc(100% - 370px));
    max-width: 650px;
}

.dtv-front-hero-slider .dtv-front-badge {
    padding: 8px 15px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .015em;
    box-shadow: 0 10px 24px rgba(0, 102, 204, .24);
}

.dtv-front-hero-slider .dtv-front-hero-content h1 {
    max-width: 650px;
    margin: 24px 0 0;
    font-family: var(--dtv-font-heading, "Commissioner", "Segoe UI", Arial, sans-serif);
    font-size: clamp(31px, 2.49vw, 41px);
    font-weight: 900;
    line-height: .98;
    letter-spacing: -1.35px;
    text-wrap: balance;
    text-shadow: 0 5px 22px rgba(0,0,0,.28);
}

.dtv-front-hero-slider .dtv-front-hero-content p {
    max-width: 520px;
    margin: 18px 0 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.48;
    color: rgba(255,255,255,.92);
    text-shadow: 0 2px 12px rgba(0,0,0,.24);
}

.dtv-front-hero-slider .dtv-front-hero-cta {
    gap: 10px;
    margin-top: 25px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .035em;
}

.dtv-front-hero-slider .dtv-front-hero-cta svg {
    width: 14px;
    height: 14px;
}

.dtv-front-hero-slider .dtv-front-hero-cta::after {
    width: 64px;
    height: 2px;
    margin-left: 2px;
}

.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
    top: 50%;
    width: 58px;
    height: 58px;
    min-width: 58px;
    min-height: 58px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background: rgba(8, 19, 34, .68);
    color: #fff;
    font-size: 36px;
    box-shadow: 0 10px 28px rgba(0,0,0,.22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transform: translateY(-50%);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow:hover,
.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow:focus-visible {
    background: rgba(8, 19, 34, .88);
    border-color: rgba(255,255,255,.42);
    transform: translateY(-50%) scale(1.04);
}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev { left: 28px; }
.dtv-front-hero-slider button.dtv-home-hero__side-arrow--next { right: 28px; }

.dtv-front-hero-slider .dtv-front-slider-controls {
    left: clamp(156px, 13.6vw, 218px);
    right: 44px;
    bottom: 42px;
    gap: 24px;
}

.dtv-front-hero-slider .dtv-front-slider-dots {
    flex: 0 0 auto;
    width: auto;
    max-width: 250px;
    gap: 9px;
}

.dtv-front-hero-slider button.dtv-front-slider-dot {
    flex: 0 0 34px;
    width: 34px;
    min-width: 34px;
    max-width: 34px;
    height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.28) !important;
}

.dtv-front-hero-slider button.dtv-front-slider-dot.is-active {
    flex-basis: 44px;
    width: 44px;
    min-width: 44px;
    max-width: 44px;
}

.dtv-front-hero-slider .dtv-front-slider-actions {
    margin-top: 0;
}

.dtv-front-hero-slider button.dtv-front-slider-pause,
.dtv-front-hero-slider button.dtv-front-slider-play {
    width: 58px;
    height: 58px;
    min-width: 58px;
    min-height: 58px;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(8, 19, 34, .68);
    color: #fff;
    font-size: 18px;
    box-shadow: 0 10px 28px rgba(0,0,0,.22);
    transform: none;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.dtv-front-hero-slider button.dtv-front-slider-pause:hover,
.dtv-front-hero-slider button.dtv-front-slider-play:hover,
.dtv-front-hero-slider button.dtv-front-slider-pause:focus-visible,
.dtv-front-hero-slider button.dtv-front-slider-play:focus-visible {
    background: rgba(8, 19, 34, .88);
    border-color: rgba(255,255,255,.42);
}

@media (max-width: 1200px) {
    .dtv-front-hero-slider .dtv-front-slider-track {
        height: 560px;
        min-height: 560px;
        border-radius: 24px;
    }

    .dtv-front-hero-slider .dtv-front-hero-content {
        left: 118px;
        right: 88px;
        bottom: 112px;
        width: min(610px, calc(100% - 238px));
    }

    .dtv-front-hero-slider .dtv-front-hero-content h1 {
        font-size: clamp(29px, 3.12vw, 36px);
    }

    .dtv-front-hero-slider .dtv-front-slider-controls {
        left: 118px;
        right: 38px;
    }
}

@media (max-width: 768px) {
    .dtv-front-hero-slider { margin-bottom: 48px; }

    .dtv-front-hero-slider .dtv-front-slider-track {
        height: min(580px, 76vh);
        min-height: 510px;
        border-radius: 20px;
    }

    .dtv-front-hero-slider .dtv-front-hero-card img {
        object-position: 58% center;
    }

    .dtv-front-hero-slider .dtv-front-hero-overlay {
        background:
            linear-gradient(0deg, rgba(5,14,26,.94) 0%, rgba(5,14,26,.68) 48%, rgba(5,14,26,.12) 100%),
            linear-gradient(90deg, rgba(5,14,26,.42) 0%, rgba(5,14,26,.08) 100%);
    }

    .dtv-front-hero-slider .dtv-front-hero-content {
        left: 24px;
        right: 24px;
        bottom: 96px;
        width: auto;
        max-width: none;
    }

    .dtv-front-hero-slider .dtv-front-badge {
        padding: 7px 12px;
        font-size: 10px;
    }

    .dtv-front-hero-slider .dtv-front-hero-content h1 {
        margin-top: 16px;
        max-width: 100%;
        font-size: clamp(20px, 6.3vw, 28px);
        line-height: 1.01;
        letter-spacing: -.7px;
    }

    .dtv-front-hero-slider .dtv-front-hero-content p {
        display: -webkit-box;
        max-width: 100%;
        margin-top: 13px;
        overflow: hidden;
        font-size: 15px;
        line-height: 1.42;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .dtv-front-hero-slider .dtv-front-hero-cta {
        margin-top: 19px;
        font-size: 12px;
    }

    .dtv-front-hero-slider .dtv-front-hero-cta::after { width: 42px; }

    .dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
        width: 42px;
        height: 42px;
        min-width: 42px;
        min-height: 42px;
        font-size: 27px;
    }

    .dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev { left: 12px; }
    .dtv-front-hero-slider button.dtv-home-hero__side-arrow--next { right: 12px; }

    .dtv-front-hero-slider .dtv-front-slider-controls {
        left: 24px;
        right: 20px;
        bottom: 24px;
    }

    .dtv-front-hero-slider .dtv-front-slider-dots {
        max-width: calc(100% - 66px);
        gap: 7px;
    }

    .dtv-front-hero-slider button.dtv-front-slider-dot,
    .dtv-front-hero-slider button.dtv-front-slider-dot.is-active {
        flex: 1 1 28px;
        width: auto;
        min-width: 22px;
        max-width: 42px;
        height: 4px;
    }

    .dtv-front-hero-slider button.dtv-front-slider-pause,
    .dtv-front-hero-slider button.dtv-front-slider-play {
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        font-size: 15px;
    }
}

@media (max-width: 420px) {
    .dtv-front-hero-slider .dtv-front-slider-track {
        height: min(550px, 74vh);
        min-height: 490px;
    }

    .dtv-front-hero-slider .dtv-front-hero-content {
        left: 20px;
        right: 20px;
        bottom: 92px;
    }

    .dtv-front-hero-slider .dtv-front-hero-content h1 {
        font-size: clamp(19px, 6.42vw, 24px);
    }

    .dtv-front-hero-slider .dtv-front-slider-controls {
        left: 20px;
        right: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-front-hero-slider .dtv-front-hero-card img,
    .dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
        transition: none;
    }
}


/* ==========================================================
   1.7.2.19 — Precision control alignment and scale correction
========================================================== */

/* Render navigation glyphs independently from the button text baseline. */
.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
    position: absolute !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
    text-indent: 0 !important;
    appearance: none;
    -webkit-appearance: none;
}

.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow::before {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    color: currentColor;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    transform: translate(-50%, -52%);
}

.dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev::before { content: "‹"; }
.dtv-front-hero-slider button.dtv-home-hero__side-arrow--next::before { content: "›"; }

.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow:hover,
.dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow:focus-visible {
    background: #CC0000 !important;
    border-color: #CC0000 !important;
    color: #fff !important;
    box-shadow: 0 8px 22px rgba(204, 0, 0, .48), 0 0 0 5px rgba(204, 0, 0, .12) !important;
    transform: translateY(-50%) scale(1.045) !important;
}

.dtv-front-hero-slider button.dtv-front-slider-pause:hover,
.dtv-front-hero-slider button.dtv-front-slider-play:hover,
.dtv-front-hero-slider button.dtv-front-slider-pause:focus-visible,
.dtv-front-hero-slider button.dtv-front-slider-play:focus-visible {
    background: #CC0000 !important;
    border-color: #CC0000 !important;
    color: #fff !important;
    box-shadow: 0 8px 22px rgba(204, 0, 0, .48), 0 0 0 5px rgba(204, 0, 0, .12) !important;
    transform: scale(1.045) !important;
}

/* Defeat generic theme button heights and preserve slim progress rails. */
.dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot,
.dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot.is-active {
    display: block !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 3px !important;
    min-height: 3px !important;
    max-height: 3px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    line-height: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: none !important;
}

.dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot.is-active {
    flex-basis: 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
}

.dtv-front-hero-slider .dtv-front-slider-dot::after {
    height: 3px !important;
    min-height: 3px !important;
    max-height: 3px !important;
}

@media (max-width: 768px) {
    .dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow::before {
        font-size: 25px;
    }

    .dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot,
    .dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot.is-active {
        flex: 1 1 22px !important;
        width: auto !important;
        min-width: 18px !important;
        max-width: 34px !important;
        height: 3px !important;
        min-height: 3px !important;
        max-height: 3px !important;
    }
}

/* ==========================================================
   1.7.2.20 — Hero desktop alignment and mobile composition
========================================================== */

/* Desktop: align the complete editorial content block closer to the left edge. */
@media (min-width: 1201px) {
    .dtv-front-hero-slider .dtv-front-hero-content {
        left: clamp(108px, 8.1vw, 132px) !important;
        width: min(650px, calc(100% - 300px)) !important;
    }

    .dtv-front-hero-slider .dtv-front-slider-controls {
        left: clamp(108px, 8.1vw, 132px) !important;
    }
}

/* Use geometric CSS icons instead of platform-dependent emoji glyphs. */
.dtv-front-hero-slider button.dtv-front-slider-pause,
.dtv-front-hero-slider button.dtv-front-slider-play {
    position: relative !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
}

.dtv-front-hero-slider button.dtv-front-slider-pause::before,
.dtv-front-hero-slider button.dtv-front-slider-play::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    transform: translate(-50%, -50%);
    text-indent: 0;
}

.dtv-front-hero-slider button.dtv-front-slider-pause::before {
    width: 13px;
    height: 18px;
    background: linear-gradient(90deg, #fff 0 35%, transparent 35% 65%, #fff 65% 100%);
    border-radius: 1px;
}

.dtv-front-hero-slider button.dtv-front-slider-play::before {
    width: 0;
    height: 0;
    margin-left: 2px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 15px solid #fff;
}

@media (max-width: 768px) {
    /* Keep the image as a true full-height hero background on mobile. */
    .dtv-front-hero-slider .dtv-front-hero-card,
    .dtv-front-hero-slider .dtv-front-hero-card picture {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    .dtv-front-hero-slider .dtv-front-hero-card img {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        object-fit: cover !important;
        object-position: 58% center !important;
    }

    /* A continuous overlay preserves image visibility through the full hero. */
    .dtv-front-hero-slider .dtv-front-hero-overlay {
        background:
            linear-gradient(0deg,
                rgba(5,14,26,.97) 0%,
                rgba(5,14,26,.88) 31%,
                rgba(5,14,26,.58) 57%,
                rgba(5,14,26,.18) 79%,
                rgba(5,14,26,.08) 100%),
            linear-gradient(90deg, rgba(5,14,26,.34) 0%, rgba(5,14,26,.05) 100%) !important;
    }

    /* Navigation sits just above the Featured badge, not over the title. */
    .dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
        top: 41% !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
    }

    .dtv-front-hero-slider button.dtv-home-hero__side-arrow--prev { left: 16px !important; }
    .dtv-front-hero-slider button.dtv-home-hero__side-arrow--next { right: 16px !important; }

    .dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow::before {
        font-size: 24px !important;
    }

    /* Play/pause remains anchored at the lower-right corner. */
    .dtv-front-hero-slider .dtv-front-slider-controls {
        right: 18px !important;
        bottom: 22px !important;
    }

    .dtv-front-hero-slider .dtv-front-slider-actions {
        position: absolute !important;
        right: 0 !important;
        bottom: 0 !important;
    }

    .dtv-front-hero-slider button.dtv-front-slider-pause,
    .dtv-front-hero-slider button.dtv-front-slider-play {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }
}

@media (max-width: 420px) {
    .dtv-front-hero-slider .dtv-front-slider-track > button.dtv-home-hero__side-arrow {
        top: 40.5% !important;
    }
}

/* DTV bundle source: assets/css/components/homepage-editorial-refinement.css */
/* ==========================================================
   DimosTV FE-06 — Homepage UX & Editorial Hierarchy
   Structural refinements loaded after the component system.
========================================================== */

/* Stronger navigation targets without changing the established identity. */
.dtv-section-header a,
.dtv-front-section-header a,
.dtv-home-block-head a {
    min-height: 44px;
    padding-inline: 12px;
    border-radius: 999px;
}

.dtv-section-header a:focus-visible,
.dtv-front-section-header a:focus-visible,
.dtv-home-block-head a:focus-visible {
    outline: 3px solid rgba(0, 102, 204, .34);
    outline-offset: 3px;
}

/* Four complete short cards on wide desktop; no accidental half-card endcap. */
@media (min-width: 1200px) {
    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-carousel-row {
        gap: 24px;
    }

    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-video-card--short {
        flex-basis: calc((100% - 72px) / 4) !important;
        width: calc((100% - 72px) / 4) !important;
        max-width: none !important;
    }

    .dtv-carousel-section[data-dtv-section-layout="landscape"] .dtv-carousel-row {
        gap: 24px;
    }

    .dtv-carousel-section[data-dtv-section-layout="landscape"] .dtv-video-card--landscape {
        flex-basis: calc((100% - 48px) / 3) !important;
        width: calc((100% - 48px) / 3) !important;
        max-width: none !important;
    }
}

@media (min-width: 769px) and (max-width: 1199px) {
    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-video-card--short {
        flex-basis: calc((100% - 40px) / 3) !important;
        width: calc((100% - 40px) / 3) !important;
        max-width: none !important;
    }
}

/* Shows use a recognisably different landscape rhythm. */
.dtv-carousel-section[data-dtv-section-key="shows"] {
    padding: clamp(24px, 3vw, 38px);
    border-radius: 26px;
    background:
        radial-gradient(circle at 90% 0%, rgba(204, 0, 0, .10), transparent 30%),
        linear-gradient(135deg, #eef3f9, #ffffff);
    box-shadow: 0 18px 54px rgba(26, 46, 74, .08);
}

.dtv-carousel-section[data-dtv-section-key="shows"] .dtv-section-header {
    margin-bottom: 24px !important;
}

.dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-carousel-row {
    overflow: visible;
}

.dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-video-card--landscape {
    flex-basis: min(760px, 100%) !important;
    width: min(760px, 100%) !important;
    max-width: 760px !important;
}

.dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-carousel-arrow,
.dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-carousel-progress {
    display: none !important;
}

/* Compact municipality discovery: it no longer stretches to Popular height. */
.dtv-home-after-highlights {
    align-items: start;
}

.dtv-home-discover-municipalities {
    align-self: start;
    padding: 24px 26px 22px;
}

.dtv-home-municipality-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(12px, 1.5vw, 20px);
}

.dtv-home-municipality-logo {
    width: clamp(68px, 6vw, 94px);
    height: clamp(68px, 6vw, 94px);
}

.dtv-home-municipality-chip {
    min-height: 132px;
    justify-content: flex-start;
    min-width: 0;
}

.dtv-home-municipality-chip > strong {
    width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
    line-height: 1.25;
}

@media (min-width: 1280px) {
    .dtv-home-after-highlights {
        grid-template-columns: minmax(0, 1.35fr) minmax(420px, .95fr);
    }
}

/* Live is one clear route: status → programme → watch action. */
.dtv-live-strip {
    grid-template-columns: minmax(140px, .7fr) minmax(420px, 1.65fr) minmax(290px, 1fr);
    gap: clamp(18px, 2.2vw, 32px);
}

.dtv-live-strip__status {
    align-self: center;
}

.dtv-live-strip__current {
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
}

.dtv-live-strip__info :is(h2, h4) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.dtv-live-strip__badge {
    max-width: calc(100% - 24px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dtv-live-strip__watch {
    min-height: 44px;
    padding-inline: 16px;
}

/* Titles remain readable on imagery and never consume the whole card. */
.dtv-video-card__copy h3 {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-wrap: balance;
}

.dtv-video-card--landscape .dtv-video-card__copy h3 {
    -webkit-line-clamp: 2;
}

/* Continue Watching becomes useful rather than a sparse decorative rail. */
.dtv-continue-watching__row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
}

.dtv-continue-card {
    width: 100%;
    max-width: none;
    min-width: 0;
}

.dtv-continue-card__open {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: inherit;
    text-align: inherit;
    cursor: pointer;
}

.dtv-continue-card__open:focus-visible {
    outline: 3px solid rgba(0, 102, 204, .42);
    outline-offset: 4px;
}

.dtv-continue-card__remove {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 12;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    background: rgba(15, 23, 42, .82);
    color: #fff;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .24);
    cursor: pointer;
}

.dtv-continue-card__remove:hover,
.dtv-continue-card__remove:focus-visible {
    background: #CC0000;
}

.dtv-continue-card__remove:focus-visible {
    outline: 3px solid rgba(0, 102, 204, .42);
    outline-offset: 3px;
}

.dtv-continue-card__percent {
    right: 54px;
}

@media (max-width: 1024px) {
    .dtv-live-strip {
        grid-template-columns: 1fr;
    }

    .dtv-live-strip__epg {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .14);
        padding: 20px 0 0;
    }

    .dtv-continue-watching__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .dtv-carousel-section[data-dtv-section-key="shows"] {
        margin-inline: -12px !important;
        padding: 24px 18px;
        border-radius: 22px;
    }

    .dtv-carousel-section[data-dtv-section-key="shows"] .dtv-video-card--landscape {
        flex-basis: 86vw !important;
        width: 86vw !important;
    }

    .dtv-home-after-highlights {
        gap: 20px;
    }

    .dtv-home-municipality-grid {
        display: flex;
        gap: 16px;
        overflow-x: auto;
        padding: 4px 2px 12px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .dtv-home-municipality-grid::-webkit-scrollbar {
        display: none;
    }

    .dtv-home-municipality-chip {
        flex: 0 0 92px;
        min-height: 118px;
        scroll-snap-align: start;
    }

    .dtv-home-municipality-logo {
        width: 76px;
        height: 76px;
    }

    .dtv-live-strip__current {
        grid-template-columns: 1fr;
    }

    .dtv-continue-watching__row {
        display: flex;
        overflow-x: auto;
    }

    .dtv-continue-card {
        flex: 0 0 82vw;
        width: 82vw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-home-municipality-logo,
    .dtv-section-header a,
    .dtv-front-section-header a {
        transition: none !important;
    }
}

/* FE-08 canonical Live Preview wins over the earlier three-column status layout. */
@media (min-width: 1101px) {
    .dtv-live-strip {
        grid-template-columns: minmax(420px, 1.35fr) minmax(280px, .65fr);
        align-items: stretch;
    }

    .dtv-live-strip__current {
        grid-template-columns: minmax(260px, 1.1fr) minmax(210px, .9fr);
    }
}

/* DTV bundle source: assets/css/components/responsive-rails-stabilization.css */
/* ==========================================================
   DimosTV FE-06A — Responsive Rails & Continue Watching
   Final cascade layer. It stabilizes existing components only.
========================================================== */

/* Rails must remain a single horizontal track at every breakpoint. */
.dtv-carousel-section .dtv-carousel-row {
    display: flex !important;
    flex-flow: row nowrap !important;
    grid-template-columns: none !important;
    align-items: stretch;
    justify-content: flex-start !important;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

.dtv-carousel-section .dtv-carousel-row > .dtv-video-card {
    flex-shrink: 0 !important;
    min-width: 0;
}

/* Tablet: predictable complete cards, with no cloned-looking second row. */
@media (min-width: 769px) and (max-width: 899px) {
    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-carousel-row {
        gap: 20px !important;
    }

    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-video-card--short {
        flex: 0 0 calc((100% - 20px) / 2) !important;
        width: calc((100% - 20px) / 2) !important;
        max-width: none !important;
    }

    .dtv-carousel-section[data-dtv-section-layout="landscape"] .dtv-video-card--landscape {
        flex: 0 0 min(72vw, 620px) !important;
        width: min(72vw, 620px) !important;
        max-width: none !important;
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-carousel-row {
        gap: 20px !important;
    }

    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-video-card--short {
        flex: 0 0 calc((100% - 40px) / 3) !important;
        width: calc((100% - 40px) / 3) !important;
        max-width: none !important;
    }

    .dtv-carousel-section[data-dtv-section-layout="landscape"] .dtv-video-card--landscape {
        flex: 0 0 calc((100% - 20px) / 2) !important;
        width: calc((100% - 20px) / 2) !important;
        max-width: none !important;
    }
}

@media (max-width: 768px) {
    /* Native swipe is the primary mobile interaction. */
    .dtv-carousel-section .dtv-carousel-shell {
        width: 100%;
        padding: 0 0 12px !important;
        overflow: hidden !important;
    }

    .dtv-carousel-section .dtv-carousel-shell::before,
    .dtv-carousel-section .dtv-carousel-shell::after {
        display: none !important;
    }

    .dtv-carousel-section .dtv-carousel-row {
        width: 100%;
        gap: 16px !important;
        padding: 8px max(18px, calc((100vw - 100%) / 2)) 18px !important;
        scroll-padding-inline: 18px;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
        border: 0 !important;
        box-shadow: none !important;
    }

    .dtv-carousel-section .dtv-carousel-row::before,
    .dtv-carousel-section .dtv-carousel-row::after {
        display: none !important;
    }

    .dtv-carousel-section[data-dtv-section-layout="short"] .dtv-video-card--short,
    .dtv-carousel-section .dtv-video-card--poster {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        max-width: 360px !important;
    }

    .dtv-carousel-section[data-dtv-section-layout="landscape"] .dtv-video-card--landscape {
        flex: 0 0 84vw !important;
        width: 84vw !important;
        max-width: 520px !important;
    }

    .dtv-carousel-section .dtv-carousel-arrow,
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow {
        display: none !important;
    }

    .dtv-carousel-section .dtv-carousel-progress {
        height: 3px;
        margin: 0 18px !important;
        background: rgba(26, 46, 74, .12);
    }

    /* One Show fills its panel and does not imply an unavailable next item. */
    .dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-video-card--landscape {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Continue Watching mirrors the same swipe rhythm. */
    .dtv-continue-watching__row {
        display: flex !important;
        flex-flow: row nowrap !important;
        gap: 16px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 8px 18px 20px !important;
        scroll-padding-inline: 18px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .dtv-continue-card {
        flex: 0 0 82vw !important;
        width: 82vw !important;
        max-width: 380px !important;
    }

    /* Mobile Live: preview → identity → single primary action. */
    .dtv-live-strip {
        gap: 14px !important;
        margin: -20px 0 48px !important;
        padding: 16px !important;
        border-radius: 20px !important;
    }

    .dtv-live-strip__status {
        gap: 12px;
    }

    .dtv-live-strip__status p {
        display: none;
    }

    .dtv-live-strip__label {
        font-size: 17px !important;
    }

    .dtv-live-strip__current {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .dtv-live-strip__thumb {
        width: 100%;
        height: auto !important;
        aspect-ratio: 16 / 9;
    }

    .dtv-live-strip__info :is(h2, h4) {
        font-size: clamp(21px, 6.2vw, 27px) !important;
        line-height: 1.08;
    }

    .dtv-live-strip__source-name {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
    }

    .dtv-live-strip__watch {
        width: 100%;
        min-height: 48px;
        margin-top: 12px;
    }

    .dtv-live-strip:not(.dtv-live-strip--upcoming) .dtv-live-strip__epg {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-carousel-section .dtv-carousel-row,
    .dtv-continue-watching__row {
        scroll-behavior: auto !important;
    }
}

/* DTV bundle source: assets/css/components/broadcast-layout-foundation.css */
/* F2.0-R01.1 — Release Lock: approved Broadcast Stage architecture */
.dtv-broadcast-stage {
    --dtv-broadcast-gutter: clamp(18px, 3vw, 48px);
    --dtv-broadcast-gap: 24px;
    width: min(100% - (2 * var(--dtv-broadcast-gutter)), 1600px);
    margin: clamp(18px, 2.4vw, 38px) auto clamp(42px, 5vw, 72px);
}

.dtv-broadcast-stage .dtv-broadcast-grid {
    display: grid;
    grid-template-columns: minmax(0, 64fr) minmax(320px, 36fr);
    gap: var(--dtv-broadcast-gap);
    align-items: stretch;
}

.dtv-broadcast-stage__primary {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 18px;
    min-width: 0;
}

.dtv-broadcast-stage .dtv-front-slider-track {
    min-width: 0;
    height: clamp(520px, 37vw, 620px);
    min-height: 520px;
    border-radius: clamp(18px, 2vw, 30px);
    overflow: hidden;
    background: #07101d;
    box-shadow: 0 24px 70px rgba(8, 17, 31, .22);
}

.dtv-broadcast-stage .dtv-front-hero-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(5, 10, 19, .78) 0%, rgba(5, 10, 19, .62) 24%, rgba(5, 10, 19, .24) 43%, rgba(5, 10, 19, .06) 55%, transparent 68%);
}

.dtv-broadcast-stage .dtv-front-hero-card > img {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.dtv-broadcast-stage .dtv-broadcast-safe-zone {
    left: clamp(72px, 5vw, 88px);
    right: auto;
    bottom: calc(clamp(92px, 7vw, 116px) + 14px);
    width: min(68%, 760px);
    max-width: 760px;
    padding: 0;
}

.dtv-broadcast-stage .dtv-front-hero-content h1 {
    max-width: 100%;
    margin-top: 16px;
    font-size: clamp(32px, 1.95vw, 38px);
    line-height: 1.04;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.dtv-broadcast-stage .dtv-front-hero-content p {
    max-width: 48ch;
    margin-top: 14px;
    font-size: clamp(14px, 1vw, 17px);
    line-height: 1.45;
}

.dtv-broadcast-stage .dtv-front-hero-cta { margin-top: 18px; }

.dtv-broadcast-rail {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(16px, 1.4vw, 22px);
    border: 1px solid rgba(26, 46, 74, .1);
    border-radius: clamp(18px, 2vw, 30px);
    background: #fff;
    box-shadow: 0 18px 54px rgba(15, 23, 42, .1);
}

.dtv-broadcast-rail__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 2px 14px;
    border-bottom: 1px solid #e8edf3;
}

.dtv-broadcast-rail__heading span { color: #cc0000; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.dtv-broadcast-rail__heading strong { color: #1a2e4a; font-family: "Commissioner", "Segoe UI", Arial, sans-serif; font-size: 14px; letter-spacing: .04em; }

/* F2.0-R01.3: interactive tabs, preserving the locked heading geometry. */
.dtv-broadcast-rail__heading button { margin: 0; padding: 0; border: 0; background: transparent; color: #1a2e4a; font-family: "Commissioner", "Segoe UI", Arial, sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .04em; cursor: pointer; }
.dtv-broadcast-rail__heading button.is-active { color: #cc0000; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.dtv-broadcast-rail__heading button:focus-visible { outline: 2px solid #cc0000; outline-offset: 4px; }
.dtv-broadcast-rail__items[hidden] { display: none !important; }

.dtv-broadcast-stage .dtv-broadcast-rail__items {
    display: grid;
    grid-auto-rows: minmax(0, 1fr);
    flex: 1;
    gap: clamp(10px, .75vw, 14px);
    width: 100%;
    max-width: none;
    padding: 10px 0 0;
    overflow: hidden;
}

.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item,
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item.is-active,
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > a.dtv-broadcast-rail__item {
    position: relative;
    display: block !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0;
    max-height: none !important;
    height: 100% !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e8edf3;
    border-radius: 14px !important;
    background: #f8fafc !important;
    background-clip: border-box !important;
    color: #1a2e4a;
    text-align: left;
    line-height: normal !important;
    appearance: none;
    box-shadow: none;
    text-decoration: none;
}

.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0 !important;
    width: 3px;
    border-radius: 3px 0 0 3px;
    background: transparent;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    animation: none !important;
    transform: none !important;
}

.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > a.dtv-broadcast-rail__item::after { display: none; }
.dtv-broadcast-rail__empty { align-self: center; margin: auto; padding: 18px; color: #667085; font-size: 13px; text-align: center; }

.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail__item.is-active { border-color: rgba(204, 0, 0, .28); background: #fff !important; }
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail__item.is-active::after { background: #cc0000; }

.dtv-broadcast-rail-card {
    display: grid;
    grid-template-columns: minmax(104px, 32%) minmax(0, 1fr);
    gap: clamp(11px, .85vw, 14px);
    align-items: center;
    width: 100%;
    height: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    overflow: hidden;
    border-radius: inherit;
    box-sizing: border-box;
}
.dtv-broadcast-rail-card__media { display: block; align-self: center; width: 100%; min-width: 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 0; background: #dce3ea; }
.dtv-broadcast-rail-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dtv-broadcast-rail-card__fallback { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #dce3ea, #eef2f6); }
.dtv-broadcast-rail-card__content { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 100%; min-width: 0; max-width: 100%; padding: 9px 14px 9px 0; overflow: hidden; box-sizing: border-box; }
.dtv-broadcast-rail-card__category { display: block; overflow: hidden; color: #cc0000; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.dtv-broadcast-rail-card__title { display: -webkit-box; width: 100%; min-width: 0; max-width: 100%; max-block-size: 2.48em; overflow: hidden; color: #1a2e4a; font-family: "Commissioner", "Segoe UI", Arial, sans-serif; font-size: clamp(14px, .9vw, 17px); font-weight: 800; line-height: 1.24; white-space: normal; overflow-wrap: anywhere; word-break: normal; text-overflow: clip; text-wrap: pretty; line-clamp: 2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.dtv-broadcast-rail-card__meta { display: block; overflow: hidden; color: #667085; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.dtv-broadcast-rail__item:hover .dtv-broadcast-rail-card__title,
.dtv-broadcast-rail__item:focus-visible .dtv-broadcast-rail-card__title,
.dtv-broadcast-rail__item.is-active .dtv-broadcast-rail-card__title { color: #cc0000; }

.dtv-broadcast-pagination { display: flex; align-items: center; gap: 6px; min-height: 44px; padding-left: 2px; }
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-pagination > button.dtv-broadcast-pagination__item,
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-pagination > button.dtv-broadcast-pagination__item.is-active {
    display: inline-flex !important; flex: 0 0 auto !important; align-items: center; justify-content: center; gap: 12px; width: auto !important; min-width: 48px !important; max-width: none !important; height: 48px !important; min-height: 48px !important; max-height: 48px !important; margin: 0; padding: 0 12px !important; overflow: visible !important; border: 0; border-radius: 0; background: transparent !important; background-clip: border-box !important; color: #8490a0; font-family: "Commissioner", "Segoe UI", Arial, sans-serif; font-size: 15px; font-weight: 700; line-height: 1 !important; box-shadow: none;
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-pagination > button.dtv-broadcast-pagination__item::after { display: none; animation: none; }
.dtv-broadcast-pagination__item i { display: none; flex: 0 0 auto; align-self: center; width: clamp(120px, 11vw, 180px); height: 2px; margin: 0; background: #1a2e4a; }
.dtv-broadcast-pagination__item.is-active i { display: block; }
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-pagination > button.dtv-broadcast-pagination__item.is-active { color: #1a2e4a; font-weight: 900; }
.dtv-broadcast-stage .dtv-broadcast-pagination > button.dtv-broadcast-pagination__item:focus-visible { outline: 2px solid #cc0000; outline-offset: 2px; }

/* DTV bundle source: assets/css/components/hero-layer.css */
/* F2.0-R01.2 — Hero Layer. R01.1 geometry remains release-locked. */
.dtv-broadcast-stage .dtv-hero-layer__status {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.dtv-broadcast-stage .dtv-front-slide {
    transition: opacity 300ms ease;
}

.dtv-broadcast-stage .dtv-front-hero-content {
    transition: opacity 300ms ease, transform 300ms ease;
}

.dtv-broadcast-stage .dtv-front-slide:not(.is-active) .dtv-front-hero-content {
    opacity: 0;
    transform: translate3d(0, 14px, 0);
}

.dtv-broadcast-stage .dtv-hero-layer__eyebrow {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
}

.dtv-broadcast-stage .dtv-front-badge {
    max-width: min(100%, 34ch);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border: 1px solid rgba(255, 255, 255, .32);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}

.dtv-broadcast-stage .dtv-hero-layer__date {
    color: rgba(255, 255, 255, .86);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.2;
    text-transform: uppercase;
}

.dtv-broadcast-stage .dtv-front-hero-cta {
    gap: 9px;
    min-height: 44px;
    padding: 0 2px;
    border-radius: 3px;
    transition: color 180ms ease, transform 180ms ease;
}

.dtv-broadcast-stage .dtv-hero-layer__live-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: #cc0000;
}

.dtv-broadcast-stage .dtv-front-hero-card:hover .dtv-front-hero-cta,
.dtv-broadcast-stage .dtv-front-hero-card:focus-visible .dtv-front-hero-cta {
    color: #fff;
    transform: translateX(3px);
}

.dtv-broadcast-stage .dtv-front-hero-card:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -6px;
}

.dtv-broadcast-stage button:focus-visible,
.dtv-broadcast-stage .dtv-broadcast-rail__item:focus-visible {
    outline: 3px solid #cc0000 !important;
    outline-offset: 3px;
}

.dtv-broadcast-stage .dtv-broadcast-rail__item[aria-current="true"] .dtv-broadcast-rail-card {
    border-color: rgba(204, 0, 0, .28);
    box-shadow: inset 3px 0 0 #cc0000;
}

.dtv-broadcast-stage.is-paused .dtv-broadcast-pagination__item.is-active i,
.dtv-broadcast-stage.is-focus-paused .dtv-broadcast-pagination__item.is-active i,
.dtv-broadcast-stage.is-hover-paused .dtv-broadcast-pagination__item.is-active i {
    animation-play-state: paused;
}

.dtv-broadcast-stage .dtv-front-slider-play[hidden],
.dtv-broadcast-stage .dtv-front-slider-pause[hidden] {
    display: none !important;
}

@media (max-width: 767px) {
    .dtv-broadcast-stage .dtv-hero-layer__eyebrow { gap: 8px; }
    .dtv-broadcast-stage .dtv-front-badge { max-width: 24ch; }
    .dtv-broadcast-stage .dtv-hero-layer__date { font-size: 11px; }
    .dtv-broadcast-stage .dtv-front-hero-cta { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-broadcast-stage .dtv-front-slide,
    .dtv-broadcast-stage .dtv-front-hero-content,
    .dtv-broadcast-stage .dtv-front-hero-cta {
        transition: none;
        transform: none;
    }
}

/* DTV bundle source: assets/css/components/canonical-broadcast-responsive.css */
/* ==========================================================
   DimosTV F2.0-R01.5 — Canonical Broadcast Responsive Layer
   Authoritative responsive geometry for Hero + Number Navigation + Editorial Rail.
   Data/state/interaction contracts remain owned by their existing runtime layers.
========================================================== */

/* Desktop / compact desktop */
@media (max-width: 1180px) {
    .dtv-broadcast-stage { --dtv-broadcast-gap: 20px; }
    .dtv-broadcast-stage .dtv-broadcast-grid { grid-template-columns: minmax(0, 64fr) minmax(290px, 36fr); }
    .dtv-broadcast-stage .dtv-front-slider-track { height: 540px; }
    .dtv-broadcast-stage .dtv-broadcast-safe-zone { left: 64px; width: min(68%, 620px); }
    .dtv-broadcast-stage .dtv-front-hero-content h1 { font-size: clamp(31px, 2.75vw, 36px); }
    .dtv-broadcast-rail-card { grid-template-columns: minmax(96px, 32%) minmax(0, 1fr); }
}

/* Tablet: single Hero row followed by a two-column Editorial Rail. */
@media (max-width: 960px) {
    .dtv-broadcast-stage .dtv-broadcast-grid { grid-template-columns: 1fr; }
    .dtv-broadcast-stage .dtv-front-slider-track { height: clamp(470px, 62vw, 560px); min-height: 470px; }
    .dtv-broadcast-rail { padding: 18px; }
    .dtv-broadcast-stage .dtv-broadcast-rail__items { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(112px, auto)); }
}

/* R01.5 Correction 01: dedicated tablet safe-zone and type scale.
   Keep navigation controls outside the editorial text column without altering
   the accepted desktop (>=961px) or mobile (<=768px) compositions. */
@media (min-width: 769px) and (max-width: 960px) {
    .dtv-broadcast-stage .dtv-broadcast-safe-zone {
        left: 82px;
        right: 72px;
        width: auto;
        max-width: 560px;
    }

    .dtv-broadcast-stage .dtv-front-hero-content h1 {
        max-width: 17ch;
        font-size: clamp(27px, 3.65vw, 31px);
        line-height: 1.03;
    }

    .dtv-broadcast-stage .dtv-front-hero-content p {
        max-width: 42ch;
        font-size: 14px;
    }
}

/* Mobile: one canonical geometry for Hero, Numbers and Editorial Rail. */
@media (max-width: 768px) {
    .dtv-broadcast-stage { width: 100%; margin-top: 0; }

    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track {
        height: clamp(540px, 142vw, 610px) !important;
        min-height: 540px !important;
        max-height: none !important;
        border-radius: 0;
    }

    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content {
        left: 20px !important;
        right: 20px !important;
        bottom: 100px !important;
    }

    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content p {
        -webkit-line-clamp: 2 !important;
    }

    .dtv-broadcast-stage .dtv-broadcast-safe-zone { left: 22px; right: 22px; bottom: 82px; width: auto; max-width: 440px; }
    .dtv-broadcast-stage .dtv-front-hero-content h1 { max-width: 18ch; font-size: clamp(26px, 7.4vw, 36px); }
    .dtv-broadcast-stage .dtv-front-hero-content p { display: none; }

    .dtv-broadcast-pagination {
        min-height: 44px;
        padding: 0 18px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }
    .dtv-broadcast-pagination::-webkit-scrollbar { display: none; }
    .dtv-broadcast-pagination__item { min-height: 44px; }
    .dtv-broadcast-pagination__item i { width: 72px; }

    .dtv-broadcast-rail { margin: 0 14px; border-radius: 18px; }
    .dtv-broadcast-stage .dtv-broadcast-rail__items {
        display: flex;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .dtv-broadcast-stage .dtv-broadcast-rail__items::-webkit-scrollbar { display: none; }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item.is-active,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > a.dtv-broadcast-rail__item {
        flex: 0 0 88% !important;
        width: auto !important;
        min-height: 118px;
        scroll-snap-align: start;
    }
}

@media (max-width: 359px) {
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track {
        height: 530px !important;
        min-height: 530px !important;
    }

    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content p {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-broadcast-stage .dtv-front-hero-card img { transition: none; transform: none; }
    .dtv-broadcast-stage .dtv-broadcast-rail__items,
    .dtv-broadcast-stage .dtv-broadcast-pagination { scroll-behavior: auto; }
}

/* DTV bundle source: assets/css/components/dtv-broadcast-zone.css */
/* DTV-FE02 — canonical Broadcast Zone presentation ownership.
 * Loaded after legacy broadcast/hero/live layers to converge the approved
 * DTV Network visual contract without changing Hero or Live data/state logic.
 */

/* Hero + Selected: retain locked 64/36 composition, reduce visual weight. */
.dtv-front-hero-slider.dtv-broadcast-stage {
    width: min(calc(100% - (2 * var(--dtv-page-gutter, 24px))), var(--dtv-container, 1320px));
    margin: var(--dtv-space-8, 32px) auto var(--dtv-space-6, 24px);
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-grid {
    grid-template-columns: minmax(0, 64fr) minmax(320px, 36fr);
    gap: var(--dtv-grid-gap, 24px);
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track {
    height: clamp(440px, 35vw, 500px);
    min-height: 440px;
    border-radius: var(--dtv-radius-panel, 12px);
    box-shadow: 0 12px 32px rgba(11,27,49,.12);
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail {
    padding: var(--dtv-space-4, 16px);
    border-radius: var(--dtv-radius-panel, 12px);
    box-shadow: none;
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail__item {
    border-radius: var(--dtv-radius-media, 8px) !important;
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content h1 {
    font-size: clamp(34px, 3vw, 48px);
    line-height: 1.02;
    letter-spacing: -.025em;
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-safe-zone {
    left: clamp(32px, 4vw, 48px);
    bottom: 78px;
    width: min(64%, 680px);
}
.dtv-front-hero-slider.dtv-broadcast-stage .dtv-home-hero__side-arrow {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    box-shadow: none !important;
}

/* Live Broadcast Deck: presentation only; state and playback remain canonical. */
.dtv-live-strip {
    width: min(calc(100% - (2 * var(--dtv-page-gutter, 24px))), var(--dtv-container, 1320px));
    margin: 0 auto var(--dtv-space-4, 16px) !important;
    padding: var(--dtv-space-5, 20px) var(--dtv-space-6, 24px);
    border-radius: var(--dtv-radius-panel, 12px);
    background: var(--dtv-navy-900, #0b1b31);
    box-shadow: none;
}
.dtv-live-strip::before { display: none; }
.dtv-live-strip__thumb { border-radius: var(--dtv-radius-media, 8px); box-shadow: none; }
.dtv-live-strip__label { font-size: 13px; letter-spacing: .08em; }
.dtv-live-strip__info :is(h2,h4) { font-family: var(--dtv-font-heading, "Commissioner", sans-serif); }
.dtv-live-strip__watch,
.dtv-live-strip__schedule-link { border-radius: var(--dtv-radius-control, 8px); }

/* DTV Pulse — signature real-time band. */
.dtv-network-pulse {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr) 44px;
    align-items: stretch;
    gap: 0;
    margin: 0 auto var(--dtv-space-20, 80px);
    border-block: 1px solid var(--dtv-border, #dde3ea);
    background: var(--dtv-surface, #fff);
}
.dtv-network-pulse__label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px 16px 0;
    border-right: 1px solid var(--dtv-border, #dde3ea);
}
.dtv-network-pulse__label h2 {
    margin: 0;
    color: var(--dtv-navy-900, #0b1b31);
    font-family: var(--dtv-font-ui, "Inter", sans-serif);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: .08em;
}
.dtv-network-pulse__signal { display: inline-flex; align-items: end; gap: 2px; height: 14px; }
.dtv-network-pulse__signal i { display: block; width: 2px; background: var(--dtv-red, #e30613); border-radius: 2px; }
.dtv-network-pulse__signal i:nth-child(1) { height: 6px; }
.dtv-network-pulse__signal i:nth-child(2) { height: 14px; }
.dtv-network-pulse__signal i:nth-child(3) { height: 9px; }
.dtv-network-pulse__items {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-width: 0;
}
.dtv-network-pulse__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 12px 14px;
    border-right: 1px solid var(--dtv-border, #dde3ea);
    color: var(--dtv-text, #0b1728);
    text-decoration: none;
}
.dtv-network-pulse__item time,
.dtv-network-pulse__context {
    overflow: hidden;
    color: var(--dtv-muted, #7b8797);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.dtv-network-pulse__context { color: var(--dtv-red, #e30613); margin-top: 2px; }
.dtv-network-pulse__title {
    display: -webkit-box;
    margin-top: 4px;
    overflow: hidden;
    font-family: var(--dtv-font-heading, "Commissioner", sans-serif);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.dtv-network-pulse__item:hover .dtv-network-pulse__title,
.dtv-network-pulse__item:focus-visible .dtv-network-pulse__title { color: var(--dtv-red, #e30613); }
.dtv-network-pulse__item:focus-visible,
.dtv-network-pulse__more:focus-visible { outline: 2px solid var(--dtv-red, #e30613); outline-offset: -2px; }
.dtv-network-pulse__more {
    display: grid;
    place-items: center;
    color: var(--dtv-navy-900, #0b1b31);
    font-size: 22px;
    text-decoration: none;
}

@media (max-width: 1199px) {
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track { min-height: 410px; height: 46vw; }
    .dtv-network-pulse { grid-template-columns: 150px minmax(0,1fr) 44px; }
    .dtv-network-pulse__items { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .dtv-network-pulse__item:nth-child(n+4) { display: none; }
}
@media (max-width: 991px) {
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-grid { grid-template-columns: 1fr; }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail { margin-top: 0; }
    .dtv-network-pulse { grid-template-columns: 1fr 44px; }
    .dtv-network-pulse__label { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--dtv-border, #dde3ea); }
}
@media (max-width: 767px) {
    .dtv-front-hero-slider.dtv-broadcast-stage { width: calc(100% - 32px); margin-top: 16px; }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track {
        height: min(72svh, 620px);
        min-height: 500px;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-safe-zone {
        left: 22px; right: 22px; bottom: 74px; width: auto;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content h1 { font-size: clamp(30px, 9vw, 40px); }
    .dtv-live-strip { width: calc(100% - 32px); padding: 18px; }
    .dtv-network-pulse { width: calc(100% - 32px); margin-bottom: 64px; }
    .dtv-network-pulse__items { display: block; }
    .dtv-network-pulse__item { min-height: 66px; border-right: 0; border-bottom: 1px solid var(--dtv-border, #dde3ea); }
    .dtv-network-pulse__item:nth-child(n+4) { display: none; }
    .dtv-network-pulse__more { align-self: stretch; }
}
@media (prefers-reduced-motion: reduce) {
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-card img { transition: none; transform: none !important; }
}

/* DTV-FE02 Correction 01 — runtime visual recovery. */
/* Keep Hero copy inside the media safe area even for long Greek headlines. */
@media (min-width: 992px) {
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-safe-zone {
        top: 34px;
        bottom: 66px;
        width: min(66%, 690px);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        overflow: hidden;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content h1 {
        font-size: clamp(30px, 2.45vw, 43px);
        line-height: 1.01;
        text-wrap: pretty;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content p {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

/* IDLE is a compact programme state, never an empty decorative slab. */
.dtv-live-strip--idle {
    min-height: 0 !important;
    padding-block: 16px !important;
}
.dtv-live-strip--idle .dtv-live-strip__epg,
.dtv-live-strip--idle .dtv-live-strip__epg--standalone,
.dtv-live-strip--idle .dtv-live-strip__epg-heading,
.dtv-live-strip--idle .dtv-live-strip__epg-row {
    visibility: visible !important;
    opacity: 1 !important;
}
.dtv-live-strip--idle .dtv-live-strip__epg {
    display: grid !important;
    grid-template-columns: minmax(190px, .8fr) minmax(0, 1.8fr);
    gap: 10px 28px;
    align-items: center;
}
.dtv-live-strip--idle .dtv-live-strip__epg-heading { grid-row: 1 / span 3; align-self: center; }
.dtv-live-strip--idle .dtv-live-strip__epg-heading h3 { margin-bottom: 0; }
.dtv-live-strip--idle .dtv-live-strip__epg-row { min-height: 32px; padding-block: 4px; }

/* Pulse reads as one live newsline rather than a table of cells. */
@media (min-width: 992px) {
    .dtv-network-pulse { min-height: 78px; }
    .dtv-network-pulse__items { gap: 0; padding-inline: 8px; }
    .dtv-network-pulse__item { position: relative; border-right: 0; padding-inline: 18px; }
    .dtv-network-pulse__item + .dtv-network-pulse__item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 20px;
        bottom: 20px;
        width: 1px;
        background: var(--dtv-border, #dde3ea);
    }
    .dtv-network-pulse__title { font-size: 12.5px; }
}

@media (max-width: 767px) {
    /* Selected is intentionally a compact swipe rail with a clear next-card peek. */
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail {
        margin: 0 !important;
        padding: 14px 16px 16px !important;
        border-radius: 12px !important;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item.is-active,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > a.dtv-broadcast-rail__item {
        flex-basis: 82% !important;
        min-height: 92px !important;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail__items { gap: 10px; }

    .dtv-live-strip--idle {
        padding: 14px 16px !important;
        border-radius: 12px;
    }
    .dtv-live-strip--idle .dtv-live-strip__epg {
        display: block !important;
    }
    .dtv-live-strip--idle .dtv-live-strip__epg-heading {
        display: block !important;
        margin-bottom: 8px;
    }
    .dtv-live-strip--idle .dtv-live-strip__epg-heading span { font-size: 9px; }
    .dtv-live-strip--idle .dtv-live-strip__epg-heading h3 { font-size: 15px; line-height: 1.15; }
    .dtv-live-strip--idle .dtv-live-strip__epg-row {
        display: grid !important;
        grid-template-columns: 72px minmax(0,1fr);
        min-height: 40px;
        padding: 7px 0;
    }
    .dtv-live-strip--idle .dtv-live-strip__epg-row:nth-of-type(n+3) { display: none !important; }
    .dtv-live-strip--idle .dtv-live-strip__schedule-link { display: inline-flex !important; margin-top: 8px; }

    /* Preserve the approved three-story mobile timeline. */
    .dtv-network-pulse__label { padding: 14px 0 12px; }
    .dtv-network-pulse__item { padding: 12px 14px; }
    .dtv-network-pulse__title { font-size: 13px; }
}


/* DTV-FE02 Correction 02 — mobile Broadcast composition recovery.
 * Header intentionally excluded from this milestone.
 */
@media (max-width: 767px) {
    /* Hero: preserve the immersive composition while keeping long Greek copy readable. */
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track {
        height: min(68svh, 590px);
        min-height: 480px;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-safe-zone {
        left: 20px;
        right: 20px;
        top: 72px;
        bottom: 68px;
        width: auto;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        overflow: hidden;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content h1 {
        max-width: 16ch;
        margin-bottom: 12px;
        font-size: clamp(27px, 7.6vw, 34px);
        line-height: 1.01;
        letter-spacing: -.025em;
        text-wrap: pretty;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content p { display: none !important; }

    /* Selected: compact editorial swipe surface, with a deliberate but restrained peek. */
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail {
        margin-inline: 0 !important;
        padding: 12px 14px 14px !important;
        border: 1px solid var(--dtv-border, #dde3ea);
        background: var(--dtv-surface, #fff);
        box-shadow: none !important;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail__heading {
        padding: 0 2px 10px;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail__items {
        gap: 8px;
        padding-top: 10px;
        scroll-padding-inline: 0;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item.is-active,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > a.dtv-broadcast-rail__item {
        flex: 0 0 76% !important;
        min-height: 82px !important;
        height: 82px !important;
        border-radius: 10px !important;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail-card {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 10px;
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail-card__title {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    /* IDLE: no empty navy decoration. If there is a programme, expose it; otherwise collapse. */
    .dtv-live-strip--idle.dtv-live-strip--empty-schedule { display: none !important; }
    .dtv-live-strip--idle.dtv-live-strip--has-schedule {
        display: block !important;
        margin: 0 auto 16px !important;
        padding: 14px 16px !important;
        min-height: 0 !important;
    }
    .dtv-live-strip--idle.dtv-live-strip--has-schedule .dtv-live-strip__epg {
        display: block !important;
        border: 0 !important;
        padding: 0 !important;
    }
    .dtv-live-strip--idle.dtv-live-strip--has-schedule .dtv-live-strip__epg-row.is-empty { display: none !important; }
}

@media (max-width: 389px) {
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content h1 {
        font-size: clamp(25px, 7.4vw, 30px);
    }
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > button.dtv-broadcast-rail__item.is-active,
    .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail .dtv-broadcast-rail__items > a.dtv-broadcast-rail__item {
        flex-basis: 82% !important;
    }
}

/* DTV bundle source: assets/css/components/dtv-civic-editorial.css */
/* DTV-FE03 — canonical ownership: Civic Broadcast + Editorial News only. */
.dtv-civic,.dtv-editorial-news{margin-block:var(--dtv-space-24,96px);}
.dtv-purpose-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;border:0}.dtv-purpose-header>div{position:relative;padding-left:14px}.dtv-purpose-header>div:before{content:"";position:absolute;left:0;top:3px;width:3px;height:24px;background:var(--dtv-red,#e30613)}.dtv-purpose-header__eyebrow{display:block;font:700 10px/1.2 Inter,sans-serif;letter-spacing:.12em;color:var(--dtv-red,#e30613);margin-bottom:6px}.dtv-purpose-header h2{margin:0;font:700 clamp(25px,2vw,30px)/1.05 Commissioner,Inter,sans-serif;color:var(--dtv-navy-900,#0b1b31);text-transform:uppercase}.dtv-purpose-header p{margin:7px 0 0;color:#687587;font:500 14px/1.35 Inter,sans-serif}.dtv-purpose-header>a{font:700 11px/1.2 Inter,sans-serif;color:var(--dtv-red,#e30613);text-decoration:none;letter-spacing:.04em;white-space:nowrap}
.dtv-civic__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,5fr);gap:24px}.dtv-civic a,.dtv-editorial-news a{text-decoration:none;color:inherit}.dtv-civic__featured{min-width:0}.dtv-civic__media{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#dfe5ec}.dtv-civic__media img,.dtv-editorial-news img{width:100%;height:100%;object-fit:cover;display:block}.dtv-civic__status{position:absolute;left:18px;bottom:18px;padding:7px 9px;border-radius:6px;background:#0b1b31;color:#fff;font:700 10px/1 Inter,sans-serif;letter-spacing:.04em}.dtv-civic__copy{padding-top:16px}.dtv-civic__place,.dtv-editorial-news__lead-copy>span,.dtv-editorial-news__compact span{display:block;color:var(--dtv-red,#e30613);font:700 11px/1.25 Inter,sans-serif;text-transform:uppercase;margin-bottom:7px}.dtv-civic__copy h3{margin:0 0 8px;font:700 clamp(22px,2vw,30px)/1.08 Commissioner,Inter,sans-serif;color:#0b1728}.dtv-civic time,.dtv-editorial-news time{color:#738095;font:500 12px/1.3 Inter,sans-serif}.dtv-civic__schedule{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));border-top:1px solid #dce3ea}.dtv-civic__schedule-card{border-bottom:1px solid #dce3ea}.dtv-civic__schedule-card a{height:100%;display:grid;grid-template-columns:1fr auto;align-content:center;column-gap:14px;padding:16px 4px}.dtv-civic__schedule-card time{grid-column:1}.dtv-civic__schedule-card span{grid-column:1;color:var(--dtv-red,#e30613);font:700 11px/1.25 Inter,sans-serif;text-transform:uppercase;margin:5px 0}.dtv-civic__schedule-card h3{grid-column:1;margin:0;font:700 16px/1.2 Commissioner,Inter,sans-serif;color:#0b1728}.dtv-civic__schedule-card b{grid-column:2;grid-row:1/4;align-self:center;font-size:18px;color:#0b1b31}
.dtv-editorial-news__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);gap:32px}.dtv-editorial-news__lead-media{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#dfe5ec}.dtv-editorial-news__lead-copy{padding-top:18px}.dtv-editorial-news__lead-copy h3{margin:0 0 10px;font:700 clamp(25px,2.5vw,38px)/1.04 Commissioner,Inter,sans-serif;color:#0b1728}.dtv-editorial-news__lead-copy p{margin:0 0 12px;max-width:62ch;color:#566477;font:400 15px/1.45 Inter,sans-serif}.dtv-editorial-news__list{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));border-top:1px solid #dce3ea}.dtv-editorial-news__compact{border-bottom:1px solid #dce3ea}.dtv-editorial-news__compact a{height:100%;display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;align-items:center;padding:14px 0}.dtv-editorial-news__thumb{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#dfe5ec}.dtv-editorial-news__compact h3{margin:0 0 7px;font:700 17px/1.18 Commissioner,Inter,sans-serif;color:#0b1728;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:1199px){.dtv-civic__grid,.dtv-editorial-news__grid{grid-template-columns:1fr}.dtv-civic__schedule{grid-template-columns:repeat(3,1fr);grid-template-rows:none;border-top:0;gap:16px}.dtv-civic__schedule-card{border:1px solid #dce3ea;border-radius:10px}.dtv-civic__schedule-card a{padding:16px}.dtv-editorial-news__list{grid-template-columns:repeat(3,1fr);grid-template-rows:none;border-top:0;gap:16px}.dtv-editorial-news__compact{border:0}.dtv-editorial-news__compact a{display:block;padding:0}.dtv-editorial-news__thumb{margin-bottom:12px}}
@media (max-width:767px){.dtv-civic,.dtv-editorial-news{margin-block:64px}.dtv-purpose-header{align-items:flex-start;margin-bottom:22px}.dtv-purpose-header>a{font-size:9px;margin-top:5px}.dtv-purpose-header p{font-size:13px}.dtv-civic__grid,.dtv-editorial-news__grid{gap:22px}.dtv-civic__copy h3{font-size:23px}.dtv-civic__schedule{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:4px;scrollbar-width:none}.dtv-civic__schedule::-webkit-scrollbar{display:none}.dtv-civic__schedule-card{flex:0 0 76vw;scroll-snap-align:start}.dtv-editorial-news__lead-copy h3{font-size:27px}.dtv-editorial-news__lead-copy p{display:none}.dtv-editorial-news__list{display:block}.dtv-editorial-news__compact{border-bottom:1px solid #dce3ea}.dtv-editorial-news__compact a{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px 0}.dtv-editorial-news__thumb{margin:0;aspect-ratio:4/3}.dtv-editorial-news__compact h3{font-size:16px;-webkit-line-clamp:2}}

/* DTV-FE03 Correction 01 — mobile section-header and Civic rail refinement. */
@media (max-width:767px){
  .dtv-purpose-header{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    justify-items:start;
    gap:12px;
  }
  .dtv-purpose-header>div{width:100%;min-width:0;}
  .dtv-purpose-header>a{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    margin:0;
    font-size:10px;
    line-height:1.25;
    white-space:normal;
    max-width:100%;
  }
  .dtv-civic .dtv-purpose-header>a,
  .dtv-editorial-news .dtv-purpose-header>a{justify-self:start;}
  .dtv-civic__schedule{
    width:100%;
    gap:12px;
    padding-right:28px;
    scroll-padding-inline:0 28px;
    overscroll-behavior-inline:contain;
  }
  .dtv-civic__schedule-card{
    flex:0 0 calc(100% - 40px);
    min-width:0;
  }
  .dtv-civic__schedule-card:last-child{margin-right:0;}
}

/* DTV bundle source: assets/css/components/dtv-local-network.css */
.dtv-local-network{margin-block:var(--dtv-space-30,120px);background:#0b1b31;color:#fff}.dtv-local-network__inner{padding-block:64px}.dtv-local-network__intro{max-width:760px}.dtv-local-network__eyebrow{display:block;color:#ff3340;font:700 11px/1 Inter,sans-serif;letter-spacing:.12em;margin-bottom:14px}.dtv-local-network h2{margin:0;font:700 clamp(34px,4vw,56px)/.98 Commissioner,Inter,sans-serif;letter-spacing:-.025em}.dtv-local-network__intro p{max-width:620px;margin:18px 0 26px;color:#b8c5d6;font:400 15px/1.5 Inter,sans-serif}.dtv-local-network__search{height:52px;max-width:560px;display:flex;align-items:center;background:#fff;border-radius:8px;padding:0 16px}.dtv-local-network__search input{width:100%;border:0!important;outline:0;background:transparent;color:#0b1728;font:600 15px/1 Inter,sans-serif}.dtv-local-network__search b{color:#0b1b31;font-size:22px}.dtv-local-network__results{position:relative;z-index:2;max-width:560px;background:#fff;color:#0b1728;border-radius:0 0 8px 8px;overflow:hidden}.dtv-local-network__results a{display:block;padding:12px 16px;color:inherit;text-decoration:none;border-top:1px solid #e2e7ed;font:700 14px/1.25 Inter,sans-serif}.dtv-local-network__explorer{display:grid;grid-template-columns:minmax(0,5fr) minmax(360px,7fr);gap:48px;margin-top:48px}.dtv-local-network__map{min-height:330px;border:1px solid rgba(255,255,255,.14);border-radius:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px;background:radial-gradient(circle at 50% 45%,#193451 0,#112640 45%,#0b1b31 75%)}.dtv-local-network__map-kicker{color:#ff3340;font:700 10px/1 Inter,sans-serif;letter-spacing:.1em;margin-bottom:20px}.dtv-local-network__map-mark{width:72px;height:72px;border:2px solid #e30613;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 20px/1 Inter,sans-serif;margin-bottom:18px}.dtv-local-network__map strong{font:700 26px/1.05 Commissioner,Inter,sans-serif}.dtv-local-network__map small{margin-top:8px;color:#93a4ba;font:600 11px/1 Inter,sans-serif}.dtv-local-network__map-municipalities{margin-top:22px;max-width:420px;color:#d5deea;font:600 13px/1.45 Inter,sans-serif}.dtv-local-network__map>a{margin-top:22px;color:#fff;text-decoration:none;font:700 11px/1 Inter,sans-serif}.dtv-local-network__regions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.15)}.dtv-local-network__region{position:relative;display:flex;flex-direction:column;min-height:82px;padding:18px 42px 18px 0;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.15)}.dtv-local-network__region:nth-child(odd){margin-right:24px}.dtv-local-network__region span{font:700 15px/1.2 Commissioner,Inter,sans-serif}.dtv-local-network__region small{margin-top:7px;color:#93a4ba;font:600 10px/1 Inter,sans-serif}.dtv-local-network__region b{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.dtv-local-network__municipalities{display:none}.dtv-local-network__all,.dtv-local-network__all-regions{display:inline-block;color:#fff;text-decoration:none;font:700 11px/1 Inter,sans-serif;letter-spacing:.05em}.dtv-local-network__all{margin-top:36px}.dtv-local-network__all-regions{display:none;margin-top:18px;padding:0;border:0;background:none;cursor:pointer}.dtv-local-network__region:hover span,.dtv-local-network__all:hover,.dtv-local-network__map>a:hover{color:#ff3340}
@media(max-width:991px){.dtv-local-network{margin-block:96px}.dtv-local-network__explorer{grid-template-columns:1fr}.dtv-local-network__map{min-height:250px}.dtv-local-network__regions{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.dtv-local-network{margin-block:80px}.dtv-local-network__inner{padding-block:44px}.dtv-local-network h2{font-size:34px;line-height:1}.dtv-local-network__intro p{font-size:14px;margin:14px 0 22px}.dtv-local-network__search{height:50px}.dtv-local-network__explorer{display:flex;flex-direction:column;gap:24px;margin-top:32px}.dtv-local-network__regions{grid-template-columns:1fr}.dtv-local-network__region:nth-child(odd){margin-right:0}.dtv-local-network__region{min-height:66px;padding-block:14px}.dtv-local-network__region--mobile-extra{display:none}.dtv-local-network--regions-expanded .dtv-local-network__region--mobile-extra{display:flex}.dtv-local-network__all-regions{display:inline-block}.dtv-local-network__map{min-height:0;padding:20px 22px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;background:#112640}.dtv-local-network__map-kicker,.dtv-local-network__map-municipalities{display:none}.dtv-local-network__map-mark{grid-row:1/4;width:48px;height:48px;font-size:14px;margin:0}.dtv-local-network__map strong{font-size:17px}.dtv-local-network__map small{margin-top:4px}.dtv-local-network__map>a{grid-column:2;margin-top:10px}.dtv-local-network__municipalities{display:none}.dtv-local-network__all{margin-top:26px}}

/* DTV bundle source: assets/css/components/dtv-editorial-channels.css */
/* DTV-FE05 — canonical ownership: Politics + Backstage homepage compositions. */
.dtv-politics,.dtv-backstage{margin-block:var(--dtv-space-24,96px)}
.dtv-politics a,.dtv-backstage a{text-decoration:none;color:inherit}.dtv-politics img,.dtv-backstage img{display:block;width:100%;height:100%;object-fit:cover}
.dtv-politics__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,5fr);gap:40px}.dtv-politics__media{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#dfe5ec}.dtv-politics__copy{padding-top:18px}.dtv-politics__copy>span,.dtv-politics__ranking span,.dtv-backstage__secondary span{display:block;color:var(--dtv-red,#e30613);font:700 11px/1.25 Inter,sans-serif;text-transform:uppercase;margin-bottom:7px}.dtv-politics__copy h3{margin:0 0 10px;color:#0b1728;font:700 clamp(27px,2.5vw,40px)/1.04 Commissioner,Inter,sans-serif}.dtv-politics__copy p{margin:0 0 12px;max-width:62ch;color:#566477;font:400 15px/1.45 Inter,sans-serif}.dtv-politics time,.dtv-backstage time{color:#738095;font:500 12px/1.3 Inter,sans-serif}
.dtv-politics__ranking{list-style:none;margin:0;padding:0;border-top:1px solid #dce3ea}.dtv-politics__ranking li{border-bottom:1px solid #dce3ea}.dtv-politics__ranking a{display:grid;grid-template-columns:64px minmax(0,1fr) 20px;gap:16px;align-items:center;min-height:128px;padding:16px 4px}.dtv-politics__ranking b{color:#a9b2bf;font:700 36px/1 Commissioner,Inter,sans-serif;transition:color 180ms ease}.dtv-politics__ranking h3{margin:0 0 7px;color:#0b1728;font:700 18px/1.18 Commissioner,Inter,sans-serif}.dtv-politics__ranking i{font-style:normal}.dtv-politics__ranking a:hover b,.dtv-politics__ranking a:focus-visible b{color:var(--dtv-red,#e30613)}
.dtv-backstage__feature{position:relative;border-radius:12px;overflow:hidden;background:#0b1b31}.dtv-backstage__feature>a{display:block;position:relative;min-height:440px}.dtv-backstage__media{position:absolute;inset:0}.dtv-backstage__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,17,31,.9) 0%,rgba(6,17,31,.58) 42%,rgba(6,17,31,.08) 78%)}.dtv-backstage__feature-copy{position:relative;z-index:1;display:flex;min-height:440px;max-width:650px;padding:52px;flex-direction:column;justify-content:flex-end;color:#fff}.dtv-backstage__feature-copy>span{color:#fff;background:var(--dtv-red,#e30613);align-self:flex-start;border-radius:5px;padding:7px 9px;font:700 10px/1 Inter,sans-serif;letter-spacing:.05em}.dtv-backstage__feature-copy h3{margin:14px 0 10px;font:700 clamp(30px,3vw,46px)/1.02 Commissioner,Inter,sans-serif}.dtv-backstage__feature-copy p{margin:0 0 12px;color:rgba(255,255,255,.82);font:400 15px/1.45 Inter,sans-serif}.dtv-backstage__feature-copy time{color:rgba(255,255,255,.68)}
.dtv-backstage__secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.dtv-backstage__secondary article>a{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid #dce3ea}.dtv-backstage__thumb{aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#dfe5ec}.dtv-backstage__secondary h3{margin:0 0 8px;color:#0b1728;font:700 18px/1.18 Commissioner,Inter,sans-serif}
@media(max-width:1199px){.dtv-politics__grid{grid-template-columns:1fr}.dtv-politics__ranking{display:grid;grid-template-columns:repeat(3,1fr);border-top:0;gap:16px}.dtv-politics__ranking li{border:1px solid #dce3ea;border-radius:10px}.dtv-politics__ranking a{grid-template-columns:48px 1fr;min-height:150px;padding:18px}.dtv-politics__ranking i{display:none}.dtv-backstage__feature>a,.dtv-backstage__feature-copy{min-height:400px}}
@media(max-width:767px){.dtv-politics,.dtv-backstage{margin-block:64px}.dtv-politics__grid{gap:22px}.dtv-politics__copy h3{font-size:27px}.dtv-politics__copy p{display:none}.dtv-politics__ranking{display:block}.dtv-politics__ranking li{border:0;border-bottom:1px solid #dce3ea;border-radius:0}.dtv-politics__ranking a{grid-template-columns:50px minmax(0,1fr) 18px;min-height:0;padding:17px 0}.dtv-politics__ranking b{font-size:30px}.dtv-politics__ranking h3{font-size:16px}.dtv-politics__ranking i{display:block}.dtv-backstage__feature>a,.dtv-backstage__feature-copy{min-height:420px}.dtv-backstage__feature-copy{padding:28px 24px}.dtv-backstage__feature-copy h3{font-size:29px}.dtv-backstage__feature-copy p{display:none}.dtv-backstage__shade{background:linear-gradient(0deg,rgba(6,17,31,.94) 0%,rgba(6,17,31,.55) 48%,rgba(6,17,31,.05) 78%)}.dtv-backstage__secondary{display:block;margin-top:12px}.dtv-backstage__secondary article>a{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px 0}.dtv-backstage__secondary h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.dtv-politics__ranking b{transition:none}}

/* DTV bundle source: assets/css/components/dtv-watch-experience.css */
.dtv-watch{margin-block:96px}.dtv-watch a{text-decoration:none;color:inherit}.dtv-watch__head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.dtv-watch__head>div{border-left:3px solid var(--dtv-red,#e30613);padding-left:12px}.dtv-watch__head span{color:var(--dtv-red,#e30613);font:700 10px/1.2 Inter,sans-serif;letter-spacing:.08em}.dtv-watch__head h2{margin:4px 0 0;color:#0b1728;font:700 30px/1 Commissioner,Inter,sans-serif;text-transform:uppercase}.dtv-watch__head>a{font:700 10px/1 Inter,sans-serif}.dtv-shows__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.dtv-show{background:#0b1b31;border-radius:12px;overflow:hidden;color:#fff}.dtv-show__media{position:relative;aspect-ratio:16/10;background:#132942;overflow:hidden}.dtv-show__media>img:not(.dtv-show__logo){width:100%;height:100%;object-fit:cover}.dtv-show__media:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,15,28,.9))}.dtv-show__logo{position:absolute;z-index:2;left:18px;bottom:16px;max-width:46%;max-height:54px;object-fit:contain}.dtv-show__placeholder{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;height:100%;padding:22px;background:linear-gradient(145deg,#173554 0%,#0b1b31 58%,#071322 100%);color:#fff}.dtv-show__placeholder-network{font:800 9px/1 Inter,sans-serif;letter-spacing:.14em;color:#ff3541}.dtv-show__placeholder strong{display:block;max-width:90%;margin-top:10px;font:700 25px/1.02 Commissioner,Inter,sans-serif}.dtv-show__placeholder-rule{display:block;width:42px;height:3px;margin-top:14px;background:#e30613}.dtv-show__copy{padding:18px}.dtv-show__copy>span,.dtv-show__copy small{display:block;color:#ff3541;font:700 9px/1.2 Inter;letter-spacing:.06em}.dtv-show__copy h3{margin:6px 0 7px;font:700 23px/1.05 Commissioner}.dtv-show__copy p,.dtv-show__copy b{display:block;margin:0 0 7px;color:#bdc7d4;font:500 12px/1.35 Inter}.dtv-show__copy small{margin-top:14px}.dtv-show__copy strong{display:block;margin-top:5px;font:700 13px/1.25 Inter}.dtv-highlights__wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dtv-highlight.is-lead{grid-column:span 2;grid-row:span 2}.dtv-highlight__media{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#0b1b31}.dtv-highlight.is-lead .dtv-highlight__media{aspect-ratio:16/10}.dtv-highlight__media img{width:100%;height:100%;object-fit:cover}.dtv-highlight__media:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(5,15,28,.78))}.dtv-highlight__play{position:absolute;z-index:2;left:16px;bottom:14px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.7);border-radius:50%;color:#fff;font-size:12px}.dtv-highlight__media b{position:absolute;z-index:2;right:12px;bottom:12px;padding:4px 6px;border-radius:4px;background:rgba(5,15,28,.85);color:#fff;font:700 10px Inter}.dtv-highlight__copy{padding-top:10px}.dtv-highlight__copy span{color:var(--dtv-red,#e30613);font:700 9px Inter;text-transform:uppercase}.dtv-highlight__copy h3{margin:5px 0 0;color:#0b1728;font:700 18px/1.12 Commissioner}.dtv-highlight.is-lead .dtv-highlight__copy h3{font-size:28px}@media(max-width:1199px){.dtv-shows__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.dtv-watch{margin-block:64px}.dtv-watch__head{display:block;margin-bottom:22px}.dtv-watch__head>a{display:inline-block;margin-top:16px}.dtv-shows__grid{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding-right:14%;overscroll-behavior-inline:contain}.dtv-show{flex:0 0 82%;scroll-snap-align:start;scroll-snap-stop:always}.dtv-show__placeholder{padding:18px}.dtv-show__placeholder strong{font-size:22px}.dtv-highlights__wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dtv-highlight.is-lead{grid-column:span 2;grid-row:auto}.dtv-highlight.is-lead .dtv-highlight__media{aspect-ratio:16/9}.dtv-highlight__copy h3,.dtv-highlight.is-lead .dtv-highlight__copy h3{font-size:16px}.dtv-highlight.is-lead .dtv-highlight__copy h3{font-size:23px}.dtv-highlight__play{width:30px;height:30px;left:10px;bottom:10px}}

/* DTV bundle source: assets/css/components/dtv-closing-layer.css */
.dtv-trending{margin-block:var(--dtv-space-30,120px) 72px}.dtv-trending__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.dtv-trending__head span{color:#e30613;font:700 10px/1 Inter,sans-serif;letter-spacing:.12em}.dtv-trending__head h2{margin:8px 0 0;color:#0b1b31;font:800 clamp(30px,3vw,44px)/1 Commissioner,Inter,sans-serif}.dtv-trending__head p{margin:10px 0 0;color:#718096;font:500 14px/1.4 Inter,sans-serif}.dtv-trending__head a{color:#0b1b31;text-decoration:none;font:800 10px/1 Inter,sans-serif}.dtv-trending__list{border-top:2px solid #0b1b31}.dtv-trending__item{display:grid;grid-template-columns:72px 150px minmax(0,1fr) 24px;gap:22px;align-items:center;min-height:116px;border-bottom:1px solid #d7dee7;color:#0b1b31;text-decoration:none}.dtv-trending__rank{color:#aeb8c6;font:800 34px/1 Commissioner,Inter,sans-serif}.dtv-trending__media{position:relative;height:82px;border-radius:8px;overflow:hidden;background:#10213a}.dtv-trending__media img{width:100%;height:100%;object-fit:cover}.dtv-trending__media i{position:absolute;left:10px;bottom:10px;width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:50%;color:#fff;font-style:normal;font-size:9px;background:rgba(11,27,49,.55)}.dtv-trending__copy{min-width:0}.dtv-trending__copy small{display:block;margin-bottom:7px;color:#e30613;font:700 10px/1 Inter,sans-serif}.dtv-trending__copy strong{display:block;font:750 20px/1.15 Commissioner,Inter,sans-serif}.dtv-trending__item>b{font-size:18px}.dtv-home-newsletter-strip{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(560px,1.2fr);gap:48px;align-items:center;margin:0 0 0!important;padding:52px max(32px,calc((100vw - 1200px)/2))!important;border-radius:0!important;background:#0b1b31!important;box-shadow:none!important;color:#fff;overflow:hidden}.dtv-home-newsletter-strip:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#e30613}.dtv-home-newsletter-copy span{padding:0!important;background:none!important;color:#ff3340!important;font-size:10px!important}.dtv-home-newsletter-copy h2{font-size:clamp(28px,3vw,42px)!important;max-width:620px}.dtv-home-newsletter-copy p{max-width:560px!important}.dtv-home-newsletter-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important}.dtv-home-newsletter-form label{display:grid;gap:7px;color:#9fb0c5;font:700 10px/1 Inter,sans-serif;letter-spacing:.05em}.dtv-home-newsletter-form select,.dtv-home-newsletter-form input[type=email]{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.16)!important;border-radius:7px!important;padding:0 14px;background:#132944!important;color:#fff!important;font:650 13px/1 Inter,sans-serif}.dtv-home-newsletter-form option{color:#0b1b31;background:#fff}.dtv-home-newsletter-email{grid-column:1/-1}.dtv-home-newsletter-form button{grid-column:1/-1;justify-self:start;min-width:150px;border-radius:7px!important;background:#e30613!important}.dtv-home-newsletter-signature{position:absolute;right:32px;bottom:16px;display:flex;gap:12px;align-items:center;color:rgba(255,255,255,.35);font:700 9px/1 Inter,sans-serif;letter-spacing:.1em}.dtv-home-newsletter-signature b{color:rgba(255,255,255,.58)}
@media(max-width:767px){.dtv-trending{margin-block:80px 56px}.dtv-trending__head{display:block}.dtv-trending__head a{display:inline-block;margin-top:18px}.dtv-trending__item{grid-template-columns:44px 82px minmax(0,1fr) 16px;gap:10px;min-height:94px}.dtv-trending__rank{font-size:25px}.dtv-trending__media{height:62px}.dtv-trending__copy strong{font-size:15px}.dtv-trending__copy small{font-size:8px}.dtv-home-newsletter-strip{grid-template-columns:1fr!important;gap:28px!important;padding:38px 24px 56px!important}.dtv-home-newsletter-form{grid-template-columns:1fr!important}.dtv-home-newsletter-email,.dtv-home-newsletter-form button{grid-column:auto}.dtv-home-newsletter-form button{width:100%;justify-self:stretch}.dtv-home-newsletter-signature{left:24px;right:auto}}

/* DTV-FE07 Correction 01 — desktop/tablet newsletter grid recovery.
 * Own the closing-layer layout here and neutralize older newsletter grid constraints.
 */
@media (min-width: 768px) {
  .dtv-home-newsletter-strip {
    box-sizing: border-box;
    width: 100%;
    grid-template-columns: minmax(320px, 0.9fr) minmax(480px, 1.1fr) !important;
    column-gap: clamp(40px, 5vw, 80px) !important;
    align-items: center !important;
  }
  .dtv-home-newsletter-copy,
  .dtv-home-newsletter-form {
    min-width: 0;
    width: 100%;
  }
  .dtv-home-newsletter-copy h2 {
    max-width: 560px !important;
    overflow-wrap: normal;
    word-break: normal;
  }
  .dtv-home-newsletter-copy p {
    max-width: 520px !important;
  }
  .dtv-home-newsletter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-self: center;
  }
}

@media (min-width: 768px) and (max-width: 1050px) {
  .dtv-home-newsletter-strip {
    grid-template-columns: minmax(280px, 0.9fr) minmax(380px, 1.1fr) !important;
    column-gap: 32px !important;
    padding-inline: 32px !important;
  }
  .dtv-home-newsletter-copy h2 {
    font-size: clamp(28px, 3.6vw, 38px) !important;
  }
}

/* DTV bundle source: assets/css/components/dtv-responsive-harmonization.css */
/* DTV-FE08 — Responsive Completion & Cross-Breakpoint Harmonization
 * Final cross-component rhythm only. Header/navigation intentionally out of scope.
 */
@media (min-width: 768px) and (max-width: 1199px) {
  .dtv-civic,.dtv-editorial-news,.dtv-politics,.dtv-backstage,.dtv-watch,.dtv-trending{margin-block:clamp(72px,8vw,96px)}
  .dtv-local-network{margin-block:clamp(80px,9vw,96px)}
  .dtv-purpose-header,.dtv-watch__head,.dtv-trending__head{margin-bottom:24px}
  .dtv-civic__schedule,.dtv-editorial-news__list,.dtv-politics__ranking{gap:14px}
  .dtv-home-newsletter-strip{min-height:360px}
}

@media (min-width: 768px) and (max-width: 991px) {
  .dtv-civic__schedule,.dtv-editorial-news__list,.dtv-politics__ranking{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dtv-civic__schedule-card:last-child,.dtv-editorial-news__compact:last-child,.dtv-politics__ranking li:last-child{grid-column:1/-1}
  .dtv-shows__grid{gap:16px}
  .dtv-highlights__wall{gap:14px}
  .dtv-trending__item{grid-template-columns:58px 120px minmax(0,1fr) 20px;gap:16px}
  .dtv-trending__copy strong{font-size:18px}
}

@media (max-width: 767px) {
  .dtv-civic,.dtv-editorial-news,.dtv-politics,.dtv-backstage,.dtv-watch{margin-block:64px}
  .dtv-local-network{margin-block:72px}
  .dtv-trending{margin-block:72px 52px}
  .dtv-purpose-header,.dtv-watch__head,.dtv-trending__head{margin-bottom:20px}
  .dtv-purpose-header h2,.dtv-watch__head h2{line-height:1.02}
  .dtv-civic__schedule,.dtv-shows__grid{-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .dtv-civic__schedule::-webkit-scrollbar,.dtv-shows__grid::-webkit-scrollbar{display:none}
  .dtv-civic__schedule-card{flex-basis:min(76vw,320px)}
  .dtv-show{flex-basis:min(82vw,340px)}
  .dtv-editorial-news__compact a,.dtv-backstage__secondary article>a{align-items:center}
  .dtv-politics__ranking h3,.dtv-editorial-news__compact h3,.dtv-backstage__secondary h3{overflow-wrap:anywhere}
  .dtv-highlight__copy h3{overflow-wrap:anywhere}
  .dtv-trending__item{width:100%;min-width:0}
  .dtv-trending__copy strong{overflow-wrap:anywhere}
  .dtv-home-newsletter-strip{box-sizing:border-box;width:100%;min-width:0}
}

@media (max-width: 389px) {
  .dtv-civic,.dtv-editorial-news,.dtv-politics,.dtv-backstage,.dtv-watch{margin-block:56px}
  .dtv-local-network{margin-block:64px}
  .dtv-purpose-header h2,.dtv-watch__head h2{font-size:27px}
  .dtv-civic__copy h3,.dtv-editorial-news__lead-copy h3,.dtv-politics__copy h3{font-size:24px}
  .dtv-backstage__feature-copy h3{font-size:26px}
  .dtv-editorial-news__compact a,.dtv-backstage__secondary article>a{grid-template-columns:96px minmax(0,1fr)}
  .dtv-trending__item{grid-template-columns:36px 72px minmax(0,1fr) 12px;gap:8px}
  .dtv-trending__rank{font-size:22px}
  .dtv-trending__media{height:56px}
  .dtv-trending__copy strong{font-size:14px}
}

@media (prefers-reduced-motion: reduce) {
  .dtv-civic__schedule,.dtv-shows__grid{scroll-behavior:auto}
}

/* DTV-FE08 Correction 01 — Tablet Container & Breakpoint Recovery
 * Tablet is a first-class layout. This block is intentionally last so the
 * historical <=768 mobile rules cannot collapse the 768px tablet boundary.
 * Desktop >=1200 and mobile <=767 remain untouched.
 */
@media (min-width: 768px) and (max-width: 1199px) {
  :root {
    --dtv-container-padding: clamp(24px, 3.5vw, 36px);
    --dtv-page-gutter: clamp(24px, 3.5vw, 36px);
  }

  .dtv-container,
  .dtv-network-container,
  .dtv-front-hero-slider.dtv-broadcast-stage,
  .dtv-live-strip {
    width: calc(100% - (2 * var(--dtv-container-padding))) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  /* Prevent the legacy <=768 mobile broadcast contract winning at 768px. */
  .dtv-front-hero-slider.dtv-broadcast-stage { margin-top: 28px !important; }
  .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track {
    min-height: 430px !important;
    height: clamp(430px, 52vw, 500px) !important;
    max-height: 500px !important;
    border-radius: 12px !important;
  }
  .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-hero-content,
  .dtv-broadcast-stage .dtv-broadcast-safe-zone {
    left: clamp(28px, 4vw, 44px) !important;
    right: auto !important;
    bottom: 76px !important;
    width: min(68%, 620px) !important;
    max-width: 620px !important;
  }
  .dtv-broadcast-stage .dtv-front-hero-content h1 {
    max-width: 18ch !important;
    font-size: clamp(32px, 4.6vw, 44px) !important;
  }
  .dtv-broadcast-stage .dtv-front-hero-content p { display: block; }

  /* Tablet editorial layouts should consume the recovered canvas. */
  .dtv-civic__grid,
  .dtv-editorial-news__grid,
  .dtv-politics__grid { gap: clamp(24px, 3vw, 36px); }

  .dtv-shows__grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
  .dtv-highlights__wall { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
  .dtv-highlight.is-lead { grid-column: 1 / -1; grid-row: auto; }

  .dtv-local-network__explorer {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 28px;
  }
  .dtv-local-network__map { min-height: 300px; padding: 28px; }
  .dtv-local-network__regions { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .dtv-trending__item {
    grid-template-columns: 60px 132px minmax(0,1fr) 20px;
    gap: 18px;
  }

  .dtv-home-newsletter-strip {
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important;
    gap: clamp(28px,4vw,44px) !important;
    padding-inline: max(32px, var(--dtv-container-padding)) !important;
  }
  .dtv-home-newsletter-copy h2 { font-size: clamp(30px,4vw,38px) !important; }
}

@media (min-width: 768px) and (max-width: 991px) {
  /* At compact tablet widths, keep hierarchy without reverting to phone UI. */
  .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-grid { grid-template-columns: 1fr; }
  .dtv-front-hero-slider.dtv-broadcast-stage .dtv-broadcast-rail { margin: 0 !important; }
  .dtv-local-network__explorer { grid-template-columns: 1fr; }
  .dtv-local-network__map { min-height: 220px; }
  .dtv-home-newsletter-strip { grid-template-columns: 1fr 1fr !important; }
}


/* DTV-FE08 Correction 02 — Tablet Width Ownership Root-Cause Recovery
 * Ownership proof: [dtv_homepage_new] is commonly hosted inside a theme/Elementor
 * content wrapper. At tablet widths that host can remain boxed/narrower than the
 * viewport, so widening descendant .dtv-container nodes cannot recover the canvas.
 * The canonical shortcode boundary now owns a viewport-wide tablet canvas and
 * deliberately escapes only that host constraint. Desktop/mobile are untouched.
 */
@media (min-width: 768px) and (max-width: 1199px) {
  .dtv-homepage-canvas {
    box-sizing: border-box !important;
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    overflow: clip !important;
  }

  .dtv-homepage-canvas > * {
    min-width: 0;
  }
}

/* DTV-FE08 Correction 03 — Tablet Component Harmonization & Final Responsive Lock
 * Runs only on the recovered tablet canvas. Desktop >=1200 and mobile <=767 stay locked.
 * No global width ownership changes in this correction.
 */
@media (min-width: 768px) and (max-width: 1199px) {
  /* Broadcast: give the lead story real tablet presence without reverting to phone UI. */
  .dtv-front-hero-slider.dtv-broadcast-stage .dtv-front-slider-track {
    min-height: clamp(440px, 54vw, 540px) !important;
    height: clamp(440px, 54vw, 540px) !important;
    max-height: 540px !important;
  }
  .dtv-broadcast-stage .dtv-front-hero-content h1 {
    font-size: clamp(34px, 4.4vw, 46px) !important;
    line-height: .98 !important;
  }

  /* Civic / News / Politics: preserve lead-story hierarchy and make secondary content readable. */
  .dtv-civic__grid,
  .dtv-editorial-news__grid,
  .dtv-politics__grid { gap: 24px !important; }
  .dtv-civic__schedule,
  .dtv-editorial-news__list,
  .dtv-politics__ranking {
    gap: 12px !important;
    align-items: stretch;
  }
  .dtv-civic__schedule-card a { padding: 14px !important; }
  .dtv-civic__schedule-card h3,
  .dtv-editorial-news__compact h3,
  .dtv-politics__ranking h3 { font-size: clamp(14px, 1.7vw, 17px) !important; }

  /* Shows: intentional two-column tablet grid with useful card scale. */
  .dtv-shows__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px !important; }
  .dtv-show__placeholder strong { font-size: clamp(22px,2.7vw,28px) !important; }
  .dtv-show__copy h3 { font-size: clamp(20px,2.4vw,24px) !important; }

  /* Highlights: one dominant video followed by a balanced supporting grid. */
  .dtv-highlights__wall { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 14px !important; }
  .dtv-highlight.is-lead { grid-column: 1 / -1 !important; grid-row: auto !important; }
  .dtv-highlight.is-lead .dtv-highlight__media { aspect-ratio: 16/8.5 !important; }
  .dtv-highlight.is-lead .dtv-highlight__copy h3 { font-size: clamp(24px,3vw,30px) !important; }

  /* Local Network: reduce vertical drag while retaining the explorer identity. */
  .dtv-local-network__inner { padding-block: clamp(44px,5vw,56px) !important; }
  .dtv-local-network__explorer { margin-top: 32px !important; gap: 22px !important; }
  .dtv-local-network__map { min-height: 220px !important; padding: 24px !important; }
  .dtv-local-network__region { min-height: 68px !important; padding-block: 14px !important; }
  .dtv-local-network__all { margin-top: 24px !important; }

  /* Closing: keep ranked stories and newsletter comfortably legible at tablet scale. */
  .dtv-trending__item { grid-template-columns: 48px 112px minmax(0,1fr) 18px !important; gap: 14px !important; }
  .dtv-trending__copy strong { font-size: clamp(15px,1.9vw,18px) !important; }
  .dtv-home-newsletter-strip { min-height: 0 !important; padding-block: clamp(42px,5vw,56px) !important; }
  .dtv-home-newsletter-copy h2 { font-size: clamp(28px,3.5vw,36px) !important; line-height: 1 !important; }
}

@media (min-width: 768px) and (max-width: 991px) {
  /* Compact tablets: keep editorial secondary stories as a deliberate two-column system. */
  .dtv-civic__schedule,
  .dtv-editorial-news__list,
  .dtv-politics__ranking { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .dtv-civic__schedule-card:last-child,
  .dtv-editorial-news__compact:last-child,
  .dtv-politics__ranking li:last-child { grid-column: 1 / -1 !important; }

  /* Local Network should be compact, not a tall desktop explorer stacked verbatim. */
  .dtv-local-network__explorer { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr) !important; align-items:start; }
  .dtv-local-network__map { min-height: 250px !important; }
  .dtv-local-network__regions { grid-template-columns: 1fr !important; }
  .dtv-local-network__region:nth-child(odd) { margin-right: 0 !important; }

  .dtv-home-newsletter-strip { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr) !important; gap: 24px !important; }
}

/* DTV bundle source: assets/css/components/detail-presentation-foundation.css */
/*
 * DTV-FE12B.1 — Detail Presentation Foundation
 *
 * Terminal, presentation-only ownership for the shared article/video detail
 * shell. Playback, queue, consent and mini-player lifecycle remain owned by
 * their existing components.
 */

.dtv-video-modal[data-dtv-detail-presentation="foundation"] {
    --dtv-detail-ink: #10243f;
    --dtv-detail-muted: #65758a;
    --dtv-detail-line: rgba(16, 36, 63, .12);
    --dtv-detail-red: #cc0000;
    --dtv-detail-reading: 46rem;
    --dtv-detail-wide: 76rem;
}

.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__dialog {
    width: min(96vw, 1440px);
    max-height: min(92dvh, 960px);
}

.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__content {
    min-width: 0;
}

.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__kicker,
.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__title,
.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__meta,
.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__excerpt,
.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description,
.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__actions {
    margin-inline: auto;
    width: min(100%, var(--dtv-detail-wide));
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__title,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__meta,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__excerpt,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description {
    width: min(100%, var(--dtv-detail-reading));
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__kicker {
    width: min(100%, var(--dtv-detail-reading));
    justify-content: flex-start;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__title {
    text-wrap: balance;
    overflow-wrap: anywhere;
    letter-spacing: -.025em;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3rem .55rem;
    font-size: .8125rem;
    line-height: 1.5;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__meta strong {
    color: var(--dtv-detail-ink);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__excerpt {
    margin-top: 1.15rem;
    padding-left: 1rem;
    border-left: 3px solid var(--dtv-detail-red);
    font-weight: 560;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description {
    margin-top: 1.65rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--dtv-detail-line);
    overflow-wrap: break-word;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description > :first-child {
    margin-top: 0;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description > :last-child {
    margin-bottom: 0;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description p,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description ul,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description ol,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description blockquote {
    margin-block: 0 1.35em;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description h2,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description h3,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description h4 {
    margin-block: 1.65em .65em;
    line-height: 1.18;
    text-wrap: balance;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description blockquote {
    padding: .25rem 0 .25rem 1.15rem;
    border-left: 3px solid var(--dtv-detail-red);
    color: #3c5068;
    font-size: 1.08em;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description img {
    display: block;
    width: auto;
    max-width: 100%;
    margin: 1.75rem auto;
    border-radius: 14px;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description iframe,
.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description video {
    display: block;
    width: 100%;
    margin: 1.75rem 0;
    border: 0;
    border-radius: 14px;
    aspect-ratio: 16 / 9;
}

.dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__actions {
    width: min(100%, var(--dtv-detail-reading));
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--dtv-detail-line);
}

.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__related-item {
    border-radius: 10px;
}

.dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__related-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

@media (max-width: 900px) {
    .dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__dialog {
        width: min(96vw, 760px);
        max-height: 94dvh;
    }

    .dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__sidebar {
        max-height: 22rem;
    }
}

@media (max-width: 520px) {
    .dtv-video-modal[data-dtv-detail-presentation="foundation"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__dialog {
        width: 100vw;
        max-height: 100dvh;
    }

    .dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__content {
        padding-inline: 8px !important;
    }

    .dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__title {
        font-size: clamp(1.55rem, 7.5vw, 2.1rem) !important;
        line-height: 1.12 !important;
    }

    .dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__excerpt {
        padding-left: .8rem;
        font-size: 1rem !important;
    }

    .dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__description {
        font-size: 1rem !important;
        line-height: 1.72 !important;
    }

    .dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dtv-video-modal[data-dtv-detail-kind="article"]:not(.is-minimized):not(.is-scroll-mini) .dtv-video-modal__action[data-dtv-video-modal-share] {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-video-modal[data-dtv-detail-presentation="foundation"] {
        scroll-behavior: auto;
    }
}

/* DTV bundle source: assets/css/components/detail-media-context.css */
/* DTV-FE12B.2 — Detail media, metadata and editorial context refinement. */
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-detail-media-context { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.35rem 1rem; width:min(100%,var(--dtv-detail-wide,76rem)); margin:.65rem auto 0; padding-inline:clamp(.5rem,1.5vw,1.25rem); color:var(--dtv-detail-muted,#65758a); font-size:.75rem; line-height:1.45; }
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-detail-media-context[hidden] { display:none; }
.dtv-detail-media-context__credit { margin-left:auto; color:#43556b; font-size:.68rem; font-weight:750; letter-spacing:.045em; }
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__meta a { color:inherit; text-decoration:underline; text-decoration-color:rgba(204,0,0,.35); text-underline-offset:.18em; }
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__meta a:hover,
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__meta a:focus-visible { color:var(--dtv-detail-red,#cc0000); text-decoration-color:currentColor; }
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__article-hero { width:100%; height:auto; object-fit:contain; background:#08182b; }
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__description :where(figure,.wp-block-embed,.wp-block-video) { max-width:100%; margin:1.75rem 0; }
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__description :where(figcaption,.wp-element-caption) { margin-top:.55rem; color:var(--dtv-detail-muted,#65758a); font-size:.78rem; line-height:1.5; }
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__description :where(table,pre) { display:block; max-width:100%; overflow-x:auto; }
@media (max-width:520px) { .dtv-video-modal[data-dtv-detail-kind="article"] .dtv-detail-media-context { display:block; padding-inline:8px; } .dtv-detail-media-context__credit { display:block; margin-top:.35rem; } }

/* DTV bundle source: assets/css/components/detail-completion-layer.css */
/* DTV-FE12B.3 — Detail navigation, relevance and completion layer. */
.dtv-video-modal[data-dtv-detail-presentation="foundation"] .dtv-video-modal__sidebar-header span{font-size:.72rem;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
.dtv-video-modal[data-dtv-detail-presentation="foundation"] .dtv-video-modal__related-empty{margin:0;padding:1.1rem;border:1px dashed rgba(101,117,138,.35);border-radius:12px;color:#8b9aab;font-size:.82rem;line-height:1.55;text-align:center}
.dtv-detail-relation{display:inline-flex;width:max-content;margin-bottom:.3rem;padding:.22rem .45rem;border-radius:999px;background:rgba(204,0,0,.12);color:#f1a4a4;font-size:.58rem!important;font-style:normal;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.dtv-detail-relation--municipality{background:rgba(29,111,216,.17);color:#9dc7ff}
.dtv-detail-relation--region{background:rgba(15,157,88,.16);color:#8ce0b7}
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__action:disabled{opacity:.46;cursor:not-allowed}
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__actions{align-items:stretch}
.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__action{min-height:44px;white-space:normal;text-align:center}
@media(max-width:520px){.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__sidebar{padding-top:.5rem}.dtv-video-modal[data-dtv-detail-kind="article"] .dtv-video-modal__related-item{min-height:82px}}
@media(prefers-reduced-motion:reduce){.dtv-video-modal[data-dtv-detail-presentation="foundation"] .dtv-video-modal__related-item{transition:none!important}}

/* DTV bundle source: assets/css/components/consent-boundary.css */
.dtv-consent-boundary{position:absolute;inset:0;display:flex;min-height:100%;width:100%;height:100%;padding:28px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;background:#0b1424;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:inherit}.dtv-consent-boundary strong{font-size:14px;letter-spacing:.08em}.dtv-consent-boundary p{max-width:560px;margin:0;color:rgba(255,255,255,.78);line-height:1.55}.dtv-consent-boundary__button{margin-top:8px;padding:11px 18px;border:0;border-radius:999px;background:#cc0000;color:#fff;font:inherit;font-weight:800;cursor:pointer}.dtv-consent-boundary__button:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* DTV bundle source: assets/css/brand-social-video.css */
/**
 * BRAND-13.3 — Social & Video production deployment.
 */

.dtv-video-modal__brand-watermark {
    position: absolute !important;
    z-index: 8 !important;
    top: clamp(12px, 2vw, 24px) !important;
    right: clamp(12px, 2vw, 24px) !important;
    width: clamp(34px, 4.2vw, 52px) !important;
    height: auto !important;
    display: block !important;
    opacity: .70 !important;
    pointer-events: none !important;
    user-select: none !important;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .34)) !important;
}

.dtv-video-modal.is-minimized .dtv-video-modal__brand-watermark {
    top: 10px !important;
    right: 10px !important;
    width: 32px !important;
    opacity: .76 !important;
}

.dtv-video-modal.is-video-portrait .dtv-video-modal__brand-watermark,
.dtv-video-modal[data-dtv-aspect-ratio="portrait"] .dtv-video-modal__brand-watermark {
    top: 16px !important;
    right: 16px !important;
    width: 38px !important;
}

@media (max-width: 767px) {
    .dtv-video-modal__brand-watermark {
        top: 12px !important;
        right: 12px !important;
        width: 36px !important;
    }
}

@media (prefers-reduced-transparency: reduce) {
    .dtv-video-modal__brand-watermark {
        opacity: .88 !important;
    }
}

/* DTV bundle source: assets/css/frontend-stability-pass3.css */
/**
 * DimosTV Frontend 2.1 PASS 3 — Performance polish.
 * This file is intentionally additive and low-specificity: it improves rendering
 * cost without changing page structure or feature behaviour.
 */

:where(.dtv-section, .dtv-home-section, .dtv-archive-section, .dtv-legal-section, .dtv-contact-section, .dtv-complaints-section) {
    content-visibility: auto;
    contain-intrinsic-size: 1px 720px;
}

:where(.dtv-card, .dtv-video-card, .dtv-show-card, .dtv-municipality-card, .dtv-region-card, .dtv-search-result, .dtv-news-card) {
    contain: layout paint;
    transform: translateZ(0);
}

:where(.dtv-video-card img, .dtv-show-card img, .dtv-municipality-card img, .dtv-region-card img, .dtv-hero img, .dtv-archive-card img) {
    content-visibility: auto;
    decoding: async;
}

:where(.dtv-modal, .dtv-search-overlay, .dtv-menu-modal, .dtv-quick-live-modal, .dtv-video-modal) {
    will-change: opacity, transform;
}

:where(.dtv-btn, .dtv-search-trigger, .dtv-menu-trigger, .dtv-live-btn, .dtv-mini-player, .dtv-card) {
    backface-visibility: hidden;
}

:where(.dtv-mini-player, .dtv-sticky-mini-player) {
    contain: layout paint size;
}

:where(.dtv-filter-bar, .dtv-archive-filters, .dtv-search-filters) {
    contain: layout;
}

@media (prefers-reduced-motion: reduce) {
    :where(.dtv-modal, .dtv-search-overlay, .dtv-menu-modal, .dtv-mini-player, .dtv-card, .dtv-btn) {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* DTV bundle source: assets/css/frontend-stability-pass4.css */
/* ==========================================================
   DimosTV CMS 1.7.0 RC1 — Frontend 2.1 PASS 4
   Accessibility & UX polish
   ========================================================== */

:root{
    --dtv-a11y-focus:#E30613;
    --dtv-a11y-focus-soft:rgba(227,6,19,.32);
}

/* Screen-reader utility */
.dtv-sr-only,
.dtv-visually-hidden{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

.dtv-sr-only:focus,
.dtv-skip-link:focus{
    position:fixed!important;
    top:16px!important;
    left:16px!important;
    z-index:1000000!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:12px 18px!important;
    clip:auto!important;
    white-space:normal!important;
    border-radius:999px!important;
    background:#E30613!important;
    color:#fff!important;
    font-weight:800!important;
    text-decoration:none!important;
    box-shadow:0 18px 45px rgba(0,0,0,.34)!important;
}

/* Global focus treatment */
.dtv-frontend a:focus-visible,
.dtv-frontend button:focus-visible,
.dtv-frontend input:focus-visible,
.dtv-frontend select:focus-visible,
.dtv-frontend textarea:focus-visible,
.dtv-search-trigger:focus-visible,
.dtv-menu-trigger:focus-visible,
.dtv-live-btn:focus-visible,
[class*="dtv-"] a:focus-visible,
[class*="dtv-"] button:focus-visible,
[class*="dtv-"] input:focus-visible,
[class*="dtv-"] select:focus-visible,
[class*="dtv-"] textarea:focus-visible{
    outline:3px solid var(--dtv-a11y-focus)!important;
    outline-offset:3px!important;
    box-shadow:0 0 0 6px var(--dtv-a11y-focus-soft)!important;
}

/* Do not show heavy outlines for mouse users */
[class*="dtv-"] :focus:not(:focus-visible){
    outline:none;
}

/* Keyboard-active cards */
.dtv-video-card:focus-within,
.dtv-municipality-card:focus-within,
.dtv-region-card:focus-within,
.dtv-show-card:focus-within,
.dtv-archive-card:focus-within,
.dtv-search-result:focus-within{
    border-color:rgba(227,6,19,.55)!important;
    box-shadow:0 18px 45px rgba(227,6,19,.16), 0 0 0 1px rgba(227,6,19,.25)!important;
}

/* Touch target safety */
.dtv-search-trigger,
.dtv-menu-trigger,
.dtv-live-btn,
.dtv-quick-live-modal button,
.dtv-menu-modal button,
.dtv-search-overlay button,
.dtv-mini-player button,
.dtv-video-modal button,
.dtv-complaints button,
.dtv-contact button{
    min-width:44px;
    min-height:44px;
}

/* Modal accessibility helpers */
.dtv-modal-open,
body.dtv-a11y-modal-lock{
    overflow:hidden!important;
    overscroll-behavior:contain;
}

.dtv-a11y-inert{
    pointer-events:none!important;
    user-select:none!important;
}

/* Live region */
#dtv-a11y-live-region{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

/* Form UX */
.dtv-field-error,
.dtv-form-error{
    display:block;
    margin-top:8px;
    color:#ffb4b4;
    font-size:13px;
    line-height:1.45;
}

.dtv-input-error,
input.dtv-input-error,
select.dtv-input-error,
textarea.dtv-input-error{
    border-color:#E30613!important;
    box-shadow:0 0 0 3px rgba(227,6,19,.20)!important;
}

button[disabled],
.dtv-btn[disabled],
.dtv-is-loading{
    cursor:progress!important;
    opacity:.72;
}

.dtv-is-loading{
    position:relative;
}

.dtv-is-loading::after{
    content:"";
    display:inline-block;
    width:14px;
    height:14px;
    margin-left:10px;
    border:2px solid rgba(255,255,255,.45);
    border-top-color:#fff;
    border-radius:50%;
    animation:dtv-a11y-spin .75s linear infinite;
    vertical-align:-2px;
}

@keyframes dtv-a11y-spin{to{transform:rotate(360deg)}}

/* Search / Navigation mobile keyboard safety */
.dtv-search-overlay,
.dtv-menu-modal,
.dtv-quick-live-modal{
    overscroll-behavior:contain;
}

.dtv-search-overlay__panel,
.dtv-menu-modal__panel,
.dtv-quick-live-modal__dialog{
    max-height:min(88vh, calc(100dvh - 32px));
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
    }
}

/* EPIC 04 — Accessibility Sprint 1 */
[aria-current="page"]{text-decoration-thickness:max(2px,.12em)}
[aria-expanded="true"] .dtv-disclosure-icon{transform:rotate(180deg)}
@media (forced-colors: active){
    [class*="dtv-"] a:focus-visible,
    [class*="dtv-"] button:focus-visible,
    [class*="dtv-"] input:focus-visible,
    [class*="dtv-"] select:focus-visible,
    [class*="dtv-"] textarea:focus-visible{
        outline:3px solid Highlight!important;
        box-shadow:none!important;
    }
}

/* DTV bundle source: assets/css/frontend-stability-pass5.css */
/**
 * DimosTV CMS 1.7.0 RC1 — Frontend 2.1 PASS 5
 * UX Resilience & State Management
 */

:root{
    --dtv-state-bg:linear-gradient(135deg,rgba(12,18,32,.96),rgba(6,10,18,.98));
    --dtv-state-border:rgba(255,255,255,.10);
    --dtv-state-muted:rgba(255,255,255,.68);
    --dtv-state-accent:#E30613;
}

.dtv-state-card,
.dtv-empty-state,
.dtv-error-state,
.dtv-success-state,
.dtv-loading-state,
.dtv-news-empty,
.dtv-news-no-results,
.dtv-live-empty,
.dtv-search-page__empty,
.dtv-search-overlay__empty,
.dtv-video-modal__related-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
    min-height:180px;
    padding:32px 24px;
    border:1px solid var(--dtv-state-border);
    border-radius:24px;
    background:var(--dtv-state-bg);
    color:#fff;
    text-align:center;
    box-shadow:0 18px 55px rgba(0,0,0,.24);
}

.dtv-news-no-results[hidden]{
    display:none !important;
}

.dtv-state-card__icon,
.dtv-empty-state::before,
.dtv-error-state::before,
.dtv-success-state::before,
.dtv-loading-state::before,
.dtv-news-empty::before,
.dtv-news-no-results::before,
.dtv-live-empty::before,
.dtv-search-page__empty::before,
.dtv-search-overlay__empty::before,
.dtv-video-modal__related-empty::before{
    content:"";
    width:52px;
    height:52px;
    border-radius:18px;
    display:block;
    background:
        radial-gradient(circle at 35% 35%,rgba(255,255,255,.20),transparent 42%),
        linear-gradient(135deg,rgba(227,6,19,.95),rgba(139,0,12,.95));
    box-shadow:0 14px 34px rgba(227,6,19,.24);
}

.dtv-state-card h3,
.dtv-empty-state h3,
.dtv-error-state h3,
.dtv-success-state h3,
.dtv-loading-state h3,
.dtv-state-card strong{
    margin:0;
    font-size:clamp(18px,2vw,23px);
    line-height:1.2;
    font-weight:800;
    letter-spacing:-.02em;
}

.dtv-state-card p,
.dtv-empty-state p,
.dtv-error-state p,
.dtv-success-state p,
.dtv-loading-state p,
.dtv-news-empty,
.dtv-news-no-results,
.dtv-live-empty,
.dtv-search-page__empty,
.dtv-search-overlay__empty,
.dtv-video-modal__related-empty{
    font-size:15px;
    line-height:1.6;
}

.dtv-state-card p,
.dtv-empty-state p,
.dtv-error-state p,
.dtv-success-state p,
.dtv-loading-state p,
.dtv-state-card small{
    margin:0;
    color:var(--dtv-state-muted);
    max-width:560px;
}

.dtv-error-state::before,
.dtv-search-error::before{
    background:linear-gradient(135deg,#E30613,#ff6b6b);
}

.dtv-success-state::before,
.dtv-contact-success::before,
.dtv-complaints-success::before{
    background:linear-gradient(135deg,#15c77f,#087a4f);
}

.dtv-state-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:6px;
}

.dtv-state-actions a,
.dtv-state-actions button,
.dtv-state-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 20px;
    border:0;
    border-radius:999px;
    background:linear-gradient(135deg,#E30613,#b90511);
    color:#fff!important;
    text-decoration:none!important;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    cursor:pointer;
    box-shadow:0 14px 34px rgba(227,6,19,.30);
    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}

.dtv-state-actions a:hover,
.dtv-state-actions button:hover,
.dtv-state-button:hover{
    transform:translateY(-1px);
    filter:brightness(1.05);
    box-shadow:0 18px 44px rgba(227,6,19,.38);
}

/* Skeletons */
.dtv-skeleton,
.dtv-skeleton-line,
.dtv-skeleton-card{
    position:relative;
    overflow:hidden;
    background:rgba(255,255,255,.075);
    border-radius:14px;
}

.dtv-skeleton::after,
.dtv-skeleton-line::after,
.dtv-skeleton-card::after{
    content:"";
    position:absolute;
    inset:0;
    transform:translateX(-100%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
    animation:dtv-skeleton-shimmer 1.35s ease-in-out infinite;
}

.dtv-skeleton-line{height:14px;max-width:100%;}
.dtv-skeleton-line.is-short{width:42%;}
.dtv-skeleton-line.is-medium{width:68%;}
.dtv-skeleton-line.is-long{width:88%;}

.dtv-skeleton-card{
    min-height:132px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
}

.dtv-skeleton-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    width:100%;
}

.dtv-search-loading,
.dtv-search-error{
    width:100%;
    padding:18px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.045);
    color:#fff;
}

.dtv-search-loading .dtv-skeleton-line + .dtv-skeleton-line{margin-top:10px;}

@keyframes dtv-skeleton-shimmer{100%{transform:translateX(100%);}}

/* Form resilience */
.dtv-is-loading,
button.dtv-is-loading,
input[type="submit"].dtv-is-loading{
    pointer-events:none;
    opacity:.82;
    position:relative;
}

button.dtv-is-loading::after,
input[type="submit"].dtv-is-loading::after,
.dtv-submit-loading::after{
    content:"";
    width:14px;
    height:14px;
    margin-left:10px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.42);
    border-top-color:#fff;
    display:inline-block;
    vertical-align:-2px;
    animation:dtv-spin .78s linear infinite;
}

@keyframes dtv-spin{to{transform:rotate(360deg);}}

.dtv-form-status{
    display:none;
    margin:14px 0 0;
    padding:14px 16px;
    border-radius:16px;
    font-size:14px;
    line-height:1.5;
}

.dtv-form-status.is-visible{display:block;}
.dtv-form-status.is-error{background:rgba(227,6,19,.12);border:1px solid rgba(227,6,19,.35);color:#fff;}
.dtv-form-status.is-success{background:rgba(21,199,127,.12);border:1px solid rgba(21,199,127,.35);color:#fff;}

.dtv-upload-progress{
    display:none;
    height:6px;
    overflow:hidden;
    margin-top:12px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
}

.dtv-upload-progress.is-active{display:block;}
.dtv-upload-progress span{
    display:block;
    height:100%;
    width:35%;
    border-radius:inherit;
    background:linear-gradient(90deg,#E30613,#ff5a66);
    animation:dtv-upload-indeterminate 1.1s ease-in-out infinite alternate;
}

@keyframes dtv-upload-indeterminate{from{transform:translateX(-25%);}to{transform:translateX(210%);}}

/* Toasts */
.dtv-toast-stack{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:999999;
    display:flex;
    flex-direction:column;
    gap:10px;
    width:min(360px,calc(100vw - 36px));
    pointer-events:none;
}

.dtv-toast{
    pointer-events:auto;
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(8,12,22,.94);
    color:#fff;
    box-shadow:0 18px 44px rgba(0,0,0,.36);
    backdrop-filter:blur(12px);
    animation:dtv-toast-in .22s ease both;
}

.dtv-toast.is-error{border-color:rgba(227,6,19,.35);}
.dtv-toast.is-success{border-color:rgba(21,199,127,.35);}
.dtv-toast__dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#E30613;flex:0 0 auto;}
.dtv-toast.is-success .dtv-toast__dot{background:#15c77f;}
.dtv-toast strong{display:block;margin:0 0 2px;font-size:13px;letter-spacing:.04em;}
.dtv-toast span{display:block;color:rgba(255,255,255,.72);font-size:13px;line-height:1.45;}

@keyframes dtv-toast-in{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}

@media (max-width:767px){
    /*
     * DTV-FE12B.3 Correction 04
     *
     * Mobile must follow its containing block instead of estimating the
     * viewport centre. The previous calc(50% - 50vw/50dvw) margins shifted
     * the complete canvas when the theme wrapper was not viewport-centred,
     * widening the document and exposing a white strip on the right.
     * Keep the canvas in normal flow; carousel rows retain their own swipe.
     */
    .dtv-homepage-canvas[data-dtv-homepage-canvas]{
        box-sizing:border-box !important;
        position:relative !important;
        left:auto !important;
        right:auto !important;
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        overflow:visible !important;
    }

    .dtv-homepage-canvas[data-dtv-homepage-canvas] > *{
        min-width:0;
        max-width:100%;
    }

    /*
     * DTV-FE12B.3 Correction 03
     *
     * Keep the Elementor/theme header and the footer-mounted menu overlay on
     * the visual viewport boundary. The closed modal remains display:none;
     * these rules also prevent its opening transform or panel box model from
     * contributing an extra horizontal layout extent during animation.
     */
    .dtv-global-shell,
    .dtv-global-shell > .elementor-container,
    .dtv-global-shell > .e-con-inner,
    .dtv-global-shell .elementor-section > .elementor-container{
        box-sizing:border-box !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .dtv-menu-modal{
        box-sizing:border-box !important;
        inset:0 !important;
        width:auto !important;
        max-width:none !important;
        contain:layout size !important;
    }

    .dtv-menu-modal__panel{
        box-sizing:border-box !important;
        left:12px !important;
        right:12px !important;
        width:auto !important;
        max-width:none !important;
        transform:translate3d(0,0,0) scale(.98) !important;
    }

    .dtv-menu-modal.is-open .dtv-menu-modal__panel{
        transform:translate3d(0,0,0) scale(1) !important;
    }

    /*
     * DTV-FE12B.3 Correction 01
     *
     * Desktop carousel controls intentionally sit 26px outside their shell.
     * The source rule uses !important, so the older responsive declaration
     * could not hide them and their visual box widened the mobile document.
     * Keep touch/swipe scrolling on the row, but remove only the off-canvas
     * controls at the mobile breakpoint. This fixes the source overflow
     * without masking future layout defects with overflow-x:hidden.
     */
    .dtv-carousel-section .dtv-carousel-shell > button.dtv-carousel-arrow{
        display:none !important;
    }

    .dtv-state-card,
    .dtv-empty-state,
    .dtv-error-state,
    .dtv-success-state,
    .dtv-loading-state,
    .dtv-news-empty,
    .dtv-news-no-results,
    .dtv-live-empty,
    .dtv-search-page__empty,
    .dtv-search-overlay__empty,
    .dtv-video-modal__related-empty{
        min-height:150px;
        padding:26px 18px;
        border-radius:20px;
    }
    .dtv-skeleton-grid{grid-template-columns:1fr;gap:14px;}
    .dtv-toast-stack{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100vw - 24px);}
}

@media (prefers-reduced-motion:reduce){
    .dtv-skeleton::after,
    .dtv-skeleton-line::after,
    .dtv-skeleton-card::after,
    button.dtv-is-loading::after,
    input[type="submit"].dtv-is-loading::after,
    .dtv-submit-loading::after,
    .dtv-upload-progress span,
    .dtv-toast{
        animation:none!important;
    }
}

/* DTV bundle source: assets/css/components/accessibility-sprint3.css */
.dtv-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dtv-a11y-error-summary {
    margin: 0 0 1.5rem;
    padding: 1rem 1.25rem;
    border: 2px solid currentColor;
    border-radius: .5rem;
    background: #fff4f4;
    color: #8a1010;
}

.dtv-a11y-error-summary h2 {
    margin: 0 0 .75rem;
    font-size: 1.125rem;
    color: inherit;
}

.dtv-a11y-error-summary ul {
    margin: 0;
    padding-inline-start: 1.25rem;
}

.dtv-a11y-error-summary a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .15em;
}

.dtv-a11y-error-summary:focus {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

@media (forced-colors: active) {
    .dtv-a11y-error-summary {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
    }
}

/* DTV bundle source: assets/css/components/accessibility-sprint5.css */
/* EPIC 04 — Accessibility Sprint 5 / final WCAG hardening */
.dtv-skip-link:focus {
    position: fixed !important;
    top: 12px;
    left: 12px;
    z-index: 2147483647;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 16px;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border-radius: 8px;
    background: #fff;
    color: #111;
    box-shadow: 0 0 0 3px #e30613, 0 8px 24px rgba(0, 0, 0, .28);
    font-weight: 800;
    text-decoration: none;
}

#dtv-main-content,
main,
[role="main"] {
    scroll-margin-top: 96px;
}

:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
    outline: 3px solid #e30613 !important;
    outline-offset: 3px !important;
}

/* WCAG 2.2 target-size floor for compact icon controls. */
:where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]).dtv-icon-button,
:where(.dtv-video-modal__close, .dtv-mini-player__close, .dtv-menu-modal__close, .dtv-search-overlay__close) {
    min-width: 24px;
    min-height: 24px;
}

[aria-busy="true"] {
    cursor: progress;
}

/*
 * Keep the Hero progress rails visually slim while giving every dot a
 * Lighthouse/WCAG target-size floor of 44px without changing the visible rail.
 */
.dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot,
.dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot.is-active {
    min-width: 24px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding-block: 20px !important;
    overflow: visible !important;
    background-clip: content-box !important;
}

.dtv-front-hero-slider .dtv-front-slider-dot::after {
    top: 20px !important;
    bottom: 20px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
}

/*
 * FE-07F.1 — Desktop Hero progress refinement.
 * Keep the 44px pointer target while presenting a cleaner 2px rail.
 */
@media (min-width: 769px) {
    .dtv-front-hero-slider .dtv-front-slider-dots {
        gap: 12px;
    }

    .dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding-block: 21px !important;
        border-radius: 1px !important;
    }

    .dtv-front-hero-slider .dtv-front-slider-dots > button.dtv-front-slider-dot.is-active {
        flex-basis: 60px !important;
        width: 60px !important;
        min-width: 60px !important;
        max-width: 60px !important;
        background: transparent !important;
    }

    .dtv-front-hero-slider .dtv-front-slider-dot::after {
        top: 21px !important;
        bottom: 21px !important;
        border-radius: 1px !important;
    }
}

/* Production theme navigation corrections from the Lighthouse audit. */
:where(header, .site-header, #site-header, .dtv-menu-modal__nav) nav a,
:where(header, .site-header, #site-header, .dtv-menu-modal__nav) .menu a {
    display: inline-flex;
    align-items: center;
    min-width: 24px;
    min-height: 24px;
}

:where(.site-header, #site-header) :where(.current-menu-item, .current_page_item) > a {
    color: #9ed8ff !important;
}

.dtv-live-strip__info h2,
.dtv-live-strip__epg h3 {
    font: inherit;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

@media (forced-colors: active) {
    .dtv-skip-link:focus,
    :where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
        outline: 3px solid Highlight !important;
        box-shadow: none !important;
        forced-color-adjust: auto;
    }
}

/* DTV bundle source: assets/css/components/runtime-responsive-correction.css */
/* ==========================================================
   DimosTV FE-06A.1 — Runtime Responsive Correction
   Late cascade contract for the rendered WordPress frontend.
========================================================== */

/* The theme must never turn a homepage rail back into a grid or wrapped row. */
html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    grid-auto-flow: unset !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-row > .dtv-video-card {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    min-inline-size: 0 !important;
    margin-block: 0 !important;
}

/* Continue Watching: reset generic VidoRev/Elementor button dimensions. */
html body .dtv-continue-watching .dtv-continue-card {
    position: relative !important;
    display: block !important;
    min-inline-size: 0 !important;
    min-block-size: 0 !important;
    overflow: visible !important;
}

html body .dtv-continue-watching .dtv-continue-card > button.dtv-continue-card__open {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    box-sizing: border-box !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: none !important;
    min-inline-size: 100% !important;
    block-size: auto !important;
    height: auto !important;
    min-block-size: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    font: inherit !important;
    line-height: normal !important;
    text-align: inherit !important;
    text-transform: none !important;
    overflow: hidden !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

html body .dtv-continue-watching .dtv-continue-card__open > .dtv-continue-card__media {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    inline-size: 100% !important;
    width: 100% !important;
    block-size: 100% !important;
    height: 100% !important;
    min-block-size: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
}

html body .dtv-continue-watching .dtv-continue-card > button.dtv-continue-card__remove {
    position: absolute !important;
    inset: 20px 20px auto auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    inline-size: 36px !important;
    width: 36px !important;
    min-inline-size: 36px !important;
    block-size: 36px !important;
    height: 36px !important;
    min-block-size: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    line-height: 1 !important;
    transform: none !important;
}

@media (min-width: 769px) and (max-width: 899px) {
    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-layout="short"] .dtv-carousel-row {
        gap: 20px !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-layout="short"] .dtv-video-card--short {
        flex-basis: calc((100% - 20px) / 2) !important;
        inline-size: calc((100% - 20px) / 2) !important;
        width: calc((100% - 20px) / 2) !important;
        max-inline-size: none !important;
        max-width: none !important;
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-layout="short"] .dtv-carousel-row {
        gap: 20px !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-layout="short"] .dtv-video-card--short {
        flex-basis: calc((100% - 40px) / 3) !important;
        inline-size: calc((100% - 40px) / 3) !important;
        width: calc((100% - 40px) / 3) !important;
        max-inline-size: none !important;
        max-width: none !important;
    }
}

@media (max-width: 768px) {
    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-shell {
        inline-size: 100% !important;
        width: 100% !important;
        padding: 0 0 8px !important;
        overflow: hidden !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-shell::before,
    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-shell::after,
    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-row::before,
    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-row::after {
        content: none !important;
        display: none !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-row {
        gap: 14px !important;
        inline-size: 100% !important;
        width: 100% !important;
        padding: 8px 18px 18px !important;
        border: 0 !important;
        box-shadow: none !important;
        scroll-padding-inline: 18px !important;
        scroll-snap-type: x mandatory !important;
        scrollbar-width: none !important;
        overscroll-behavior-inline: contain;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-row::-webkit-scrollbar {
        display: none !important;
        inline-size: 0 !important;
        block-size: 0 !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-layout="short"] .dtv-video-card--short,
    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-video-card--poster {
        flex-basis: min(82vw, 360px) !important;
        inline-size: min(82vw, 360px) !important;
        width: min(82vw, 360px) !important;
        max-inline-size: min(82vw, 360px) !important;
        max-width: min(82vw, 360px) !important;
        scroll-snap-align: start !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-layout="landscape"] .dtv-video-card--landscape {
        flex-basis: min(84vw, 520px) !important;
        inline-size: min(84vw, 520px) !important;
        width: min(84vw, 520px) !important;
        max-inline-size: min(84vw, 520px) !important;
        max-width: min(84vw, 520px) !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected] button.dtv-carousel-arrow,
    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-shell > button.dtv-carousel-arrow,
    html body .dtv-carousel-section[data-dtv-runtime-corrected] button.dtv-carousel-arrow[hidden] {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected] .dtv-carousel-progress {
        height: 3px !important;
        margin: 0 18px !important;
    }

    html body .dtv-continue-watching .dtv-continue-watching__row {
        display: flex !important;
        flex-flow: row nowrap !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 8px 18px 18px !important;
        scrollbar-width: none !important;
    }

    html body .dtv-continue-watching .dtv-continue-card {
        flex: 0 0 min(82vw, 380px) !important;
        inline-size: min(82vw, 380px) !important;
        width: min(82vw, 380px) !important;
        max-inline-size: min(82vw, 380px) !important;
        max-width: min(82vw, 380px) !important;
    }

    html body .dtv-continue-watching .dtv-continue-card > button.dtv-continue-card__remove {
        inset: 18px 18px auto auto !important;
        inline-size: 44px !important;
        width: 44px !important;
        min-inline-size: 44px !important;
        block-size: 44px !important;
        height: 44px !important;
        min-block-size: 44px !important;
    }

    html body .dtv-continue-watching .dtv-continue-card__percent {
        right: 66px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .dtv-carousel-row,
    html body .dtv-continue-watching__row {
        scroll-behavior: auto !important;
    }
}


/* F2.0-R02.3 Correction 03 — 768px tablet councils full-card override.
   The runtime mobile layer owns <=768px and was the actual winning cascade in
   staging. Scope starts at 600px so phone horizontal-card behavior is retained. */
@media (min-width: 600px) and (max-width: 768px) {
    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-key="municipal-councils"] .dtv-carousel-row {
        box-sizing: border-box !important;
    }

    html body .dtv-carousel-section[data-dtv-runtime-corrected][data-dtv-section-key="municipal-councils"] .dtv-video-card--landscape {
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        inline-size: 100% !important;
        width: 100% !important;
        max-inline-size: 100% !important;
        max-width: 100% !important;
        min-inline-size: 0 !important;
        box-sizing: border-box !important;
    }
}

/* DTV bundle source: assets/css/components/canonical-homepage-rails.css */
/* ==========================================================
   DimosTV F2.0-R02.3 — Canonical Homepage Rail Presentation
   Authoritative presentation layer for the six automatic R02 rails.
   Data/state contracts remain owned by R02.2 and carousel.js.
========================================================== */

:is(
    .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
    .dtv-carousel-section[data-dtv-section-key="news"],
    .dtv-carousel-section[data-dtv-section-key="politics"],
    .dtv-carousel-section[data-dtv-section-key="backstage"],
    .dtv-carousel-section[data-dtv-section-key="shows"],
    .dtv-carousel-section[data-dtv-section-key="highlights"]
) {
    --dtv-rail-gap: 24px;
    --dtv-rail-inline-pad: 8px;
}

:is(
    .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
    .dtv-carousel-section[data-dtv-section-key="news"],
    .dtv-carousel-section[data-dtv-section-key="politics"],
    .dtv-carousel-section[data-dtv-section-key="backstage"],
    .dtv-carousel-section[data-dtv-section-key="shows"],
    .dtv-carousel-section[data-dtv-section-key="highlights"]
) .dtv-carousel-shell {
    position: relative;
    width: 100%;
    min-width: 0;
}

:is(
    .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
    .dtv-carousel-section[data-dtv-section-key="news"],
    .dtv-carousel-section[data-dtv-section-key="politics"],
    .dtv-carousel-section[data-dtv-section-key="backstage"],
    .dtv-carousel-section[data-dtv-section-key="shows"],
    .dtv-carousel-section[data-dtv-section-key="highlights"]
) .dtv-carousel-row {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: var(--dtv-rail-gap) !important;
    padding: 10px var(--dtv-rail-inline-pad) 28px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--dtv-rail-inline-pad);
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
}

:is(
    .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
    .dtv-carousel-section[data-dtv-section-key="news"],
    .dtv-carousel-section[data-dtv-section-key="politics"],
    .dtv-carousel-section[data-dtv-section-key="backstage"],
    .dtv-carousel-section[data-dtv-section-key="shows"],
    .dtv-carousel-section[data-dtv-section-key="highlights"]
) .dtv-carousel-row::-webkit-scrollbar {
    display: none;
}

:is(
    .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
    .dtv-carousel-section[data-dtv-section-key="news"],
    .dtv-carousel-section[data-dtv-section-key="politics"],
    .dtv-carousel-section[data-dtv-section-key="backstage"],
    .dtv-carousel-section[data-dtv-section-key="shows"],
    .dtv-carousel-section[data-dtv-section-key="highlights"]
) .dtv-carousel-row > .dtv-video-card {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
    scroll-snap-align: start;
}

/* Wide desktop: four short cards or three landscape cards. */
@media (min-width: 1200px) {
    :is(
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-video-card--short {
        flex-basis: calc((100% - 72px) / 4) !important;
        width: calc((100% - 72px) / 4) !important;
        max-width: none !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="shows"]
    ) .dtv-video-card--landscape {
        flex-basis: calc((100% - 48px) / 3) !important;
        width: calc((100% - 48px) / 3) !important;
        max-width: none !important;
    }
}

/* Compact desktop: three short cards or two landscape cards. */
@media (min-width: 900px) and (max-width: 1199px) {
    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) {
        --dtv-rail-gap: 20px;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-video-card--short {
        flex-basis: calc((100% - 40px) / 3) !important;
        width: calc((100% - 40px) / 3) !important;
        max-width: none !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="shows"]
    ) .dtv-video-card--landscape {
        flex-basis: calc((100% - 20px) / 2) !important;
        width: calc((100% - 20px) / 2) !important;
        max-width: none !important;
    }
}

/* Tablet: explicit two-card short rhythm; landscape remains intentionally wider. */
@media (min-width: 769px) and (max-width: 899px) {
    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) {
        --dtv-rail-gap: 20px;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-video-card--short {
        flex-basis: calc((100% - 20px) / 2) !important;
        width: calc((100% - 20px) / 2) !important;
        max-width: none !important;
    }

    /* Councils: size against the rail viewport, not the browser viewport.
       Keep the first landscape card fully visible while preserving a
       deliberate continuation cue for the next item. */
    .dtv-carousel-section[data-dtv-section-key="municipal-councils"] .dtv-video-card--landscape {
        flex-basis: calc(100% - 44px) !important;
        width: calc(100% - 44px) !important;
        max-width: none !important;
    }

    /* Shows retain the established tablet landscape geometry. */
    .dtv-carousel-section[data-dtv-section-key="shows"] .dtv-video-card--landscape {
        flex-basis: min(72vw, 620px) !important;
        width: min(72vw, 620px) !important;
        max-width: none !important;
    }
}

/* Mobile: native swipe, one readable card with a visible next-card cue. */
@media (max-width: 768px) {
    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) {
        --dtv-rail-gap: 14px;
        --dtv-rail-inline-pad: 18px;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-carousel-shell {
        padding: 0 0 8px !important;
        overflow: hidden !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-carousel-shell::before,
    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-carousel-shell::after {
        content: none !important;
        display: none !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-carousel-row {
        padding: 8px 18px 18px !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-video-card--short {
        flex-basis: min(82vw, 360px) !important;
        width: min(82vw, 360px) !important;
        max-width: min(82vw, 360px) !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="shows"]
    ) .dtv-video-card--landscape {
        flex-basis: min(84vw, 520px) !important;
        width: min(84vw, 520px) !important;
        max-width: min(84vw, 520px) !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-carousel-arrow {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-carousel-progress {
        height: 3px !important;
        margin: 0 18px !important;
    }
}

/* Shows: retain the established single-item exception without implying more content. */
.dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-video-card--landscape {
    flex-basis: min(760px, 100%) !important;
    width: min(760px, 100%) !important;
    max-width: 760px !important;
}

.dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-carousel-arrow,
.dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-carousel-progress {
    display: none !important;
}

@media (max-width: 768px) {
    .dtv-carousel-section[data-dtv-section-key="shows"][data-dtv-item-count="1"] .dtv-video-card--landscape {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .dtv-carousel-section[data-dtv-section-key="municipal-councils"],
        .dtv-carousel-section[data-dtv-section-key="news"],
        .dtv-carousel-section[data-dtv-section-key="politics"],
        .dtv-carousel-section[data-dtv-section-key="backstage"],
        .dtv-carousel-section[data-dtv-section-key="shows"],
        .dtv-carousel-section[data-dtv-section-key="highlights"]
    ) .dtv-carousel-row {
        scroll-behavior: auto !important;
    }
}

/* F2.0-R02.3 Correction 02 — Tablet Municipal Councils full-card geometry.
   The rail itself owns the inline padding inside its declared 100% width;
   the councils card then fills that content box exactly. This removes the
   right-edge crop while keeping the existing card design and controls. */
@media (min-width: 769px) and (max-width: 899px) {
    .dtv-carousel-section[data-dtv-section-key="municipal-councils"] .dtv-carousel-row {
        box-sizing: border-box !important;
    }

    .dtv-carousel-section[data-dtv-section-key="municipal-councils"] .dtv-video-card--landscape {
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* F2.0-R02.3 Correction 04 — selector contract alignment.
   HomepageConfig emits data-dtv-section-key="municipal-councils".
   Previous R02.3 rules incorrectly targeted "councils" and therefore never
   matched the rendered Municipal Councils rail. */

/* DTV bundle source: assets/css/components/canonical-secondary-homepage-rails.css */
/* ==========================================================
   DimosTV F2.0-R02.4 — Canonical Secondary Homepage Rails
   Final presentation authority for Discover by Municipality
   and Popular Videos. Data/rendering contracts remain unchanged.
========================================================== */

.dtv-home-after-highlights {
    --dtv-secondary-gap: 28px;
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(420px, .95fr) !important;
    gap: var(--dtv-secondary-gap) !important;
    align-items: start !important;
    min-width: 0;
}

.dtv-home-discover-municipalities,
.dtv-home-popular-videos {
    min-width: 0;
}

.dtv-home-discover-municipalities {
    align-self: start !important;
}

.dtv-home-block-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-width: 0;
}

.dtv-home-block-head h2 {
    min-width: 0;
}

/* Desktop contract: ten selected municipalities as 5 + 5. */
.dtv-home-municipality-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(12px, 1.5vw, 20px) !important;
    overflow: visible !important;
    padding: 0 !important;
}

.dtv-home-municipality-chip {
    min-width: 0 !important;
    min-height: 132px !important;
    justify-content: flex-start !important;
}

.dtv-home-municipality-logo {
    width: clamp(68px, 6vw, 94px) !important;
    height: clamp(68px, 6vw, 94px) !important;
    flex: 0 0 auto;
}

.dtv-home-municipality-chip > strong {
    width: 100%;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere;
    line-height: 1.25 !important;
}

/* Popular keeps its five-item ranked vertical hierarchy. */
.dtv-home-popular-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
    min-width: 0;
}

.dtv-home-popular-item {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.dtv-home-popular-copy,
.dtv-home-popular-copy strong {
    min-width: 0;
}

/* Tablet: sections stack; municipality grid stays readable. */
@media (min-width: 821px) and (max-width: 1180px) {
    .dtv-home-after-highlights {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }

    .dtv-home-municipality-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 769px) and (max-width: 820px) {
    .dtv-home-after-highlights {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px !important;
    }

    .dtv-home-municipality-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }

    .dtv-home-municipality-logo {
        width: 82px !important;
        height: 82px !important;
    }
}

/* Mobile: native horizontal municipality rail; Popular remains vertical. */
@media (max-width: 768px) {
    .dtv-home-after-highlights {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    .dtv-home-discover-municipalities,
    .dtv-home-popular-videos {
        min-width: 0;
    }

    .dtv-home-block-head {
        align-items: flex-start !important;
        gap: 10px !important;
    }

    .dtv-home-block-head h2 {
        font-size: clamp(18px, 5vw, 22px) !important;
        line-height: 1.08 !important;
    }

    .dtv-home-block-head a {
        flex: 0 0 auto;
    }

    .dtv-home-municipality-grid {
        display: flex !important;
        flex-flow: row nowrap !important;
        gap: 12px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 4px 2px 12px !important;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 2px;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .dtv-home-municipality-grid::-webkit-scrollbar {
        display: none;
    }

    .dtv-home-municipality-chip {
        flex: 0 0 112px !important;
        width: 112px !important;
        min-width: 112px !important;
        min-height: 118px !important;
        scroll-snap-align: start;
    }

    .dtv-home-municipality-logo {
        width: 76px !important;
        height: 76px !important;
    }

    .dtv-home-municipality-chip > strong {
        font-size: 13px !important;
        line-height: 1.15 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }
}

@media (max-width: 560px) {
    .dtv-home-popular-item {
        grid-template-columns: 34px 72px minmax(0, 1fr) !important;
        gap: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dtv-home-municipality-logo,
    .dtv-home-popular-item {
        transition: none !important;
    }
}

