/* GJŠ Zlín – web 2027. Generováno: hlava.css + ds-bundle.css + doplnky.css. Neupravovat ručně. */
/* Písma a tokeny design systému (verze 2). */
@font-face{font-family:"Lexend";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonty/lexend-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lexend";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonty/lexend-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--modra-hluboka:#142c66;--zluta-jasna:#fbbf3a;--modra-svetla:#e8eef9;--zluta-svetla:#fff4d9;--okraj-pole:#4a5a82;--modra:#1d3f8f;--modra-tmava:#18357a;--zluta:#f7a707;--zluta-tmava:#e2900a;--seda:#ececed;--seda-tmava:#dcdcdf;--bila:#ffffff;--text-ink:#13295d;--text-tlumeny:#4a5a82;--text-na-modre:#ffffff;--text-na-zlute:#13295d;--odkaz:#1d3f8f;--focus:#1d3f8f;--focus-na-modre:#f7a707;--stav-uspech:#1f6b3a;--stav-chyba:#a4262c;--font-sans:"Lexend","Segoe UI",Roboto,Arial,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-0:0px;--radius-tlacitko:4px;--ram-mobil:8px;--ram-desktop:12px;--ram-fotky:12px;--kniha-sirka:160px;--kniha-sirka-mobil:100px;--obsah-max:1280px;--text-max:36em;--linka:1px;--focus-sirka:3px;--cil-min:44px;--trvani-kratke:150ms;--trvani-stredni:250ms;--krivka:cubic-bezier(0.2,0,0,1)}


/* GJŠ Zlín – web 2027, verze 2 (1. 11. 2026): barevné dvoustrany, kniha z loga, koláž.
   Hodnoty barev, písma a rozestupů jen přes tokeny z tokens.css. Žádné stíny, přechody, šikmé tvary. */

html { font-family: var(--font-sans); color: var(--text-ink); background: var(--bila); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-size: 17px; line-height: 1.55; }
@media (min-width: 720px) { body { font-size: 18px; line-height: 1.6; } }
*, *::before, *::after { box-sizing: border-box; }
img { display: block; max-width: 100%; height: auto; }
p { margin: 0 0 var(--space-6); max-width: var(--text-max); }
h1, h2, h3, h4 { margin: 0 0 var(--space-4); font-weight: 600; color: inherit; text-wrap: balance; }
h1 { font-size: 40px; line-height: 1.1; letter-spacing: -0.015em; font-weight: 700; }
h2 { font-size: 30px; line-height: 1.15; font-weight: 700; }
h3 { font-size: 22px; line-height: 1.25; }
h4 { font-size: 18px; line-height: 1.3; }
@media (min-width: 720px) {
  h1 { font-size: 64px; line-height: 1.05; }
  h2 { font-size: 44px; line-height: 1.1; }
  h3 { font-size: 26px; line-height: 1.2; }
  h4 { font-size: 22px; line-height: 1.25; }
}
a { color: var(--odkaz); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; transition: color var(--trvani-kratke) var(--krivka); }
a:hover { color: var(--modra-tmava); }
:focus-visible { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-na-modre :focus-visible { outline-color: var(--focus-na-modre); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0s !important; animation: none !important; } }

/* Obsah a rastr */
.g-obsah { max-width: var(--obsah-max); margin: 0 auto; padding: 0 var(--space-4); position: relative; z-index: 1; }
@media (min-width: 720px) { .g-obsah { padding: 0 var(--space-10); } }
@media (min-width: 1024px) { .g-obsah { padding: 0 var(--space-16); } }
.g-rastr { display: grid; gap: var(--ram-mobil); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .g-rastr { gap: var(--ram-desktop); grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .g-rastr { grid-template-columns: repeat(12, minmax(0, 1fr)); } }
.g-s2 { grid-column: span 2; } .g-s3 { grid-column: span 3; } .g-s4 { grid-column: span 4; } .g-s5 { grid-column: span 5; } .g-s6 { grid-column: span 6; } .g-s7 { grid-column: span 7; } .g-s8 { grid-column: span 8; } .g-s12 { grid-column: span 12; }
@media (max-width: 1023px) { .g-s3, .g-s4, .g-s5, .g-s6, .g-s7, .g-s8, .g-s12 { grid-column: span 6; } }
@media (max-width: 719px) { .g-s2, .g-s3, .g-s4, .g-s5, .g-s6, .g-s7, .g-s8, .g-s12 { grid-column: span 2; } .g-m1 { grid-column: span 1; } }
.g-blok { padding: var(--space-12) 0; position: relative; }
@media (min-width: 720px) { .g-blok { padding: var(--space-20) 0; } }
.g-blok--seda { background: var(--seda); }
.g-hlava-bloku { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--space-2) var(--space-6); margin-bottom: var(--space-6); }
.g-hlava-bloku h2 { margin: 0; }
.g-kicker { font-size: 16px; font-weight: 600; line-height: 1.4; margin: 0 0 var(--space-2); color: inherit; }
.g-lead { font-size: 19px; line-height: 1.5; }
@media (min-width: 720px) { .g-lead { font-size: 22px; } }
.g-maly { font-size: 16px; line-height: 1.5; color: var(--text-tlumeny); }
@media (min-width: 720px) { .g-maly { font-size: 14px; } }
.g-datum { font-size: 16px; font-weight: 600; color: var(--text-tlumeny); font-variant-numeric: tabular-nums; }
.g-na-modre { background: var(--modra); color: var(--text-na-modre); }
.g-na-modre .g-maly, .g-na-modre .g-datum { color: var(--text-na-modre); }
.g-na-modre a:not(.g-tl) { color: var(--text-na-modre); }
.g-na-zlute { background: var(--zluta); color: var(--text-na-zlute); }
.g-na-zlute .g-maly, .g-na-zlute .g-datum { color: var(--text-na-zlute); }
.g-na-zlute a:not(.g-tl) { color: var(--text-na-zlute); }
.g-sipka::after { content: " \2192"; }
.g-cil { display: inline-flex; align-items: center; min-height: var(--cil-min); }

/* Dvoustrana: barevná sekce jako otevřená kniha z grafického manuálu.
   Levá polovina základní barva, pravá od hřbetu tmavší (hřbet) plnou plochou, bez přechodu.
   Pod 720 px jen základní barva. */
.g-dvoustrana { position: relative; padding: var(--space-12) 0; }
@media (min-width: 720px) { .g-dvoustrana { padding: var(--space-20) 0; } }
.g-dvoustrana::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; right: 0; background: var(--k-hrbet); z-index: 0; display: none; }
@media (min-width: 720px) { .g-dvoustrana::before { display: block; } }
.g-dvoustrana--modra { --k-zaklad: var(--modra); --k-hrbet: var(--modra-tmava); background: var(--modra); color: var(--text-na-modre); }
.g-dvoustrana--zluta { --k-zaklad: var(--zluta); --k-hrbet: var(--zluta-tmava); background: var(--zluta); color: var(--text-na-zlute); }
/* Přechod podle manuálu: pravá polovina od hřbetu tmavší a postupně do základní barvy. Jediné místo s přechodem na webu. */
@media (min-width: 720px) { .g-dvoustrana--prechod::before { background: linear-gradient(90deg, var(--k-hrbet) 0%, var(--k-zaklad) 88%); } }
.g-dvoustrana--seda { --k-zaklad: var(--seda); --k-hrbet: var(--seda-tmava); background: var(--seda); color: var(--text-ink); }
.g-dvoustrana--modra .g-maly, .g-dvoustrana--modra .g-datum { color: var(--text-na-modre); }
.g-dvoustrana--modra a:not(.g-tl) { color: var(--text-na-modre); }
.g-dvoustrana--zluta .g-maly, .g-dvoustrana--zluta .g-datum { color: var(--text-na-zlute); }
.g-dvoustrana--zluta a:not(.g-tl) { color: var(--text-na-zlute); }
/* Bílé dlaždice uvnitř barevných ploch mají vždy tmavý text i odkazy. */
.g-dvoustrana .g-okno--bila, .g-na-modre .g-okno--bila, .g-dvoustrana .g-okno--bila a:not(.g-tl), .g-na-modre .g-okno--bila a:not(.g-tl), .g-dvoustrana .g-js__odkaz a, .g-dvoustrana .g-partner a, .g-dvoustrana .g-zrizovatel a { color: var(--text-ink); }

/* Kniha: spodní hrana knihy z loga (přesná křivka z logo-gjs-2024.svg, jen rovnoměrně zvětšená).
   Vystupuje uprostřed spodní hrany dvoustrany do další sekce. */
.g-kniha { position: absolute; left: 50%; top: calc(100% - 1px); transform: translateX(-50%); width: 100px; height: auto; aspect-ratio: 22.39 / 5.8; display: block; z-index: 3; overflow: visible; pointer-events: none; }
@media (min-width: 720px) { .g-kniha { width: 160px; } }
.g-kniha .l { fill: var(--k-zaklad); }
.g-kniha .p { fill: var(--k-zaklad); }
@media (min-width: 720px) { .g-kniha .p { fill: var(--k-hrbet); } }

/* Koláž: fotky školy v bílém rámu jako okna fasády. */
.g-kolaz { display: grid; gap: var(--ram-mobil); background: var(--bila); padding: var(--ram-mobil); margin: 0; }
@media (min-width: 720px) { .g-kolaz { gap: var(--ram-desktop); padding: var(--ram-desktop); } }
.g-kolaz figure { margin: 0; overflow: hidden; background: var(--seda); position: relative; }
.g-kolaz img { width: 100%; height: 100%; object-fit: cover; }
.g-kolaz--nizka { grid-template-rows: repeat(3, 108px); }
.g-kolaz--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g-kolaz--3 figure { aspect-ratio: 1; }
.g-kolaz--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, 150px); grid-template-areas: "a a b" "a a c" "d e e"; }
.g-kolaz--5 figure:nth-child(1) { grid-area: a; } .g-kolaz--5 figure:nth-child(2) { grid-area: b; } .g-kolaz--5 figure:nth-child(3) { grid-area: c; } .g-kolaz--5 figure:nth-child(4) { grid-area: d; } .g-kolaz--5 figure:nth-child(5) { grid-area: e; }
.g-stitek { position: absolute; left: var(--space-3); bottom: var(--space-3); background: var(--zluta); color: var(--text-na-zlute); font-size: 16px; font-weight: 600; padding: var(--space-1) var(--space-3); }
@media (min-width: 720px) { .g-stitek { font-size: 14px; } }

/* Okno rastru */
.g-okno { background: var(--seda); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); min-height: 0; color: var(--text-ink); }
@media (min-width: 720px) { .g-okno { padding: var(--space-8); } }
.g-okno--bila { background: var(--bila); border: var(--linka) solid var(--seda-tmava); }
.g-okno--modra { background: var(--modra); color: var(--text-na-modre); }
.g-okno--zluta { background: var(--zluta); color: var(--text-na-zlute); }
.g-okno--modra .g-maly { color: var(--text-na-modre); }
.g-okno--zluta .g-maly { color: var(--text-na-zlute); }
.g-okno--foto { padding: 0; aspect-ratio: 3 / 2; overflow: hidden; }
.g-okno--foto img { width: 100%; height: 100%; object-fit: cover; }
.g-okno--zluty { outline: var(--ram-fotky) solid var(--zluta); outline-offset: calc(-1 * var(--ram-fotky)); }
.g-okno--odkaz { position: relative; }
.g-okno--odkaz a::after { content: ""; position: absolute; inset: 0; }
.g-okno--odkaz:hover { background: var(--seda-tmava); }
.g-okno--odkaz.g-okno--modra:hover { background: var(--modra-tmava); }
.g-okno--odkaz.g-okno--zluta:hover { background: var(--zluta-tmava); }
.g-okno--odkaz:has(a:focus-visible) { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-okno--odkaz a:focus-visible { outline: none; }
.g-okno--odkaz h3 a, .g-okno--odkaz h4 a { color: inherit; text-decoration: none; }
.g-okno--odkaz:hover h3 a, .g-okno--odkaz:hover h4 a { text-decoration: underline; text-decoration-thickness: 2px; }
.g-okno h3, .g-okno h4 { margin: 0; }
.g-okno p { margin: 0; }
.g-okno .g-maly { margin-top: auto; }

/* Tlačítka */
.g-tl { display: inline-flex; align-items: center; justify-content: center; min-height: var(--cil-min); padding: var(--space-3) var(--space-5); border-radius: var(--radius-tlacitko); font: inherit; font-size: 17px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; border: 2px solid transparent; transition: background var(--trvani-kratke) var(--krivka), color var(--trvani-kratke) var(--krivka), border-color var(--trvani-kratke) var(--krivka); }
.g-tl--prim { background: var(--zluta); color: var(--text-na-zlute); border-color: var(--zluta); }
.g-tl--prim:hover { background: var(--zluta-tmava); border-color: var(--zluta-tmava); color: var(--text-na-zlute); }
.g-tl--plna { background: var(--modra); color: var(--text-na-modre); border-color: var(--modra); }
.g-tl--plna:hover { background: var(--modra-tmava); border-color: var(--modra-tmava); color: var(--text-na-modre); }
.g-tl--sek { background: var(--bila); color: var(--modra); border-color: var(--modra); }
.g-tl--sek:hover { background: var(--modra); color: var(--text-na-modre); }
.g-tl--modra { background: var(--bila); color: var(--modra); border-color: var(--bila); }
.g-tl--modra:hover { background: var(--seda); color: var(--modra-tmava); border-color: var(--seda); }
.g-tl--obrys { background: transparent; color: var(--text-na-modre); border-color: var(--text-na-modre); }
.g-tl--obrys:hover { background: var(--bila); color: var(--modra); }
.g-tl:active { transform: translateY(1px); }
.g-tl[disabled], .g-tl[aria-disabled="true"] { background: var(--seda-tmava); color: var(--text-tlumeny); border-color: var(--seda-tmava); cursor: not-allowed; }
.g-tl-skupina { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-4); align-items: center; }
.g-odpocet { font-size: 18px; font-weight: 600; margin: var(--space-4) 0 0; }

/* Servisní lišta (i na mobilu) a hlavička */
.g-servis { background: var(--modra-tmava); color: var(--text-na-modre); font-size: 16px; }
@media (min-width: 1024px) { .g-servis { font-size: 15px; } }
.g-servis ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--space-4); justify-content: space-between; align-items: center; }
@media (min-width: 1024px) { .g-servis ul { gap: var(--space-6); justify-content: flex-end; } }
.g-servis a { color: var(--text-na-modre); text-decoration: none; font-weight: 500; display: inline-flex; align-items: center; min-height: var(--cil-min); }
.g-servis a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.g-servis .g-servis__js { color: var(--zluta); font-weight: 600; }
.g-servis .g-jen-desktop { display: none; }
@media (min-width: 1024px) { .g-servis .g-jen-desktop { display: list-item; } .g-servis .g-jen-mobil { display: none; } }
.g-hlavicka { background: var(--bila); border-bottom: var(--linka) solid var(--seda-tmava); position: sticky; top: 0; z-index: 10; }
.g-hlavicka__rad { display: flex; align-items: center; gap: var(--space-6); min-height: var(--space-16); }
@media (min-width: 1024px) { .g-hlavicka__rad { min-height: 76px; } }
.g-logo { flex: none; display: inline-block; padding: 6px 0; }
.g-logo img { height: 32px; width: auto; max-width: none; }
@media (min-width: 720px) { .g-logo img { height: 40px; } }
.g-menu { display: none; list-style: none; margin: 0 0 0 auto; padding: 0; gap: var(--space-6); align-items: center; }
@media (min-width: 1024px) { .g-menu { display: flex; } }
.g-menu a { color: var(--text-ink); text-decoration: none; font-weight: 500; font-size: 17px; padding: var(--space-3) 0; border-bottom: 3px solid transparent; white-space: nowrap; }
.g-hlavicka .g-tl { white-space: nowrap; }
@media (min-width: 1024px) and (max-width: 1279px) { .g-menu { gap: var(--space-4); } .g-menu a { font-size: 16px; } }
.g-menu a:hover { border-bottom-color: var(--seda-tmava); }
.g-menu a[aria-current="page"] { font-weight: 600; border-bottom-color: var(--modra); }
.g-menu a.g-menu__js { color: var(--modra); font-weight: 600; }
.g-menu-tl { margin-left: auto; display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--cil-min); padding: 0 var(--space-4); background: var(--modra); border: 2px solid var(--modra); border-radius: var(--radius-tlacitko); color: var(--text-na-modre); font: inherit; font-weight: 600; cursor: pointer; }
@media (min-width: 1024px) { .g-menu-tl { display: none; } }
.g-hlavicka .g-tl--prim { display: none; }
@media (min-width: 1024px) { .g-hlavicka .g-tl--prim { display: inline-flex; } }
.g-mobilni-menu { background: var(--bila); position: fixed; inset: 0; padding: var(--space-4); overflow: auto; z-index: 20; }
.g-mobilni-menu ul { list-style: none; margin: 0; padding: 0; }
.g-mobilni-menu li a { display: flex; align-items: center; min-height: var(--space-12); font-size: 22px; font-weight: 600; color: var(--text-ink); text-decoration: none; border-bottom: var(--linka) solid var(--seda-tmava); }
.g-mobilni-menu li a.g-menu__js { color: var(--modra); }
.g-mobilni-menu .g-servis-mob { margin-top: var(--space-6); }
.g-mobilni-menu .g-servis-mob a { min-height: var(--cil-min); font-size: 17px; font-weight: 500; border: 0; }

/* Sezónní úvod (na modré dvoustraně) */
.g-uvod__text { display: flex; flex-direction: column; justify-content: center; }
.g-uvod__datum { font-size: 22px; font-weight: 700; line-height: 1.35; margin: 0 0 var(--space-4); font-variant-numeric: tabular-nums; }
.g-uvod__datum span { white-space: nowrap; }
.g-dvoustrana--modra .g-uvod__datum { color: var(--zluta); }
@media (min-width: 720px) { .g-uvod__datum { font-size: 30px; } }
.g-uvod__foto { position: relative; }

