/* SİNEMA MERKEZİ (2026-10-12) — /sinema, /sinema/vizyon-takvimi, /sinema/gise, /film/*, /dizi-takvimi + Kültür-Sanat alt hub'ı (.sn2-*).
   Dil: kamu1 — kalın üst çizgi, ince ayraç, tipografi; hap/dolgu rozet yok. Afişler 300×429 (yerel). */
.sn2 { --sn2-vurgu: #b45309; }
.sn2-bas { margin: 8px 0 22px; max-width: 920px; }
.sn2-ust { display: block; margin-bottom: 8px; font-size: 11.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.sn2-ust a { color: inherit; text-decoration: none; }
.sn2-ad { margin: 0; font-family: var(--display); font-size: clamp(34px, 5vw, 58px); font-weight: 900; letter-spacing: -.03em; line-height: 1.02; text-wrap: balance; }
.sn2-giris { margin: 12px 0 0; font-size: clamp(16.5px, 1.6vw, 19px); line-height: 1.55; color: var(--ink-soft); max-width: 66ch; text-wrap: pretty; }
.sn2-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 34px 0 14px; padding-top: 12px; border-top: 3px solid var(--ink); font-family: var(--display); font-size: 20px; font-weight: 900; letter-spacing: -.015em; }
.sn2-h small { font-family: var(--sans); font-size: 12.5px; font-weight: 600; color: var(--ink-faint); letter-spacing: 0; }
.sn2-h a { font-family: var(--sans); font-size: 13.5px; font-weight: 800; color: var(--link); text-decoration: none; white-space: nowrap; }
.sn2-h a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sn2-h--alt { border-top-width: 2px; font-size: 17px; margin-top: 26px; }
.sn2-not { margin: 10px 0 0; font-size: 12.5px; color: var(--ink-faint); line-height: 1.5; }
.sn2-not a { color: inherit; }
.sn2-izgara { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 44px; align-items: start; }
.sn2-izgara > * { min-width: 0; }

/* afiş kartı */
.sn2-afisler { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 20px 16px; }
.sn2-afisler--ray { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(124px, 150px); overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; }
.sn2-afis { display: grid; align-content: start; gap: 6px; color: var(--ink); text-decoration: none; }
.sn2-afis-g { position: relative; display: grid; place-items: center; aspect-ratio: 300 / 429; overflow: hidden; border-radius: 3px; background: var(--bg-sunken); }
.sn2-afis-g img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.sn2-afis-g i { font-family: var(--display); font-style: normal; font-size: 44px; font-weight: 900; color: var(--ink-faint); }
a.sn2-afis:hover img { transform: scale(1.04); }
.sn2-afis-ad { font-size: 14px; font-weight: 800; line-height: 1.3; text-wrap: pretty; }
a.sn2-afis:hover .sn2-afis-ad { color: var(--accent); }
.sn2-afis-alt { font-size: 12px; color: var(--ink-faint); line-height: 1.35; }

/* gişe listesi */
.sn2-gise { margin: 0; padding: 0; list-style: none; counter-reset: none; }
.sn2-gise li { display: grid; grid-template-columns: 30px 44px minmax(0, 1fr); gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); }
.sn2-gise-no { font-family: var(--display); font-size: 22px; font-weight: 900; color: var(--ink-faint); text-align: right; font-variant-numeric: tabular-nums; }
.sn2-gise li.is-ust .sn2-gise-no { color: var(--accent); }
.sn2-gise-afis { width: 44px; height: 63px; overflow: hidden; border-radius: 2px; background: var(--bg-sunken); }
.sn2-gise-afis img { width: 100%; height: 100%; object-fit: cover; }
.sn2-gise-ic { display: grid; gap: 4px; min-width: 0; }
.sn2-gise-ad { font-size: 15.5px; font-weight: 800; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sn2-gise-ad a { color: var(--ink); text-decoration: none; }
.sn2-gise-ad a:hover { color: var(--accent); }
.sn2-gise-ad em { margin-left: 8px; font-style: normal; font-size: 10.5px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.sn2-gise-cubuk { height: 7px; background: var(--bg-sunken); }
.sn2-gise-cubuk i { display: block; height: 100%; background: var(--sn2-vurgu); }
.sn2-gise li.is-ust .sn2-gise-cubuk i { background: var(--accent); }
.sn2-gise-alt { font-size: 12.5px; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.sn2-gise-alt b { color: var(--ink); }
.sn2-gise-alt .is-art { color: #15803d; font-weight: 700; } .sn2-gise-alt .is-az { color: var(--accent); font-weight: 700; }

/* bu akşam TV'de */
.sn2-tv { margin: 0; padding: 0; list-style: none; }
.sn2-tv li { display: grid; grid-template-columns: 74px 46px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 9px 0 9px 10px; border-bottom: 1px solid var(--line); border-left: 3px solid var(--kn, var(--ink)); }
.sn2-tv-kanal { font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-soft); }
.sn2-tv-saat { font-family: var(--display); font-size: 16px; font-weight: 900; font-variant-numeric: tabular-nums; }
.sn2-tv-ad { min-width: 0; }
.sn2-tv-ad b { font-size: 15px; font-weight: 800; }
.sn2-tv-ad em { margin-left: 8px; font-style: normal; font-size: 10.5px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.sn2-tv-ad small { display: block; font-size: 12px; color: var(--ink-faint); margin-top: 1px; }
.sn2-tv li.is-canli { background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 60%); }
.sn2-tv--kisa li { padding-top: 7px; padding-bottom: 7px; }

/* vizyon takvimi grupları */
.sn2-takvim-grup { margin: 0 0 26px; }
.sn2-takvim-gun { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; padding-bottom: 6px; border-bottom: 1px solid var(--line); font-size: 15px; font-weight: 900; }
.sn2-takvim-gun small { font-size: 12.5px; font-weight: 600; color: var(--ink-faint); }
.sn2-takvim-gun.is-bu { color: var(--accent); }

/* tablolar */
.sn2-tablo-kap { overflow-x: auto; }
.sn2-tablo { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.sn2-tablo th, .sn2-tablo td { padding: 9px 8px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.sn2-tablo th { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); border-bottom: 2px solid var(--ink); }
.sn2-tablo th:nth-child(2), .sn2-tablo td:nth-child(2) { text-align: left; white-space: normal; min-width: 180px; }
.sn2-tablo td:first-child { color: var(--ink-faint); font-weight: 800; }
.sn2-tablo td a { color: var(--ink); font-weight: 800; text-decoration: none; }
.sn2-tablo td a:hover { color: var(--accent); }
.sn2-tablo td small { display: block; font-size: 11.5px; font-weight: 500; color: var(--ink-faint); }

/* yerli film trend grafiği */
.sn2-trend { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: end; gap: 8px; height: 190px; margin: 6px 0 0; padding: 0; list-style: none; border-bottom: 2px solid var(--ink); }
.sn2-trend li { display: grid; grid-template-rows: auto 1fr; justify-items: center; height: 100%; }
.sn2-trend b { align-self: end; font-size: 11px; font-weight: 800; color: var(--ink-soft); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sn2-trend i { align-self: end; display: block; width: 72%; min-height: 3px; background: var(--sn2-vurgu); }
.sn2-trend li.is-son i { background: repeating-linear-gradient(135deg, var(--sn2-vurgu) 0 6px, color-mix(in srgb, var(--sn2-vurgu) 55%, transparent) 6px 12px); }
.sn2-trend-yil { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; margin: 4px 0 0; padding: 0; list-style: none; font-size: 11.5px; color: var(--ink-faint); text-align: center; font-variant-numeric: tabular-nums; }

/* film sayfası */
.sn2-film { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 0 40px; align-items: start; }
.sn2-film-afis { border-radius: 3px; overflow: hidden; background: var(--bg-sunken); aspect-ratio: 300 / 429; box-shadow: 0 2px 6px rgba(0, 0, 0, .14), 0 18px 40px rgba(0, 0, 0, .16); }
.sn2-film-afis img { width: 100%; height: 100%; object-fit: cover; }
.sn2-film-ozet { margin: 0 0 18px; font-family: 'Source Serif 4', Georgia, serif; font-size: 19px; line-height: 1.65; color: var(--ink); max-width: 66ch; }
.sn2-kunye { margin: 0; }
.sn2-kunye > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.sn2-kunye dt { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); padding-top: 2px; }
.sn2-kunye dd { margin: 0; font-weight: 600; }
.sn2-sayilar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 22px 0 0; border-top: 3px solid var(--ink); border-bottom: 1px solid var(--line); }
.sn2-sayilar div { padding: 12px 14px 12px 0; border-left: 1px solid var(--line); padding-left: 14px; }
.sn2-sayilar div:first-child { border-left: 0; padding-left: 0; }
.sn2-sayilar b { display: block; font-family: var(--display); font-size: 26px; font-weight: 900; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sn2-sayilar small { font-size: 12px; color: var(--ink-faint); }
.sn2-geri { font-family: var(--display); font-size: 26px; font-weight: 900; color: var(--accent); }

/* dizi takvimi */
.sn2-hafta { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13.5px; }
.sn2-hafta th, .sn2-hafta td { padding: 9px 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.sn2-hafta thead th { font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); border-bottom: 2px solid var(--ink); }
.sn2-hafta thead th.is-bugun { color: var(--accent); }
.sn2-hafta tbody th { width: 92px; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; border-left: 3px solid var(--kn, var(--ink)); padding-left: 10px; }
.sn2-hafta td b { display: block; font-weight: 800; line-height: 1.3; }
.sn2-hafta td small { color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.sn2-hafta td.is-bugun { background: color-mix(in srgb, var(--accent) 5%, transparent); }
.sn2-hafta td.is-bos { color: var(--ink-faint); }
.sn2-gunler { display: none; }

.sn2-sss details { border-bottom: 1px solid var(--line); }
.sn2-sss summary { padding: 12px 0; font-weight: 800; cursor: pointer; list-style: none; }
.sn2-sss summary::-webkit-details-marker { display: none; }
.sn2-sss summary::after { content: '+'; float: right; color: var(--ink-faint); font-weight: 600; }
.sn2-sss details[open] summary::after { content: '−'; }
.sn2-sss p { margin: 0 0 14px; color: var(--ink-soft); line-height: 1.6; }

@media (max-width: 980px) { .sn2-izgara { grid-template-columns: minmax(0, 1fr); gap: 0; } }
@media (max-width: 760px) {
    .sn2-film { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .sn2-film-afis { max-width: 220px; }
    .sn2-sayilar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sn2-sayilar div:nth-child(3) { border-left: 0; padding-left: 0; }
    .sn2-sayilar div:nth-child(n+3) { border-top: 1px solid var(--line); }
    /* dizi takvimi: tablo yerine gün sekmeleri */
    .sn2-hafta-kap { display: none; }
    .sn2-gunler { display: block; }
    .sn2-gunler details { border-bottom: 1px solid var(--line); }
    .sn2-gunler summary { padding: 12px 0; font-weight: 900; cursor: pointer; }
    .sn2-gunler details[open] summary { color: var(--accent); }
}
@media (max-width: 520px) {
    .sn2-afisler { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
    .sn2-gise li { grid-template-columns: 24px 40px minmax(0, 1fr); gap: 10px; }
    .sn2-tv li { grid-template-columns: 64px 42px minmax(0, 1fr); gap: 8px; }
    .sn2-kunye > div { grid-template-columns: 104px minmax(0, 1fr); font-size: 14px; }
    .sn2-trend { height: 150px; gap: 4px; }
    .sn2-trend b { font-size: 9.5px; }
}
@media (prefers-reduced-motion: reduce) { .sn2-afis-g img { transition: none; } }

/* FİLM & DİZİ REHBERİ (2026-10-12) — /diziler, /dizi/*, /filmler, küratörlü /film/* (.rh-*). Afişsiz tipografik kartlar; çizgi + tipografi, dolgu kutu yok. */
.rh-orijinal { margin: 8px 0 0; font-size: 15px; font-style: italic; color: var(--ink-faint); }
.rh-film { max-width: 860px; }
.rh-h3 { margin: 22px 0 8px; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); }
.rh-h3 small { font-weight: 600; letter-spacing: 0; text-transform: none; }
.rh-kartlar { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 18px 22px; }
.rh-kartlar--dar { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.rh-kart { display: grid; align-content: start; gap: 3px; padding: 10px 0 4px; border-top: 2px solid var(--ink); color: var(--ink); text-decoration: none; min-width: 0; }
.rh-kart-ust { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.rh-kart-ad { font-family: var(--display); font-size: 19px; font-weight: 900; letter-spacing: -.015em; line-height: 1.15; text-wrap: balance; }
.rh-kart-alt { font-size: 13px; color: var(--ink-soft); line-height: 1.4; }
a.rh-kart:hover { border-top-color: var(--accent); }
a.rh-kart:hover .rh-kart-ad { color: var(--accent); }
a.rh-kart:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.rh-yayin-ana { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 3px solid var(--ink); border-bottom: 1px solid var(--line); }
.rh-yayin-ana div { padding: 12px 16px; border-left: 1px solid var(--line); min-width: 0; }
.rh-yayin-ana div:first-child { border-left: 0; padding-left: 0; }
.rh-yayin-ana small { display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-faint); }
.rh-yayin-ana b { display: block; font-family: var(--display); font-size: clamp(22px, 3vw, 32px); font-weight: 900; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.rh-sonraki { margin: 0; padding: 0; list-style: none; }
.rh-sonraki li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.rh-sonraki li span { font-weight: 800; font-variant-numeric: tabular-nums; }
.rh-sonraki li em { grid-column: 1 / -1; font-style: normal; font-size: 12px; font-weight: 800; color: var(--accent); }
.rh-sonraki li.is-canli time b { color: var(--accent); }

.rh-odul { margin: 0; padding: 0; list-style: none; }
.rh-odul li { padding: 8px 0 8px 18px; border-bottom: 1px solid var(--line); font-size: 14.5px; font-weight: 600; position: relative; }
.rh-odul li::before { content: '★'; position: absolute; left: 0; color: var(--sn2-vurgu); font-size: 12px; top: 10px; }
.rh-sayilar { margin-top: 0; }
.rh-film .rh-sayilar, .sn2-film .rh-sayilar { margin: 0 0 20px; }

.rh-zaman { position: relative; padding: 4px 0 22px; }
.rh-zaman-eksen { position: relative; height: 10px; border-bottom: 1px solid var(--ink-faint); }
.rh-zaman-bar { position: absolute; top: 0; height: 10px; background: var(--accent); }
.rh-zaman-bar.is-suruyor { background: repeating-linear-gradient(135deg, var(--accent) 0 6px, color-mix(in srgb, var(--accent) 55%, transparent) 6px 9px); }
.rh-zaman-yil { position: absolute; left: 0; right: 0; top: 18px; margin: 0; padding: 0; list-style: none; height: 14px; }
.rh-zaman-yil li { position: absolute; transform: translateX(-50%); font-size: 11px; color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.rh-zaman-yil li:first-child { transform: none; }

.rh-fragman { margin: 0 0 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rh-fragman summary { padding: 11px 0; font-weight: 800; cursor: pointer; color: var(--link); }
.rh-video { aspect-ratio: 16 / 9; background: #000; margin-bottom: 12px; }
.rh-video iframe { width: 100%; height: 100%; border: 0; display: block; }

.rh-gunler { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 18px 22px; }
.rh-gun h3 { margin: 0 0 4px; padding-top: 8px; border-top: 2px solid var(--ink); font-size: 13px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.rh-gun.is-bugun h3 { border-top-color: var(--accent); color: var(--accent); }
.rh-gun h3 small { font-size: 11px; letter-spacing: .04em; }
.rh-gun ol { margin: 0; padding: 0; list-style: none; }
.rh-gun li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 0 8px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.rh-gun li span { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--ink-faint); grid-row: span 2; }
.rh-gun li a, .rh-gun li b { font-weight: 800; color: var(--ink); text-decoration: none; line-height: 1.25; }
.rh-gun li a:hover { color: var(--accent); }
.rh-gun li small { font-size: 12px; color: var(--ink-faint); }

.rh-cizgi { margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--ink); }
.rh-cizgi li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0 14px; padding: 9px 0 9px 14px; border-bottom: 1px solid var(--line); position: relative; }
.rh-cizgi li::before { content: ''; position: absolute; left: -6px; top: 15px; width: 10px; height: 10px; background: var(--sn2-vurgu); }
.rh-cizgi-yil { font-family: var(--display); font-size: 20px; font-weight: 900; font-variant-numeric: tabular-nums; grid-row: span 2; }
.rh-cizgi a { font-weight: 900; font-size: 16px; color: var(--ink); text-decoration: none; }
.rh-cizgi a:hover { color: var(--accent); }
.rh-cizgi span { font-size: 13.5px; color: var(--ink-soft); }

.rh-bar { margin: 0; padding: 0; list-style: none; }
.rh-bar li { display: grid; grid-template-columns: minmax(0, 11em) minmax(0, 1fr) 3.4em; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.rh-bar li a, .rh-bar li span { font-weight: 800; color: var(--ink); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rh-bar li a:hover { color: var(--accent); }
.rh-bar i { display: block; height: 10px; background: var(--accent); min-width: 2px; }
.rh-bar b { text-align: right; font-variant-numeric: tabular-nums; }
.rh-bar--sayi li { grid-template-columns: minmax(0, 11em) minmax(0, 1fr) 4.2em; }

.rh-liste { margin: 0; padding: 0; list-style: none; columns: 3 240px; column-gap: 28px; counter-reset: rh; }
.rh-liste li { break-inside: avoid; border-bottom: 1px solid var(--line); counter-increment: rh; }
.rh-liste a { display: grid; grid-template-columns: 2em minmax(0, 1fr); padding: 7px 0; color: var(--ink); text-decoration: none; }
.rh-liste a::before { content: counter(rh); grid-row: span 2; font-weight: 800; color: var(--ink-faint); font-variant-numeric: tabular-nums; }
.rh-liste b { font-weight: 800; line-height: 1.3; }
.rh-liste small { font-size: 12px; color: var(--ink-faint); }
.rh-liste a:hover b { color: var(--accent); }

@media (max-width: 760px) {
    .rh-yayin-ana { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .rh-yayin-ana div:nth-child(3) { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid var(--line); }
    .rh-kartlar { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; }
    .rh-kart-ad { font-size: 17px; }
    .rh-bar li, .rh-bar--sayi li { grid-template-columns: minmax(0, 9em) minmax(0, 1fr) 3.6em; }
}
.rh-gecis { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 22px; margin: 16px 0 0; max-width: 920px; }
.rh-gecis a { display: grid; gap: 2px; padding: 9px 0; border-top: 2px solid var(--ink); font-weight: 900; font-size: 16px; color: var(--ink); text-decoration: none; }
.rh-gecis a::after { content: ' →'; display: none; }
.rh-gecis small { font-size: 12.5px; font-weight: 600; color: var(--ink-faint); }
.rh-gecis a:hover { border-top-color: var(--accent); color: var(--accent); }
.sn2-hub .rh-gecis { margin: 0 0 18px; max-width: none; }
.sn2-tv-ad b a, .sn2-hafta td b a { color: inherit; text-decoration: none; }
.sn2-tv-ad b a:hover, .sn2-hafta td b a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.sn2-h + .rh-yayin-ana, .sn2-h + .rh-sayilar { border-top: 1px solid var(--line); }
