/*
Theme Name: SledujTV Magazín
Description: Magazínová šablona v duchu zpravodajských portálů – hero, rubriky, nejčtenější, TV program, fórum (bbPress).
Version: 2.3
Text Domain: sledujtv
*/
:root{--bg:#f2f3f5;--card:#fff;--text:#16161d;--muted:#6b6b78;--line:#e3e4e8;--accent:#7c3aed;--ink:#0d0d12;--r:10px}
[data-theme=dark]{--bg:#0a0a0e;--card:#13131a;--text:#f2f2f6;--muted:#9a9aa8;--line:#24242e;--ink:#000}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.topbar{background:var(--ink);color:#c9c9d3;font-size:12px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
.topbar a:hover{color:#fff}
.topbar .tb-left,.topbar .tb-right{display:flex;align-items:center;gap:16px}
.topbar .tb-menu{display:flex;gap:16px;list-style:none;margin:0;padding:0}
.topbar .tb-text{color:#fff}
.masthead{background:var(--card);border-bottom:1px solid var(--line)}
.masthead .wrap{display:flex;align-items:center;gap:24px;height:72px}
.brand{font-size:28px;font-weight:800;letter-spacing:-.5px}.brand b{color:var(--accent)}
.brand img{max-height:44px;width:auto}
.stv-search{flex:1;max-width:480px;margin-left:auto;display:flex}
.stv-search input{flex:1;border:1px solid var(--line);border-right:0;background:var(--bg);color:var(--text);padding:11px 14px;border-radius:var(--r) 0 0 var(--r);font-size:14px}
.stv-search button{border:0;background:var(--accent);color:#fff;padding:0 18px;border-radius:0 var(--r) var(--r) 0;font-weight:700;cursor:pointer}
.btn{display:inline-block;padding:9px 16px;border-radius:var(--r);border:1px solid var(--line);font-weight:600;font-size:13px;background:var(--card);color:var(--text);cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.catnav{background:var(--card);border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:30;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.catnav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;overflow-x:auto;white-space:nowrap}
.catnav a{display:block;padding:14px 16px;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.3px}
.catnav li{position:relative}
.catnav .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:200px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);list-style:none;margin:0;padding:6px 0;box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:40}
.catnav .sub-menu a{padding:10px 16px;text-transform:none;font-weight:600}
.catnav li:hover>.sub-menu,.catnav li:focus-within>.sub-menu{display:block}
body.nav-static .catnav{position:static}
.catnav a:hover,.catnav .current-menu-item a{color:var(--accent)}
main{padding:24px 0 56px}
/* HERO */
.hero{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.tile{position:relative;border-radius:var(--r);overflow:hidden;background:#222;min-height:200px;display:block}
.tile.big{min-height:440px}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tile:hover img{transform:scale(1.04)}
.tile .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.05) 65%);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:20px}
.tile h2,.tile h3{margin:6px 0 0;line-height:1.2}.tile.big h2{font-size:30px}.tile h3{font-size:19px}
.chip{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:4px;align-self:flex-start}
.meta{font-size:12px;color:var(--muted)}.tile .meta{color:#ddd}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.mini{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.mini .im{aspect-ratio:16/9;background:#222;overflow:hidden}.mini img{width:100%;height:100%;object-fit:cover}
.mini .tx{padding:12px 14px}.mini h3{margin:6px 0 4px;font-size:15px;line-height:1.3}
/* LAYOUT */
.layout{display:grid;grid-template-columns:1fr 340px;gap:28px;margin-top:32px;align-items:start}
.sec-h{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line);margin:0 0 16px}
.sec-h h2{margin:0;font-size:18px;text-transform:uppercase;letter-spacing:.4px;padding:0 0 8px;border-bottom:3px solid var(--accent);margin-bottom:-2px}
.sec-h a{font-size:13px;color:var(--accent);font-weight:600;padding-bottom:8px}
.layout.no-side{grid-template-columns:minmax(0,1fr)}
.layout>div{min-width:0}
.block{margin-bottom:34px}
.cat-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.lead .im{aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:#222}.lead img{width:100%;height:100%;object-fit:cover}
.lead h3{font-size:21px;line-height:1.25;margin:10px 0 6px}.lead p{margin:0;color:var(--muted)}
.row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.row:last-child{border:0}
.row .th{flex:0 0 112px;height:76px;border-radius:8px;overflow:hidden;background:#222}.row .th img{width:100%;height:100%;object-fit:cover}
.row h3{margin:0 0 4px;font-size:15px;line-height:1.3}.row:hover h3,.mini:hover h3,.lead:hover h3{color:var(--accent)}
.feed .row{background:var(--card);padding:14px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px}
.feed .row .th{flex-basis:200px;height:128px}.feed .row h3{font-size:18px}
.feed .row p{margin:0 0 6px;color:var(--muted);font-size:14px}
/* SIDEBAR */
.widget{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:22px}
.widget h2,.widget-title{margin:0 0 12px;font-size:16px;text-transform:uppercase;letter-spacing:.4px;display:flex;justify-content:space-between;align-items:baseline}
.widget-title a{font-size:12px;color:var(--accent);text-transform:none}
.epg{list-style:none;margin:0;padding:0}.epg li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.epg li:last-child{border:0}.epg time{color:var(--accent);font-weight:800;min-width:48px}.epg .ch{font-size:12px;color:var(--muted)}
.top{list-style:none;margin:0;padding:0;counter-reset:n}
.top li{counter-increment:n;display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.top li:last-child{border:0}.top li:before{content:counter(n);font-size:26px;font-weight:800;color:var(--accent);line-height:1;min-width:24px}
.top a{font-weight:600;line-height:1.3}.top a:hover{color:var(--accent)}
.disc{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.disc:last-child{border:0}
.disc b{display:block;font-size:14px;line-height:1.3}.disc:hover b{color:var(--accent)}
.ad{background:repeating-linear-gradient(45deg,var(--card),var(--card) 10px,var(--bg) 10px,var(--bg) 20px);border:1px dashed var(--line);border-radius:var(--r);min-height:250px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;margin-bottom:22px;text-align:center}
.ad.wide{min-height:90px;margin:0 0 28px}
.sticky-side{position:sticky;top:64px}
/* SINGLE */
.article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:32px}
.article h1{font-size:38px;line-height:1.15;margin:10px 0}
.article .perex{font-size:19px;color:var(--muted);margin:0 0 18px}
.article .featured{border-radius:var(--r);overflow:hidden;margin:18px 0}
.article .content{font-size:18px;line-height:1.75}.article .content a{color:var(--accent);text-decoration:underline}
.article .content h2,.article .content h3{margin-top:1.6em}
.pagination{display:flex;gap:8px;margin-top:20px;justify-content:center}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}
.site-footer{background:var(--ink);color:#a9a9b6;padding:32px 0;font-size:13px}
.site-footer a{color:#fff}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;padding-bottom:24px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}
.fwidget{margin-bottom:16px}.fwidget h2{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.4px;margin:0 0 10px}
.fwidget ul{list-style:none;margin:0;padding:0}.fwidget li{padding:4px 0}.fwidget a:hover,.foot-menu a:hover{color:var(--accent)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
input,textarea{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px;width:100%}
@media(min-width:1001px){.catnav ul{overflow:visible;flex-wrap:wrap}}
@media(max-width:1000px){.catnav .sub-menu{display:none!important}.layout{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero-side{grid-template-rows:none;grid-template-columns:1fr 1fr}.strip{grid-template-columns:1fr 1fr}.sticky-side{position:static}}
@media(max-width:640px){.masthead .wrap{height:auto;flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:10px}.stv-search{flex-basis:100%;max-width:none}.tile.big{min-height:300px}.tile.big h2{font-size:22px}.hero-side,.cat-grid,.strip{grid-template-columns:1fr}.feed .row .th{flex-basis:110px;height:80px}.feed .row p{display:none}.article{padding:20px}.article h1{font-size:28px}}
