/* ============================================================
   ANTIVIRAL — ucinnost.css
   Stylopis podstránky Účinnost. Načítá ho jen ucinnost.html, za
   sdílenou trojicí tokens.css / base.css / sections.css.

   Kostru stránky (hero s kotvami, číslované hlavičky sekcí, mřížka
   s vlásečnicemi) nese sections.css kap. 13 — sdílí ji s produkty.html.
   Tady zůstalo jen to, co má jediného uživatele: aparát citací
   a rejstřík protokolů.

   Žádný syrový hex ani nová velikostní řada — všechno z tokens.css.
   Prefix `.u-` tam, kde by obecný název kolidoval se sdílenými.

   Dva přenosy z referencí:
     1 · číslované citace u nároku, plné
         znění v rejstříku na konci        [2ag.com/pages/science]
     2 · rejstřík protokolů jako poslední,
         nejhlubší vrstva stránky          [seed.com/reference/syn-wk]

   Co odsud zmizelo: `.u-sum`, souhrn dokladů jako tabulka vedle H1
   (Ritual, „Essential Takeaways"). Vedle nadpisu soupeřil o pozornost
   a nesl míň, než zabíral — čtyři čísla se vešla do jednoho mono
   řádku pod lead a v pravém sloupci teď stojí fotka jako na Produktech.
   ============================================================ */


/* ============================================================
   1 · CITACE  [2AG — číslo u nároku, plné znění v patě]
   2AG věší k tvrzení horní index a plnou citaci s DOI dává až dolů.
   Tady je to totéž s protokoly: u čísla stojí [1], v rejstříku na
   konci stránky je celé číslo protokolu, laboratoř a norma.

   Není to sup element — horní index by mono číslici srazil pod 9 px.
   Zvedá ji relativní posun, velikost zůstává na --s-mono-sm.
   ============================================================ */
.cite{
  display:inline-block;position:relative;top:-.42em;
  margin-left:4px;white-space:nowrap;
  font:500 var(--s-mono-sm)/1 var(--f-mono);
  letter-spacing:.04em;color:var(--text-accent);
  border-bottom:1px solid transparent;
}
.cite:hover,.cite:focus-visible{border-bottom-color:currentColor;}
/* Na grafitu má značková i inková červená pod 4,5:1 — číslice jde do
   mléčné, stejně jako .sec-no v base.css. */
.field-dark .cite{color:var(--text-on-dark);}


/* ============================================================
   2 · DOPLNĚK V BUŇCE DATOVÉ TABULKY
   Kontaktní doba patří k naměřené hodnotě, ne pod tabulku — číslo
   redukce bez doby působení neznamená nic (viz sekce 01, bod 04). Sdílená
   .dtable to neumí, protože nikde jinde dvouřádkovou buňku nepotřebuje.
   ============================================================ */
.dtable-sub{
  display:block;margin-top:4px;
  font:400 var(--s-mono-sm)/1.4 var(--f-mono);
  letter-spacing:.04em;color:var(--text-tertiary);
}

/* Mezinadpis skupiny řádků — suspenzní vs. nosičová metoda. Hodnoty
   z obou metod nejsou srovnatelné (na ploše vycházejí nižší a norma
   tam klade nižší práh), takže je tabulka nesmí stavět pod sebe bez
   předělu. Silnější linka nad skupinou, mono jako u hlavičky, ale
   v barvě textu — je to nadpis, ne popisek. */
.dtable-group th{
  padding-top:var(--sp-6);padding-bottom:var(--sp-2);
  border-top:1px solid var(--border-strong);
  font:500 var(--s-mono)/1.5 var(--f-mono);
  letter-spacing:.06em;color:var(--text-primary);
  text-transform:none;
}
/* První skupina nemá nad sebou co oddělovat — jen odsazení od hlavičky,
   aby mezinadpis nesplynul s názvy sloupců. */
.dtable tbody:first-of-type .dtable-group th{padding-top:var(--sp-3);border-top:0;}
.dtable-group-note{
  display:block;margin-top:3px;
  font:400 var(--s-mono-sm)/1.5 var(--f-mono);
  letter-spacing:.04em;color:var(--text-tertiary);
}


