/*
 * pmc-tokens.css - Motiv vzhledu PublicMC V1 (D-002, PMC-R020, PMC-R022)
 *
 * Design tokeny a globalni styl verejneho webu publicmc.cz nad existujicim
 * Builderem PublicMC. Zadna nova administrace, zadny novy renderer:
 *   - :root definuje tokeny --pmc-*,
 *   - .cmc-b-document.cmc-b-template-publicmc-v1 je motiv pro dokument Builderu
 *     (doc.designPreset = "publicmc-v1" -> renderer pridava tridu
 *     cmc-b-template-publicmc-v1, cloudmc_builder_public_renderer.php:174-181)
 *     a mapuje tokeny na existujici promenne --cmc-b-* rendereru,
 *   - .pmc-* jsou globalni komponenty pro casti mimo bloky (hlavicka, logo, stitky).
 *
 * Mereni: Squarespace reference 1920x1080, meritko 1:1 (zdroj: CESTY.json
 * klic "squarespace", snimky 01_Titulka/01_Hero_a_video/home-scroll-00-settled.jpg,
 * 03_Grow_your_business/home-scroll-02-settled.jpg,
 * 04_Nastroje_a_sluzby/home-scroll-03-settled.jpg). Plna tabulka mereni
 * a stav OVERENO / ODHAD / NEZNAME: dukazy/D-002-mereni.md.
 * Pismo reference je NEZNAME (neni v DOM exportu) - pouzit systemovy grotesk,
 * velikosti prepocteny pres vysku verzalek (cap height Arial 0,716 em).
 *
 * Plynula velikost: hodnota v px pri 1920 = hodnota reference; pod 1920 se
 * zmensuje (vw), nad 1600 se pismo a ovladani zvetsuji (pravidlo plne sirky).
 * Zadna max-width se strednim sloupcem: obsah jde pres celou sirku okna
 * s okrajem --pmc-okraj.
 */

