/* ==========================================================================
   landing-v2-modul.css — extrakce ZDROJ/moduly/modul.css
   Task 4 (landing-v2 SDD) — načítá se VŽDY PO landing-v2.css (pořadí Task 6:
   landing.css → landing-v2.css → landing-v2-modul.css).

   DRY: pravidla duplicitní s landing-v2.css SMAZÁNA (reset, body, header/nav
   .logo/.submenu/.has-sub/.bob/.mdot, @keyframes bob+btnFlash, footer blok,
   .center). Nepoužité zbytky šablonového chromu (.mnav*, .mfoot, .foot-inner)
   smazány — sdílený nav/footer aplikace používá třídy .nav* a .footer-* z
   landing-v2.css.

   Scoping:
   - unikátní modulové třídy (.mcont, .mhero*, .mback, .mctas, .msec, .mfeat*,
     .mextra) → prefix `body.lpv2` (kontrakt; na homepage se nevyskytují)
   - selektory KOLIDUJÍCÍ s homepage verzí v landing-v2.css (a, h1–h3, .lead,
     .eyebrow, .btn*, .cta-final, .cta-card) → prefix `body.page-funkce`
     (modulové stránky mají $bodyClass "page-funkce lpv2" — Task 8), jinak by
     modulová varianta přepsala homepage, která je také body.lpv2
   - aditivní nav/footer doplňky (.submenu a.cur, mobilní stacking footeru)
     ponechány globálně s kvalifikátorem .lp (viz hlavička landing-v2.css)
   ========================================================================== */

