/* ==========================================================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: Oswald, 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: Oswald, 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: Oswald, 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 auto 0 0;width: 0;border-radius: inherit;background: #CC0000;}

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

.dtv-front-slider-dot(.is-active)::after {animation: none;width: 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 { width: 0; }to { width: 100%; }}

.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: Oswald, 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 h4 {margin: 0;font-family: Oswald, 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 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;}