:root {
  /* ---------- Barvy (OVERENO pixelem reference / loga) ---------- */
  --pmc-cerna: #000000;            /* lista po scrollu, text nadpisu i odstavcu */
  --pmc-bila: #ffffff;             /* pozadi sekci, tlacitko v hero */
  --pmc-seda-100: #eaeaea;         /* aktivni stitek (pill) zalozek */
  --pmc-akcent: #006ffe;           /* modry ctverec loga PublicMC (median pixelu) */
  --pmc-akcent-tmavy: #0078fe;     /* tentyz ctverec v tmave variante loga */
  --pmc-text-tlumeny: rgba(0, 0, 0, .62);       /* ODHAD - reference sedy text nema */
  --pmc-text-tlumeny-inverz: rgba(255, 255, 255, .72); /* ODHAD */
  --pmc-linka: #eaeaea;            /* ODHAD - odvozeno od stitku */
  --pmc-prekryv-videa: rgba(0, 0, 0, .35); /* ODHAD - citelnost textu pres video */

  /* ---------- Pismo (D-052: jedno pismo pro cely web = pismo titulky) ---------- */
  --pmc-pismo: ui-rounded, "SF Pro Rounded", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --pmc-pismo-vaha-text: 400;
  --pmc-pismo-vaha-nadpis: 400;    /* hodnoty a cisla v regular rezu; nadpisy H1/H2 maji --pmc-pismo-vaha-n */
  --pmc-pismo-vaha-n: 700;         /* D-052: nadpisy tucne jako na titulce */
  --pmc-pismo-vaha-tucne: 600;

  /* Velikosti: komentar = vyska verzalek v referenci -> px pri 1920 */
  --pmc-fs-h1: clamp(40px, 3.7vw, 96px);         /* cap 51 px -> 71 px (velke hodnoty, cisla) */
  --pmc-fs-n1: clamp(44px, 6.3vw, 216px);        /* D-052: nadpis H1 stranky, 121 px pri 1920 = H1 titulky */
  --pmc-lh-h1: 1.056;
  --pmc-ls-h1: -0.045em;                          /* ODHAD - tesne prolozeni */
  --pmc-fs-h2: clamp(32px, 2.6vw, 68px);          /* cap 36 px -> 50 px (velke hodnoty, cisla) */
  --pmc-fs-n2: clamp(38px, 4.9vw, 168px);        /* D-052: nadpis H2 sekce, 94 px pri 1920 = H2 titulky (--tit-h2) */
  --pmc-lh-h2: 1.08;
  --pmc-ls-h2: -0.03em;
  --pmc-fs-h3: clamp(20px, 1.25vw, 32px);         /* cap 17 px -> 24 px (titulek karty) */
  --pmc-lh-h3: 1.2;
  --pmc-fs-text: clamp(16px, calc(0.83vw + 2px), 24px); /* 1920 = 18 px, 2560 = 23 px (pravidlo Romana: od 1600 vetsi pismo) */
  --pmc-lh-text: 1.3125;                          /* rozestup radku 21 px */
  --pmc-fs-perex: clamp(17px, 1.26vw, 40px);     /* D-055: uvodni odstavec bloku, 24 px pri 1920 (jedna velikost na celem webu) */
  --pmc-fs-maly: clamp(13px, calc(0.62vw + 2px), 19px); /* 1920 = 14 px, 2560 = 18 px */
  --pmc-lh-maly: 1.3;                             /* rozestup 17 px */
  --pmc-fs-nav: clamp(15px, calc(0.42vw + 8px), 20px);  /* verzalky v liste, cap 11 px */
  --pmc-ls-nav: 0;                                /* ODHAD */

  /* ---------- Mrizka a mezery (OVERENO, px pri 1920) ---------- */
  --pmc-okraj: clamp(20px, 4vw, 160px);           /* D-048: 77 px vnejsi okraj listy i obsahu na 1920 (driv 40 px) */
  --pmc-mezera-mrizky: clamp(16px, 2.0833vw, 56px); /* 40 px mezi kartami */
  --pmc-sloupcu: 4;                               /* 4 karty 430 px pri 1920 */
  --pmc-lista-vyska: clamp(64px, 4.1667vw, 96px); /* 80 px */
  --pmc-logo-vyska: clamp(32px, 2.2917vw, 56px);  /* 44 px - sirka loga ~195 px jako logo reference (206 px) */
  --pmc-sekce-y: clamp(64px, 6.7708vw, 168px);    /* ODHAD ~130 px mezi sekcemi */
  --pmc-nadpis-obsah: clamp(40px, 4.4792vw, 112px); /* ODHAD ~86 px nadpis -> karty */

  /* ---------- Tvary ---------- */
  --pmc-radius-tlacitko: 0;        /* OVERENO - ostre rohy 166x60 */
  --pmc-radius-karta: 6px;         /* ODHAD - JPEG roh, 4 px odchylka v 1. radku */
  --pmc-radius-pill: 999px;        /* OVERENO - stitek 91x32 s plnym zaoblenim */
  --pmc-stin: none;                /* OVERENO - karty a tlacitka bez stinu */

  /* ---------- Tlacitko (OVERENO 166x60 pri textu "GET STARTED") ---------- */
  --pmc-tl-vyska: clamp(48px, 3.125vw, 72px);     /* 60 px */
  --pmc-tl-padding-x: clamp(24px, 1.9271vw, 48px); /* 37 px */
  --pmc-pill-vyska: clamp(32px, 1.6667vw, 40px);  /* 32 px */
  --pmc-pill-padding-x: 16px;                     /* 17 px od hrany k textu */

  /* ---------- Pohyb (z verejneho CSS reference, viz pruvodce 01) ---------- */
  --pmc-pohyb-nastup: opacity .4s ease-in-out;            /* homepageHeroReveal */
  --pmc-pohyb-obrazek: transform .5s;                     /* hover karty -> scale(1.05) */
  --pmc-pohyb-video: opacity .3s cubic-bezier(.645, .045, .355, 1);
  --pmc-hover-zvetseni: 1.05;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --pmc-pohyb-nastup: none;
    --pmc-pohyb-obrazek: none;
    --pmc-pohyb-video: none;
    --pmc-hover-zvetseni: 1;
  }
}

/* =========================================================
   Globalni zaklad (jen uvnitr .pmc-web, aby se nedotkl adminu)
   ========================================================= */
