/* ── RESET & VARS ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  color-scheme:light;
  --brand:#e20613;--brand-d:#b30510;
  /* Značka jako TEXT (odkazy se šipkou, štítky u sekcí).
     Na světlém pozadí o chlup tmavší než plocha značky — kvůli kontrastu
     i na šedém podkladu. Na tmavém naopak čistá značková červená: zkoušelo
     se ji zesvětlovat, ale vycházela z toho růžová (Matěj 9. 8. 2026).
     Odvozuje se z --brand, takže to platí i pro weby s jinou barvou. */
  --brand-a:color-mix(in srgb,var(--brand) 88%,#000);
  --ink:#111418;--ink2:#2a2f36;--muted:#525866;
  --line:#e5e7eb;--line2:#d1d5db;
  --bg:#fafafa;--bg2:#f4f4f5;--bg3:#ebebed;
  /* Plocha = karta, panel, pole formuláře — to, co „leží" na pozadí webu. */
  --surf:#fff;--surf2:#f9fafb;
  --hover:rgba(0,0,0,.05);
  --brand-bg:color-mix(in srgb,var(--brand) 8%,#fff);
  --ok-bg:#f0fdf4;--ok-ink:#166534;--ok-line:#bfe6cb;
  --err-bg:#fef2f2;--err-ink:#b91c1c;--err-line:#f5c6c2;
  --warn-bg:#fef9c3;--warn-ink:#854d0e;
  --r:6px;--maxw:1050px;--ts:1;--lh:1.7;
  --fh:'Roboto',Helvetica,sans-serif;
  --fu:'Montserrat',sans-serif;
}

/* ── TMAVÝ REŽIM ──
   Tři stavy: podle zařízení (výchozí), natvrdo světlý, natvrdo tmavý.
   Volba se drží v prohlížeči (localStorage) a atribut `data-tema` nasazuje
   drobný skript v hlavičce JEŠTĚ PŘED vykreslením — jinak by při každém načtení
   problikla světlá stránka. Stránka odesílaná ze serveru je pro všechny stejná,
   takže se tím nedrolí mikrocache.

   ⚠️ Následující dva bloky musí zůstat ZNAKOVĚ SHODNÉ (hlídá test 09-tmavy-rezim).
   CSS neumí jednu sadu hodnot použít pro média i atribut zároveň. */

/* podle zařízení — pokud si čtenář výslovně nevybral světlý */
@media (prefers-color-scheme:dark){
  html:not([data-tema=svetle]){
    color-scheme:dark;
    --ink:#e8eaee;--ink2:#c6ccd4;--muted:#98a1ad;
    --line:#2b3038;--line2:#3b424c;
    --bg:#0f1216;--bg2:#161a20;--bg3:#1f242b;
    --surf:#171b21;--surf2:#1e232a;--hover:rgba(255,255,255,.07);--brand-a:var(--brand);--brand-bg:color-mix(in srgb,var(--brand) 22%,#171b21);
    --ok-bg:#10241a;--ok-ink:#86efac;--ok-line:#1f5136;
    --err-bg:#2a1416;--err-ink:#fca5a5;--err-line:#5c2226;
    --warn-bg:#2c2410;--warn-ink:#fcd34d;
  }
}
/* natvrdo tmavý — bez ohledu na zařízení */
html[data-tema=tmave]{
  color-scheme:dark;
  --ink:#e8eaee;--ink2:#c6ccd4;--muted:#98a1ad;
  --line:#2b3038;--line2:#3b424c;
  --bg:#0f1216;--bg2:#161a20;--bg3:#1f242b;
  --surf:#171b21;--surf2:#1e232a;--hover:rgba(255,255,255,.07);--brand-a:var(--brand);--brand-bg:color-mix(in srgb,var(--brand) 22%,#171b21);
  --ok-bg:#10241a;--ok-ink:#86efac;--ok-line:#1f5136;
  --err-bg:#2a1416;--err-ink:#fca5a5;--err-line:#5c2226;
  --warn-bg:#2c2410;--warn-ink:#fcd34d;
}
html{scroll-behavior:smooth}
body{font-family:var(--fh);font-size:15px;line-height:1.45;color:var(--ink);background-color:var(--bg)}
/* Simulace desktop brandingu (skin 2000×1400) – boční křídla mimo obsahový sloupec; fixed = jde s webem, obsah jede přes něj */
body.brand-on{
  background-image:linear-gradient(90deg,
    #15233f 0,
    #1d2d4e calc(50% - 560px),
    #2a3e68 calc(50% - 522px),
    transparent calc(50% - 520px),
    transparent calc(50% + 520px),
    #2a3e68 calc(50% + 522px),
    #1d2d4e calc(50% + 560px),
    #15233f 100%);
  background-repeat:no-repeat;background-size:100% 100%;background-position:center;background-attachment:fixed}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* ── LAYOUT ── */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 10px}

/* ── BETA BAR ── */
.beta{background:#111;color:#fff;font:600 11px/1 var(--fu);text-align:center;padding:7px;letter-spacing:.08em;text-transform:uppercase}
.beta span{color:#f59e0b}

/* ── HEADER ── */
.hdr{background:var(--brand);color:#fff;height:52px;display:flex;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.hdr .wrap{width:100%;display:flex;align-items:center;gap:16px}
.logo img{height:22px;width:auto;display:block}
.hsearch{flex:1;max-width:360px;position:relative;display:flex;align-items:center}
/* Hledání zůstává bílé i v tmavém režimu. Leží ve značkovém červeném pruhu,
   kde je všechno ostatní bílé — tmavé pole by tam bylo jediné černé místo. */
.hsearch input{width:100%;height:34px;border:none;border-radius:6px;background:#fff;color:#111418;padding:0 42px 0 12px;font-size:13px;font-family:var(--fu);outline:none;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.hsearch input::placeholder{color:#9aa0aa}
.hsearch input:focus{box-shadow:0 0 0 3px rgba(255,255,255,.55)}
.hsearch button{position:absolute;right:0;width:34px;height:34px;background:none;border:none;color:var(--brand);display:flex;align-items:center;justify-content:center;cursor:pointer}
.hsearch button svg{width:17px;height:17px}   /* dotyková plocha 34px, ikona malá */
.hright{display:flex;align-items:center;gap:12px;font:600 12.5px/1 var(--fu);margin-left:auto}
.hright .pipe{opacity:.4}
.hpill{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3);padding:4px 9px;border-radius:4px;font-size:11.5px;font-weight:700;white-space:nowrap}
.hpill:hover{background:rgba(255,255,255,.22)}
.hic{display:inline-flex;align-items:center}
.hic svg{width:16px;height:16px;fill:currentColor}
/* volba vzhledu na stránce účtu (tři stavy pod sebou) */
.ac-tema{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.ac-tema label{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px 14px;cursor:pointer;background:var(--surf)}
.ac-tema label:hover{border-color:var(--line2)}
.ac-tema input{margin-top:2px;accent-color:var(--brand);flex:none}
.ac-tema span{display:flex;flex-direction:column;gap:2px}
.ac-tema strong{font:700 14px/1.2 var(--fu);color:var(--ink)}
.ac-tema em{font:400 12.5px/1.35 var(--fu);color:var(--muted);font-style:normal}
.ac-tema label:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}

/* přepínač vzhledu — mimo .hright, aby zůstal vidět i na mobilu */
.htema{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:10px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;cursor:pointer;flex:none}
.htema:hover{background:rgba(255,255,255,.26)}
.js-tema svg{display:none}
/* „podle zařízení" = atribut na <html> vůbec není */
html:not([data-tema]) .js-tema .t-auto,html[data-tema=svetle] .js-tema .t-svetle,html[data-tema=tmave] .js-tema .t-tmave{display:block}
.burger{display:none;background:none;border:none;color:#fff;padding:6px;cursor:pointer;flex-direction:column;gap:4px}
.burger span{display:block;width:20px;height:2px;background:currentColor;border-radius:1px}

/* ── SUBBAR ── */
.sub{background:var(--surf);border-bottom:1px solid var(--line);height:44px;display:flex;align-items:center;position:sticky;top:52px;z-index:99;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.sub .wrap{display:flex;align-items:center;width:100%;gap:0}
.sub-left{flex:none;display:flex;align-items:center;gap:6px;min-width:170px}
.sub-left .sdate{color:var(--muted);font:600 11.5px/1 var(--fu)}
.sub-left .ssep{color:var(--line2)}
.sub-left .sname{color:var(--muted);font-size:12px}
.subnav{flex:1;display:flex;justify-content:center;gap:18px;font:600 11.5px/1 var(--fu);letter-spacing:.04em;text-transform:uppercase}
.subnav a:hover,.subnav a.active{color:var(--brand)}
.sub-right{flex:none;min-width:120px;display:flex;align-items:center;justify-content:flex-end;gap:5px;font:600 12px/1 var(--fu);color:var(--muted)}
.sub-right b{color:var(--ink);font-weight:700}
.mobnav{display:none;position:fixed;top:52px;left:0;right:0;background:var(--brand);border-top:1px solid rgba(0,0,0,.18);color:#fff;z-index:98;flex-direction:column;padding:10px 0 16px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.mobnav.open{display:flex}
.mobnav a{padding:11px 20px;font:700 13px/1 var(--fu);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.08)}
.mobnav{max-height:calc(100vh - 60px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.mn-row{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.08)}
.mn-row>a{flex:1;border-bottom:none}
.mn-x{background:none;border:none;color:rgba(255,255,255,.85);font-size:17px;padding:0 20px;cursor:pointer;transition:transform .15s}
.mn-x.open{transform:rotate(180deg)}
.mn-sub{display:none;background:rgba(0,0,0,.18)}
.mn-sub.open{display:block}
.mn-sub a{display:block;padding:10px 20px 10px 32px;font-weight:600;text-transform:none;letter-spacing:0;font-size:13.5px}
.mn-weather{display:flex;align-items:center;gap:10px;padding:13px 20px;background:rgba(0,0,0,.14);border-bottom:none !important;text-transform:none !important;letter-spacing:0 !important}
/* přepínač vzhledu v mobilním menu — stejný tvar jako řádek s počasím */
.mn-tema{display:flex;align-items:center;gap:10px;width:100%;padding:13px 20px;background:rgba(0,0,0,.14);border:none;color:#fff;cursor:pointer;text-align:left;font:inherit}
.mn-tema b{font:700 13px/1 var(--fu);letter-spacing:.04em;text-transform:uppercase}
.mn-tema .mn-tema-stav{margin-left:auto;font-weight:600;font-size:12.5px;opacity:.85}
.mn-weather b{font-size:15px}
.mn-weather span{font-weight:600;font-size:12.5px;opacity:.85}
.huser{display:none;color:#fff;padding:6px;align-items:center}

/* ── AD ── */
.promo-label{font:600 10px/1 monospace;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;text-align:center;padding:4px 0 3px}
.promo-slot{background:var(--bg2);border:1px dashed var(--line2);border-radius:var(--r);display:flex !important;align-items:center;justify-content:center;font:500 10.5px/1 monospace;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.promo-prem{display:block;text-align:center;font:600 10.5px/1 var(--fu);color:var(--brand);margin-top:3px}
.promo-prem:hover{text-decoration:underline}

/* ── THUMB ── */
.tw{position:relative;border-radius:var(--r);overflow:hidden;background:linear-gradient(100deg,var(--bg3) 40%,#f7f7f9 50%,var(--bg3) 60%);background-size:200% 100%;animation:twload 1.4s linear infinite}
@keyframes twload{from{background-position:130% 0}to{background-position:-70% 0}}
@media (prefers-reduced-motion:reduce){.tw{animation:none;background:var(--bg3)}}
.tw img{width:100%;height:100%;object-fit:cover;display:block}
/* placeholder bez fota: SVG s logem „D" (assets/drbna-default.svg, 16:10) */
.ph{position:absolute;inset:0;background:var(--bg2) url(drbna-default.svg) center/cover no-repeat}
.ph span{display:none}
.rl-ph{background-image:url(drbna-default.svg);background-size:cover;background-position:center}
.ph.dk{background:linear-gradient(135deg,#2a2f3a,#1a1f28)}
.ph.dk span{color:rgba(255,255,255,.3)}
/* štítky u článků: bílé s červeným textem (rozhodnutí z typografického ladění) */
.badge{position:absolute;left:10px;top:10px;background:#fff;color:var(--brand);font:700 10.5px/1 var(--fu);letter-spacing:.04em;padding:4px 8px;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.22)}

/* ── CARD ── */
.card{display:block;padding:8px;margin:-8px;border-radius:8px;transition:background .12s}
.card:hover{background:var(--hover)}
.card .tw{aspect-ratio:16/10;margin-bottom:10px}
.card h3{font-size:15px;line-height:1.28;font-weight:700;margin-bottom:6px;color:var(--ink)}
.card h3:hover{color:var(--brand)}
.card .meta{font-size:12px;color:var(--muted);font-family:var(--fu)}

/* ── BTN ── */
.btn{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 var(--fu);color:var(--brand);padding:9px 16px;border:1.5px solid var(--brand);border-radius:var(--r);background:transparent;transition:background .15s,color .15s;white-space:nowrap;cursor:pointer}
.btn:hover{background:var(--brand);color:#fff !important}
/* Plná varianta pro hlavní akci (potvrdit odhlášení a pod.). Bez ní se
   samotné `style="background:brand"` potkalo s červeným textem z .btn
   a nápis byl červený na červeném — vidět až při najetí myší. */
.btn.plna,button.btn.plna{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.plna:hover,button.btn.plna:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff !important}
a.btn{color:var(--brand) !important}
a.btn:hover{color:#fff !important}

/* ── GRIDS ── */
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.g3-hp>.card:nth-child(6){display:none}    /* 6. článek jen pro mobil */
.g3-noad>.card:nth-child(6){display:block}  /* premium bez rectangle: 6. karta i na desktopu */
.half-art{min-width:0;display:flex;flex-direction:column;gap:16px}
.half-art .shero{margin:0}
/* HP kalendář: desktop 4 akce ve 4 sloupcích (jako zbytek HP — Matěj 18. 7.);
   pásmo 641–960 = 3 sloupce a 4. akce skrytá, mobil 2×2 všechny */
.evg3.evg-hp{grid-template-columns:repeat(4,minmax(0,1fr))}   /* .evg3.evg-hp: .evg3 base je v souboru NÍŽ a přebíjel by 0-1-0 selektor */

/* ── SECTION HEAD ── */
.bh{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:3px solid var(--brand)}
.bh h2{font-size:20px;font-weight:900;font-family:var(--fh);letter-spacing:-.01em}
.bh-cta{font:700 12px/1 var(--fu);color:var(--brand-a);white-space:nowrap}   /* značková červená jako text — viz --brand-a */
.bh-cta:hover{text-decoration:underline}

/* ── HERO ── */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:18px;align-items:stretch}
.hero-img{display:block}
.hero-img .tw{aspect-ratio:16/10}
.hero .right{display:flex;flex-direction:column;gap:12px}
.hero h1,.hero .hero-h{font-size:22px;line-height:1.2;font-weight:900;color:var(--ink);margin:0}
.hero h1:hover,.hero .hero-h:hover{color:var(--brand)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hero p{font-size:14.5px;line-height:1.55;color:var(--ink2)}
.hero .spacer{flex:1}
.hero .brow{display:flex;justify-content:flex-end}
.byline{display:flex;align-items:center;gap:7px;font:600 12px/1.4 var(--fu);color:var(--muted);flex-wrap:wrap}
.byline>span{white-space:nowrap}   /* zalamovat mezi celky (jméno / minuty), ne uvnitř */
.dot{width:3px;height:3px;border-radius:50%;background:var(--muted);flex:none}

/* ── SHERO (section hero) ── */
.shero{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin:-8px -8px 16px;padding:8px;border-radius:8px;align-items:start;transition:background .12s}
.shero:hover{background:var(--hover)}
.shero .tw{aspect-ratio:16/10}
.shero .right{display:flex;flex-direction:column;gap:10px}
.shero h3{font-size:16px;line-height:1.22;font-weight:900;color:var(--ink)}
.shero h3:hover{color:var(--brand)}
.shero p{font-size:14px;color:var(--ink2);line-height:1.55}

/* ── CHIPS / TABS ── */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.chip{background:none;border:1px solid var(--line2);border-radius:20px;font:600 11.5px/1 var(--fu);padding:8px 14px;color:var(--muted);cursor:pointer;transition:all .12s;text-transform:none;letter-spacing:0}
.chip:hover,.chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.evrange{display:flex;gap:4px;margin-left:auto}
/* filtr kalendáře akcí (od–do, hledání) — sladěno s chips/inputy webu */
.ev-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch;margin:10px 0 18px}
.ev-filter input{border:1px solid var(--line2);border-radius:9px;padding:9px 12px;background:var(--surf);color:var(--ink);font:500 14px/1.2 var(--fu);min-width:0}
.ev-filter input::placeholder{color:var(--muted)}
.ev-filter input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #fdf2f1}
.ev-filter input[type=search]{flex:1;min-width:170px}
/* datumové filtry: popisek Od/Do v rámečku (prázdný date input na iOS nic nenapoví) */
.ev-filter .evf{display:flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:9px;padding:0 12px;background:var(--surf);font:700 13px/1 var(--fu);color:var(--muted)}
.ev-filter .evf input{border:none;padding:9px 0;background:none}
.ev-filter .evf input:focus{box-shadow:none}
.ev-filter .evf:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #fdf2f1}
.evrange .chip{border-radius:4px}
.evrange .chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* ── EDITORS ── */
.editors{background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:28px}

/* A/B test podbarvení „Výběru šéfredaktora" (exp_key vyber_podbarveni).
   Variantu nastavuje skript v <head> atributem na <html>, ještě před vykreslením —
   nic tedy neposkočí a stránka zůstává uložitelná v mikrocache. Mění se JEN
   podbarvení a barvy textu na něm; rozestupy, písmo a rozložení zůstávají stejné,
   jinak by se nedalo poznat, co rozdíl způsobilo.
   Bílá na #e20613 má kontrast 4,9:1; drobný metatext proto jen 92% bílá (4,6:1),
   ne slabší — pod 4,5:1 už by neprošel. */
html[data-ab-vyber_podbarveni="cervena"] .editors{background:var(--brand);border-color:var(--brand);color:#fff}
html[data-ab-vyber_podbarveni="cervena"] .editors .bh{border-bottom-color:rgba(255,255,255,.55)}
html[data-ab-vyber_podbarveni="cervena"] .editors .bh-cta,
html[data-ab-vyber_podbarveni="cervena"] .editors .card h3,
html[data-ab-vyber_podbarveni="cervena"] .editors .card h3:hover{color:#fff}
html[data-ab-vyber_podbarveni="cervena"] .editors .card .meta{color:rgba(255,255,255,.92)}
/* „nové" u čerstvých článků má značkovou červenou inline (viz card()) — na červeném podkladu by zmizelo */
html[data-ab-vyber_podbarveni="cervena"] .editors .card .meta b{color:#fff !important}
html[data-ab-vyber_podbarveni="cervena"] .editors .card:hover{background:rgba(255,255,255,.14)}
html[data-ab-vyber_podbarveni="cervena"] .railbox[data-ab-vyber]{background:var(--brand);border-color:var(--brand);color:#fff}
html[data-ab-vyber_podbarveni="cervena"] .railbox[data-ab-vyber] h3{color:#fff}
html[data-ab-vyber_podbarveni="cervena"] .railbox[data-ab-vyber] .rl-item:hover{background:rgba(255,255,255,.14)}
html[data-ab-vyber_podbarveni="cervena"] .railbox[data-ab-vyber] .rl-ph{background:rgba(255,255,255,.25)}

/* ── NEWSLETTER ── */
.newsletter{background:var(--brand);color:#fff;border-radius:var(--r);padding:20px 28px;display:flex;align-items:center;justify-content:center;gap:20px;font-size:17px;font-weight:700;font-family:var(--fh);margin-bottom:28px}
.newsletter button{background:#fff;color:var(--brand);border:none;font:700 13px/1 var(--fu);padding:11px 20px;border-radius:var(--r);cursor:pointer;transition:opacity .15s}
.newsletter button:hover{opacity:.88}

/* ── PAGE BODY 2/3 + 1/3 ── */
.page-body{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:stretch;margin-bottom:28px}
.main-col{min-width:0;display:flex;flex-direction:column;gap:28px}

.rail-col{min-width:0;display:flex;flex-direction:column}
.rail-half{flex:1 1 0;min-height:0}
.rail-ad{position:sticky;top:104px}
@media(max-width:960px){.rail-half{flex:none}.rail-ad{position:static}.rail-half+.rail-half{margin-top:28px}}



/* ── POLL ── */
.poll{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.poll .peyebrow{font:700 10.5px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.poll h3{margin:0 0 16px;color:var(--ink);font-size:16px;font-weight:800;line-height:1.3}
.popt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px 14px;margin-bottom:8px;cursor:pointer;overflow:hidden;background:var(--surf);transition:border-color .15s}
.popt:hover{border-color:var(--line2)}
.popt .pfill{position:absolute;left:0;top:0;bottom:0;background:rgba(224,0,1,.10);transition:width .5s ease}
.popt .ptext{position:relative;font-size:14px;font-weight:600;color:var(--ink)}
.popt .ppct{position:relative;font:800 14px/1 var(--fu);color:var(--muted);flex:none}
.popt.win{border-color:rgba(224,0,1,.4)}
.popt.win .pfill{background:rgba(224,0,1,.18)}
.popt.win .ppct{color:var(--brand)}
.ptotal{text-align:center;font-size:11.5px;color:var(--muted);margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--fu)}
.ptotal b{color:var(--ink);font-weight:700}

/* ── MOSTREAD ── */
.mostread{background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:20px}

/* ── COMMERCIAL ── */
.commercial{background:var(--bg2);border-radius:var(--r);padding:20px}
.commercial .bh{border-bottom-color:var(--line2)}

/* ── CALENDAR ── */
.evg3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:16px}
/* Karta akce s tlačítkem UVNITŘ. Rámeček drží obal (.evwrap), samotná karta je
   uvnitř bez vlastního rámečku — tlačítko tak vizuálně patří ke své akci a ne
   k mezeře pod ní. Odkaz do odkazu vložit nejde, proto ta dvojice. Karty v řádku
   jsou stejně vysoké (height:100% v gridu) a tlačítko drží dole (margin-top:auto
   na kartě nad ním). (Matěj 14. 8. 2026) */
.evwrap{display:flex;flex-direction:column;height:100%;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .15s}
.evwrap:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.evwrap .evc{flex:1;background:none;border:0;border-radius:0}
.evwrap .evc:hover{box-shadow:none}
.evwrap .evb{padding-bottom:10px}
.evwrap .ev-more{margin:auto 12px 12px;padding:7px 10px;font-size:11px;text-align:center;justify-content:center;background:var(--brand);color:#fff !important;border-color:var(--brand)}
.evwrap .ev-more:hover{opacity:.92}
.evc{display:block;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);transition:box-shadow .15s}
.evc:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.evc.feat{grid-row:span 2}
.evc.feat .tw{aspect-ratio:3/4}
.evb{padding:12px 14px}
.evds{display:flex;align-items:baseline;gap:4px;font-family:var(--fu);margin-bottom:8px}
.evds .day{font-size:26px;font-weight:900;color:var(--brand);line-height:1}
.evds .dow,.evds .mon{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.evds .until{font-size:10.5px;color:var(--muted);margin-left:auto}
.ev-cat{font:700 10.5px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:5px}
.evc h3{font-size:14px;line-height:1.3;margin-bottom:4px;font-weight:700}
.evc .where{font-size:12px;color:var(--muted);font-family:var(--fu)}
.more-row{display:flex;justify-content:flex-end;padding-top:12px}

/* ── FOOTER ── */
footer{background:var(--surf);border-top:2px solid var(--brand);padding:28px 0 0}
.ft-top{display:flex;align-items:center;gap:32px;flex-wrap:wrap;padding-bottom:22px}
.ft-logo{height:22px;width:auto;display:block}
.ft-nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.ft-nav a{font:600 12.5px/1 var(--fu);color:var(--ink2)}
.ft-nav a:hover{color:var(--brand)}
.ft-soc{display:flex;gap:12px;margin-left:auto;align-items:center}
.ft-soc a{color:var(--ink2);display:flex;align-items:center}
.ft-soc a:hover{color:var(--brand)}
.ft-map-sec{border-top:1px solid var(--line);padding:22px 0 20px;display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}
.ft-map-wrap{width:240px;flex:none}
.ft-map-wrap svg{width:100%;height:auto;display:block}
.ft-map-wrap svg a.tooltipSVG{cursor:pointer}
.ft-map-wrap svg a.tooltipSVG path{transition:fill .15s}
.ft-map-wrap svg a.tooltipSVG:hover path{fill:var(--brand)}
.ft-txt{flex:1;min-width:180px;font-size:13px;color:var(--muted);line-height:1.65;padding-top:4px}
.ft-txt strong{color:var(--ink2)}
.ft-bot{border-top:1px solid var(--line);padding:14px 0 22px;font-size:11px;color:var(--muted);line-height:1.65}

/* ── SECTION ── */
section{margin-bottom:28px}
main{padding:22px 0 64px}

/* ── THEME PANEL ── */
#tp{position:fixed;bottom:20px;right:20px;width:280px;background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.22);z-index:9999;font-family:system-ui,sans-serif;font-size:12.5px;border:1px solid var(--line);display:none}
#tp.open{display:block}
#tp-fab{position:fixed;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--brand);color:#fff;border:none;cursor:pointer;z-index:9998;box-shadow:0 4px 16px rgba(0,0,0,.28);font:900 22px/1 Georgia,serif;display:flex;align-items:center;justify-content:center;transition:transform .15s}
#tp-fab:hover{transform:scale(1.1)}
#tp-fab.hide{display:none}
#tp-hd{background:var(--brand);color:#fff;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;cursor:move;user-select:none}
#tp-hd span{font-weight:700;font-size:13px}
#tp-hd-btns{display:flex;gap:6px}
#tp-hd-btns button{background:rgba(255,255,255,.2);border:none;color:#fff;width:22px;height:22px;border-radius:4px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1}
#tp-hd-btns button:hover{background:rgba(255,255,255,.35)}
#tp-body{padding:12px 14px;max-height:70vh;overflow-y:auto}
#tp-body::-webkit-scrollbar{width:4px}
#tp-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}
.tp-sec{font-weight:700;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 4px}
.tp-sec:first-child{margin-top:0}
#tp-body select{width:100%;height:30px;border:1px solid var(--line);border-radius:5px;padding:0 8px;font-size:12px;color:#111;background:#fff;cursor:pointer}
.tp-row{display:flex;align-items:center;gap:8px}
.tp-row input[type=range]{flex:1;accent-color:var(--brand);height:4px}
.tp-row span{font-size:11px;color:var(--muted);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}
.tp-row input[type=color]{flex:none;width:36px;height:30px;padding:2px;border:1px solid var(--line);border-radius:5px}
.tp-acts{display:flex;gap:8px;margin-top:14px}
.tp-acts button{flex:1;padding:7px 0;border:1.5px solid var(--line);border-radius:5px;background:#fff;font-size:11.5px;font-weight:600;cursor:pointer;color:var(--ink2);transition:all .12s}
.tp-acts button:hover{border-color:var(--brand);color:var(--brand)}
#tp-prev{margin-top:12px;padding:10px 12px;background:var(--surf2);border-radius:6px;border:1px solid var(--line)}
#tp.min #tp-body{display:none}

/* ── RESPONSIVE ── */
/* sloty mobilního brandingu: GPT do nich vkládá iframe v šířce kreativy (480px…)
   — statický div v toku by roztáhl stránku za okraj; fixed pop-up vrstvy kreativy
   tím nejsou dotčené (fixed ignoruje overflow předků).
   #mobile-branding + #imm-popup = divy, které si vytváří kreativa Impression Media
   sama (kód pozice ve Scriptech) — hlídat i je, ne jen naše ID */
#hp_mobileBranding,#sub_mobileBranding,#mobile-branding{max-width:100vw;overflow-x:clip}
#imm-popup{max-width:100vw;overflow-x:clip}
/* POZOR: mobilní gridy vždy minmax(0,1fr) — holé 1fr má minimum podle obsahu
   a nezalomitelný text v kartě roztlačí sloupce za okraj displeje.
   Pásmo 641–960 = landscape/tablet (sjednoceno s ≤960 skládáním obalu) */
@media(max-width:960px){
  /* pojistka proti reklamám: žádná kreativa nesmí stránku roztáhnout do stran;
     clip (ne hidden!) — nevytváří scroll container, sticky hlavička dál funguje.
     Na html I body: iOS Safari propagaci clip z html na viewport historicky
     nezvládá spolehlivě, clip na body ořízne statický/absolute obsah přímo */
  html,body{overflow-x:clip}
  .page-body{grid-template-columns:minmax(0,1fr)}
  .hero,.shero{grid-template-columns:minmax(0,1fr)}
  /* landscape/tablet pásmo 641–900 (Matěj): výpisy ve 3 sloupcích jako desktop
     (.g3/.evg3/.g3-hp dědí base 3 sloupce; .g4 ze 4 na 3), hlavička jako na
     mobilu — hamburger + ikona uživatele, rubrikový pruh nahrazuje menu */
  .g4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .evg3.evg-hp{grid-template-columns:repeat(3,minmax(0,1fr))}
  .evg-hp>*:nth-child(4){display:none}
  .hright{display:none}
  .htema{display:none}   /* na mobilu je přepínač v rozbalovacím menu pod počasím */
  .burger{display:flex}
  .huser{display:flex}
  .sub{display:none}
  /* iOS/iPadOS zoomuje při fokusu do pole s písmem <16px */
  input,select,textarea{font-size:16px !important}
}
@media(max-width:640px){
  .hsearch{max-width:140px}
  /* po ťuknutí do hledání se pole roztáhne přes celou hlavičku (víc místa pro psaní);
     absolute → containing block je sticky .hdr, po opuštění se samo vrátí */
  .hsearch:focus-within{position:absolute;left:8px;right:8px;top:9px;max-width:none;z-index:6}
  .sub-left,.sub-right{display:none}
  .subnav{font-size:10px;gap:14px;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;scrollbar-width:none}
  .subnav::-webkit-scrollbar{display:none}
  .subnav a{flex:none}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .evg3{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* HP na mobilu: 6 karet ve 2 sloupcích + banner celou šířkou; kalendář 4 akce 2×2 */
  .g3-hp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3-hp>.card:nth-child(6){display:block}
  .g3-hp>.grid-ad{grid-column:1/-1}
  .evg3.evg-hp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .evg-hp>*:nth-child(4){display:block}
  .bh{flex-wrap:wrap}   /* dlouhé "Chybí ti…" CTA se zalomí, netlačí stránku do šířky */
  /* desktopový leaderboard na mobilu nemá smysl (mobil má vlastní mobileBranding
     slot; starý web ho na mobilu taky nemá) — prázdné okno by jen odsouvalo obsah */
  .lb-wrap{display:none}
  .newsletter{flex-direction:column;text-align:center;gap:14px;font-size:15px}
  .ft-soc{margin-left:0}
  /* mapka sítě v patičce přes celou šířku; logo Drbny na půl šířky (celá byla „humpolácká") */
  .ft-map-wrap{width:100%}
  .ft-logo-a{width:100%}
  .ft-logo{width:50%;height:auto}
}

/* ===== ARTICLE PAGE ===== */
.article-wrap{display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:stretch;padding:24px 0 0}
.article-col{min-width:0;max-width:720px}
@media(max-width:960px){.article-wrap{grid-template-columns:minmax(0,1fr)}.article-col{max-width:none}}
/* mezistupeň rebrandu: jednosloupcový detail dle ostrého webu (bez railu) */
.article-single{display:block;max-width:760px;margin:0 auto;padding:24px 0 0}
.breadcrumb{display:flex;align-items:center;gap:6px;font:600 12px/1 var(--fu);color:var(--muted);margin-bottom:14px;flex-wrap:wrap}
/* řádek breadcrumb + „Přejít do CMS" (jen přihlášená redakce) */
.art-topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.art-topbar .breadcrumb{margin-bottom:0}
.art-cms{flex:none;padding:7px 12px}
.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--brand)}.breadcrumb .sep{opacity:.4}
.art-kicker{font:700 11px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:10px}
.art-title{font:900 34px/1.12 var(--fh);color:var(--ink);margin-bottom:14px;letter-spacing:-.015em}
.art-standfirst{font-size:19px;line-height:1.6;color:var(--ink2);font-weight:500;margin-bottom:18px}
.art-meta{display:flex;align-items:center;gap:12px;font:600 12px/1 var(--fu);color:var(--muted);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;margin-bottom:22px}
.art-meta .author{display:flex;align-items:center;gap:8px;max-width:100%}
.art-meta .author+.author{margin-left:-4px}
.art-meta .av{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font:800 13px/1 var(--fu);flex:none}
.art-meta .av-img{object-fit:cover;background:var(--bg3)}
.art-meta .author b{color:var(--ink);font-weight:700;display:block}
.art-meta .author small{font-weight:500;color:var(--muted)}
.art-meta .upd{color:var(--brand)}
.art-meta .spacer{flex:1;min-width:10px}
.share-row{display:flex;gap:6px;align-items:center}
.sbtn{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;text-decoration:none}
.sbtn-fb{background:#1877f2}.sbtn-x{background:#000}.sbtn-wa{background:#25d366}.sbtn-save{background:var(--bg2);color:var(--muted);font-size:14px}
/* TL;DR */
.tldr{background:var(--surf);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:0 12px 12px 0;padding:16px 20px;margin:0 0 24px}
.tldr h4{font:800 12px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.tldr ul{margin:0;padding-left:18px}
.tldr li{font-size:15px;line-height:1.5;color:var(--ink2);margin-bottom:6px}
/* HERO + IMG */
.art-hero{margin:0 0 22px;border-radius:12px;overflow:hidden}
.art-hero img{width:100%;display:block}
figcaption{font:400 12.5px/1.5 var(--fu);color:var(--muted);padding:8px 2px 0}
.art-img{margin:28px 0}
.art-img img{width:100%;border-radius:10px;display:block}
/* BODY */
.art-body{font-size:17px;line-height:1.78;color:var(--ink2)}
.art-body p{margin:0 0 20px}
/* Otázka v rozhovoru: tučně, o chlup větší, BEZ mezery pod sebou — odpověď se
   na ni lepí, ať je jasné, k čemu patří. Nahrazuje měkké entery. (20. 8. 2026) */
.art-body p.otazka{font-weight:700;font-size:1.06em;margin-bottom:0}
.art-body h2{font:900 24px/1.25 var(--fh);color:var(--ink);margin:38px 0 14px;letter-spacing:-.01em}
.art-body h3{font:800 19px/1.3 var(--fh);color:var(--ink);margin:30px 0 10px}
.art-body strong{color:var(--ink);font-weight:700}
.art-body a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.art-body ul,.art-body ol{margin:0 0 22px}
.art-body ul{padding-left:22px}.art-body ul li{margin-bottom:8px}
.art-body ol{counter-reset:li;list-style:none;padding-left:0}
.art-body ol>li{counter-increment:li;position:relative;padding-left:40px;margin-bottom:14px}
.art-body ol>li::before{content:counter(li);position:absolute;left:0;top:-3px;width:28px;height:28px;background:var(--brand);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 13px/1 var(--fu)}
.art-body blockquote{position:relative;border:1px solid var(--line2);border-radius:12px;background:none;
  font-style:normal;margin:40px 0 34px;padding:26px 28px 20px;font:600 21px/1.5 var(--fh);color:var(--ink);letter-spacing:-.01em}
/* Uvozovka půlí horní linku rámečku: ::before je maska, která linku pod glyfem
   přeruší, ::after je samotný glyf. Maska má barvu podkladu, na kterém citace
   stojí — proto `--bg`, ne bílá. */
.art-body blockquote::before{content:"";position:absolute;top:-2px;left:20px;width:54px;height:4px;background:var(--bg)}
.art-body blockquote::after{content:"\201C";position:absolute;top:-21px;left:28px;font:900 80px/1 var(--fh);color:var(--brand);pointer-events:none}
.art-body blockquote p{margin:0 0 10px}
.art-body blockquote p:last-of-type{margin-bottom:0}
/* Řádek autora. `<cite>` píše editor, `.cit-autor` je starší tvar z 18. 8. 2026
   (pár článků) — vypadají stejně, ať se nemusí přepisovat obsah. */
.art-body blockquote cite,
.art-body blockquote .cit-autor{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-style:normal;
  font:700 13px/1.3 var(--fu);color:var(--ink);margin-top:14px;text-align:left}
.art-body blockquote cite::before,
.art-body blockquote .cit-autor::before{content:"";width:26px;height:2px;background:var(--brand);flex:none;align-self:center}
.art-body blockquote cite .cit-oddelovac{font:400 12.5px/1.3 var(--fu);color:#9aa0ab}
.art-body blockquote cite .cit-pozice{font:500 12.5px/1.3 var(--fu);color:var(--muted)}
/* PULLQUOTE */
.pullquote{margin:34px 0;text-align:center}
.pullquote p{font:900 27px/1.3 var(--fh);color:var(--ink);letter-spacing:-.01em;margin:0 0 10px}
.pullquote span{font:700 12px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.06em}
/* INFOBOX */
.infobox{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:28px 0}
.infobox-title{font:900 16px/1.3 var(--fh);color:var(--ink);margin-bottom:14px;padding-bottom:11px;border-bottom:2px solid var(--brand)}
.infobox ul{list-style:none;padding:0;margin:0}
.infobox li{position:relative;padding:11px 0 11px 22px;font-size:15px;line-height:1.5;color:var(--ink2);border-bottom:1px solid var(--line)}
.infobox li:last-child{border-bottom:none}
.infobox li::before{content:"";position:absolute;left:2px;top:18px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
/* TABLE */
.art-table{margin:28px 0;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.art-table table{width:100%;border-collapse:collapse;font-size:14px}
.art-table th,.art-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line)}
.art-table tbody tr:last-child td{border-bottom:none}
.art-table thead th{background:var(--brand);color:#fff;font:700 12px/1.2 var(--fu);text-transform:uppercase;letter-spacing:.03em}
.art-table tbody tr:nth-child(even){background:var(--bg2)}
/* GALLERY */
.art-gallery{margin:28px 0}
.gal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.gal-grid a{position:relative;display:block;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--bg2)}
.gal-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gal-grid a:hover img{transform:scale(1.05)}
.gal-grid a.more::after{content:"+ 8 fotek";position:absolute;inset:0;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font:700 16px/1 var(--fu)}
/* VIDEO */
.embed-yt{margin:28px 0}
.embed-yt .ratio{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000;cursor:pointer}
.embed-yt .ratio img{width:100%;height:100%;object-fit:cover;opacity:.72}
.embed-yt .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.embed-yt .play span{width:64px;height:64px;border-radius:50%;background:rgba(224,0,1,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.3)}
/* SOCIAL EMBED */
.embed-social{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:28px 0;max-width:540px;background:var(--surf)}
.embed-social .es-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.embed-social .es-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--bg3),#c5cad3);flex:none}
.embed-social .es-name{font:700 14px/1.2 var(--fu);color:var(--ink)}
.embed-social .es-handle{font:400 12px/1.2 var(--fu);color:var(--muted)}
.embed-social .es-net{margin-left:auto;color:var(--muted)}
.embed-social .es-text{font-size:15px;line-height:1.55;color:var(--ink2);margin-bottom:10px}
.embed-social .es-meta{font:400 12px/1 var(--fu);color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
/* MAP */
.embed-map{margin:28px 0;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.embed-map .mp{aspect-ratio:16/7;background:linear-gradient(135deg,var(--bg3),#d4dce4);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font:600 12px/1 var(--fu)}
.embed-map .pin{font-size:30px}
.embed-map .mp-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surf);font:600 13px/1 var(--fu);color:var(--ink2)}
/* INLINE RELATED */
.inline-rel{display:flex;align-items:center;gap:14px;background:var(--bg2);border-radius:10px;padding:12px 16px;margin:24px 0;text-decoration:none}
.inline-rel img{width:88px;height:62px;border-radius:6px;object-fit:cover;flex:none;background:var(--bg3)}
.inline-rel .ir-k{font:700 10px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:5px}
.inline-rel .ir-t{font:700 15px/1.3 var(--fh);color:var(--ink)}
.inline-rel:hover .ir-t{color:var(--brand)}
/* SOURCE */
.art-source{font:600 12.5px/1.5 var(--fu);color:var(--muted);margin:22px 0;padding-top:14px;border-top:1px solid var(--line)}
.art-source b{color:var(--ink2)}
/* REACTIONS */
.reactions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:32px 0;padding:16px 18px;background:var(--bg2);border-radius:12px}
.reactions .rx-q{font:800 14px/1.2 var(--fh);color:var(--ink);margin-right:4px}
.rx{display:inline-flex;align-items:center;gap:6px;background:var(--surf);border:1px solid var(--line);border-radius:20px;padding:7px 13px;font:700 13px/1 var(--fu);color:var(--ink2);cursor:pointer;transition:all .12s}
.rx:hover{border-color:var(--brand)}
.rx.on{border-color:var(--brand);color:var(--brand)}
.rx .emo{font-size:17px;line-height:1}
/* RECIRC */
.recirc{margin:34px 0;padding:18px 0 4px;border-top:2px solid var(--brand)}
.recirc .rc-h{font:800 13px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.recirc .rc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.recirc a{display:flex;gap:12px;text-decoration:none;align-items:center}
.recirc img{width:104px;height:72px;border-radius:8px;object-fit:cover;flex:none;background:var(--bg2)}
.recirc .rc-t{font:700 14px/1.3 var(--fh);color:var(--ink)}
.recirc a:hover .rc-t{color:var(--brand)}
@media(max-width:600px){.recirc .rc-grid{grid-template-columns:minmax(0,1fr)}}
/* AUTHOR BIO */
.author-link b{color:var(--ink);font-weight:700}
.author-link:hover b{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
/* TAGS */
.art-tags{display:flex;flex-wrap:wrap;gap:7px;margin:28px 0;align-items:center}
.art-tags .tg-label{font:700 11px/1 var(--fu);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:4px}
.art-tags a{font:600 12px/1 var(--fu);color:var(--ink2);background:var(--bg2);padding:7px 12px;border-radius:20px}
.art-tags a:hover{background:var(--brand);color:#fff}
/* INLINE NEWSLETTER */
.nl-inline{background:var(--brand);color:#fff;border-radius:12px;padding:20px 24px;margin:32px 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nl-inline p{font:800 17px/1.3 var(--fh);flex:1;min-width:200px}
.nl-inline input{height:40px;border:none;border-radius:8px;padding:0 14px;font:400 13px/1 var(--fu);width:220px;outline:none}
.nl-inline button{background:#fff;color:var(--brand);border:none;font:700 13px/1 var(--fu);padding:12px 20px;border-radius:8px;cursor:pointer}
/* INLINE AD */
.inline-ad{margin:28px 0;text-align:center}
.inline-ad .ad-label{font:600 10px/1 monospace;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px}
.inline-ad .promo-prem{display:block;font:600 10.5px/1 var(--fu);color:var(--brand);margin-top:4px}
/* COMMENTS */
.comments{margin:38px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.comments .c-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.comments .c-head h3{font:900 22px/1 var(--fh);color:var(--ink)}
.comments .c-count{background:var(--brand);color:#fff;font:700 12px/1 var(--fu);padding:4px 9px;border-radius:20px}
.comments .c-note{font:400 13px/1.5 var(--fu);color:var(--muted);margin-bottom:16px}
.cform{background:var(--bg2);border-radius:12px;padding:16px;margin-bottom:20px}
.cform textarea{width:100%;height:80px;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font:400 14px/1.5 var(--fu);resize:vertical;outline:none;background:var(--surf)}
.cform textarea:focus{border-color:var(--brand)}
.cform-row{display:flex;gap:10px;align-items:center;margin-top:10px}
.cform input{flex:1;height:38px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font:400 13px/1 var(--fu);outline:none;background:var(--surf)}
.csubmit{background:var(--brand);color:#fff;border:none;font:700 13px/1 var(--fu);padding:11px 20px;border-radius:8px;cursor:pointer;white-space:nowrap}
.c-sort{display:flex;gap:6px;margin-bottom:6px}
.c-sort button{background:none;border:none;font:600 12px/1 var(--fu);color:var(--muted);padding:6px 10px;border-radius:6px;cursor:pointer}
.c-sort button.on{background:var(--bg2);color:var(--ink)}
.citem{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.citem.reply{margin-left:46px;border-bottom:none;padding-bottom:0}
.cav{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--fu);flex:none}
img.cav{object-fit:cover;background:var(--bg3)}
.cbody{flex:1;min-width:0}
.cmeta{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}
.cmeta .cauthor,.cmeta .cdate{white-space:nowrap}
.cauthor{font:700 13px/1 var(--fu);color:var(--ink)}
.cbadge{font:700 9px/1 var(--fu);color:#fff;background:var(--ink2);padding:2px 5px;border-radius:3px;text-transform:uppercase}
.cdate{font:400 11px/1 var(--fu);color:var(--muted)}
.ctext{font-size:14px;line-height:1.6;color:var(--ink2);margin-bottom:8px}
.cact{display:flex;align-items:center;gap:4px}
.cact button{background:none;border:none;cursor:pointer;font:600 12px/1 var(--fu);color:var(--muted);display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:6px}
.cact .clike:hover{color:var(--ok-ink);background:var(--ok-bg)}
.cact .cdis:hover{color:var(--brand);background:var(--brand-bg)}
.cact .clike.on{color:var(--ok-ink)}
.cact .cdis.on{color:var(--brand)}
.cact .cnt:empty{display:none}
.creplyto{color:var(--brand);font-weight:700;white-space:nowrap}
.cact button[disabled]{opacity:.45;cursor:default;background:none}
.cact .crep:hover{color:var(--ink);background:var(--hover)}
.c-more{display:block;width:100%;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surf);font:700 13px/1 var(--fu);color:var(--brand);cursor:pointer}
.c-more:hover{background:var(--hover)}
/* STICKY SHARE */
.sticky-share{position:fixed;left:calc(50% - 600px);top:280px;display:flex;flex-direction:column;gap:8px;z-index:40;opacity:0;pointer-events:none;transition:opacity .25s}
.sticky-share.visible{opacity:1;pointer-events:auto}
.sticky-share a,.sticky-share button{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:transform .15s;text-decoration:none}
.sticky-share a:hover,.sticky-share button:hover{transform:scale(1.1)}
.sticky-share .ss-fb{background:#1877f2}.sticky-share .ss-x{background:#000}.sticky-share .ss-wa{background:#25d366}.sticky-share .ss-save{background:var(--surf);color:var(--muted);font-size:16px}
@media(max-width:1200px){.sticky-share{display:none}}
/* SEC BLOCK (čtěte také / komerční) */
.sec-block{margin:34px 0}
.kom-bg{background:var(--bg2);border-radius:var(--r);padding:20px}

/* ── TYPO PANEL: globální velikost textu, řádkování, oblé rohy fotek (poslední, aby přebilo článkové CSS) ── */
body{font-size:calc(15px * var(--ts,1))}
p,li{line-height:var(--lh,1.7)}
.byline,.meta,.card .meta{font-size:calc(12px * var(--ts,1))}
.card h3{font-size:calc(15px * var(--ts,1))}
.hero p{font-size:calc(14.5px * var(--ts,1))}
.shero p{font-size:calc(14px * var(--ts,1))}
.art-body{font-size:calc(17px * var(--ts,1));line-height:var(--lh,1.7)}
.art-body p,.art-body li{line-height:var(--lh,1.7)}
.art-standfirst{font-size:calc(19px * var(--ts,1));line-height:var(--lh,1.7)}
/* Perex na mobilu: sevřenější řádkování a o stupeň vyšší tučnost. Do 31. 7. měl
   stejné řádkování jako tělo článku (--lh 1.7) a při 19px vs 17px se od něj skoro
   nelišil — na úzké obrazovce působil roztaženě a splýval s textem. (Matěj 31. 7.) */
@media(max-width:640px){.art-standfirst{line-height:1.45;font-weight:600}}
.ctext{font-size:calc(14px * var(--ts,1))}
.art-hero,.art-img img,.gal-grid a,.embed-yt .ratio,.embed-map,.recirc img,.inline-rel img{border-radius:var(--r)}

/* Ankety — kontejner dle šablony (bílá karta), .popt řádky jsou výš */
.poll{background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:22px 0}
.poll-q{margin:0 0 16px;color:var(--ink);font-size:16px;font-weight:800;line-height:1.3;font-family:var(--fh)}
.poll-btn{margin-top:6px;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:10px 20px;font:700 14px/1 var(--fu,system-ui);cursor:pointer}
.poll-bar{height:9px;background:#e5e5e5;border-radius:6px;overflow:hidden}
.poll-bar span{display:block;height:100%;background:var(--brand);border-radius:6px}
/* souboj jako šablonové .popt řádky s fotkou */
.popt .pimg{position:relative;width:42px;height:42px;border-radius:8px;object-fit:cover;flex:none}
.popt .ptext{flex:1;min-width:0}
.popt .ptext b{display:block;font:700 14px/1.25 var(--fh)}
.popt .ptext small{display:block;font:600 11px/1.3 var(--fu);color:var(--muted);margin-top:2px}

/* Formuláře (embed v článku) */
.frm{border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:22px 0;background:var(--bg)}
.frm-title{font:800 18px/1.3 var(--fh,system-ui);color:var(--ink);margin-bottom:6px}
.frm-intro{font-size:14.5px;color:var(--ink2);margin-bottom:14px}
.frm-field{margin-bottom:14px}
.frm-label{display:block;font:700 13px/1.3 var(--fu,system-ui);color:var(--ink2);margin-bottom:5px}
.frm-req{color:var(--brand)}
.frm-form input[type=text],.frm-form input[type=email],.frm-form input[type=tel],.frm-form textarea,.frm-form select{
  width:100%;padding:10px 12px;border:1px solid var(--line2);border-radius:8px;font:15px system-ui;background:var(--surf)}
.frm-form textarea{resize:vertical}
.frm-radio,.frm-check{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:15px}
.frm-radio input,.frm-check input{width:auto}
.frm-btn{margin-top:6px;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:11px 26px;font:700 14px/1 var(--fu,system-ui);cursor:pointer}
.frm-ok{background:var(--ok-bg);color:var(--ok-ink);padding:14px 16px;border-radius:8px;font-weight:600}
.frm-closed{color:var(--muted)}
.frm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Fotogalerie (embed v článku) */
.gal{margin:22px 0}
.gal-title{font:800 17px/1.3 var(--fh,system-ui);color:var(--ink);margin-bottom:10px}
.gal-count{font:600 12px/1 var(--fu,system-ui);color:var(--muted);margin-left:6px}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.gal-th{display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:var(--bg3)}
.gal-th img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.gal-th:hover img{transform:scale(1.05)}
.gal-title a{color:var(--ink)}.gal-title a:hover{color:var(--brand)}
.gal-open{display:inline-block;margin-top:10px;font:700 13px/1 var(--fu);color:var(--brand)}
.gal-open:hover{text-decoration:underline}
/* Poslední dlaždice „+N" — vstup do galerie, když se dál nevejde. Pod přítmím
   prosvítá další fotka, ať je poznat, že se tam pokračuje. Selektor musí být
   `a.gal-vic`: samotné `.gal-vic` by přebilo obecnější `.gal-grid a` o kus výš,
   které má vyšší specificitu, a dlaždice by zůstala šedá. (Matěj 10. 8. 2026) */
.gal-grid a.gal-vic{position:relative;background:var(--bg3)}
.gal-vic img{width:100%;height:100%;object-fit:cover}
.gal-vic::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.58);transition:background .2s}
.gal-vic:hover::after{background:rgba(0,0,0,.44)}
.gal-vic span{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;
  font:800 clamp(18px,2.4vw,26px)/1 var(--fh,system-ui);color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
/* .gal-th má display:block, takže by přebilo [hidden] z prohlížeče */
.gal-th[hidden],.gal-vic[hidden]{display:none}
/* Galerie článku: jedna řada přes celou šířku těla článku. Pevný počet sloupců,
   ne auto-fill — ten by na širokém displeji nechal za dlaždicemi prázdné místo. */
/* Sloupců je tolik, kolik je dlaždic — nejvýš pět. Pevná pětka nechávala u tří
   nebo čtyř fotek prázdné místo vpravo; teď se roztáhnou přes celou šířku a
   výřez si pohlídá `object-fit: cover` podle bodu ostrosti. (Matěj 13. 8. 2026) */
.gal-pruh .gal-grid{grid-template-columns:repeat(var(--gal-sl,5),1fr)}
/* Samostatná stránka fotogalerie: fotky pod sebou, neoříznuté, s popisky (lightbox
   zrušen — Matěj: samostatná stránka = víc zobrazení; vzor ostrého webu) */
.galpage{padding-top:4px}
.galpage-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.galpage-top .btn{padding:8px 14px;flex:none}
.galpage .art-title{margin-bottom:6px}
.galpage-count{font:600 13px/1 var(--fu);color:var(--muted);margin-bottom:22px}
.galpage-item{margin:0 0 26px}
.galpage-item img{width:100%;height:auto;display:block;border-radius:var(--r,10px);background:var(--bg3)}
.galpage-item figcaption{display:flex;justify-content:space-between;gap:14px;font:400 13px/1.5 var(--fu);color:var(--muted);padding-top:7px}
.galpage-n{flex:none;font-weight:600}
/* Autor fotky. Dřív byl vepsaný uvnitř popisku („…, foto: Jan Novák"); od
   8. 8. 2026 stojí zvlášť, ať jde poznat, kde končí popis a začíná podpis. */
.galpage-foto{flex:none;margin-left:auto;padding-right:14px;font-style:italic}

/* Video (embed v článku) */
.vid{margin:22px 0}
.vid-wrap{position:relative;aspect-ratio:16/9;background:#000;border-radius:8px;overflow:hidden}
.vid-wrap iframe,.vid-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid figcaption{font-size:13px;color:var(--muted);margin-top:8px}

/* Kvíz (embed v článku) */
/* ---------- kvíz: teaser v článku + krokované stránky ---------- */
.quiz-teaser{display:flex;gap:14px;align-items:center;border:1.5px solid var(--line2);border-left:4px solid var(--brand);border-radius:12px;padding:16px 18px;margin:24px 0;flex-wrap:wrap}
.qt-badge{font:800 11px/1 var(--fu);letter-spacing:.08em;color:#fff;background:var(--brand);border-radius:5px;padding:5px 8px;flex:none}
.qt-body{flex:1;min-width:200px}
.qt-body b{display:block;font:800 16px/1.3 var(--fh);color:var(--ink)}
.qt-meta{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;font-family:var(--fu)}
.qt-btn{flex:none}
.qz-title{font:900 26px/1.2 var(--fh);margin:6px 0 10px}
.qz-lead{color:var(--ink2);line-height:1.6;margin-bottom:16px;max-width:560px}
.qz-prog{display:flex;gap:5px;align-items:center;margin:6px 0 18px}
.qz-seg{height:6px;flex:1;max-width:44px;border-radius:3px;background:var(--bg3)}
.qz-seg.done{background:var(--brand)}
.qz-seg.now{background:var(--brand);opacity:.35}
.qz-prog-t{font:700 12px/1 var(--fu);color:var(--muted);margin-left:6px;white-space:nowrap}
.qz-q{font:900 22px/1.3 var(--fh);margin:4px 0 14px}
.qz-qsm{font:700 15px/1.4 var(--fu);color:var(--muted);margin-bottom:10px}
.qz-img{max-width:100%;border-radius:10px;margin-bottom:14px}
.qz-opts{display:flex;flex-direction:column;gap:9px;max-width:560px}
.qz-opt{text-align:left;padding:13px 16px;border:1.5px solid var(--line2);border-radius:10px;background:var(--surf);cursor:pointer;font:600 15px/1.4 var(--fu);color:var(--ink);transition:border-color .12s,background .12s}
.qz-opt:hover{border-color:var(--brand);background:var(--brand-bg)}
.qz-verdict{font:900 22px/1.2 var(--fh);margin:4px 0 14px}
.qz-verdict.ok{color:var(--ok-ink)}
.qz-verdict.bad{color:var(--brand)}
.qz-answers{display:flex;flex-direction:column;gap:8px;max-width:560px;margin-bottom:14px}
.qz-ans{padding:11px 14px;border:1.5px solid var(--line2);border-radius:10px;font:600 14.5px/1.4 var(--fu);color:var(--ink2)}
.qz-ans.good{border-color:var(--ok-ink);background:var(--ok-bg);color:var(--ok-ink)}
.qz-ans.bad{border-color:var(--brand);background:var(--err-bg);color:var(--err-ink)}
.qz-tag{font:700 10.5px/1 var(--fu);text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-left:6px}
.qz-expl{background:var(--bg2);border-radius:10px;padding:12px 16px;font-size:14px;line-height:1.6;color:var(--ink2);max-width:560px;margin-bottom:16px}
.qz-next{display:inline-block;text-decoration:none;text-align:center}
.qz-result{display:flex;gap:18px;align-items:center;margin:10px 0 20px}
.qz-score{font:900 52px/1 var(--fh);color:var(--brand)}
.qz-score span{font-size:26px;color:var(--muted)}
.qz-verdict-big{font:900 22px/1.2 var(--fh)}
.qz-sub{color:var(--muted);font-family:var(--fu);font-size:14px;margin-top:4px}
.qz-hist{border:1px solid var(--line2);border-radius:12px;padding:16px 18px;max-width:640px;margin-bottom:18px}
.qz-hist-t{font:700 14px/1.2 var(--fu);margin-bottom:14px}
.qz-bars{display:flex;gap:6px;align-items:flex-end;height:120px}
.qz-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative}
.qz-fill{width:100%;max-width:44px;background:var(--bg3);border-radius:4px 4px 0 0;transition:height .3s}
.qz-bar.me .qz-fill{background:var(--brand)}
.qz-lbl{font:600 11px/1 var(--fu);color:var(--muted);margin-top:5px}
.qz-me{position:absolute;top:-16px;font:800 10px/1 var(--fu);color:var(--brand);text-transform:uppercase}
.qz-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.qz-actions .ac-submit{margin-top:0}
.qz-opts~.banner,.qz-next~.banner,.qz-actions~.banner,.qz-lead~.banner{margin-top:34px}
/* starý inline kvíz (embed) — ponecháno pro případné staré použití */
.quiz{border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:22px 0;background:var(--bg)}
.quiz-title{font:800 18px/1.3 var(--fh,system-ui);color:var(--ink);margin-bottom:14px}
.quiz-q{margin-bottom:16px}
.quiz-qt{font:700 15px/1.4 var(--fu,system-ui);color:var(--ink2);margin-bottom:8px}
.quiz-opt{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surf);margin-bottom:7px;cursor:pointer;font-size:15px}
.quiz-opt:hover{border-color:var(--brand)}
.quiz-opt.good{border-color:var(--ok-ink);background:var(--ok-bg)}
.quiz-opt.bad{border-color:var(--brand);background:var(--err-bg)}
.quiz-btn{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:11px 26px;font:700 14px/1 var(--fu,system-ui);cursor:pointer}
.quiz-res{margin-top:12px;font:800 18px/1.3 var(--fh,system-ui);color:var(--ink)}

/* Lišta „Aktuálně" (rychlé novinky) */
/* šedý pruh UVNITŘ těla webu, pod leaderboardem/brandingem (1:1 ostrý web) —
   uvnitř #pagebody sedí zaoblené rohy na šedém podkladu (žádné díry po stranách) */
.ticker{max-width:var(--maxw);margin:10px auto 0;background:var(--bg2);border-radius:8px}
.body-rule{border-bottom:3px solid var(--brand);margin-bottom:14px}
.body-rule.norule{border-bottom-color:transparent}   /* podstránky bez červené čáry — rozestup zůstává */
/* čtecí progress bar (detail článku) — POD sticky hlavičkou (na top:0 by byl
   červený na červené .hdr a neviditelný); desktop 52+44px, mobil jen .hdr 52px */
.rprog{position:fixed;top:96px;left:0;height:3px;width:0;background:var(--brand);z-index:200;pointer-events:none}
@media(max-width:960px){.rprog{top:52px}}
/* Nahoru — jen mobil; bottom 96px kvůli kotevnímu baneru */
.totop{display:none;position:fixed;right:12px;bottom:96px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--brand);font:800 19px/1 var(--fu);box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:97;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;cursor:pointer}
.totop.show{opacity:1;transform:none}
@media(max-width:960px){.totop{display:block;pointer-events:none}.totop.show{pointer-events:auto}}
.ticker .wrap{display:flex;align-items:center;gap:0;height:42px}
.ticker-badge{background:var(--brand);color:#fff;font:700 11.5px/1 var(--fu);letter-spacing:.04em;text-transform:uppercase;padding:8px 14px;border-radius:4px;flex:none;white-space:nowrap}
.ticker-items{position:relative;flex:1;height:22px;overflow:hidden;margin-left:16px}
.ticker-item{position:absolute;inset:0;display:flex;align-items:center;white-space:nowrap;overflow:hidden;font:600 13.5px/22px var(--fu);color:var(--ink2);opacity:0;transition:opacity .4s;pointer-events:none}
.ticker-in{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform}
@media(prefers-reduced-motion:reduce){.ticker-in{transition:none !important;transform:none !important}}
.ticker-item.on{opacity:1;pointer-events:auto}
.ticker-item:hover{color:var(--ink)}
.ticker-more{color:var(--brand);margin-left:6px;font-weight:700;flex:none}
@media(max-width:640px){.ticker-badge{padding:8px 10px;font-size:10.5px}.ticker-items{margin-left:10px}}

/* Kalendář akcí */
.events{display:flex;flex-direction:column;gap:12px;margin:22px 0}
.event{display:flex;gap:16px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--surf)}
.event-date{flex:none;width:56px;height:56px;border-radius:10px;background:var(--brand);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.event-date .ev-d{font:800 22px/1 var(--fh)}
.event-date .ev-m{font:700 10px/1 var(--fu);text-transform:uppercase;margin-top:3px}
.event-title{font:800 16px/1.3 var(--fh);color:var(--ink)}
.event-meta{font:600 12.5px/1.4 var(--fu);color:var(--muted);margin-top:3px}
.event-desc{font-size:14px;color:var(--ink2);margin-top:8px;line-height:1.5}
.event-cta{display:inline-block;margin-top:8px;color:var(--brand);font:700 13px/1 var(--fu)}
.event-cta:hover{text-decoration:underline}

/* Bannery */
.ban{margin:0 auto;text-align:center;position:relative}
.ban img{max-width:100%;height:auto;margin:0 auto;border-radius:4px}
.ban-label{display:block;font:600 10px/1 monospace;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:3px 0}
.ban-leaderboard{margin:14px auto 0;max-width:970px}
.ban-rectangle{max-width:300px}

/* Newsletter box (patička) */
.nlbox{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:0 0 22px;max-width:520px}
.nlbox-t{font:800 16px/1.3 var(--fh);color:var(--ink);margin-bottom:10px}
.nlbox-row{display:flex;gap:8px}
.nlbox-row input{flex:1;padding:10px 12px;border:1px solid var(--line2);border-radius:8px;font:14px system-ui;background:var(--surf)}
.nlbox-btn{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:10px 20px;font:700 13px/1 var(--fu);cursor:pointer;white-space:nowrap}

/* ── POČASÍ ── */
.wx-mini{display:inline-flex;align-items:center;gap:5px;font:700 13px/1 var(--fu);color:var(--ink)}
.wx-mini img{display:block}
.wx-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.wx-box{border-top:1px solid var(--line);padding-top:16px}
.wx-h{font:900 20px/1.2 var(--fh);color:var(--ink)}
.wx-today{display:flex;align-items:center;gap:16px;margin:14px 0}
.wx-temp{font:900 42px/1 var(--fh);color:var(--ink)}
.wx-ic{flex:none}
.wx-metrics{display:flex;gap:40px;margin-top:6px}
.wx-metrics>div{display:flex;flex-direction:column;gap:2px}
.wx-lbl{font:600 12px/1 var(--fu);color:var(--muted)}
.wx-metrics b{font:800 17px/1.2 var(--fh);color:var(--ink)}
.wx-sum{margin-top:12px;color:var(--ink2);font-size:14px;line-height:1.5}
.wx-hourly{overflow-x:auto;border:1px solid var(--line);border-radius:10px;padding-bottom:12px}   /* místo pro overlay scrollbar, ať nepřekrývá řádek Vítr */
.wx-hourly table{border-collapse:collapse;min-width:640px;width:100%}
.wx-hourly th{text-align:left;padding:8px 12px;font:600 12px/1.2 var(--fu);color:var(--muted);white-space:nowrap;position:sticky;left:0;background:var(--surf)}
.wx-hourly td{text-align:center;padding:8px 10px;font-size:13px;white-space:nowrap;border-left:1px solid var(--bg3)}
.wx-hourly tr+tr{border-top:1px solid var(--bg3)}
.wx-hourly .wx-time td{font:700 12px/1 var(--fu);color:var(--muted)}
.wx-hourly .wx-ico td{padding:4px}
.wx-hourly .wx-mut td{color:var(--muted);font-size:12px}
.wx-hourly .wx-chart td{padding:0;vertical-align:stretch}
.wx-hourly .wx-chart svg{display:block;width:100%;height:90px}
.wx-hourly .wx-chart th{vertical-align:top;font-size:11px;color:var(--muted)}
.wx-hourly .wx-chart th span{display:block}
.wx-hourly .wx-chart th span+span{margin-top:52px}
.wx-partner{margin:32px 0 8px;text-align:center;color:var(--muted);font-size:14px;justify-content:center;text-align:center}
.wx-partner span{display:block;margin-bottom:8px}
.wx-partner-logo{display:inline-block;font-weight:800;font-size:22px;line-height:1;font-family:var(--fh);color:var(--brand);letter-spacing:-.01em}
.wx-partner-logo img{margin:0 auto}   /* globální img{display:block} by logo lepilo vlevo */
.wx-partner-logo:hover{text-decoration:underline}
@media(max-width:640px){.wx-grid{grid-template-columns:minmax(0,1fr)}.wx-temp{font-size:34px}}

/* ── ANKETY: obrázek, perex, souboj, navigace ── */
.poll-img{margin:-4px 0 12px;border-radius:var(--r);overflow:hidden}
.poll-img img{width:100%;height:auto;display:block}
.poll-perex{color:var(--ink2);font-size:14px;line-height:1.55;margin:-6px 0 14px}
.poll-ended{display:inline-block;background:var(--bg3);color:var(--muted);font:700 11px/1 var(--fu);padding:5px 10px;border-radius:20px;margin-bottom:12px}
.poll-article{display:inline-block;margin-top:12px;font:700 13px/1.3 var(--fu);color:var(--brand)}
.poll-article:hover{text-decoration:underline}
.poll-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.poll-nav .btn{padding:8px 14px}
.poll-nav-i{color:var(--muted);font:600 12px/1 var(--fu)}
.polls-list{display:flex;flex-direction:column;gap:22px;max-width:640px}
/* souboj */
.poll-souboj .ps-card{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.ps-img{flex:none;width:96px;height:96px;border-radius:10px;overflow:hidden;background:var(--bg2)}
.ps-img img{width:100%;height:100%;object-fit:cover;display:block}
.ps-body{flex:1;min-width:0}
.ps-subject{font:800 16px/1.2 var(--fh);color:var(--ink)}
.ps-sub{font:600 12px/1.2 var(--fu);color:var(--muted);margin-top:2px}
.ps-desc{font-size:13px;color:var(--ink2);line-height:1.5;margin-top:6px}
.ps-pick{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-weight:600;cursor:pointer}
.ps-res{margin-top:10px}
.ps-res b{font:800 15px/1 var(--fu);color:var(--brand)}
.ps-res .poll-bar{margin-top:5px}
@media(max-width:520px){.ps-img{width:72px;height:72px}}

/* ── ANKETA: hlasování (šablonový .popt) + pilulka součtu ── */
.popt.vote{cursor:pointer}
.popt.vote input{position:absolute;opacity:0;pointer-events:none}
.popt.vote:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px rgba(226,6,19,.18)}
.popt.vote:hover{border-color:var(--brand)}
.poll-form .poll-btn{margin-top:6px}
.ptotal .ppill{display:inline-block;background:var(--brand);color:#fff;font:700 12px/1 var(--fu);padding:5px 11px;border-radius:12px;margin-left:6px}
.ps-card.win{border-color:rgba(226,6,19,.45);box-shadow:0 0 0 1px rgba(226,6,19,.25)}
/* newsletter band – inline e-mail form */
.nl-band{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nl-band input[type=email]{border:none;border-radius:6px;padding:11px 14px;font:14px system-ui;min-width:220px;color:var(--ink)}
@media(max-width:640px){.nl-band{width:100%;justify-content:center}.nl-band input[type=email]{flex:1;min-width:0}}
/* in-article reklama (700×250 v těle článku) */
.art-ad{margin:28px 0}

/* ── ČLÁNEK: plovoucí sdílení vlevo (ze šablony) ── */
.sticky-share{position:fixed;left:calc(50% - 600px);top:280px;display:flex;flex-direction:column;gap:8px;z-index:40;opacity:0;pointer-events:none;transition:opacity .25s}
.sticky-share.visible{opacity:1;pointer-events:auto}
.sticky-share a,.sticky-share button{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:transform .15s;text-decoration:none}
.sticky-share a:hover,.sticky-share button:hover{transform:scale(1.1)}
.sticky-share .ss-fb{background:#1877f2}.sticky-share .ss-x{background:#000}.sticky-share .ss-wa{background:#25d366}.sticky-share .ss-save{background:var(--surf);color:var(--muted);font-size:16px}
@media(max-width:1200px){.sticky-share{display:none}}

/* hlavní foto článku: jednotný ořez 16/10 jako hero na homepage (horizontální i na mobilu) */
.art-hero img{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover}

/* ── SUBNAV: rozbalovací podmenu rubrik ── */
.subnav .sn{position:relative;display:inline-flex}
.subnav .sn>a{display:inline-flex;align-items:center;height:44px}
.subnav .sn-drop{display:none;position:absolute;left:-16px;top:100%;background:var(--surf);border:1px solid var(--line);border-top:none;border-radius:0 0 10px 10px;box-shadow:0 10px 26px rgba(0,0,0,.13);min-width:200px;padding:6px 0;z-index:120;text-transform:none;letter-spacing:0}
.subnav .sn:hover .sn-drop,.subnav .sn:focus-within .sn-drop{display:block}
.subnav .sn-drop a{display:block;padding:10px 18px;font:600 13px/1.2 var(--fu);color:var(--ink2)}
.subnav .sn-drop a:hover{background:var(--hover);color:var(--brand-a)}
.subnav .sn-drop a:first-child{color:var(--brand);font-weight:700}
@media(max-width:640px){.subnav .sn-drop{display:none !important}}

/* ── KOMENTÁŘE: modal přihlášení + taby ── */
.modal.cmodal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;align-items:center;justify-content:center;padding:20px}
.modal.cmodal.open{display:flex}
.cmodal .modal-box{background:var(--surf);border-radius:14px;padding:24px 26px;max-width:420px;width:100%;box-shadow:0 14px 44px rgba(0,0,0,.3)}
.cmodal h3{font:900 19px/1.25 var(--fh);margin:0 0 12px}
.ctabs{display:flex;gap:6px;margin-bottom:14px}
.ctabs button{flex:1;background:var(--bg2);border:none;border-radius:8px;padding:10px;font:700 13px/1 var(--fu);color:var(--muted);cursor:pointer}
.ctabs button.on{background:var(--brand);color:#fff}
.cmodal input{width:100%;border:1px solid var(--line2);border-radius:8px;padding:11px 13px;font:14px var(--fu);margin-bottom:9px}
.cmodal .csubmit{width:100%;margin-top:2px}
.cmodal .btn.s{width:100%;background:var(--surf);border:1px solid var(--line2);border-radius:8px;padding:10px;font:700 13px/1 var(--fu);color:var(--muted);cursor:pointer}
.csubmit{background:var(--brand);color:#fff;border:none;border-radius:8px;padding:11px 22px;font:700 13px/1 var(--fu);cursor:pointer}

/* subnav: jednotné zarovnání položek s dropdowny i bez nich */
.subnav{align-items:center}
.subnav>a{display:inline-flex;align-items:center;height:44px}

/* ---------- Bannery — pozice a markup ostrého webu (GAM sloty přes GTM) ---------- */
.banner{margin:0 0 28px}
.banner--fixh{min-height:min(300px,43vw)}   /* pod perexem/článkem: místo rezervované předem, text neodskakuje */
.text-center{text-align:center}
/* vlastní bílé „tělo webu": fixní sloupec v šířce --maxw pod obsahem. Branding si
   přepisuje pozadí body — tenhle pruh zajistí, že obsah VŽDY sedí na bílé a kreativa
   zůstane jen po stranách (z-index -1 = nad pozadím body, pod obsahem). */
/* servisní iframy reklamních scriptů přímo v body (prebid runnery, usersyncy…)
   nesmí vytvořit řádek/prostor — viditelné reklamní iframy žijí VŽDY uvnitř slotů */
body>iframe{display:none !important}
/* nepozicované pruhy nad obsahem chráníme před vrstvami kreativ vlastním z-indexem */
.beta,.ticker{position:relative;z-index:98}
/* Obal těla webu je ŠIROKÝ JEN JAKO OBSAH, ne přes celé okno.
   Dřív byl přes celou šířku a měl z-index:1, takže po stranách sice nic nekreslil,
   ale BRAL KLIKNUTÍ — branding kreativa leží pod ním na úrovni body (z auto), takže
   se na ni myš vůbec nedostala. Klikat šlo jen v pruhu leaderboardu, který je mimo
   tenhle obal. Změřeno 5. 8. 2026: při okně 1600 px vracel elementFromPoint(40, 500)
   MAIN uvnitř #pagebody, ne branding. (nahlásil Matěj se snímkem zelené/červené zóny)
   Vizuálně se nic nemění — šedý sloupec ::before maloval přesně tuhle šířku už dřív. */
#pagebody{position:relative;z-index:1;width:min(100%,var(--maxw));margin-inline:auto}
#pagebody::before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,var(--maxw));background:var(--bg);z-index:-1}
.banner__slot{position:relative;max-width:100%}
/* GPT nastavuje iframe/div kreativy na pevnou šířku (480px wallpaper…) — bez
   stropu by na mobilu roztáhl grid track (viz minmax(0,1fr)) nebo trčel z okraje.
   JEN MOBIL: na desktopu branding kreativa (2000px, průhledný střed) i leaderboard
   PŘETÉKAJÍ ZÁMĚRNĚ — globální strop je ořezával zprava (Carnilove 18. 7.) */
@media(max-width:960px){.banner__slot iframe,.banner__slot>div{max-width:100%}}
/* horní leaderboard drží výšku VŽDY (i nevyplněný) — odskok obsahu pod brandingem + žádné skákání layoutu */
@media (min-width:992px){.banner--position1,.banner--position8{min-height:230px;display:flex;align-items:flex-start;justify-content:center}}
/* GPT slot horního leaderboardu: branding kreativa (2000×1400) smí v TOKU zabrat
   jen rezervovaný 230px pruh — zbytek přetéká pod obsah (z-index architektura:
   .lb-wrap bez z-indexu se kreslí POD #pagebody z1). Bez stropu odsunula celý web
   o výšku kreativy dolů (Carnilove, 18. 7.). Fancy banner (vlastní <img>, 750×450)
   má jiný markup a stropu se vyhne záměrně. */
#hp_leaderboard,#sub_leaderboard{max-height:230px}

.grid-ad .banner,.grid-ad .banner__slot{display:block;width:100%;max-width:100%}
.banner__slot img{max-width:100%;height:auto}
.banner__slot>div{max-width:100%}
/* Reklama na střed i tehdy, když si výdejový skript nastaví na vnitřní div pevnou
   šířku. Samotný slot je inline-block v obalu s text-align:center, takže inline
   obsah (iframe, obrázek) se vystředí sám — blokový div s pevnou šířkou ale ne
   a zůstal by u levého okraje. (Matěj 31. 7. 2026) */
.banner__slot>div{margin-left:auto;margin-right:auto}
.d-inline-block{display:inline-block}
.adsLabel:has(> div:not(:empty))::before,.adsLabel:has(iframe)::before,.adsLabel:has(img)::before{content:attr(data-adslabel);display:block;font:400 10px/1.6 var(--fs,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center}
/* Vlastní propagace v neprodané pozici není inzerce — nadpis „Reklama" se u ní
   skrývá. Třídu přidá až JS podle čísla řádkové položky z Ad Manageru
   (app/render-chrome.php), takže placená reklama zůstane označená vždy. */
.banner--vlastni .adsLabel::before{content:none !important}
.banner .promo-slot{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,var(--bg2),var(--bg2) 12px,var(--surf) 12px,var(--surf) 24px);border:1px dashed var(--line);border-radius:8px;color:var(--muted);font:600 13px/1 var(--fs,sans-serif);max-width:min(100%,calc(100vw - 40px)) !important}
/* stránkování rubriky (dle ostrého webu) */
.pagination-row{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 24px}
.pagination-row .pg-info{color:var(--muted);font-size:14px}

/* ---------- Dvousloupcové podstránky (main + pravý sloupec 310px) — dle ostrého webu ---------- */
.sub-wrap{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;align-items:start;padding-top:20px}
/* pravý sloupec se táhne vedle článku I doporučených sekcí (span dle počtu řádků,
   třídu rows-N přidává detail článku); DOM zůstává v mobilním pořadí */
@media (min-width:961px){
  .sub-wrap>.article-col{grid-column:1;grid-row:1}
  .sub-wrap>.sub-rail{grid-column:2}
  .sub-wrap>.art-bottom,.sub-wrap>.half2{grid-column:1}
  /* rail spanuje o řádek víc a poslední (prázdný) řádek je 1fr: přebytek výšky railu
     spadne do něj → sekce vlevo se neroztahují (žádné vertikální mezery) a rail
     nikdy nepřeteče přes patičku */
  .sub-wrap.rows-2{grid-template-rows:auto auto 1fr}
  .sub-wrap.rows-3{grid-template-rows:auto auto auto 1fr}
  .sub-wrap.rows-4{grid-template-rows:auto auto auto auto 1fr}
  .sub-wrap.rows-2 .sub-rail{grid-row:1/span 3}
  .sub-wrap.rows-3 .sub-rail{grid-row:1/span 4}
  .sub-wrap.rows-4 .sub-rail{grid-row:1/span 5}
  .sub-wrap .art-bottom .ab-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.sub-main{min-width:0}
.sub-wrap .article-col{max-width:none;min-width:0}
/* obrana: .badge ve VLOŽENÉM obsahu článku (staré embedy z původního webu) nesmí
   absolutně pozicovat — jinak štítek „vyletí" do rohu stránky (článek 49262, Zdraví) */
.art-body .badge{position:static;display:inline-block;box-shadow:none;margin-left:6px}
.art-bottom{margin-bottom:26px}
.art-bottom .shero{margin-bottom:8px}   /* + 8px padding = vizuálně 16 */
.art-commercial{background:var(--bg2);border-radius:14px;padding:20px 22px}
.sub-rail{min-width:0}
.sub-rail .banner{margin-bottom:20px}
@media(max-width:960px){.sub-wrap{grid-template-columns:minmax(0,1fr)}.sub-rail{width:100%}}

/* boxy v pravém sloupci */
.railbox{background:var(--surf);border:1px solid var(--line);border-radius:10px;padding:18px 18px 10px;margin-bottom:22px}
.railbox h3{font:800 17px/1.25 var(--fh);margin-bottom:14px}
.railbox.red{background:var(--brand);border-color:var(--brand);color:#fff}
.railbox.red h3{color:#fff}
.railbox.grey{background:var(--bg2);border-color:var(--bg2)}
/* jednotné uříznutí dlouhých textů na N řádků — nativní „…" (line-clamp), žádné přechody */
.clamp2,.clamp3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.clamp2{-webkit-line-clamp:2}
.clamp3{-webkit-line-clamp:3}
.card h3,.rl-item span,.shero h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.shero p,.hero p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.card:hover h3{text-decoration:underline}
.rl-item{display:flex;gap:12px;align-items:flex-start;padding:6px;margin:-6px -6px 8px;border-radius:8px;transition:background .12s}
.rl-item:hover{background:var(--hover)}
.rl-item img,.rl-item .rl-ph{width:64px;height:46px;object-fit:cover;border-radius:4px;flex:none;background:var(--bg3);margin-top:4px}
.railbox.red .rl-item .rl-ph{background:rgba(255,255,255,.25)}
.rl-item span{font:700 14px/1.5 var(--fh)}
.rl-item:hover span{text-decoration:underline}
/* desktop: railbox = svislý seznam 5 položek (6. skrytá; v pásmu ≤960 se ukazuje 3×2 = 6) */
.railbox>a.rl-item:nth-of-type(n+6){display:none}
/* moduly pod článkem renderují 4 karty; desktop a tablet (3 sloupce) ukazují jen 3, mobil 2×2 všechny */
@media(min-width:641px){.ab-row>.card:nth-child(4){display:none}}
/* railboxy pod obsahem: karty místo svislého seznamu — pásmo 641–960 3×2 (6
   článků, plná šířka), mobil ≤640 2×2 (4 články) */
@media(max-width:960px){
  .railbox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}
  .railbox h3{grid-column:1/-1}
  .railbox>a.rl-item:nth-of-type(n+6){display:block}
  .rl-item{display:block;padding:0;margin:0 0 16px}
  .rl-item:hover{background:none}
  .rl-item img,.rl-item .rl-ph{width:100%;height:auto;aspect-ratio:16/10;margin:0 0 8px;display:block}
}
@media(max-width:640px){
  .railbox{grid-template-columns:repeat(2,minmax(0,1fr))}
  .railbox>a.rl-item:nth-of-type(n+5){display:none}
}

/* půlené řádky (bannery vedle sebe, anketa+wallpaper) */
.half2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;margin-bottom:28px}
.half2 .banner{margin-bottom:0}
.half2 #anketa{min-width:0}
@media(max-width:760px){.half2{grid-template-columns:minmax(0,1fr)}}

/* rectangle jako buňka gridu článků */
.grid-ad{display:flex;align-items:flex-start;justify-content:center}
.grid-ad .banner{margin-bottom:0}

/* Kam dál? + Komerční články */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px}
.duo-h{font:800 18px/1.2 var(--fh);margin-bottom:14px}
.duo .rl-item img,.duo .rl-item .rl-ph{width:74px;height:52px}
.duo .rl-item span{font-size:13px}
.btn-fullred{display:block;background:var(--brand);color:#fff !important;text-align:center;font:700 13px/1 var(--fu);padding:13px;border-radius:6px;margin-top:14px}
.btn-fullred:hover{background:var(--brand-d)}
@media(max-width:760px){.duo{grid-template-columns:minmax(0,1fr)}}

/* ---------- Prvky v těle článku (editor: infobox, tabulka, fotka s popiskem, čára) ---------- */
.art-body hr{border:none;border-top:2px solid var(--line);margin:22px 0}
/* Fotky vložené přímo do textu (importované HTML bez <figure>): stejné zaoblení
   jako všude jinde na webu a mezera pod obrázkem, aby se bez popisku nelepil
   na následující odstavec. Obrázky ve <figure> mezeru neduplikují — tu drží
   figure a popisek. (Matěj 30. 7.) */
.art-body img{border-radius:var(--r);margin-bottom:16px}
.art-body figure.img img{margin-bottom:0}
.art-body figure.img{margin:18px 0}
.art-body figure.img img{border-radius:var(--r);width:100%}
.art-body figure.img figcaption{font:400 13px/1.5 var(--fh);color:var(--muted);padding-top:7px}

/* Fotka vedle textu (loga firem, portréty do medailonků). Redakce si to vybírá
   v editoru; bez třídy je fotka přes celou šířku jako dosud. Podíl v archivu:
   8,6 % fotek je záměrně jinak než přes celou šířku, medián šířky 150 px —
   typicky logo. (Matěj 8. 8. 2026)
   Na úzkých displejích se obtékání RUŠÍ: kolem 150px fotky by na telefonu
   zbyla na text dvouslovná soutěska. */
.art-body figure.img.vlevo,
.art-body figure.img.vpravo{width:38%;max-width:320px;margin:6px 0 14px}
.art-body figure.img.vlevo{float:left;margin-right:22px}
.art-body figure.img.vpravo{float:right;margin-left:22px}
.art-body figure.img.vlevo figcaption,
.art-body figure.img.vpravo figcaption{font-size:12px}
/* Vložený embed (video z YouTube, příspěvek ze sítě). Redakce ho zarovnává
   tlačítkem v editoru; bez třídy sedí vlevo jako dosud. `text-align` sám
   nestačí — rámec je inline a zarovná se jím, ale widget sítě má vlastní
   šířku a potřebuje automatické okraje. (Matěj 18. 8. 2026) */
.art-body figure.vlozeno{margin:18px 0}
.art-body figure.vlozeno.stred{text-align:center}
.art-body figure.vlozeno.stred>*{margin-left:auto;margin-right:auto}
.art-body figure.vlozeno.vpravo{text-align:right}
.art-body figure.vlozeno.vpravo>*{margin-left:auto;margin-right:0}
.art-body figure.vlozeno.vlevo{text-align:left}
.art-body figure.vlozeno.vlevo>*{margin-left:0;margin-right:auto}

/* odstavec za obtékanou fotkou nesmí vlézt pod ni */
.art-body h2,.art-body h3{clear:both}
/* Kalendář vložený do článku ([kalendar:od:do]) má vypadat stejně jako na
   stránce /akce. Uvnitř `.art-body` na něj ale padá článková typografie —
   podtržené odkazy a velikost mezititulků — takže se tady vrací zpátky.
   (Matěj 13. 8. 2026) */
.ev-embed{font-size:15px;line-height:1.45;color:var(--ink);margin:26px 0}
.art-body .ev-embed a{color:inherit;text-decoration:none}
.art-body .ev-embed .bh-cta{color:var(--brand-a);font:700 12px/1 var(--fu)}
.art-body .ev-embed .bh-cta:hover{text-decoration:underline}
.art-body .ev-embed .bh h2{font:900 20px/1.2 var(--fh);color:var(--ink);margin:0;letter-spacing:-.01em}
.art-body .ev-embed .evc h3{font:700 14px/1.3 var(--fh);color:var(--ink);margin:0 0 4px}
.art-body .ev-embed .evc p,.art-body .ev-embed .evb{margin:0}
@media (max-width:700px){
  .art-body figure.img.vlevo,
  .art-body figure.img.vpravo{float:none;width:100%;max-width:none;margin:18px 0}
}
.art-body sup,.art-body sub{font-size:.72em}
.art-body .infobox{background:var(--bg2);border-left:3px solid var(--brand);border-radius:8px;padding:16px 18px;margin:18px 0;font-size:15px}
/* Bez oddělovacích čar mezi řádky a bez vzduchu za posledním řádkem — redakce
   do infoboxů dává souvislý text a linky ho roztahovaly (20. 8. 2026). */
.art-body .infobox li{border-bottom:none;padding:5px 0 5px 22px}
.art-body .infobox li::before{top:12px}
.art-body .infobox > :last-child{margin-bottom:0}
.art-body .infobox ul:last-child li:last-child,.art-body .infobox ol:last-child li:last-child{padding-bottom:0}
/* Sloupce pro redakci: class="sloupce" na obalu (třeba kolem dvou <ul>) —
   na desktopu vedle sebe, na mobilu pod sebou. Jediný povolený způsob, jak
   v článku dělat sloupce: inline styly sanitizace maže. */
.art-body .sloupce{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 28px}
.art-body .infobox--l50{float:left;width:50%;margin:6px 22px 12px 0}
.art-body .infobox--l33{float:left;width:33%;margin:6px 22px 12px 0}
.art-body .infobox--r50{float:right;width:50%;margin:6px 0 12px 22px}
.art-body .infobox--r33{float:right;width:33%;margin:6px 0 12px 22px}
.art-body::after{content:"";display:block;clear:both}
@media(max-width:700px){.art-body .infobox--l50,.art-body .infobox--l33,.art-body .infobox--r50,.art-body .infobox--r33{float:none;width:auto;margin:18px 0}}
.art-body table.tbl{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px}
.art-body table.tbl th{background:var(--bg2);font:700 12px/1.4 var(--fu);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:left}
.art-body table.tbl th,.art-body table.tbl td{border-bottom:1px solid var(--line);padding:9px 11px}
.art-body table.tbl tr:nth-child(even) td{background:var(--bg)}
.frm-filehint{display:block;font:400 12px/1.4 var(--fh);color:var(--muted);margin-top:4px}
.frm-form input[type=file]{font-size:13px}
/* galerie fotek článku (záložka Obrázky) */
.art-gal{margin:22px 0}
.art-gal .ag-h{font:800 16px/1.2 var(--fh);margin-bottom:12px;padding-bottom:8px;border-bottom:3px solid var(--brand)}
.art-gal .ag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.art-gal .ag-grid a{display:block}
.art-gal .ag-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r)}
.art-gal .ag-grid span{display:block;font:400 12px/1.4 var(--fh);color:var(--muted);margin-top:5px}
@media(max-width:640px){.art-gal .ag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.frm-gdpr{font-size:12.5px;color:var(--ink2);line-height:1.5;margin:12px 0}
.frm-gdpr a{color:var(--brand);text-decoration:underline}
.frm-oncehint{color:var(--muted);font-size:12.5px}
/* detail akce */
.event-detail .ev-meta{font:600 14px/1.5 var(--fu);color:var(--ink2);margin:10px 0 16px}
.event-detail .art-hero{margin-bottom:18px}
.evc .tw img{width:100%;height:100%;object-fit:cover}
/* kvíz: fotka a perex k otázce */
.quiz-img{width:100%;max-width:520px;border-radius:var(--r);margin:8px 0}
.quiz-px{font-size:14px;color:var(--ink2);margin:6px 0 10px}
/* play vodoznak videočlánků (červené „D" s trojúhelníkem — zatím kreslené, lze nahradit přesným logem) */
.playwm{position:absolute;left:50%;top:50%;width:64px;height:64px;transform:translate(-50%,-50%);background:var(--brand);border-radius:18% 42% 42% 18%;box-shadow:0 2px 10px rgba(0,0,0,.3);opacity:.92}
.playwm::after{content:"";position:absolute;left:55%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:13px 0 13px 22px;border-color:transparent transparent transparent #fff}
.card .playwm{width:52px;height:52px}
.card .playwm::after{border-width:10px 0 10px 17px}
.art-hero-video .vid-wrap{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000}
.art-hero-video .vid-wrap iframe,.art-hero-video .vid-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}
.art-hero-video figcaption{font:400 13px/1.5 var(--fh);color:var(--muted);padding-top:7px}
/* Fancy banner — pop-up přes stránku (ztmavené pozadí, křížek) */
.fancy-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:400;display:flex;align-items:center;justify-content:center;padding:22px}
.fancy-box{position:relative;max-width:min(920px,94vw)}
.fancy-box .ban-fancy img{max-width:100%;max-height:84vh;width:auto;height:auto;display:block;margin:0 auto;border-radius:4px}
.fancy-box .ban-label{display:block;font:400 10px/1.8 var(--fu);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);text-align:center}
.fancy-close{position:absolute;top:8px;right:8px;z-index:2;width:32px;height:32px;border:none;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fancy-close:hover{background:rgba(0,0,0,.75)}
.cstaff{display:inline-block;background:var(--brand);color:#fff;font:700 10px/1 var(--fu);padding:3px 7px;border-radius:3px;margin-left:6px;vertical-align:1px}

/* ---------- Registrovaní čtenáři (účet, modal, registrace) ---------- */
.hlogin{color:inherit}.hlogout{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}
.hlogout:hover,.hlogin:hover{text-decoration:underline}
.ac-wrap{max-width:900px;margin:0 auto;padding:24px 16px 48px}
.ac-wrap h1{font:900 30px/1.15 var(--fh);margin:0 0 14px}
.ac-lead{color:var(--ink2);line-height:1.6;margin:0 0 18px;max-width:640px}
.ac-cols{display:flex;gap:34px;flex-wrap:wrap;align-items:flex-start}
.ac-form{flex:1;min-width:300px}
.ac-side{width:300px}
.ac-side-t{color:var(--ink2);font-size:14px;margin-bottom:10px}
.ac-form label,.ac-box label{display:block;font-weight:700;font-size:14px;margin:12px 0 5px}
.ac-form input:not([type]),.ac-form input[type=text],.ac-form input[type=email],.ac-form input[type=password],
.ac-box input[type=email],.ac-box input[type=password],.ac-box input[type=text],.ac-box input[type=url],.ac-box input[type=datetime-local],.ac-box textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;line-height:1.2;font-family:inherit;background:var(--surf);color:var(--ink)}
.ac-box textarea{resize:vertical;min-height:96px}
.hint{font-size:12.5px;color:var(--muted)}
.ac-agree{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:12.5px;color:var(--muted);line-height:1.5;cursor:pointer}
.ac-agree input{margin-top:2px;flex:none}
.au-head{display:flex;gap:16px;align-items:center;margin:4px 0 18px}
.au-head .avx{object-fit:cover}
.au-bio{font-size:14.5px;line-height:1.6;color:var(--ink2);max-width:560px}
/* avatar (fotka/iniciály) — kruh, používá se v účtu i diskuzích */
.avx{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;object-fit:cover;color:#fff;font-weight:700;font-family:var(--fu);flex:none;user-select:none}
.ac-head{display:flex;gap:14px;align-items:center;margin:6px 0 6px;flex-wrap:wrap}
.ac-logout{margin-left:auto}                     /* odhlášení vpravo v hlavičce účtu (na mobilu se zlomí pod avatar) */
@media(max-width:520px){.ac-logout{margin-left:0}}
.ac-h2{margin:30px 0 10px;font-size:18px;border-top:1px solid var(--line2);padding-top:22px}
/* Napište nám — stojí nad mazáním účtu, ať to jde říct dřív než odejde. */
.ac-napiste{margin:26px 0 0;color:var(--ink2);line-height:1.6}
.ac-submit.s{width:auto;padding:10px 18px;font-size:14px;margin-top:10px}
.ac-submit.g{background:var(--bg2);color:var(--ink2)}
.ac-filebtn{display:inline-block;background:var(--bg2);border-radius:8px;padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer}
.ac-nltab{border:1px solid var(--line2);border-radius:10px;overflow:hidden;max-width:560px}
.ac-nlrow{display:grid;grid-template-columns:1fr 130px 130px;padding:8px 14px;border-bottom:1px solid var(--bg3);align-items:center}
.ac-nlrow:last-child{border-bottom:none}
.ac-nlrow span:nth-child(2),.ac-nlrow span:nth-child(3){text-align:center}
.ac-nlhead{background:var(--bg2);font:600 12px/1.2 var(--fu);color:var(--muted)}
.ac-nlrow input{width:17px;height:17px;accent-color:var(--brand)}
@media(max-width:560px){.ac-nlrow{grid-template-columns:1fr 80px 80px;padding:8px 10px}}
.ac-cta{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--line2);border-radius:12px;padding:16px 20px}
.ac-cta div{font-size:15.5px;line-height:1.5;color:var(--ink)}
.ac-cta .ac-submit{margin:0;white-space:nowrap;flex:none}
/* moje komentáře */
.ac-cmts{display:flex;flex-direction:column;gap:12px;max-width:640px}
.ac-cmt{border:1px solid var(--line2);border-radius:10px;padding:12px 14px}
.ac-cmt-top{display:flex;gap:10px;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.ac-cmt-top a{font-weight:700;font-size:14px;color:var(--ink);line-height:1.3}
.ac-cmt-top a:hover{color:var(--brand)}
.ac-cmt-body{font-size:14px;line-height:1.5;color:var(--ink2)}
.ac-cmt-date{font-size:12px;color:var(--muted);margin-top:6px;font-family:var(--fu)}
.ac-cst{flex:none;font:700 11px/1 var(--fu);padding:4px 9px;border-radius:20px;white-space:nowrap}
.ac-cst.pub{background:var(--ok-bg);color:var(--ok-ink)}
.ac-cst.wait{background:var(--warn-bg);color:var(--warn-ink)}
.ac-cst.hid{background:var(--bg3);color:var(--muted)}
.ac-cmt-more{display:none}
/* kotevní navigace účtu */
.ac-nav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.ac-nav a{font:600 12.5px/1 var(--fu);padding:8px 14px;border:1px solid var(--line2);border-radius:20px;color:var(--ink2);white-space:nowrap;transition:all .12s}
.ac-nav a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
/* skok na sekci nesmí zajet pod sticky hlavičku */
.ac-h2[id]{scroll-margin-top:120px}
/* Začátek/Konec v tipu na akci: vedle sebe; min-width:0 nutné (datetime-local na
   iOS má velkou vnitřní šířku a bez něj se pole překrývala); na mobilu pod sebe */
.evtip-dt{display:flex;gap:10px}
.evtip-dt>div{flex:1;min-width:0}
@media(max-width:640px){.evtip-dt{display:block}}
/* iOS Safari: datetime-local se nesmrskne pod vnitřní šířku nativního ovladače
   ani s width:100% → pole přetékalo doprava mimo zarovnání. appearance:none
   + min-width:0 donutí WebKit respektovat šířku kontejneru */
.ac-box input[type=datetime-local]{min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;display:block}
.ac-box input[type=file]{width:100%;padding:10px 12px;border:1px dashed var(--line);border-radius:8px;background:var(--bg2);font-size:13px;line-height:1.4;font-family:inherit;color:var(--ink2);cursor:pointer}
.ac-box input[type=file]::file-selector-button{background:var(--surf);border:1px solid var(--line);border-radius:6px;padding:6px 12px;margin-right:10px;font-weight:700;font-size:13px;line-height:1;font-family:inherit;color:var(--ink);cursor:pointer}
.ac-form input:focus,.ac-box input:focus,.ac-box textarea:focus{outline:none;border-color:#e20613;box-shadow:0 0 0 3px #fdf2f1}
.ac-row{display:flex;gap:14px}.ac-row>div{flex:1}
.ac-chk{display:flex;gap:9px;align-items:flex-start;font-weight:400!important;font-size:13px;color:var(--ink2);line-height:1.5;margin:16px 0 4px}
.ac-chk input{margin-top:3px;flex:0 0 auto}
.ac-chk a{color:var(--brand-a)}
.ac-submit{width:100%;margin-top:16px;background:#e20613;color:#fff;border:0;border-radius:8px;padding:13px;font-weight:700;font-size:16px;line-height:1;font-family:inherit;cursor:pointer}
.ac-submit:hover{background:#c50511;color:#fff}
.ac-danger{background:#111;max-width:280px}.ac-danger:hover{background:#000}
.ac-err{background:var(--err-bg);color:var(--err-ink);border:1px solid var(--err-line);border-radius:8px;padding:10px 12px;margin:0 0 14px;font-size:14px}
.ac-ok{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line);border-radius:8px;padding:10px 12px;margin:0 0 14px;font-size:14px}
.ac-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;max-width:520px}
.ac-krow{display:flex;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line)}
.ac-krow:last-child{border-bottom:0}.ac-krow span{color:var(--ink2)}
/* sociální tlačítka */
.ac-soc{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin:8px 0;padding:11px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px;color:#fff}
.ac-soc svg{width:18px;height:18px;fill:currentColor}
.ac-fb{background:#3b5998}.ac-apple{background:#111}.ac-google{background:#4285f4}
.ac-soc:hover{opacity:.92}
.ac-or{text-align:center;color:var(--muted);font-size:13px;margin:14px 0 6px;position:relative}
.ac-links{margin-top:14px;font-size:14px}.ac-links a{color:var(--brand-a)}
/* modal */
.ac-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9999;padding:20px;overflow:auto}
.ac-modal.on{display:flex;align-items:flex-start;justify-content:center}
.ac-box{background:var(--surf);border-radius:14px;padding:24px 26px 26px;max-width:440px;width:100%;margin:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.ac-box h2{font:800 20px/1.2 var(--fh);margin:0 0 14px;text-align:center}
.ac-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:50%;background:var(--bg2);color:var(--ink2);font:700 14px/1 var(--fu);cursor:pointer;display:flex;align-items:center;justify-content:center}
.ac-close:hover{background:var(--hover)}
.ac-x{position:absolute;right:14px;top:12px;background:none;border:0;font-size:24px;line-height:1;color:var(--muted);cursor:pointer}
@media(max-width:560px){.ac-cols{flex-direction:column}.ac-side{width:100%;order:-1;margin-bottom:18px}.ac-row{flex-direction:column;gap:0}}
.ac-pw{position:relative}
.ac-pw input{padding-right:44px!important;width:100%}
.ac-pw-t{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--muted);cursor:pointer;padding:6px;line-height:0}
.ac-pw-t svg{width:20px;height:20px}
.ac-pw-t.on{color:var(--brand-a)}

/* ===== HRY (osmisměrky, tajenky) ===== */
.games-grid{margin-bottom:8px}
.game-card{display:flex;flex-direction:column;gap:8px;background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:18px;transition:box-shadow .15s}
.game-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.game-card b{font:800 17px/1.3 var(--fh);color:var(--ink)}
.gc-type{font:700 11px/1 var(--fu);color:var(--brand);text-transform:uppercase;letter-spacing:.06em}
.gc-meta{font:400 12.5px/1.4 var(--fu);color:var(--muted)}
.ws{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;margin:14px 0}
.ws-grid{display:grid;gap:3px;flex:none;max-width:100%;user-select:none}
.ws-c{width:clamp(22px,7vw,34px);height:clamp(22px,7vw,34px);display:flex;align-items:center;justify-content:center;background:var(--surf);border:1px solid var(--line);border-radius:6px;font:700 clamp(12px,3vw,15px)/1 var(--fu);cursor:pointer}
.ws-c.sel{background:var(--brand);color:#fff;border-color:var(--brand)}
.ws-c.found{background:var(--brand-bg);border-color:var(--brand);color:var(--brand)}
.ws-c.rest{background:var(--brand);border-color:var(--brand);color:#fff}
.ws-side{flex:1;min-width:210px}
.ws-help{font:500 14.5px/1.55 var(--fu);color:var(--ink);background:var(--bg2);border-radius:8px;padding:10px 14px;margin-bottom:12px}
.ws-words{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0}
.ws-words li{background:var(--bg2);border-radius:6px;padding:6px 10px;font:700 13px/1 var(--fu)}
.ws-words li.found{text-decoration:line-through;opacity:.45}
.ws-secret{margin-top:14px;font:600 15px/1.4 var(--fu)}.ws-secret b{color:var(--brand)}
.tj{margin:14px 0}
.tj-qs{padding-left:20px;margin-bottom:16px}.tj-qs li{font:400 14.5px/1.6 var(--fu);margin-bottom:4px}
.tj-rows{display:flex;flex-direction:column;gap:6px;overflow-x:auto;padding-bottom:4px}
.tj-row{display:flex;gap:4px;align-items:center}
.tj-n{width:24px;font:700 13px/1 var(--fu);color:var(--muted);flex:none}
.tj-pad{width:clamp(24px,7vw,34px);flex:none}
.tj-sp{width:clamp(10px,3vw,16px);flex:none}
.tj-hint-a{font-size:12.5px;color:var(--brand);white-space:nowrap;text-decoration:underline;text-underline-offset:2px}
.tj-i{width:clamp(24px,7vw,34px);height:clamp(24px,7vw,34px);flex:none;text-align:center;border:1px solid var(--line);border-radius:6px;font:700 15px/1 var(--fu);background:var(--surf);text-transform:uppercase;padding:0}
.tj-i.tj-s{border-color:var(--brand);background:var(--brand-bg)}
.tj-row.done .tj-i{background:var(--ok-bg);border-color:var(--ok-line)}
.tj-row.done .tj-i.tj-s{background:var(--brand-bg);border-color:var(--brand);color:var(--brand)}
.tj-i:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px #fdf2f1}
.game-done{margin:18px 0;background:var(--bg2);border-radius:12px;padding:18px 20px}
.game-done h3{font:900 18px/1.2 var(--fh);margin-bottom:8px}
.gd-time{font:800 18px/1.4 var(--fh)}.gd-rank{font:400 14px/1.5 var(--fu);color:var(--ink2)}
.gd-more{display:inline-flex;align-items:center;background:var(--bg2);color:var(--ink2) !important;border:1.5px solid var(--line);border-radius:10px;padding:0 22px;font:700 14px/1 var(--fu)}
.game-done .ac-submit.s{margin:0}
.game-lb{margin:22px 0;background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.game-lb h3{font:800 15px/1.2 var(--fh);margin-bottom:10px}
.game-lb ol{list-style:none;padding:0;counter-reset:lb;margin:0}
.game-lb li{counter-increment:lb;display:flex;justify-content:space-between;gap:12px;font:600 13.5px/1.6 var(--fu);border-bottom:1px solid var(--line);padding:5px 0}
.game-lb li:last-child{border:none}
.game-lb li span::before{content:counter(lb) ". ";color:var(--muted)}