/* ============================================================
   3 · REJSTŘÍK PROTOKOLŮ  [Seed — referenční knihovna na konci]
   Poslední a nejhlubší vrstva stránky. Nahoře je překlad do lidské
   řeči, tady konkrétní čísla protokolů, na která míří citace výš.
   Řádek je cíl kotvy, proto scroll-margin i zvýraznění na :target —
   po skoku z citace musí být poznat, kam člověk dopadl.
   ============================================================ */
.u-refs{display:flex;flex-direction:column;border-top:1px solid var(--border);}
.u-ref{
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:var(--sp-5);align-items:start;
  padding:var(--sp-5) var(--sp-4) var(--sp-5) 0;
  border-bottom:1px solid var(--border);
  scroll-margin-top:calc(var(--nav-h) + var(--sp-6));
  transition:background-color var(--dur-mid) var(--ease);
}
.u-ref-no{
  font:500 var(--s-mono)/1.5 var(--f-mono);
  letter-spacing:.08em;color:var(--text-accent);
  font-variant-numeric:tabular-nums;
}
.u-ref-body b{display:block;font-weight:600;margin-bottom:4px;}
.u-ref-body p{color:var(--text-secondary);font-size:var(--s-small);max-width:72ch;}
.u-ref-meta{
  display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-3);
  font:400 var(--s-mono-sm)/1.5 var(--f-mono);
  letter-spacing:.04em;color:var(--text-tertiary);
}
/* Vlásečnice mezi údaji místo interpunkce — je to výčet, ne věta. */
.u-ref-meta span{display:inline-flex;align-items:center;gap:var(--sp-4);}
.u-ref-meta span + span::before{
  content:"";width:1px;height:11px;background:var(--border-strong);
}
.u-ref:target{background:var(--accent-wash);}

/* Poznámka pod rejstříkem — co protokol dokládá a co ne. */
.u-refs-note{margin-top:var(--sp-5);max-width:78ch;}


/* ============================================================
   4 · SEKCE 03 — NA KTERÉ VIRY ÚČINEK PLATÍ
   Sekce stála na dvou orámovaných kartách (.duo): vlevo doložené,
   vpravo „netestováno". Dvě karty stejné váhy dělají výsledkovou
   tabuli, na které jedna strana prohrála — a řidší pravá karta
   přitáhne oko dřív, takže první přečtené slovo v sekci bylo
   „netestováno". Obsah zůstal, jen se rozdělil na tři vrstvy:
   naměřený fakt · koho nárok pokrývá · kam nesahá.

   Výčet virů běží ve sdílené .hairgrid ze sections.css kap. 13 —
   žádný nový rám, jen vlásečnice, stejně jako v sekci 01.
   ============================================================ */

/* Naměřené hodnoty nad výčtem. Je to jediné, co se skutečně měřilo;
   jména virů níž jsou důsledek deklarace podle normy. Proto stojí
   výš a nese obě citace. */
.vmeta{
  display:flex;flex-wrap:wrap;
  gap:var(--sp-4) clamp(24px,4vw,56px);
  padding-block:var(--sp-4);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  margin-bottom:var(--sp-7);
}
.vmeta > div{display:flex;flex-direction:column;gap:5px;}
.vmeta dt{
  font:400 var(--s-mono-sm)/1.4 var(--f-mono);
  letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);
}
/* O stupeň nad --s-mono: „>4,00 lg" a „30 s" jsou jediné skutečně naměřené
   hodnoty v celé sekci, ve dvanácti pixelech se ztrácely pod výčtem jmen. */
.vmeta dd{
  /* base.css nemá reset pro dd — bez tohohle si prohlížeč přidá vlastní
     margin-inline-start a hodnota se odsune vpravo od svého štítku. */
  margin:0;
  font:500 var(--s-small)/1.35 var(--f-mono);
  letter-spacing:.01em;color:var(--text-primary);
}