.pmc-web {
  margin: 0;
  font-family: var(--pmc-pismo);
  font-size: var(--pmc-fs-text);
  line-height: var(--pmc-lh-text);
  font-weight: var(--pmc-pismo-vaha-text);
  color: var(--pmc-cerna);
  background: var(--pmc-bila);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.pmc-web *, .pmc-web *::before, .pmc-web *::after { box-sizing: border-box; }
:where(.pmc-web) a { color: inherit; }  /* :where = nulova specificita, neprebije tlacitka */
.pmc-web :focus-visible { outline: 2px solid var(--pmc-akcent); outline-offset: 3px; }

.pmc-h1 { font-size: var(--pmc-fs-h1); line-height: var(--pmc-lh-h1); letter-spacing: var(--pmc-ls-h1); font-weight: var(--pmc-pismo-vaha-nadpis); margin: 0; }
.pmc-h2 { font-size: var(--pmc-fs-h2); line-height: var(--pmc-lh-h2); letter-spacing: var(--pmc-ls-h2); font-weight: var(--pmc-pismo-vaha-nadpis); margin: 0; }
.pmc-h3 { font-size: var(--pmc-fs-h3); line-height: var(--pmc-lh-h3); font-weight: var(--pmc-pismo-vaha-text); margin: 0; }
.pmc-text { font-size: var(--pmc-fs-text); line-height: var(--pmc-lh-text); margin: 0; }
.pmc-maly { font-size: var(--pmc-fs-maly); line-height: var(--pmc-lh-maly); margin: 0; }

/* ---------- Sekce a mrizka (plna sirka, jen okraj) ---------- */
.pmc-sekce { padding: var(--pmc-sekce-y) var(--pmc-okraj); background: var(--pmc-bila); color: var(--pmc-cerna); }
.pmc-sekce--tmava { background: var(--pmc-cerna); color: var(--pmc-bila); }
.pmc-sekce--seda { background: var(--pmc-seda-100); }
.pmc-hlavicka-sekce .pmc-h2 { max-width: 10em; }
.pmc-hlavicka-sekce { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--pmc-mezera-mrizky); align-items: start; margin-bottom: var(--pmc-nadpis-obsah); }
.pmc-mrizka { display: grid; grid-template-columns: repeat(var(--pmc-sloupcu), minmax(0, 1fr)); gap: var(--pmc-mezera-mrizky); }

/* ---------- Horni lista (80 px, okraj 40 px, logo vlevo, akce vpravo) ---------- */
.pmc-lista {
  position: sticky; top: 0; z-index: 50;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  height: var(--pmc-lista-vyska); padding: 0 var(--pmc-okraj);
  background: var(--pmc-cerna); color: var(--pmc-bila);
}
.pmc-lista--pruhledna { background: transparent; position: absolute; left: 0; right: 0; }
/* Lista prekryva hero (jako reference): zustava sticky, obsah pod ni zacina na y=0. */
.pmc-lista--nad-obsahem { margin-bottom: calc(-1 * var(--pmc-lista-vyska)); }
.pmc-lista__menu { display: flex; gap: clamp(20px, 1.7708vw, 44px); list-style: none; margin: 0; padding: 0; }
.pmc-lista__menu a, .pmc-lista__prihlaseni { font-size: var(--pmc-fs-nav); text-transform: uppercase; letter-spacing: var(--pmc-ls-nav); text-decoration: none; font-weight: var(--pmc-pismo-vaha-text); }
.pmc-lista__akce { display: flex; justify-content: flex-end; align-items: center; gap: clamp(16px, 1.6667vw, 40px); }

/* ---------- Logo: vzdy originalni soubor, nikdy napis ----------
   Originaly (podklady/loga) maji nepruhledne pozadi: logo_publicmc.png bile,
   logo_publicmc_w.png cerne. Na stejne barve pozadi splynou; pres obraz/video
   se pozadi odstrani prolnutim (multiply / screen), soubor zustava beze zmeny.
   Pomer stran zachovan: height + width:auto. */
.pmc-logo { display: inline-flex; align-items: center; line-height: 0; }
.pmc-logo img { height: var(--pmc-logo-vyska); width: auto; display: block; }
.pmc-logo__na-svetle { mix-blend-mode: multiply; }   /* logo_publicmc.png  (2058x465, 4,43:1) */
.pmc-logo__na-tmave  { mix-blend-mode: screen; }     /* logo_publicmc_w.png (2049x467, 4,39:1) */
.pmc-logo .pmc-logo__na-tmave { display: none; }
.pmc-tmave .pmc-logo .pmc-logo__na-svetle,
.pmc-lista .pmc-logo .pmc-logo__na-svetle,
.pmc-sekce--tmava .pmc-logo .pmc-logo__na-svetle { display: none; }
.pmc-tmave .pmc-logo .pmc-logo__na-tmave,
.pmc-lista .pmc-logo .pmc-logo__na-tmave,
.pmc-sekce--tmava .pmc-logo .pmc-logo__na-tmave { display: block; }

/* ---------- Tlacitka (ostre rohy, verzalky, 166x60) ---------- */
.pmc-tlacitko {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--pmc-tl-vyska); padding: 0 var(--pmc-tl-padding-x);
  border: 0; border-radius: var(--pmc-radius-tlacitko);
  font: inherit; font-size: var(--pmc-fs-nav); text-transform: uppercase; text-decoration: none;
  background: var(--pmc-cerna); color: var(--pmc-bila); cursor: pointer;
  transition: background-color .2s linear, color .2s linear;
}
.pmc-tlacitko--bile { background: var(--pmc-bila); color: var(--pmc-cerna); }
.pmc-tlacitko--obrys { background: transparent; color: inherit; box-shadow: inset 0 0 0 1px currentColor; }