/* Panel jazykové školy (na žluté dvoustraně) */
.g-js { align-items: center; }
.g-js__odkazy { display: grid; gap: var(--ram-mobil); grid-template-columns: 1fr; }
@media (min-width: 720px) { .g-js__odkazy { gap: var(--ram-desktop); grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.g-js__odkaz { position: relative; background: var(--bila); color: var(--text-ink); padding: var(--space-4) var(--space-5); min-height: 72px; display: flex; flex-direction: column; justify-content: center; gap: var(--space-1); }
.g-js__odkaz:hover { background: var(--seda); }
.g-js__odkaz a { color: var(--text-ink); text-decoration: none; font-size: 18px; font-weight: 600; line-height: 1.3; }
.g-js__odkaz a::after { content: ""; position: absolute; inset: 0; }
.g-js__odkaz:hover a { text-decoration: underline; text-decoration-thickness: 2px; }
.g-js__odkaz:has(a:focus-visible) { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-js__odkaz a:focus-visible { outline: none; }
.g-js__odkaz span { font-size: 16px; color: var(--text-tlumeny); }
@media (min-width: 720px) { .g-js__odkaz span { font-size: 15px; } }
.g-cambridge { display: inline-block; background: var(--bila); padding: var(--space-2) var(--space-3); margin-top: var(--space-5); }
.g-cambridge img { height: 48px; width: auto; }

/* Aktualita */
.g-aktualita { display: flex; flex-direction: column; gap: var(--space-2); position: relative; }
.g-aktualita__foto { aspect-ratio: 16 / 9; overflow: hidden; background: var(--seda); }
.g-aktualita__foto img { width: 100%; height: 100%; object-fit: cover; }
.g-aktualita__pole { aspect-ratio: 16 / 9; background: var(--modra); color: var(--text-na-modre); display: flex; align-items: flex-end; padding: var(--space-5); font-size: 40px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.g-aktualita__pole--zluta { background: var(--zluta); color: var(--text-na-zlute); }
.g-aktualita--hlavni .g-aktualita__pole, .g-aktualita--hlavni .g-aktualita__foto { aspect-ratio: 3 / 2; }
.g-aktualita h3 { margin: var(--space-2) 0 0; font-size: 20px; line-height: 1.3; }
.g-aktualita--hlavni h3 { font-size: 24px; }
@media (min-width: 720px) { .g-aktualita--hlavni h3 { font-size: 28px; } }
.g-aktualita h3 a { color: var(--text-ink); text-decoration: none; }
.g-aktualita h3 a::after { content: ""; position: absolute; inset: 0; }
.g-aktualita:hover h3 a { text-decoration: underline; text-decoration-thickness: 2px; }
.g-aktualita p { margin: 0; font-size: 16px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.g-aktualita .g-stitek-text { font-size: 16px; font-weight: 600; color: var(--modra); }
@media (min-width: 720px) { .g-aktualita .g-stitek-text { font-size: 14px; } }

/* Cesty studia: barevné karty s fotkou */
.g-cesta { background: var(--bila); border: var(--linka) solid var(--seda-tmava); color: var(--text-ink); }
.g-cesta--zluta { background: var(--zluta); border-color: var(--zluta); color: var(--text-na-zlute); }
.g-cesta--modra { background: var(--modra); border-color: var(--modra); color: var(--text-na-modre); }
.g-cesta--seda { background: var(--seda); border-color: var(--seda); }
.g-cesta.g-okno--odkaz.g-cesta--zluta:hover { background: var(--zluta-tmava); }
.g-cesta.g-okno--odkaz.g-cesta--modra:hover { background: var(--modra-tmava); }
.g-cesta.g-okno--odkaz.g-cesta--seda:hover { background: var(--seda-tmava); }
.g-cesta__foto { aspect-ratio: 3 / 2; overflow: hidden; margin: 0 0 var(--space-3); background: var(--seda-tmava); }
.g-cesta__foto img { width: 100%; height: 100%; object-fit: cover; }
.g-cesta dl { display: grid; grid-template-columns: auto 1fr; gap: var(--space-1) var(--space-3); margin: var(--space-3) 0 0; font-size: 16px; }
.g-cesta dt { opacity: 1; }
.g-cesta--bila dt, .g-cesta--seda dt { color: var(--text-tlumeny); }
.g-cesta dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }

/* Okno čísel a pás čísel */
.g-cislo { font-size: 44px; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
@media (min-width: 720px) { .g-cislo { font-size: 64px; } }
.g-unit { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; width: 100%; max-width: 200px; margin: var(--space-3) 0; }
.g-unit span { aspect-ratio: 1; background: var(--seda-tmava); display: block; }
.g-unit span.on { background: var(--modra); }
.g-okno--modra .g-unit span { background: var(--modra-tmava); }
.g-okno--modra .g-unit span.on { background: var(--bila); }
.g-cisla { display: grid; gap: var(--space-8) var(--ram-desktop); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .g-cisla { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.g-cisla > div { display: flex; flex-direction: column; gap: var(--space-2); }
.g-cisla p { margin: 0; }
.g-cisla .g-maly { margin-top: auto; }
.g-dvoustrana--modra .g-cislo { color: var(--zluta); }
.g-dvoustrana--modra .g-unit span { background: var(--modra-tmava); }
.g-dvoustrana--modra .g-unit span.on { background: var(--zluta); }
.g-dvoustrana--zluta .g-unit span { background: var(--zluta-tmava); }
.g-dvoustrana--zluta .g-unit span.on { background: var(--modra); }

/* Mini kontrolní seznam */
.g-kroky { display: flex; gap: 4px; margin: var(--space-2) 0; }
.g-kroky span { width: 20px; height: 20px; border: 2px solid var(--modra); display: block; }
.g-kroky span.on { background: var(--modra); }

/* Partneři a zřizovatel */
.g-partneri { display: grid; gap: var(--ram-mobil); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .g-partneri { gap: var(--ram-desktop); grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .g-partneri { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.g-partner { position: relative; background: var(--bila); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); color: var(--text-ink); }
.g-partner__logo { height: 64px; display: flex; align-items: center; margin-bottom: var(--space-2); }
.g-partner__logo img { max-height: 64px; max-width: 100%; width: auto; object-fit: contain; }
.g-partner h3 { font-size: 20px; margin: 0; }
.g-partner h3 a { color: var(--text-ink); text-decoration: none; }
.g-partner h3 a::after { content: ""; position: absolute; inset: 0; }
.g-partner:hover h3 a { text-decoration: underline; text-decoration-thickness: 2px; }
.g-partner:has(a:focus-visible) { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-partner a:focus-visible { outline: none; }
.g-partner p { margin: 0; font-size: 16px; line-height: 1.5; }
.g-zrizovatel { background: var(--bila); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); position: relative; color: var(--text-ink); }
@media (min-width: 720px) { .g-zrizovatel { padding: var(--space-8); } }
.g-zrizovatel img { width: 100%; max-width: 360px; height: auto; }
.g-zrizovatel a { color: var(--text-ink); }

/* Dnes ve škole */
.g-dnes { align-items: start; }
.g-dnes__odkazy { display: grid; gap: var(--ram-mobil); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .g-dnes__odkazy { gap: var(--ram-desktop); } }

/* Časová osa */
.g-osa { list-style: none; margin: 0; padding: 0; position: relative; }
.g-osa::before { content: ""; position: absolute; left: 11px; top: 12px; bottom: 12px; width: 2px; background: var(--seda-tmava); }
.g-osa li { position: relative; padding: 0 0 var(--space-6) var(--space-10); }
.g-osa li::before { content: ""; position: absolute; left: 4px; top: 6px; width: 16px; height: 16px; background: var(--bila); border: 2px solid var(--modra); }
.g-osa li.hotovo::before { background: var(--modra); }
.g-osa li.ted { background: var(--zluta); padding-top: var(--space-3); padding-bottom: var(--space-3); padding-right: var(--space-3); margin-left: calc(-1 * var(--space-3)); padding-left: calc(var(--space-10) + var(--space-3)); }
.g-osa li.ted::before { left: calc(4px + var(--space-3)); top: calc(6px + var(--space-3)); background: var(--text-ink); border-color: var(--text-ink); }
.g-osa .g-datum { display: block; }
.g-osa strong { display: block; font-size: 18px; }
.g-osa .ted-popis { font-size: 16px; font-weight: 600; }

/* Formuláře a kalkulačka */
.g-pole { display: flex; flex-direction: column; gap: var(--space-1); font-size: 16px; }
.g-pole label { font-weight: 600; }
.g-pole input, .g-pole select { font: inherit; font-size: 17px; min-height: var(--cil-min); padding: 0 var(--space-3); border: 2px solid var(--text-tlumeny); border-radius: var(--radius-tlacitko); background: var(--bila); color: var(--text-ink); }
.g-pole input:focus-visible, .g-pole select:focus-visible { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; border-color: var(--modra); }
.g-pole .g-chyba { color: var(--stav-chyba); font-size: 16px; font-weight: 600; }
.g-pole input[aria-invalid="true"] { border-color: var(--stav-chyba); }
.g-kalk { display: grid; gap: var(--ram-desktop); }
@media (min-width: 720px) { .g-kalk { grid-template-columns: 7fr 5fr; align-items: start; } }
.g-kalk__vstupy { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 720px) { .g-kalk__vstupy { grid-template-columns: repeat(5, 1fr); } }
.g-kalk__vstupy legend { font-weight: 600; grid-column: 1 / -1; padding: 0; margin: var(--space-3) 0 var(--space-1); }
.g-kalk__vstupy fieldset { display: contents; border: 0; margin: 0; padding: 0; }
.g-kalk__vysledek { position: sticky; top: 88px; }
.g-kalk__vysledek .g-cislo { margin: var(--space-2) 0; }
.g-radio { display: inline-flex; gap: var(--space-2); flex-wrap: wrap; }
.g-radio label { display: inline-flex; align-items: center; min-height: var(--cil-min); padding: 0 var(--space-4); border: 2px solid var(--modra); border-radius: var(--radius-tlacitko); color: var(--modra); font-weight: 600; cursor: pointer; }
.g-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.g-radio label:has(input:checked) { background: var(--modra); color: var(--text-na-modre); }
.g-radio label:has(input:focus-visible) { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }

/* Akordeon */
.g-akordeon { border-top: var(--linka) solid var(--seda-tmava); }
.g-akordeon details { border-bottom: var(--linka) solid var(--seda-tmava); }
.g-akordeon summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-4); align-items: center; min-height: var(--cil-min); padding: var(--space-4) 0; font-size: 18px; font-weight: 600; }
@media (min-width: 720px) { .g-akordeon summary { font-size: 22px; } }
.g-akordeon summary::-webkit-details-marker { display: none; }
.g-akordeon summary::after { content: "+"; font-size: 28px; font-weight: 400; color: var(--modra); flex: none; width: 32px; text-align: center; transition: transform var(--trvani-stredni) var(--krivka); }
.g-akordeon details[open] summary::after { transform: rotate(45deg); }
.g-akordeon summary:hover { color: var(--modra); }
.g-akordeon details > div { padding: 0 0 var(--space-6); max-width: var(--text-max); }

/* Tabulka a graf */
.g-tabulka { width: 100%; border-collapse: collapse; font-size: 16px; font-variant-numeric: tabular-nums; }
.g-tabulka th, .g-tabulka td { text-align: left; padding: var(--space-3) var(--space-3); border-bottom: var(--linka) solid var(--seda-tmava); vertical-align: top; }
.g-tabulka th { font-weight: 600; background: var(--seda); }
.g-tabulka td.c, .g-tabulka th.c { text-align: right; }
.g-tabulka caption { text-align: left; font-weight: 600; padding: 0 0 var(--space-3); caption-side: top; }
@media (max-width: 719px) {
  .g-tabulka--karty thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .g-tabulka--karty tr { display: block; border: var(--linka) solid var(--seda-tmava); margin-bottom: var(--space-3); padding: var(--space-3); }
  .g-tabulka--karty td { display: grid; grid-template-columns: 40% 1fr; gap: var(--space-3); border: 0; padding: var(--space-1) 0; text-align: left; }
  .g-tabulka--karty td::before { content: attr(data-popis); color: var(--text-tlumeny); }
}
.g-sloupce { display: flex; align-items: flex-end; gap: 4px; height: 160px; position: relative; }
.g-sloupce span { flex: 1; background: var(--seda-tmava); display: block; position: relative; }
.g-sloupce span.prijat { background: var(--modra); }
.g-sloupce .hranice { position: absolute; top: -6px; bottom: -28px; width: 3px; background: var(--zluta); }
.g-sloupce .hranice b { position: absolute; bottom: 0; left: 8px; font-size: 16px; white-space: nowrap; background: var(--zluta); padding: 0 var(--space-1); }

/* Citát, video */
.g-citat { border-left: 4px solid var(--zluta); padding: var(--space-1) 0 var(--space-1) var(--space-5); margin: 0; }
.g-citat p { font-size: 20px; line-height: 1.5; margin: 0 0 var(--space-2); }
.g-citat footer { font-size: 16px; color: var(--text-tlumeny); }
.g-citat footer b { color: var(--text-ink); }
.g-video { position: relative; aspect-ratio: 16 / 9; background: var(--modra); overflow: hidden; margin: 0; }
.g-video img { width: 100%; height: 100%; object-fit: cover; }
.g-video button { position: absolute; left: var(--space-4); bottom: var(--space-4); display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--cil-min); padding: 0 var(--space-4); background: var(--zluta); color: var(--text-na-zlute); border: 0; border-radius: var(--radius-tlacitko); font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; }
.g-video button:hover { background: var(--zluta-tmava); }
.g-video button::before { content: "\25B6"; font-size: 14px; }

/* Drobečky, hledání, stránkování, metadata, patička */
.g-drobecky { font-size: 16px; margin: 0 0 var(--space-4); }
.g-drobecky ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.g-drobecky li + li::before { content: "\203A"; margin-right: var(--space-2); color: var(--text-tlumeny); }
.g-drobecky a { color: var(--text-tlumeny); text-decoration: none; }
.g-drobecky a:hover { text-decoration: underline; }
.g-drobecky [aria-current] { color: var(--text-ink); }
.g-hledani { display: flex; gap: var(--space-2); max-width: 560px; }
.g-hledani input { flex: 1; font: inherit; font-size: 17px; min-height: var(--cil-min); padding: 0 var(--space-3); border: 2px solid var(--modra); border-radius: var(--radius-tlacitko); }
.g-hledani .g-tl { flex: none; }
.g-napoveda { list-style: none; margin: var(--space-2) 0 0; padding: 0; border: var(--linka) solid var(--seda-tmava); max-width: 560px; }
.g-napoveda li a { display: flex; justify-content: space-between; padding: var(--space-3) var(--space-3); text-decoration: none; color: var(--text-ink); min-height: var(--cil-min); align-items: center; }
.g-napoveda li a:hover, .g-napoveda li a[aria-selected="true"] { background: var(--seda); }
.g-napoveda li a small { color: var(--text-tlumeny); font-size: 16px; }
.g-strankovani { display: flex; gap: var(--space-2); list-style: none; margin: 0; padding: 0; }
.g-strankovani a, .g-strankovani span { display: inline-flex; align-items: center; justify-content: center; min-width: var(--cil-min); min-height: var(--cil-min); text-decoration: none; color: var(--modra); border: 2px solid transparent; font-weight: 600; }
.g-strankovani a:hover { border-color: var(--modra); }
.g-strankovani [aria-current="page"] { background: var(--modra); color: var(--text-na-modre); }
.g-meta { font-size: 16px; color: var(--text-tlumeny); border-top: var(--linka) solid var(--seda-tmava); padding-top: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-4); }
.g-paticka { background: var(--modra); color: var(--text-na-modre); padding: var(--space-12) 0; font-size: 16px; }
.g-paticka a { color: var(--text-na-modre); }
.g-paticka h4 { color: var(--text-na-modre); }
.g-paticka .g-logo img { height: 40px; }
.g-paticka .g-logo { margin-bottom: var(--space-4); }
.g-paticka ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.g-paticka ul a, .g-paticka address a { display: inline-flex; align-items: center; min-height: var(--cil-min); }
.g-paticka address { font-style: normal; line-height: 1.6; }
.g-paticka__rad { display: grid; gap: var(--space-10); }
@media (min-width: 720px) { .g-paticka__rad { grid-template-columns: 1.2fr 1fr 1fr; } }
.g-paticka .mapa { aspect-ratio: 2 / 1; background: var(--modra-tmava); display: flex; align-items: center; justify-content: center; text-decoration: none; margin-top: var(--space-6); }

/* Focus na modré dvoustraně žlutě */
.g-dvoustrana--modra :focus-visible { outline-color: var(--focus-na-modre); }

/* Box jazykové školy: malý žlutý box v pravém sloupci úvodu (desktop) nebo za aktualitami (mobil) */
.g-js-box { background: var(--zluta); color: var(--text-na-zlute); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }
@media (min-width: 720px) { .g-js-box { padding: var(--space-6); } }
.g-js-box h2 { font-size: 26px; line-height: 1.2; margin: 0; color: var(--text-na-zlute); }
.g-js-box p { margin: 0; font-size: 16px; }
.g-js-box ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 var(--space-5); }
.g-js-box a:not(.g-tl) { color: var(--text-na-zlute); display: inline-flex; align-items: center; min-height: var(--cil-min); font-weight: 600; font-size: 16px; }
.g-js-box .g-tl { align-self: flex-start; margin-top: var(--space-1); }
.g-js-box :focus-visible { outline-color: var(--focus); }

/* Dvě strany knihy: na desktopu obsah dvoustrany nikdy nesahá ke hřbetu. Kolem středu volný pruh 2 × stred-mezera. */
.g-strany { display: grid; gap: var(--space-8); }
@media (min-width: 1024px) { .g-strany { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: calc(2 * var(--stred-mezera, 48px)); align-items: start; } }
.g-strany .g-cisla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .g-strany .g-partneri { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g-strany .g-zrizovatel { grid-column: 1 / -1; } }
.g-strany > .g-strana { display: flex; flex-direction: column; gap: var(--ram-desktop); min-width: 0; }
/* Nízká koláž: dvě řady, velká fotka vlevo přes obě */
.g-kolaz--pas { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: repeat(2, 96px); grid-template-areas: "a b c" "a d e"; }
.g-kolaz--pas figure:nth-child(1) { grid-area: a; } .g-kolaz--pas figure:nth-child(2) { grid-area: b; } .g-kolaz--pas figure:nth-child(3) { grid-area: c; } .g-kolaz--pas figure:nth-child(4) { grid-area: d; } .g-kolaz--pas figure:nth-child(5) { grid-area: e; }
@media (min-width: 1024px) { .g-js-box h2 { font-size: 24px; } .g-js-box ul { gap: 0 var(--space-4); } }

/* Verze 4 (2. 11. 2026, závěry z knih) */
.g-skryte { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Tlačítko v hlavičce: jen desktop; v období, kdy úvod nese stejnou akci, je obrysové (jedno primární tlačítko na obrazovce) */
.g-hlavicka .g-tl { display: none; }
@media (min-width: 1024px) { .g-hlavicka .g-tl { display: inline-flex; } }
/* Hledání v servisní liště na desktopu: skutečné pole s tlačítkem Hledat */
.g-servis__hledat { display: flex; align-items: center; gap: var(--space-2); margin: 0; }
.g-servis__hledat input { font: inherit; font-size: 16px; min-height: var(--cil-min); width: 220px; padding: 0 var(--space-3); border: 2px solid var(--bila); border-radius: var(--radius-tlacitko); background: var(--bila); color: var(--text-ink); }
.g-servis__hledat input::placeholder { color: var(--text-tlumeny); }
.g-servis__hledat button { font: inherit; font-size: 16px; font-weight: 600; min-height: var(--cil-min); padding: 0 var(--space-4); border: 2px solid var(--bila); border-radius: var(--radius-tlacitko); background: transparent; color: var(--text-na-modre); cursor: pointer; }
.g-servis__hledat button:hover { background: var(--bila); color: var(--modra); }
.g-servis :focus-visible { outline-color: var(--focus-na-modre); }
/* Plán: tři skutečné kroky v pořadí (číslování má význam) */
.g-plan { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ram-mobil); }
@media (min-width: 720px) { .g-plan { gap: var(--ram-desktop); grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.g-plan li { background: var(--seda); color: var(--text-ink); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); }
@media (min-width: 720px) { .g-plan li { padding: var(--space-8); } }
.g-plan__cislo { font-size: 44px; font-weight: 800; line-height: 1; color: var(--modra); font-variant-numeric: tabular-nums; }
.g-plan h3 { margin: 0; }
.g-plan p { margin: 0; }
.g-plan__stav { font-size: 16px; font-weight: 700; }
.g-plan li.ted { outline: var(--ram-fotky) solid var(--zluta); outline-offset: calc(-1 * var(--ram-fotky)); }
.g-plan a { display: inline-flex; align-items: center; min-height: var(--cil-min); font-weight: 600; }
.g-plan .g-odkazy { display: flex; flex-direction: column; margin-top: auto; }
/* Mimořádné oznámení nad úvodem (uzavření školy, výsledky); jen když je, jinak se nevykreslí */
.g-oznameni { background: var(--bila); color: var(--text-ink); border-bottom: 3px solid var(--modra); padding: var(--space-4) 0; }
.g-oznameni p { margin: 0; max-width: none; }
.g-oznameni strong { color: var(--modra); }

/* Verze 5 (2. 11. 2026): knihovna bloků úvodní stránky */
/* Viditelnost podle šířky pro bloky, které mají jinou podobu na mobilu a desktopu */
@media (max-width: 1023px) { .g-jen-d { display: none !important; } }
@media (min-width: 1024px) { .g-jen-m { display: none !important; } }
/* Tichý box jazykové školy: bílý, aby nesoupeřil se žlutým tlačítkem úvodu */
.g-js-box--tichy { background: var(--bila); color: var(--text-ink); }
.g-js-box--tichy h2 { color: var(--text-ink); }
.g-js-box--tichy a:not(.g-tl) { color: var(--modra); }
/* Pruhový graf s popisky (Kam odcházejí absolventi). Data jsou i v textu řádku. */
.g-pruhy { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.g-pruh { display: grid; grid-template-columns: minmax(0, 1fr) 4.5em; grid-template-areas: "popis hodnota" "pruh pruh"; gap: var(--space-1) var(--space-3); align-items: center; font-size: 16px; }
@media (min-width: 720px) { .g-pruh { grid-template-columns: 16em minmax(0, 1fr) 4.5em; grid-template-areas: "popis pruh hodnota"; } }
.g-pruh__popis { grid-area: popis; }
.g-pruh__hodnota { grid-area: hodnota; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.g-pruh__pas { grid-area: pruh; height: 20px; background: var(--seda); }
.g-pruh__pas span { display: block; height: 100%; background: var(--modra); }
.g-dvoustrana--modra .g-pruh__pas { background: var(--modra-tmava); }
.g-dvoustrana--modra .g-pruh__pas span { background: var(--zluta); }
/* Histogram s popisky os (Kolik bodů stačilo) */
.g-histogram { display: grid; gap: var(--space-2); }
.g-histogram .g-sloupce { height: 180px; }
.g-histogram__osa { display: flex; gap: 4px; font-size: 16px; color: var(--text-tlumeny); }
.g-histogram__osa span { flex: 1; text-align: center; font-variant-numeric: tabular-nums; }
@media (max-width: 719px) { .g-histogram__osa span:nth-child(even) { visibility: hidden; } }
.g-legenda { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); font-size: 16px; margin: 0; padding: 0; list-style: none; }
.g-legenda i { display: inline-block; width: 16px; height: 16px; vertical-align: -2px; margin-right: var(--space-2); }
/* Soubory ke stažení */
.g-soubory { list-style: none; margin: 0; padding: 0; border-top: var(--linka) solid var(--seda-tmava); }
.g-soubory li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-2) var(--space-5); padding: var(--space-4) 0; border-bottom: var(--linka) solid var(--seda-tmava); }
.g-soubory a { font-size: 18px; font-weight: 600; display: inline-flex; align-items: center; min-height: var(--cil-min); }
.g-soubory span { font-size: 16px; color: var(--text-tlumeny); }
/* Nejbližší akce */
.g-akce { list-style: none; margin: 0; padding: 0; border-top: var(--linka) solid var(--seda-tmava); }
.g-akce li { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: var(--space-4); padding: var(--space-4) 0; border-bottom: var(--linka) solid var(--seda-tmava); align-items: baseline; }
.g-akce time { font-size: 22px; font-weight: 800; color: var(--modra); font-variant-numeric: tabular-nums; }
.g-akce b { display: block; font-size: 18px; }
.g-akce span { font-size: 16px; color: var(--text-tlumeny); }
/* Okno s datem v sezónním úvodu (Přijímačky, Výsledky, Září, Léto) */
.g-okno-datum { background: var(--bila); color: var(--text-ink); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-1); }
@media (min-width: 720px) { .g-okno-datum { padding: var(--space-6); } }
.g-okno-datum strong { font-size: 26px; line-height: 1.2; color: var(--modra); font-variant-numeric: tabular-nums; }
.g-okno-datum p { margin: 0; font-size: 16px; }
.g-dvoustrana .g-okno-datum a:not(.g-tl) { color: var(--modra); }
.g-okna-datum { display: grid; gap: var(--ram-mobil); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .g-okna-datum { gap: var(--ram-desktop); grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.g-foto-uvod { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; background: var(--bila); padding: var(--ram-mobil); }
@media (min-width: 720px) { .g-foto-uvod { padding: var(--ram-desktop); } }
.g-foto-uvod img { width: 100%; height: 100%; object-fit: cover; }
/* Typografické okno bez fotky (oblast zájmu bez vhodné fotky) */
.g-cesta__pole { aspect-ratio: 3 / 2; margin: 0 0 var(--space-3); display: flex; align-items: flex-end; padding: var(--space-4); font-size: 22px; font-weight: 700; line-height: 1.2; }
.g-cesta--bila .g-cesta__pole { background: var(--modra); color: var(--text-na-modre); }
/* Opravy kontrastu: bílé dlaždice na barevných plochách a aktuální krok osy */
.g-dvoustrana .g-okno--bila .g-maly, .g-dvoustrana .g-okno-datum .g-maly, .g-na-modre .g-okno--bila .g-maly { color: var(--text-tlumeny); }
.g-osa li.ted .g-datum { color: var(--text-na-zlute); }
/* Odsazení sezónního úvodu: na mobilu těsnější, aby nad ohybem zůstal začátek dalšího bloku */
.g-dvoustrana.g-uvod-pad { padding: 28px 0 24px; }
@media (min-width: 1024px) { .g-dvoustrana.g-uvod-pad { padding: 56px 0; } }
@media (max-width: 719px) { .g-uvod-pad .g-lead { font-size: 17px; } .g-uvod-pad .g-odpocet { margin-top: 12px; } .g-uvod-pad .g-tl-skupina { gap: 12px; } }

/* Verze 6: box jazykové školy s obrázkovými dlaždicemi (podle webu jazykové školy js2026) */
.g-js-box { gap: var(--space-3); }
.g-js-box h2 { font-size: 22px; }
.g-js-box .g-js-dlazdice { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--linka); background: var(--seda-tmava); border: var(--linka) solid var(--seda-tmava); }
.g-js-dlazdice li { background: var(--bila); margin: 0; }
.g-js-box .g-js-dlazdice a { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); height: 100%; box-sizing: border-box; padding: var(--space-3); min-height: var(--cil-min); color: var(--text-ink); text-decoration: none; font-weight: 400; transition: background-color var(--trvani-kratke) var(--krivka); }
.g-js-box .g-js-dlazdice a:hover { background: var(--seda); }
.g-js-box .g-js-dlazdice a:hover .g-js-dlazdice__nazev { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.g-js-box .g-js-dlazdice a:focus-visible { outline: var(--focus-sirka) solid var(--focus); outline-offset: -3px; }
.g-js-dlazdice__obr { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; border: var(--linka) solid var(--seda-tmava); background: var(--bila); overflow: hidden; }
.g-js-dlazdice__obr img { display: block; width: 44px; height: 44px; object-fit: contain; }
.g-js-dlazdice__obr--vlajky { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 0 5px; box-sizing: border-box; }
.g-js-dlazdice__obr--vlajky img { width: 32px; height: auto; }
.g-js-dlazdice__nazev { display: block; font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--modra); }
.g-js-dlazdice__popis { display: block; font-size: 16px; line-height: 1.4; color: var(--text-tlumeny); }
.g-js-box__hlava { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 var(--space-4); }
@media (min-width: 720px) {
  .g-js-box .g-js-dlazdice a { flex-direction: row; gap: var(--space-3); }
  .g-js-dlazdice__popis { font-size: 14px; }
}

/* Verze 7 (2. 11. 2026): plně využitý úvod, ukázky s popiskem, kontrolní seznam, barevnější tabulka, dotazy, soubory a kontakt */
@media (min-width: 1024px) {
  .g-uvod--plny .g-strany { align-items: stretch; }
  .g-uvod--plny .g-strana--prava { justify-content: space-between; }
  .g-uvod--plny .g-uvod__text { justify-content: center; }
}
/* Ukázky: fotky s krátkým popiskem v bílém rámu (koláž, která říká, co je na fotce) */
.g-ukazky { background: var(--bila); padding: var(--ram-mobil); color: var(--text-ink); }
@media (min-width: 720px) { .g-ukazky { padding: var(--space-4) var(--ram-desktop) var(--ram-desktop); } }
.g-ukazky > .g-kicker { margin: 0 0 var(--space-3); color: var(--text-ink); }
.g-ukazky ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--ram-mobil); }
@media (min-width: 720px) { .g-ukazky ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4) var(--ram-desktop); } }
.g-ukazky li { margin: 0; display: flex; flex-direction: column; }
.g-ukazky img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin-bottom: var(--space-2); }
.g-ukazky b { font-size: 16px; font-weight: 600; line-height: 1.3; }
.g-ukazky li span { font-size: 16px; line-height: 1.4; color: var(--text-tlumeny); }
@media (min-width: 720px) { .g-ukazky li span { font-size: 14px; } }
/* Kontrolní seznam přihlášky v úvodu */
.g-uvod-prihlasky { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--ram-desktop); }
.g-seznam-kroku { background: var(--bila); color: var(--text-ink); padding: var(--space-5) var(--space-6); display: flex; flex-direction: column; gap: var(--space-2); }
.g-seznam-kroku__hlava { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); }
.g-seznam-kroku__hlava .g-kicker { margin: 0; }
.g-seznam-kroku__hlava span { white-space: nowrap; font-size: 14px; font-weight: 600; background: var(--zluta); color: var(--text-na-zlute); padding: 2px 8px; }
.g-seznam-kroku ol { list-style: none; margin: 0; padding: 0; counter-reset: krok; }
.g-seznam-kroku li { margin: 0; border-top: var(--linka) solid var(--seda-tmava); }
.g-seznam-kroku label { display: flex; gap: var(--space-3); align-items: center; min-height: var(--cil-min); padding: var(--space-1) 0; cursor: pointer; }
.g-seznam-kroku input { appearance: none; -webkit-appearance: none; flex: none; width: 22px; height: 22px; margin: 0; border: 2px solid var(--modra); background: var(--bila); display: grid; place-items: center; cursor: pointer; }
.g-seznam-kroku input:checked { background: var(--modra); }
.g-seznam-kroku input:checked::after { content: ""; width: 6px; height: 11px; border: solid var(--bila); border-width: 0 3px 3px 0; transform: translateY(-1px) rotate(45deg); }
.g-seznam-kroku input:focus-visible { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-seznam-kroku label > span { display: flex; flex-direction: column; }
.g-seznam-kroku b { font-size: 16px; font-weight: 600; line-height: 1.3; }
.g-seznam-kroku label span span { font-size: 14px; line-height: 1.4; color: var(--text-tlumeny); }
.g-seznam-kroku input:checked + span b { color: var(--text-tlumeny); font-weight: 400; }
.g-seznam-kroku .g-maly { margin: var(--space-1) 0 0; color: var(--text-tlumeny); }
.g-dvoustrana .g-seznam-kroku a:not(.g-tl) { color: var(--odkaz); }
.g-foto-uvod--vyska { aspect-ratio: auto; height: 100%; }
.g-foto-uvod--vyska img { width: 100%; height: 100%; object-fit: cover; }
/* Čísla přihlášek v úvodu: číslo velké, popisek hned u něj, bez štítku „Přihlášek:“ */
.g-uvod-cisla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ram-mobil); }
@media (min-width: 720px) { .g-uvod-cisla { gap: var(--ram-desktop); } }
.g-uvod-cisla > div { background: var(--modra-tmava); color: var(--text-na-modre); padding: var(--space-3) var(--space-4); display: flex; flex-direction: column; gap: 2px; border-top: 4px solid var(--zluta); }
.g-dvoustrana .g-strana--prava .g-uvod-cisla > div { background: var(--modra); }
.g-uvod-cisla__n { font-size: 36px; font-weight: 800; line-height: 1.05; color: var(--zluta); font-variant-numeric: tabular-nums; }
@media (min-width: 720px) { .g-uvod-cisla__n { font-size: 44px; } }
.g-uvod-cisla span:not(.g-uvod-cisla__n) { font-size: 16px; line-height: 1.35; }
.g-uvod-cisla b { font-size: 16px; font-weight: 600; }
.g-uvod-cisla .g-maly { grid-column: 1 / -1; margin: 0; color: var(--text-na-modre); }
.g-dvoustrana .g-uvod-cisla .g-maly a { color: var(--text-na-modre); }
/* Tabulka oborů: barevné záhlaví podle karet cest, spojené hodnoty, zvýrazněná hranice */
.g-tabulka--obory { border-collapse: separate; border-spacing: 0; }
.g-tabulka--obory thead th { vertical-align: bottom; padding: var(--space-4); border-bottom: 0; font-size: 22px; line-height: 1.2; }
.g-tabulka--obory thead th span { display: block; font-size: 16px; font-weight: 400; margin-top: var(--space-1); }
.g-tabulka--obory thead th:first-child { background: transparent; }
.g-tabulka--obory thead th.o-zluta { background: var(--zluta); color: var(--text-na-zlute); }
.g-tabulka--obory thead th.o-modra { background: var(--modra); color: var(--text-na-modre); }
.g-tabulka--obory thead th.o-seda { background: var(--seda); color: var(--text-ink); border-top: 4px solid var(--modra); }
.g-tabulka--obory tbody th { background: transparent; font-weight: 600; color: var(--text-ink); font-size: 16px; }
.g-tabulka--obory tbody td { padding: var(--space-4); }
.g-tabulka--obory td strong { font-size: 22px; font-weight: 700; line-height: 1.2; display: block; font-variant-numeric: tabular-nums; }
.g-tabulka--obory td small { font-size: 16px; color: var(--text-tlumeny); display: block; }
.g-tabulka--obory tbody tr:nth-child(even) td, .g-tabulka--obory tbody tr:nth-child(even) th { background: var(--seda); }
.g-tabulka--obory tr.g-hranice th, .g-tabulka--obory tr.g-hranice td { background: var(--modra); color: var(--text-na-modre); border-bottom: 0; }
.g-tabulka--obory tr.g-hranice td strong { color: var(--zluta); font-size: 30px; }
.g-tabulka--obory tr.g-hranice td small, .g-tabulka--obory tr.g-hranice th { color: var(--text-na-modre); }
.g-pomer { display: flex; gap: 3px; margin-top: var(--space-2); }
.g-pomer i { width: 10px; height: 10px; background: var(--seda-tmava); }
.g-pomer i.on { background: var(--modra); }
@media (max-width: 719px) {
  .g-tabulka--obory td { border-left: 6px solid var(--seda-tmava); padding-left: var(--space-3) !important; }
  .g-tabulka--obory td:nth-child(2) { border-left-color: var(--zluta); }
  .g-tabulka--obory td:nth-child(3) { border-left-color: var(--modra); }
  .g-tabulka--obory tbody tr:nth-child(even) td, .g-tabulka--obory tbody tr:nth-child(even) th { background: transparent; }
  .g-tabulka--obory tbody th { color: var(--text-ink); font-weight: 600; font-size: 18px; display: block; padding: 0 0 var(--space-2); border: 0; }
  .g-tabulka--obory tr.g-hranice { background: var(--modra); }
  .g-tabulka--obory tr.g-hranice td::before { color: var(--text-na-modre); }
  .g-tabulka--obory td strong { font-size: 20px; }
}
/* Dotazy: modré okno s nadpisem, bílé dlaždice s modrou hranou, otevřená žlutá */
.g-akordeon--dlazdice { border-top: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.g-akordeon--dlazdice details { border: var(--linka) solid var(--seda-tmava); border-left: 6px solid var(--modra); background: var(--bila); padding: 0 var(--space-5); }
.g-akordeon--dlazdice details[open] { border-left-color: var(--zluta); }
.g-akordeon--dlazdice summary { padding: var(--space-3) 0; }
@media (min-width: 720px) { .g-akordeon--dlazdice summary { font-size: 20px; } }
.g-akordeon--dlazdice summary::after { content: "+"; background: var(--modra); color: var(--text-na-modre); width: 32px; height: 32px; line-height: 30px; font-size: 24px; }
.g-akordeon--dlazdice details > div { padding-bottom: var(--space-5); }
.g-okno--modra h2, .g-okno--modra a:not(.g-tl) { color: var(--text-na-modre); }
/* Soubory jako dlaždice s typem souboru */
.g-soubory--dlazdice { border-top: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ram-desktop); }
@media (min-width: 720px) { .g-soubory--dlazdice { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.g-soubory--dlazdice li { position: relative; border: var(--linka) solid var(--seda-tmava); padding: var(--space-4); justify-content: flex-start; align-items: flex-start; flex-wrap: nowrap; gap: var(--space-4); }
.g-soubory--dlazdice li:hover { background: var(--seda); }
.g-soubory--dlazdice a { min-height: 0; color: var(--text-ink); text-decoration: none; }
.g-soubory--dlazdice a::after { content: ""; position: absolute; inset: 0; }
.g-soubory--dlazdice li:hover a { text-decoration: underline; text-decoration-thickness: 2px; }
.g-soubory--dlazdice li:has(a:focus-visible) { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-soubory--dlazdice a:focus-visible { outline: none; }
.g-soubory--dlazdice li > div { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.g-soubory .g-typ { flex: none; width: 52px; height: 52px; display: grid; place-items: center; font-size: 16px; font-weight: 700; background: var(--modra); color: var(--text-na-modre); }
.g-soubory .g-typ--ics { background: var(--zluta); color: var(--text-na-zlute); }
/* Kontakt: modré okno s velkým telefonem */
.g-kontakt-tel { display: inline-flex; align-items: center; min-height: var(--cil-min); font-size: 30px; font-weight: 700; color: var(--zluta) !important; text-decoration: none; font-variant-numeric: tabular-nums; }
.g-kontakt-tel:hover { text-decoration: underline; }
/* Číslo se nikdy nerozdělí od jednotky */
.g-cislo { white-space: nowrap; }
.g-rada__text { padding-top: var(--space-6); }
@media (min-width: 1024px) { .g-rada__text { padding: 0 0 0 var(--space-10); } }
/* Dlaždice jazykové školy i v panelu (žlutá dvoustrana) */
.g-dvoustrana--zluta .g-js-dlazdice { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ram-desktop); }
.g-dvoustrana--zluta .g-js-dlazdice li { background: var(--bila); margin: 0; }
.g-dvoustrana--zluta .g-js-dlazdice a { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); height: 100%; padding: var(--space-5); min-height: var(--cil-min); color: var(--text-ink); text-decoration: none; }
.g-dvoustrana--zluta .g-js-dlazdice a:hover { background: var(--seda); }
.g-dvoustrana--zluta .g-js-dlazdice a:hover .g-js-dlazdice__nazev { text-decoration: underline; text-decoration-thickness: 2px; }
.g-dvoustrana--zluta .g-js-dlazdice a:focus-visible { outline: var(--focus-sirka) solid var(--focus); outline-offset: -3px; }
.g-dvoustrana--zluta .g-js-dlazdice .g-js-dlazdice__nazev { font-size: 18px; }
@media (min-width: 720px) { .g-dvoustrana--zluta .g-js-dlazdice .g-js-dlazdice__obr { width: 56px; height: 56px; } .g-dvoustrana--zluta .g-js-dlazdice .g-js-dlazdice__obr img { width: 56px; height: 56px; } .g-dvoustrana--zluta .g-js-dlazdice .g-js-dlazdice__obr--vlajky img { width: 40px; height: auto; } }
@media (min-width: 1024px) { .g-uvod-pad .g-tl { padding-left: 18px; padding-right: 18px; } }
.g-rada .g-cislo { font-size: 44px; }
@media (min-width: 1024px) { .g-rada .g-cislo { font-size: 52px; } }
.g-akordeon--dlazdice details[open] summary::after { content: "\2212"; transform: none; }
@media (min-width: 720px) { .g-tabulka--obory { table-layout: fixed; } .g-tabulka--obory thead th:first-child { width: 22%; } }
@media (max-width: 719px) { .g-tabulka--obory td > * { grid-column: 2; } }

/* =====================================================================
   GJŠ Zlín – web 2027, VERZE 2 (2. 11. 2026)
   Lehké přechody v rámci jedné barvy, světlé tóny místo šedé, nové komponenty
   podle druhé várky knih (Moser, Podmajersky, Pickering, Osmani, Latin, Frost…).
   ===================================================================== */
:root {
  --prechod-modra: linear-gradient(135deg, var(--modra) 0%, var(--modra-tmava) 55%, var(--modra-hluboka) 100%);
  --prechod-zluta: linear-gradient(135deg, var(--zluta-jasna) 0%, var(--zluta) 55%, var(--zluta-tmava) 100%);
  --prechod-nebe: linear-gradient(180deg, var(--modra-svetla) 0%, var(--bila) 100%);
  --prechod-rano: linear-gradient(180deg, var(--zluta-svetla) 0%, var(--bila) 100%);
  --prechod-noc: linear-gradient(180deg, var(--modra-tmava) 0%, var(--modra-hluboka) 100%);
}
/* Plochy s přechodem */
.g-dvoustrana--v2 { background: var(--prechod-modra); }
.g-dvoustrana--v2::before { display: none; }
@media (min-width: 1024px) { .g-dvoustrana--v2 { background: linear-gradient(90deg, var(--modra) 0%, var(--modra-tmava) 50%, var(--modra-hluboka) 50%, var(--modra-tmava) 100%); } }
.g-dvoustrana--v2 .g-kniha .l, .g-dvoustrana--v2 .g-kniha .p { fill: var(--modra-tmava); }
.g-dvoustrana--v2 .g-kniha .p { fill: var(--modra-hluboka); }
.g-blok--nebe { background: var(--prechod-nebe); }
.g-blok--rano { background: var(--prechod-rano); }
.g-blok--svetla { background: var(--modra-svetla); }
.g-paticka { background: var(--prechod-noc); }

/* Řádek pod tlačítkem: pro koho / kolik to zabere / co bude dál (Moser) */
.g-pod-tl { list-style: none; margin: var(--space-4) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-6); font-size: 16px; line-height: 1.45; }
.g-pod-tl li { margin: 0; }
.g-pod-tl b { font-weight: 600; }
.g-dvoustrana .g-pod-tl, .g-vyzva--modra .g-pod-tl { color: var(--text-na-modre); }

/* Opakovaná výzva: pás s přechodem a jedním tlačítkem */
.g-vyzva { background: var(--prechod-zluta); color: var(--text-na-zlute); padding: var(--space-12) 0; }
@media (min-width: 720px) { .g-vyzva { padding: var(--space-16) 0; } }
.g-vyzva__rad { display: grid; gap: var(--space-6); align-items: center; }
@media (min-width: 1024px) { .g-vyzva__rad { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-12); } }
.g-vyzva h2 { margin: 0 0 var(--space-3); color: var(--text-na-zlute); }
.g-vyzva p { margin: 0; font-size: 18px; }
.g-vyzva .g-pod-tl { color: var(--text-na-zlute); }
.g-vyzva a:not(.g-tl) { color: var(--text-na-zlute); }
.g-vyzva--modra { background: var(--prechod-modra); color: var(--text-na-modre); }
.g-vyzva--modra h2, .g-vyzva--modra a:not(.g-tl) { color: var(--text-na-modre); }
.g-vyzva--modra .g-datum-velke { color: var(--zluta); }
.g-datum-velke { display: block; font-size: 30px; font-weight: 700; line-height: 1.3; margin-bottom: var(--space-2); }
@media (max-width: 719px) { .g-datum-velke { font-size: 22px; } }

/* Úvod podstránky: světlý přechod, drobečky, H1, perex, klíčové údaje vpravo */
.g-pod-uvod { background: var(--prechod-nebe); padding: var(--space-8) 0 var(--space-12); border-top: 6px solid var(--zluta); }
@media (min-width: 720px) { .g-pod-uvod { padding: var(--space-10) 0 var(--space-16); } }
.g-pod-uvod__rad { display: grid; gap: var(--space-8); align-items: start; }
@media (min-width: 1024px) { .g-pod-uvod__rad { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-16); } }
.g-pod-uvod h1 { margin: var(--space-3) 0 var(--space-4); color: var(--text-ink); }
.g-pod-uvod .g-lead { color: var(--text-ink); max-width: 34em; }
.g-pod-uvod .g-pod-tl { color: var(--text-ink); }