/* Latinský název čeledi nad českým nadpisem buňky. Stejná role jako
   .haircell-no — mono nese fakt, ne dekoraci (DESIGN.md, 4) — ale
   vlastní třída, protože to není pořadové číslo a tracking .14em by
   patnáctipísmennou „Orthomyxoviridae" roztáhl přes celý sloupec. */
.vfam{
  display:block;margin-bottom:var(--sp-2);
  font:500 var(--s-mono-sm)/1.4 var(--f-mono);
  letter-spacing:.08em;text-transform:uppercase;color:var(--text-accent);
}
.vgrid .haircell h3{margin-bottom:var(--sp-3);}
.vlist{display:flex;flex-direction:column;gap:6px;}
.vlist li{
  position:relative;padding-left:var(--sp-4);
  font-size:var(--s-small);color:var(--text-secondary);
}
.vlist li::before{
  content:"";position:absolute;left:0;top:.62em;
  width:6px;height:1.5px;background:var(--text-tertiary);
}

/* Hranice nároku. Vědomě NE rámeček a NE červená: je to věcné
   upřesnění rozsahu, ne varování — stejná úvaha jako u .tag-variant
   v base.css. Svislá linka ho odliší od výčtu nad ním, aniž by z něj
   udělala další kartu. */
.vlimit{
  margin-top:var(--sp-6);
  padding-left:var(--sp-5);
  border-left:2px solid var(--border-strong);
  max-width:78ch;
}
.vlimit b{display:block;font-weight:600;margin-bottom:var(--sp-2);}
.vlimit p{color:var(--text-secondary);font-size:var(--s-small);}


/* ============================================================
   5 · SEKCE 04 — TECHNICKÁ DATA JAKO DATOVÝ LIST
   Třináct řádků .spec v jednom nerozděleném sloupci vedle fotky 4:5
   se nedalo skenovat a fotka se v .split-grid (align-items:center)
   vystředila doprostřed dvojnásobně vysokého souseda. Teď dva sloupce
   po dvou pojmenovaných skupinách, bez fotky a bez rámečků — jediný
   rám v sekci zůstal povinnému sdělení, aby bylo „jasně odlišitelné"
   podle čl. 72 nařízení (EU) 528/2012.
   ============================================================ */
.dsheet{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(32px,4vw,72px);align-items:start;
}
.dsheet-col{display:flex;flex-direction:column;gap:var(--sp-7);}
/* Vědomě NE .kicker: ten si nese červenou linku (base.css) a čtyři skupiny
   by daly na jednu obrazovku čtyři červené prvky — DESIGN.md, pravidlo 3
   povoluje jeden. Stejná mono sazba, ale v barvě textu, takže nadpis
   skupiny zároveň jasně převyšuje klíče .spec-key pod sebou. */
.dgroup-h{
  margin-bottom:var(--sp-3);
  font:600 var(--s-mono)/1 var(--f-mono);
  letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);
}
/* V půlšířce si klíč nesmí ukrojit sloupec podle nejdelšího řádku —
   proto pevný poměr místo minmax(96px,auto) z base.css. */
.dgroup .spec{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);}
.dsheet + .legalnote{margin-top:var(--sp-8);}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:860px){
  .dsheet{grid-template-columns:1fr;gap:var(--sp-7);}
}
@media (max-width:560px){
  .u-ref{grid-template-columns:1fr;gap:var(--sp-2);}
  /* Flex se na 390 px zalomil na ragged čtyři řádky (dva údaje, jeden,
     jeden). Mřížka je srovná do 2×3 a nejdelší hodnota — jméno kmene —
     si vezme celou šířku. */
  .vmeta{
    display:grid;grid-template-columns:1fr 1fr;
    gap:var(--sp-4) var(--sp-5);
  }
  .vmeta > div:first-child{grid-column:1 / -1;}
  /* Klíč nad hodnotu řeší base.css; tady jen zpět na jeden sloupec,
     aby se poměr výš nepřenesl do mobilního rozvržení. */
  .dgroup .spec{grid-template-columns:1fr;}
}
