/* 2026-10-31 BU AKŞAM TV'DE 2.0 (.tv-*) — çizgi + tipografi; kanal rengi sol çizgi; canlıda kırmızı nokta + ince ilerleme çizgisi; EPG'de blok = üstte kanal rengi çizgi (dolgu/pill yok) */
.tv-liste { margin: 0; padding: 0; list-style: none; }
.tv-satir { position: relative; display: grid; grid-template-columns: 78px 56px minmax(0, 1fr) auto; gap: 2px 12px; align-items: baseline; padding: 11px 0 12px 13px; border-bottom: 1px solid var(--line); box-shadow: inset 3px 0 0 var(--kn, var(--ink)); }
.tv-satir[hidden] { display: none; }
.tv-kanal { font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-soft); white-space: nowrap; }
.tv-saat { font-family: var(--display, inherit); font-size: 18px; font-weight: 900; letter-spacing: -.01em; font-variant-numeric: tabular-nums; color: var(--ink); }
.tv-ad { min-width: 0; }
.tv-ad b { display: block; font-size: 16px; font-weight: 800; line-height: 1.25; }
.tv-ad a { color: inherit; text-decoration: none; } .tv-ad a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.tv-alt, .tv-sonra { display: block; margin-top: 2px; font-size: 12.5px; color: var(--ink-faint); }
.tv-sonra { margin-top: 1px; } .tv-sonra:empty { display: none; }
.tv-durum { font-size: 10.5px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); white-space: nowrap; }
.tv-satir.is-canli .tv-saat, .tv-satir.is-canli .tv-durum { color: var(--accent); }
.tv-nokta { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--accent); vertical-align: 1px; animation: tv-nabiz 1.7s ease-in-out infinite; }
@keyframes tv-nabiz { 50% { opacity: .3; } }
.tv-ilerleme { position: absolute; left: 13px; right: 0; bottom: -1px; height: 2px; }
.tv-ilerleme::after { content: ""; display: block; width: var(--p, 0%); height: 100%; background: var(--accent); }
.tv-satir:not(.is-canli) .tv-ilerleme { display: none; }
.tv-liste--kisa .tv-satir { padding-top: 8px; padding-bottom: 9px; }
.tv-liste--kisa .tv-saat { font-size: 16px; }
.tv-liste--kisa .tv-ad b { font-size: 15px; }
.tv-liste--film .tv-satir { grid-template-columns: 78px 56px minmax(0, 1fr); }
@media (max-width: 560px) { .tv-satir { grid-template-columns: 58px 46px minmax(0, 1fr) auto; gap: 2px 9px; padding-left: 11px; } .tv-ilerleme { left: 11px; } .tv-saat { font-size: 16px; } .tv-ad b { font-size: 15px; } }

/* tür filtresi */
.tv-filtre { display: flex; flex-wrap: wrap; gap: 0 22px; margin: 0 0 8px; border-bottom: 1px solid var(--line); }
.tv-filtre button { padding: 9px 0 8px; border: 0; border-bottom: 3px solid transparent; background: none; font: inherit; font-size: 14.5px; font-weight: 700; color: var(--ink-soft); cursor: pointer; touch-action: manipulation; }
.tv-filtre button[aria-pressed="true"] { border-bottom-color: var(--ink); color: var(--ink); font-weight: 900; }
.tv-filtre button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* akşam zaman çizelgesi */
.tv-epg-kap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 1px solid var(--line); }
.tv-epg-kap:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tv-epg-ic { position: relative; min-width: 940px; }
.tv-epg-eksen { position: relative; height: 28px; margin-left: 96px; border-bottom: 2px solid var(--ink); }
.tv-epg-eksen span { position: absolute; bottom: 5px; left: var(--x); transform: translateX(-50%); font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink-faint); }
.tv-epg-eksen span:first-child { transform: none; } .tv-epg-eksen span:last-child { transform: translateX(-100%); }
.tv-epg-satir { display: grid; grid-template-columns: 96px minmax(0, 1fr); min-height: 62px; border-bottom: 1px solid var(--line); }
.tv-epg-kanal { position: sticky; left: 0; z-index: 3; padding: 11px 8px 0 13px; background: var(--bg); box-shadow: inset 3px 0 0 var(--kn, var(--ink)); font-size: 11.5px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-soft); }
.tv-epg-seri { position: relative; min-height: 62px; background-image: linear-gradient(to right, var(--line) 1px, transparent 1px); background-size: calc(100% / 6) 100%; }
.tv-blok { position: absolute; top: 6px; bottom: 6px; left: var(--sol); width: var(--gen); box-sizing: border-box; padding: 8px 8px 4px 9px; border: 0; border-left: 1px solid var(--line); background: var(--bg); box-shadow: inset 0 3px 0 var(--kn, var(--ink)); text-align: left; font: inherit; color: var(--ink); cursor: pointer; overflow: hidden; touch-action: manipulation; }
.tv-blok b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13.5px; font-weight: 800; line-height: 1.25; }
.tv-blok small { display: block; margin-top: 2px; font-size: 11.5px; font-variant-numeric: tabular-nums; color: var(--ink-faint); }
.tv-blok[data-dar] b, .tv-blok[data-dar] small { display: none; }
.tv-blok.is-haber { box-shadow: inset 0 3px 0 var(--ink-faint); } .tv-blok.is-haber b { font-weight: 700; color: var(--ink-soft); }
.tv-blok:hover, .tv-blok.is-secili { background: color-mix(in srgb, var(--ink) 5%, var(--bg)); }   /* kanal rengiyle tonlama pembe üretiyordu → nötr */
.tv-blok.is-canli small::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--accent); vertical-align: 1px; }
.tv-blok.is-soluk { opacity: .2; }
.tv-blok:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; z-index: 2; }
.tv-epg-bos { position: absolute; top: 6px; bottom: 6px; left: var(--sol); right: 0; display: flex; align-items: center; padding-left: 12px; border-left: 1px dashed var(--line); font-size: 12.5px; color: var(--ink-faint); }
.tv-simdi { position: absolute; top: 0; bottom: 0; left: calc(96px + (100% - 96px) * var(--x, 0)); z-index: 4; width: 2px; background: var(--accent); pointer-events: none; }
.tv-simdi[hidden] { display: none; }
.tv-simdi b { position: absolute; top: 3px; left: 5px; font-size: 10.5px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); white-space: nowrap; }
.tv-detay { display: grid; gap: 4px; padding: 14px 13px; border-bottom: 1px solid var(--line); }
.tv-detay[hidden] { display: none; }
.tv-detay h3 { margin: 0; font-family: var(--display, inherit); font-size: 20px; font-weight: 900; letter-spacing: -.01em; }
.tv-detay p { margin: 0; font-size: 14px; color: var(--ink-soft); }
.tv-detay-link { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 6px; }
.tv-detay a { font-size: 13.5px; font-weight: 800; color: var(--link, var(--accent)); text-decoration: none; } .tv-detay a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .tv-nokta { animation: none; } }