/* ---------- Stitky / zalozky (pill 91x32, #eaeaea aktivni) ---------- */
.pmc-zalozky { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(8px, 1.25vw, 28px); list-style: none; margin: 0; padding: 0; }
.pmc-pill {
  display: inline-flex; align-items: center; height: var(--pmc-pill-vyska);
  padding: 0 var(--pmc-pill-padding-x); border-radius: var(--pmc-radius-pill);
  font-size: var(--pmc-fs-text); background: transparent; color: var(--pmc-cerna);
  border: 0; cursor: pointer; text-decoration: none;
}
.pmc-pill.is-active, .pmc-pill[aria-selected="true"] { background: var(--pmc-seda-100); }

/* ---------- Karta (430 px pri 1920, text bily nahore, sipka vpravo dole) ---------- */
.pmc-karta {
  position: relative; overflow: hidden; display: flex; flex-direction: column;
  aspect-ratio: 430 / 640; border-radius: var(--pmc-radius-karta);
  background: #2b2b2b; color: var(--pmc-bila); text-decoration: none; box-shadow: var(--pmc-stin);
  padding: clamp(18px, 1.25vw, 32px);
}
.pmc-karta__obrazek { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: var(--pmc-pohyb-obrazek); }
.pmc-karta:hover .pmc-karta__obrazek { transform: scale(var(--pmc-hover-zvetseni)); }
.pmc-karta > *:not(.pmc-karta__obrazek) { position: relative; }
.pmc-karta .pmc-h3 { margin-bottom: clamp(8px, .625vw, 16px); }
.pmc-karta .pmc-maly { max-width: 70%; }
.pmc-karta__sipka { margin-top: auto; align-self: flex-end; font-size: var(--pmc-fs-h3); line-height: 1; }