:root{
  /* hlavní barva modulu — jednotlivé podstránky ji přepisují; ostatní proměnné dodává landing-v2.css */
  --main:#0d9488; --main-dark:#0f766e; --main-tint:#e6f7f3;
}
body.page-funkce :where(a){color:var(--main);text-decoration:none}
body.page-funkce h1,body.page-funkce h2,body.page-funkce h3{font-family:'Manrope','Inter',sans-serif;letter-spacing:-.015em;line-height:1.15;margin:0}
body.lpv2 .mcont{max-width:1488px;margin:0 auto;padding:0 24px}
body.page-funkce .lead{font-size:1.13rem;color:var(--text-muted);max-width:none}
body.page-funkce .eyebrow{position:relative;display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--main);
  background:color-mix(in srgb,var(--main-tint) 70%,#fff);padding:8px 16px;border-radius:10px;margin-bottom:16px;border:0}
body.page-funkce .eyebrow::before{content:"";position:absolute;inset:0;border-radius:10px;padding:1.5px;pointer-events:none;
  background:linear-gradient(120deg,color-mix(in srgb,var(--main) 55%,#fff),var(--main) 55%,color-mix(in srgb,var(--main) 45%,#fff));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
/* TASK 21: plochý profesionální styl (bez tmavého lemu, text-shadow a skla) —
   jednotné s .lp .btn-primary v landing-v2.css, akcent per modul přes --main. */
body.page-funkce .btn{display:inline-block;padding:13px 26px;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;border:1px solid transparent;text-decoration:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
body.page-funkce .btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--main) 40%,transparent)}
/* pozadí = --main-dark (WCAG AA ≥4,5:1 pro bílý text; světlejší --main na 16px/600 neprochází — audit 2026-07-16) */
body.page-funkce .btn-primary{color:#fff;background:var(--main-dark);
  box-shadow:0 1px 2px rgba(16,24,40,.10),0 6px 16px color-mix(in srgb,var(--main) 20%,transparent)}
/* explicitní color:#fff na hover/active — pojistka proti generickým a:hover pravidlům (landing.css) */
body.page-funkce .btn-primary:hover{color:#fff;background:color-mix(in srgb,var(--main-dark) 84%,#000);transform:translateY(-1px);
  box-shadow:0 2px 4px rgba(16,24,40,.12),0 10px 22px color-mix(in srgb,var(--main) 26%,transparent)}
body.page-funkce .btn-primary:active{color:#fff;transform:none;box-shadow:0 1px 2px rgba(16,24,40,.12)}
body.page-funkce .btn-outline{border-color:var(--border);color:var(--dark);background:#fff}
body.page-funkce .btn-outline:hover{border-color:var(--main);color:var(--main)}
body.page-funkce .btn-ghost{color:var(--dark);font-weight:600}
body.page-funkce .btn-ghost:hover{color:var(--main)}

/* NAV — jen aditivní doplněk ke sdílenému submenu (zvýraznění aktuálního modulu) */
.lp .submenu a.cur{background:var(--bg-soft);color:var(--primary);font-weight:700}

/* HERO */
body.lpv2 .mhero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--main-tint) 0%,#fff 62%,var(--main-tint) 100%);padding:72px 0 64px}
body.lpv2 .mback{display:inline-block;font-size:.9rem;font-weight:600;color:var(--main);margin-bottom:18px}
body.lpv2 .mhero h1{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--dark);margin-bottom:16px}
body.lpv2 .mhero h1 em{font-style:normal;color:var(--main)}
body.lpv2 .mhero .lead{max-width:720px;margin-bottom:28px}
body.lpv2 .mctas{display:flex;gap:14px;flex-wrap:wrap}
/* hero se screenshotem v pravé polovině (moduly s class="mhero has-visual") */
body.lpv2 .mhero.has-visual{min-height:480px;display:flex;align-items:center}
body.lpv2 .mhero.has-visual .mcont{position:relative;z-index:2;width:100%}
body.lpv2 .mhero.has-visual .mhero-text{max-width:540px}
body.lpv2 .mhero-visual{position:absolute;top:0;right:0;bottom:0;width:50%;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:flex-end}
body.lpv2 .mhero-visual::before{content:"";position:absolute;right:-12%;top:50%;transform:translateY(-50%);
  width:560px;height:560px;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,color-mix(in srgb,var(--main) 16%,transparent) 0%,transparent 70%)}
body.lpv2 .mhero-window{position:relative;width:112%;border-radius:16px 0 0 16px;overflow:hidden;background:#fff;
  border:1px solid rgba(58,64,90,.10);border-right:none;box-shadow:0 30px 70px -28px rgba(58,64,90,.34)}
body.lpv2 .mhero-window img{display:block;width:100%}
@media(max-width:960px){body.lpv2 .mhero-visual{display:none}body.lpv2 .mhero.has-visual .mhero-text{max-width:none}}

/* FEATURES */
body.lpv2 .msec{padding:76px 0 0}
body.lpv2 .msec h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;color:var(--dark);margin-bottom:40px}
/* zelený rámeček kolem karet „Co modul umí" (v barvě modulu, s probleskem po okraji) */
body.lpv2 .mfeat-frame{position:relative;border-radius:22px;padding:24px;
  border:1.5px solid var(--main);background:#fff}
body.lpv2 .mfeat-frame{border-color:color-mix(in srgb,var(--main) 34%,transparent)}
body.lpv2 .mfeat-frame::before{content:"";position:absolute;inset:0;border-radius:22px;padding:1.5px;pointer-events:none;
  background:linear-gradient(90deg,transparent 25%,color-mix(in srgb,var(--main) 55%,#fff) 50%,transparent 75%);
  background-size:260% 100%;background-position:150% 0;opacity:0;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:mfeatBeam 6s ease-in-out infinite}
@keyframes mfeatBeam{0%{background-position:150% 0;opacity:0}12%{opacity:1}45%{background-position:-60% 0;opacity:1}58%{opacity:0}100%{background-position:-60% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){body.lpv2 .mfeat-frame::before{animation:none}}
body.lpv2 .mfeat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
/* tematické skupiny karet uvnitř rámečku */
body.lpv2 .mfeat-group + .mfeat-group{margin-top:34px}
body.lpv2 .mfeat-group-title{position:relative;display:inline-block;font-size:1.02rem;font-weight:800;color:var(--main-dark);letter-spacing:-.005em;margin:0 0 18px;
  background:color-mix(in srgb,var(--main-tint) 55%,#fff);padding:9px 18px;border-radius:12px;border:0}
/* gradient rámečku bez plné síly --main (tmavý peak protínal horní hranu jako „čára" — audit 2026-07-16) */
body.lpv2 .mfeat-group-title::before{content:"";position:absolute;inset:0;border-radius:12px;padding:1.5px;pointer-events:none;
  background:linear-gradient(120deg,color-mix(in srgb,var(--main) 50%,#fff),color-mix(in srgb,var(--main) 68%,#fff) 55%,color-mix(in srgb,var(--main) 42%,#fff));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
body.lpv2 .mfeat{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:.2s}
body.lpv2 .mfeat:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(58,64,90,.12);border-color:color-mix(in srgb,var(--main) 28%,transparent)}
body.lpv2 .mfeat h3{font-size:1.08rem;font-weight:700;color:var(--main-dark);margin-bottom:8px}
body.lpv2 .mfeat .soon{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--main-dark);
  background:var(--main-tint);border:1px solid color-mix(in srgb,var(--main) 28%,transparent);border-radius:100px;padding:2px 8px;margin-left:8px;vertical-align:middle;white-space:nowrap}
body.lpv2 .mfeat p{font-size:.93rem;color:var(--text-muted)}
body.lpv2 .mextra{position:relative;width:auto;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  background:var(--bg-soft);border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:24px 0}
body.lpv2 .mfeat-frame + .mextra{margin-top:56px}
body.lpv2 .mextra + .mextra{border-top:0}
body.lpv2 .mextra h3,body.lpv2 .mextra p{max-width:1488px;margin-left:auto;margin-right:auto;padding:0 24px}
body.lpv2 .mextra h3{font-size:1.1rem;font-weight:800;color:var(--main-dark);margin-bottom:6px}
body.lpv2 .mextra p{color:var(--text-muted);font-size:.95rem}

/* CTA — sjednocený poslední blok (stejný na všech podstránkách; přepisuje homepage variantu jen na page-funkce) */
body.page-funkce .cta-final{background:var(--bg);padding:56px 0 72px}
body.page-funkce .cta-card{margin:0 auto;border-radius:26px;text-align:center;padding:clamp(38px,4vw,56px) clamp(28px,4vw,46px);
  background:linear-gradient(160deg,color-mix(in srgb,var(--main) 42%,#fff) 0%,color-mix(in srgb,var(--main) 28%,#fff) 60%,color-mix(in srgb,var(--main) 42%,#fff) 100%);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 20px 48px color-mix(in srgb,var(--main) 26%,transparent),inset 0 1px 0 rgba(255,255,255,.55)}
body.page-funkce .cta-card h2{color:var(--dark);font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;margin-bottom:12px}
body.page-funkce .cta-card p{color:var(--dark);max-width:620px;margin:0 auto 28px}
body.page-funkce .cta-card .btn{display:inline-block;vertical-align:middle;font-weight:700;padding:13px 28px;border:1px solid transparent;border-radius:12px;margin:0 6px}
/* TASK 21: .b1 sjednocen s plochým .btn-primary (bez skla/lemu/lesku) */
body.page-funkce .cta-card .b1{color:#fff;background:var(--main);
  box-shadow:0 1px 2px rgba(16,24,40,.10),0 6px 16px color-mix(in srgb,var(--main) 20%,transparent)}
body.page-funkce .cta-card .b1:hover{color:#fff;background:var(--main-dark);transform:translateY(-1px);
  box-shadow:0 2px 4px rgba(16,24,40,.12),0 10px 22px color-mix(in srgb,var(--main) 26%,transparent)}
body.page-funkce .cta-card .b1:active{color:#fff;transform:none;box-shadow:0 1px 2px rgba(16,24,40,.12)}
body.page-funkce .cta-card .b2{background:#fff;border:1px solid var(--border);color:var(--dark)}
body.page-funkce .cta-card .b2:hover{border-color:var(--main);color:var(--main)}

@media(max-width:900px){body.lpv2 .mfeat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
  body.lpv2 .mfeat-grid{grid-template-columns:1fr}
  /* aditivní mobilní stacking sdíleného footeru (landing-v2.css končí na 960px/2 sloupce);
     Moduly zůstávají 2sloupcové i na mobilu — 21 položek v 1 sloupci mělo ~1250px (audit 2026-07-16) */
  .lp .footer-grid{grid-template-columns:1fr}
  .lp .foot-modules{column-count:2;column-gap:18px}
}

/* ==========================================================================
   Per-page sekce (Task 8) — akcentové barvy modulových podstránek.
   Šablony ZDROJ/moduly/*.html přepisují :root {--main,…} inline <style>em;
   v aplikaci je override scopovaný přes body třídu `modul-{slug}` (přidaná
   k 'page-funkce lpv2' v $bodyClass stránky). Kartotéka (#0d9488) je zároveň
   default v :root výše — override uveden pro explicitnost.
   Ostatní inline styly šablony kartoteka.html (mhero visual) jsou už pokryté
   sdílenými pravidly `.mhero.has-visual` výše — stránka jen přidává třídu.
   ========================================================================== */
body.page-funkce.modul-kartoteka{--main:#0d9488;--main-dark:#0f766e;--main-tint:#e6f7f3}
body.page-funkce.modul-klinicke-dokumenty{--main:#2563eb;--main-dark:#1d4ed8;--main-tint:#eaf1fe}
body.page-funkce.modul-krize{--main:#7c3aed;--main-dark:#6d28d9;--main-tint:#f1ecfe}
body.page-funkce.modul-kalendar-rezervace{--main:#d97706;--main-dark:#b45309;--main-tint:#fdf3e0}
/* formulare: původně teal-500 #14b8a6 (kontrast bílé na CTA 2,49:1) → ztmaveno na AA (audit 2026-07-16) */
body.page-funkce.modul-formulare{--main:#0d9488;--main-dark:#0f766e;--main-tint:#e3f8f5}
body.page-funkce.modul-alerty{--main:#dc2626;--main-dark:#b91c1c;--main-tint:#fdeaea}
body.page-funkce.modul-bezpecnost{--main:#1e40af;--main-dark:#1e3a8a;--main-tint:#e7edfb}
body.page-funkce.modul-cloud{--main:#0ea5e9;--main-dark:#0284c7;--main-tint:#e4f5fd}
body.page-funkce.modul-dochazka{--main:#4f46e5;--main-dark:#4338ca;--main-tint:#ecebfd}
body.page-funkce.modul-multi-pobocka{--main:#9333ea;--main-dark:#7e22ce;--main-tint:#f4e9fe}
body.page-funkce.modul-pokladna{--main:#059669;--main-dark:#047857;--main-tint:#e2f7ef}
body.page-funkce.modul-semafor{--main:#16a34a;--main-dark:#15803d;--main-tint:#e6f7ec}
body.page-funkce.modul-sklad{--main:#ea580c;--main-dark:#c2410c;--main-tint:#fdeee2}
body.page-funkce.modul-statistiky{--main:#c026d3;--main-dark:#a21caf;--main-tint:#fbeafe}
body.page-funkce.modul-zarizeni{--main:#475569;--main-dark:#334155;--main-tint:#eef1f5}

/* Task 9 — dostavěné modulové stránky (bez šablonového zdroje); akcenty voleny
   ze stejné palety (Tailwind 600/700 + světlý tint) tak, aby se neopakovaly:
   dashboard = cyan (přehled/čistota, poblíž brand tealu, odlišný od cloud sky),
   rezervace = žlutá (tematicky přiléhá k amber kalendar-rezervace),
   recall = růžová (péče/recare; odlišná od fuchsiových statistik). */
body.page-funkce.modul-dashboard{--main:#0891b2;--main-dark:#0e7490;--main-tint:#e2f6fb}
body.page-funkce.modul-rezervace{--main:#ca8a04;--main-dark:#a16207;--main-tint:#fdf6e0}
body.page-funkce.modul-recall{--main:#db2777;--main-dark:#be185d;--main-tint:#fcebf3}
/* Task 9 vlna 2/2 — zpravy = rose (komunikace/zprávy; zřetelně červenější než
   růžový recall #db2777), verejny-profil = lime (veřejné/otevřené; jediná
   zeleno-žlutá, odlišná od green semafor i emerald pokladna), vykazy = teal-700
   (instituce/pojišťovny; tmavší než kartoteka teal-600 #0d9488 — dle handoff
   vlny 1: volné rodiny rose/lime + tmavší odstíny obsazených). */
body.page-funkce.modul-zpravy{--main:#e11d48;--main-dark:#be123c;--main-tint:#fdeaee}
body.page-funkce.modul-verejny-profil{--main:#65a30d;--main-dark:#4d7c0f;--main-tint:#f2f8e4}
body.page-funkce.modul-vykazy{--main:#0f766e;--main-dark:#115e59;--main-tint:#e2f0ee}

/* ==========================================================================
   Task 10 — katalog /funkce (body.page-funkce-katalog): karty homepage
   `.module` gridu seskupené do kategorií s `tube-title` hlavičkami.
   Barevná tečka `.mdot` dostává hex per karta inline přes --mdot (hodnoty
   = --main z mapy modul-* výše; karty bez detailní podstránky mají neutrální
   slate #64748b). Selektor přebíjí `.lp .mdot{display:none}` z landing-v2.css
   (globální skrytí šablonových teček v navigaci).
   ========================================================================== */
body.page-funkce-katalog .module .mdot{display:inline-block;width:.6em;height:.6em;border-radius:50%;
  background:var(--mdot,#0d9488);margin-right:.45em;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--mdot,#0d9488) 16%,transparent)}
body.page-funkce-katalog .funkce-cat + .funkce-cat{margin-top:72px}
body.page-funkce-katalog .funkce-cat .module-grid{margin-top:26px}
/* statická karta (bez detailní stránky): bez hover šipky/zvýraznění odkazu */
body.page-funkce-katalog .module--static{cursor:default}
body.page-funkce-katalog .module--static::after{content:none}
body.page-funkce-katalog .module--static:hover{transform:none;border-color:var(--border);box-shadow:var(--shadow)}

/* ==========================================================================
   Task 11 — /o-nas (body.page-onas) + /kontakt (body.page-kontakt): extrakce
   inline <style> šablon ZDROJ/o-nas.html a ZDROJ/kontakt.html. Obě šablony
   stavějí na pravni.css (.wrap/.doc-hero/.doc-body) — landing-v2-pravni.css je
   ale scopnutá na body.page-legal a načítá se jen na právních stránkách, proto
   je potřebný subset zopakován zde pod page-onas/page-kontakt.
   DEDUP (nekopírováno): .eyebrow, .shimmer-green(+shine+keyframes), .lead,
   h1–h3 font (vše landing-v2.css body.lpv2); .o-cta/.k-cta/.cta-card/.b1/.b2
   + @keyframes btnFlash (stránky používají sdílený .cta-final>.cta-card vzor
   z landing-v2.css, viz cenik.php); .o-band (v šabloně nepoužité); reset,
   header/nav a footer (sdílený chrome). Manrope 300 šablony není self-hosted
   (fonts CSS má 500–800) → light prvky (tl-year, ci-v) používají 500.
   ========================================================================== */
/* — sdílený pravni.css subset (obal + doc hero) — */
body.page-onas .wrap,body.page-kontakt .wrap,body.page-ukazka .wrap{max-width:1488px;margin:0 auto;padding:0 24px}
body.page-onas .doc-hero,body.page-kontakt .doc-hero{background:linear-gradient(160deg,var(--primary-light) 0%,#fff 65%,var(--accent-light) 100%);padding:56px 0 40px}
body.page-onas .doc-hero h1,body.page-kontakt .doc-hero h1{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800;margin-bottom:8px;color:var(--dark);letter-spacing:-.015em;line-height:1.2}
/* :where(:not(.btn)) — tlačítka (hero .mctas, CTA) nesmí na hoveru chytit podtržení textových odkazů */
body.page-onas :where(.wrap) a:where(:not(.btn)):hover,body.page-kontakt :where(.wrap) a:where(:not(.btn)):hover{text-decoration:underline}

/* — /o-nas — */
/* crumbs sdílené všemi v2 stránkami (audit 2026-07-16: sjednocení — dřív jen o-nas) */
body.lpv2 .crumbs{padding:16px 0 0;font-size:.85rem;color:var(--text-muted)}
body.lpv2 .crumbs a{font-weight:600}
body.lpv2 .crumbs span:last-child{color:var(--dark);font-weight:600}
body.page-onas .o-lead{font-size:1.1rem;color:var(--text-muted);max-width:760px;margin-top:8px}
body.page-onas .o-lead b{color:var(--dark)}
body.page-onas .sec-label{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin-bottom:6px}
body.page-onas .o-sec{padding:52px 0}
body.page-onas .o-sec h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;color:var(--dark);margin-bottom:8px}
body.page-onas .o-sub{color:var(--text-muted);max-width:720px;margin-bottom:28px}
/* timeline — vlevo čára se šipkou + rok, vpravo text */
/* timeline centrovaná v sekci — obsah je ~820px, vlevo nechával prázdnou pravou polovinu (audit 2026-07-16) */
body.page-onas .tl{position:relative;margin:14px auto 0;max-width:920px}
body.page-onas .tl-item{display:grid;grid-template-columns:66px 1fr;gap:24px}
body.page-onas .tl-rail{display:flex;flex-direction:column;align-items:center}
body.page-onas .tl-line{flex:1;min-height:72px;width:0;border-left:1.6px solid var(--primary);margin-top:10px;position:relative;
  box-shadow:0 0 7px rgba(45,212,191,.32)}
body.page-onas .tl-line::after{content:"";position:absolute;left:0;bottom:-1px;transform:translateX(calc(-50% - .8px));width:13px;height:9px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 9'%3E%3Cpath d='M1.5 1.5 L6.5 6.5 L11.5 1.5' fill='none' stroke='%230d9488' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 0 5px rgba(45,212,191,.4))}
body.page-onas .tl-item:last-child .tl-line{flex:none;height:22px}
body.page-onas .tl-year{font-family:'Manrope',sans-serif;font-weight:500;font-size:1.22rem;letter-spacing:.12em;
  color:var(--primary);text-shadow:0 0 12px rgba(45,212,191,.4)}
body.page-onas .tl-body{padding-bottom:4px}
body.page-onas .tl-item h3{font-size:1.18rem;font-weight:800;color:var(--dark);margin:8px 0 8px;letter-spacing:-.01em}
body.page-onas .tl-item p{color:var(--text-muted);font-size:.96rem;line-height:1.75;max-width:720px}
body.page-onas .tl-note{margin-top:10px;color:var(--dark);font-style:italic;font-size:.92rem}
@media(max-width:600px){body.page-onas .tl-item{grid-template-columns:52px 1fr;gap:16px}}
/* cards */
body.page-onas .o-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
body.page-onas .o-frame{border:1.5px solid rgba(13,148,136,.35);background:var(--accent-light);border-radius:22px;padding:22px}
body.page-onas .o-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 6px 24px rgba(58,64,90,.07)}
body.page-onas .o-card h3{font-size:1.05rem;font-weight:800;color:var(--primary);margin-bottom:8px}
body.page-onas .o-card p{font-size:.92rem;color:var(--text-muted)}
body.page-onas .o-card a{font-weight:700}
body.page-onas .vals{background:var(--bg-soft)}
body.page-onas .v-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
body.page-onas .v-card{background:#fff;border:1.5px solid rgba(13,148,136,.35);border-radius:16px;padding:24px 26px;box-shadow:0 6px 24px rgba(58,64,90,.06)}
body.page-onas .v-card h3{font-size:1.08rem;font-weight:800;color:var(--primary);margin-bottom:6px}
body.page-onas .v-card p{font-size:.93rem;color:var(--text-muted)}
body.page-onas .company-info{max-width:540px;margin-top:14px}
body.page-onas .ci-row{display:flex;align-items:baseline;gap:18px;padding:6px 2px}
body.page-onas .ci-k{flex:0 0 92px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
body.page-onas .ci-v{font-family:'Manrope',sans-serif;font-size:1.1rem;font-weight:500;letter-spacing:.01em;color:var(--text-muted)}
body.page-onas .ci-v a{color:var(--primary);font-weight:inherit}
@media(max-width:760px){
  body.page-onas .o-frame{padding:16px}
  body.page-onas .o-grid{grid-template-columns:1fr}
  body.page-onas .v-grid{grid-template-columns:1fr}
}

/* — /kontakt — */
body.page-kontakt .doc-hero .meta{color:var(--text-muted);font-size:.9rem}
body.page-kontakt .doc-hero .mctas{margin-top:22px}
body.page-kontakt .doc-body{padding:40px 0 72px}
body.page-kontakt .doc-body .lead{color:var(--text-muted);font-size:1.05rem;max-width:none}
body.page-kontakt .k-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
body.page-kontakt .k-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 6px 24px rgba(58,64,90,.07)}
body.page-kontakt .k-card h3{font-size:1.05rem;font-weight:800;color:var(--dark);margin-bottom:8px}
body.page-kontakt .k-card p{font-size:.92rem;color:var(--text-muted);margin-bottom:6px}
body.page-kontakt .k-card a{font-weight:600}
body.page-kontakt .k-card .big{font-size:1rem;color:var(--dark);font-weight:700}
body.page-kontakt .k-form{background:#fff;border:1.5px solid rgba(13,148,136,.40);border-radius:18px;box-shadow:0 18px 44px rgba(58,64,90,.12);padding:30px;margin-top:14px}
body.page-kontakt .k-form h2{font-size:1.3rem;margin:0 0 6px;color:var(--primary)}
body.page-kontakt .k-form .fnote{color:var(--text-muted);font-size:.92rem;margin-bottom:18px}
/* stavový proužek z redirectu (?sent=/&err=) — základ .lp-alert* dodává landing.css */
body.page-kontakt .k-form .lp-alert{margin:0 0 18px;border-radius:12px}
body.page-kontakt .k-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.page-kontakt .k-grid label,body.page-kontakt .k-full{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;color:var(--dark)}
body.page-kontakt .k-full{margin-top:16px}
body.page-kontakt .req{color:#dc2626}
body.page-kontakt .k-form input,body.page-kontakt .k-form select,body.page-kontakt .k-form textarea{border:1px solid var(--border);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:.95rem;color:var(--dark);background:var(--bg-soft);width:100%}
body.page-kontakt .k-form input:focus,body.page-kontakt .k-form select:focus,body.page-kontakt .k-form textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(13,148,136,.12)}
body.page-kontakt .k-form textarea{min-height:120px;resize:vertical}
body.page-kontakt .k-hint{font-size:.74rem;font-weight:500;color:var(--text-muted)}
body.page-kontakt .k-consent{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:.86rem;color:var(--text-muted);font-weight:500}
body.page-kontakt .k-consent input{width:auto;margin-top:3px}
/* TASK 21: sjednoceno s plochým .btn-primary (bez skla/lemu/lesku/text-shadow) */
body.page-kontakt .k-submit{display:inline-block;margin-top:20px;cursor:pointer;color:#fff;font-weight:600;font-size:1rem;padding:14px 30px;border-radius:10px;
  border:1px solid transparent;background:var(--primary);font-family:inherit;
  box-shadow:0 1px 2px rgba(16,24,40,.10),0 6px 16px rgba(13,148,136,.20);
  transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
body.page-kontakt .k-submit:hover{color:#fff;background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 4px rgba(16,24,40,.12),0 10px 22px rgba(13,148,136,.26)}
body.page-kontakt .k-submit:active{color:#fff;transform:none;box-shadow:0 1px 2px rgba(16,24,40,.12)}
body.page-kontakt .k-submit:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(45,212,191,.40)}
@media(max-width:760px){
  body.page-kontakt .k-cards{grid-template-columns:1fr}
  body.page-kontakt .k-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   Task 13 — /ukazka-anamnezy (body.page-ukazka): extrakce inline <style>
   šablony ZDROJ/ukazka-anamnezy.html (živý náhled vyplněné anamnézy).
   DEDUP (nekopírováno): .eyebrow, .lead (báze), h1 font, .btn/.btn-primary
   (vše landing-v2.css body.lpv2); .wrap (subset sdílený s page-onas/
   page-kontakt výše). Šablona byla standalone popup (fixed .close-x,
   gradient pozadí celé stránky) — obojí vynecháno, stránka má teď plnou
   hlavičku webu (viz komentář v legacy/ukazka-anamnezy.php).
   ========================================================================== */
body.page-ukazka .intro{text-align:center;padding-top:12px;margin-bottom:32px}
body.page-ukazka .intro h1{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;color:var(--dark);margin-bottom:12px}
body.page-ukazka .intro .lead{max-width:620px;margin:0 auto}
body.page-ukazka .form-preview{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 22px 50px rgba(58,64,90,.16);overflow:hidden}
body.page-ukazka .fp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px;background:linear-gradient(180deg,#f2fcf9,#e6f7f2);border-bottom:1px solid var(--border)}
body.page-ukazka .fp-badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.04em;color:var(--primary);background:#fff;border:1px solid var(--border);padding:4px 10px;border-radius:100px;margin-bottom:8px}
body.page-ukazka .fp-top h4{font-size:1.15rem;font-weight:800;color:var(--dark)}
body.page-ukazka .fp-sub{font-size:.85rem;color:var(--text-muted)}
body.page-ukazka .fp-langs{display:flex;gap:6px;flex:none}
body.page-ukazka .fp-langs span{font-size:.72rem;font-weight:700;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:3px 7px}
body.page-ukazka .fp-langs span:first-child{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}
body.page-ukazka .fp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px 26px}
body.page-ukazka .fp-grid label{display:flex;flex-direction:column;gap:5px;font-size:.76rem;font-weight:600;color:var(--text-muted)}
body.page-ukazka .fp-grid input,body.page-ukazka .fp-text textarea{border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-family:inherit;font-size:.92rem;color:var(--dark);background:var(--bg-soft)}
body.page-ukazka .fp-q{padding:2px 26px}
body.page-ukazka .fpq{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--border);font-size:.95rem;color:var(--dark);font-weight:500}
body.page-ukazka .fp-tog{display:inline-flex;border:1px solid var(--border);border-radius:100px;overflow:hidden;flex:none}
body.page-ukazka .fp-tog b{font-size:.82rem;font-weight:700;padding:6px 16px;color:var(--text-muted)}
body.page-ukazka .fp-tog b.on{background:var(--primary);color:#fff}
body.page-ukazka .fp-text{display:flex;flex-direction:column;gap:6px;padding:16px 26px;font-size:.76rem;font-weight:600;color:var(--text-muted)}
body.page-ukazka .fp-text textarea{min-height:60px;resize:none;line-height:1.5}
body.page-ukazka .fp-sign{display:flex;justify-content:space-between;gap:20px;padding:6px 26px 18px;border-top:1px solid var(--border)}
body.page-ukazka .fp-sign>div{display:flex;flex-direction:column;gap:4px}
body.page-ukazka .fp-lbl{font-size:.74rem;color:var(--text-muted);font-weight:600}
body.page-ukazka .fp-sig{font-family:'Brush Script MT','Segoe Script','Comic Sans MS',cursive;font-size:1.5rem;color:var(--dark);line-height:1}
body.page-ukazka .fp-actions{padding:0 26px 24px;text-align:right}
body.page-ukazka .fp-submit{display:inline-block;background:linear-gradient(135deg,var(--accent),var(--primary) 55%,var(--primary-dark));color:#fff;font-weight:700;font-size:.9rem;padding:11px 22px;border-radius:10px;box-shadow:0 8px 18px rgba(13,148,136,.28)}
body.page-ukazka .fp-note{margin:16px auto 0;text-align:center;font-size:.82rem;color:var(--text-muted)}
body.page-ukazka .ukazka-wrap{padding-top:44px;padding-bottom:24px}
@media(max-width:560px){
  body.page-ukazka .fp-grid{grid-template-columns:1fr}
  body.page-ukazka .fp-top{flex-direction:column}
}

/* Odkaz "Prohlédnout ukázku" na kartách knihovny formulářů (spec 2026-07-17) */
body.lpv2 .mfeat-link{display:inline-block;margin-top:12px;font-size:.86rem;font-weight:700;color:var(--main-dark);text-decoration:none}
body.lpv2 .mfeat-link:hover{text-decoration:underline}

/* Jednotný decentní hover popisných karet — o-nás a kontakt (tag 2026-07-17) */
body.page-onas .o-card,body.page-kontakt .k-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
body.page-onas .o-card:hover,body.page-kontakt .k-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(58,64,90,.12);border-color:color-mix(in srgb,var(--main) 28%,transparent)}
@media(prefers-reduced-motion:reduce){
  body.page-onas .o-card,body.page-kontakt .k-card{transition:none}
  body.page-onas .o-card:hover,body.page-kontakt .k-card:hover,body.lpv2 .mfeat:hover{transform:none}
}