/* Drobečky v2: oddělovač lomítko (bez šipky) */
.g-drobky { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 var(--space-2); font-size: 16px; }
.g-drobky li { margin: 0; display: flex; align-items: center; gap: var(--space-2); }
.g-drobky li + li::before { content: "/"; color: var(--text-tlumeny); }
.g-drobky a { display: inline-flex; align-items: center; min-height: var(--cil-min); }
.g-drobky [aria-current] { color: var(--text-tlumeny); }

/* Kotvy: navigace po stránce */
.g-kotvy { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.g-kotvy li { margin: 0; }
.g-kotvy a { display: inline-flex; align-items: center; min-height: var(--cil-min); padding: 0 var(--space-4); background: var(--bila); border: 2px solid var(--modra); color: var(--modra); font-weight: 600; font-size: 16px; text-decoration: none; border-radius: var(--radius-tlacitko); }
.g-kotvy a:hover { background: var(--modra); color: var(--text-na-modre); }

/* Karty údajů (termíny, čísla) na světlém podkladu */
.g-udaje { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ram-desktop); }
@media (min-width: 520px) { .g-udaje--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.g-udaj { background: var(--bila); border-top: 4px solid var(--modra); padding: var(--space-4) var(--space-5); display: flex; flex-direction: column; gap: 2px; }
.g-udaj--zluty { border-top-color: var(--zluta); }
.g-udaj .g-kicker { margin: 0; color: var(--text-tlumeny); }
.g-udaj strong { font-size: 24px; font-weight: 700; line-height: 1.25; color: var(--text-ink); font-variant-numeric: tabular-nums; }
.g-udaj span { font-size: 16px; color: var(--text-tlumeny); }
@media (min-width: 720px) { .g-udaj span { font-size: 15px; } }

/* Karta v2: bílá s barevnou horní hranou */
.g-karta { position: relative; background: var(--bila); border-top: 6px solid var(--modra); display: flex; flex-direction: column; color: var(--text-ink); }
.g-karta--zluta { border-top-color: var(--zluta); }
.g-karta--hluboka { border-top-color: var(--modra-hluboka); }
.g-karta__foto { aspect-ratio: 3 / 2; overflow: hidden; background: var(--modra-svetla); }
.g-karta__foto img { width: 100%; height: 100%; object-fit: cover; }
.g-karta__pole { aspect-ratio: 3 / 2; background: var(--prechod-modra); color: var(--text-na-modre); display: flex; align-items: flex-end; padding: var(--space-5); font-size: 28px; font-weight: 700; }
.g-karta__telo { padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-2); flex: 1; }
@media (min-width: 720px) { .g-karta__telo { padding: var(--space-6); } }
.g-karta h3 { margin: 0; }
.g-karta h3 a { color: inherit; text-decoration: none; }
.g-karta h3 a::after { content: ""; position: absolute; inset: 0; }
.g-karta:hover h3 a { text-decoration: underline; text-decoration-thickness: 2px; }
.g-karta:has(a:focus-visible) { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-karta a:focus-visible { outline: none; }
.g-karta p { margin: 0; }
.g-karta--na-svetle { background: var(--bila); }
.g-mrizka { display: grid; gap: var(--ram-desktop); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .g-mrizka--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g-mrizka--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g-mrizka--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .g-mrizka--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .g-mrizka--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .g-mrizka--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Čísla sportu: hodnota hned s popiskem, bez štítků */
.g-fakta { list-style: none; margin: var(--space-2) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-1); font-size: 16px; }
.g-fakta li { margin: 0; }
.g-fakta b { font-weight: 700; font-variant-numeric: tabular-nums; }

/* Skladba bodů: vodorovný pruh z dílů, hodnoty i textem */
.g-skladba { display: flex; width: 100%; height: 56px; margin: var(--space-4) 0 var(--space-3); }
.g-skladba span { display: flex; align-items: center; padding: 0 var(--space-3); font-size: 16px; font-weight: 600; white-space: nowrap; overflow: hidden; border-right: 2px solid var(--bila); }
.g-skladba .d1 { background: var(--modra-svetla); color: var(--text-ink); }
.g-skladba .d2 { background: var(--zluta); color: var(--text-na-zlute); }
.g-skladba .d3 { background: var(--modra); color: var(--text-na-modre); }
.g-skladba .d4 { background: var(--modra-hluboka); color: var(--text-na-modre); }
.g-legenda-body { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); font-size: 16px; }
.g-legenda-body li { margin: 0; display: flex; gap: var(--space-2); align-items: baseline; }
.g-legenda-body i { flex: none; width: 14px; height: 14px; display: inline-block; transform: translateY(2px); }

/* Rozcestník úkolů (Studenti a rodiče) */
.g-rozcestnik { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ram-desktop); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 520px) { .g-rozcestnik { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .g-rozcestnik { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.g-rozcestnik li { margin: 0; position: relative; background: var(--bila); border-left: 6px solid var(--modra); padding: var(--space-4) var(--space-5); display: flex; flex-direction: column; gap: var(--space-1); min-height: 104px; }
.g-rozcestnik li.hlavni { background: var(--prechod-modra); border-left-color: var(--zluta); color: var(--text-na-modre); }
.g-rozcestnik a { color: inherit; font-size: 20px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.g-rozcestnik a::after { content: ""; position: absolute; inset: 0; }
.g-rozcestnik li:hover a { text-decoration: underline; text-decoration-thickness: 2px; }
.g-rozcestnik li:has(a:focus-visible) { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-rozcestnik a:focus-visible { outline: none; }
.g-rozcestnik span { font-size: 16px; line-height: 1.4; color: var(--text-tlumeny); }
.g-rozcestnik li.hlavni span { color: var(--text-na-modre); }
.g-rozcestnik li:hover { background: var(--modra-svetla); }
.g-rozcestnik li.hlavni:hover { background: var(--modra-tmava); }

/* Hláška (role="status"): typ slovem, barevná hrana, bez křížku */
.g-hlaska { display: flex; gap: var(--space-3); padding: var(--space-4) var(--space-5); background: var(--modra-svetla); border-left: 6px solid var(--modra); color: var(--text-ink); font-size: 16px; line-height: 1.5; }
.g-hlaska b { font-weight: 700; }
.g-hlaska--uspech { border-left-color: var(--stav-uspech); background: var(--bila); outline: 1px solid var(--seda-tmava); }
.g-hlaska--uspech b { color: var(--stav-uspech); }
.g-hlaska--chyba { border-left-color: var(--stav-chyba); background: var(--bila); outline: 1px solid var(--seda-tmava); }
.g-hlaska--chyba b { color: var(--stav-chyba); }
.g-hlaska p { margin: 0; }

/* Prázdný stav */
.g-prazdny { background: var(--prechod-nebe); border: 2px dashed var(--okraj-pole); padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-2); align-items: flex-start; }
.g-prazdny h3 { margin: 0; }
.g-prazdny p { margin: 0; }

/* Vstupenka: potvrzení rezervace (peak-end) */
.g-vstupenka { background: var(--bila); border-top: 8px solid var(--zluta); outline: 1px solid var(--seda-tmava); padding: var(--space-6); display: grid; gap: var(--space-4); max-width: 560px; }
.g-vstupenka dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: var(--space-2) var(--space-5); font-size: 18px; }
.g-vstupenka dt { color: var(--text-tlumeny); }
.g-vstupenka dd { margin: 0; font-weight: 600; }

/* Formulářová pole v2: okraj s kontrastem 3 : 1 a víc (WCAG 1.4.11) */
.g-pole { display: flex; flex-direction: column; gap: var(--space-1); }
.g-pole label { font-weight: 600; font-size: 16px; }
.g-pole .g-napoveda { font-size: 16px; color: var(--text-tlumeny); }
.g-pole input, .g-pole select, .g-pole textarea { font: inherit; font-size: 17px; min-height: var(--cil-min); padding: var(--space-2) var(--space-3); border: 2px solid var(--okraj-pole); border-radius: var(--radius-tlacitko); background: var(--bila); color: var(--text-ink); }
.g-pole input:focus-visible, .g-pole select:focus-visible { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; border-color: var(--modra); }
.g-pole--chyba input { border-color: var(--stav-chyba); }
.g-pole--chyba .g-chyba { color: var(--stav-chyba); font-weight: 600; font-size: 16px; }
.g-servis__hledat input { border: 2px solid var(--okraj-pole); }

/* Pás „Sport“ – čísla na modrém přechodu */
.g-pas-v2 { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .g-pas-v2--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.g-pas-v2 li { margin: 0; display: flex; flex-direction: column; gap: var(--space-1); border-top: 2px solid var(--zluta); padding-top: var(--space-3); }
.g-pas-v2 .g-cislo { color: var(--zluta); }
.g-pas-v2 span { font-size: 16px; color: var(--text-na-modre); }

/* Pruh s fotkou a textem vedle sebe (střídání rozvržení) */
.g-dvojice { display: grid; gap: var(--space-8); align-items: center; }
@media (min-width: 1024px) { .g-dvojice { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-16); } .g-dvojice--obracene > :first-child { order: 2; } }
.g-dvojice figure { margin: 0; }
.g-dvojice img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* Seznam s čísly kroků (1–3) jako v Planu, ale na světlém pozadí */
.g-seznam { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--space-3); }
.g-seznam li { margin: 0; background: var(--bila); padding: var(--space-4) var(--space-5); border-left: 6px solid var(--zluta); }
.g-seznam b { display: block; font-size: 18px; }
.g-vyzva.g-vyzva--modra .g-pod-tl { color: var(--text-na-modre); }
.g-dvoustrana .g-drobky, .g-dvoustrana .g-drobky [aria-current], .g-dvoustrana .g-drobky li + li::before { color: var(--text-na-modre); }
@media (max-width: 719px) { .g-seznam-kroku__hlava span { font-size: 16px; } }

/* ===================== Verze 2.1 (2. 11. 2026 večer) ===================== */
/* Servisní lišta: nejtmavší modrá, hledání jako jeden celek pole + žluté tlačítko */
.g-servis { background: var(--modra-hluboka); padding: var(--space-1) 0; }
.g-servis__hledat { gap: 0; }
.g-servis__hledat input { border: 0; border-radius: var(--radius-tlacitko) 0 0 var(--radius-tlacitko); width: 260px; }
.g-servis__hledat button { border: 0; border-radius: 0 var(--radius-tlacitko) var(--radius-tlacitko) 0; background: var(--zluta); color: var(--text-na-zlute); font-weight: 700; padding: 0 var(--space-5); }
.g-servis__hledat button:hover { background: var(--zluta-jasna); color: var(--text-na-zlute); }
/* Hlavička na žluté (logo modré; ověřit s grafickým manuálem) */
.g-hlavicka--zluta { background: linear-gradient(90deg, var(--zluta-jasna) 0%, var(--zluta) 100%); border-bottom: 0; }
.g-hlavicka--zluta .g-menu a, .g-hlavicka--zluta .g-menu a.g-menu__js { color: var(--text-na-zlute); }
.g-hlavicka--zluta .g-menu a:hover { border-bottom-color: var(--text-na-zlute); }
.g-hlavicka--zluta .g-menu a[aria-current="page"] { border-bottom-color: var(--modra); }
.g-hlavicka--zluta :focus-visible { outline-color: var(--focus); }
.g-pod-uvod { border-top: 0; }

/* Plán v2.1: bílé karty s modrou hranou, číslo ve žlutém čtverci, aktuální krok na modrém přechodu */
.g-plan--v2 li { background: var(--bila); border-top: 6px solid var(--modra); outline: var(--linka) solid var(--seda-tmava); outline-offset: 0; padding: var(--space-6) var(--space-5); }
@media (min-width: 720px) { .g-plan--v2 li { padding: var(--space-8) var(--space-6); } }
.g-plan--v2 .g-plan__cislo { display: grid; place-items: center; width: 56px; height: 56px; background: var(--zluta); color: var(--text-na-zlute); font-size: 32px; margin-bottom: var(--space-2); }
.g-plan--v2 li.ted { background: var(--prechod-modra); color: var(--text-na-modre); outline: 0; border-top-color: var(--zluta); }
.g-plan--v2 li.ted a { color: var(--text-na-modre); }
.g-plan--v2 li.ted :focus-visible { outline-color: var(--focus-na-modre); }
.g-plan--v2 .g-plan__stav { align-self: flex-start; background: var(--zluta); color: var(--text-na-zlute); padding: 2px var(--space-2); }

/* Karta s plnou barevnou plochou (Co se u nás dá dělat) */
.g-karta--plna-modra { background: var(--prechod-modra); color: var(--text-na-modre); border-top-color: var(--zluta); }
.g-karta--plna-modra .g-kicker, .g-karta--plna-modra p, .g-karta--plna-modra .g-maly, .g-karta--plna-modra a { color: var(--text-na-modre); }
.g-karta--plna-modra:has(a:focus-visible) { outline-color: var(--focus-na-modre); }
.g-karta--plna-zluta { background: var(--prechod-zluta); color: var(--text-na-zlute); border-top-color: var(--modra); }
.g-karta--plna-zluta .g-kicker, .g-karta--plna-zluta p, .g-karta--plna-zluta .g-maly, .g-karta--plna-zluta a { color: var(--text-na-zlute); }
.g-karta .g-maly { margin-top: auto; padding-top: var(--space-2); }

/* Opakovaná výzva v2.1: vpravo bílý panel s termíny a velkým tlačítkem */
.g-vyzva__panel { background: var(--bila); color: var(--text-ink); border-top: 6px solid var(--modra); padding: var(--space-6); display: flex; flex-direction: column; gap: var(--space-4); }
@media (min-width: 720px) { .g-vyzva__panel { padding: var(--space-8); } }
.g-vyzva--modra .g-vyzva__panel { border-top-color: var(--zluta); }
.g-vyzva__terminy { list-style: none; margin: 0; padding: 0; }
.g-vyzva__terminy li { margin: 0; display: flex; justify-content: space-between; gap: var(--space-4); align-items: baseline; padding: var(--space-3) 0; border-bottom: var(--linka) solid var(--seda-tmava); font-size: 18px; }
.g-vyzva__terminy b { font-size: 22px; font-weight: 700; }
.g-vyzva .g-vyzva__panel a:not(.g-tl), .g-vyzva--modra .g-vyzva__panel a:not(.g-tl) { color: var(--odkaz); }
.g-tl--velke { font-size: 19px; min-height: 56px; padding: var(--space-4) var(--space-8); justify-content: center; }

/* Ikony souborů (jediná ikonová sada webu: typ souboru) */
.g-ikona-soubor { flex: none; width: 44px; height: 56px; display: block; }
.g-soubory--dlazdice li { align-items: center; }

/* Časová osa: aktuální krok odsazený od sousedů */
.g-osa li.ted { margin-top: var(--space-2); margin-bottom: var(--space-4); }

/* Tabulka čtyř typů studia */
.g-tabulka--obory thead th.o-svetla { background: var(--modra-svetla); color: var(--text-ink); border-top: 4px solid var(--modra); }
.g-tabulka--obory thead th.o-hluboka { background: var(--modra-hluboka); color: var(--text-na-modre); }
@media (min-width: 720px) { .g-tabulka--obory--4 thead th:first-child { width: 18%; } }
@media (max-width: 719px) { .g-tabulka--obory td:nth-child(4) { border-left-color: var(--okraj-pole); } .g-tabulka--obory td:nth-child(5) { border-left-color: var(--modra-hluboka); } }

/* Jazyková škola mimo akci: pruh pod úvodem, pás nad úvodem, záložka */
.g-js-pruh { background: var(--zluta-svetla); padding: var(--space-16) 0 var(--space-10); border-bottom: var(--linka) solid var(--seda-tmava); }
@media (max-width: 719px) { .g-js-pruh { padding: var(--space-12) 0 var(--space-8); } }
.g-js-pruh__rad { display: grid; gap: var(--space-6); align-items: center; }
@media (min-width: 1024px) { .g-js-pruh__rad { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: var(--space-12); } }
.g-js-pruh h2 { margin: 0 0 var(--space-2); font-size: 30px; }
.g-js-pruh p { margin: 0 0 var(--space-2); }
.g-js-pruh .g-kicker { margin: 0; color: var(--text-tlumeny); }
.g-js-pruh .g-js-dlazdice { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ram-desktop); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1024px) { .g-js-pruh .g-js-dlazdice { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.g-js-pruh .g-js-dlazdice li { background: var(--bila); margin: 0; border-top: 4px solid var(--zluta); }
.g-js-pruh .g-js-dlazdice a { display: flex; flex-direction: column; gap: var(--space-2); height: 100%; padding: var(--space-4); min-height: var(--cil-min); color: var(--text-ink); text-decoration: none; }
.g-js-pruh .g-js-dlazdice a:hover { background: var(--modra-svetla); }
.g-js-pruh .g-js-dlazdice a:hover .g-js-dlazdice__nazev { text-decoration: underline; text-decoration-thickness: 2px; }
.g-js-pruh .g-js-dlazdice a:focus-visible { outline: var(--focus-sirka) solid var(--focus); outline-offset: -3px; }
.g-js-pas { background: var(--modra-svetla); padding: var(--space-2) 0; }
.g-js-pas__rad { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-6); }
.g-js-pas b { font-size: 16px; }
.g-js-pas ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 var(--space-5); }
.g-js-pas li { margin: 0; }
.g-js-pas a { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--cil-min); font-size: 16px; font-weight: 600; }
.g-js-pas img { width: 28px; height: 28px; object-fit: contain; background: var(--bila); outline: 1px solid var(--seda-tmava); }
.g-js-pas .g-js-pas__vse { margin-left: auto; }
.g-zalozka { position: absolute; top: 0; right: max(16px, calc((100% - var(--obsah-max)) / 2)); width: 230px; background: var(--prechod-zluta); color: var(--text-na-zlute); padding: var(--space-5) var(--space-5) var(--space-6); z-index: 4; display: none; }
@media (min-width: 1024px) { .g-zalozka { display: block; } }
.g-zalozka h2 { font-size: 22px; margin: 0 0 var(--space-1); color: var(--text-na-zlute); }
.g-zalozka p { margin: 0 0 var(--space-2); font-size: 16px; }
.g-zalozka ul { list-style: none; margin: 0; padding: 0; }
.g-zalozka li { margin: 0; border-top: var(--linka) solid var(--zluta-tmava); }
.g-zalozka a { display: flex; align-items: center; min-height: var(--cil-min); color: var(--text-na-zlute); font-weight: 600; font-size: 16px; }
.g-ukazky--ctverec img { aspect-ratio: 1 / 1; }
@media (min-width: 1024px) { .g-uvod--zalozka .g-strana--prava { padding-right: 250px; } .g-uvod--zalozka .g-ukazky ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.g-dvoustrana .g-zalozka a:not(.g-tl), .g-dvoustrana .g-zalozka h2, .g-dvoustrana .g-zalozka p { color: var(--text-na-zlute); }
.g-dvoustrana .g-zalozka :focus-visible { outline-color: var(--focus); }
.g-js-pas__rad { gap: var(--space-2) var(--space-4); flex-wrap: nowrap; }
.g-js-pas ul { gap: 0 var(--space-4); flex-wrap: nowrap; }
.g-js-pas a { white-space: nowrap; }
@media (max-width: 1023px) { .g-js-pas__rad, .g-js-pas ul { flex-wrap: wrap; } }

/* v2.1b: symbol a okénko jazykové školy v hlavním menu */
.g-menu__js-polozka { position: relative; }
.g-menu a.g-menu__js { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--cil-min); padding-top: 0; padding-bottom: 0; }
.g-symbol-js { width: 34px; height: 30px; flex: none; display: block; }
.g-js-okno { display: none; position: absolute; top: 100%; right: -24px; z-index: 30; padding-top: 14px; width: 480px; }
.g-menu__js-polozka:hover .g-js-okno, .g-menu__js-polozka:focus-within .g-js-okno, .g-menu__js-polozka--otevrena .g-js-okno { display: block; }
.g-js-okno__telo { background: var(--bila); border: 2px solid var(--modra); border-top: 6px solid var(--modra); padding: var(--space-6); color: var(--text-ink); white-space: normal; }
.g-js-okno__telo .g-kicker { margin: 0 0 var(--space-1); color: var(--text-tlumeny); }
.g-hlavicka .g-js-okno .g-js-okno__nadpis { margin: 0 0 var(--space-2); font-size: 22px; line-height: 1.25; font-weight: 700; color: var(--text-ink); }
.g-js-okno__telo > p { margin: 0 0 var(--space-4); font-size: 16px; line-height: 1.5; }
.g-js-okno__dlazdice { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.g-js-okno__dlazdice li { margin: 0; }
.g-hlavicka .g-menu .g-js-okno__dlazdice a { display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-2); background: var(--modra-svetla); border: 0; color: var(--text-ink); font-size: 16px; white-space: normal; }
.g-hlavicka .g-menu .g-js-okno__dlazdice a:hover { background: var(--seda-tmava); }
.g-js-okno__dlazdice .g-js-dlazdice__obr { flex: none; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; gap: 2px; background: var(--bila); }
.g-js-okno__dlazdice .g-js-dlazdice__obr img { width: 40px; height: 40px; object-fit: contain; }
.g-js-okno__dlazdice .g-js-dlazdice__obr--vlajky img { width: 20px; height: 14px; object-fit: cover; }
.g-js-okno__dlazdice .g-js-dlazdice__nazev { display: block; font-weight: 600; line-height: 1.25; }
.g-js-okno__dlazdice .g-js-dlazdice__popis { display: block; font-size: 14px; color: var(--text-tlumeny); font-weight: 400; line-height: 1.3; }
.g-hlavicka .g-menu .g-js-okno .g-cil { display: inline-flex; align-items: center; min-height: var(--cil-min); padding: 0; border: 0; color: var(--modra); font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.g-ilustrace { display: block; width: 100%; height: 100%; }


/* ---- Doplňky pro web (podstránky, texty ze starého webu, mobilní menu). Jen tokeny design systému. ---- */

.g-preskocit { position: absolute; left: var(--space-4); top: -100px; z-index: 50; background: var(--modra); color: var(--text-na-modre); padding: var(--space-3) var(--space-4); font-weight: 600; }
.g-preskocit:focus { top: var(--space-2); color: var(--text-na-modre); }
.g-hlavicka nav { margin-left: auto; }
.g-hlavicka .g-menu { margin: 0; }
a.g-menu-tl { text-decoration: none; }
.g-menu a[aria-current="page"] { font-weight: 600; border-bottom-color: var(--text-na-zlute); }
html.g-menu-otevrene { overflow: hidden; }
.g-mobilni-menu[hidden] { display: none; }
.g-mobilni-menu__hlava { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.g-mobilni-menu__hlava .g-logo img { height: 32px; }
.g-mobilni-menu .g-hledani { margin-bottom: var(--space-4); }
@media (min-width: 1024px) { .g-mobilni-menu { display: none !important; } }

.g-hlava-bloku--dole { align-items: flex-end; }
.g-hlava-bloku .g-lead { margin: var(--space-2) 0 0; max-width: 40em; }
.g-hlava-bloku .g-maly { margin: 0; }
.g-rastr--nahoru { align-items: start; }

/* Partneři: zřizovatel a mřížka log */
.g-partneri-v2 { display: grid; gap: var(--ram-desktop); }
@media (min-width: 1024px) { .g-partneri-v2 { grid-template-columns: 320px 1fr; align-items: start; } }
.g-partneri-v2 .g-zrizovatel { background: var(--bila); padding: var(--space-5); display: grid; gap: var(--space-3); color: var(--text-ink); }
.g-partneri-v2 .g-zrizovatel h3 { margin: 0; }
.g-partneri-loga { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ram-mobil); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .g-partneri-loga { gap: var(--ram-desktop); grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .g-partneri-loga { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.g-partneri-loga a { display: flex; flex-direction: column; gap: var(--space-2); height: 100%; min-height: 120px; padding: var(--space-4); background: var(--bila); color: var(--text-ink); text-decoration: none; font-size: 16px; line-height: 1.35; font-weight: 600; }
.g-partneri-loga a:hover { background: var(--modra-svetla); color: var(--text-ink); }
.g-partneri-loga .g-partner__logo { height: 56px; margin: 0; }
.g-partneri-loga .g-partner__logo img { max-height: 56px; }

/* Podstránky: text a boční navigace */
.g-blok--text { padding: var(--space-12) 0; }
@media (min-width: 720px) { .g-blok--text { padding: var(--space-16) 0; } }
.g-clanek-rad { display: grid; gap: var(--space-12); }
@media (min-width: 1024px) { .g-clanek-rad { grid-template-columns: minmax(0, 1fr) 300px; gap: var(--space-16); align-items: start; } }
.g-text { min-width: 0; max-width: 46em; }
.g-text > :first-child { margin-top: 0; }
.g-text h2 { font-size: 30px; margin-top: var(--space-12); }
.g-text h3 { font-size: 24px; margin-top: var(--space-8); }
.g-text h4, .g-text h5 { font-size: 19px; margin-top: var(--space-6); }
@media (min-width: 720px) { .g-text h2 { font-size: 36px; } }
.g-text ul, .g-text ol { padding-left: 1.3em; margin: 0 0 var(--space-6); max-width: var(--text-max); }
.g-text li { margin-bottom: var(--space-2); }
.g-text img { height: auto; margin: var(--space-4) 0; }
.g-text hr { border: 0; border-top: var(--linka) solid var(--seda-tmava); margin: var(--space-10) 0; }
.g-text blockquote { margin: 0 0 var(--space-6); padding-left: var(--space-5); border-left: 6px solid var(--zluta); }
.g-text__foto { margin: 0 0 var(--space-8); }
.g-text__foto img { width: 100%; margin: 0; }
.g-text__foto figcaption { font-size: 16px; color: var(--text-tlumeny); margin-top: var(--space-2); }
.g-tabulka-obal { overflow-x: auto; margin: 0 0 var(--space-6); -webkit-overflow-scrolling: touch; }
.g-text .g-tabulka th, .g-text .g-tabulka td { vertical-align: top; }
.g-text .g-tabulka p { margin: 0; }
.g-bocni { background: var(--modra-svetla); padding: var(--space-5); border-top: 6px solid var(--modra); }
@media (min-width: 1024px) { .g-bocni { position: sticky; top: calc(var(--vyska-hlavicky, 96px) + var(--space-6)); max-height: calc(100vh - var(--vyska-hlavicky, 96px) - var(--space-10)); overflow-y: auto; overscroll-behavior: contain; } }
.g-bocni__nadpis { font-size: 20px; margin: 0 0 var(--space-2); }
.g-bocni ul { list-style: none; margin: 0; padding: 0; }
.g-bocni li { border-top: var(--linka) solid var(--seda-tmava); }
.g-bocni li:first-child { border-top: 0; }
.g-bocni a { display: flex; align-items: center; min-height: var(--cil-min); padding: var(--space-1) 0; color: var(--text-ink); font-weight: 500; text-decoration: none; }
.g-bocni a:hover { color: var(--modra); text-decoration: underline; }
.g-bocni a[aria-current="page"] { font-weight: 700; color: var(--modra); }
.g-bocni li > span { display: block; font-size: 16px; color: var(--text-tlumeny); padding-bottom: var(--space-2); }
.g-h1-clanek { font-size: 36px; }
@media (min-width: 720px) { .g-h1-clanek { font-size: 48px; } }
.g-pod-uvod .g-datum { margin: 0 0 var(--space-2); }
.g-udaj--probehlo { opacity: 1; }
.g-udaj--probehlo strong { text-decoration: line-through; text-decoration-thickness: 2px; }

/* Seznam aktualit */
.g-seznam-aktualit { list-style: none; margin: 0 0 var(--space-10); padding: 0; display: grid; gap: var(--space-8); }
.g-aktualita--radek { display: grid; gap: var(--space-4); grid-template-columns: 96px minmax(0, 1fr); align-items: start; }
@media (min-width: 720px) { .g-aktualita--radek { grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-6); } }
.g-aktualita--radek .g-aktualita__foto, .g-aktualita--radek .g-aktualita__pole { margin: 0; }
.g-aktualita--radek p { margin: var(--space-2) 0 0; }
.g-aktualita__nadpis { font-size: 22px; margin: var(--space-1) 0 0; }
@media (min-width: 720px) { .g-aktualita__nadpis { font-size: 26px; } }
.g-aktualita__nadpis a { color: var(--text-ink); text-decoration: none; }
.g-aktualita__nadpis a:hover { text-decoration: underline; }
.g-strankovani { flex-wrap: wrap; }

/* Zaměstnanci */
.g-kotvy--zalozky { margin-bottom: var(--space-8); }
.g-kotvy--zalozky a[aria-current="page"] { background: var(--modra); color: var(--text-na-modre); border-color: var(--modra); }
.g-tabulka--lide td { vertical-align: middle; }
.g-osoba__foto { width: 56px; height: 56px; object-fit: cover; display: inline-block; vertical-align: middle; margin-right: var(--space-3); }

/* Hledání, mapa webu */
.g-blok--text .g-hledani { margin-bottom: var(--space-8); }
.g-vysledky { list-style: none; margin: 0 0 var(--space-10); padding: 0; display: grid; gap: var(--space-4); }
.g-vysledky a { font-weight: 600; font-size: 19px; }
.g-vysledky span { display: block; color: var(--text-tlumeny); font-size: 16px; }
.g-mapa-webu { display: grid; gap: var(--space-8); }
@media (min-width: 720px) { .g-mapa-webu { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.g-mapa-webu h2 { font-size: 24px; }
.g-mapa-webu ul { list-style: none; margin: 0; padding: 0; }
.g-mapa-webu li a { display: inline-flex; min-height: var(--cil-min); align-items: center; }

/* Patička: nadpisy sloupců (h2 místo h4 kvůli pořadí nadpisů) */
.g-paticka__nadpis { font-size: 20px; color: var(--text-na-modre); margin: var(--space-6) 0 var(--space-2); }
.g-paticka__rad > div > .g-paticka__nadpis:first-child { margin-top: 0; }

.g-osoba { display: inline; }
@media (max-width: 719px) {
  .g-rastr .g-aktualita__pole { aspect-ratio: auto; min-height: 88px; height: 88px; }
  .g-osoba__foto { width: 48px; height: 48px; }
}
.g-text .g-tabulka { min-width: 520px; }
.g-text .g-tabulka-obal:focus-visible { outline-offset: 0; }

/* =================== verze 2: grafické prvky, tabulky, menu, zaměstnanci =================== */

/* Stránky knihy: jemné linky s ohybem jako v prezentaci značky (kniha z loga) */
.g-pod-uvod {
  background-color: var(--modra-svetla);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='44'%3E%3Cpath d='M0 22H210c12 0 21 3 30 13 9-10 18-13 30-13h250' fill='none' stroke='%23ffffff' stroke-width='5'/%3E%3C/svg%3E"), var(--prechod-nebe);
  background-size: 520px 44px, auto;
  background-position: 0 0, 0 0;
}

/* Nadpis s knihou: žlutá kniha z loga nad nadpisem */
.g-s-knihou::before, .g-text h2::before {
  content: ""; display: block; width: 56px; height: 15px; margin-bottom: var(--space-3);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.39 5.8'%3E%3Cpath d='M0,0 C4.43,0 8.68,1.88 11.24,5.8 C13.78,1.92 18,0 22.39,0 Z' fill='%23f7a707'/%3E%3C/svg%3E") no-repeat 0 0 / contain;
}
.g-dvoustrana .g-s-knihou::before, .g-vyzva .g-s-knihou::before { display: none; }

/* Čtverečkové odrážky */
.g-text ul:not([class]), .g-osoba__detail ul, .g-rozbal ul, .g-tym__clenove { list-style: none; padding-left: 0; }
.g-text ul:not([class]) > li, .g-osoba__detail ul > li, .g-rozbal ul > li, .g-tym__clenove > li { position: relative; padding-left: 1.4em; }
.g-text ul:not([class]) > li::before, .g-osoba__detail ul > li::before, .g-rozbal ul > li::before, .g-tym__clenove > li::before {
  content: ""; position: absolute; left: 0; top: 0.62em; width: 0.5em; height: 0.5em; background: var(--zluta); outline: 1px solid var(--zluta-tmava);
}
.g-text ul:not([class]) ul > li::before { background: var(--modra); outline: 0; }
.g-text ol { padding-left: 1.6em; }
.g-text ol > li::marker { color: var(--modra); font-weight: 700; }

/* Zvýrazněný odstavec (v původním textu celý tučně) */
.g-text .g-zvyrazneni { background: var(--zluta-svetla); border-left: 6px solid var(--zluta); padding: var(--space-4) var(--space-5); max-width: none; }
.g-text .g-zvyrazneni strong { font-weight: 600; }

/* Seznam souborů ke stažení v textu */
.g-text .g-seznam-souboru { list-style: none; padding: 0; display: grid; gap: var(--space-2); max-width: none; }
.g-text .g-seznam-souboru li { margin: 0; }
.g-text .g-seznam-souboru a {
  display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-2) var(--space-4) var(--space-2) 56px;
  background: var(--bila) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 56'%3E%3Cpath d='M5 3H28L40 15V53H5Z' fill='%23fff' stroke='%2313295d' stroke-width='2.5'/%3E%3Cpath d='M28 3V15H40' fill='none' stroke='%2313295d' stroke-width='2.5'/%3E%3Crect x='1' y='29' width='32' height='15' fill='%231d3f8f'/%3E%3C/svg%3E") no-repeat 14px 50% / 26px 33px;
  border: 1px solid var(--seda-tmava); border-left: 6px solid var(--modra); text-decoration: none; font-weight: 500; color: var(--text-ink);
}
.g-text .g-seznam-souboru a:hover { background-color: var(--zluta-svetla); border-left-color: var(--zluta); }

/* Obsah dlouhé stránky */
.g-obsah-stranky { background: var(--modra-svetla); border-top: 6px solid var(--modra); padding: var(--space-5); margin-bottom: var(--space-10); }
.g-obsah-stranky .g-kicker { margin: 0 0 var(--space-2); }
.g-obsah-stranky ol { margin: 0; padding: 0; list-style: none; counter-reset: k; display: grid; gap: 0 var(--space-6); }
@media (min-width: 720px) { .g-obsah-stranky ol { grid-template-columns: 1fr 1fr; } }
.g-obsah-stranky li { counter-increment: k; }
.g-obsah-stranky a { display: flex; gap: var(--space-3); align-items: center; min-height: var(--cil-min); color: var(--text-ink); font-weight: 600; text-decoration: none; }
.g-obsah-stranky a::before { content: counter(k); flex: none; width: 28px; height: 28px; display: grid; place-items: center; background: var(--zluta); color: var(--text-na-zlute); font-size: 15px; }
.g-obsah-stranky a:hover { color: var(--modra); text-decoration: underline; }
.g-text h2 { scroll-margin-top: var(--space-6); padding-top: var(--space-2); }
.g-text h3 { color: var(--modra); }

/* Hezké tabulky: barevná hlavička, sudé řádky, hover */
.g-text .g-tabulka, .g-tabulka--pekna { border-collapse: separate; border-spacing: 0; border: 1px solid var(--seda-tmava); }
.g-text .g-tabulka th, .g-tabulka--pekna thead th { background: var(--modra); color: var(--text-na-modre); font-weight: 600; text-align: left; padding: var(--space-3) var(--space-4); border: 0; }
.g-text .g-tabulka thead th:first-child, .g-tabulka--pekna thead th:first-child { box-shadow: inset 6px 0 0 var(--zluta); }
.g-text .g-tabulka td, .g-tabulka--pekna td { padding: var(--space-3) var(--space-4); border: 0; border-top: 1px solid var(--seda-tmava); }
.g-text .g-tabulka tbody tr:nth-child(even) td, .g-tabulka--pekna tbody tr:nth-child(even) td { background: var(--modra-svetla); }
.g-text .g-tabulka tbody tr:hover td, .g-tabulka--pekna tbody tr:hover td { background: var(--zluta-svetla); }
.g-text .g-tabulka tbody tr td:first-child, .g-tabulka--pekna tbody td:first-child { font-weight: 600; }
.g-text .g-tabulka th a, .g-tabulka--pekna th a { color: var(--text-na-modre); }

/* Podmenu v hlavním menu */
.g-menu__podmenu { position: relative; }
.g-podmenu { display: none; position: absolute; top: 100%; left: -24px; z-index: 30; padding-top: 14px; width: 420px; }
.g-menu__podmenu:hover .g-podmenu, .g-menu__podmenu:focus-within .g-podmenu { display: block; }
.g-podmenu__telo { background: var(--bila); border: 2px solid var(--modra); border-top: 6px solid var(--modra); padding: var(--space-4); }
.g-hlavicka .g-menu .g-podmenu__nadpis { margin: 0 0 var(--space-2); }
.g-hlavicka .g-menu .g-podmenu__nadpis a { font-size: 20px; font-weight: 700; color: var(--text-ink); padding: 0; border: 0; }
.g-podmenu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.g-hlavicka .g-menu .g-podmenu ul a { display: flex; flex-direction: column; gap: 2px; padding: var(--space-2) var(--space-3); min-height: var(--cil-min); justify-content: center; border: 0; border-left: 4px solid transparent; color: var(--text-ink); white-space: normal; font-size: 17px; font-weight: 600; }
.g-hlavicka .g-menu .g-podmenu ul a:hover, .g-hlavicka .g-menu .g-podmenu ul a:focus-visible { background: var(--modra-svetla); border-left-color: var(--zluta); }
.g-podmenu small { font-size: 14px; font-weight: 400; color: var(--text-tlumeny); }
.g-menu > li:last-child .g-podmenu, .g-menu > li:nth-last-child(2) .g-podmenu { left: auto; right: -24px; }
.g-mob-sekce summary { display: flex; align-items: center; justify-content: space-between; min-height: var(--space-12); font-size: 22px; font-weight: 600; color: var(--text-ink); border-bottom: var(--linka) solid var(--seda-tmava); cursor: pointer; list-style: none; }
.g-mob-sekce summary::-webkit-details-marker { display: none; }
.g-mob-sekce summary::after { content: "+"; width: 32px; height: 32px; display: grid; place-items: center; background: var(--modra); color: var(--text-na-modre); }
.g-mob-sekce[open] summary::after { content: "−"; }
.g-mobilni-menu .g-mob-sekce ul { padding-left: var(--space-4); border-left: 4px solid var(--zluta); margin: var(--space-2) 0; }
.g-mobilni-menu .g-mob-sekce li a { font-size: 18px; font-weight: 500; min-height: var(--cil-min); }

/* Rozcestník s dlaždicemi */
.g-dlazdice { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ram-desktop); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.g-dlazdice__polozka a { display: flex; flex-direction: column; height: 100%; background: var(--bila); color: var(--text-ink); text-decoration: none; border-top: 6px solid var(--modra); }
.g-dlazdice__polozka--zluta a { border-top-color: var(--zluta); }
.g-dlazdice__foto { display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.g-dlazdice__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--trvani-stredni) var(--krivka); }
.g-dlazdice__polozka a:hover img { transform: scale(1.04); }
.g-dlazdice__symbol { display: grid; place-items: center; aspect-ratio: 3 / 2; background: var(--prechod-modra); }
.g-dlazdice__polozka--zluta .g-dlazdice__symbol { background: var(--prechod-zluta); }
.g-dlazdice__symbol .g-kniha { position: static; transform: none; width: 96px; height: auto; }
.g-dlazdice__text { display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-4) var(--space-5) var(--space-5); }
.g-dlazdice__nazev { font-size: 22px; font-weight: 700; line-height: 1.25; }
.g-dlazdice__polozka a:hover .g-dlazdice__nazev { text-decoration: underline; text-decoration-thickness: 2px; }
.g-dlazdice__popis { font-size: 16px; color: var(--text-tlumeny); }
@media (prefers-reduced-motion: reduce) { .g-dlazdice__foto img { transition: none; } }

/* Záložky (zaměstnanci) */
.g-zalozky { background: var(--bila); border-bottom: 1px solid var(--seda-tmava); }
.g-zalozky ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--space-1); overflow-x: auto; }
.g-zalozky a { display: flex; align-items: center; min-height: 56px; padding: 0 var(--space-4); white-space: nowrap; font-weight: 600; color: var(--text-ink); text-decoration: none; border-bottom: 4px solid transparent; }
.g-zalozky a:hover { background: var(--modra-svetla); }
.g-zalozky a[aria-current="page"] { border-bottom-color: var(--zluta); color: var(--modra); }