/* ---------- Indikator karuselu (tecky 6 px, aktivni 16x6) ---------- */
.pmc-tecky { display: flex; gap: 6px; justify-content: center; align-items: center; }
.pmc-tecky span { width: 4px; height: 4px; border-radius: 50%; background: #9a9a9a; }
.pmc-tecky span.is-active { width: 16px; height: 6px; border-radius: 3px; background: var(--pmc-cerna); }

/* ---------- Hero (pres celou sirku, text uprostred, video pod textem) ---------- */
.pmc-hero { position: relative; min-height: 100vh; display: grid; place-items: center; text-align: center; color: var(--pmc-bila); background: var(--pmc-cerna); overflow: hidden; padding: var(--pmc-lista-vyska) var(--pmc-okraj) var(--pmc-sekce-y); }
.pmc-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pmc-hero::after { content: ""; position: absolute; inset: 0; background: var(--pmc-prekryv-videa); pointer-events: none; }
.pmc-hero__obsah { position: relative; z-index: 1; animation: pmc-nastup .4s ease-in-out both; }
.pmc-hero__obsah .pmc-tlacitko { margin-top: clamp(28px, 2.2917vw, 56px); }
.pmc-hero__poznamka { margin-top: clamp(16px, 1.4583vw, 36px); font-size: var(--pmc-fs-text); }
@keyframes pmc-nastup { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pmc-hero__obsah { animation: none; } }

/* =========================================================
   Motiv Builderu: doc.designPreset = "publicmc-v1"
   Mapuje tokeny na promenne rendereru (cmc_builder_public_styles,
   cloudmc_builder_public_renderer.php:682) a zrusi uzky stredovy sloupec.
   ========================================================= */
.cmc-b-document.cmc-b-template-publicmc-v1 {
  --cmc-b-primary: var(--pmc-cerna);
  --cmc-b-accent: var(--pmc-akcent);
  --cmc-b-muted: var(--pmc-seda-100);
  --cmc-b-ink: var(--pmc-cerna);
  --cmc-b-text: var(--pmc-cerna);
  --cmc-b-text-soft: var(--pmc-cerna);
  --cmc-b-text-muted: var(--pmc-text-tlumeny);
  --cmc-b-page: var(--pmc-bila);
  --cmc-b-surface: var(--pmc-bila);
  --cmc-b-surface-muted: var(--pmc-seda-100);
  --cmc-b-border: var(--pmc-linka);
  --cmc-b-border-strong: var(--pmc-cerna);
  --cmc-b-on-ink: var(--pmc-bila);
  --cmc-b-heading-color: var(--pmc-cerna);
  max-width: none;
  margin: 0;
  padding: 0;
  font-family: var(--pmc-pismo);
  font-size: var(--pmc-fs-text);
  line-height: var(--pmc-lh-text);
  color: var(--pmc-cerna);
  background: var(--pmc-bila);
}
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-container { max-width: none; margin: 0; }
.cmc-b-document.cmc-b-template-publicmc-v1 > .cmc-b-section,
.cmc-b-document.cmc-b-template-publicmc-v1 > .cmc-b-block:not(.cmc-b-hero) { padding-left: var(--pmc-okraj); padding-right: var(--pmc-okraj); }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-section { padding-top: var(--pmc-sekce-y); padding-bottom: var(--pmc-sekce-y); }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-width-boxed,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-width-wide { max-width: none; }

/* Nadpisy a text */
.cmc-b-document.cmc-b-template-publicmc-v1 h1,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero h1 { font-size: var(--pmc-fs-h1); line-height: var(--pmc-lh-h1); letter-spacing: var(--pmc-ls-h1); font-weight: var(--pmc-pismo-vaha-nadpis); margin: 0; }
.cmc-b-document.cmc-b-template-publicmc-v1 h2 { font-size: var(--pmc-fs-h2); line-height: var(--pmc-lh-h2); letter-spacing: var(--pmc-ls-h2); font-weight: var(--pmc-pismo-vaha-nadpis); margin: 0 0 var(--pmc-nadpis-obsah); }
.cmc-b-document.cmc-b-template-publicmc-v1 h3 { font-size: var(--pmc-fs-h3); line-height: var(--pmc-lh-h3); font-weight: var(--pmc-pismo-vaha-text); letter-spacing: 0; margin: 0 0 clamp(8px, .625vw, 16px); }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-paragraph,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero-text { font-size: var(--pmc-fs-text); line-height: var(--pmc-lh-text); color: inherit; margin: 0; }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-subtitle { font-size: var(--pmc-fs-nav); font-weight: var(--pmc-pismo-vaha-text); letter-spacing: 0; color: inherit; }

/* Hero bloku Builderu = cerna plocha pres celou sirku, text uprostred */
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero {
  margin: 0; border: 0; border-radius: 0; box-shadow: none;
  min-height: min(100vh, 1080px); display: grid; place-items: center; text-align: center;
  padding: var(--pmc-lista-vyska) var(--pmc-okraj) var(--pmc-sekce-y);
  background: var(--pmc-cerna); color: var(--pmc-bila);
}
/* Poradi jako reference: H1 -> tlacitko -> poznamka pod tlacitkem (hero-text).
   Svisle: horni hrana H1 233 px (verzalky 244), tlacitko 422-481, poznamka 509 pri 1920. */
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero { align-items: start; padding-top: clamp(112px, 12.1354vw, 304px); }  /* 233 px pri 1920 */
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero .cmc-b-container { display: flex; flex-direction: column; align-items: center; animation: pmc-nastup .4s ease-in-out both; }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero .cmc-b-subtitle { order: 0; margin: 0 0 16px; }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero h1 { order: 1; max-width: 14ch; }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-actions { order: 2; margin: clamp(28px, 2.0313vw, 52px) 0 0; display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero .cmc-b-hero-text { order: 3; margin-top: clamp(16px, 1.0938vw, 28px); }

/* Tlacitka Builderu
   D-016: blok "button" renderer kresli jako <p class="cmc-b-block cmc-b-button ..."><a class="cmc-b-button ...">
   (cloudmc_builder_public_renderer.php, case 'button'). Jako tlacitko se styluje jen vlastni <a>/<button>;
   obal <p> je neviditelny radek (zarovnani z cmc-b-align-*), jinak tlacitko vypadalo zdvojene. */
.cmc-b-document.cmc-b-template-publicmc-v1 p.cmc-b-button {
  display: block; min-height: 0; padding: 0; border: 0; border-radius: 0;
  background: none; box-shadow: none; color: inherit;
  font-family: inherit; font-weight: inherit; font-style: inherit; line-height: inherit;
  text-transform: none; text-decoration: none;
}
/* D-017: reset obalu nenastavuje font-size ani margin, takze tridy bloku cmc-b-fs-(velikost), cmc-b-mt-(okraj)
   a cmc-b-mb-(okraj) na obalu plati; velikost pisma zadana na bloku prevezme i vlastni tlacitko. */
.cmc-b-document.cmc-b-template-publicmc-v1 p.cmc-b-button[class*="cmc-b-fs-"] > :where(a, button).cmc-b-button { font-size: inherit; }
.cmc-b-document.cmc-b-template-publicmc-v1 :where(a, button).cmc-b-button {
  min-height: var(--pmc-tl-vyska); padding: 0 var(--pmc-tl-padding-x);
  border-radius: var(--pmc-radius-tlacitko); border: 0;
  font-size: var(--pmc-fs-nav); font-weight: var(--pmc-pismo-vaha-text); text-transform: uppercase;
  background: var(--pmc-cerna); color: var(--pmc-bila);
}
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero :where(a, button).cmc-b-button,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-dark :where(a, button).cmc-b-button,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-brand :where(a, button).cmc-b-button { background: var(--pmc-bila); color: var(--pmc-cerna); }
.cmc-b-document.cmc-b-template-publicmc-v1 :where(a, button).cmc-b-button-secondary,
.cmc-b-document.cmc-b-template-publicmc-v1 :where(a, button).cmc-b-button-outline { background: transparent; color: inherit; box-shadow: inset 0 0 0 1px currentColor; }

/* Sloupce = mrizka karet (40 px mezera) */
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-columns { gap: var(--pmc-mezera-mrizky); margin: 0; }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-column { border: 0; border-radius: var(--pmc-radius-karta); padding: clamp(18px, 1.25vw, 32px); background: var(--pmc-seda-100); }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-dark .cmc-b-column,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-brand .cmc-b-column { background: #1c1c1c; }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-column .cmc-b-paragraph { font-size: var(--pmc-fs-maly); line-height: var(--pmc-lh-maly); }

/* customClass "pmc-sloupce-text": nadpis vlevo, text vpravo (dva sloupce 900 px + 40 px pri 1920) */
.cmc-b-document.cmc-b-template-publicmc-v1 .pmc-sloupce-text { margin-bottom: var(--pmc-nadpis-obsah); align-items: start; }
.cmc-b-document.cmc-b-template-publicmc-v1 .pmc-sloupce-text > .cmc-b-column { background: none; padding: 0; border-radius: 0; }
.cmc-b-document.cmc-b-template-publicmc-v1 .pmc-sloupce-text h2 { margin: 0; max-width: 10em; }  /* reference: nadpis zalomen na ~440 px pri 50 px (ODHAD 10em) */
.cmc-b-document.cmc-b-template-publicmc-v1 .pmc-sloupce-text .cmc-b-paragraph { font-size: var(--pmc-fs-text); line-height: var(--pmc-lh-text); max-width: 600px; }
/* customClass "pmc-karty": karty 430 x 640 pri 1920, tmave, text bily nahore */
.cmc-b-document.cmc-b-template-publicmc-v1 .pmc-karty > .cmc-b-column { aspect-ratio: 430 / 640; background: #2b2b2b; color: var(--pmc-bila); display: flex; flex-direction: column; }
.cmc-b-document.cmc-b-template-publicmc-v1 .pmc-karty > .cmc-b-column h3 { color: var(--pmc-bila); }
.cmc-b-document.cmc-b-template-publicmc-v1 .pmc-karty > .cmc-b-column .cmc-b-paragraph { max-width: 75%; }

/* Pozadi sekci */
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-dark,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-brand { background: var(--pmc-cerna); color: var(--pmc-bila); }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-dark h2,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-brand h2,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-dark h3,
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-brand h3 { color: var(--pmc-bila); }
.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-bg-muted { background: var(--pmc-seda-100); }

/* =========================================================
   Responzivita (768 tablet, 390 mobil)
   ========================================================= */
@media (max-width: 1024px) {
  :root { --pmc-sloupcu: 2; }
  .cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-cols-3,
  .cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pmc-lista__menu { display: none; }
  .pmc-lista { grid-template-columns: 1fr auto; }
}
@media (max-width: 760px) {
  :root { --pmc-sloupcu: 1; }
  .pmc-hlavicka-sekce { grid-template-columns: 1fr; row-gap: 16px; }
  .pmc-lista__prihlaseni { display: none; }
  .cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-columns { grid-template-columns: 1fr; }
  .cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero { min-height: 88vh; }
}

/* ==========================================================================
   D-052 (Roman 24. 10.): jednotny system a efekty na celem webu.
   Pismo a velikosti nadpisu jsou v promennych nahore (stejne jako titulka).
   Efekty maji nizkou specificitu (:where), takze vlastni efekty bloku (titulka, pribehy) maji prednost.
   ========================================================================== */
:where(.pmc-h3, .cmc-b-document.cmc-b-template-publicmc-v1 h3) { font-weight: 600; letter-spacing: -.015em; }
.pmc-h1, .cmc-b-document.cmc-b-template-publicmc-v1 h1, .cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-hero h1 { font-size: var(--pmc-fs-n1); line-height: 1.02; letter-spacing: -.045em; font-weight: var(--pmc-pismo-vaha-n); }
.pmc-h2, .cmc-b-document.cmc-b-template-publicmc-v1 h2 { font-size: var(--pmc-fs-n2); line-height: 1.04; letter-spacing: -.035em; font-weight: var(--pmc-pismo-vaha-n); }

/* Skleneny odlesk pres tlacitko zprava doleva (Vyzkouset zdarma v liste, tlacitka Builderu, patička) */
:where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button:not(.cmc-b-button-link), .cmc-b-document button.cmc-b-button):not(:where(.pri-sekce *)) {
  position: relative; overflow: hidden; isolation: isolate;
  transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
}
:where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button:not(.cmc-b-button-link), .cmc-b-document button.cmc-b-button):not(:where(.pri-sekce *))::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 100%; z-index: -1; pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, var(--pmc-odlesk, rgba(255, 255, 255, .42)) 48%, rgba(255, 255, 255, 0) 52%, var(--pmc-odlesk, rgba(255, 255, 255, .42)) 56%, transparent 72%);
  transform: translateX(110%) skewX(-12deg);
}
:where(.pmc-tlacitko--bile, .pmc-lista__zacit, .cmc-b-bg-dark a.cmc-b-button, .cmc-b-hero a.cmc-b-button, .cmc-b-bg-brand a.cmc-b-button) { --pmc-odlesk: rgba(77, 141, 255, .38); }
:where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button:not(.cmc-b-button-link), .cmc-b-document button.cmc-b-button):not(:where(.pri-sekce *)):is(:hover, :focus-visible)::before {
  transform: translateX(-110%) skewX(-12deg); transition: transform .85s cubic-bezier(.2, .7, .2, 1);
}
:where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button:not(.cmc-b-button-link), .cmc-b-document button.cmc-b-button):not(:where(.pri-sekce *)):hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(0, 0, 0, .18); }
:where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button, .cmc-b-document button.cmc-b-button):active { transform: translateY(0) scale(.98); }

