/* ═══════════════════════════════════════════════════════════════════════════════
   MOBILNÍ VRSTVA — vlastní design pro telefon (12. 8. 2026)

   Davidovo zadání: „nechci web, který se jen přizpůsobí šířce, ale něco, co je
   přímo stavěné pro mobil."

   PROČ JEDNO HTML A NE DRUHÁ VERZE STRÁNEK: Google indexuje mobil-first a servírovat
   jiný obsah podle zařízení je nejrychlejší cesta, jak si rozbít pozice (a taky by to
   znamenalo udržovat 82 stránek dvakrát). Obsah proto zůstává stejný do posledního
   písmene — mění se LAYOUT a INTERAKCE, tedy přesně to, co dělá rozdíl mezi
   „zmenšeným desktopem" a appkou.

   Co je na mobilu jinak než na desktopu:
     · spodní navigace pod palcem místo lišty nahoře (a hamburgeru),
     · široké tabulky se rozpadnou na karty — 5 sloupců na 375 px nikdy nebude čitelných,
     · obsah článku (kotvy) je zásuvka, ne dlouhý seznam na začátku textu,
     · hlavní akce je vždy po ruce ve spodním pruhu, ne někde v textu,
     · větší písmo, širší řádkování, méně orámování — čte se to v ruce, ne u stolu.

   Vrstva se zapíná pod 860 px NEBO třídou `mobil` na <html> (tu dává js/mobil.js
   podle skutečného zařízení, ne jen podle šířky okna).
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 860px) {

  /* ── ZÁKLADNÍ RYTMUS ─────────────────────────────────────────────────────── */
  html { -webkit-text-size-adjust: 100%; }
  body {
    font-size: 17px;                 /* na telefonu se čte z ~30 cm, ne z 60 */
    line-height: 1.72;
    padding-bottom: 76px;            /* místo pro spodní navigaci */
  }
  main, .container, .wrap, article { padding-left: 18px; padding-right: 18px; }
  p { margin: 0 0 1.15em; }

  h1 { font-size: 1.72rem; line-height: 1.22; letter-spacing: -.01em; margin: .35em 0 .5em; }
  h2 { font-size: 1.32rem; line-height: 1.3; margin: 1.9em 0 .55em; }
  h3 { font-size: 1.08rem; line-height: 1.35; margin: 1.5em 0 .45em; }

  /* Obrázky ať drží tvar a nezvětšují stránku */
  img, video, iframe, svg { max-width: 100%; height: auto; }

  /* ── HORNÍ LIŠTA: jen logo + zkratka k nástroji ───────────────────────────── */
  .site-nav {
    position: sticky; top: 0; z-index: 40;
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px; padding: 10px 16px;
    background: rgba(255,255,255,.94);
    backdrop-filter: saturate(1.4) blur(8px);
    border-bottom: 1px solid var(--border, #E3E6E8);
  }
  .site-nav .nav-logo { font-size: 1.02rem; }
  /* Desktopové odkazy na mobilu nemají co dělat — vše je ve spodní navigaci
     a v zásuvce „Víc". Zůstávají v HTML kvůli robotům a odkazové struktuře. */
  .site-nav .nav-links { display: none !important; }
  /* Hamburger (dělá ho js/nav.js) na mobilu končí — otevíral by .nav-links, které
     jsou skryté, a dvě navigace vedle sebe jen matou. Vše je dole a v zásuvce „Víc". */
  .nav-toggle { display: none !important; }
  /* Desktopové CTA v liště nahrazuje .m-nav-cta (kratší, vejde se vedle loga) */
  .site-nav .nav-cta { display: none !important; }

  /* Pilulka nad nadpisem má uvnitř <span> s číslem. `inline-flex` z toho na úzké
     obrazovce udělá tři sloupce, které se každý zalomí zvlášť („PERSONALIZOVANÝ
     KVÍZ · ASI | 90 | SEKUND"). V block kontextu text zase teče jako věta.
     `!important` je tu nutný: pravidlo bydlí v <style> uvnitř <body>, tedy až za
     odkazem na tenhle soubor v <head>, a při stejné specificitě by vyhrálo ono. */
  .home-eyebrow { display: inline-block !important; gap: 0; line-height: 1.7; }

  .m-nav-cta {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 9px 15px; border-radius: 999px;
    background: var(--green, #00693E); color: #fff;
    font-size: .86rem; font-weight: 700; text-decoration: none;
    white-space: nowrap;
  }

  /* ── SPODNÍ NAVIGACE ─────────────────────────────────────────────────────── */
  .m-tabbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    display: grid; grid-template-columns: repeat(5, 1fr);
    background: rgba(255,255,255,.97);
    backdrop-filter: saturate(1.4) blur(10px);
    border-top: 1px solid var(--border, #E3E6E8);
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  .m-tabbar a {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; padding: 9px 2px 8px; min-height: 56px;
    color: var(--muted, #767D85); text-decoration: none;
    font-size: .66rem; font-weight: 600; letter-spacing: .01em;
  }
  .m-tabbar a svg { width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.7; }
  .m-tabbar a.m-tab-on { color: var(--green, #00693E); }
  .m-tabbar a.m-tab-on svg { stroke: var(--green, #00693E); }

  /* ── ZÁSUVKA „VÍC" ───────────────────────────────────────────────────────── */
  .m-drawer {
    position: fixed; inset: 0; z-index: 70;
    background: rgba(20,24,22,.42);
    opacity: 0; pointer-events: none; transition: opacity .18s ease;
  }
  .m-drawer.on { opacity: 1; pointer-events: auto; }
  .m-drawer-panel {
    position: absolute; left: 0; right: 0; bottom: 0;
    max-height: 82vh; overflow-y: auto;
    background: var(--surface, #ffffff);
    border-radius: 16px 16px 0 0;
    padding: 8px 18px calc(22px + env(safe-area-inset-bottom, 0));
    transform: translateY(12px); transition: transform .2s ease;
  }
  .m-drawer.on .m-drawer-panel { transform: none; }
  .m-drawer-grab { width: 38px; height: 4px; border-radius: 99px; background: var(--border, #E3E6E8); margin: 8px auto 14px; }
  .m-drawer h4 {
    font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
    color: var(--muted, #767D85); margin: 16px 0 6px;
  }
  .m-drawer a {
    display: block; padding: 12px 2px; color: var(--text, #1C1E21);
    text-decoration: none; font-size: 1rem; font-weight: 600;
    border-bottom: 1px solid var(--border, #E3E6E8);
  }
  .m-drawer a:last-child { border-bottom: none; }

  /* ── TABULKY JAKO KARTY ──────────────────────────────────────────────────────
     Srovnávací tabulky jsou jádro obsahu, ale 5 sloupců na 375 px se nedá číst ani
     s vodorovným posuvem. Každý řádek se proto stane kartou a buňky dostanou popisek
     ze záhlaví (doplní js/mobil.js do data-label). */
  .m-cards table, .m-cards thead, .m-cards tbody, .m-cards tr, .m-cards th, .m-cards td {
    display: block; width: auto !important;
    /* tabulky bývají v obalu s vlastní šířkou (overflow-x kontejner) — v kartovém
       režimu musí všechno spadnout do šířky obrazovky, jinak se posouvá stránka */
    min-width: 0 !important; max-width: 100% !important;
  }
  .m-cards { overflow-x: visible !important; }
  .m-cards td, .m-cards th { white-space: normal !important; overflow-wrap: anywhere; }
  .m-cards thead { display: none; }
  .m-cards table { border-collapse: separate; border-spacing: 0; }
  .m-cards tr {
    background: var(--surface, #ffffff);
    border: 1px solid var(--border, #E3E6E8);
    border-radius: var(--r, 8px);
    padding: 4px 14px 10px;
    margin: 0 0 12px;
    box-shadow: var(--sh-xs, 0 1px 3px rgba(20,24,22,.06));
  }
  .m-cards td {
    display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
    padding: 9px 0; border-bottom: 1px solid var(--border, #E3E6E8);
    font-size: .95rem; text-align: right;
  }
  .m-cards tr td:last-child { border-bottom: none; }
  .m-cards td::before {
    content: attr(data-label);
    flex: 0 0 42%;
    text-align: left;
    font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    color: var(--muted, #767D85);
  }
  /* První buňka řádku = nadpis karty (typicky název produktu nebo e-shopu) */
  .m-cards td.m-card-head {
    display: block; text-align: left;
    font-size: 1.06rem; font-weight: 700; color: var(--text, #1C1E21);
    padding: 12px 0 10px; border-bottom: 1.5px solid var(--border, #E3E6E8);
  }
  .m-cards td.m-card-head::before { content: none; }
  .m-cards td[data-label=""]::before { content: none; }

  /* ── OBSAH ČLÁNKU JAKO ZÁSUVKA ───────────────────────────────────────────── */
  .m-toc-btn {
    position: sticky; top: 56px; z-index: 30;
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    width: 100%; margin: 14px 0 18px; padding: 12px 15px;
    background: var(--green-light, #E7F5EC); border: 1px solid var(--green-border, #BEE3CC);
    border-radius: var(--r, 8px); color: var(--green, #00693E);
    font-family: inherit; font-size: .92rem; font-weight: 700; cursor: pointer;
  }
  /* Původní seznam kotev skrývá až js/mobil.js, a jen když zásuvku opravdu postaví.
     Natvrdo v CSS by na článku s méně než třemi sekcemi zmizel bez náhrady. */
  .m-toc-btn + .toc-box { display: none; }

  /* ── STICKY AKCE ─────────────────────────────────────────────────────────────
     Hlavní akce stránky je vždy po ruce. Ukáže se, až člověk odscrolluje první
     obrazovku (řídí js/mobil.js), aby nepřekážela hned na začátku. */
  .m-action {
    position: fixed; left: 12px; right: 12px; bottom: 68px; z-index: 55;
    display: flex; align-items: center; gap: 10px;
    padding: 11px 12px 11px 15px;
    background: var(--surface, #ffffff);
    border: 1px solid var(--green-border, #BEE3CC);
    border-radius: 999px;
    box-shadow: var(--sh-lg, 0 12px 32px rgba(20,24,22,.12));
    transform: translateY(140%); transition: transform .22s ease;
    /* ⚠️ Bez tohohle je to past: posunutá lišta sice není vidět, ale pořád leží
       přes spodní navigaci a odchytává na ní kliknutí. Dokud čtenář neodscrolluje
       první obrazovku, nešly by zmáčknout prostřední záložky. */
    visibility: hidden; pointer-events: none;
  }
  .m-action.on { transform: none; visibility: visible; pointer-events: auto; }
  .m-action-text { flex: 1; min-width: 0; font-size: .82rem; line-height: 1.35; color: var(--text-2, #4B5157); }
  .m-action-text b { display: block; font-size: .92rem; color: var(--text, #1C1E21); }
  .m-action a {
    flex: 0 0 auto; padding: 10px 17px; border-radius: 999px;
    background: var(--green, #00693E); color: #fff; text-decoration: none;
    font-size: .87rem; font-weight: 700; white-space: nowrap;
  }

  /* ── SESTAVOVAČ ──────────────────────────────────────────────────────────────
     Na desktopu je kvíz mřížka dlaždic 2×2. Na telefonu to nedává smysl: dlaždice
     jsou malé, ikony se v nich schovávají (desktop je schválně skrývá, protože
     v mřížce nemají místo) a palec míří na drobné cíle.

     Na mobilu z toho dělám SEZNAM ŘÁDKŮ, jak to znají lidé z nativních appek:
     ikona vlevo jako kotva pro oko, název a popis vedle ní, zaškrtnutí vpravo.
     Řádek je přes celou šířku a vysoký přes 60 px, takže se do něj trefí každý. */
  #formPanel .pw-options, #formPanel .ls-options,
  .pw-options, .ls-options {
    grid-template-columns: 1fr !important;
    gap: 9px;
  }
  #formPanel .pw-option, #formPanel .ls-card,
  .pw-option, .ls-card {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 13px;
    min-height: 62px;
    padding: 13px 46px 13px 15px !important;
    text-align: left;
    border-radius: 14px;
  }
  /* Ikona je na mobilu užitečná (na desktopu ji mřížka nepobere) */
  .pw-option-icon, .ls-icon {
    display: flex !important;
    align-items: center; justify-content: center;
    grid-row: span 2;
    width: 42px; height: 42px;
    border-radius: 11px;
    background: var(--surface2, #F7F8F7);
    color: var(--green, #00693E);
  }
  .pw-option-icon .ic, .ls-icon .ic { width: 22px; height: 22px; }
  .pw-option.active .pw-option-icon, .ls-card.active .ls-icon { background: #fff; }
  .pw-option-name, .ls-name { font-size: .99rem; align-self: end; }
  .pw-option-desc, .ls-desc { font-size: .82rem; line-height: 1.4; align-self: start; }
  /* Volba bez popisku (jen název) nesmí mít ikonu přes dva řádky, jinak plave */
  .pw-option:not(:has(.pw-option-desc)) .pw-option-icon { grid-row: auto; }

  /* Zaškrtnutí je na dotyk větší a víc vidět než na desktopu */
  #formPanel .pw-option::after, #formPanel .ls-card::after { width: 24px; height: 24px; right: 14px; }

  /* Hlavní tlačítko kroku drží u spodní hrany, aby se po výběru nemuselo scrollovat.
     Sedí nad spodní navigací; `position: sticky` (ne fixed) znamená, že zůstane
     součástí toku — nepřekryje poslední volbu ani patičku formuláře. */
  #cilDal, #formPanel .btn-submit {
    position: sticky; bottom: 84px; z-index: 35;
    width: 100%; padding: 17px 22px; font-size: 1rem;
    box-shadow: 0 6px 22px rgba(0,80,45,.22);
  }
  /* Persony: dvě vedle sebe se na 375 px zmáčknou — jedna pod druhou, s fotkou */
  #personaPanel .persona-grid { grid-template-columns: 1fr !important; gap: 10px; }
  #personaPanel .persona-photo { height: 128px; }
  #personaPanel .persona-name { font-size: 1.02rem; }

  /* Rozpočet: pilulky ať jsou pod prstem, ne mikroskopické */
  .budget-pill { min-height: 56px; font-size: .95rem; }

  /* ── KARTY A BLOKY ───────────────────────────────────────────────────────── */
  .card, .home-card, .panel, .comp-table-wrap, .cmp-results > * {
    border-radius: var(--r, 8px);
  }
  /* Na šířku 375 px nemá smysl mít v mřížce dva sloupce — vše pod sebe.
     (.quick-routes si řídí mřížku sám níž — dlaždice tam chci dvě vedle sebe.) */
  .grid, .home-grid, .cards, .cmp-grid {
    grid-template-columns: 1fr !important;
    display: grid; gap: 12px;
  }

  /* ── PATIČKA ─────────────────────────────────────────────────────────────── */
  .sm-paticka { padding-bottom: 26px; }

  /* ── DROBNOSTI, KTERÉ NA MOBILU RUŠÍ ─────────────────────────────────────── */
  .breadcrumbs, .breadcrumb { font-size: .78rem; }
  blockquote { margin-left: 0; margin-right: 0; }

  /* ═══════════════════════════════════════════════════════════════════════════
     KOMPOZICE STRÁNEK — druhá vrstva

     První část souboru řeší navigaci, tabulky a písmo. Tady jde o SKLADBU: bloky
     jsou navržené na 1100 px a na 390 px se z nich stávají úzké sloupce s obřími
     mezerami. Naměřeno na 390×844 (iPhone 12–15), u každého bloku je původní výška.

     ⚠️ PROČ `html` PŘED SELEKTOREM: většina stránek má styly ve <style> uvnitř
     <body>, tedy AŽ ZA odkazem na tenhle soubor v <head>. Při stejné specificitě
     by vyhrály ony. `html .x` = (0,1,1) přebije jednotřídové pravidlo stránky,
     aniž bych sypal `!important` do všeho. Na inline `style=""` ale nestačí ani
     to — tam je `!important` jediná cesta (a je u něj vždycky poznámka).
     ═══════════════════════════════════════════════════════════════════════════ */

  /* ── HLAVIČKA: 132 px ukradených před prvním slovem ──────────────────────── */
  html .support-bar { padding: 6px 14px; font-size: .715rem; line-height: 1.36; }
  html .site-nav { padding: 7px 14px; }            /* bylo 81 px vysoké */
  html .m-nav-cta { padding: 8px 14px; font-size: .8rem; }
  /* Lepivá lišta jinak překryje nadpis, na který se skočí z odkazu nebo z obsahu */
  html [id] { scroll-margin-top: 68px; }

  /* ── HERO: 1166 px, tedy 1,4 obrazovky, než se ukáže první obsah ─────────── */
  html .home-hero { padding: 20px 18px 24px; }     /* bylo 44px 24px 8px */
  html .home-hero-grid { display: block; }
  /* Pilulka s eyebrow brala 53 px a lámala se na dva řádky. Na mobilu z ní dělám
     obyčejný nadřádek — nese stejná slova, zabere třetinu místa. */
  html .home-eyebrow {
    display: block !important;
    margin: 0 0 9px; padding: 0;
    background: none; border: 0;
    font-size: .73rem; letter-spacing: .09em; color: var(--green, #00693E);
  }
  html .home-hero h1 { font-size: 1.95rem; line-height: 1.13; margin: 0 0 12px; }
  html .home-hero .lead { font-size: 1rem; line-height: 1.58; margin: 0 0 16px; }
  html .home-cta-btn {
    display: flex; align-items: center; justify-content: center;
    width: 100%; padding: 16px 20px; font-size: 1.02rem;
  }
  /* Čtyři důvěrové štítky se lámaly do tří řad (137 px). Dva sloupce z toho udělají
     mřížku; nejdelší štítek dostane celou šířku, aby se nelámal doprostřed slova. */
  html .home-trust-row {
    display: grid; grid-template-columns: 1fr 1fr;
    align-items: start;                  /* zalomený štítek jinak plave proti sousedovi */
    gap: 7px; margin-top: 14px;
  }
  html .home-chip {
    display: flex; align-items: center; gap: 7px;
    margin: 0; padding: 9px 11px;
    background: var(--surface2, #F7F8F7); border: 0; border-radius: 9px;
    font-size: .78rem; line-height: 1.3;
  }
  html .home-chip:last-child { grid-column: 1 / -1; }
  html .home-chip svg { flex: 0 0 auto; width: 13px; height: 13px; }
  html .home-note-card { padding: 14px 15px; font-size: .87rem; line-height: 1.6; }
  html .home-note-label { font-size: .64rem; letter-spacing: .1em; }

  /* ── STATISTIKY: 4 dlaždice po 154 px ────────────────────────────────────────
     Číslo s popiskem nepotřebuje sloupec na výšku. Ikona vlevo, číslo a popisek
     vedle ní — stejná data, ale řádek místo dlaždice. */
  html .home-stats {
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
    padding: 0 18px; margin: 4px auto;
  }
  html .home-stat {
    display: grid; grid-template-columns: auto 1fr;
    align-items: center; gap: 2px 10px;
    padding: 11px 12px; text-align: left; min-height: 0;
  }
  html .home-stat-ic { grid-row: span 2; width: 32px; height: 32px; }
  html .home-stat b { font-size: 1.28rem; line-height: 1.1; align-self: end; }
  html .home-stat > span:last-child { font-size: .705rem; line-height: 1.3; align-self: start; }

  /* ── RYCHLÉ ODKAZY: 7 fotopilulek na střed, roztřepené do 1-2-1-2 řad ────────
     Stejné odkazy ve stejném pořadí, ale jako mřížka stejně velkých dlaždic.
     `!important` musí být — obal má mřížku v inline `style=""` přímo v HTML. */
  html .quick-routes { padding: 0 18px !important; margin: 18px auto 8px !important; }
  html .quick-routes > div:first-child {
    text-align: left !important; font-size: .8rem; margin-bottom: 10px !important;
  }
  html .quick-routes > div:last-child {
    display: grid !important; grid-template-columns: 1fr 1fr;
    gap: 8px !important; justify-content: stretch !important;
  }
  /* Dvě třídy v selektoru, protože pravidlo stránky pro .qr-btn má taky dvě —
     `html .qr-btn` by na tvar pilulky nestačilo. */
  html .quick-routes .qr-btn {
    display: flex; align-items: flex-end;
    min-height: 68px; padding: 11px 13px;
    border-radius: 13px;                 /* pilulka 999px vypadá na dlaždici cize */
    font-size: .82rem; line-height: 1.24; text-align: left;
  }
  html .quick-routes .qr-btn:first-child { grid-column: 1 / -1; }  /* hlavní vstup */
  /* Lichý počet dlaždic za tou první nechá poslední osamocenou vedle díry —
     ať radši zabere celý řádek. Sudý počet se páruje sám, tam se nic neděje. */
  html .quick-routes .qr-btn:last-child:nth-child(even) { grid-column: 1 / -1; }

  /* Sekce sestavovače má desktopové 36/44 px navrch i vespod — na telefonu z toho
     pod tlačítkem zbyde prázdný bílý pruh přes půl obrazovky. */
  html #sb-tool { padding: 26px 0 22px; }

  /* ── SROVNÁNÍ „my vs. oni": <li> je flex, takže ze <strong> a textu za ním
     dělal dva sloupce — termín se lámal po jednom slově na pět řádků. ───────── */
  html .vs-grid { grid-template-columns: 1fr; gap: 10px; }
  html .vs-list li {
    display: block; position: relative;
    margin: 0 0 10px; padding-left: 26px;
    font-size: .9rem; line-height: 1.5;
  }
  html .vs-list .vs-check { position: absolute; left: 0; top: .2em; }

  /* ── ODKAZY V TEXTU ──────────────────────────────────────────────────────────
     Odkazy bez vlastní třídy nemají nikde nastavenou barvu, takže je prohlížeč
     kreslí výchozí modrou #0000EE (12× jen na /ceny/kreatin/). Vedle zelené
     značky to čte jako nedodělaný web.
     ⚠️ Na DESKTOPU jsou pořád modré — oprava patří do css/main.css, ale tam
     nesahám bez Davidova souhlasu, protože desktopový design je hotový.

     Beru VŠECHNY odkazy bez vlastní třídy — v textu jsou zanořené různě (odstavec,
     div, položka seznamu), takže vyjmenovávat rodiče znamenalo pokaždé pár míst
     minout. Tlačítka a karty mají třídu, těch se to netýká; odkazy, které si
     vyrábí js/mobil.js (lišta, zásuvka), dostávají třídu právě proto, aby sem
     nespadly. Patička má barvu nastavenou, ta si pravidlo přebije sama. */
  html a:not([class]) { color: var(--green, #00693E); }
  /* Patička má vlastní tlumenou barvu zděděnou z obalu (na desktopu #6B7A72).
     Bez téhle výjimky by na mobilu zezelenala a nesouhlasila by s desktopem. */
  html .sm-paticka a:not([class]) { color: inherit; }

  /* ── ČITELNOST DROBNÝCH ŠTÍTKŮ ───────────────────────────────────────────────
     Verzálky pod 11 px se na telefonu drží 30 cm od oka a v pohybu — to už není
     „decentní", to je nečitelné. Na desktopu, kde je řádek širší a monitor dál,
     zůstávají menší; tohle platí jen pod 860 px. */
  html .cmp-tag, html .cmp-ratiopill, html .trust-chip,
  html .blog-eyebrow, html .nw-blog-row-cat, html .pk-opt-desc { font-size: .78rem; }

  /* ── ČASTÉ OTÁZKY ────────────────────────────────────────────────────────── */
  html .faq-q { padding: 13px 14px; font-size: .93rem; line-height: 1.36; }
  html .faq-a-inner { padding: 0 14px 13px; font-size: .87rem; line-height: 1.6; }

  /* ── ČLÁNEK ──────────────────────────────────────────────────────────────────
     Vycentrovaná hlavička je desktopový zvyk; na 390 px se z ní stane věž
     zalomených řádků. Na mobilu vlevo, kompaktně — jako v čtečce. */
  html .article-hero { padding: 18px 18px 12px; text-align: left; }
  html .article-hero h1 { font-size: 1.78rem; line-height: 1.17; margin: 6px 0 10px; }
  html .article-meta {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: flex-start; gap: 6px 8px; font-size: .78rem;
  }
  /* Oddělovací tečky zůstávaly viset na konci zalomeného řádku („17 min čtení ·") */
  html .article-meta .meta-dot { display: none; }
  html .author-box {
    margin-top: 12px; padding: 10px 12px;
    text-align: left; font-size: .8rem; line-height: 1.45;
  }
  html .article-photo { margin: 0 0 4px; border-radius: 0; }
  html .article-wrap { padding-left: 18px; padding-right: 18px; }
  /* Ilustrační foto brala třetinu obrazovky, než se čtenář dostal k textu.
     Bílé pozadí je tu proto, že produktové fotky mají bílý podklad — zelený rám
     kolem nich dělal dvoubarevný obdélník, který vypadal jako chyba. */
  html .article-photo img { max-height: 190px; background: #fff; }

  /* ── CENY: dlaždice kategorií měly 271 px, z toho 150 px obrázek ─────────────
     Na telefonu z nich dělám řádky s náhledem — 7 kategorií se vejde na dvě
     obrazovky místo pěti. `!important` kvůli inline `style=""` přímo v HTML. */
  html .hc-grid { grid-template-columns: 1fr; gap: 9px; }
  html .hc-card {
    display: grid; grid-template-columns: 62px 1fr;
    align-items: center; gap: 13px; padding: 11px 13px;
  }
  html .hc-card-thumb {
    width: 62px; height: 62px; border-radius: 10px;
    /* padding 10px ze stránky by z 62px náhledu udělalo 42px obrázek
       obtažený pozadím — v řádku to vypadá jako rozbitý obrázek */
    padding: 0; object-fit: cover; background: #fff;
  }
  html .hc-card-body { padding: 0; }
  html .hc-card-title { font-size: 1rem !important; }
  html .hc-card-brand { margin-top: 2px !important; font-size: .78rem; }
  html .hc-card-actions { margin-top: 5px !important; }
  html .hc-card-actions > * {
    display: inline; padding: 0; border: 0; background: none;
    font-size: .8rem; font-weight: 700;
  }

  /* Barevný pruh vlevo na kartě je podle docs/DESIGN_TELLS.md nejsilnější znak
     „vibe-coded" webu — a na 390 px ukrajuje z už tak úzkého sloupce. Pozadí karty
     ji odliší samo. (POZOR: .cmp-row nechávám být schválně — tam pruh nese význam,
     zelená/oranžová/červená = hodnocení, ne dekorace.)

     `!important` je tu nutný: články si ten pruh nastavují v inline `style=""`
     přímo v HTML, a to nepřebije žádná specificita. Bez něj pravidlo 12. 8.
     tiše nedělalo nic — vyšlo to najevo až měřením computed stylu. */
  html .sb-article-cta, html .truth-box { border-left-width: 1px !important; }
  html .sb-article-cta { border-left-color: var(--green-border, #BEE3CC) !important; }
  html .truth-box { border-left-color: #F0DFA0 !important; }

  /* Plovoucí „Obsah" (scrollspy) sedí na 16 px nad spodní hranou — přesně tam,
     kde je teď spodní navigace. Obsah článku má na mobilu zásuvku, tohle je
     třetí ovládání téhož a ještě překrývá lištu. */
  html .ss-fab-wrap { display: none; }
  /* Totéž pro „zpět nahoru": překrývalo pátou položku lišty („Víc") na každé
     stránce. Na mobilu je navigace pod palcem, tlačítko nahoru není potřeba. */
  html #back-to-top { display: none !important; }
}

/* Zásuvka i spodní lišta na desktopu neexistují */
.m-tabbar, .m-drawer, .m-action, .m-toc-btn, .m-nav-cta { display: none; }
@media (max-width: 860px) {
  .m-tabbar { display: grid; }
  .m-drawer { display: block; }
  .m-action { display: flex; }
  .m-toc-btn { display: flex; }
  .m-nav-cta { display: inline-flex; }
}