/* Vedení: karty s fotkou */
.g-vedeni { display: grid; gap: var(--space-6); grid-template-columns: 1fr; margin-bottom: var(--space-6); }
@media (min-width: 900px) { .g-vedeni { grid-template-columns: 1fr 1fr; } }
.g-osoba-karta { display: grid; grid-template-columns: 120px 1fr; gap: var(--space-5); background: var(--bila); border: 1px solid var(--seda-tmava); border-top: 6px solid var(--modra); padding: var(--space-5); }
.g-osoba-karta:first-child { border-top-color: var(--zluta); }
@media (min-width: 720px) { .g-osoba-karta { grid-template-columns: 180px 1fr; } }
.g-osoba-karta__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--modra-svetla); }
.g-osoba-karta__foto .g-osoba-karta__smajlik { object-fit: contain; padding: 20%; }
.g-osoba-karta h3 { margin: 0 0 var(--space-2); font-size: 24px; }
.g-osoba-karta .g-kicker { margin: 0; color: var(--modra); }
.g-osoba-karta__role { font-size: 16px; color: var(--text-tlumeny); margin: 0 0 var(--space-3); }
.g-cipy, .g-osoba__predmety { list-style: none; margin: 0 0 var(--space-3); padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-1); }
.g-cipy li, .g-cip { display: inline-flex; align-items: center; padding: 2px var(--space-2); background: var(--modra-svetla); color: var(--text-ink); font-size: 14px; font-weight: 600; line-height: 1.4; }
@media (max-width: 719px) { .g-cipy li, .g-cip { font-size: 16px; } }
.g-kontakty { margin: 0 0 var(--space-3); display: grid; gap: var(--space-1); font-size: 16px; }
.g-kontakty div { display: grid; grid-template-columns: 80px 1fr; gap: var(--space-2); }
.g-kontakty dt { color: var(--text-tlumeny); }
.g-kontakty dd { margin: 0; }
.g-kontakty a { display: inline-flex; align-items: center; min-height: var(--cil-min); }
.g-rozbal { border-top: 1px solid var(--seda-tmava); margin-top: var(--space-2); }
.g-rozbal summary, .g-org__skupina summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: var(--cil-min); font-weight: 600; color: var(--modra); list-style: none; }
.g-rozbal summary::-webkit-details-marker, .g-org__skupina summary::-webkit-details-marker, .g-osoba summary::-webkit-details-marker { display: none; }
.g-rozbal summary::after, .g-org__skupina summary::after { content: "+"; flex: none; width: 28px; height: 28px; display: grid; place-items: center; background: var(--modra); color: var(--text-na-modre); font-weight: 700; }
.g-rozbal[open] summary::after, .g-org__skupina[open] summary::after { content: "−"; }
.g-rozbal .g-text { font-size: 16px; }

/* Učitelé: filtr a rozbalovací seznam */
.g-filtr { display: grid; gap: var(--space-4); align-items: end; background: var(--modra-svetla); padding: var(--space-5); margin-bottom: var(--space-6); border-top: 6px solid var(--zluta); }
@media (min-width: 900px) { .g-filtr { grid-template-columns: 2fr 1.5fr 1.5fr auto; } }
.g-filtr .g-pole { display: grid; gap: var(--space-1); margin: 0; }
.g-filtr label { font-weight: 600; font-size: 16px; }
.g-filtr input, .g-filtr select { font: inherit; font-size: 17px; min-height: var(--cil-min); padding: 0 var(--space-3); border: 2px solid var(--okraj-pole); border-radius: var(--radius-tlacitko); background: var(--bila); color: var(--text-ink); width: 100%; }
.g-filtr__pocet { grid-column: 1 / -1; margin: 0; font-size: 16px; color: var(--text-tlumeny); }
.g-filtr__pocet:empty { display: none; }
.g-lide-hlava { display: none; }
@media (min-width: 900px) {
  .g-lide-hlava { display: grid; grid-template-columns: 2.2fr 3fr 0.8fr 2fr 44px; gap: var(--space-4); padding: var(--space-3) var(--space-4); background: var(--modra); color: var(--text-na-modre); font-weight: 600; font-size: 16px; box-shadow: inset 6px 0 0 var(--zluta); }
}
.g-lide { list-style: none; margin: 0 0 var(--space-6); padding: 0; border: 1px solid var(--seda-tmava); border-top: 0; }
.g-lide > li:nth-child(even) .g-osoba > summary { background: var(--modra-svetla); }
.g-osoba > summary { display: grid; grid-template-columns: 1fr 44px; gap: var(--space-2) var(--space-4); align-items: center; padding: var(--space-3) var(--space-4); cursor: pointer; list-style: none; border-top: 1px solid var(--seda-tmava); }
.g-osoba > summary::after { content: "+"; grid-column: 2; grid-row: 1; justify-self: end; width: 32px; height: 32px; display: grid; place-items: center; background: var(--modra); color: var(--text-na-modre); font-weight: 700; }
.g-osoba[open] > summary::after { content: "−"; background: var(--zluta); color: var(--text-na-zlute); }
.g-osoba > summary:hover { background: var(--zluta-svetla) !important; }
.g-osoba__jmeno { grid-column: 1; }
.g-osoba__predmety, .g-osoba__kabinet, .g-osoba__email { grid-column: 1 / -1; font-size: 16px; }
.g-osoba__predmety { margin: 0; }
.g-osoba__kabinet::before { content: "Kabinet "; color: var(--text-tlumeny); }
.g-osoba__email { color: var(--text-tlumeny); overflow-wrap: anywhere; }
@media (min-width: 900px) {
  .g-osoba > summary { grid-template-columns: 2.2fr 3fr 0.8fr 2fr 44px; }
  .g-osoba > summary::after { grid-column: 5; }
  .g-osoba__predmety { grid-column: 2; } .g-osoba__kabinet { grid-column: 3; } .g-osoba__email { grid-column: 4; }
  .g-osoba__predmety, .g-osoba__kabinet, .g-osoba__email { grid-row: 1; }
  .g-osoba__kabinet::before { content: none; }
}
.g-osoba__detail { display: grid; gap: var(--space-6); padding: var(--space-5) var(--space-5) var(--space-6); background: var(--bila); border-top: 2px solid var(--zluta); }
@media (min-width: 900px) { .g-osoba__detail { grid-template-columns: 2fr 1fr; } }
.g-osoba__detail h3 { font-size: 18px; margin: 0 0 var(--space-2); color: var(--modra); }
.g-osoba__detail ul { margin: 0 0 var(--space-4); font-size: 16px; }
.g-prazdny__smajlik { width: 72px; height: auto; margin-bottom: var(--space-3); }

/* Předmětové týmy */
.g-tymy { display: grid; gap: var(--ram-desktop); grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); margin-top: var(--space-6); }
.g-tym { background: var(--bila); padding: var(--space-5); border-top: 6px solid var(--modra); display: flex; flex-direction: column; gap: var(--space-2); scroll-margin-top: var(--space-6); }
.g-tym--jazyky { border-top-color: var(--zluta); }
.g-tym--sport { border-top-color: var(--modra-hluboka); }
.g-tym:target { outline: 3px solid var(--zluta); }
.g-tym h3 { margin: 0; font-size: 22px; }
.g-tym__garant { margin: 0; display: flex; flex-direction: column; font-weight: 600; }
.g-tym__garant span { font-size: 14px; font-weight: 600; color: var(--text-tlumeny); }
.g-tym__clenove { margin: 0 0 var(--space-2); font-size: 16px; }
.g-tym__clenove a { color: var(--text-ink); }
.g-tym .g-cil { margin-top: auto; }

/* Organizační schéma */
.g-org { display: grid; gap: var(--space-6); margin: var(--space-6) 0; position: relative; }
.g-org__koren { display: flex; justify-content: center; }
.g-org__uzel { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--bila); border: 2px solid var(--modra); color: var(--text-ink); text-decoration: none; min-height: 64px; }
.g-org__uzel:hover { background: var(--zluta-svetla); }
.g-org__uzel img { width: 56px; height: 56px; object-fit: cover; flex: none; }
.g-org__uzel span { display: flex; flex-direction: column; font-size: 15px; color: var(--text-tlumeny); line-height: 1.35; }
.g-org__uzel strong { color: var(--text-ink); font-size: 18px; }
.g-org__uzel--reditel { background: var(--prechod-modra); border-color: var(--modra-hluboka); min-width: min(100%, 360px); }
.g-org__uzel--reditel span, .g-org__uzel--reditel strong { color: var(--text-na-modre); }
.g-org__uzel--reditel:hover { background: var(--modra-hluboka); }
.g-org__poradni { display: grid; gap: var(--space-4); }
@media (min-width: 900px) { .g-org__poradni { grid-template-columns: 1fr 1fr; } }
.g-org__skupina { background: var(--modra-svetla); border-left: 6px solid var(--modra); padding: 0 var(--space-4); }
.g-org__skupina--koordinatori { border-left-color: var(--zluta); background: var(--zluta-svetla); }
.g-org__skupina summary { min-height: 56px; color: var(--text-ink); }
.g-org__skupina summary span { margin-left: auto; font-weight: 400; font-size: 16px; color: var(--text-tlumeny); }
.g-org__skupina ul { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: grid; gap: 2px; }
.g-org__skupina li a { display: flex; flex-direction: column; padding: var(--space-2) var(--space-3); background: var(--bila); color: var(--text-tlumeny); font-size: 15px; text-decoration: none; }
.g-org__skupina li a strong { color: var(--text-ink); font-size: 17px; }
.g-org__skupina li a:hover { background: var(--zluta-svetla); }
.g-org__useky { display: grid; gap: var(--space-6); }
@media (min-width: 1024px) {
  .g-org__useky { grid-template-columns: repeat(3, 1fr); position: relative; padding-top: var(--space-8); border-top: 3px solid var(--modra); }
  .g-org__usek { position: relative; }
  .g-org__usek::before { content: ""; position: absolute; top: calc(-1 * var(--space-8)); left: 50%; width: 3px; height: var(--space-8); background: var(--modra); }
  .g-org__koren { position: relative; }
  .g-org__poradni { position: relative; }
}
.g-org__usek { display: grid; gap: var(--space-3); align-content: start; }
.g-org__usek .g-org__uzel { border-top: 6px solid var(--modra); }
.g-org__usek--jazyky .g-org__uzel { border-top-color: var(--zluta); }
.g-org__usek--sport .g-org__uzel { border-top-color: var(--modra-hluboka); }

/* Zřizovatel zvlášť */
.g-zrizovatel-pas { background: var(--bila); border-top: 6px solid var(--modra); }
.g-zrizovatel-pas__rad { display: grid; gap: var(--space-6); align-items: center; }
@media (min-width: 900px) { .g-zrizovatel-pas__rad { grid-template-columns: 360px 1fr; gap: var(--space-12); } }
.g-zrizovatel-pas__logo { display: block; background: var(--bila); border: 1px solid var(--seda-tmava); padding: var(--space-4); }
.g-zrizovatel-pas__logo img { width: 100%; height: auto; }
.g-zrizovatel-pas h2 { margin-bottom: var(--space-3); }
.g-partner__popis { font-size: 15px; font-weight: 400; color: var(--text-tlumeny); line-height: 1.45; }
.g-partneri-loga a { min-height: 180px; }

/* Sport */
.g-drobky--na-modre a, .g-drobky--na-modre [aria-current], .g-drobky--na-modre li + li::before { color: var(--text-na-modre); }
.g-karta__treneri { font-size: 15px; margin: var(--space-2) 0 0; }
.g-karta__treneri span { display: block; font-weight: 600; color: var(--text-tlumeny); }
.g-fakta--velke { font-size: 18px; }
.g-legenda-body i.b1 { background: var(--modra-svetla); outline: 1px solid var(--okraj-pole); }
.g-legenda-body i.b2 { background: var(--zluta); }
.g-legenda-body i.b3 { background: var(--modra); }
.g-legenda-body i.b4 { background: var(--modra-hluboka); }
.g-udaje--3 { margin-top: var(--space-8); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.g-uvod-pad .g-kolaz { grid-template-rows: repeat(2, 150px); }

/* Smajlík v modrém okně dotazů */
.g-okno--modra .g-smajlik { width: 64px; height: auto; margin-bottom: var(--space-4); }

/* Organizační schéma v2: ředitel uprostřed, poradenství a koordinátoři po stranách */
.g-org__vrchol { display: grid; gap: var(--space-4); }
.g-org__koren { flex-direction: column; align-items: center; }
.g-org__cara { display: none; }
@media (min-width: 1024px) {
  .g-org__vrchol { grid-template-columns: 1fr auto 1fr; align-items: start; gap: var(--space-6); }
  .g-org__koren { display: flex; align-self: stretch; }
  .g-org__cara { display: block; flex: 1; width: 3px; min-height: var(--space-8); background: var(--modra); }
  .g-org__vrchol .g-org__bok:first-child { order: 0; }
  .g-org__useky { margin-top: 0; }
  .g-org { gap: 0; }
}
.g-zalozky ul { flex-wrap: wrap; }
.g-s-knihou::before, .g-text h2::before { width: 72px; height: 19px; }
.g-pas-v2 .g-cislo { font-size: 44px; line-height: 1; }
[hidden] { display: none !important; }
@media (max-width: 719px) { .g-zalozky ul { flex-wrap: nowrap; } }

/* Symbol otevřené knihy u nadpisů (žlutá a modrá stránka z prvků loga) */
.g-s-knihou, .g-text h2 { display: flex; align-items: center; gap: var(--space-4); }
.g-s-knihou::before, .g-text h2::before {
  flex: none; width: 52px; height: 22px; margin: 0;
  background: url("../obr/kniha-zluta.svg") no-repeat 50% 50% / contain;
}
@media (min-width: 720px) {
  .g-s-knihou::before, .g-text h2::before { width: 64px; height: 27px; }
}
.g-s-knihou, .g-text h2 { align-items: flex-start; }
.g-s-knihou::before, .g-text h2::before { margin-top: 0.36em; }
/* Jen žlutá otevřená kniha, zarovnaná na spodní řádek nadpisu */
.g-s-knihou, .g-text h2 { align-items: flex-end; }
.g-s-knihou::before, .g-text h2::before { width: 56px; height: 11px; margin: 0 0 0.32em; }
@media (min-width: 720px) { .g-s-knihou::before, .g-text h2::before { width: 72px; height: 14px; margin-bottom: 0.34em; } }
.g-s-knihou::before, .g-text h2::before { margin-bottom: 0.24em; }
@media (min-width: 720px) { .g-s-knihou::before, .g-text h2::before { margin-bottom: 0.26em; } }
.g-s-knihou::before, .g-text h2::before { margin-bottom: 0.08em; }
@media (min-width: 720px) { .g-s-knihou::before, .g-text h2::before { margin-bottom: 0.1em; } }
.g-s-knihou::before, .g-text h2::before { margin-bottom: 0; transform: translateY(0.04em); }

/* Žlutá otevřená kniha POD nadpisem */
.g-s-knihou, .g-text h2 { display: block; }
.g-s-knihou::before, .g-text h2::before { content: none; display: none; }
.g-s-knihou::after, .g-text h2::after {
  content: ""; display: block; width: 64px; height: 13px; margin-top: var(--space-3);
  background: url("../obr/kniha-zluta.svg") no-repeat 0 0 / contain;
}
@media (min-width: 720px) { .g-s-knihou::after, .g-text h2::after { width: 80px; height: 16px; } }
.g-dvoustrana .g-s-knihou::after, .g-vyzva .g-s-knihou::after { display: none; }

/* Úvod podstránky: jen jemný přechod, bez linek knihy */
.g-pod-uvod { background-image: var(--prechod-nebe); background-size: auto; }

/* Aktuality na úvodní stránce: hlavní vlevo, čtyři menší vpravo */
.g-aktuality-uvod { display: grid; gap: var(--space-8); }
@media (min-width: 1024px) { .g-aktuality-uvod { grid-template-columns: 1fr 1fr; gap: var(--space-10); align-items: stretch; } }
.g-aktuality-uvod .g-aktualita--hlavni .g-aktualita__foto img, .g-aktuality-uvod .g-aktualita--hlavni .g-aktualita__pole { aspect-ratio: 3 / 2; width: 100%; object-fit: cover; }
.g-aktuality-sloupec { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); align-content: space-between; }
.g-aktualita--mala { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--space-4); align-items: start; padding-bottom: var(--space-4); border-bottom: 1px solid var(--seda-tmava); }
.g-aktualita--mala:last-child { border-bottom: 0; padding-bottom: 0; }
@media (min-width: 720px) { .g-aktualita--mala { grid-template-columns: 168px minmax(0, 1fr); } }
.g-aktualita--mala .g-aktualita__foto, .g-aktualita--mala .g-aktualita__pole { margin: 0; aspect-ratio: 3 / 2; }
.g-aktualita--mala .g-aktualita__foto img { width: 100%; height: 100%; object-fit: cover; }
.g-aktualita--mala .g-aktualita__pole { display: flex; align-items: flex-end; padding: var(--space-2) var(--space-3); font-size: 22px; min-height: 0; height: auto; }
.g-aktualita--mala h3 { font-size: 19px; margin: var(--space-1) 0; line-height: 1.3; }
.g-aktualita--mala h3 a { color: var(--text-ink); text-decoration: none; }
.g-aktualita--mala h3 a:hover { text-decoration: underline; }
.g-aktualita--mala p { font-size: 16px; margin: 0; color: var(--text-tlumeny); }
/* Seznam aktualit: výřez fotky */
.g-aktualita--radek .g-aktualita__foto { aspect-ratio: 3 / 2; overflow: hidden; }
.g-aktualita--radek .g-aktualita__foto img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 719px) { .g-partner__popis, .g-karta__treneri, .g-org__uzel span, .g-org__skupina li a { font-size: 16px; } }

/* Rozcestník: dlaždice bez fotky – značkový symbol na modré (listopad 2026) */
.g-dlazdice__symbol, .g-dlazdice__polozka--zluta .g-dlazdice__symbol { background: var(--modra); }
.g-dlazdice__symbol img { display: block; width: 38%; max-width: 128px; height: auto; }
.g-dlazdice__symbol--kniha img { width: 46%; max-width: 150px; }
/* Učitelé: předměty v detailu jako čipy bez odrážek */
.g-osoba__cipy { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.g-osoba__cipy li { padding-left: 0; margin: 0; }
.g-osoba__cipy li::before { content: none; display: none; }

/* ---- Historie školy: široká fotka, časová osa (almanachy, listopad 2026) ---- */
.g-obr-siroky { margin: 0 0 var(--space-8); }
.g-obr-siroky img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.g-obr-siroky figcaption, .g-absolventi-uvod__foto figcaption { margin-top: var(--space-2); font-size: 16px; color: var(--text-tlumeny); }
.g-obr-vpravo { margin: 0 0 var(--space-4); }
.g-obr-vpravo img { display: block; width: 100%; height: auto; }
@media (min-width: 720px) { .g-obr-vpravo { float: right; width: 42%; margin: 0 0 var(--space-4) var(--space-6); } }
.g-text .g-osa, .g-osa { list-style: none; margin: var(--space-6) 0 var(--space-8); padding: 0; position: relative; }
.g-osa::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 3px; background: var(--zluta); }
.g-text .g-osa > li, .g-osa__bod { position: relative; padding: 0 0 var(--space-6) var(--space-10); margin: 0; }
.g-text .g-osa > li::before, .g-osa__bod::before { content: ""; position: absolute; left: 0; top: 4px; width: 17px; height: 17px; background: var(--modra); border: 3px solid var(--bila); box-shadow: none; border-radius: 0; }
.g-osa__rok { display: inline-block; font-weight: 700; font-size: 16px; letter-spacing: .02em; color: var(--text-na-zlute); background: var(--zluta); padding: 2px var(--space-2); margin-bottom: var(--space-2); }
.g-text .g-osa__obsah h3 { margin: 0 0 var(--space-1); font-size: 20px; }
.g-osa__obsah p { margin: 0; }
@media (min-width: 900px) {
  .g-osa__bod { display: grid; grid-template-columns: 120px 1fr; gap: var(--space-4); }
  .g-osa__rok { justify-self: start; align-self: start; }
}
.g-text table td:first-child { white-space: nowrap; }

/* ---- Absolventi ---- */
.g-absolventi-uvod { display: grid; gap: var(--space-8); align-items: center; }
.g-absolventi-uvod__foto { margin: 0; }
.g-absolventi-uvod__foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
@media (min-width: 900px) { .g-absolventi-uvod { grid-template-columns: 1fr 1fr; } }
.g-legendy { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.g-legendy li { background: var(--bila); border-left: 6px solid var(--zluta); padding: var(--space-4) var(--space-5); display: flex; flex-direction: column; gap: var(--space-1); }
.g-legendy li::before { content: none; }
.g-legendy b { color: var(--text-ink); font-size: 18px; }
.g-legendy span { color: var(--text-tlumeny); font-size: 16px; }
.g-ohlasy { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ram-desktop); grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); align-items: start; }
.g-ohlas { background: var(--modra-svetla); border-top: 6px solid var(--modra); padding: var(--space-6); margin: 0; }
.g-ohlas:nth-child(3n+2) { border-top-color: var(--zluta); background: var(--zluta-svetla); }
.g-ohlas::before { content: none; }
.g-ohlas__nadpis { margin: 0 0 var(--space-3); font-size: 20px; line-height: 1.3; color: var(--text-ink); }
.g-ohlas__citat { margin: 0 0 var(--space-4); padding: 0 0 0 var(--space-4); border-left: 3px solid var(--zluta); font-size: 18px; line-height: 1.5; color: var(--text-ink); }
.g-ohlas__citat p { margin: 0; }
.g-ohlas__kdo { margin: 0 0 var(--space-3); display: flex; flex-direction: column; gap: 2px; }
.g-ohlas__kdo span { color: var(--text-tlumeny); font-size: 16px; }
.g-ohlas__cely summary { min-height: var(--cil-min); }