/* Karty ve sloupcich Builderu na podstrankach: jemne nadzvednuti a stin */
:where(.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-columns:not(.pmc-sloupce-text) > .cmc-b-column):not(:where(.tit--premium *, .pri *)) {
  transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s ease;
}
:where(.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-columns:not(.pmc-sloupce-text) > .cmc-b-column):not(:where(.tit--premium *, .pri *)):hover {
  transform: translateY(-6px); box-shadow: 0 22px 48px rgba(0, 0, 0, .14);
}
:where(.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-column img) { transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
:where(.cmc-b-document.cmc-b-template-publicmc-v1 .cmc-b-columns:not(.pmc-sloupce-text) > .cmc-b-column):not(:where(.tit--premium *, .pri *)):hover img { transform: scale(1.03); }
.pmc-karta { transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s ease; }
.pmc-karta:hover { transform: translateY(-6px); box-shadow: 0 22px 48px rgba(0, 0, 0, .22); }

/* Odkazy v textu: podtrzeni se pri najeti zvyrazni a barva prejde do akcentu */
:where(.cmc-b-document .cmc-b-paragraph a, .cmc-b-document .cmc-b-text a, .pmc-web main p a, .pmc-web main details a, .cmc-b-document .cmc-b-faq a):not(.cmc-b-button, .pmc-tlacitko, [class*="tlacitko"], [role="button"]) {
  text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: .18em;
  transition: color .2s ease, text-decoration-thickness .2s ease, text-underline-offset .2s ease;
}
:where(.cmc-b-document .cmc-b-paragraph a, .cmc-b-document .cmc-b-text a, .pmc-web main p a, .pmc-web main details a, .cmc-b-document .cmc-b-faq a):not(.cmc-b-button, .pmc-tlacitko, [class*="tlacitko"], [role="button"]):is(:hover, :focus-visible) {
  color: var(--pmc-akcent-tmavy, #4d8dff); text-decoration-thickness: 2px; text-underline-offset: .28em;
}

/* Pill a zalozky */
:where(.pmc-pill) { transition: background-color .2s ease, transform .2s ease; }
:where(.pmc-pill):hover { background: var(--pmc-seda-100); transform: translateY(-1px); }

@media (prefers-reduced-motion: reduce) {
  :where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button, .cmc-b-document button.cmc-b-button)::before { display: none; }
  :where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button, .cmc-b-document button.cmc-b-button, .cmc-b-column, .cmc-b-column img, .pmc-karta, .pmc-pill) { transition: none !important; transform: none !important; }
}

