/* web_066eebd919d04d11a0af816eb8ee69ae school-levels.css */
/* Pro uchazeče: tučný název bodu v kartě je tmavý a na vlastním řádku (text bodu je jeden editovatelný odstavec) */
.pu-bod strong { color: #1a1a1a; font-weight: 500; }
/* datum v textu bodu (v editoru kurzíva) = žlutá pilulka jako na lokále */
.pu-bod em { display: inline-block; font-style: normal; background: #fbc736; color: #1a1a1a !important; font-weight: 600;
  padding: 0 .45em; border-radius: 6px; white-space: nowrap; line-height: 1.6; margin: 1px 0; }
/* odkaz v textu bodu (registrace na Den prvňáčkem) = podtržený tmavý, při najetí žlutý, jako na lokále */
.pu-bod a { color: #1a1a1a; text-decoration: underline; text-underline-offset: 2px; transition: color .2s ease; }
.pu-bod a:hover { color: #fbc736; }
/* sekce, na které vedou tlačítka, se zastaví pod pevnou hlavičkou */
#prohlidka, #zapis, #skolne, #stipendia, #formular { scroll-margin-top: 110px; }
/* na webu jsou stupně v záložkách, popisek stupně nad kartami je jen pro editor; viditelný panel začíná hned pod hlavičkou */
.pu-js .pu-panel-nazev { display: none; }
.pu-js .pu-panel { margin-top: 0 !important; }
/* přepínač 3 dny / 5 dní v ceníku MŠ (vzniká skriptem z popisků) – stejný jako na webu:
   světlá vanička a tmavý blok, který přejíždí pod vybranou volbou */
.pu-ovladac { margin-top: 20px; min-height: 52px; padding-inline: 24px; margin-bottom: 37px; }
.pu-prepinac { position: relative; display: inline-flex; gap: 4px; padding: 4px; background: #f3f3f3; border-radius: 12px; }
.pu-blok { position: absolute; top: 0; left: 0; width: 0; height: 0; background: #1a1a1a; border-radius: 8px; pointer-events: none; opacity: 0;
  transition: transform .55s cubic-bezier(.16,.84,.3,1), width .55s cubic-bezier(.16,.84,.3,1), opacity .2s ease; }
.pu-prepinac.is-pripraveno .pu-blok { opacity: 1; }
.pu-prepinac button { position: relative; z-index: 1; flex: none; border: 0; padding: 14px 20px; background: none; cursor: pointer; white-space: nowrap;
  font-family: inherit; font-size: 13px; font-weight: 500; line-height: 16px; letter-spacing: 0; text-transform: none;
  color: rgba(26,26,26,.6); transition: color .35s ease; }
.pu-prepinac button:hover { color: #1a1a1a; }
.pu-prepinac button[aria-pressed="true"] { color: #ffffff; }
.pu-prepinac button:focus-visible { outline: 2px solid #fbc736; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .pu-blok { transition: opacity .2s ease; } }
/* seznam pod přepínačem začíná hned (odsazení drží .pu-ovladac) */
.pu-cenik-ms .pu-rozsah-seznam { margin-top: 0 !important; }
/* ostatní ceníky mají pod nadpisem stejně vysoké volné místo jako MŠ s přepínačem (na webu i na mobilu), aby řádky seděly */
#skolne .pu-cenik-ms ~ div > ul { margin-top: calc(20px + 52px + 37px) !important; }
/* ceník: sloupce s jemnou svislou linkou mezi sebou (jako na webu) – linka začíná nad nadpisem
   a končí pod posledním řádkem, jednotka „/měsíčně“ (21 px odsazení + 24 px řádek) zůstává mimo */
#skolne .pu-cenik > div { position: relative; padding-top: 8px; }
@media (min-width: 1024px) {
  #skolne .pu-cenik > div + div::before { content: ""; position: absolute; left: 0; top: 0; bottom: 45px;
    border-left: 1px solid rgba(26,26,26,.1); pointer-events: none; }
}
/* stipendia: vlna pod sekcí leží přes její spodek, obsah nad ní drží odstup 100 px (jako na webu) */
#stipendia { padding-bottom: calc(clamp(48px, 8.55vw, 123px) + 100px); }
/* kontakty vedle formuláře: žlutý čtvereček s ikonou a odkaz vedle (jako na webu) */
.pu-kontakt { display: flex; align-items: center; gap: 16px; font-size: 15px !important; line-height: 22.5px !important; font-weight: 500; }
.pu-kontakt::before { content: ""; flex: none; width: 44px; height: 44px; border-radius: 8px;
  background: #fbc736 center / 20px 20px no-repeat; }
.pu-kontakt--mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a'%3E%3Cpath d='M3 6.5A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v.35l-9 5.6-9-5.6z'/%3E%3Cpath d='M3 9.2v8.3A1.5 1.5 0 0 0 4.5 19h15a1.5 1.5 0 0 0 1.5-1.5V9.2l-8.47 5.27a1 1 0 0 1-1.06 0z'/%3E%3C/svg%3E"); }
.pu-kontakt--tel::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a12 12 0 0 0 5 5L15 13l5 2v4a1 1 0 0 1-1 1A16 16 0 0 1 4 5a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); }
.pu-kontakt a { color: #1a1a1a; text-decoration: none; border: 0; word-break: break-all; transition: color .2s ease; }
.pu-kontakt a:hover { color: #fbc736; }
/* formulář: stejná pole jako na webu – drobné popisky verzálkami, bílá pole s linkou, volby jako pole se zaškrtávátkem,
   odesílací tlačítko přes celou šířku */
.pu-formular { max-width: 498px; column-gap: 18px !important; row-gap: 17px !important; }
.pu-formular > div > label { display: block; margin-bottom: 7px; font-size: 12px !important; line-height: 16px !important; font-weight: 600 !important;
  letter-spacing: .1em; text-transform: uppercase; color: #6b6b6b !important; }
.pu-formular input:not([type=checkbox]):not([type=hidden]), .pu-formular textarea {
  height: 45px; padding: 0 15px; border: 1px solid rgba(26,26,26,.15); border-radius: 8px; font-size: 16px; line-height: 17.85px; box-shadow: none; }
.pu-formular textarea { height: 79px; padding: 13px 15px; resize: none; display: block; }
.pu-formular input::placeholder, .pu-formular textarea::placeholder { color: #9ca3af; }
.pu-formular input:focus, .pu-formular textarea:focus { outline: none; border-color: #fbc736; }
.pu-formular > p:first-of-type { margin: 0 0 -10px !important; font-size: 12px !important; line-height: 16px !important; letter-spacing: .1em;
  text-transform: uppercase; color: #6b6b6b !important; }
.pu-formular > p:first-of-type strong { font-weight: 600; color: inherit; }
.pu-formular > div.grid { gap: 10px !important; }
.pu-formular > div.grid > div { display: flex; align-items: center; height: 45px; padding: 0 15px; background: #ffffff;
  border: 1px solid rgba(26,26,26,.15); border-radius: 8px; transition: border-color .2s ease; }
.pu-formular > div.grid > div > div { gap: 10px; align-items: center; }
.pu-formular > div.grid > div:has(input:checked) { border-color: #fbc736; box-shadow: inset 0 0 0 1px #fbc736; }
.pu-formular > div.grid > div:focus-within { border-color: #fbc736; }
.pu-formular > div.grid input[type=checkbox]:checked { background-color: #fbc736; border-color: #fbc736; }
.pu-formular > div.grid label { font-size: 16px !important; line-height: 17.85px !important; font-weight: 400 !important; color: #1a1a1a; }
.pu-formular button[type=submit] { width: 100%; height: 50px; padding: 0 20px; justify-self: stretch; display: inline-flex; align-items: center; justify-content: center; gap: 12px; }
.pu-formular button[type=submit]::after { content: "→"; font-size: 14px; }
.pu-formular button[type=submit] + p { margin-top: -3px; text-align: center; font-size: 12px !important; line-height: 18.85px !important;
  color: rgba(26,26,26,.55) !important; }
/* Tlačítko „Stáhnout PDF" pod knihou ŠVP má na lokále za textem šipku dolů */
.kn-pocet + a::after { content: "↓"; margin-left: 12px; font-size: 16px; line-height: 24px; }
/* Pás karet (Projekty 1. stupně): začíná na hraně obsahu, vpravo teče do kraje stránky, karty se zarovnávají */
.zs-pas { margin-top: 16px; padding: 24px max(24px, calc((100% - 1520px) / 2)); scroll-padding-left: max(24px, calc((100% - 1520px) / 2)); scroll-snap-type: x proximity !important; scroll-behavior: smooth; }
@media (min-width: 768px) { .zs-pas { margin-top: 32px; padding-left: max(40px, calc((100% - 1520px) / 2)); padding-right: max(40px, calc((100% - 1520px) / 2)); scroll-padding-left: max(40px, calc((100% - 1520px) / 2)); } }

/* Karta projektu (symbol Karta projektu): druhá fotka se po chvíli prolne (třídu je-druha střídá skript), při najetí hned */
.pr-karta .pr-foto-2 { opacity: 0; transition: opacity 1.2s ease; }
.pr-karta.je-druha .pr-foto-2, .pr-karta:hover .pr-foto-2 { opacity: 1; }

/* Filosofie 1. stupně: otočné karty vysoké 300 px jako na lokále */
#filozofie .sc-flip { height: 300px; }

/* Zápis ZŠ: tlačítko se šipkou za textem jako na lokále (jen ZŠ – na Pro uchazeče jsou tlačítka v kartách bez šipky) */
#zapis:not(:has(.pu-zalozky)) a[class*="inline-flex"]::after { content: "→"; margin-left: 12px; font-size: 16px; line-height: 24px; }

/* (Doodle za nadpisem úvodu umisťuje skript „Úvod podstránky – … doodle hned za posledním slovem“, míry jsou v atributech kresby.) */

/* Jak se učíme: vlnka kolem slova „smysl." pod písmem (jako doodle-kresba na lokále) – kresba stojí za koncem
   nadpisu a záporným okrajem se posune zpět přes poslední slovo; míry v em podle velikosti nadpisu (30 / 48 px) */
#jak-se-ucime .nadpis-s-doodlem { position: relative; isolation: isolate; }
#jak-se-ucime .nadpis-s-doodlem > h2 { display: inline !important; padding-right: 0 !important; }
#jak-se-ucime .nadpis-s-doodlem > .doodle-nadpis { position: absolute; z-index: -1; font-size: 30px; width: 3.17em !important; height: auto !important; max-width: none !important;
  margin-left: -2.471em !important; margin-top: -0.0625em; transform: none !important; }
@media (min-width: 768px) { #jak-se-ucime .nadpis-s-doodlem > .doodle-nadpis { font-size: 48px; } }

@media (prefers-reduced-motion: reduce) { .pr-karta .pr-foto-2 { transition: none; } .zs-pas { scroll-behavior: auto; } }
/* Junior High: čtyři otočné karty – výška podle obsahu přední strany (2 řádky názvu = 230 px jako na Proč k nám),
   karty v jedné řadě se srovnají na nejvyšší (na mobilu má karta s jednořádkovým názvem nižší výšku, jako na lokále) */
#filozofie.jh-ctyri .sc-flip { height: auto !important; }
#filozofie.jh-ctyri .sc-flip-face:not(.sc-flip-back) { position: relative !important; inset: auto; height: 100%; }

/* Pás karet s videi / fotkami 9:16 (symbol Karta v pásu): menší odstup od nadpisu než pás projektů, karty zarovnané nahoru */
.zs-pas.vy-pas { margin-top: 28px; align-items: flex-start; }
@media (min-width: 768px) { .zs-pas.vy-pas { margin-top: 40px; } }

/* Sekce pod vlnou (např. Mezinárodní perspektiva): fotka jde až k oblouku – vlna se nemaluje, sekce se posune
   o výšku vlny nahoru a horní hrana se ořízne do tvaru vlny; vlna pod sekcí leží přes její spodek (jako na lokále) */
.predel-pas:has(+ .pod-oblouk) { visibility: hidden; }
.predel-pas + section.pod-oblouk {
  --vlna-v: clamp(48px, 8.55vw, 123px);
  margin-top: calc(-1 * var(--vlna-v));
  -webkit-mask-image: url("https://cdn-files.app.solidpixels.com/s/fat_af242303d996468d86ce21f6a33d19b6/vlna.svg"), linear-gradient(#000, #000);
          mask-image: url("https://cdn-files.app.solidpixels.com/s/fat_af242303d996468d86ce21f6a33d19b6/vlna.svg"), linear-gradient(#000, #000);
  -webkit-mask-size: 100% var(--vlna-v), 100% calc(100% - var(--vlna-v) + 1px);
          mask-size: 100% var(--vlna-v), 100% calc(100% - var(--vlna-v) + 1px);
  -webkit-mask-position: 0 0, 0 calc(var(--vlna-v) - 1px);
          mask-position: 0 0, 0 calc(var(--vlna-v) - 1px);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
section.pod-oblouk + .predel-pas { margin-top: calc(-1 * clamp(48px, 8.55vw, 123px)) !important; position: relative; z-index: 30; background: transparent !important; }
/* text na střed viditelné plochy mezi vlnami (nahoře stejný odstup jako dole: vlna + 100 px) */
@media (min-width: 1024px) { .pod-oblouk .mz-text { padding-top: calc(6rem + clamp(48px, 8.55vw, 123px) + 100px) !important; } }

/* Karta specializace: rozbalovací předměty (nativní details), šipka se při otevření otočí */
.sp-detail > summary { list-style: none; }
.sp-detail > summary::-webkit-details-marker { display: none; }
.sp-detail .sp-sipka { transition: transform .25s ease; }
.sp-detail[open] .sp-sipka { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .sp-detail .sp-sipka { transition: none; } }

/* Gymnázium – 6 důvodů: karty v řadě stejně vysoké, nadpis s textem u spodní hrany, pod ikonou min. 40 px (jako na lokále) */
#proc-gymnazium .grid > article > h3 { margin-top: auto !important; padding-top: 40px; }
/* Školní den – cestička s hodinami a otočné karty (symbol Zastávka dne). Texty, barvy a velikosti jsou
   v editoru; tady rozložení cestičky (střídání stran od 1024 px), otáčení karty a vzhled stavů tlačítek.
   Hodiny, cestičku a spodní lištu zadní strany (malé stupně + Zpět) dokreslí skript „Školní den – … (chování)“. */
.sd-stezka { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.sd-stezka-cara { fill: none; stroke: #fbc736; stroke-width: 3.2; stroke-linecap: round; stroke-dasharray: .1 11; }
.sd-stezka-cara--zaklad { stroke: #d6d2c6; }
.sd-zastavka { padding-bottom: 72px; }
.sd-zastavka:last-child { padding-bottom: 0; }
.sd-hodiny { width: 64px; gap: 4px; padding-top: 10px; }
@media (min-width: 768px) and (max-width: 1023px) { .sd-hodiny { padding-top: 17px; } }
.sd-hodiny svg { display: block; width: 56px; height: 56px; }
.sd-zastavka.is-aktivni .sd-hodiny svg { animation: sd-tik .6s cubic-bezier(.2,.8,.2,1); }
@keyframes sd-tik { 0% { transform: rotate(0); } 30% { transform: rotate(-12deg) scale(1.08); } 60% { transform: rotate(8deg); } 100% { transform: none; } }
@media (min-width: 1024px) {
  .sd-zastavka { grid-template-columns: 1fr 180px 1fr; column-gap: 0; padding-bottom: 140px; }
  .sd-hodiny { grid-column: 2; grid-row: 1; justify-self: center; width: auto; padding-top: 0; margin-top: 16px; }
  .sd-hodiny svg { width: 72px; height: 72px; }
  .sd-zastavka:nth-child(odd) .sd-hodiny { transform: translateX(-26px); }
  .sd-zastavka:nth-child(even) .sd-hodiny { transform: translateX(26px); }
  .sd-zastavka:nth-child(odd) .sd-karta { grid-column: 1; grid-row: 1; justify-self: end; }
  .sd-zastavka:nth-child(even) .sd-karta { grid-column: 3; grid-row: 1; justify-self: start; }
}
/* otočná karta */
.sd-karta { perspective: 1600px; }
.sd-karta-stack { transform-style: preserve-3d; transition: transform .8s cubic-bezier(.16,.84,.3,1); }
.sd-karta.is-otocena .sd-karta-stack { transform: rotateY(180deg); }
.sd-strana { grid-area: 1 / 1; -webkit-backface-visibility: hidden; backface-visibility: hidden;
  box-shadow: 0 1px 0 rgba(26,26,26,.04), 0 18px 40px -24px rgba(26,26,26,.28); }
.sd-zadni { transform: rotateY(180deg); pointer-events: none; }
.sd-zadni.is-vybrany { display: grid !important; }
@media (min-width: 640px) { .sd-zadni { min-height: 380px; } }
.sd-karta.is-otocena .sd-zadni { pointer-events: auto; }
.sd-karta.is-otocena .sd-predni { pointer-events: none; }
.sd-zadni .sd-foto img { border-radius: 0 !important; }
.sd-zadni .sd-text, .sd-zadni .sd-nadpis, .sd-zadni .sd-foto img { transition: opacity .25s ease; }
.sd-karta.is-meni .sd-zadni .sd-text, .sd-karta.is-meni .sd-zadni .sd-nadpis, .sd-karta.is-meni .sd-zadni .sd-foto img { opacity: 0; }
/* tlačítka stupňů */
.sd-stupen { transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.sd-stupen:hover { background: #e3e3e3 !important; border-color: rgba(26,26,26,.2) !important; transform: translateY(-2px); }
.sd-stupen.is-on, .sd-stupen.is-on:hover { background: #fbc736 !important; border-color: #fbc736 !important; }
.sd-stupen:focus-visible { outline: 2px solid #fbc736; outline-offset: 2px; }
.sd-stupen img { transition: filter .2s; }
.sd-stupen.is-on img { filter: brightness(0) opacity(.88); }
/* spodní lišta zadní strany (vytváří ji skript) */
.sd-zadni-dole { margin-top: auto; padding-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sd-stupne--male { display: flex; gap: 6px; }
.sd-stupne--male .sd-stupen { display: inline-flex; align-items: center; height: 36px; padding: 0 8px; border: 1px solid rgba(26,26,26,.12);
  background: #f3f3f3; border-radius: 8px; cursor: pointer; }
.sd-stupne--male .sd-stupen img { display: block; width: 22px; height: 22px; }
.sd-stupne--male .sd-stupen span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sd-zpet { border: 0; background: none; padding: 6px 0; font: inherit; font-size: 13px; line-height: 19.5px; font-weight: 600; color: #1a1a1a; cursor: pointer; }
.sd-zpet:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .sd-karta-stack, .sd-stupen { transition: none; } .sd-zastavka.is-aktivni .sd-hodiny svg { animation: none; } }
/* ── Úvod: studenti na žlutém kruhu s kreslenými doodly (Figma 633:92), jako na webu ──
   Scéna má rozměry návrhu (pravá polovina 720 × 597), jednotka --u ji zmenšuje.
   Vlna pod úvodem leží přes jeho spodek, úvod je proto o výšku vlny vyšší. */
.hero-ps { padding-bottom: clamp(48px, 8.55vw, 123px); }
.hero-ps .hero-blok { --u: min(1px, calc(100vw / 760)); gap: 40px; padding-top: 195px; padding-bottom: calc(500 * var(--u) + 24px); }
.hero-ps .ps-scena { --u: min(1px, calc(100vw / 760)); z-index: 0; bottom: 0; left: calc(50% - 327 * var(--u));
  width: calc(720 * var(--u)); height: calc(597 * var(--u)); }
.hero-ps .ps-scena > * { position: absolute; display: block; }
.hero-ps .ps-kruh { left: calc(83.8 * var(--u)); top: calc(236 * var(--u)); width: calc(486 * var(--u)); height: calc(454 * var(--u)); border-radius: 50%; background: #fbc736; }
.hero-ps .ps-skupina { left: 0; top: calc(42 * var(--u)); width: calc(554 * var(--u)); height: calc(518 * var(--u)); }
.hero-ps .ps-skupina img { max-width: none; border-radius: 0 !important; }
.hero-ps .ps-tecka { border-radius: 50%; }
.hero-ps .ps-tecka--svetla { left: calc(20 * var(--u)); top: calc(245 * var(--u)); width: calc(55 * var(--u)); height: calc(55 * var(--u)); background: #fff; }
.hero-ps .ps-tecka--zluta { left: calc(123 * var(--u)); top: calc(251 * var(--u)); width: calc(19 * var(--u)); height: calc(19 * var(--u)); background: #fbcb43; }
.hero-ps .ps-sipka { left: calc(86.7 * var(--u)); top: calc(104.2 * var(--u)); width: calc(157.7 * var(--u)); height: auto; }
.hero-ps .ps-kvet { left: calc(445 * var(--u)); top: calc(121 * var(--u)); width: calc(61 * var(--u)); height: auto; }
.hero-ps .ps-srdce { left: calc(516 * var(--u)); top: calc(234 * var(--u)); width: calc(99.6 * var(--u)); height: auto; }
@media (min-width: 900px) {
  .hero-ps .ps-scena { --u: min(1px, calc(100vw / 1440)); left: 50%; }
  /* úvod 670 px včetně vlny, nadpis svisle na střed skupiny studentů */
  .hero-ps .hero-blok { --u: min(1px, calc(100vw / 1440)); flex-direction: row; align-items: center; justify-content: space-between;
    gap: 48px; min-height: calc(547 * var(--u)); padding-top: calc(201 * var(--u)); padding-bottom: 0; }
}
.hero-ps h1 { line-height: 1 !important; }

/* ── záblesk za nadpisy sekcí (rozměry a místo za posledním slovem dopočítá skript úvodu) ── */
.nadpis-s-doodlem--za-slovem > .doodle-zablesk { height: .72em; width: auto; margin-left: calc(.4em - 8px); transform: none; }

/* ── Praktické informace: karty na vlasových linkách, karta s detailem otevře okno ──
   Linky kreslí karty samy (pravá a spodní, horní jen první řada, levá jen levý sloupec),
   aby volné místo za poslední kartou zůstalo bez linek. */
.pi-mriz { grid-template-columns: minmax(0, 1fr); }
.pi-mriz > .pi-karta { border: 1px solid rgba(26,26,26,.12); border-top: 0; }
.pi-mriz > .pi-karta:first-child { border-top: 1px solid rgba(26,26,26,.12); }
.pi-karta::before { content: ""; position: absolute; inset: 0; background: #fbc736; opacity: 0; pointer-events: none;
  transition: opacity .2s cubic-bezier(0,0,.35,1); }
.pi-karta > * { position: relative; }
.pi-karta > .pi-otevri { position: absolute; inset: 0; z-index: 1; width: 100%; padding: 0; background: none; border: 0; cursor: pointer; }
.pi-karta > .pi-otevri:focus-visible { outline: 2px solid #fbc736; outline-offset: -4px; }
.pi-karta:has(.pi-otevri:hover)::before, .pi-karta:has(.pi-otevri:focus-visible)::before { opacity: .1; }
.pi-karta .pi-akce { z-index: 2; opacity: 0; pointer-events: none; transition: opacity .2s cubic-bezier(0,0,.35,1); }
.pi-karta:has(.pi-otevri:hover) .pi-akce, .pi-karta:has(.pi-otevri:focus-visible) .pi-akce { opacity: 1; }
.pi-karta--bez-detailu .pi-akce { display: none !important; }
.pi-sipka { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px;
  background: #fbc736; color: #1a1a1a; font-size: 16px; font-weight: 600; line-height: 1; }
.pi-stitek { position: relative; display: inline-flex; align-items: center; flex: none; height: 40px; padding: 0 16px;
  font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(26,26,26,.55); transition: color .3s ease .18s; }
.pi-stitek::before { content: ""; position: absolute; inset: 0; background: #fbc736; transform: scaleX(0); transform-origin: left center;
  transition: transform .45s cubic-bezier(.22,.7,.2,1) .1s; }
.pi-stitek-text { position: relative; }
.pi-karta:has(.pi-otevri:hover) .pi-stitek::before, .pi-karta:has(.pi-otevri:focus-visible) .pi-stitek::before { transform: scaleX(1); }
.pi-karta:has(.pi-otevri:hover) .pi-stitek, .pi-karta:has(.pi-otevri:focus-visible) .pi-stitek { color: #1a1a1a; }
@media (max-width: 899px) { .pi-stitek { display: none; } }
.pi-cas:empty, .pi-odkazy:empty { display: none; }
.pi-karta > .pi-odkazy { z-index: 2; }
.pi-odkazy a, .pi-odkazy-detail a { white-space: normal; max-width: 100%; text-align: left; }
/* ikony karet stejně velké a zarovnané: kresba bez paprsků 32 px (od 768 px 40 px), levý horní roh lícuje s textem */
.pi-karta img.pi-ikona { transform: none; max-width: none; }
.pi-karta img.pi-ikona[src$="/stravovani.svg"] { width: 57.5px !important; height: 57.5px !important; margin: -20.0px 0 0 -18.3px; }
.pi-karta img.pi-ikona[src$="/obleceni.svg"] { width: 56.9px !important; height: 56.9px !important; margin: -20.1px 0 0 -9.4px; }
.pi-karta img.pi-ikona[src$="/konzultace.svg"] { width: 58.5px !important; height: 58.5px !important; margin: -22.1px 0 0 -2.3px; }
.pi-karta img.pi-ikona[src$="/autobus.svg"] { width: 56.5px !important; height: 56.5px !important; margin: -19.6px 0 0 -12.7px; }
.pi-karta img.pi-ikona[src$="/mic.svg"] { width: 57.1px !important; height: 57.1px !important; margin: -19.5px 0 0 -17.4px; }
.pi-karta img.pi-ikona[src$="/favorite.svg"] { width: 64.0px !important; height: 64.0px !important; margin: -22.7px 0 0 -7.6px; }
.pi-karta img.pi-ikona[src$="/palette.svg"] { width: 54.5px !important; height: 54.5px !important; margin: -16.8px 0 0 -5.8px; }
.pi-karta img.pi-ikona[src$="/knihovna.svg"] { width: 53.1px !important; height: 53.1px !important; margin: -16.2px 0 0 -5.1px; }
.pi-karta img.pi-ikona[src$="lide.svg"] { width: 63.0px !important; height: 63.0px !important; margin: -24.0px 0 0 -6.8px; }
@media (min-width: 768px) {
  .pi-karta img.pi-ikona[src$="/stravovani.svg"] { width: 71.9px !important; height: 71.9px !important; margin: -25.0px 0 0 -22.9px; }
  .pi-karta img.pi-ikona[src$="/obleceni.svg"] { width: 71.1px !important; height: 71.1px !important; margin: -25.2px 0 0 -11.7px; }
  .pi-karta img.pi-ikona[src$="/konzultace.svg"] { width: 73.2px !important; height: 73.2px !important; margin: -27.6px 0 0 -2.9px; }
  .pi-karta img.pi-ikona[src$="/autobus.svg"] { width: 70.6px !important; height: 70.6px !important; margin: -24.6px 0 0 -15.9px; }
  .pi-karta img.pi-ikona[src$="/mic.svg"] { width: 71.4px !important; height: 71.4px !important; margin: -24.4px 0 0 -21.7px; }
  .pi-karta img.pi-ikona[src$="/favorite.svg"] { width: 80.0px !important; height: 80.0px !important; margin: -28.3px 0 0 -9.5px; }
  .pi-karta img.pi-ikona[src$="/palette.svg"] { width: 68.1px !important; height: 68.1px !important; margin: -21.0px 0 0 -7.2px; }
  .pi-karta img.pi-ikona[src$="/knihovna.svg"] { width: 66.4px !important; height: 66.4px !important; margin: -20.2px 0 0 -6.4px; }
  .pi-karta img.pi-ikona[src$="lide.svg"] { width: 78.7px !important; height: 78.7px !important; margin: -30.0px 0 0 -8.5px; }
}
@media (min-width: 900px) {
  .pi-mriz { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pi-mriz > .pi-karta { gap: 32px; padding: 40px; border: 0; border-right: 1px solid rgba(26,26,26,.12); border-bottom: 1px solid rgba(26,26,26,.12); }
  .pi-mriz > .pi-karta:nth-child(-n+2) { border-top: 1px solid rgba(26,26,26,.12); }
  .pi-mriz > .pi-karta:nth-child(2n+1) { border-left: 1px solid rgba(26,26,26,.12); }
}
@media (prefers-reduced-motion: reduce) {
  .pi-karta::before, .pi-akce, .pi-stitek, .pi-stitek::before, .pi-plachta, .pi-panel { transition: none; }
}

/* ── okno s detailem karty ── */
.pi-modal[hidden] { display: none; }
.pi-modal { position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: 20px; }
.pi-plachta { position: absolute; inset: 0; background: rgba(29,31,34,.6); opacity: 0; transition: opacity .25s ease; }
.pi-panel { position: relative; width: min(680px, 100%); max-height: min(86vh, 920px); overflow-y: auto; background: #fff; padding: 32px 24px 36px;
  opacity: 0; transform: translateY(24px); transition: opacity .3s ease, transform .45s cubic-bezier(.16,.84,.3,1); }
.pi-modal.je-otevreno .pi-plachta, .pi-modal.je-otevreno .pi-panel { opacity: 1; }
.pi-modal.je-otevreno .pi-panel { transform: none; }
.pi-zavrit { position: absolute; top: 12px; right: 12px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border: 0; cursor: pointer; background: rgba(26,26,26,.06); color: #1a1a1a; font-size: 18px; line-height: 1; transition: background-color .2s ease; }
.pi-zavrit:hover { background: rgba(26,26,26,.12); }
.pi-zavrit:focus-visible { outline: 2px solid #fbc736; outline-offset: 2px; }
.pi-modal h3 { font-weight: 600; letter-spacing: -0.52px; font-size: 1.5rem; line-height: 1.25; padding-right: 48px; color: #1a1a1a; }
.pi-modal .pi-text { margin-top: 14px; }
.pi-modal .pi-cesta { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(26,26,26,.12); }
.pi-modal .pi-cesta .pi-text { margin-top: 8px; }
.pi-modal .pi-cesta .pi-body { margin-top: 10px; }
.pi-modal .pi-body { margin-top: 20px; }
.pi-bod::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 999px; background: #fbc736; }
.pi-bod strong { font-weight: 600; color: #1a1a1a; }
.pi-modal .pi-odkazy-detail { margin-top: 14px; }
.pi-modal [data-pi-obsah] > .pi-odkazy-detail:last-child { margin-top: 28px; }
.pi-modal .pi-fakta { margin-top: 24px; }
.pi-fakta > div { padding: 16px 18px 18px; background: #f3f3f3; }
.pi-fakta .pi-dd { margin-top: auto; padding-top: 16px; }
.pi-fakta .pi-odkazy-detail { margin-top: 10px; }
.pi-modal .pi-paticka { margin-top: 28px; }
.pi-text a, .pi-bod a, .pi-mail a { text-decoration: none; border-bottom: 1px solid rgba(26,26,26,.25); transition: color .3s ease, border-color .3s ease; }
.pi-text a:hover, .pi-bod a:hover, .pi-mail a:hover { color: #fbc736; border-color: #fbc736; }
@media (min-width: 900px) {
  .pi-panel { padding: 48px 40px 52px; }
  .pi-zavrit { top: 16px; right: 16px; }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* doladění karet: nadpis okna a otevírací doba knihovny jako na webu */
.pi-modal h3 { font-weight: 400 !important; }
.pi-cas { line-height: 24px !important; }

/* ── Dokumenty (maturita, povinné informace, dokumenty ke stažení): řádky na vlasových linkách ── */
.mat-dokumenty { border-top: 1px solid rgba(26,26,26,.12); }
.ud-tabulka { padding-top: 2px; }
.ud-radek { grid-template-columns: 1fr; gap: 10px; padding: 20px 0 21px; border-bottom: 1px solid rgba(26,26,26,.12); }
.ud-radek:last-child { border-bottom: 0; padding-top: 24px; }
@media (min-width: 900px) { .ud-radek { grid-template-columns: 280px minmax(0, 1fr); gap: 40px; } }
.ud-oblast { margin: 0; }
.ud-dalsi { margin-top: 2px; padding: 20px 0 21px; }
.ud-odkaz { text-decoration: none; transition: color .2s ease; }
.ud-ikona { color: rgba(26,26,26,.45); background: currentColor; transition: color .2s ease, transform .25s cubic-bezier(.2,.8,.2,1);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 2.5v8m0 0L4.75 7.25M8 10.5l3.25-3.25M3 13.5h10' stroke='%23000' stroke-width='1.25'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 2.5v8m0 0L4.75 7.25M8 10.5l3.25-3.25M3 13.5h10' stroke='%23000' stroke-width='1.25'/%3E%3C/svg%3E") center / 16px 16px no-repeat; }
.ud-nazev { text-decoration-color: rgba(26,26,26,.25); text-decoration-thickness: 1px; text-underline-offset: 4px; transition: text-decoration-color .2s ease; }
.ud-odkaz--ceka { cursor: default; }
.ud-odkaz--ceka .ud-nazev { text-decoration-style: dashed; text-decoration-color: rgba(26,26,26,.2); }
a.ud-odkaz:hover .ud-nazev, a.ud-odkaz:focus-visible .ud-nazev { text-decoration-color: #fbc736; }
a.ud-odkaz:hover .ud-ikona, a.ud-odkaz:focus-visible .ud-ikona { color: #1a1a1a; transform: translateY(2px); }
a.ud-odkaz:focus-visible { outline: 2px solid #fbc736; outline-offset: 2px; }
/* hlavička s hledáním: text vlevo, hledání vpravo (na mobilu pod textem) */
.ud-hlava { display: flex; flex-direction: column; gap: 24px; }
.ud-hledani { position: relative; width: 100%; }
.ud-hledani:empty { display: none; }
.ud-hledani svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: #1a1a1a; pointer-events: none; }
.ud-hledat { width: 100%; background: #fff; border: 1px solid rgba(26,26,26,.25); border-radius: 8px; padding: 12px 16px 12px 40px;
  font: inherit; font-size: 16px; line-height: 20px; color: #1a1a1a; transition: border-color .2s ease; }
.ud-hledat::placeholder { color: rgba(26,26,26,.45); }
.ud-hledat:focus { outline: none; border-color: #fbc736; }
@media (min-width: 1024px) {
  .ud-hlava { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 40px; }
  .ud-hledani { width: 320px; flex: none; }
}
.ud-prazdno { margin-top: 24px; font-size: 16px; line-height: 1.6; color: rgba(26,26,26,.6); }
.ud-js [hidden] { display: none !important; }
.ud-js .ud-prazdno:not([hidden]) { display: block; }
/* rozbalovací kategorie (tlačítko, počet a znaménko vzniknou skriptem) */
.ud-kategorie { border-top: 1px solid rgba(26,26,26,.12); }
.ud-kategorie:last-child { border-bottom: 1px solid rgba(26,26,26,.12); }
.ud-skupina { margin: 0; }
.ud-prepinac { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 24px 0; border: 0;
  background: none; cursor: pointer; font: inherit; letter-spacing: inherit; color: inherit; text-align: left; }
.ud-prepinac:focus-visible { outline: 2px solid #fbc736; outline-offset: 4px; }
.ud-pocet { font-size: 16px; line-height: 20px; font-weight: 400; letter-spacing: 0; color: rgba(26,26,26,.5); }
.ud-znamenko { position: relative; flex: none; width: 40px; height: 40px; border-radius: 999px; background: rgba(26,26,26,.06); transition: background-color .2s ease; }
.ud-znamenko::before, .ud-znamenko::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.5px; margin: -.75px 0 0 -7px;
  background: #1a1a1a; transition: transform .35s cubic-bezier(.16,.84,.3,1); }
.ud-znamenko::after { transform: rotate(90deg); }
.ud-prepinac:hover .ud-znamenko { background: rgba(26,26,26,.12); }
.ud-kategorie.je-otevrena .ud-znamenko { background: #fbc736; }
.ud-kategorie.je-otevrena .ud-znamenko::after { transform: rotate(0deg); }
.ud-js .ud-panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s cubic-bezier(.16,.84,.3,1); }
.ud-js .ud-kategorie.je-otevrena .ud-panel { grid-template-rows: 1fr; }
.ud-js .ud-panel-vnitrek { min-height: 0; overflow: hidden; }
.ud-js .ud-kategorie.je-otevrena .ud-panel-vnitrek { padding-bottom: 35px; }
@media (prefers-reduced-motion: reduce) { .ud-panel, .ud-znamenko::before, .ud-znamenko::after { transition: none; } }

/* ── Úřední deska ── */
.ud-deska { border-top: 1px solid rgba(26,26,26,.12); }
.ud-ozn--hlava { display: none; }
.ud-ozn--hlava > p { margin: 0; }
.ud-ozn-nazev { text-decoration-color: rgba(26,26,26,.25); }
.ud-ozn-nazev:hover { text-decoration-color: #fbc736; }
.ud-ozn-datum::before { content: attr(data-popis); margin-right: 8px; font-size: 10px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: rgba(26,26,26,.45); }
.ud-deska-prazdna { margin: 0; padding: 28px 0; border-bottom: 1px solid rgba(26,26,26,.12); }
.ud-oznameni:has(.ud-ozn) + .ud-deska-prazdna { display: none; }
@media (min-width: 768px) {
  .ud-ozn--hlava { display: grid; grid-template-columns: minmax(0, 1fr) 160px 160px; gap: 40px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid rgba(26,26,26,.12); }
  .ud-ozn-datum::before { display: none; }
}

/* ── Kalendář školního roku: agenda celého roku, měsíc jako přišpendlený popisek ──
   Termíny se v editoru zadávají jako řádky (symbol Kalendář – termín), výpis z nich skládá skript. */
.kal-hlava-sekce { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.kal-filtry { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 21px; }
.kal-filtry:empty { display: none; }
.kal-filtry button { height: 52px; padding: 18px 28px; border: 1px solid rgba(26,26,26,.2); border-radius: 8px; background: #fff; cursor: pointer;
  font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: 1px; line-height: 16px; text-transform: uppercase; color: #1a1a1a;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.kal-filtry button:hover { border-color: rgba(26,26,26,.5); }
.kal-filtry button[aria-pressed="true"] { background: #22262e; border-color: #22262e; color: #fff; }
.kal-filtry button:focus-visible { outline: 2px solid #fbc736; outline-offset: 2px; }
.ag { border-top: 1px solid rgba(26,26,26,.12); border-bottom: 1px solid rgba(26,26,26,.12); }
.ag.kal-js .kal-data { display: none; }
.ag-telo { position: relative; }
.ag-mesic-hlava { position: sticky; top: 0; z-index: 1; margin: 0; padding: 10px 16px; background: #f3f3f3;
  font-size: 12px; font-weight: 400; line-height: 16px; letter-spacing: 1px; text-transform: uppercase; color: #1a1a1a; }
.ag-pocet { font-weight: 400; color: #6b6b6b; }
.ag-seznam { list-style: none; margin: 0; padding: 0; }
@media (hover: hover) and (pointer: fine) {
  .ag-telo { max-height: min(460px, 62vh); overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(26,26,26,.25) transparent; }
  .ag-telo.je-zamek { pointer-events: none; }
  .ag-telo:focus-visible { outline: 2px solid #fbc736; outline-offset: 2px; }
}
.ag-radek { display: grid; grid-template-columns: 1fr; gap: 6px 24px; margin: 0; padding: 16px; border-top: 1px solid rgba(26,26,26,.08); transition: background-color .2s ease; }
.ag-radek:hover { background: rgba(26,26,26,.04); }
.ag-seznam > li:first-child .ag-radek { border-top: 0; }
.ag-datum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; font-size: 16px; line-height: 22.5px; font-weight: 300; color: rgba(26,26,26,.55); }
.ag-datum b { white-space: nowrap; font-weight: 600; color: #1a1a1a; letter-spacing: -.2px; }
.ag-nazev { margin: 0; font-weight: 600; letter-spacing: -.2px; font-size: 16px; line-height: 24px; color: #1a1a1a; }
.ag-stitky { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.ag-stitek { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; background: rgba(251,199,54,.22);
  font-size: 12px; line-height: 15.6px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #1a1a1a; }
.ag-ulozit { justify-self: start; border: 0; border-radius: 8px; background: #22262e; color: #fff; cursor: pointer; padding: 8px 12px;
  font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; line-height: 15px;
  opacity: 0; transition: opacity .2s ease, background-color .2s ease; }
.ag-radek:hover .ag-ulozit, .ag-ulozit:focus-visible { opacity: 1; }
.ag-ulozit:hover { background: #171a20; }
.ag-radek.je-pryc .ag-nazev { color: rgba(26,26,26,.45); }
.ag-radek.je-pryc .ag-datum, .ag-radek.je-pryc .ag-datum b { color: rgba(26,26,26,.35); }
.ag-radek.je-pryc .ag-stitek { background: rgba(26,26,26,.06); color: rgba(26,26,26,.5); }
.ag-prazdno { padding: 40px 0; font-size: 16px; line-height: 1.6; color: rgba(26,26,26,.6); }
@media (hover: none) { .ag-ulozit { opacity: 1; } }
@media (max-width: 899px) {
  .ag-stitky { flex-wrap: nowrap; }
  .ag-stitek { white-space: nowrap; }
  .ag-ulozit { justify-self: stretch; width: 100%; margin-top: 4px; text-align: center; }
}
@media (min-width: 900px) {
  .ag-radek { grid-template-columns: 215px minmax(0, 1fr) auto; align-items: center; gap: 24px; }
  .ag-stitky { grid-area: 1 / 3; justify-content: flex-end; }
  .ag-ulozit { grid-area: 1 / 3; justify-self: end; }
  .ag-radek:hover .ag-stitky, .ag-radek:focus-within .ag-stitky { visibility: hidden; }
}
@media (min-width: 1200px) { .ag-radek { grid-template-columns: 240px minmax(0, 1fr) auto; } }
@media (prefers-reduced-motion: reduce) { .ag-radek, .ag-ulozit, .kal-filtry button { transition: none; } }

/* okno s detailem karty se vkládá mimo sekce, písmo nadpisu i textů je proto potřeba nastavit zvlášť */
.pi-modal { font-family: var(--sp-project-font-family-body); }
/* varianta karty „Otevřená“ slouží k úpravám obsahu okna v editoru; poznámka a falešný křížik na webu nejsou */
.pi-nahled-popisek, .pi-zavrit-nahled { display: none !important; }
/* zaoblení jako u tlačítek a okna na Proč k nám (30. 10.): tlačítko „Další informace“ 8 px, okno 12 px, křížik kulatý */
.pi-akce { border-radius: 8px; overflow: hidden; }
.pi-panel { border-radius: 12px; }
.pi-zavrit { border-radius: 999px; }
/* kotvy: nadpis sekce zůstane celý pod hlavičkou a lištou aktualit (Pro studenty a formuláře z CTA sekcí) */
#prakticke, #maturita, #kalendar, #povinne, #uredni-deska, #dokumenty, #formular, #napiste-nam { scroll-margin-top: calc(var(--aktuality-h, 0px) + 30px); }
/* karta nemá nad sebou odsazení sekce, proto větší odstup: celá pod hlavičkou a lištou aktualit */
#individualni-dod { scroll-margin-top: calc(var(--aktuality-h, 0px) + 120px); }
/* STEAM centrum – písmena, rozcestník Koncepce (mřížka, spojnice, glóbus, 3D list), jako na lokále */
@keyframes sx-toceni { to { transform: rotate(360deg); } }
@keyframes sx-list-otoc { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }

/* 2 · písmena STEAM */
.sx-pismeno { transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, background .35s ease; }
.sx-pismeno:hover { transform: translateY(-8px); border-color: rgba(251,199,54,.55); background: linear-gradient(180deg, rgba(251,199,54,.12), rgba(255,255,255,.02)); }
.sx-pismeno .sx-znak { background: linear-gradient(160deg, #fbc736 10%, #e8a35c 55%, #c9783a 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
  transition: transform .45s cubic-bezier(.2,.8,.2,1), filter .45s ease; }
@media (min-width: 1280px) { .sx-pismeno .sx-znak { font-size: 168px; } }
.sx-pismeno:hover .sx-znak { transform: scale(1.06) rotate(-3deg); filter: drop-shadow(0 0 24px rgba(251,199,54,.45)); }

/* 3 · Koncepce – centrum uprostřed, šest oken kolem */
@media (min-width: 1024px) {
  .sx-plakat { grid-template-columns: 1fr minmax(300px, 380px) 1fr; grid-template-rows: repeat(3, auto); column-gap: 72px; row-gap: 22px; }
  .sx-plakat > .sx-okno:nth-of-type(1) { grid-column: 1; grid-row: 1; } .sx-plakat > .sx-okno:nth-of-type(2) { grid-column: 3; grid-row: 1; }
  .sx-plakat > .sx-okno:nth-of-type(3) { grid-column: 1; grid-row: 2; } .sx-plakat > .sx-okno:nth-of-type(4) { grid-column: 3; grid-row: 2; }
  .sx-plakat > .sx-okno:nth-of-type(5) { grid-column: 1; grid-row: 3; } .sx-plakat > .sx-okno:nth-of-type(6) { grid-column: 3; grid-row: 3; }
  .sx-plakat > .sx-stred { grid-column: 2; grid-row: 1 / span 3; }
}
.sx-okno { transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease; }
.sx-okno:hover { transform: translateY(-4px); border-color: #fbc736; box-shadow: 0 18px 44px rgba(26,26,26,.1); }
.sx-spojnice { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 0; }
.sx-spojnice path { fill: none; stroke: rgba(201,120,58,.6); stroke-width: 2; stroke-dasharray: 6 6; stroke-linecap: round; }
.sx-spojnice circle { fill: #c9783a; }
.sx-plakat > .sx-okno, .sx-plakat > .sx-stred { z-index: 1; }
@media (max-width: 1023px) {
  .sx-spojnice { display: none; }
  .sx-plakat > .sx-stred { order: -1; margin-bottom: 28px; }
  .sx-plakat > .sx-okno { margin-left: 14px; }
}

/* kruh s logem: drátěná koule za logem, 3D list */
.sx-stred.sx-v2 { overflow: visible; text-align: center;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 4px), radial-gradient(circle at 50% 40%, #4a5059 0%, #353a42 45%, #22262c 100%);
  box-shadow: 0 0 0 10px #fff, 0 0 0 12px rgba(201,120,58,.5), 0 30px 70px rgba(26,26,26,.25); }
.sx-stred.sx-v2::before { content: ""; position: absolute; inset: -34px; border-radius: 50%; border: 2px dashed rgba(201,120,58,.4); animation: sx-toceni 80s linear infinite; pointer-events: none; }
.sx-stred.sx-v2::after { content: ""; position: absolute; inset: 0; border-radius: 50%; pointer-events: none; z-index: 0;
  background: radial-gradient(circle at 38% 30%, rgba(255,255,255,.10), transparent 45%), radial-gradient(circle at 50% 50%, transparent 58%, rgba(10,12,16,.45) 100%); }
.sx-stred .sx-glob { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 50%; pointer-events: none; z-index: 0; }
.sx-stred .sx-logo { width: 46%; transform: translateY(-2%); filter: drop-shadow(0 6px 14px rgba(0,0,0,.35)); }
.sx-stred img.sx-list-obr { display: none; }
.sx-stred img.sx-napis { display: block; width: 100%; height: auto; margin: 0; max-width: none; }
.sx-stred .sx-list-scena { display: block; perspective: 900px; }
.sx-stred .sx-list { position: relative; width: 100%; aspect-ratio: 238 / 236; transform-style: preserve-3d; animation: sx-list-otoc 9s linear infinite; }
.sx-stred .sx-list img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; max-width: none; object-fit: contain;
  transform: translateZ(calc((var(--i) - 5.5) * 0.9px)); filter: brightness(.55); }
.sx-stred .sx-list img:first-child, .sx-stred .sx-list img:last-child { filter: none; }
@media (prefers-reduced-motion: reduce) { .sx-stred .sx-list, .sx-stred.sx-v2::before { animation: none; } }
/* Kariéra: body karty pozice z kolekce (odrážkový seznam) – žlutá tečka před každým bodem (jako .pu-stupen na lokále) */
#pozice, #formular, #rezervace { scroll-margin-top: 110px; }
.kr-pozadavky ul { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kr-pozadavky li { position: relative; margin: 0; padding-left: 18px; }
.kr-pozadavky li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 999px; background: #fbc736; }
.kr-pozadavky li p { margin: 0; font: inherit; color: inherit; letter-spacing: inherit; }
/* výběr ve formuláři vypadá stejně jako ostatní pole */
.pu-formular select { width: 100%; height: 45px; padding: 0 15px; background-color: #fff; border: 1px solid rgba(26,26,26,.15); border-radius: 8px; font-size: 16px; line-height: 17.85px; color: #1a1a1a; box-shadow: none; }
.pu-formular select:focus { outline: none; border-color: #fbc736; }
/* rozestup polí jako na lokále (řádek 84,5 px) */
#formular .fk-formular > div > label, #rezervace .fk-formular > div > label { margin-bottom: 6.5px; }
/* poznámka pod tlačítkem: běžný text, ne popisek pole */
.pu-formular > p.kr-pozn { margin: -3px 0 0 !important; font-size: 12px !important; line-height: 18.85px !important; letter-spacing: 0; text-transform: none; color: rgba(26,26,26,.55) !important; }
.kr-pozn a { color: #1a1a1a; text-decoration: underline; text-underline-offset: 2px; transition: color .2s ease; }
.kr-pozn a:hover { color: #fbc736; }
/* telefon: jméno nad číslem, ikona svisle na střed vedle obou řádků */
.pu-kontakt.kr-tel { display: block; position: relative; min-height: 44px; padding-left: 60px; line-height: 24.65px !important; font-weight: 400; color: #6b6b6b !important; }
.kr-tel::before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.kr-tel a { font-weight: 500; }
/* pronájem STEAM: ikona osoby a hodin u kontaktů */
.pu-kontakt--osoba::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4.4 3.6-7 8-7s8 2.6 8 7z'/%3E%3C/svg%3E"); }
.pu-kontakt--cas::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 3.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17zm.8 4a.8.8 0 0 0-1.6 0V12c0 .27.13.52.36.67l3 2a.8.8 0 1 0 .88-1.34L12.8 11.57z'/%3E%3C/svg%3E"); }