/* ---- Pás ohlasů na úvodní stránce: pomalu roluje, zastaví se najetím, fokusem nebo tlačítkem ---- */
.g-pas { background: var(--modra); color: var(--text-na-modre); padding: var(--space-12) 0; overflow: hidden; }
.g-pas__hlava { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: end; justify-content: space-between; margin-bottom: var(--space-6); }
.g-pas h2 { margin: 0; color: var(--text-na-modre); }
.g-pas .g-kicker { color: var(--zluta); margin: 0 0 var(--space-2); }
.g-pas__ovladani { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; }
.g-pas .g-cil, .g-pas .g-sipka { color: var(--text-na-modre); }
.g-pas .g-tl--obrys { color: var(--text-na-modre); border-color: var(--text-na-modre); background: transparent; min-height: var(--cil-min); }
.g-pas__okno { overflow: hidden; }
.g-pas__okno:focus-visible { outline: var(--focus-sirka) solid var(--focus-na-modre); outline-offset: 4px; }
.g-pas__pas { display: flex; width: max-content; animation: g-pas 140s linear infinite; }
.g-pas__okno:hover .g-pas__pas, .g-pas__okno:focus-within .g-pas__pas, .g-pas--stoji .g-pas__pas { animation-play-state: paused; }
.g-pas__rada { list-style: none; margin: 0; padding: 0 0 0 var(--ram-desktop); display: flex; gap: var(--ram-desktop); }
.g-pas__polozka { width: 340px; flex: 0 0 auto; background: var(--bila); color: var(--text-ink); padding: var(--space-6); margin: 0; border-top: 6px solid var(--zluta); display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-4); }
.g-pas__polozka::before { content: none; }
.g-pas__polozka blockquote { margin: 0; font-size: 18px; line-height: 1.5; }
.g-pas__polozka blockquote p { margin: 0; }
.g-pas__polozka blockquote p::before { content: "„"; } .g-pas__polozka blockquote p::after { content: "“"; }
.g-pas__kdo { margin: 0; display: flex; flex-direction: column; gap: 2px; }
.g-pas__kdo span { color: var(--text-tlumeny); font-size: 16px; }
@keyframes g-pas { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.g-pas--stoji .g-pas__okno { overflow-x: auto; }
.g-pas--stoji .g-pas__pas { animation: none; }
.g-pas--stoji .g-pas__rada[aria-hidden="true"] { display: none; }
@media (max-width: 719px) { .g-pas__polozka { width: 280px; } }
@media (prefers-reduced-motion: reduce) {
  .g-pas__pas { animation: none; }
  .g-pas__okno { overflow-x: auto; scroll-snap-type: x mandatory; }
  .g-pas__polozka { scroll-snap-align: start; }
  .g-pas__rada[aria-hidden="true"] { display: none; }
}
.g-absolventi-uvod .g-kicker { margin: 0 0 var(--space-2); }
.g-absolventi-uvod .g-kicker + h2 { margin-top: 0; }
/* Rozbalovací menu: vždy jen jedno. Najetí myší na jinou položku zavře podmenu, které zůstalo otevřené fokusem. */
.g-menu:hover .g-menu__podmenu:not(:hover) .g-podmenu { display: none; }
.g-menu__podmenu.g-zavreno .g-podmenu { display: none !important; }

/* Fotky vložené mezi odstavce (Charakteristika školy, Historie) */
.g-obr-vlozeny { margin: var(--space-6) 0; }
.g-obr-vlozeny img { display: block; width: 100%; height: auto; }
.g-obr-vlozeny figcaption { margin-top: var(--space-2); font-size: 16px; color: var(--text-tlumeny); }
.g-obr-vlozeny figcaption span { display: block; }
@media (min-width: 900px) {
  .g-obr-vlozeny--vpravo { float: right; width: 46%; margin: var(--space-1) 0 var(--space-5) var(--space-8); }
  .g-obr-vlozeny--vlevo { float: left; width: 46%; margin: var(--space-1) var(--space-8) var(--space-5) 0; }
  .g-text h2, .g-text .g-osa, .g-text .g-tabulka-obal { clear: both; }
}
.g-osa__foto { margin: var(--space-3) 0 0; max-width: 420px; }
.g-osa__foto img { display: block; width: 100%; height: auto; }
.g-osa__foto figcaption { margin-top: var(--space-1); font-size: 16px; color: var(--text-tlumeny); }
.g-portrety { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 200px)); gap: var(--space-4); margin: var(--space-4) 0 var(--space-6); }
.g-portrety figure { margin: 0; }
.g-portrety img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.g-portrety figcaption { margin-top: var(--space-2); font-size: 16px; }
.g-dvojice-foto { display: grid; gap: var(--space-4); margin: var(--space-6) 0; }
@media (min-width: 720px) { .g-dvojice-foto { grid-template-columns: 1fr 1fr; } }
.g-dvojice-foto figure { margin: 0; }
.g-dvojice-foto img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.g-dvojice-foto figcaption { margin-top: var(--space-2); font-size: 16px; color: var(--text-tlumeny); }

/* Odkazy na soubory: ikona podle typu (PDF červená, Word modrá, Excel zelená, PowerPoint oranžová, ZIP šedá) a velikost */
.g-soubor { text-decoration: none; }
.g-soubor .g-soubor__nazev { text-decoration: underline; text-underline-offset: 2px; }
.g-soubor:hover .g-soubor__nazev { text-decoration-thickness: 2px; }
.g-soubor__info { color: var(--text-tlumeny); font-weight: 400; white-space: nowrap; }
.g-ikona-soubor--v-textu { display: inline-block; width: 1.05em; height: 1.35em; vertical-align: -0.3em; margin-right: 0.3em; }
.g-text .g-seznam-souboru a { background-image: none; padding-left: var(--space-4); }
.g-text .g-seznam-souboru a .g-ikona-soubor--v-textu { width: 26px; height: 33px; flex: 0 0 auto; margin: 0; }
.g-text .g-seznam-souboru a .g-soubor__nazev { text-decoration: none; }
.g-text .g-seznam-souboru a.g-soubor { border-left-color: var(--barva-souboru, var(--modra)); }
.g-vyzva__terminy b { white-space: nowrap; flex: none; }
/* Odkaz na kotvu (#zapisy …) nesmí skončit pod přilepenou hlavičkou */
html { scroll-padding-top: calc(var(--vyska-hlavicky, 76px) + 16px); }
@media (min-width: 720px) { .g-dvojice-foto--prirozene { grid-template-columns: 3fr 2fr; align-items: start; } }
.g-dvojice-foto--prirozene img { aspect-ratio: auto; height: auto; }

/* Upozornění nahoře na stránce (např. loňská kritéria) */
.g-text .g-upozorneni { background: var(--zluta-svetla); border-left: 6px solid var(--zluta); padding: var(--space-4) var(--space-5); margin: 0 0 var(--space-8); max-width: none; }
.g-text .g-upozorneni p { margin: 0 0 var(--space-2); }
.g-text .g-upozorneni p:last-child { margin-bottom: 0; }
.g-sport-odkaz { flex: none; }
.g-sport-odkaz span { margin-left: 0.4em; }

/* Vedení: jméno s tituly vždy na jednom řádku přes celou šířku karty; písmo se zmenší podle šířky karty */
.g-osoba-karta { container-type: inline-size; }
.g-osoba-karta__hlava { grid-column: 1 / -1; }
.g-osoba-karta__hlava h3 { white-space: nowrap; font-size: min(24px, 6.1cqi); margin: var(--space-1) 0 0; }
.g-vedeni > *, .g-osoba-karta > * { min-width: 0; }
.g-osoba-karta__hlava h3 { font-size: max(16px, min(24px, 6.1cqi)); }
@media (max-width: 380px) { .g-osoba-karta { padding: var(--space-4); } }
/* Karty vedení: dvě vedle sebe až na širokých obrazovkách, na mobilu fotka nad kontakty */
@media (min-width: 900px) and (max-width: 1199px) { .g-vedeni { grid-template-columns: 1fr; } }
@media (max-width: 719px) {
  .g-osoba-karta { grid-template-columns: 1fr; }
  .g-osoba-karta__foto { max-width: 160px; }
}
.g-kontakty dd { overflow-wrap: anywhere; }
/* Hlavička: na středních šířkách se tlačítko vpravo nevejde vedle menu (je i v menu), na velmi úzkých mobilech zmenšit logo */
@media (min-width: 1024px) and (max-width: 1379px) { .g-hlavicka__rad > .g-tl { display: none; } }
@media (max-width: 380px) { .g-hlavicka .g-logo { flex: 0 1 auto; min-width: 0; } .g-hlavicka .g-logo img { width: min(190px, calc(100vw - 160px)); max-width: none; height: auto; } }

/* =================== kategorie aktualit, filtr, hledání, externí odkazy =================== */
.g-kat--sport { --kat: #1d3f8f; } .g-kat--souteze { --kat: #c2410c; } .g-kat--jazyky { --kat: #0f766e; } .g-kat--zahranici { --kat: #6d28d9; }
.g-kat--prijimacky { --kat: #b45309; } .g-kat--studium { --kat: #13295d; } .g-kat--akce { --kat: #be185d; } .g-kat--uredni { --kat: #4b5563; }

/* štítek kategorie */
.g-aktualita__meta, .g-aktualita p.g-aktualita__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); margin: 0; overflow: visible; -webkit-line-clamp: none; line-height: 1.4; }
.g-aktualita__meta .g-datum { margin: 0; }
.g-kat { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px 2px 6px; border-radius: 4px; font-size: 14px; font-weight: 600; line-height: 1.5; text-decoration: none; color: var(--kat, var(--modra)); background: var(--seda); background: color-mix(in srgb, var(--kat, var(--modra)) 11%, #fff); white-space: nowrap; }
.g-kat:hover { background: var(--kat, var(--modra)); color: #fff; }
.g-kat__ikona { width: 18px; height: 18px; flex: none; }
@media (max-width: 719px) { .g-kat { font-size: 15px; } }
.g-aktualita__meta--detail { margin-bottom: var(--space-2); }

/* dlaždice místo fotky */
.g-aktualita__pole--kat { position: relative; background: var(--kat, var(--modra)); color: #fff; overflow: hidden; justify-content: space-between; align-items: flex-end; }
.g-aktualita__pole--kat .g-aktualita__ikona { position: absolute; right: 8%; top: 50%; width: 46%; max-width: 132px; height: auto; aspect-ratio: 1; transform: translateY(-50%); opacity: .95; stroke-width: 1.4; }
.g-aktualita__pole--kat::before { content: ""; position: absolute; right: -14%; bottom: -30%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 255, 255, .09); }
.g-aktualita__pole-datum { position: relative; }
.g-aktualita--radek .g-aktualita__pole--kat { aspect-ratio: 3 / 2; font-size: 32px; }
.g-aktualita--mala .g-aktualita__pole--kat .g-aktualita__ikona { width: 42%; right: 10%; top: 12%; transform: none; stroke-width: 1.6; }
.g-aktualita--mala .g-aktualita__pole--kat { font-size: 18px; padding: var(--space-2); }
@media (max-width: 719px) {
  .g-aktualita--radek .g-aktualita__pole--kat { font-size: 17px; padding: var(--space-2); }
  .g-aktualita--radek .g-aktualita__pole--kat .g-aktualita__ikona { top: 10%; transform: none; width: 44%; stroke-width: 1.8; }
}

/* filtr aktualit */
.g-filtr-aktualit { background: var(--modra-svetla); border-top: 6px solid var(--zluta); padding: var(--space-5); margin-bottom: var(--space-6); display: grid; gap: var(--space-5); }
@media (min-width: 720px) { .g-filtr-aktualit { padding: var(--space-6) var(--space-8); } }
.g-filtr-aktualit__radek { display: grid; gap: var(--space-4); align-items: end; }
@media (min-width: 720px) { .g-filtr-aktualit__radek { grid-template-columns: minmax(0, 1fr) 13em auto; } }
.g-filtr-aktualit label, .g-filtr-aktualit legend { display: block; font-weight: 600; font-size: 16px; margin-bottom: var(--space-1); color: var(--text-ink); }
.g-filtr-aktualit input, .g-filtr-aktualit select { font: inherit; font-size: 17px; width: 100%; min-height: var(--cil-min); padding: 0 var(--space-3); border: 2px solid var(--okraj-pole); border-radius: var(--radius-tlacitko); background: var(--bila); color: var(--text-ink); }
.g-filtr-aktualit input[type="search"] { padding-left: 42px; background: var(--bila) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5a82' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E") no-repeat 12px 50% / 20px 20px; }
.g-filtr-aktualit .g-tl { min-height: var(--cil-min); }
.g-filtr-aktualit__kategorie { border: 0; margin: 0; padding: 0; min-width: 0; }
.g-kat-volba { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
@media (max-width: 719px) {
  .g-kat-volba { display: flex; flex-wrap: wrap; gap: var(--space-2); }
  .g-kat-volba__polozka { min-height: 44px; padding: 4px 12px 4px 4px; gap: 8px; border-radius: 4px; font-size: 15px; }
  .g-kat-volba__ikona { width: 32px; height: 32px; }
  .g-kat-volba__ikona svg { width: 19px; height: 19px; }
}
.g-kat-volba__polozka { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); min-height: 52px; padding: var(--space-2) var(--space-3) var(--space-2) var(--space-2); background: var(--bila); border: 2px solid transparent; border-radius: 4px; color: var(--text-ink); text-decoration: none; font-weight: 600; font-size: 15px; line-height: 1.25; transition: border-color var(--trvani-kratke) var(--krivka), background var(--trvani-kratke) var(--krivka); }
.g-kat-volba__polozka:hover { border-color: var(--kat, var(--modra)); }
.g-kat-volba__ikona { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--kat, var(--modra)); color: #fff; flex: none; }
.g-kat-volba__ikona svg { width: 22px; height: 22px; }
.g-kat-volba__ikona--vse { background: var(--zluta); color: var(--text-na-zlute); }
.g-kat-volba__pocet { font-size: 14px; font-weight: 600; color: var(--text-tlumeny); font-variant-numeric: tabular-nums; }
.g-kat-volba__polozka.je-aktivni { background: var(--kat, var(--modra)); border-color: var(--kat, var(--modra)); color: #fff; }
.g-kat-volba__polozka.je-aktivni .g-kat-volba__pocet { color: #fff; }
.g-kat-volba__polozka.je-aktivni .g-kat-volba__ikona { background: #fff; color: var(--kat, var(--modra)); }
.g-kat-volba__polozka.je-aktivni .g-kat-volba__ikona--vse { background: var(--zluta); color: var(--text-na-zlute); }
.g-kat-volba__polozka:not(.g-kat--sport):not(.g-kat--souteze):not(.g-kat--jazyky):not(.g-kat--zahranici):not(.g-kat--prijimacky):not(.g-kat--studium):not(.g-kat--akce):not(.g-kat--uredni).je-aktivni { background: var(--modra); border-color: var(--modra); }
.g-filtr-aktualit__stav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--space-2) var(--space-4); margin-bottom: var(--space-6); }
.g-filtr-aktualit__stav p { margin: 0; font-size: 17px; }
.g-filtr-aktualit__zrusit { font-weight: 600; }
.g-seznam-aktualit mark, .g-vysledky mark { background: var(--zluta-svetla); color: inherit; box-shadow: 0 2px 0 var(--zluta); padding: 0 1px; }

/* výsledky hledání s kontextem */
.g-vysledky__souhrn { font-size: 17px; color: var(--text-tlumeny); }
.g-vysledek { display: grid; gap: 4px; }
.g-vysledek > a { font-weight: 600; }
.g-vysledek__kontext { display: block; color: var(--text-tlumeny); font-size: 16px; line-height: 1.5; }
.g-vysledek__kontext strong { color: var(--text-ink); font-weight: 600; }
.g-vysledek__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: 15px; color: var(--text-tlumeny); }
.g-vysledek__duvod { font-size: 14px; color: var(--text-tlumeny); font-style: italic; }

/* externí odkazy: šipka ven ze čtverce (značka se doplní při vykreslení stránky, viz oznac_externi) */
.g-ext { display: inline-block; width: .78em; height: .78em; margin-left: .28em; vertical-align: -.04em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") no-repeat 50% / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9'/%3E%3Cpath d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E") no-repeat 50% / contain; }
@media (forced-colors: active) { .g-ext { background: LinkText; } }
.g-nezalom { white-space: nowrap; }

/* sportovní web školy (stránka Sport) */
.g-sportweb { position: relative; overflow: hidden; display: grid; gap: var(--space-8); margin-top: var(--space-12); padding: var(--space-8) var(--space-6); background: var(--modra-hluboka); color: var(--text-na-modre); border-radius: 4px; }
@media (min-width: 900px) { .g-sportweb { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; padding: var(--space-12); gap: var(--space-12); } }
.g-sportweb-zruseno::before { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; border-radius: 50%; border: 48px solid rgba(247, 167, 7, .16); pointer-events: none; }
.g-sportweb > * { position: relative; }
.g-sportweb .g-kicker { color: var(--zluta); }
.g-sportweb h2 { color: var(--text-na-modre); margin: var(--space-2) 0 var(--space-4); font-size: clamp(26px, 3.2vw, 38px); line-height: 1.15; }
.g-sportweb__text p:not(.g-kicker) { font-size: 18px; line-height: 1.55; margin: 0 0 var(--space-6); max-width: 34em; }
.g-sportweb a:focus-visible { outline-color: var(--focus-na-modre); }
.g-sportweb__odkazy { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.g-sportweb__odkazy a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); min-height: 52px; padding: var(--space-3) var(--space-4); background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); border-radius: 4px; color: var(--text-na-modre); font-weight: 600; text-decoration: none; transition: background var(--trvani-kratke) var(--krivka), color var(--trvani-kratke) var(--krivka); }
.g-sportweb__odkazy a:hover { background: var(--zluta); border-color: var(--zluta); color: var(--text-na-zlute); }
.g-sportweb__odkazy li:first-child, .g-sportweb__odkazy li:last-child { grid-column: 1 / -1; }
@media (max-width: 380px) { .g-sportweb__odkazy { grid-template-columns: 1fr; } }
.g-karta__web { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); margin: var(--space-2) 0 0; font-size: 15px; font-weight: 600; }
@media (max-width: 719px) { .g-karta__web { font-size: 16px; } }

/* =================== patička v3 =================== */
.g-paticka { position: relative; overflow: hidden; padding: calc(var(--space-20) + var(--space-4)) 0 var(--space-6); }
@media (max-width: 719px) { .g-paticka { padding-top: var(--space-16); } }
.g-paticka > .g-obsah { position: relative; z-index: 1; }
.g-paticka__vodoznak { position: absolute; right: -110px; bottom: -90px; width: 400px; height: auto; fill: #fff; opacity: .045; pointer-events: none; }
@media (max-width: 719px) { .g-paticka__vodoznak { width: 260px; right: -50px; } }
.g-paticka__hlava { display: grid; gap: var(--space-8); align-items: center; padding-bottom: var(--space-10); margin-bottom: var(--space-10); border-bottom: 1px solid rgba(255, 255, 255, .18); }
@media (min-width: 960px) { .g-paticka__hlava { grid-template-columns: minmax(0, 1fr) auto; } .g-paticka .g-paticka__site { flex-wrap: nowrap; } }
.g-paticka .g-logo img { height: 46px; width: auto; }
.g-paticka .g-logo { display: inline-block; margin-bottom: var(--space-4); }
.g-paticka__vize { margin: 0; max-width: 34em; font-size: 18px; line-height: 1.5; color: rgba(255, 255, 255, .92); }
.g-paticka__vize a { font-weight: 600; color: var(--zluta); white-space: nowrap; margin-left: .3em; }
.g-paticka .g-paticka__site { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-3); }
.g-paticka__site a { display: flex; align-items: center; gap: var(--space-3); min-height: 56px; padding: var(--space-2) var(--space-5) var(--space-2) var(--space-2); border-radius: 4px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); text-decoration: none; transition: background var(--trvani-kratke) var(--krivka), color var(--trvani-kratke) var(--krivka), border-color var(--trvani-kratke) var(--krivka); }
.g-paticka__site a .g-paticka__ikona { width: 40px; height: 40px; padding: 8px; border-radius: 50%; background: var(--zluta); color: var(--text-na-zlute); flex: none; }
.g-paticka__site a span { display: grid; line-height: 1.2; }
.g-paticka__site a strong { font-size: 16px; }
.g-paticka__site a small { font-size: 14px; color: rgba(255, 255, 255, .78); }
.g-paticka__site a:hover { background: var(--zluta); border-color: var(--zluta); color: var(--text-na-zlute); }
.g-paticka__site a:hover small { color: var(--text-na-zlute); }
.g-paticka__site a:hover .g-paticka__ikona { background: var(--modra-hluboka); color: #fff; }
.g-paticka a:focus-visible { outline-color: var(--focus-na-modre); }
.g-paticka__rad { display: grid; gap: var(--space-8) var(--space-10); }
@media (min-width: 720px) { .g-paticka__rad { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .g-paticka__rad { grid-template-columns: 1.25fr 1fr 1fr 1fr; } }
.g-paticka__nadpis { position: relative; font-size: 18px; padding-bottom: var(--space-3); margin: var(--space-6) 0 var(--space-3); }
.g-paticka__nadpis::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 4px; border-radius: 2px; background: var(--zluta); }
.g-paticka__rad > div > .g-paticka__nadpis:first-child { margin-top: 0; }
.g-paticka ul a { min-height: 40px; }
.g-paticka ul a:not(:hover) { text-decoration-color: rgba(255, 255, 255, .35); }
.g-paticka address { margin-bottom: var(--space-2); }
.g-paticka__kontakty a { gap: var(--space-2); font-weight: 600; }
.g-paticka__kontakty .g-paticka__ikona { width: 22px; height: 22px; color: var(--zluta); flex: none; }
.g-paticka__udaje, .g-paticka__zrizovatel { margin: var(--space-2) 0 0; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .85); }
.g-paticka__spodek { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-2) var(--space-6); margin-top: var(--space-12); padding-top: var(--space-5); border-top: 1px solid rgba(255, 255, 255, .18); font-size: 14px; color: rgba(255, 255, 255, .78); }
.g-paticka__spodek p { margin: 0; }
.g-paticka__spodek ul { display: flex; flex-wrap: wrap; gap: var(--space-5); }
.g-paticka__nahoru { gap: 6px; }
.g-paticka__nahoru .g-paticka__ikona { width: 18px; height: 18px; }

/* =================== úvod podstránky s fotkou =================== */
.g-pod-uvod--foto { position: relative; overflow: hidden; }
.g-pod-uvod--foto > .g-obsah { position: relative; z-index: 1; }
.g-pod-uvod__foto { position: relative; margin: calc(-1 * var(--space-8)) 0 var(--space-6); height: 180px; }
.g-pod-uvod__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 960px) {
  .g-pod-uvod--foto { min-height: 360px; display: flex; align-items: center; }
  .g-pod-uvod--foto > .g-obsah { width: 100%; }
  .g-pod-uvod--foto > .g-obsah > h1, .g-pod-uvod--foto > .g-obsah > .g-lead, .g-pod-uvod--foto > .g-obsah > nav { max-width: 52%; }
  .g-pod-uvod__foto { position: absolute; top: 0; right: 0; bottom: 0; width: 44%; height: auto; margin: 0; overflow: hidden; }
  .g-pod-uvod__foto::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(232, 238, 249, .55) 0%, rgba(232, 238, 249, 0) 22%); z-index: 1; pointer-events: none; }
}

/* fotka v úvodu podstránky končí dole tvarem knihy podle loga (jako přechody sekcí) */
.g-pod-uvod__foto { --kniha-s: 100px; --kniha-v: 26px; -webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--kniha-v) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.39 5.8' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C4.43,0 8.68,1.88 11.24,5.8 C13.78,1.92 18,0 22.39,0 Z'/%3E%3C/svg%3E") bottom center / var(--kniha-s) var(--kniha-v) no-repeat; mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--kniha-v) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.39 5.8' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C4.43,0 8.68,1.88 11.24,5.8 C13.78,1.92 18,0 22.39,0 Z'/%3E%3C/svg%3E") bottom center / var(--kniha-s) var(--kniha-v) no-repeat; }
@media (min-width: 960px) { .g-pod-uvod__foto { --kniha-s: 160px; --kniha-v: 41.45px; } }