/* D-055 (audit jednotnosti Startu): hover a focus vsude, kde chybely */
:where(.pmc-tlacitko, .cmc-b-document a.cmc-b-button, .cmc-b-document button.cmc-b-button):focus-visible { outline: 2px solid var(--pmc-akcent-tmavy, #0078fe); outline-offset: 3px; }
:where(.pmc-tlacitko):hover { filter: brightness(1.06); }
:where(.pmc-tlacitko--obrys):hover { background: rgba(127, 127, 127, .14); }
/* hlavni menu a Prihlasit: podtrzeni se pri najeti vynori a dosedne k textu (jako megamenu), logo se jemne ztlumi */
.pmc-lista .pmc-nav__odkaz:not(.is-aktivni), .pmc-lista .pmc-nav__spoustec:not(.is-aktivni) > span, .pmc-lista .pmc-lista__prihlaseni {
  text-decoration-line: underline; text-decoration-thickness: 1px; text-decoration-color: transparent; text-underline-offset: .6em;
  transition: text-decoration-color .25s ease, text-underline-offset .3s cubic-bezier(.2, .7, .2, 1);
}
.pmc-lista .pmc-nav__odkaz:not(.is-aktivni):is(:hover, :focus-visible), .pmc-lista .pmc-nav__spoustec:not(.is-aktivni):is(:hover, :focus-visible) > span, .pmc-lista .pmc-lista__prihlaseni:is(:hover, :focus-visible) {
  text-decoration-color: currentColor; text-underline-offset: .28em;
}
:where(.pmc-lista .pmc-logo, .pmc-lista__logo) { transition: opacity .25s ease, transform .25s ease; }
:where(.pmc-lista .pmc-logo, .pmc-lista__logo):hover { opacity: .78; }
/* /sluzby: panely produktu a odkazy ven */
:where(.sl-panel) { transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s ease; }
:where(.sl-panel):hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(0, 0, 0, .14); }
:where(.sl-ven, .sl-panel__odkaz) { text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: transparent; transition: text-decoration-color .2s ease, color .2s ease; }
:where(.sl-ven, .sl-panel__odkaz):is(:hover, :focus-visible) { text-decoration-color: currentColor; }
/* textove odkazy v obsahu stranek a formularich bez vlastni tridy */
:where(main a:not([class]), .pmc-uc a:not([class]), .pmc-uc-ukazat, .pmc-kon a:not([class])) { text-underline-offset: .2em; transition: color .2s ease, text-decoration-color .2s ease; }
:where(main a:not([class]), .pmc-uc a:not([class]), .pmc-kon a:not([class])):is(:hover, :focus-visible) { text-decoration-line: underline; color: var(--pmc-akcent-tmavy, #0078fe); }
:where(.pmc-uc-ukazat):hover { opacity: .75; }
@media (prefers-reduced-motion: reduce) {
  :where(.pmc-lista .pmc-nav__odkaz, .pmc-lista .pmc-nav__spoustec > span, .pmc-lista__prihlaseni, .sl-panel, .pmc-lista .pmc-logo) { transition: none !important; transform: none !important; }
}

/* D-055 retest bod 16: ovladani detailu vzoru (barevna varianta, Pocitac/Mobil) reaguje na najeti */
.vd-varianta { transition: box-shadow .2s ease, transform .2s ease; }
.vd-varianta:is(:hover, :focus-visible) { transform: scale(1.1); }
.vd-varianta:not([aria-current="true"]):is(:hover, :focus-visible) { box-shadow: inset 0 0 0 2px var(--pmc-text-tlumeny, #6e6e73); }
.vd-prepinac__volba { transition: background-color .2s ease, color .2s ease; }
.vd-prepinac__volba:not([aria-current="true"]):is(:hover, :focus-visible) { background: rgba(255, 255, 255, .6); color: var(--pmc-cerna, #111); }
@media (prefers-reduced-motion: reduce) { .vd-varianta { transition: none; } .vd-varianta:hover { transform: none; } }

/* D-055 retest bod 22: pole zpravy ChatMC vpravo dole nesmi zakryt spodni radek paticky (Cookies) */
footer.pmc-paticka { padding-bottom: calc(clamp(24px, 1.875vw, 48px) + 84px); }
