/* MŠ a ZŠ Třebovice — veřejný web.
   Design 11/2026 „sklo“ podle odsouhlaseného návrhu (navrhy/navrh):
   světlé matné sklo, barevná světla a rozostřená zahrada v pozadí, zrno,
   plovoucí lišta v barvě části webu. ZŠ zelená, MŠ oranžová — přepíná
   html[data-sekce]. Nunito na titulky, DM Sans na text (self-hosted). */

:root{
  --ink:#143F31; --ink-2:#4A5E55; --ink-3:#6E7F77; --paper:#FBFAF5;
  --green:#1E6B4E; --green-d:#134A36; --orange:#F5A63F;
  /* barva části webu */
  --c:#1E6B4E; --c-d:#134A36; --c-hi:#2E8A66; --c-soft:rgba(30,107,78,.12); --c-ink:#134A36;
  --glow-1:rgba(120,196,140,.55); --glow-2:rgba(245,166,63,.28); --glow-3:rgba(30,107,78,.30);
  --mark:#D5EEC4;
  /* sklo */
  --g-bg:linear-gradient(155deg,rgba(255,255,255,.78),rgba(255,255,255,.48));
  --g-line:rgba(255,255,255,.85);
  --g-edge:rgba(20,63,49,.08);
  --g-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 1px var(--g-edge),0 24px 48px -24px rgba(20,63,49,.28),0 4px 12px -6px rgba(20,63,49,.10);
  --blur:22px;
  --r-xl:36px; --r-lg:28px; --r-md:20px; --r-sm:14px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --h:'Nunito',ui-rounded,system-ui,sans-serif;
  --t:'DM Sans',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
html[data-sekce="ms"]{
  --c:#B4580E; --c-d:#97480A; --c-hi:#BD5E12; --c-soft:rgba(232,128,40,.14); --c-ink:#8E4509;
  --glow-1:rgba(255,186,110,.60); --glow-2:rgba(255,220,150,.50); --glow-3:rgba(30,107,78,.16);
  --mark:#FFDDB5;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:400 17px/1.6 var(--t);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:var(--c-d);text-underline-offset:3px}
a:hover{color:var(--c)}
::selection{background:var(--mark);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--h);font-weight:900;letter-spacing:-.02em;line-height:1.08;margin:0 0 .45em;color:var(--ink)}
h1{font-size:clamp(36px,5.4vw,64px)}
h2{font-size:clamp(28px,3.6vw,44px)}
h3{font-size:21px;font-weight:800;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.preskocit{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;z-index:99;font-weight:600;text-decoration:none}
.preskocit:focus{top:12px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:12px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--c-d);margin:0 0 12px}
.lead{font-size:19px;color:var(--ink-2);max-width:68ch}
.muted{color:var(--ink-3)}
.ikona{width:22px;height:22px;flex:none;vertical-align:middle}

/* --- atmosféra: světla, rozostřená zahrada, zrno ------------------------- */
.atmo{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.atmo__bokeh{position:absolute;inset:-10%;background:url(../img/bokeh.webp) center/cover;filter:blur(40px) saturate(1.25);opacity:.22}
html[data-sekce="ms"] .atmo__bokeh{opacity:.14}
.atmo__svetlo{position:absolute;border-radius:50%;filter:blur(70px)}
.atmo__svetlo--1{width:60vw;height:60vw;left:-18vw;top:-22vw;background:var(--glow-1)}
.atmo__svetlo--2{width:46vw;height:46vw;right:-14vw;top:18vh;background:var(--glow-2)}
.atmo__svetlo--3{width:50vw;height:50vw;left:20vw;bottom:-30vw;background:var(--glow-3)}
.atmo::after{content:"";position:absolute;inset:0;opacity:.20;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1  0 0 0 0 .2  0 0 0 0 .15  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* --- sklo: společný základ ploch ------------------------------------------- */
.sklo,.karta,.akce,.soubor,.deska__polozka,.jidelnicek,.formular,.tabulka,.tym__clen,.partneri__seznam li,.prazdno,.flash,.oznameni__okno,.filtr__volba{
  position:relative;background:var(--g-bg);border:1px solid var(--g-line);box-shadow:var(--g-shadow);
  -webkit-backdrop-filter:blur(var(--blur)) saturate(160%);backdrop-filter:blur(var(--blur)) saturate(160%)}

/* --- tlačítka ---------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;gap:10px;font:inherit;font-weight:700;font-size:16px;text-decoration:none;padding:14px 24px;border-radius:999px;cursor:pointer;
  color:var(--ink);background:rgba(255,255,255,.85);border:1px solid var(--g-line);box-shadow:var(--g-shadow);transition:transform .2s var(--ease),box-shadow .2s,background .3s}
.btn:hover{transform:translateY(-2px);color:var(--ink)}
.btn .ikona{width:18px;height:18px;transition:transform .2s var(--ease)}
.btn:hover .ikona{transform:translateX(3px)}
.btn--hlavni{color:#fff;background:linear-gradient(160deg,var(--c-hi),var(--c-d));border-color:rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 30px -14px var(--c-d)}
.btn--hlavni:hover{color:#fff}
.btn--obrys{background:rgba(255,255,255,.6)}
.btn--maly{padding:8px 14px;font-size:14px}
.odkaz-dal{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap;color:var(--ink)}
.odkaz-dal.sklo{padding:11px 18px;border-radius:999px}
.odkaz-dal .ikona{width:17px;height:17px;transition:transform .2s var(--ease)}
.odkaz-dal:hover .ikona{transform:translateX(3px)}
.stitek{display:inline-block;padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:700;background:rgba(20,63,49,.07);color:var(--ink-2);letter-spacing:.01em;text-transform:none}
.stitek--zs{background:rgba(30,107,78,.12);color:#134A36}
.stitek--ms{background:rgba(232,128,40,.16);color:#8E4509}
.stitek--sd,.stitek--sj{background:#EEF0E4;color:#3D4A42}

/* --- hlavička: plovoucí lišta v barvě části webu ------------------------ */
.hlavicka{position:sticky;top:0;z-index:40;padding:10px 12px 0}
.lista{position:relative;display:flex;align-items:center;gap:20px;min-height:68px;padding:8px 12px 8px 14px;border-radius:24px;color:#fff;
  background:linear-gradient(120deg,color-mix(in srgb,var(--c) 92%,transparent),color-mix(in srgb,var(--c-d) 94%,transparent));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 40px -20px color-mix(in srgb,var(--c-d) 80%,transparent);
  -webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}
.znacka{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;flex:none}
.znacka:hover{color:#fff}
.znacka__logo{width:46px;height:46px;border-radius:15px;background:#fff;display:grid;place-items:center;box-shadow:0 4px 12px -4px rgba(0,0,0,.25);flex:none}
.znacka__logo img{width:34px;height:34px;object-fit:contain}
.znacka__text strong{display:block;font:900 20px/1 var(--h);letter-spacing:-.01em}
.znacka__text small{display:block;font-size:12.5px;opacity:.85;margin-top:4px}
.navigace{display:flex;align-items:center;gap:6px;margin-left:auto;min-width:0}
.navigace ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.navigace ul a{display:block;color:#fff;font-weight:600;font-size:15px;text-decoration:none;padding:9px 12px;border-radius:999px;white-space:nowrap;transition:background .2s}
.navigace ul a:hover{background:rgba(255,255,255,.16);color:#fff}
.navigace ul a[aria-current]{background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.navigace__nastroje{display:flex;align-items:center;gap:4px}
.navigace__ven{color:#fff;font-size:14px;font-weight:600;text-decoration:none;padding:8px 10px;border-radius:999px;white-space:nowrap}
.navigace__ven:hover{background:rgba(255,255,255,.16);color:#fff}
.hledani{display:flex}
.hledani__popisek{position:absolute;left:-9999px}
.hledani input{font:inherit;font-size:14px;color:#fff;padding:8px 14px;width:120px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);transition:width .25s,background .2s}
.hledani input::placeholder{color:rgba(255,255,255,.75)}
.hledani input:focus{width:190px;background:rgba(255,255,255,.22);outline:none;border-color:#fff}
.skola-prepinac{position:relative;display:flex;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px;flex:none}
.skola-prepinac__volba{position:relative;z-index:1;min-width:52px;text-align:center;font:900 15px/1 var(--h);color:#fff;text-decoration:none;padding:11px 16px;border-radius:999px;transition:color .3s}
.skola-prepinac__volba:hover{color:#fff}
.skola-prepinac__volba[aria-current]{color:var(--c-d)}
.skola-prepinac__palec{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:#fff;border-radius:999px;box-shadow:0 4px 10px -3px rgba(0,0,0,.3);transition:transform .4s var(--ease)}
.skola-prepinac[data-s="zs"] .skola-prepinac__palec{transform:translateX(100%)}
.menu-tlacitko{display:none;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;border-radius:14px;width:46px;height:46px;cursor:pointer;place-items:center;flex:none}
.en-poznamka{font-size:13.5px;color:var(--ink-3);margin:12px auto 0;text-align:center}

/* --- úvod -------------------------------------------------------------------- */
.uvod{padding-top:68px}
.uvod__text{text-align:center}
.uvod h1{font-size:clamp(44px,8.6vw,112px);line-height:1.02;margin:14px auto 0}
.zvyraznena,.zvyrazneni{position:relative;display:inline-block;color:var(--c);padding:0 .12em;z-index:0;white-space:nowrap}
.zvyrazneni::before{content:"";position:absolute;inset:.1em -.02em .02em;border-radius:.32em;z-index:-1;
  background:linear-gradient(160deg,color-mix(in srgb,var(--mark) 92%,#fff),color-mix(in srgb,var(--mark) 70%,transparent));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px -14px var(--c)}
.perex{max-width:600px;margin:24px auto 0;font-size:19px;color:var(--ink-2)}
.tlacitka{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* koláž ve skleněných rámech */
.kolaz{display:grid;grid-template-columns:1fr 1.06fr 1fr;align-items:center;margin:60px auto 0;max-width:1240px;padding:0 14px}
.kolaz--jedna{grid-template-columns:minmax(0,760px);justify-content:center}
.kolaz__ram{position:relative;margin:0;padding:10px;border-radius:30px;transition:transform .5s var(--ease)}
.kolaz__foto{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:4/3;background:var(--c-soft)}
.kolaz__foto>img,.kolaz__foto>video{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.kolaz__ram:hover .kolaz__foto>img{transform:scale(1.045)}
.kolaz__ram--1{transform:rotate(-3.2deg) translateX(14px)}
.kolaz__ram--2{transform:translateY(16px);z-index:2}
.kolaz--jedna .kolaz__ram--2{transform:none}
.kolaz__ram--3{transform:rotate(3deg) translateX(-14px)}
.prohlidka{position:absolute;inset:0;overflow:hidden}
.prohlidka__snimek{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.6s ease,transform 1.6s ease}
.prohlidka__snimek.je-aktivni{opacity:1;animation:prohlidka-pohyb 9s ease-in-out forwards}
.prohlidka__snimek.je-aktivni:nth-child(even){animation-name:prohlidka-pohyb-2}
@keyframes prohlidka-pohyb{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-2.5%,-1.5%)}}
@keyframes prohlidka-pohyb-2{from{transform:scale(1.14) translate(2%,1%)}to{transform:scale(1.04)}}
.uvod__pauza{position:absolute;right:22px;bottom:22px;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.7);
  background:rgba(255,255,255,.85);color:var(--ink);cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.uvod__pauza .ikona--pustit,.uvod__pauza.je-zastaveno .ikona--pauza{display:none}
.uvod__pauza.je-zastaveno .ikona--pustit{display:block}

/* rychlé odkazy */
.rychle{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:80px}
.rychle__karta{display:flex;align-items:center;gap:14px;padding:16px 16px 16px 18px;border-radius:var(--r-lg);text-decoration:none;color:var(--ink);transition:transform .25s var(--ease)}
.rychle__karta:hover{transform:translateY(-4px);color:var(--ink)}
.rychle__ikona{flex:none;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--c-soft);color:var(--c-d)}
.rychle__ikona .ikona{width:25px;height:25px}
.rychle__karta b{font:900 18px/1.15 var(--h)}
.rychle__dal{margin-left:auto;flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 1px var(--g-edge);transition:background .2s,color .2s}
.rychle__dal .ikona{width:15px;height:15px}
.rychle__karta:hover .rychle__dal{background:var(--c);color:#fff}

/* rozcestník: malé kulaté ikony pod rychlými odkazy */
.rozcestnik{display:grid;grid-template-columns:repeat(6,1fr);gap:22px 10px;margin-top:40px;padding:28px 10px 6px}
.rozcestnik__odkaz{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;text-decoration:none;color:var(--ink);font-weight:700;font-size:14px;line-height:1.25}
.rozcestnik__odkaz:hover{color:var(--c-d)}
.rozcestnik__ikona{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:var(--c-d);transition:transform .25s var(--ease),background .25s,color .25s}
.rozcestnik__ikona .ikona{width:26px;height:26px}
.rozcestnik__odkaz:hover .rozcestnik__ikona{transform:translateY(-4px);background:linear-gradient(160deg,var(--c-hi),var(--c-d));color:#fff;border-color:transparent}

/* --- sekce úvodu ----------------------------------------------------------- */
.sekce{padding-top:110px}
.sekce__hlava{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:32px}
.sekce__hlava h2{margin:0}
.sekce__pata{margin-top:26px;text-align:center}

.proc{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;border-radius:var(--r-xl);padding:20px}
.proc__text{padding:34px 28px 30px 32px}
.proc .velky{font-size:19px;color:var(--ink-2)}
.hodnoty{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 26px}
.hodnota{border-radius:var(--r-md);padding:16px 15px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--g-edge)}
.hodnota b{display:block;font:900 17px/1.2 var(--h);color:var(--c-d)}
.hodnota span{display:block;font-size:13.5px;color:var(--ink-2);margin-top:6px;line-height:1.4}
.proc__foto{position:relative;border-radius:26px;overflow:hidden;min-height:420px}
.proc__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hodnoty--cisla .hodnota b{font-size:34px;line-height:1;color:var(--c)}
.hodnoty--cisla .hodnota span{margin-top:8px}
.proc__stitek{position:absolute;right:20px;bottom:20px;max-width:260px;padding:16px 18px;border-radius:20px;font:800 17px/1.25 var(--h);color:var(--ink);background:rgba(255,255,255,.9)}
.proc__stitek small{display:block;font:600 13px/1.4 var(--t);color:var(--ink-2);margin-top:6px}

.novinky{display:grid;grid-template-columns:repeat(3,1fr) 1.08fr;gap:16px;align-items:stretch}
.pozvanka{border-radius:var(--r-lg);padding:30px 28px;display:flex;flex-direction:column;color:#fff;overflow:hidden;position:relative;
  background:linear-gradient(160deg,var(--c-hi),var(--c-d));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 24px 48px -24px var(--c-d)}
.pozvanka::after{content:"";position:absolute;width:220px;height:220px;right:-70px;top:-70px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.pozvanka h3{font-size:30px;color:#fff;position:relative}
.pozvanka p{opacity:.92;font-size:15.5px;position:relative}
.pozvanka .btn{align-self:flex-start;margin-top:auto;color:var(--c-d);position:relative}

.lide{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.clovek{display:flex;align-items:center;gap:12px;border-radius:999px;padding:7px 20px 7px 7px}
.clovek__ini,.clovek__foto{flex:none;width:46px;height:46px;border-radius:50%;object-fit:cover}
.clovek__ini{display:grid;place-items:center;font:900 15px/1 var(--h);color:var(--c-d);background:var(--c-soft)}
.clovek b{display:block;font-size:15px;line-height:1.2}
.clovek small{display:block;font-size:13px;color:var(--ink-2)}

/* --- ukázky na úvodu (návnady na samostatné stránky) ------------------------ */
.karta--odkaz h3{margin:0 0 8px}
.karta__dal{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;font-weight:700;font-size:15px;color:var(--c-d)}
.karta__dal .ikona{width:17px;height:17px;transition:transform .2s var(--ease)}
.karta--odkaz:hover .karta__dal .ikona{transform:translateX(3px)}
.ukazka-jidelna{gap:4px}
.ukazka-jidelna .rychle__ikona{margin-bottom:14px}
.ukazka-kontakt{display:grid;grid-template-columns:1.2fr 1fr auto;gap:28px;align-items:center;padding:34px 36px;border-radius:var(--r-xl);text-decoration:none;color:var(--ink);transition:transform .25s var(--ease)}
.ukazka-kontakt:hover{transform:translateY(-3px);color:var(--ink)}
.ukazka-kontakt h2{margin:0 0 6px}
.ukazka-kontakt p{margin:0}
.ukazka-kontakt__udaje b{display:block;font:900 26px/1.2 var(--h)}
.ukazka-kontakt__udaje span{color:var(--ink-2)}

/* --- karty (aktuality, alba, odkazy) ---------------------------------------- */
.karty{display:grid;gap:16px}
.karty--aktuality{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.karty--tri{grid-template-columns:repeat(3,1fr)}
.karty--alba{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.karta{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s var(--ease)}
.karta:hover{transform:translateY(-4px)}
.karta--odkaz{text-decoration:none;color:inherit;padding:26px}
.karta--odkaz:hover{color:inherit}
.karta--odkaz p{margin:0;color:var(--ink-2);font-size:15px}
.karta--zvyraznena{box-shadow:var(--g-shadow),0 0 0 3px color-mix(in srgb,var(--c) 30%,transparent)}
.karta--album{text-decoration:none;color:inherit}
.karta__obrazek{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--c-soft);margin:10px 10px 0;border-radius:20px}
.karta__obrazek img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.karta:hover .karta__obrazek img{transform:scale(1.04)}
.karta__telo{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.karta__telo h3{font-size:21px;line-height:1.18;margin:0}
.karta__telo h3 a{color:var(--ink);text-decoration:none}
.karta__telo h3 a:hover{color:var(--c-d)}
.karta__telo h3 a::after{content:"";position:absolute;inset:0}
.karta__telo p{margin:0;color:var(--ink-2);font-size:15px}
.karta__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-2);margin:0}
.karta__meta a{position:relative;z-index:1}
.hodnoty-karty .karta{padding:26px}

/* --- akce (kalendář) ---------------------------------------------------------- */
.akce{list-style:none;margin:0;padding:6px;border-radius:var(--r-lg)}
.akce__radek{display:grid;grid-template-columns:62px 1fr;gap:16px;padding:12px 14px;border-radius:20px;align-items:center}
.akce__radek+.akce__radek{border-top:1px solid var(--g-edge)}
.akce__datum{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border-radius:16px;padding:8px 0;line-height:1;
  background:linear-gradient(160deg,var(--c-hi),var(--c-d))}
.akce__datum b{font:900 23px/1 var(--h)}
.akce__datum small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.akce__radek strong{display:block;font-size:16.5px}
.akce__radek small{color:var(--ink-3);font-size:14px}
.akce__radek p{margin:4px 0 0;font-size:15px;color:var(--ink-2)}
.dva-sloupce{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.zapis-panel{border-radius:var(--r-lg);padding:32px;color:#fff;background:linear-gradient(160deg,var(--c-hi),var(--c-d))}
.zapis-panel h2{color:#fff}

/* --- mozaika / galerie ------------------------------------------------------- */
.mozaika{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.mozaika__dlazdice{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:22px;background:var(--c-soft);box-shadow:var(--g-shadow)}
.mozaika__dlazdice img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mozaika__dlazdice:hover img{transform:scale(1.05)}
.mozaika__dlazdice span{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 12px;border-radius:14px;color:var(--ink);font-weight:700;font-size:14px;line-height:1.3;
  background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mozaika--galerie{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.mozaika--galerie .mozaika__dlazdice{border-radius:16px}

/* --- fotky pro rodiče (PIN) ------------------------------------------------------ */
.rodice-pin{display:grid;grid-template-columns:auto 1fr auto;gap:18px 22px;align-items:center;padding:24px 26px;border-radius:var(--r-lg);margin:0 0 34px}
.rodice-pin__ikona{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--c-soft);color:var(--c-d)}
.rodice-pin--odemceno .rodice-pin__ikona{background:linear-gradient(160deg,var(--c-hi),var(--c-d));color:#fff}
.rodice-pin h2{font-size:22px;margin:0 0 4px}
.rodice-pin p{margin:0;color:var(--ink-2);font-size:15px}
.rodice-pin__formular{display:flex;gap:10px;align-items:center}
.rodice-pin__formular input{font:inherit;font-size:18px;letter-spacing:.2em;width:150px;padding:12px 16px;border-radius:999px;border:1px solid rgba(20,63,49,.2);background:rgba(255,255,255,.9);text-align:center}
.rodice-pin__formular input:focus{outline:none;border-color:var(--c);box-shadow:0 0 0 4px var(--c-soft)}
.rodice-pin__chyba{grid-column:2/-1;margin:0;color:#8A1F1F;font-weight:700;font-size:14.5px}
.album__pin{margin-top:40px}
.album__pin>.muted{margin-bottom:12px}
.stitek--zamek{background:var(--c-soft);color:var(--c-ink)}
.karta__obrazek--zamek{display:grid;place-items:center;color:var(--c-d);background:linear-gradient(160deg,var(--c-soft),rgba(255,255,255,.5))}

/* --- schránka důvěry („Napiš řediteli“) ---------------------------------------------- */
.schranka-uvod{display:flex;gap:18px;align-items:flex-start;padding:24px 26px;border-radius:var(--r-lg);margin-bottom:22px;font-size:18px}
.schranka-uvod .clovek__ini{width:54px;height:54px;font-size:24px}
.schranka-uvod p{margin:0 0 6px}
.schranka__temata{border:0;padding:0;margin:0 0 4px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.schranka__temata legend{font-weight:700;font-size:14.5px;color:var(--ink-2);margin-bottom:10px;padding:0}
.schranka__tema{position:relative;display:flex!important;flex-direction:column!important;align-items:center;gap:6px!important;text-align:center;padding:16px 8px;border-radius:20px;cursor:pointer;
  background:rgba(255,255,255,.7);border:1.5px solid rgba(20,63,49,.12);color:var(--ink)!important;transition:transform .2s var(--ease),border-color .2s,background .2s}
.schranka__tema:hover{transform:translateY(-2px);background:#fff}
.schranka__tema input{position:absolute;opacity:0;pointer-events:none}
.schranka__tema:has(input:checked){border-color:var(--c);background:var(--c-soft);box-shadow:0 0 0 3px var(--c-soft)}
.schranka__tema:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.schranka__emoji{font-size:30px;line-height:1}
.schranka textarea{font-size:17px}
.schranka-hotovo{text-align:center;padding:40px 28px;border-radius:var(--r-xl)}
.schranka-hotovo__ikona{display:block;font-size:54px;margin-bottom:8px}
.schranka-pomoc{margin-top:34px;padding:24px 26px;border-radius:var(--r-lg);background:linear-gradient(155deg,rgba(255,236,214,.9),rgba(255,236,214,.6));border:1px solid rgba(245,166,63,.4)}
.schranka-pomoc h2{font-size:21px;margin-bottom:6px}
.schranka-pomoc p{margin:0 0 12px;color:var(--ink-2)}
.schranka-pomoc__kontakty{display:flex;gap:10px;flex-wrap:wrap;margin:0!important}

/* --- partneři a tým ------------------------------------------------------------ */
.partneri__seznam{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.partneri__seznam li{display:flex;flex-direction:column;gap:2px;padding:16px 20px;border-radius:var(--r-md);min-width:200px}
.partneri__seznam img{max-height:48px;width:auto;margin-bottom:6px}
.partneri__seznam small{color:var(--ink-3)}
.tym{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.tym__clen{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:24px 14px;border-radius:var(--r-lg)}
.tym__clen img,.tym__iniciály{width:88px;height:88px;border-radius:50%;object-fit:cover;margin-bottom:10px}
.tym__iniciály{display:grid;place-items:center;background:var(--c-soft);color:var(--c-d);font:900 32px/1 var(--h)}
.tym__clen strong{font-size:16.5px}
.tym__clen small{color:var(--ink-3);font-size:14px}
.tym__clen a{font-size:13.5px;word-break:break-all}

/* --- vnitřní stránky ------------------------------------------------------------- */
.stranka{padding-top:56px;padding-bottom:40px}
.stranka--uzka{max-width:900px}
.stranka__hlava{margin-bottom:34px}
.stranka__hlava h1{margin-bottom:.25em}
.stranka__mrizka{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.stranka__obrazek{padding:10px;border-radius:30px;background:var(--g-bg);border:1px solid var(--g-line);box-shadow:var(--g-shadow)}
.stranka__obrazek img{border-radius:22px;width:100%}
.text{max-width:72ch;font-size:17.5px}
.text h2{margin-top:1.4em;font-size:28px}
.text h3{margin-top:1.3em}
.text ul,.text ol{padding-left:1.3em}
.text li{margin-bottom:.35em}
.clanek__obrazek{margin:0 0 30px;padding:10px;border-radius:30px;background:var(--g-bg);border:1px solid var(--g-line);box-shadow:var(--g-shadow)}
.clanek__obrazek img{border-radius:22px;max-height:560px;object-fit:cover;width:100%}
.filtr{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;align-items:center}
.filtr--maly{font-size:14px;margin-top:-14px}
.filtr--maly>span{color:var(--ink-3)}
.filtr__volba{padding:9px 16px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:700;font-size:14.5px}
.filtr__volba small{color:var(--ink-3);font-weight:400}
.filtr__volba.je-aktivni{color:#fff;background:linear-gradient(160deg,var(--c-hi),var(--c-d));border-color:transparent}
.filtr__volba.je-aktivni small{color:rgba(255,255,255,.8)}
.filtr--maly .filtr__volba{padding:5px 12px;font-size:13.5px}
.seznam-souboru,.prilohy-seznam ul,.deska{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.soubor{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--r-md);text-decoration:none;color:var(--ink);font-weight:700;transition:transform .2s var(--ease)}
.soubor:hover{transform:translateX(4px);color:var(--c-d)}
.soubor .ikona{color:var(--c)}
.soubor span{flex:1}
.soubor em{font-style:normal;color:var(--ink-3);font-weight:400;margin-left:6px}
.soubor small{color:var(--ink-3);font-weight:400;white-space:nowrap}
.prilohy-seznam,.fotky{margin-top:40px}
.deska__polozka{border-radius:var(--r-lg);padding:24px 28px}
.deska__polozka h2,.deska__polozka h3{font-size:23px;margin-bottom:8px}
.deska--sejmute .deska__polozka{opacity:.75}
.slozka summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}
.slozka summary::before{content:"▸";color:var(--c)}
.slozka[open] summary::before{content:"▾"}
.slozka summary h2{margin:0;display:inline}
.jidelnicek{border-radius:var(--r-lg);padding:30px}
.jidelnicek__text{margin-bottom:16px}
.povinne{list-style:none;margin:0;padding:0}
.povinne__bod{padding:24px 0;border-top:1px solid var(--g-edge)}
.povinne__bod h2{font-size:22px}
.povinne__bod .text p:last-child{margin-bottom:0}
.tabulka{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--r-md);overflow:hidden;font-size:16px}
.tabulka th,.tabulka td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--g-edge)}
.tabulka th{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);background:rgba(255,255,255,.5)}
.tabulka tr:last-child td{border-bottom:0}
.zapis-vysledky{padding-top:0;margin-bottom:28px}
.aktualizace{font-size:13.5px;color:var(--ink-3);margin-top:0;margin-bottom:0}
.prazdno{color:var(--ink-3);padding:28px;text-align:center;border-radius:var(--r-lg);grid-column:1/-1}

/* --- formulář ---------------------------------------------------------------------- */
.formular{display:flex;flex-direction:column;gap:14px;border-radius:var(--r-lg);padding:26px}
.formular label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14.5px;color:var(--ink-2)}
.formular input,.formular textarea,.formular select{font:inherit;padding:12px 14px;border:1px solid rgba(20,63,49,.18);border-radius:14px;background:rgba(255,255,255,.88);color:var(--ink)}
.formular input:focus,.formular textarea:focus{outline:none;border-color:var(--c);box-shadow:0 0 0 4px var(--c-soft);background:#fff}
.formular textarea{resize:vertical}
.prepinace{border:0;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}
.prepinace legend{font-weight:700;font-size:14.5px;color:var(--ink-2);margin-bottom:6px}
.prepinac{flex-direction:row!important;align-items:center;gap:7px;padding:8px 14px;border:1px solid rgba(20,63,49,.18);border-radius:999px;cursor:pointer;font-weight:700;background:rgba(255,255,255,.7)}
.prepinac:has(input:checked){border-color:var(--c);background:var(--c-soft);color:var(--c-ink)}
.prepinac input{accent-color:var(--c);margin:0}
.formular__pozn{font-size:13.5px;color:var(--ink-3);margin:0}
.formular--hledani{flex-direction:row;align-items:flex-end;gap:12px;margin-top:16px}
.formular--hledani label{flex:1}
.past{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.flash{padding:13px 18px;border-radius:var(--r-sm);font-weight:700}
.flash--ok{background:linear-gradient(155deg,rgba(225,243,214,.95),rgba(225,243,214,.75));color:#145236}
.flash--err{background:linear-gradient(155deg,rgba(252,226,224,.95),rgba(252,226,224,.75));color:#8A1F1F}
.kontakty .karta{padding:26px}
.kontakty .karta p{margin:0 0 10px;color:var(--ink-2);font-size:15px}
.kontakty .karta a{font-size:17px;text-decoration:none}

/* --- oznámení na ploše ------------------------------------------------------------- */
.oznameni{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:flex-end;padding:20px;pointer-events:none}
.oznameni__okno{pointer-events:auto;border-radius:var(--r-lg);padding:26px 28px;max-width:420px;width:100%;background:rgba(255,255,255,.9)}
.oznameni__okno::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 4px 4px;background:var(--orange)}
.oznameni__okno h2{font-size:24px;margin:10px 0 6px}
.oznameni__okno p{font-size:15px;color:var(--ink-2);margin-bottom:16px}
.oznameni__zavrit{position:absolute;top:12px;right:12px;background:none;border:0;cursor:pointer;padding:6px;color:var(--ink-3);border-radius:50%}
.oznameni__zavrit:hover{background:var(--c-soft);color:var(--ink)}

/* --- lightbox ------------------------------------------------------------------------- */
.lightbox{position:fixed;inset:0;background:rgba(10,20,15,.93);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}
.lightbox img{max-width:100%;max-height:88vh;border-radius:14px;object-fit:contain}
.lightbox__popis{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:14px}
.lightbox button{position:absolute;background:rgba(255,255,255,.14);border:0;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:26px;display:flex;align-items:center;justify-content:center}
.lightbox button:hover{background:rgba(255,255,255,.28)}
.lightbox__zavrit{top:16px;right:16px}
.lightbox__pred{left:12px;top:50%;transform:translateY(-50%)}
.lightbox__dal{right:12px;top:50%;transform:translateY(-50%)}

/* --- patička ------------------------------------------------------------------------------ */
.paticka{margin:120px 12px 12px;border-radius:var(--r-xl);padding:54px 0 28px}
.paticka__mrizka{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px}
.znacka--pata{color:var(--ink)}
.znacka--pata:hover{color:var(--ink)}
.znacka--pata .znacka__text small{opacity:1;color:var(--ink-2)}
.paticka h3{font-size:17px;margin:0 0 12px}
.paticka p,.paticka li{font-size:15px;color:var(--ink-2);line-height:1.7}
.paticka__adresa{margin-top:18px}
.paticka ul{list-style:none;margin:0;padding:0}
.paticka a{text-decoration:none;color:var(--ink-2)}
.paticka a:hover{color:var(--ink);text-decoration:underline}
.paticka__tel{display:block;font:900 22px/1.3 var(--h);color:var(--ink)!important}
.paticka__cast{border-radius:18px;padding:4px 0}
.paticka__cast.je-tady{outline:2px solid var(--c);outline-offset:10px}
.paticka__dole{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:44px;padding-top:22px;border-top:1px solid var(--g-edge);font-size:13.5px;color:var(--ink-2)}
.paticka__autor{display:flex;justify-content:center;margin:26px 0 0;font-size:13px}
.paticka__autor a{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;letter-spacing:.02em;
  background:rgba(255,255,255,.6);box-shadow:inset 0 1px 0 #fff,0 0 0 1px var(--g-edge)}
.paticka__autor a:hover{background:#fff;text-decoration:none}
.paticka__autor strong{font:900 13.5px/1 var(--h);color:var(--ink)}
.paticka__autor img{width:26px;height:26px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .uvod__video{display:none}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .sklo,.karta,.akce,.soubor,.deska__polozka,.jidelnicek,.formular,.tabulka,.tym__clen,.partneri__seznam li,.prazdno,.oznameni__okno{background:rgba(255,255,255,.93)}
}

/* --- responzivita ------------------------------------------------------------------------ */
@media (max-width:1340px){
  .lista{gap:12px}
  .menu-tlacitko{display:grid}
  .skola-prepinac{margin-left:auto}
  .navigace{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);flex-direction:column;align-items:stretch;gap:8px;padding:12px;border-radius:22px;
    background:linear-gradient(160deg,var(--c),var(--c-d));box-shadow:0 24px 48px -20px rgba(0,0,0,.45)}
  .navigace.je-otevrena{display:flex}
  .navigace ul{flex-direction:column}
  .navigace ul a{font-size:18px;padding:12px 14px}
  .navigace__nastroje{flex-wrap:wrap;padding:6px 4px 2px;border-top:1px solid rgba(255,255,255,.2)}
  .hledani{flex:1 1 200px}
  .hledani input,.hledani input:focus{width:100%}
  .novinky{grid-template-columns:1fr 1fr}
}
@media (max-width:920px){
  .proc,.stranka__mrizka{grid-template-columns:1fr}
  .proc__foto{min-height:300px;order:-1}
  .rychle{grid-template-columns:1fr 1fr}
  .rozcestnik{grid-template-columns:repeat(4,1fr)}
  .karty--tri{grid-template-columns:1fr 1fr}
  .paticka__mrizka{grid-template-columns:1fr 1fr}
  .dva-sloupce{grid-template-columns:1fr}
  .ukazka-kontakt{grid-template-columns:1fr;gap:16px;padding:28px 24px}
  .rodice-pin{grid-template-columns:auto 1fr}
  .rodice-pin__formular{grid-column:1/-1}
  .rodice-pin__formular input{flex:1;width:auto}
  .rodice-pin__chyba{grid-column:1/-1}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{width:calc(100% - 28px)}
  .hlavicka{padding:8px 8px 0}
  .lista{padding:6px 8px 6px 8px;border-radius:20px;min-height:60px}
  .znacka__logo{width:40px;height:40px;border-radius:13px}
  .znacka__logo img{width:29px;height:29px}
  .znacka__text strong{font-size:17px}
  .znacka__text small{display:none}
  .skola-prepinac__volba{min-width:44px;padding:10px 11px}
  .uvod{padding-top:40px}
  .perex{font-size:17px}
  .kolaz{grid-template-columns:1fr;margin-top:36px;padding:0 18px}
  .kolaz__ram--1,.kolaz__ram--3{display:none}
  .kolaz__ram--2{transform:rotate(-1.5deg)}
  .rychle{grid-template-columns:1fr;gap:10px;margin-top:40px}
  .rozcestnik{grid-template-columns:repeat(3,1fr);gap:18px 6px;margin-top:20px;padding-top:18px}
  .rozcestnik__ikona{width:56px;height:56px}
  .rozcestnik__odkaz{font-size:13px}
  .sekce{padding-top:76px}
  .sekce__hlava{flex-direction:column;align-items:flex-start}
  .novinky,.karty--tri{grid-template-columns:1fr}
  .proc{padding:10px;border-radius:28px}
  .proc__text{padding:24px 14px 20px}
  .hodnoty:not(.hodnoty--cisla){grid-template-columns:1fr}
  .hodnoty--cisla .hodnota b{font-size:24px}
  .schranka__temata{grid-template-columns:1fr 1fr}
  .stranka{padding-top:34px}
  .paticka{margin:90px 8px 8px;border-radius:28px}
  .paticka__mrizka{grid-template-columns:1fr}
  .oznameni{padding:12px}
  .akce__radek{grid-template-columns:54px 1fr;padding:10px}
  .soubor{flex-wrap:wrap;gap:8px 12px}
  .soubor span{flex:1 1 200px}
  .soubor small{white-space:normal;width:100%;padding-left:34px}
  .formular--hledani{flex-direction:column;align-items:stretch}
  /* méně rozmazání na telefonu = plynulejší posun */
  .sklo,.karta,.soubor,.akce,.formular{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.88)}
  .atmo__svetlo{filter:blur(50px)}
}
@media (max-width:380px){
  .znacka__text strong{font-size:15px}
  h1{font-size:34px}
}