/* =================== Vize školy =================== */
.g-vize-uvod { display: grid; gap: var(--space-8); align-items: center; }
@media (min-width: 960px) { .g-vize-uvod { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-16); } }
.g-vize-uvod__foto { margin: 0; }
.g-vize-uvod__foto img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.g-vize-citat { margin: var(--space-6) 0 0; padding: var(--space-5) var(--space-6); background: var(--modra-hluboka); color: #fff; border-radius: 4px; border: 0; }
.g-vize-citat p { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.35; }
.g-vize-citat p::before { content: "„"; } .g-vize-citat p::after { content: "“"; }
.g-vize-citat footer { margin-top: var(--space-2); font-size: 15px; color: rgba(255, 255, 255, .85); }
.g-vize-pilire { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.g-vize-pilire li { background: #fff; border-radius: 4px; padding: var(--space-6); box-shadow: 0 1px 0 var(--seda-tmava); }
.g-vize-pilire h3 { margin: var(--space-4) 0 var(--space-2); font-size: 21px; }
.g-vize-pilire p { margin: 0; }
.g-vize-pilire__ikona { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--zluta); color: var(--text-na-zlute); }
.g-vize-pilire li:nth-child(even) .g-vize-pilire__ikona { background: var(--modra); color: #fff; }
.g-vize-pilire__ikona svg { width: 30px; height: 30px; }
.g-vize-smery { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.g-vize-smer { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-5); border-radius: 4px; background: var(--seda); color: var(--text-ink); }
.g-vize-smer img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; display: block; }
.g-vize-smer h3 { margin: 0 0 var(--space-2); font-size: 21px; }
.g-vize-smer p { margin: 0; }
.g-vize-smer--zluta { background: var(--zluta); color: var(--text-na-zlute); }
.g-vize-smer--modra { background: var(--modra); color: #fff; }
.g-vize-smer--modra h3 { color: #fff; }
.g-vize-smer--bila { background: #fff; box-shadow: inset 0 0 0 2px var(--seda-tmava); }
.g-vize-galerie { list-style: none; margin: 0 0 var(--space-4); padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .g-vize-galerie { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 210px; } .g-vize-galerie__velka { grid-column: span 2; grid-row: span 2; } }
.g-vize-galerie li { position: relative; overflow: hidden; border-radius: 4px; min-height: 160px; }
.g-vize-galerie img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--trvani-stredni) var(--krivka); }
.g-vize-galerie li:hover img { transform: scale(1.04); }
.g-vize-galerie span { position: absolute; left: var(--space-3); bottom: var(--space-3); padding: 4px 12px; border-radius: 4px; background: rgba(19, 41, 93, .88); color: #fff; font-size: 15px; font-weight: 600; }
.g-vize-reditel { margin: 0 auto; max-width: 980px; display: grid; gap: var(--space-6); align-items: center; padding: var(--space-8); border-radius: 4px; background: var(--zluta-svetla); }
@media (min-width: 720px) { .g-vize-reditel { grid-template-columns: 180px minmax(0, 1fr); } .g-vize-reditel figcaption { grid-column: 2; } }
.g-vize-reditel img { width: 180px; height: 220px; object-fit: cover; border-radius: 4px; grid-row: span 2; }
.g-vize-reditel blockquote { margin: 0; font-size: 20px; line-height: 1.5; font-weight: 500; }
.g-vize-reditel blockquote p { margin: 0; }
.g-vize-reditel blockquote p::before { content: "„"; } .g-vize-reditel blockquote p::after { content: "“"; }
.g-vize-reditel figcaption { display: grid; color: var(--text-tlumeny); }
.g-vize-reditel figcaption strong { color: var(--text-ink); font-size: 18px; }
.g-vize-zdroj { text-align: center; margin-top: var(--space-6); }

/* =================== úvod: termíny, studijní obory, proč studovat (vzhled v3) =================== */
.g-blok--zluta { background: var(--zluta); color: var(--text-na-zlute); }
.g-blok--zluta .g-cil, .g-blok--zluta h2 { color: var(--text-na-zlute); }
.g-tl--sipka::after { content: ""; width: 20px; height: 20px; margin-left: var(--space-2); background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat 50% / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat 50% / contain; }
.g-terminy .g-tl, .g-v3-karta .g-tl { border-radius: 4px; }

/* časová osa */
.g-cas { list-style: none; margin: var(--space-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); color: var(--modra); }
.g-cas__krok { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 40px var(--space-4) 0 0; }
.g-cas__krok::before { content: ""; position: absolute; left: 0; right: 0; top: 13px; height: 4px; border-radius: 2px; background: var(--modra-svetla); }
.g-cas__krok--hotovo::before { background: var(--modra); }
.g-cas__tecka { position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; border: 4px solid var(--modra); background: #fff; z-index: 1; }
.g-cas__krok--hotovo .g-cas__tecka { background: var(--modra); }
.g-cas__krok--ted .g-cas__tecka { width: 38px; height: 38px; top: -4px; left: -4px; border-color: var(--zluta); background: var(--zluta); box-shadow: 0 0 0 6px rgba(247, 167, 7, .25); }
.g-cas__datum { font-size: 21px; line-height: 1.2; font-weight: 800; color: var(--modra); }
.g-cas__nazev { font-size: 17px; font-weight: 700; color: var(--text-ink); text-decoration: none; line-height: 1.3; }
.g-cas__nazev:hover { text-decoration: underline; }
.g-cas__pozn { font-size: 15px; color: var(--text-tlumeny); line-height: 1.4; }
.g-cas__krok--hotovo .g-cas__datum, .g-cas__krok--hotovo .g-cas__nazev { color: var(--text-tlumeny); }
.g-cas__stitek { align-self: flex-start; margin-top: var(--space-2); padding: 3px 12px; border-radius: 4px; background: var(--zluta); color: var(--text-na-zlute); font-size: 14px; font-weight: 700; }
@media (max-width: 1099px) { .g-cas { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--space-8); } }
@media (max-width: 639px) {
  .g-cas { grid-template-columns: 1fr; row-gap: 0; }
  .g-cas__krok { padding: 0 0 var(--space-6) 48px; }
  .g-cas__krok::before { left: 13px; right: auto; top: 0; bottom: 0; width: 4px; height: auto; }
  .g-cas__krok:last-child::before { display: none; }
}

/* karty brožura a prohlídka */
.g-terminy__karty { display: grid; gap: var(--space-6); margin-top: var(--space-10); }
@media (min-width: 900px) { .g-terminy__karty { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.g-v3-karta { display: grid; gap: var(--space-6); align-items: center; padding: var(--space-8); border-radius: 4px; background: var(--seda); color: var(--text-ink); }
.g-v3-karta h3 { font-size: 28px; line-height: 1.15; margin: var(--space-2) 0 var(--space-3); }
.g-v3-karta p { margin: 0 0 var(--space-5); font-size: 18px; }
.g-v3-karta .g-kicker { margin: 0; text-transform: uppercase; letter-spacing: .08em; font-size: 14px; color: var(--modra); }
.g-v3-karta--brozura { grid-template-columns: minmax(0, 1fr) 150px; }
.g-v3-karta__obalka { width: 150px; height: auto; border-radius: 4px; box-shadow: 0 10px 28px rgba(19, 41, 93, .22); transform: rotate(2deg); }
.g-v3-karta--prohlidka { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.g-v3-karta__foto { width: 100%; height: 100%; min-height: 200px; object-fit: cover; border-radius: 4px; }
@media (max-width: 559px) { .g-v3-karta--brozura, .g-v3-karta--prohlidka { grid-template-columns: 1fr; } .g-v3-karta__obalka { width: 120px; } .g-v3-karta { padding: var(--space-6); } }

/* studijní obory */
.g-obory__seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.g-obor a { position: relative; display: flex; flex-direction: column; gap: var(--space-3); height: 100%; padding: var(--space-5) var(--space-5) var(--space-6); border-radius: 4px; background: #fff; color: var(--text-ink); text-decoration: none; border: 1px solid var(--seda-tmava); transition: transform var(--trvani-kratke) var(--krivka), box-shadow var(--trvani-kratke) var(--krivka); }
.g-obor a:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(19, 41, 93, .14); }
.g-obor img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; margin-bottom: var(--space-2); }
.g-obor .g-kicker { margin: 0; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; color: var(--modra); }
.g-obor__nazev { font-size: 26px; line-height: 1.15; font-weight: 800; }
.g-obor__popis { font-size: 16px; line-height: 1.5; }
.g-obor__fakta { font-size: 15px; line-height: 1.6; color: var(--text-tlumeny); }
.g-obor__fakta b { color: var(--text-ink); }
.g-obor__dale { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: auto; padding-top: var(--space-2); font-weight: 700; }
.g-obor__dale::after { content: "→"; transition: transform var(--trvani-kratke) var(--krivka); }
.g-obor a:hover .g-obor__dale::after { transform: translateX(4px); }
.g-obor a:hover .g-obor__nazev { text-decoration: underline; }

/* proč studovat */
.g-proc__mrizka { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
@media (min-width: 1100px) { .g-proc__mrizka { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.g-pilir { position: relative; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-radius: 4px; background: #fff; color: var(--text-ink); transition: transform var(--trvani-kratke) var(--krivka), box-shadow var(--trvani-kratke) var(--krivka); }
.g-pilir:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(19, 41, 93, .18); }
.g-pilir img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 4px; margin-bottom: var(--space-2); }
.g-pilir h3 { margin: 0; font-size: 22px; }
.g-pilir h3 a { color: var(--text-ink); text-decoration: none; }
.g-pilir h3 a::before { content: ""; position: absolute; inset: 0; border-radius: 4px; }
.g-pilir:hover h3 a { text-decoration: underline; }
.g-pilir p { margin: 0; font-size: 16px; line-height: 1.5; }
.g-pilir__pata { margin-top: auto !important; padding-top: var(--space-2); font-weight: 700; color: var(--modra); font-size: 15px !important; }

/* =================== úvodní stránka podle návrhu A (kampaň) =================== */
.g-uvod-kampan__h1 { font-size: clamp(36px, 4.2vw, 56px); line-height: 1.14; letter-spacing: -.015em; margin: var(--space-3) 0 var(--space-3); padding-top: .06em; }
.g-uvod-kampan__h1 span { display: block; }
.g-uvod-kampan__panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-1) var(--space-5); align-items: start; margin-top: var(--space-5); padding: var(--space-4) var(--space-5) var(--space-5); background: var(--zluta); color: var(--text-na-zlute); border-radius: 4px; }
.g-uvod-kampan__panel h2 { margin: 0; font-size: clamp(20px, 1.8vw, 24px); line-height: 1.15; color: var(--text-na-zlute); }
.g-uvod-kampan__k { margin: 0 0 var(--space-1); font-size: 15px; font-weight: 600; }
.g-uvod-kampan__terminy { margin: var(--space-2) 0 0; font-size: 15px; font-weight: 500; }
.g-uvod-kampan__terminy span { white-space: nowrap; }
.g-uvod-kampan__odpocet { margin: 0; display: grid; justify-items: end; text-align: right; max-width: 8em; }
.g-uvod-kampan__odpocet b { font-size: 40px; line-height: 1; font-weight: 800; }
.g-uvod-kampan__odpocet span { font-size: 13px; line-height: 1.25; font-weight: 600; }
.g-uvod-kampan__tl { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); margin-top: var(--space-3); }
.g-uvod-kampan__tl .g-tl { min-height: 44px; padding: 8px 16px; font-size: 16px; }
.g-tl--obrys-tmava { background: transparent; color: var(--text-na-zlute); border: 2px solid var(--text-na-zlute); }
.g-tl--obrys-tmava:hover { background: var(--text-na-zlute); color: #fff; }
.g-uvod-kampan__panel .g-tl:focus-visible { outline-color: var(--modra-hluboka); }
@media (max-width: 559px) { .g-uvod-kampan__panel { grid-template-columns: 1fr; padding: var(--space-5); } .g-uvod-kampan__odpocet { justify-items: start; text-align: left; max-width: none; display: flex; align-items: baseline; gap: var(--space-2); } .g-uvod-kampan__odpocet b { font-size: 36px; } }

/* rychlé odkazy */
.g-rychle { background: var(--seda); border-bottom: 1px solid var(--seda-tmava); padding-top: 34px; }
@media (min-width: 720px) { .g-rychle { padding-top: 48px; } }
.g-rychle ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.g-rychle a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-2); min-height: 104px; padding: var(--space-3) var(--space-1); color: var(--text-ink); text-decoration: none; font-weight: 500; font-size: 15px; text-align: center; border-right: 1px solid var(--seda-tmava); }
.g-rychle li:last-child a { border-right: 0; }
.g-rychle a:hover { background: #fff; }
.g-rychle a:hover span { text-decoration: underline; }
.g-rychle svg { width: 30px; height: 30px; color: var(--modra); flex: none; }
@media (max-width: 899px) { .g-rychle ul { grid-template-columns: repeat(4, minmax(0, 1fr)); } .g-rychle li:nth-child(4) a { border-right: 0; } .g-rychle li:nth-child(n+5) a { border-top: 1px solid var(--seda-tmava); } }
@media (max-width: 559px) { .g-rychle ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .g-rychle a { min-height: 80px; border-right: 0; border-top: 1px solid var(--seda-tmava); } .g-rychle li:nth-child(odd) a { border-right: 1px solid var(--seda-tmava); } .g-rychle li:nth-child(-n+2) a { border-top: 0; } .g-rychle li:last-child { grid-column: 1 / -1; } .g-rychle li:last-child a { border-right: 0; } }

/* cesta ke studiu */
.g-cesta__rad { display: grid; gap: var(--space-12); }
@media (min-width: 1024px) { .g-cesta__rad { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); } }
.g-postup { list-style: none; margin: var(--space-6) 0 0; padding: 0; }
.g-postup__krok { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: var(--space-4); padding-bottom: var(--space-6); }
.g-postup__krok::after { content: ""; position: absolute; left: 15px; top: 32px; bottom: 0; width: 2px; background: var(--seda-tmava); }
.g-postup__krok:last-child::after { display: none; }
.g-postup__krok--hotovo::after { background: var(--modra); }
.g-postup__cislo { grid-row: 1 / 4; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--modra); color: var(--modra); background: #fff; font-weight: 700; font-size: 15px; }
.g-postup__krok--hotovo .g-postup__cislo { background: var(--modra); color: #fff; }
.g-postup__krok--ted .g-postup__cislo { background: var(--zluta); border-color: var(--zluta); color: var(--text-na-zlute); }
.g-postup__kdy { font-weight: 700; font-size: 18px; color: var(--text-ink); line-height: 1.6; }
.g-postup__ted { display: inline-block; margin-left: var(--space-2); padding: 1px 8px; border-radius: 4px; background: var(--zluta); color: var(--text-na-zlute); font-size: 13px; font-weight: 700; vertical-align: 2px; }
.g-postup h3 { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.35; }
.g-postup h3 a { color: var(--text-ink); text-decoration: none; }
.g-postup h3 a:hover { text-decoration: underline; }
.g-postup p { margin: 2px 0 0; font-size: 15px; color: var(--text-tlumeny); }
.g-postup__krok--hotovo .g-postup__kdy, .g-postup__krok--hotovo h3 a { color: var(--text-tlumeny); }
.g-dvere { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 479px) { .g-dvere { grid-template-columns: 1fr; } }
.g-dvere a { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--seda-tmava); border-radius: 4px; overflow: hidden; color: var(--text-ink); text-decoration: none; transition: border-color var(--trvani-kratke) var(--krivka); }
.g-dvere a:hover { border-color: var(--modra); }
.g-dvere a:hover strong { text-decoration: underline; }
.g-dvere img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.g-dvere__t { display: grid; gap: 4px; padding: var(--space-4) var(--space-4) var(--space-5); }
.g-dvere__t strong { font-size: 20px; line-height: 1.2; }
.g-dvere__t > span { font-size: 15px; color: var(--text-tlumeny); }
.g-dvere__t .g-dvere__f { font-weight: 600; color: var(--text-ink); }
.g-cesta__zdroj { margin: var(--space-3) 0 0; }
.g-cesta__dal { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); margin-top: var(--space-4); }
.g-cesta__box { margin-top: var(--space-6); padding: var(--space-5) var(--space-6); background: var(--seda); border-radius: 4px; }
.g-cesta__box h3 { margin: 0 0 var(--space-1); font-size: 18px; }
.g-cesta__box p { margin: 0; font-size: 15px; }
.g-cesta__kontakt { display: flex; flex-wrap: wrap; gap: 0 var(--space-6); }
.g-cesta__box a { display: inline-flex; align-items: center; min-height: var(--cil-min); font-weight: 600; }

/* vyber si, co tě baví */
.g-zajmy__mrizka { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899px) { .g-zajmy__mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .g-zajmy__mrizka { grid-template-columns: 1fr; } }
.g-zajem { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; color: #fff; text-decoration: none; }
.g-zajem img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--krivka); }
.g-zajem:hover img { transform: scale(1.04); }
.g-zajem::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(19, 41, 93, .94) 0, rgba(19, 41, 93, .55) 42%, rgba(19, 41, 93, 0) 70%); }
.g-zajem__t { position: absolute; z-index: 1; left: var(--space-5); right: var(--space-5); bottom: var(--space-4); display: grid; gap: 6px; }
.g-zajem__t strong { font-size: 26px; line-height: 1.1; font-weight: 800; }
.g-zajem__t > span { font-size: 15px; color: #f1f4fb; max-width: 38ch; }
.g-zajem:hover, .g-zajem:focus-visible { color: #fff; }
.g-zajem:hover strong { text-decoration: underline; text-decoration-color: var(--zluta); text-decoration-thickness: 3px; text-underline-offset: .18em; }
.g-zajem:focus-visible { outline: 3px solid var(--modra); outline-offset: 3px; }
.g-uvod-kampan .g-strana--prava { display: flex; flex-direction: column; justify-content: center; }

/* úvod: nižší hlavička, vyvážený pravý sloupec */
.g-uvod-kampan.g-uvod-pad { padding: var(--space-8) 0 var(--space-10); }
@media (min-width: 1024px) { .g-uvod-kampan.g-uvod-pad { padding: var(--space-10) 0 var(--space-12); } }
.g-uvod-kampan .g-uvod__text .g-lead { margin-bottom: 0; font-size: 19px; }
.g-uvod-kampan .g-ukazky ul { gap: var(--space-3) var(--space-3); }
.g-uvod-kampan .g-ukazky img { aspect-ratio: 4 / 5; }
@media (min-width: 1024px) { .g-uvod-kampan .g-strany { align-items: center; } .g-uvod-kampan .g-strana--prava { justify-content: center; } }

/* přepínač vzhledu úvodní strany (náhled): malý, v pravém horním rohu úvodu */
.g-uvod-kampan { position: relative; }
.g-vzhled-obal { position: relative; z-index: 2; }
.g-vzhled { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 4px; margin: calc(-1 * var(--space-5)) 0 var(--space-3); font-size: 12px; color: rgba(255, 255, 255, .7); }
@media (min-width: 1024px) { .g-vzhled { position: absolute; right: var(--space-6); top: calc(-1 * var(--space-8)); margin: 0; } }
.g-vzhled a { display: inline-flex; align-items: center; min-height: 24px; padding: 1px 8px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 4px; color: rgba(255, 255, 255, .9); text-decoration: none; }
.g-vzhled a:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.g-vzhled a[aria-current] { background: rgba(255, 255, 255, .92); color: var(--modra); border-color: transparent; font-weight: 600; }

/* jakou školu stavíme */
.g-stavime__mrizka { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
@media (min-width: 1024px) { .g-stavime__mrizka { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.g-stavime__citat { display: flex; background: var(--modra); color: #fff; border-radius: 4px; }
.g-stavime__citat blockquote { margin: 0; padding: var(--space-6); display: flex; flex-direction: column; justify-content: center; gap: var(--space-4); }
.g-stavime__citat p { margin: 0; font-size: 21px; line-height: 1.4; font-weight: 600; }
.g-stavime__citat p::before { content: "„"; } .g-stavime__citat p::after { content: "“"; }
.g-stavime__citat footer { font-size: 15px; color: rgba(255, 255, 255, .85); }
.g-stavime__pilir { padding: var(--space-5); background: #fff; border: 1px solid var(--seda-tmava); border-radius: 4px; }
.g-stavime__hlava { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-3); }
.g-stavime__hlava img { width: 72px; height: 72px; object-fit: cover; border-radius: 4px; flex: none; }
.g-stavime__hlava h3 { margin: 0; font-size: 21px; line-height: 1.2; color: var(--modra); }
.g-stavime__pilir > p { margin: 0 0 var(--space-3); font-size: 16px; }
.g-stavime__pilir ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.g-stavime__pilir ul li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.45; color: var(--text-tlumeny); }
.g-stavime__pilir ul li::before { content: ""; position: absolute; left: 0; top: 3px; width: 17px; height: 17px; background: var(--modra); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") no-repeat 50% / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") no-repeat 50% / contain; }

/* charakteristika školy (na stránce Vize školy) */
.g-charakteristika { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
@media (min-width: 1024px) { .g-charakteristika { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.g-charakteristika li { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--seda-tmava); border-radius: 4px; overflow: hidden; }
.g-charakteristika img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.g-charakteristika li > div { padding: var(--space-4) var(--space-5) var(--space-5); }
.g-charakteristika h3 { margin: 0 0 var(--space-2); font-size: 20px; color: var(--modra); }
.g-charakteristika p { margin: 0; font-size: 16px; line-height: 1.55; }
.g-charakteristika__dal { margin: var(--space-6) 0 0; font-size: 18px; }
.g-stavime .g-stavime__pilir { border-color: transparent; }

/* standardní úvod: fotka studentů a ověřená čísla místo ukázek z prohlídky */
.g-dukazy { display: grid; gap: var(--space-3); }
.g-dukazy__foto { margin: 0; }
.g-dukazy__foto img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; display: block; }
.g-dukazy__seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g-dukazy__seznam li { display: grid; align-content: start; gap: 4px; padding: var(--space-4); background: #fff; color: var(--text-ink); border-radius: 4px; }
.g-dukazy__seznam b { font-size: 26px; line-height: 1.1; font-weight: 800; color: var(--modra); }
.g-dukazy__seznam span { font-size: 14px; line-height: 1.4; }
.g-dukazy__zdroj { margin: 0; font-size: 13px; color: rgba(255, 255, 255, .8); }
@media (max-width: 559px) { .g-dukazy__seznam { grid-template-columns: 1fr; } }

/* box sportovního webu: vlevo text a odkazy, vpravo fotka; logo sportovních tříd */
.g-sportweb { padding: 0; gap: 0; align-items: stretch; }
@media (min-width: 900px) { .g-sportweb { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 0; gap: 0; } }
.g-sportweb__text { padding: var(--space-8) var(--space-6); }
@media (min-width: 900px) { .g-sportweb__text { padding: var(--space-10) var(--space-10); } }
.g-sportweb__odkazy { margin: 0 0 var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g-sportweb__odkazy a { min-height: 44px; padding: var(--space-2) var(--space-3); font-size: 15px; }
.g-sportweb__odkazy li:last-child { grid-column: auto; }
.g-sportweb__foto { position: relative; margin: 0; min-height: 260px; }
.g-sportweb__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.g-sportweb__foto figcaption { position: absolute; right: var(--space-3); bottom: var(--space-2); font-size: 12px; color: #fff; text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
.g-sport-hlava { align-items: center; justify-content: flex-start; gap: var(--space-6); }
.g-sport-logo { width: 120px; height: 120px; flex: none; }
@media (max-width: 559px) { .g-sport-logo { width: 88px; height: 88px; } }

/* přepínač vzhledu úvodu: dvě nenápadné tečky vedle tlačítek */
.g-vzhled-tecky { display: inline-flex; align-items: center; gap: 2px; margin-left: auto; align-self: center; }
.g-vzhled-tecky a { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; }
.g-vzhled-tecky a::before { content: ""; width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid currentColor; opacity: .55; }
.g-vzhled-tecky a[aria-current]::before { background: currentColor; opacity: .8; }
.g-vzhled-tecky a:hover::before { opacity: 1; }
.g-uvod-kampan__tl .g-vzhled-tecky { color: var(--text-na-zlute); }
.g-uvod-kampan .g-tl-skupina { align-items: center; }
.g-uvod-kampan .g-tl-skupina .g-vzhled-tecky { color: #fff; margin-left: var(--space-2); }

/* standardní vzhled: rozcestník Jazykové školy vpravo nahoře, budova školy decentně v pozadí */
.g-uvod-kampan--budova .g-strana--prava { gap: var(--space-4); justify-content: flex-start; }
.g-uvod-js { border-radius: 4px; }
.g-uvod-js .g-js-box__hlava a { font-size: 15px; }
.g-uvod-kampan--budova .g-dukazy__seznam { margin-top: var(--space-1); }
@media (min-width: 1024px) {
  .g-uvod-kampan--budova { position: relative; }
  .g-uvod-kampan--budova::before { content: ""; display: block; z-index: 0; position: absolute; top: 0; right: 0; bottom: 0; width: 50%; background: linear-gradient(180deg, rgba(20, 44, 102, .55) 0%, rgba(20, 44, 102, .78) 100%), url("../foto/v3/budova-2000.webp") 50% 55% / cover no-repeat; pointer-events: none; }
  .g-uvod-kampan--budova > .g-obsah { position: relative; z-index: 1; }
}
@media (max-width: 1023px) { .g-uvod-js { margin-top: var(--space-6); } }
.g-vize-reditel--v-sekci { margin-top: var(--space-10); }
.g-cesta__karty { display: grid; gap: var(--space-4); margin-top: var(--space-4); }
.g-cesta__karty .g-v3-karta { padding: var(--space-6); }
.g-cesta__karty .g-v3-karta h3 { font-size: 22px; }
.g-cesta__karty .g-v3-karta p { font-size: 16px; margin-bottom: var(--space-4); }
.g-cesta__karty .g-v3-karta--brozura { grid-template-columns: minmax(0, 1fr) 120px; }
.g-cesta__karty .g-v3-karta__obalka { width: 120px; }
.g-cesta__karty .g-v3-karta--prohlidka { grid-template-columns: minmax(0, 1fr) minmax(0, 220px); }
.g-cesta__karty .g-v3-karta__foto { min-height: 160px; }
@media (max-width: 559px) { .g-cesta__karty .g-v3-karta--brozura, .g-cesta__karty .g-v3-karta--prohlidka { grid-template-columns: 1fr; } }

/* výraznější najetí na odkaz: silné žluté podtržení; v textu stránek i jemně podsvícené pozadí */
a:hover { text-decoration-color: var(--zluta); text-decoration-thickness: 3px; text-decoration-skip-ink: none; }
.g-text a:hover, .g-lead a:hover, .g-vysledky a:hover, .g-bocni a:hover, .g-cil:hover { color: var(--modra-hluboka); background-color: var(--zluta-svetla); box-shadow: 0 0 0 2px var(--zluta-svetla); border-radius: 2px; text-decoration-color: var(--zluta); }
.g-bocni a:hover { text-decoration: underline; text-decoration-thickness: 3px; }

/* podnadpisy v textu (např. obory v kritériích přijetí): jasně oddělené bloky */
.g-text h4 { font-size: 21px; color: var(--text-ink); margin: var(--space-8) 0 var(--space-3); padding-bottom: var(--space-2); border-bottom: 2px solid var(--seda-tmava); }
.g-text h5 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--space-3); margin: var(--space-6) 0 0; padding: var(--space-3) var(--space-4); font-size: 18px; line-height: 1.35; color: var(--modra-hluboka); background: var(--modra-svetla); border-left: 5px solid var(--modra); }
.g-text h5 + ul, .g-text h5 + .g-seznam-souboru, .g-text h5 + p { margin-top: 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--modra-svetla); border-top: 0; }
.g-kod { display: inline-block; padding: 1px 8px; font-size: 14px; font-weight: 700; letter-spacing: .02em; color: #fff; background: var(--modra); border-radius: 2px; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* historie: více fotek u jednoho milníku */
.g-osa__galerie { display: grid; gap: var(--space-3); margin-top: var(--space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.g-osa__galerie--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.g-osa__galerie .g-osa__foto { margin: 0; }
.g-osa__galerie .g-osa__foto img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.g-osa__galerie figcaption { font-size: 14px; }
@media (max-width: 559px) { .g-osa__galerie, .g-osa__galerie--3 { grid-template-columns: 1fr; } }
.g-osa__galerie .g-osa__foto { max-width: none; }
.g-vize-reditel--v-sekci { row-gap: var(--space-3); align-content: center; }
/* přepínač vzhledu: zřetelnější */
.g-vzhled-tecky { gap: 0; padding: 2px 4px 2px 10px; border-radius: 999px; background: rgba(19, 41, 93, .1); }
.g-tl-skupina .g-vzhled-tecky { background: rgba(255, 255, 255, .14); }
.g-vzhled-tecky__popis { font-size: 12px; font-weight: 600; margin-right: 2px; opacity: .8; }
.g-vzhled-tecky a { width: 26px; height: 26px; }
.g-vzhled-tecky a::before { width: 11px; height: 11px; border-width: 2px; opacity: .7; }
.g-vzhled-tecky a[aria-current]::before { opacity: 1; }
.g-vzhled-tecky a, .g-vzhled-tecky a:hover { color: inherit; background: none; box-shadow: none; }
.g-uvod-kampan__tl .g-vzhled-tecky, .g-uvod-kampan__tl .g-vzhled-tecky a { color: var(--text-na-zlute) !important; }
/* přepínač vzhledu úvodu: dvě kolečka na levém kraji horní lišty */
.g-servis .g-obsah { position: relative; }
.g-servis .g-vzhled-tecky { position: absolute; left: var(--space-2); top: 50%; transform: translateY(-50%); margin: 0; padding: 0; background: none; color: #fff; z-index: 2; }
@media (min-width: 1360px) { .g-servis .g-vzhled-tecky { left: calc(-1 * var(--space-10)); } }
.g-servis .g-vzhled-tecky a { color: #fff !important; width: 22px; height: 22px; }
.g-servis .g-vzhled-tecky a::before { width: 10px; height: 10px; border: 2px solid #fff; opacity: .9; }
.g-servis .g-vzhled-tecky a[aria-current]::before { background: #fff; }
@media (max-width: 719px) { .g-servis .g-vzhled-tecky { display: none; } }

/* úvodní strana, standardní vzhled: bílé pozadí úvodu, budova vpravo prosvětlená */
.g-uvod-kampan--budova { background: var(--bila) !important; color: var(--text-ink); }
.g-uvod-kampan--budova h1, .g-uvod-kampan--budova .g-lead { color: var(--text-ink); }
.g-uvod-kampan--budova .g-kicker { color: var(--modra); }
.g-uvod-kampan--budova :focus-visible { outline-color: var(--focus); }
.g-uvod-kampan--budova .g-tl--obrys { color: var(--modra); border-color: var(--modra); }
.g-uvod-kampan--budova .g-tl--obrys:hover { background: var(--modra); color: #fff; }
.g-uvod-kampan--budova .g-kniha .l, .g-uvod-kampan--budova .g-kniha .p { fill: var(--bila); }
.g-uvod-kampan--budova .g-dukazy__seznam li { border: 1px solid var(--seda-tmava); }
.g-uvod-kampan--budova .g-dukazy__zdroj { color: var(--text-tlumeny); }
@media (min-width: 1024px) {
  .g-uvod-kampan--budova::before { background: linear-gradient(180deg, rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, .7) 100%), url("../foto/v3/budova-2000.webp") 50% 55% / cover no-repeat !important; }
  .g-uvod-kampan--budova .g-dukazy__zdroj { display: inline-block; justify-self: start; padding: 2px 8px; background: rgba(255, 255, 255, .9); border-radius: 2px; }
}
@media (min-width: 1024px) { .g-uvod-kampan--budova .g-dukazy__zdroj { width: fit-content; } }

/* lišta rychlých odkazů: modré pozadí, žluté ikony */
.g-rychle { background: var(--modra); border-bottom: 0; }
.g-rychle a, .g-rychle a:hover { color: #fff; }
.g-rychle a { border-color: rgba(255, 255, 255, .18) !important; }
.g-rychle a:hover { background: var(--modra-tmava); box-shadow: none; }
.g-rychle a:hover span { text-decoration-color: var(--zluta); }
.g-rychle svg { color: var(--zluta); }
.g-rychle a:focus-visible { outline-color: var(--zluta); outline-offset: -4px; }

/* standardní úvod: fotka budovy se objevuje zleva doprava a zasahuje až do špičky knihy */
.g-uvod-kampan--budova { --kn-s: 100px; --kn-v: 25.9px; position: relative; z-index: 2; margin-bottom: calc(-1 * var(--kn-v)); padding-bottom: calc(var(--space-10) + var(--kn-v)) !important;
  -webkit-mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--kn-v) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.39 5.8' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C4.43,0 8.68,1.88 11.24,5.8 C13.78,1.92 18,0 22.39,0 Z'/%3E%3C/svg%3E") bottom center / var(--kn-s) var(--kn-v) no-repeat;
  mask: linear-gradient(#000 0 0) top / 100% calc(100% - var(--kn-v) + 1px) no-repeat, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.39 5.8' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C4.43,0 8.68,1.88 11.24,5.8 C13.78,1.92 18,0 22.39,0 Z'/%3E%3C/svg%3E") bottom center / var(--kn-s) var(--kn-v) no-repeat; }
.g-uvod-kampan--budova .g-kniha { display: none; }
.g-uvod-kampan--budova + .g-rychle { padding-top: calc(var(--kn-v) + var(--space-2)); }
@media (min-width: 720px) { .g-uvod-kampan--budova { --kn-s: 160px; --kn-v: 41.45px; } }
@media (min-width: 1024px) {
  .g-uvod-kampan--budova::before { width: 100% !important; left: 0; background: linear-gradient(90deg, #fff 0%, #fff 30%, rgba(255, 255, 255, .7) 50%, rgba(255, 255, 255, 0) 80%), url("../foto/v3/budova-2000.webp") 70% 55% / cover no-repeat !important; }
  .g-uvod-kampan--budova { padding-bottom: calc(var(--space-16) + var(--kn-v)) !important; }
}
.g-uvod-kampan--budova + .g-rychle { padding-top: calc(var(--kn-v, 26px) + var(--space-5)); }
@media (min-width: 720px) { .g-uvod-kampan--budova + .g-rychle { padding-top: calc(41.45px + var(--space-6)); } }
@media (min-width: 1024px) {
  .g-uvod-kampan--budova::before { background: linear-gradient(90deg, #fff 0%, #fff 42%, rgba(255, 255, 255, .75) 55%, rgba(255, 255, 255, .25) 70%, rgba(255, 255, 255, 0) 85%), url("../foto/v3/budova-2000.webp") 75% 55% / cover no-repeat !important; }
}

/* standardní úvod: svislý pruh Jazykové školy u pravého okraje, přes celou výšku úvodu */
.g-uvod-js-svisle { display: none; }
@media (min-width: 1024px) {
  .g-js-pruh--jen-mobil { display: none; }
  .g-uvod-js-svisle { display: flex; flex-direction: column; justify-content: center; gap: var(--space-2); position: absolute; z-index: 1; top: 0; right: 0; bottom: var(--kn-v); width: clamp(300px, 26vw, 380px); padding: var(--space-6) var(--space-6) var(--space-6); background: var(--zluta-svetla); color: var(--text-ink); box-sizing: border-box; }
  .g-uvod-js-svisle .g-kicker { margin: 0; font-size: 14px; color: var(--text-tlumeny); }
  .g-uvod-js-svisle h2 { margin: 0; font-size: 26px; color: var(--text-ink); }
  .g-uvod-js-svisle > p:not(.g-kicker) { margin: 0 0 var(--space-2); font-size: 15px; line-height: 1.45; }
  .g-uvod-js-svisle .g-js-dlazdice { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
  .g-uvod-js-svisle .g-js-dlazdice li { margin: 0; background: var(--bila); border-left: 4px solid var(--zluta); }
  .g-uvod-js-svisle .g-js-dlazdice a { display: flex; flex-direction: row; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); color: var(--text-ink); text-decoration: none; }
  .g-uvod-js-svisle .g-js-dlazdice a:hover { background: var(--modra-svetla); box-shadow: none; }
  .g-uvod-js-svisle .g-js-dlazdice a:hover .g-js-dlazdice__nazev { text-decoration: underline; text-decoration-color: var(--zluta); text-decoration-thickness: 3px; }
  .g-uvod-js-svisle .g-js-dlazdice__obr { width: 40px; height: 40px; }
  .g-uvod-js-svisle .g-js-dlazdice__obr img { width: 40px; height: 40px; }
  .g-uvod-js-svisle .g-js-dlazdice__obr--vlajky img { width: 28px; height: auto; }
  .g-uvod-js-svisle .g-js-dlazdice__nazev { font-size: 15px; }
  .g-uvod-js-svisle .g-js-dlazdice__popis { font-size: 13px; }
  .g-uvod-js-svisle .g-cil { margin-top: var(--space-2); font-size: 15px; }
  .g-uvod-kampan--budova::before { background: linear-gradient(90deg, #fff 0%, #fff 34%, rgba(255, 255, 255, .55) 44%, rgba(255, 255, 255, .15) 54%, rgba(255, 255, 255, 0) 62%), url("../foto/v3/budova-2000.webp") 40% 55% / auto 115% no-repeat !important; background-color: #fff !important; }
}
@media (min-width: 1024px) {
  .g-uvod-js-svisle a.g-cil { color: var(--modra) !important; }
  .g-uvod-kampan--budova::before { background: linear-gradient(90deg, #fff 0%, #fff 40%, rgba(255, 255, 255, .6) 48%, rgba(255, 255, 255, .15) 57%, rgba(255, 255, 255, 0) 64%), url("../foto/v3/budova-2000.webp") 40% 55% / auto 115% no-repeat !important; background-color: #fff !important; }
}
@media (min-width: 1024px) {
  .g-uvod-js-svisle { background: var(--bila); box-shadow: -1px 0 0 var(--seda-tmava); }
  .g-uvod-js-svisle .g-js-dlazdice li { background: var(--zluta-svetla); }
  .g-uvod-js-svisle .g-js-dlazdice a:hover { background: var(--modra-svetla); }
}
@media (min-width: 1024px) {
  .g-uvod-js-svisle .g-js-dlazdice li { background: var(--zluta); border-left: 0; }
  .g-uvod-js-svisle .g-js-dlazdice__nazev, .g-uvod-js-svisle .g-js-dlazdice__popis { color: var(--text-na-zlute); }
  .g-uvod-js-svisle .g-js-dlazdice a:hover { background: var(--zluta-tmava); }
  .g-uvod-js-svisle .g-js-dlazdice a:hover .g-js-dlazdice__nazev { text-decoration-color: var(--text-na-zlute); }
}

/* =================== úvodní strana: vždy bílý úvod, fotka budovy, svislý pruh Jazykové školy (pravidlo 9) =================== */
.g-uvod-kampan--budova { --js-w: clamp(300px, 26vw, 380px); --obsah-l: max(32px, calc((100vw - 1152px) / 2)); }
.g-js-pruh--jen-mobil { padding-top: calc(var(--space-12) + 10px); }
.g-js-pruh--jen-mobil + .g-rychle { padding-top: 0; }
@media (min-width: 720px) {
  .g-uvod-kampan--budova .g-uvod__text { max-width: 560px; }
  .g-uvod-kampan--budova::before { content: ""; display: block; position: absolute; z-index: 0; top: 0; bottom: 0; left: 0 !important; right: 0; width: auto !important; pointer-events: none;
    background: linear-gradient(90deg, #fff 0, #fff calc(var(--obsah-l) + 300px), rgba(255, 255, 255, .78) calc(var(--obsah-l) + 400px), rgba(255, 255, 255, .5) calc(var(--obsah-l) + 500px), rgba(255, 255, 255, .22) calc(var(--obsah-l) + 600px), rgba(255, 255, 255, .06) calc(var(--obsah-l) + 700px), rgba(255, 255, 255, 0) calc(var(--obsah-l) + 780px)), url("../foto/v3/budova-2000.webp") 65% 50% / cover no-repeat !important; background-color: #fff !important; }
  .g-uvod-kampan--budova > .g-obsah { position: relative; z-index: 1; }
}
@media (min-width: 1024px) {
  .g-uvod-kampan--budova { --obsah-l: max(64px, calc((100vw - 1152px) / 2)); }
  .g-uvod-kampan--budova::before { right: var(--js-w) !important; background-position: 0 0, 70% 50% !important; }
  .g-uvod-js-svisle { width: var(--js-w); }
  .g-js-pruh--jen-mobil { display: none; }
  .g-uvod-kampan--budova ~ .g-rychle { padding-top: calc(41.45px + var(--space-6)); }
  .g-uvod-kampan--budova .g-strany { grid-template-columns: minmax(0, 1fr); }
  .g-uvod-kampan--budova .g-uvod__text { max-width: min(560px, calc(100vw - var(--js-w) - var(--obsah-l) - 260px)); }
}
@media (min-width: 1024px) and (max-width: 1279px) { .g-uvod-kampan--budova .g-uvod-kampan__h1 { font-size: 44px; } }
@media (min-width: 720px) {
  .g-uvod-kampan--budova { --obsah-l: 40px; }
  .g-uvod-kampan--budova::before { background: linear-gradient(90deg, #fff 0, #fff calc(var(--obsah-l) + 360px), rgba(255, 255, 255, .8) calc(var(--obsah-l) + 460px), rgba(255, 255, 255, .55) calc(var(--obsah-l) + 560px), rgba(255, 255, 255, .25) calc(var(--obsah-l) + 660px), rgba(255, 255, 255, .08) calc(var(--obsah-l) + 740px), rgba(255, 255, 255, 0) calc(var(--obsah-l) + 800px)), url("../foto/v3/budova-2000.webp") 65% 50% / cover no-repeat !important; }
}
@media (min-width: 720px) and (max-width: 1023px) {
  .g-uvod-kampan--budova .g-uvod__text { max-width: 440px; }
  .g-uvod-kampan--budova::before { background: linear-gradient(90deg, #fff 0, #fff 300px, rgba(255, 255, 255, .7) 420px, rgba(255, 255, 255, .3) 520px, rgba(255, 255, 255, 0) 620px), url("../foto/v3/budova-2000.webp") 70% 50% / cover no-repeat !important; }
}
@media (min-width: 1024px) {
  .g-uvod-kampan--budova { --obsah-l: max(64px, calc((100vw - 1152px) / 2)); }
  .g-uvod-kampan--budova .g-uvod__text { max-width: 520px; }
}
@media (max-width: 1023px) { .g-servis .g-vzhled-tecky { display: none; } }

/* úvod v období (dny otevřených dveří): jen bílé pozadí, bez fotky budovy; koláž „Ve škole uvidíte“ mezi textem a pruhem JŠ */
.g-uvod-kampan--obdobi::before { display: none !important; }
.g-uvod-kolaz { display: none; }
@media (min-width: 1280px) {
  .g-uvod-kampan--obdobi .g-strany { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-8); align-items: center; padding-right: calc(var(--js-w) - (100vw - 1152px) / 2 + var(--space-6)); }
  .g-uvod-kampan--obdobi .g-uvod__text { max-width: none; }
  .g-uvod-kampan--obdobi .g-uvod-kolaz { display: block; }
  .g-uvod-kolaz .g-ukazky { padding: 0; background: none; }
  .g-uvod-kolaz .g-ukazky ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .g-uvod-kolaz .g-ukazky img { aspect-ratio: 3 / 2; border-radius: 4px; }
  .g-uvod-kolaz .g-ukazky b { font-size: 15px; }
  .g-uvod-kolaz .g-ukazky span { font-size: 13px; }
  .g-uvod-kolaz .g-kicker { color: var(--modra); }
}
/* standardní úvod: fotka budovy posunutá doprava (víc budovy, méně lesa) */
@media (min-width: 1024px) {
  .g-uvod-kampan--budova:not(.g-uvod-kampan--obdobi)::before { background-size: auto, auto 125% !important; background-position: 0 0, 0% 50% !important; }
}
.g-uvod-kampan .g-uvod-kolaz { display: none; }
@media (min-width: 1280px) {
  .g-uvod-kampan--obdobi .g-uvod-kolaz { display: block; }
  .g-uvod-kampan--obdobi .g-strany { padding-right: 0; width: calc(100vw - var(--js-w) - var(--obsah-l) - var(--space-8)); max-width: none; margin-left: var(--obsah-l); margin-right: 0; padding-left: 0; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .g-uvod-kolaz .g-ukazky ul { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3) var(--space-2); }
  .g-uvod-kolaz .g-ukazky img { aspect-ratio: 1 / 1; }
  .g-uvod-kolaz .g-ukazky b { font-size: 14px; line-height: 1.25; margin-top: 4px; display: block; }
  .g-uvod-kolaz .g-ukazky span { font-size: 12px; line-height: 1.3; }
}
@media (min-width: 1280px) {
  .g-uvod-kampan--obdobi .g-uvod-kampan__h1 { font-size: clamp(40px, 3.4vw, 52px); }
  .g-uvod-kampan--obdobi .g-uvod-kampan__panel { grid-template-columns: minmax(0, 1fr); }
  .g-uvod-kampan--obdobi .g-uvod-kampan__odpocet { justify-items: start; text-align: left; max-width: none; display: flex; align-items: baseline; gap: var(--space-2); grid-row: 2; }
  .g-uvod-kampan--obdobi .g-uvod-kampan__odpocet b { font-size: 30px; }
  .g-uvod-kampan--obdobi .g-uvod-kampan__terminy span { white-space: normal; }
}
/* standardní úvod: oříznutá fotka budovy (bez lesa vpravo), zarovnaná k pruhu Jazykové školy */
@media (min-width: 720px) {
  .g-uvod-kampan--budova:not(.g-uvod-kampan--obdobi)::before { background-image: linear-gradient(90deg, #fff 0, #fff calc(var(--obsah-l) + 360px), rgba(255, 255, 255, .8) calc(var(--obsah-l) + 460px), rgba(255, 255, 255, .55) calc(var(--obsah-l) + 560px), rgba(255, 255, 255, .25) calc(var(--obsah-l) + 660px), rgba(255, 255, 255, .08) calc(var(--obsah-l) + 740px), rgba(255, 255, 255, 0) calc(var(--obsah-l) + 800px)), url("../foto/v3/budova-orez-prechod.webp") !important; background-size: auto, cover !important; background-position: 0 0, 100% 55% !important; background-repeat: no-repeat !important; }
}
@media (min-width: 720px) { .g-uvod-kampan--budova:not(.g-uvod-kampan--obdobi)::before { background-size: auto, auto 100% !important; background-position: 0 0, 100% 50% !important; } }
/* přepínač: šest období + standardní vzhled (oddělený) */
.g-servis .g-vzhled-tecky__std { margin-left: 8px; }
.g-servis .g-vzhled-tecky__std::before { border-radius: 2px !important; }
/* sezónní úvod: nižší, menší mezery kolem koláže */
.g-uvod-kampan--obdobi.g-uvod-pad { padding-top: var(--space-6) !important; padding-bottom: calc(var(--space-6) + var(--kn-v)) !important; }
.g-uvod-kampan--obdobi .g-uvod-kampan__h1 { margin-top: 0; }
@media (min-width: 1280px) { .g-uvod-kampan--obdobi .g-strany { align-items: center; } .g-uvod-kolaz .g-ukazky > .g-kicker { margin-bottom: var(--space-2); } }
.g-uvod-kampan--obdobi .g-uvod-js-svisle { padding-top: var(--space-4); padding-bottom: var(--space-4); }

/* úvod podle období: fotka s přechodem (proměnná --uvod-foto), obory a termíny */
@media (min-width: 720px) {
  .g-uvod-kampan.g-uvod-kampan--budova.g-uvod-kampan--foto::before { background-image: linear-gradient(90deg, #fff 0, #fff calc(var(--obsah-l) + 360px), rgba(255, 255, 255, .8) calc(var(--obsah-l) + 460px), rgba(255, 255, 255, .55) calc(var(--obsah-l) + 560px), rgba(255, 255, 255, .25) calc(var(--obsah-l) + 660px), rgba(255, 255, 255, .08) calc(var(--obsah-l) + 740px), rgba(255, 255, 255, 0) calc(var(--obsah-l) + 800px)), var(--uvod-foto) !important; background-size: auto, var(--uvod-foto-size, auto 100%) !important; background-position: 0 0, var(--uvod-foto-pos, 100% 50%) !important; }
}
@media (min-width: 1280px) {
  .g-uvod-obory { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
  .g-uvod-obory a { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--space-3); align-items: center; padding: var(--space-2); background: var(--seda); border-radius: 4px; color: var(--text-ink); text-decoration: none; }
  .g-uvod-obory a:hover { background: var(--modra-svetla); }
  .g-uvod-obory a:hover b { text-decoration: underline; text-decoration-color: var(--zluta); text-decoration-thickness: 3px; }
  .g-uvod-obory img { width: 96px; height: 64px; object-fit: cover; border-radius: 2px; }
  .g-uvod-obory span { display: grid; font-size: 13px; line-height: 1.35; color: var(--text-tlumeny); }
  .g-uvod-obory b { font-size: 16px; color: var(--text-ink); }
  .g-uvod-obory small { font-size: 13px; font-weight: 600; color: var(--modra); }
  .g-uvod-terminy { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-left: 3px solid var(--modra-svetla); }
  .g-uvod-terminy li { position: relative; display: grid; gap: 2px; padding: var(--space-2) 0 var(--space-3) var(--space-5); }
  .g-uvod-terminy li::before { content: ""; position: absolute; left: -8px; top: 12px; width: 13px; height: 13px; border-radius: 50%; background: #fff; border: 3px solid var(--modra); }
  .g-uvod-terminy b { font-size: 19px; color: var(--modra); }
  .g-uvod-terminy span { font-size: 15px; }
  .g-uvod-kolaz > .g-kicker { color: var(--modra); margin: 0 0 var(--space-3); }
}
/* kontakty zaměstnanců: popisek a údaj na jednom řádku, zarovnané na střed */
.g-kontakty { gap: 0; }
.g-kontakty div { grid-template-columns: 84px minmax(0, 1fr); align-items: center; min-height: var(--cil-min); column-gap: var(--space-3); }
.g-kontakty dt, .g-kontakty dd { margin: 0; line-height: 1.4; }
.g-kontakty dd a { min-height: var(--cil-min); }
.g-kontakty { align-content: start; align-self: start; }
.g-org__uzel img { width: 60px; height: 75px; object-fit: cover; object-position: 50% 15%; align-self: center; }
.g-org__uzel--reditel img { width: 72px; height: 90px; }
.g-org__uzel img { width: 60px; height: auto; aspect-ratio: auto; object-fit: contain; }
.g-org__uzel--reditel img { width: 68px; height: auto; }

/* jemné krémové pozadí se nepoužívá: místo něj standardní žlutá (rozhodnutí 3. 11. 2026) */
:root { --zluta-svetla: var(--zluta); }
.g-js-pruh .g-kicker, .g-vize-reditel figcaption, .g-text .g-upozorneni, .g-text .g-zvyrazneni, .g-ohlas, .g-org__skupina--koordinatori { color: var(--text-ink); }
.g-ohlas:nth-child(3n+2) *, .g-js-pruh p, .g-vize-reditel figcaption * { color: var(--text-ink); }
.g-text .g-upozorneni a, .g-js-pruh a, .g-ohlas a { color: var(--text-ink); }
.g-text a:hover, .g-lead a:hover, .g-vysledky a:hover, .g-bocni a:hover, .g-cil:hover { color: var(--text-ink); text-decoration-color: var(--modra); }
.g-tabulka--pekna tbody tr:hover td, .g-text .g-tabulka tbody tr:hover td { color: var(--text-ink); }
.g-tabulka--pekna tbody tr:hover a, .g-text .g-tabulka tbody tr:hover a { color: var(--text-ink); }
.g-org__uzel:hover span { color: var(--text-ink); }
.g-osoba > summary:hover * { color: var(--text-ink); }

/* sport: fotka venkovního areálu nad kartami */
.g-sport-areal { margin: 0 0 var(--space-6); }
.g-sport-areal img { display: block; width: 100%; aspect-ratio: 21 / 8; object-fit: cover; object-position: 50% 60%; border-radius: 4px; }
.g-sport-areal figcaption { font-size: 15px; color: var(--text-tlumeny); margin-top: var(--space-2); }
.g-dvojice-foto--na-vysku img { aspect-ratio: 4 / 5; object-position: 50% 35%; }

/* galerie v milnících: výřez od horního okraje, aby lidé na fotkách na výšku neměli uřízlé hlavy */
.g-osa__galerie .g-osa__foto img { object-position: 50% 8%; }

/* patička: popisky IČ a datové schránky žlutě, hodnoty bíle a výrazněji */
.g-paticka__stitek { color: var(--zluta); }
.g-paticka__hodnota { color: #fff; font-weight: 600; letter-spacing: .02em; }
.g-paticka__oddel { margin: 0 .5em; color: rgba(255, 255, 255, .5); }
.g-paticka__par { display: inline-block; white-space: nowrap; margin-right: 1.25em; }

/* patička: spodní řádek s názvem školy bez zbytečného zalomení na širokých obrazovkách */
.g-paticka__spodek p { max-width: none; }

/* připomínky vedení 5. 11. 2026 */
/* tabulka oborů: název oboru na prvním řádku, upřesnění na druhém */
.g-tabulka__pod { display: block; font-weight: 400; font-size: 16px; color: var(--text-tlumeny); }
.g-tabulka tbody tr:hover .g-tabulka__pod { color: var(--text-ink); }
/* učitelé: předměty zvýrazněné i v modrých řádcích (o odstín tmavší podklad) */
.g-lide > li:nth-child(even) .g-cip { background: #d2ddf2; }
/* vedení: popis funkce vždy hned pod jménem, stejným písmem */
.g-osoba-karta__role + .g-osoba-karta__role { margin-top: calc(-1 * var(--space-2)); }
/* školská rada: skupiny členů jako mezititulky */
.g-text h3.g-skupina-clenu { font-size: 18px; margin: var(--space-4) 0 var(--space-1); color: var(--text-tlumeny); font-weight: 600; }
.g-text h3.g-skupina-clenu + p { margin-top: 0; }
/* rozbalovací archiv v textu stránky */
.g-text details.g-rozbal > summary { font-size: 18px; }
.g-text details.g-rozbal[open] > summary { margin-bottom: var(--space-3); }

/* aktualita: galerie fotek pod textem – řádky stejné výšky, fotky bez ořezu (5. 11. 2026) */
.g-text__foto a { display: block; cursor: zoom-in; }
.g-text__foto img { height: auto; width: auto; max-width: 100%; max-height: min(560px, 75vh); }
.g-text__foto a { width: fit-content; max-width: 100%; }
.g-galerie { margin: var(--space-8) 0 var(--space-6); }
.g-text .g-galerie__nadpis { font-size: 22px; margin: 0 0 var(--space-3); }
.g-galerie__nadpis span { color: var(--text-tlumeny); font-weight: 400; }
.g-text .g-galerie__mrizka { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; max-width: none; }
.g-text .g-galerie__mrizka li { flex: var(--pomer) 1 calc(var(--pomer) * 170px); max-width: calc(var(--pomer) * 250px); margin: 0; padding: 0; }
.g-text .g-galerie__mrizka li::before { content: none; }
.g-text .g-galerie__mrizka::after { content: ""; flex: 1.2 1 0; }
.g-galerie__mrizka a { display: block; cursor: zoom-in; background: var(--seda); }
.g-galerie__mrizka img { display: block; width: 100%; height: auto; aspect-ratio: var(--pomer); object-fit: cover; margin: 0; transition: opacity .15s; }
.g-galerie__mrizka a:hover img, .g-galerie__mrizka a:focus-visible img { opacity: .85; }
@media (max-width: 559px) { .g-text .g-galerie__mrizka li { flex-basis: calc(var(--pomer) * 120px); } }

/* prohlížeč fotek (web.js) */
.g-prohlizec { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #0a1228; color: #fff; }
.g-prohlizec::backdrop { background: rgba(10, 18, 40, .94); }
.g-prohlizec[open] { display: grid; grid-template-rows: auto 1fr auto; }
.g-prohlizec__lista { display: flex; justify-content: space-between; align-items: center; padding: var(--space-3) var(--space-4); font-size: 16px; }
.g-prohlizec__obr { display: grid; place-items: center; min-height: 0; padding: 0 var(--space-3); }
.g-prohlizec__obr img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; }
.g-prohlizec__popis { text-align: center; padding: var(--space-3) var(--space-4) var(--space-4); font-size: 16px; min-height: 1.5em; }
.g-prohlizec button { font: inherit; font-weight: 600; color: #fff; background: rgba(255, 255, 255, .12); border: 0; min-width: 48px; min-height: 48px; cursor: pointer; border-radius: 4px; }
.g-prohlizec button:hover, .g-prohlizec button:focus-visible { background: var(--zluta); color: var(--text-na-zlute); }
.g-prohlizec__sipka { position: fixed; top: 50%; transform: translateY(-50%); font-size: 28px !important; }
.g-prohlizec__sipka--zpet { left: var(--space-3); }
.g-prohlizec__sipka--dal { right: var(--space-3); }
@media (max-width: 559px) { .g-prohlizec__sipka { top: auto; bottom: var(--space-3); transform: none; } }

/* aktualita: odkaz zpět do seznamu; v seznamu zvýraznit aktualitu, ze které se čtenář vrátil */
.g-zpet { margin: 0 0 var(--space-2); }
.g-zpet__odkaz { display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--cil-min); font-weight: 600; color: var(--modra); text-decoration: none; }
.g-zpet__odkaz::before { content: "←"; font-weight: 700; transition: transform .15s; }
.g-zpet__odkaz:hover { text-decoration: underline; color: var(--text-ink); }
.g-zpet__odkaz:hover::before { transform: translateX(-3px); }
.g-zpet__odkaz--tl { padding: 0 var(--space-4); border: 2px solid var(--modra); border-radius: var(--radius-tlacitko); margin-right: var(--space-4); }
.g-zpet__odkaz--tl:hover { background: var(--modra); color: var(--text-na-modre); text-decoration: none; }
.g-seznam-aktualit > li { scroll-margin-top: calc(var(--vyska-hlavicky, 96px) + var(--space-4)); }
.g-seznam-aktualit > li:target { animation: g-zvyrazni-aktualitu 2.4s ease-out; }
@keyframes g-zvyrazni-aktualitu { 0%, 40% { background: var(--modra-svetla); box-shadow: 0 0 0 12px var(--modra-svetla); } 100% { background: transparent; box-shadow: 0 0 0 12px transparent; } }
@media (prefers-reduced-motion: reduce) { .g-seznam-aktualit > li:target { animation: none; background: var(--modra-svetla); box-shadow: 0 0 0 12px var(--modra-svetla); } }

/* aktualita: menší mezera mezi nadpisem a textem (připomínka 5. 11. 2026) */
.g-pod-uvod--clanek { padding-bottom: var(--space-6); }
.g-blok--pod-clankem { padding-top: var(--space-6); }
@media (min-width: 720px) {
  .g-pod-uvod--clanek { padding-bottom: var(--space-8); }
  .g-blok--pod-clankem { padding-top: var(--space-8); }
}

/* úvod s fotkou: spodní hrana obdélníku fotky = konec pozadí úvodu, špička knihy přesahuje do další sekce */
@media (min-width: 960px) {
  .g-pod-uvod--foto { overflow: visible; z-index: 2; }
  .g-pod-uvod__foto { bottom: calc(-1 * var(--kniha-v)); }
}

/* =================== sjednocení úvodů (5. 11. 2026): všude, kde je nahoře fotka, jemný modrý přechod =================== */
/* Zaměstnanci: záložky pod úvodem s fotkou začínají až pod špičkou knihy */
@media (min-width: 960px) { .g-pod-uvod--foto + .g-zalozky { padding-top: calc(41.45px + var(--space-2)); } }
/* „Vyber si, co tě baví“: text na plném tmavě modrém podkladu pod fotkou (kontrast 13 : 1, WCAG 1.4.3) */
.g-zajem { display: flex; flex-direction: column; aspect-ratio: auto; height: 100%; background: var(--modra-hluboka); }
.g-zajmy__mrizka > li { display: flex; }
.g-zajmy__mrizka > li > .g-zajem { flex: 1; }
.g-zajem img { position: static; inset: auto; height: auto; aspect-ratio: 16 / 10; flex: none; }
.g-zajem::after { content: none; }
.g-zajem__t { position: static; padding: var(--space-4) var(--space-5) var(--space-5); background: var(--modra-hluboka); color: #fff; border-top: 4px solid var(--zluta); flex: 1; align-content: start; }
.g-zajem__t strong { font-size: 24px; }
.g-zajem__t > span { color: #fff; }

/* přístupnost (WCAG 2.1 AA) – opravy z auditu 5. 11. 2026 */
/* 1.4.3 kontrast: štítky kategorií (text na světlém podkladu ≥ 4,5 : 1) */
.g-kat--souteze { --kat: #9a3412; }
.g-kat--prijimacky { --kat: #92400e; }
/* 1.4.3 zvýraznění hledaného slova: tmavý text na žluté */
.g-seznam-aktualit mark, .g-vysledky mark, mark { color: var(--text-ink); }
.g-org__skupina--koordinatori summary span { color: var(--text-ink); }
/* 2.5.8 velikost cíle: přepínač období v liště min. 24 × 24 px */
.g-servis .g-vzhled-tecky { gap: 2px; }
.g-servis .g-vzhled-tecky a { width: 24px; height: 24px; }
/* 1.4.3 popisek autora fotky na fotce: plný tmavý podklad */
.g-sportweb__foto figcaption { bottom: 0; right: 0; padding: 2px 8px; font-size: 13px; background: var(--modra-hluboka); text-shadow: none; }
/* 1.4.10 přeskupení obsahu při šířce 320 px (zvětšení 400 %) */
.g-text a, .g-text td, .g-text li, .g-text p { overflow-wrap: anywhere; }
.g-tabulka-obal { overflow-x: auto; max-width: 100%; position: relative; }
@media (max-width: 399px) {
  .g-servis ul { gap: var(--space-2); }
  .g-servis { font-size: 15px; }
  .g-nezalom { white-space: normal; }
  .g-hledani { flex-wrap: wrap; }
  .g-hledani input { min-width: 0; flex: 1 1 100%; }
}
.g-clanek-rad > *, .g-text { min-width: 0; }
@media (max-width: 399px) { .g-kat { white-space: normal; } }
#obsah:focus { outline: none; }

/* horní menu: hustší položky v rozbalovacím podmenu, Jazyková škola bez ikony (5. 11. 2026) */
.g-podmenu__telo { padding: var(--space-3) var(--space-3) var(--space-3); }
.g-hlavicka .g-menu .g-podmenu__nadpis { margin: 0 0 var(--space-1); padding: 0 var(--space-3); }
.g-podmenu ul { gap: 0; }
.g-hlavicka .g-menu .g-podmenu ul a { min-height: 36px; padding: 5px var(--space-3); gap: 0; }
.g-podmenu small { font-size: 13px; line-height: 1.35; }
.g-menu a.g-menu__js { gap: 0; }
.g-hlavicka .g-menu { margin-left: auto; }
@media (min-width: 1380px) {
  .g-hlavicka .g-menu { gap: 20px; }
  .g-hlavicka .g-menu a { font-size: 16px; }
  .g-hlavicka__rad > .g-tl { padding-left: var(--space-4); padding-right: var(--space-4); }
}

/* Projekty: běžící / v době udržitelnosti / ukončené (sbalené) */
.g-text .g-projekt { border-top: 1px solid var(--seda-tmava); padding-top: var(--space-5); margin-top: var(--space-6); }
.g-text h2 + .g-projekt, .g-text h2 + p + .g-projekt { border-top: 0; padding-top: 0; }
.g-text .g-projekt__program { margin: 0 0 var(--space-1); font-size: 15px; font-weight: 600; color: var(--modra); text-transform: none; }
.g-text .g-projekt > h3 { margin-top: 0; }
.g-text .g-projekty-archiv__program { margin-top: var(--space-6); }
.g-text .g-projekt--archiv { margin-top: var(--space-4); padding-top: var(--space-4); }

/* Pod úvodem s fotkou začíná první sekce jemným modrým přechodem – jako na stránce Ke studiu (5. 11. 2026) */
.g-pod-uvod--foto + .g-blok,
.g-pod-uvod--foto + .g-zalozky + .g-blok,
.g-dvoustrana--v2:not(.g-uvod-kampan) + .g-blok { background: var(--prechod-nebe); }
.g-pod-uvod--foto + .g-zalozky { background: var(--modra-svetla); }
.g-pod-uvod--foto + .g-zalozky a:hover { background: #fff; }
/* boxy ve světle modré barvě v té sekci odlišit od podkladu */
.g-pod-uvod--foto + .g-blok .g-obsah-stranky, .g-pod-uvod--foto + .g-blok .g-bocni,
.g-pod-uvod--foto + .g-zalozky + .g-blok .g-filtr { background: #fff; }

/* aktualita: ještě menší mezera mezi nadpisem a textem */
.g-pod-uvod--clanek { padding-bottom: var(--space-4) !important; }
.g-blok--pod-clankem { padding-top: var(--space-4) !important; }
.g-pod-uvod--clanek h1 { margin-bottom: 0; }

/* seznam aktualit: filtr hned pod nadpisem (mezera ~32 px) */
.g-pod-uvod--kratky { padding-bottom: var(--space-4) !important; }
.g-blok--pod-kratkym { padding-top: var(--space-4) !important; }
.g-pod-uvod--kratky .g-lead { margin-bottom: 0; }

/* =================== Volitelné předměty, kroužky (5. 11. 2026) =================== */
.g-vp-nav { margin: 0 0 var(--space-6); }
.g-vp-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.g-text .g-vp-nav ul { max-width: none; }
.g-vp-nav li { margin: 0; padding: 0; }
.g-vp-nav li::before { content: none !important; }
.g-vp-nav a { display: inline-flex; align-items: center; min-height: var(--cil-min); padding: 0 var(--space-4); border: 2px solid var(--modra); border-radius: 999px; background: #fff; color: var(--modra); font-weight: 600; font-size: 16px; text-decoration: none; }
.g-vp-nav a:hover { background: var(--modra-svetla); color: var(--text-ink); }
.g-vp-nav a[aria-current="page"] { background: var(--modra); color: var(--text-na-modre); }

.g-vp-pdf { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; }
.g-vp-pdf > span:first-child { font-weight: 600; }

.g-vp-karty { list-style: none; margin: 0 0 var(--space-8); padding: 0; display: grid; gap: var(--space-3); }
.g-text .g-vp-karty { max-width: none; }
.g-vp-karty li { margin: 0; padding: 0; }
.g-vp-karty li::before { content: none !important; }
.g-vp-karty a { display: grid; gap: 4px; padding: var(--space-4) var(--space-5); background: #fff; border-left: 6px solid var(--zluta); box-shadow: 0 1px 0 var(--seda-tmava); color: var(--text-ink); text-decoration: none; }
.g-vp-karty a strong { font-size: 20px; color: var(--modra); }
.g-vp-karty a strong::after { content: " →"; }
.g-vp-karty a span { font-size: 16px; color: var(--text-tlumeny); }
.g-vp-karty a:hover { background: var(--modra-svetla); }
.g-vp-karty a:hover strong { text-decoration: underline; }

.g-vp-uvod { display: grid; gap: var(--space-4); margin-bottom: var(--space-6); }
@media (min-width: 900px) { .g-vp-uvod { grid-template-columns: 1fr 1fr; } .g-vp-uvod__info { grid-column: 1 / -1; } .g-vp-uvod--krouzky { grid-template-columns: 1fr; } }
.g-vp-uvod__etapa { background: #fff; padding: var(--space-5); border-top: 6px solid var(--modra); }
.g-vp-uvod__etapa h2 { margin: 0 0 var(--space-2); font-size: 24px; }
.g-vp-uvod__etapa p { margin: 0 0 var(--space-2); }
.g-vp-uvod__kod { font-weight: 700; color: var(--modra); }
.g-vp-uvod__info { display: grid; gap: var(--space-3); padding: var(--space-4) var(--space-5); background: #fff; border-left: 6px solid var(--zluta); }
.g-vp-uvod__info p { margin: 0; }

.g-vp-filtr { position: sticky; top: var(--vyska-hlavicky, 76px); z-index: 5; display: grid; gap: var(--space-3); padding: var(--space-4) var(--space-5); margin-bottom: var(--space-6); background: var(--modra-svetla); border-top: 6px solid var(--zluta); box-shadow: 0 6px 16px rgba(20, 44, 102, .08); }
@media (max-width: 899px) { .g-vp-filtr { position: static; } }
.g-vp-filtr__radek { display: grid; gap: var(--space-3); }
@media (min-width: 900px) { .g-vp-filtr__radek { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } }
.g-vp-filtr .g-pole { display: grid; gap: var(--space-1); margin: 0; }
.g-vp-filtr label[for], .g-vp-filtr legend { font-weight: 600; font-size: 16px; }
.g-vp-filtr input[type=search] { font: inherit; font-size: 17px; min-height: var(--cil-min); padding: 0 var(--space-3); border: 2px solid var(--okraj-pole); border-radius: var(--radius-tlacitko); background: #fff; color: var(--text-ink); width: 100%; }
.g-vp-filtr fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); min-width: 0; }
.g-vp-filtr legend { padding: 0; margin-bottom: var(--space-1); width: 100%; }
.g-vp-filtr fieldset label { position: relative; display: inline-flex; }
.g-vp-filtr fieldset input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.g-vp-filtr fieldset label span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--space-3); border: 2px solid var(--okraj-pole); border-radius: 999px; background: #fff; font-size: 15px; font-weight: 600; color: var(--text-ink); cursor: pointer; }
.g-vp-filtr fieldset input:checked + span { background: var(--modra); border-color: var(--modra); color: var(--text-na-modre); }
.g-vp-filtr fieldset input:focus-visible + span { outline: var(--focus-sirka) solid var(--focus); outline-offset: 2px; }
.g-vp-filtr fieldset label:hover span { border-color: var(--modra); }
.g-vp-filtr__pata { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); justify-content: space-between; }
.g-vp-filtr__pocet { margin: 0; font-weight: 600; }

.g-vp-skupina { margin-bottom: var(--space-8); }
.g-vp-skupina h2 { margin: 0 0 var(--space-4); }
.g-vp-skupina__kod { font-size: .55em; color: var(--text-tlumeny); font-weight: 600; margin-left: var(--space-2); white-space: nowrap; }
.g-vp-seznam { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
@media (min-width: 1100px) { .g-vp-seznam { grid-template-columns: 1fr 1fr; align-items: start; } }
.g-vp { background: #fff; border: 1px solid var(--seda-tmava); border-top: 4px solid var(--modra); scroll-margin-top: calc(var(--vyska-hlavicky, 76px) + 220px); }
.g-vp details > summary { display: grid; gap: 4px; padding: var(--space-4) var(--space-5) var(--space-4); cursor: pointer; list-style: none; position: relative; padding-right: 64px; }
.g-vp details > summary::-webkit-details-marker { display: none; }
.g-vp details > summary::after { content: "+"; position: absolute; right: var(--space-4); top: var(--space-4); width: 32px; height: 32px; display: grid; place-items: center; background: var(--modra); color: var(--text-na-modre); font-weight: 700; font-size: 20px; }
.g-vp details[open] > summary::after { content: "−"; background: var(--zluta); color: var(--text-na-zlute); }
.g-vp details > summary:hover .g-vp__nazev { text-decoration: underline; text-decoration-color: var(--zluta); text-decoration-thickness: 3px; }
.g-vp__hlava { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.g-vp__kod { display: inline-block; padding: 1px 8px; background: var(--modra); color: var(--text-na-modre); font-weight: 700; font-size: 14px; border-radius: 3px; letter-spacing: .04em; }
.g-vp__oblast { font-size: 14px; font-weight: 600; color: var(--modra); }
.g-vp__nazev { font-size: 21px; font-weight: 700; line-height: 1.25; color: var(--text-ink); }
.g-vp__vyucujici { font-size: 15px; color: var(--text-tlumeny); }
.g-vp__upoutavka { font-size: 16px; color: var(--text-ink); }
.g-vp details[open] .g-vp__upoutavka { display: none; }
.g-vp__telo { padding: 0 var(--space-5) var(--space-5); border-top: 1px solid var(--seda-tmava); padding-top: var(--space-4); font-size: 17px; }
.g-vp__telo p, .g-vp__telo ul { max-width: none; }
.g-text .g-vp__pozn { background: var(--zluta); color: var(--text-ink); padding: var(--space-2) var(--space-3); font-size: 16px; font-weight: 500; }
.g-text .g-vp__mezititulek { margin-bottom: var(--space-1); }
.g-text ul.g-vp__body li strong { color: var(--modra); }

.g-krouzky { list-style: none; margin: 0 0 var(--space-6); padding: 0; display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.g-krouzek { margin: 0; background: #fff; padding: var(--space-5); border-top: 6px solid var(--modra); box-shadow: 0 1px 0 var(--seda-tmava); display: flex; flex-direction: column; gap: var(--space-3); }
.g-krouzek--jazyky { border-top-color: #0f766e; } .g-krouzek--umeni { border-top-color: #be185d; } .g-krouzek--technika { border-top-color: var(--modra); }
.g-krouzek__nazev { margin: 0; font-size: 22px; line-height: 1.25; }
.g-krouzek__stitek { margin: 0; align-self: flex-start; padding: 2px 10px; background: var(--zluta); color: var(--text-na-zlute); font-size: 14px; font-weight: 700; border-radius: 3px; }
.g-krouzek__fakta { margin: 0; display: grid; gap: 4px; font-size: 16px; }
.g-krouzek__fakta div { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: var(--space-2); }
.g-krouzek__fakta dt { color: var(--text-tlumeny); }
.g-krouzek__fakta dd { margin: 0; font-weight: 600; }
.g-krouzek__popis { font-size: 16px; }
.g-krouzek__popis p:last-child, .g-krouzek__popis ul:last-child { margin-bottom: 0; }

.g-text .g-tabulka--hodiny th span { font-weight: 400; font-size: 13px; color: inherit; opacity: .9; }
.g-text .g-tabulka--hodiny td { text-align: center; }
.g-text .g-tabulka--hodiny tbody th { text-align: left; font-weight: 600; }

/* hlavní menu: Jazyková škola na stejné účaří jako ostatní položky */
.g-menu a.g-menu__js { display: inline; min-height: 0; padding: var(--space-3) 0; border-bottom: 3px solid transparent; line-height: inherit; }
.g-menu a.g-menu__js > span { display: inline; }
.g-vp-filtr .g-tl--obrys { color: var(--modra); border-color: var(--modra); background: #fff; }
.g-vp-filtr .g-tl--obrys:hover { background: var(--modra); color: var(--text-na-modre); }
.g-text > .g-vp-nav + .g-vp-pdf, .g-text > .g-vp-pdf + .g-obsah-stranky { margin-top: var(--space-4); }
.g-text > .g-vp-pdf { margin-bottom: var(--space-5); }
/* volitelné předměty: výraznější zvýraznění karty při najetí a zaměření */
.g-vp { transition: background-color .15s, border-color .15s, box-shadow .15s; }
.g-vp:hover, .g-vp:focus-within { background: var(--modra-svetla); border-color: var(--modra); box-shadow: 0 4px 14px rgba(20, 44, 102, .12); }
.g-vp:hover .g-vp__nazev, .g-vp details > summary:focus-visible .g-vp__nazev { color: var(--modra); }
.g-vp:hover details > summary::after { background: var(--zluta); color: var(--text-na-zlute); }
.g-vp details[open] { background: #fff; }
.g-vp details[open] > summary { background: var(--modra-svetla); }
.g-vp-skupina { scroll-margin-top: calc(var(--vyska-hlavicky, 76px) + var(--vyska-filtru, 0px) + 16px); }

/* Vedení: karty vedle sebe zarovnané (hlavička i obsah na stejné výšce), fotka s viditelným okrajem */
/* hlavička karty má pevnou výšku (funkce + jméno na jednom řádku), aby fotky a texty sousedních karet začínaly stejně */
.g-osoba-karta { align-content: start; }
.g-osoba-karta__hlava { min-height: 62px; display: flex; flex-direction: column; justify-content: flex-end; }
.g-osoba-karta__hlava .g-kicker { line-height: 1.4; }
.g-osoba-karta__hlava h3 { line-height: 1.25; }
.g-osoba-karta__hlava h3 { font-size: 24px; white-space: normal; }
.g-osoba-karta__foto, .g-osoba-karta__telo { align-self: start; }
.g-osoba-karta__foto img { display: block; border: 1px solid var(--seda-tmava); background: var(--modra-svetla); }
.g-osoba-karta__telo > :first-child { margin-top: 0; }
.g-osoba-karta__telo .g-osoba-karta__role { line-height: 1.45; margin-top: -3px; }

/* filtr volitelných předmětů: kompaktní, v jednom řádku */
.g-vp-filtr { grid-template-columns: 1fr; gap: var(--space-2) var(--space-3); padding: var(--space-3) var(--space-4); border-top-width: 4px; }
@media (min-width: 720px) { .g-vp-filtr { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); align-items: end; } .g-vp-filtr__pata { grid-column: 1 / -1; } }
@media (min-width: 1100px) { .g-vp-filtr { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.1fr) auto; } .g-vp-filtr__pata { grid-column: auto; flex-wrap: nowrap; } }
.g-vp-filtr .g-pole { gap: 2px; }
.g-vp-filtr label[for] { font-size: 14px; }
.g-vp-filtr input[type=search], .g-vp-filtr select { font: inherit; font-size: 16px; min-height: 44px; padding: 0 var(--space-3); border: 2px solid var(--okraj-pole); border-radius: var(--radius-tlacitko); background: #fff; color: var(--text-ink); width: 100%; }
.g-vp-filtr__pata { gap: var(--space-3); justify-content: flex-end; }
.g-vp-filtr__pocet { font-size: 15px; white-space: nowrap; }
.g-vp-filtr .g-tl { min-height: 44px; padding: 0 var(--space-4); font-size: 16px; white-space: nowrap; }
@media (max-width: 719px) { .g-vp-filtr { grid-template-columns: 1fr 1fr; } .g-vp-filtr__hledat, .g-vp-filtr__pata { grid-column: 1 / -1; } .g-vp-filtr select { padding: 0 var(--space-2); font-size: 15px; } }
.g-vize-reditel--pod-uvodem { margin-top: var(--space-10); row-gap: var(--space-3); align-content: center; }
.g-prohlizec__obr img { cursor: zoom-out; }

/* Vize a charakteristika: karty jednotně jako dlaždice v rozcestnících (bílá karta, horní pruh modrá/žlutá střídavě) */
.g-blok--svetla { background: var(--modra-svetla); }
.g-charakteristika li, .g-vize-smer, .g-vize-pilire li { background: #fff; color: var(--text-ink); border: 0; border-top: 6px solid var(--modra); border-radius: 0; box-shadow: 0 1px 0 var(--seda-tmava), 0 6px 18px rgba(20, 44, 102, .06); }
.g-charakteristika li:nth-child(even), .g-vize-smer:nth-child(even), .g-vize-pilire li:nth-child(even) { border-top-color: var(--zluta); }
.g-vize-smer--zluta, .g-vize-smer--modra, .g-vize-smer--bila { background: #fff; color: var(--text-ink); }
.g-vize-smer--modra h3 { color: var(--text-ink); }
.g-vize-smer { padding: 0; gap: 0; overflow: hidden; }
.g-vize-smer img { border-radius: 0; }
.g-vize-smer > div { padding: var(--space-4) var(--space-5) var(--space-5); }
.g-charakteristika h3, .g-vize-smer h3, .g-vize-pilire h3 { font-size: 21px; font-weight: 700; color: var(--text-ink); }
.g-charakteristika p, .g-vize-smer p, .g-vize-pilire p { color: var(--text-tlumeny); font-size: 16px; }

/* Dlouhé seznamy krátkých položek ve sloupcích (seznam autorů k maturitě) */
.g-obsah ul.g-seznam-sloupce { columns: 3 14em; column-gap: var(--space-6, 32px); }
.g-obsah ul.g-seznam-sloupce li { break-inside: avoid; }

/* Odkaz na soubor ve zvýrazněném rámečku: popisek typu souboru (PDF) tmavě kvůli kontrastu */
.g-zvyrazneni .g-soubor__info { color: var(--text-ink); }

/* DOD: náhled virtuální prohlídky jako odkaz */
.g-prohlidka { position: relative; display: block; margin: var(--space-5) 0 var(--space-6); border-radius: 6px; overflow: hidden; color: #fff; text-decoration: none; box-shadow: 0 6px 18px rgba(20, 44, 102, .14); }
.g-prohlidka img { margin: 0 !important; border-radius: 0; display: block; width: 100%; height: auto; aspect-ratio: 5 / 2; object-fit: cover; transition: transform .3s ease; }
.g-prohlidka__popis { position: absolute; left: 0; right: 0; bottom: 0; display: block; padding: 48px var(--space-5) var(--space-4); background: linear-gradient(to top, rgba(10, 28, 72, .92), rgba(10, 28, 72, .7) 55%, transparent); font-size: 16px; line-height: 1.4; }
.g-prohlidka__popis b { display: flex; align-items: center; gap: 10px; font-size: 22px; margin-bottom: 2px; }
.g-prohlidka__popis b::before { content: "▶"; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--zluta); color: var(--modra); font-size: 16px; flex: none; }
.g-prohlidka:hover img, .g-prohlidka:focus-visible img { transform: scale(1.03); }
.g-prohlidka:focus-visible { outline: 3px solid var(--zluta); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .g-prohlidka img { transition: none; } }
@media (max-width: 560px) { .g-prohlidka img { aspect-ratio: 4 / 3; object-position: 40% 50%; } .g-prohlidka__popis b { font-size: 18px; } }

/* patička: IČO a datová schránka pod sebou, zarovnané s texty kontaktů za ikonami (ikona 22 px + mezera) */
.g-paticka__udaje { padding-left: calc(22px + var(--space-2)); }
.g-paticka__udaje .g-paticka__par { display: block; margin-right: 0; }

/* pruh zřizovatele: jen logo, název a odkaz na web kraje, kompaktně */
.g-zrizovatel-pas { padding-top: var(--space-8); padding-bottom: var(--space-8); }
.g-zrizovatel-pas__rad { gap: var(--space-5); }
.g-zrizovatel-pas__logo { max-width: 200px; padding: var(--space-2); }
@media (min-width: 900px) { .g-zrizovatel-pas__rad { grid-template-columns: 200px 1fr; gap: var(--space-8); } }
.g-zrizovatel-pas h2 { font-size: clamp(24px, 3vw, 32px); margin-bottom: var(--space-2); }

/* přehled návštěvnosti */
.g-stat-cisla { list-style: none; margin: var(--space-6) 0; padding: 0; display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.g-stat-cisla li { background: var(--bila); border-top: 4px solid var(--zluta); padding: var(--space-4); display: grid; gap: var(--space-1); }
.g-stat-cisla b { font-size: 36px; line-height: 1.1; color: var(--text-ink); }

/* video ze dne otevřených dveří: náhled s tlačítkem, YouTube (bez cookies) se načte až po kliknutí */
.g-vyzva .g-video { max-width: 640px; margin-top: var(--space-5); }
.g-video img { aspect-ratio: 16 / 9; }
@media (max-width: 560px) { .g-video img { aspect-ratio: 16 / 9; } }
.g-video__prehravac { position: relative; max-width: 640px; margin-top: var(--space-5); aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: #000; }
.g-video__prehravac iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* loga povinné publicity u projektů (EU, MŠMT) */
.g-text img.g-logo-projektu { width: 100%; max-width: 360px; height: auto; margin: var(--space-2) 0; border-radius: 0; box-shadow: none; }
.g-text img.g-logo-projektu--siroke { max-width: 560px; }

/* úvod: jen 3 nejnovější aktuality jako stejné karty */
@media (min-width: 720px) { .g-aktuality-uvod--karty { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); } }
@media (min-width: 1024px) { .g-aktuality-uvod--karty { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.g-aktuality-uvod--karty .g-aktualita--hlavni h3 { font-size: 22px; }

/* video ze dne otevřených dveří v pozvánce: bílý text na tmavém přechodu */
.g-vyzva a.g-video, .g-vyzva a.g-video:hover { color: #fff; text-decoration: none; }
.g-vyzva a.g-video .g-prohlidka__popis, .g-vyzva a.g-video .g-prohlidka__popis b { color: #fff; }

/* úvod 10. 11.: vzdušnější hero, větší mezera mezi řadami fotek, nadpis jazykové školy nahoře v jedné linii s nadpisem,
   pruh s ikonami blíž k zářezu knihy */
@media (min-width: 1024px) {
  .g-uvod-kampan--obdobi.g-uvod-pad { padding-top: var(--space-12) !important; padding-bottom: calc(var(--space-12) + var(--kn-v)) !important; }
  .g-uvod-kampan--obdobi .g-uvod-kampan__panel { margin-top: var(--space-8); }
  .g-uvod-kampan--obdobi .g-uvod-js-svisle { justify-content: flex-start; padding-top: var(--space-12); padding-bottom: calc(var(--space-6) + var(--kn-v)); }
  .g-uvod-kampan .g-uvod-js-svisle h2 { margin-bottom: var(--space-1); }
}
@media (min-width: 1280px) {
  .g-uvod-kolaz .g-ukazky ul { row-gap: var(--space-6); }
  .g-uvod-kolaz .g-ukazky > .g-kicker { margin-bottom: var(--space-3); }
}
.g-uvod-kampan--budova ~ .g-rychle, .g-uvod-kampan--budova + .g-rychle { padding-top: calc(var(--kn-v, 26px) + var(--space-1)) !important; }
@media (min-width: 720px) { .g-uvod-kampan--budova ~ .g-rychle, .g-uvod-kampan--budova + .g-rychle { padding-top: calc(41.45px + var(--space-1)) !important; } }
@media (min-width: 560px) { .g-rychle a { min-height: 92px; } }
a.g-video, a.g-video:hover, a.g-video .g-prohlidka__popis, a.g-video .g-prohlidka__popis b { color: #fff; text-decoration: none; }
.g-text .g-video { max-width: none; }

/* mobil: dlouhé adresy v textu se zalomí, logo v patičce se vejde i na 320 px */
.g-text a, .g-clanek a { overflow-wrap: break-word; }
.g-paticka__hlava { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .g-paticka__hlava { grid-template-columns: minmax(0, 1fr) auto; } }
.g-paticka .g-logo { max-width: 100%; }
.g-paticka .g-logo img { max-width: 100%; height: auto; }
@media (max-width: 400px) { .g-paticka .g-logo img { width: 100%; max-width: 300px; } .g-paticka__site { flex-direction: column; } .g-paticka__site a { width: 100%; } }
.g-seznam-souboru { grid-template-columns: minmax(0, 1fr); }
.g-soubor, .g-soubor__nazev { min-width: 0; }
.g-soubor__nazev { overflow-wrap: anywhere; }
.g-soubor__info { flex: none; white-space: nowrap; }
.g-hledani input { min-width: 0; }

/* mobil: partneři jako kompaktní dlaždice s logem a názvem (popis až od tabletu), poslední rychlý odkaz přes celou šířku */
@media (max-width: 559px) {
  .g-partneri-loga .g-partner__popis { display: none; }
  .g-partneri-loga a { min-height: 0; padding: var(--space-3); font-size: 15px; justify-content: flex-start; }
  .g-partneri-loga .g-partner__logo { height: 44px; display: flex; align-items: center; }
  .g-partneri-loga .g-partner__logo img { max-height: 44px; max-width: 100%; width: auto; height: auto; }
  .g-rychle li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* tabulka studijních oborů na mobilu jako karty: každý obor zvlášť, popisky sloupců u hodnot */
@media (max-width: 719px) {
  .g-tabulka--karty thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .g-tabulka--karty, .g-tabulka--karty tbody, .g-tabulka--karty tr, .g-tabulka--karty td { display: block; width: 100%; min-width: 0 !important; }
  .g-tabulka--karty tr { margin-bottom: var(--space-3); background: var(--bila); border-left: 4px solid var(--zluta); padding: var(--space-2) var(--space-4); }
  .g-tabulka--karty td { padding: var(--space-1) 0; border: 0; display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: var(--space-2); }
  .g-tabulka--karty td::before { content: attr(data-popis); font-weight: 600; color: var(--text-tlumeny); font-size: 14px; }
  .g-tabulka--karty td:first-child { grid-template-columns: minmax(0, 1fr); font-size: 18px; font-weight: 700; }
  .g-tabulka--karty td:first-child::before { display: none; }
  .g-tabulka-obal:has(.g-tabulka--karty) { overflow: visible; }
}

/* brožura pro uchazeče: obálka místo ikony PDF v Ke stažení, karta s obálkou na stránce DOD */
.g-soubory__obalka { width: 56px; height: auto; flex: none; border-radius: 2px; box-shadow: 0 3px 10px rgba(19, 41, 93, .22); }
.g-soubory--dlazdice li.g-soubory__brozura { align-items: center; }
.g-dod-brozura { margin: var(--space-6) 0 var(--space-8); }
.g-dod-brozura .g-v3-karta { grid-template-columns: minmax(0, 1fr) 140px; }
.g-dod-brozura .g-v3-karta h3 { margin-top: 0; }
.g-v3-karta--brozura a[aria-hidden] { display: block; line-height: 0; }
@media (max-width: 559px) { .g-dod-brozura .g-v3-karta { grid-template-columns: 1fr; } }
/* přehrávač videa v textu stránky (DOD) na celou šířku jako náhled a 3D prohlídka nad ním */
.g-text .g-video__prehravac { max-width: none; margin: var(--space-5) 0 var(--space-6); }
.g-text h3#virtualni-prohlidka, .g-text h3#video-dod { margin: var(--space-6) 0 var(--space-3); }
.g-text h3#virtualni-prohlidka + .g-prohlidka, .g-text h3#video-dod + .g-video { margin-top: 0; }

/* ---------- přihláška na přípravné kurzy (veřejná) ---------- */
.g-kurzy__info { background: var(--modra-svetla); border-left: 6px solid var(--modra); padding: var(--space-4) var(--space-5); margin-bottom: var(--space-6); }
.g-kurzy__info ul { margin: 0; padding-left: 0; list-style: none; display: grid; gap: var(--space-2); }
.g-kurzy__info li::before { display: none; }
.g-kurzy__formular { display: grid; gap: var(--space-5); max-width: 640px; }
.g-kurzy__formular .g-pole input { width: 100%; }
.g-kurzy__dvojice { display: grid; gap: var(--space-5); }
@media (min-width: 560px) { .g-kurzy__dvojice { grid-template-columns: 1fr 1fr; } }
.g-kurzy__volba { border: 0; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
@media (min-width: 560px) { .g-kurzy__volba { grid-template-columns: 1fr 1fr; } .g-kurzy__volba legend, .g-kurzy__volba .g-chyba { grid-column: 1 / -1; } }
.g-kurzy__volba legend { font-weight: 600; margin-bottom: var(--space-2); padding: 0; }
.g-kurzy__volba .g-chyba { color: var(--stav-chyba); font-weight: 600; }
.g-kurzy__moznost { display: flex; gap: var(--space-3); align-items: flex-start; padding: var(--space-4); border: 2px solid var(--okraj-pole, #8a94ad); border-radius: 6px; background: var(--bila); cursor: pointer; }
.g-kurzy__moznost:hover { border-color: var(--modra); }
.g-kurzy__moznost:has(input:checked) { border-color: var(--modra); background: var(--modra-svetla); box-shadow: inset 0 0 0 1px var(--modra); }
.g-kurzy__moznost input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--modra); flex: none; }
.g-kurzy__moznost span { display: grid; }
.g-kurzy__moznost b { font-size: 18px; }
.g-kurzy__moznost small { font-size: 15px; color: var(--text-tlumeny); }
.g-kurzy__chyby, .g-kurzy__hotovo { padding: var(--space-5); margin-bottom: var(--space-6); border-radius: 4px; }
.g-kurzy__chyby { border: 3px solid var(--stav-chyba); background: #fff5f5; }
.g-kurzy__chyby h2, .g-kurzy__hotovo h2 { margin-top: 0; font-size: 24px; }
.g-kurzy__hotovo { border: 3px solid #1f7a3d; background: #f1faf3; }
.g-kurzy__formular .g-tl { justify-self: start; }

/* ---------- neveřejná správa ---------- */
.g-sprava { background: #f4f6fb; }
.g-sprava__obsah { max-width: 1320px; margin: 0 auto; padding: 0 var(--space-5); }
.g-sprava__hlava { background: var(--modra-hluboka, #13295d); color: #fff; }
.g-sprava__hlava-rad { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 60px; }
.g-sprava__logo { display: flex; align-items: center; gap: var(--space-3); color: #fff; text-decoration: none; font-weight: 600; }
.g-sprava__logo span { padding-left: var(--space-3); border-left: 1px solid rgba(255, 255, 255, .4); }
.g-sprava__menu { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.g-sprava__menu a, .g-sprava__menu button { color: #fff; font: inherit; font-size: 16px; background: none; border: 0; padding: var(--space-2) 0; cursor: pointer; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .45); text-underline-offset: 4px; }
.g-sprava__menu a:hover, .g-sprava__menu button:hover { text-decoration-color: var(--zluta); }
.g-sprava__menu form { margin: 0; }
.g-sprava__main { padding-top: var(--space-6); padding-bottom: var(--space-12); }
.g-sprava h1 { font-size: clamp(26px, 3vw, 34px); margin: 0 0 var(--space-4); }
.g-sprava__nadpis { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.g-sprava__rok { display: flex; align-items: center; gap: var(--space-2); font-weight: 600; }
.g-sprava__rok select, .g-sprava__hledat select { font: inherit; min-height: 44px; padding: 0 var(--space-2); border: 2px solid var(--okraj-pole, #8a94ad); border-radius: 4px; background: #fff; }
.g-sprava__zprava { margin: 0 0 var(--space-5); padding: var(--space-3) var(--space-4); border-radius: 4px; background: #e7f6ec; border-left: 6px solid #1f7a3d; font-weight: 600; }
.g-sprava__zprava--chyba { background: #fff1f1; border-left-color: var(--stav-chyba); }
.g-sprava__chyba { color: var(--stav-chyba); font-weight: 600; }
.g-sprava__upozorneni { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin: 0 0 var(--space-5); padding: var(--space-3) var(--space-4); background: var(--zluta-svetla); border-left: 6px solid var(--zluta); }
.g-sprava__upozorneni p { margin: 0; }
.g-sprava__zalozky { display: flex; flex-wrap: wrap; gap: var(--space-1); border-bottom: 2px solid var(--seda-tmava); margin-bottom: var(--space-4); }
.g-sprava__zalozky a { padding: var(--space-3) var(--space-4); color: var(--text-ink); text-decoration: none; font-weight: 600; border-bottom: 4px solid transparent; margin-bottom: -2px; }
.g-sprava__zalozky a:hover { background: #fff; }
.g-sprava__zalozky a[aria-current] { border-bottom-color: var(--zluta); color: var(--modra); }
.g-sprava__pocet { display: inline-block; min-width: 26px; padding: 0 6px; margin-left: 4px; border-radius: 999px; background: var(--modra-svetla); font-size: 14px; text-align: center; }
.g-sprava__nastroje { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.g-sprava__hledat { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.g-sprava__hledat input[type="search"] { font: inherit; min-height: 44px; width: min(360px, 100%); padding: 0 var(--space-3); border: 2px solid var(--okraj-pole, #8a94ad); border-radius: 4px; }
.g-sprava__akce { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.g-sprava .g-tl { min-height: 44px; padding: 0 var(--space-4); font-size: 16px; }
.g-sprava__souhrn { margin: 0 0 var(--space-3); }
.g-sprava__tabulka-obal { overflow-x: auto; background: #fff; border: 1px solid var(--seda-tmava); border-radius: 4px; }
.g-sprava__tabulka { width: 100%; border-collapse: collapse; font-size: 16px; }
.g-sprava__tabulka th, .g-sprava__tabulka td { padding: var(--space-2) var(--space-3); text-align: left; border-bottom: 1px solid #e3e7f0; vertical-align: middle; }
.g-sprava__tabulka thead th { position: sticky; top: 0; background: #eef1f8; font-size: 14px; white-space: nowrap; }
.g-sprava__tabulka thead a { color: var(--text-ink); text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.g-sprava__tabulka thead a:hover { text-decoration: underline; }
.g-sprava__sipka { font-size: 11px; color: var(--text-tlumeny); }
.g-sprava__tabulka tbody tr:hover { background: #f8f9fd; }
.g-sprava__tabulka tbody tr:target { background: var(--zluta-svetla); }
.g-sprava__tabulka tbody tr[data-zaplaceno="1"] .g-sprava__jmeno { color: var(--text-ink); }
.g-sprava__c { width: 1%; color: var(--text-tlumeny); text-align: right !important; }
.g-sprava__nezal { white-space: nowrap; }
.g-sprava__jmeno { font-weight: 600; }
.g-sprava__poznamka { max-width: 260px; font-size: 14px; color: var(--text-tlumeny); }
.g-sprava__stitek { display: inline-block; padding: 0 6px; border-radius: 3px; background: #eef1f8; font-size: 12px; font-weight: 600; color: var(--text-tlumeny); }
.g-sprava__stitek--pozor { background: #fff1d6; color: #7a4b00; }
.g-sprava__studium { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 14px; font-weight: 600; }
.g-sprava__studium--4 { background: #e3ecff; color: #13295d; }
.g-sprava__studium--8 { background: #fff1c2; color: #5a3d00; }
.g-sprava__platba { margin: 0; }
.g-sprava__prepinac { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 2px 12px 2px 4px; border: 2px solid #c3cad9; border-radius: 999px; background: #fff; font: inherit; font-size: 14px; font-weight: 600; color: var(--text-tlumeny); cursor: pointer; white-space: nowrap; }
.g-sprava__prepinac .g-sprava__ikona { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 2px solid #c3cad9; color: #fff; font-size: 16px; line-height: 1; }
.g-sprava__prepinac:hover { border-color: #1f7a3d; }
.g-sprava__prepinac[aria-pressed="true"] { border-color: #1f7a3d; background: #e7f6ec; color: #145a2c; }
.g-sprava__prepinac[aria-pressed="true"] .g-sprava__ikona { background: #1f7a3d; border-color: #1f7a3d; }
.g-sprava__prepinac:focus-visible { outline: 3px solid var(--focus, #1d4ed8); outline-offset: 2px; }
.g-sprava__prazdne, .g-sprava__nic { padding: var(--space-6); background: #fff; border: 1px dashed var(--seda-tmava); text-align: center; }
.g-sprava__tip { margin-top: var(--space-4); }
.g-sprava__karta { background: #fff; border: 1px solid var(--seda-tmava); border-radius: 4px; padding: var(--space-6); margin: var(--space-5) 0; }
.g-sprava__karta--uzka { max-width: 460px; margin: var(--space-10) auto; }
.g-sprava__formular { display: grid; gap: var(--space-4); }
.g-sprava__formular .g-pole input, .g-sprava__formular .g-pole select, .g-sprava__formular .g-pole textarea { width: 100%; }
.g-sprava__formular--radek { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); align-items: end; }
.g-sprava__dvojice { display: grid; gap: var(--space-4); }
@media (min-width: 640px) { .g-sprava__dvojice { grid-template-columns: 1fr 1fr; } }
.g-sprava__volba { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--space-5); }
.g-sprava__volba legend { font-weight: 600; margin-bottom: var(--space-2); }
.g-sprava__volba label, .g-sprava__zatrzitko { display: inline-flex; align-items: center; gap: var(--space-2); font-size: 17px; }
.g-sprava__volba input, .g-sprava__zatrzitko input { width: 20px; height: 20px; accent-color: var(--modra); }
.g-sprava__tlacitka, .g-sprava__dalsi { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.g-sprava__dalsi form { margin: 0; }
.g-sprava__smazat, .g-sprava__odkaz { background: none; border: 0; font: inherit; color: var(--stav-chyba); text-decoration: underline; cursor: pointer; padding: var(--space-2); }
.g-sprava__odkaz { color: var(--modra); }
.g-sprava__meta { color: var(--text-tlumeny); }
.g-sprava__neaktivni td { color: var(--text-tlumeny); }
@media (max-width: 720px) {
  .g-sprava__hledat input[type="search"] { width: 100%; }
  .g-sprava__poznamka { display: none; }
}
@media print {
  .g-sprava__hlava, .g-sprava__nastroje, .g-sprava__zalozky, .g-sprava__tip, .g-sprava__upozorneni, .g-sprava__rok, .g-preskocit { display: none !important; }
  .g-sprava { background: #fff; }
  .g-sprava__tabulka-obal { border: 0; overflow: visible; }
  .g-sprava__prepinac { border: 0; padding: 0; }
  .g-sprava__tabulka th, .g-sprava__tabulka td { padding: 4px 6px; font-size: 12px; }
  .g-sprava__tabulka a { color: #000; text-decoration: none; }
  .g-sprava__poznamka { display: table-cell; }
}
.g-pole .g-napoveda { border: 0; margin: 0; max-width: none; }
.g-video__poznamka { margin: var(--space-2) 0 0; font-size: 15px; line-height: 1.45; color: var(--text-tlumeny); max-width: 640px; }
.g-vyzva .g-video__poznamka { color: var(--text-ink); }

/* kód oboru (79-41-K/81) se nikdy nezalomí, ani v úzkých sloupcích tabulek */
.g-kod-oboru { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
