/* ============================================================
   karieraplotydobry.cz — statický náborový web
   Mobile-first. Barvy dle brandu Ploty Dobrý.
   ============================================================ */

/* ---------- Fonty (lokální Open Sans) ---------- */
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/open-sans-latin-ext-400-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: "Open Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/open-sans-latin-400-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; }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/open-sans-latin-ext-600-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: "Open Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/open-sans-latin-600-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; }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/open-sans-latin-ext-700-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: "Open Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/open-sans-latin-700-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; }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/open-sans-latin-ext-800-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: "Open Sans"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/open-sans-latin-800-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; }

/* ---------- Proměnné ---------- */
:root {
  --zelena: #00B46E;
  --zelena-tmava: #009e61;
  --modra: #191932;
  --modra-svetla: #24244a;
  --zluta: #F4E732;
  --bila: #fff;
  --seda-bg: #f4f6f8;
  --zelena-bg: #e9f8f1;
  --text: #2a2a3c;
  --text-sekundarni: #5c5c72;
  --radius: 14px;
  --radius-lg: 22px;
  --stin: 0 4px 20px rgba(25, 25, 50, .08);
  --stin-velky: 0 10px 34px rgba(25, 25, 50, .13);
  --prechod: .22s ease;
  --header-vyska: 72px;
}

/* ---------- Reset / základ ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-vyska) + 16px); }
body {
  margin: 0;
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 16px; line-height: 1.65;
  color: var(--text); background: var(--bila);
  -webkit-font-smoothing: antialiased;
  padding-top: var(--header-vyska);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--zelena-tmava); }
h1, h2, h3, h4 { color: var(--modra); line-height: 1.25; margin: 0 0 .6em; }
h1 { font-size: clamp(1.9rem, 4.5vw, 2.9rem); font-weight: 800; }
h2 { font-size: clamp(1.5rem, 3.2vw, 2.1rem); font-weight: 800; }
h3 { font-size: 1.2rem; font-weight: 700; }
p { margin: 0 0 1em; }
.container { width: min(1160px, 100% - 2.5rem); margin-inline: auto; }
.sekce { padding: clamp(3rem, 7vw, 5rem) 0; }
.sekce-seda { background: var(--seda-bg); }
.sekce-zelena { background: var(--zelena); }
.sekce-zelena h2, .sekce-zelena p, .sekce-zelena li { color: var(--bila); }
.lead { font-size: 1.12rem; color: var(--text-sekundarni); }
.text-stred { text-align: center; }

/* zvýraznění přeskočení na obsah pro klávesnici */
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--modra); color: #fff; padding: .6em 1em; z-index: 300; border-radius: 0 0 8px 0; }
.skip-link:focus { left: 0; }

/* ---------- Tlačítka (hover = jemné zvětšení, barva se nemění) ---------- */
.btn {
  display: inline-block; padding: .8em 1.7em;
  border-radius: 999px; border: 0; cursor: pointer;
  font: inherit; font-weight: 700; text-decoration: none; text-align: center;
  transition: transform var(--prechod), box-shadow var(--prechod);
  will-change: transform;
}
.btn:hover, .btn:focus-visible { transform: scale(1.05); }
.btn:active { transform: scale(.98); }
.btn-zeleny { background: var(--zelena); color: var(--bila); box-shadow: 0 6px 16px rgba(0, 180, 110, .3); }
.btn-modry { background: var(--modra); color: var(--bila); box-shadow: 0 6px 16px rgba(25, 25, 50, .25); }
.btn-obrys { background: transparent; color: var(--modra); box-shadow: inset 0 0 0 2px var(--modra); }
.sekce-zelena .btn-obrys { color: var(--bila); box-shadow: inset 0 0 0 2px var(--bila); }

/* ---------- Hlavička (fixní) ---------- */
.hlavicka {
  position: fixed; inset: 0 0 auto 0; z-index: 200;
  background: var(--bila); height: var(--header-vyska);
  box-shadow: 0 2px 14px rgba(25, 25, 50, .1);
}
.hlavicka-vnitrek { display: flex; align-items: center; gap: 1rem; height: 100%; }
.hlavicka-logo { flex-shrink: 0; margin-right: auto; }
.hlavicka-logo img { width: clamp(150px, 22vw, 200px); }
.menu { display: none; }
.menu a { text-decoration: none; color: var(--modra); font-weight: 600; }
.menu > ul { display: flex; align-items: center; gap: 1.4rem; list-style: none; margin: 0; padding: 0; }
.menu-odkaz { padding: .4em 0; border-bottom: 2px solid transparent; transition: border-color var(--prechod); }
.menu-odkaz:hover, .menu-odkaz[aria-current="page"] { border-bottom-color: var(--zelena); }

/* dropdown pracovní pozice */
.ma-submenu { position: relative; }
.ma-submenu > button {
  display: flex; align-items: center; gap: .4em;
  background: none; border: 0; cursor: pointer; font: inherit; font-weight: 600; color: var(--modra); padding: .4em 0;
}
.ma-submenu > button::after { content: ""; width: .55em; height: .55em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform var(--prechod); }
.ma-submenu.otevrene > button::after { transform: rotate(225deg) translateY(-2px); }
.submenu {
  position: absolute; top: calc(100% + 10px); left: 50%; translate: -50% 0;
  min-width: 240px; background: var(--bila); border-radius: var(--radius);
  box-shadow: var(--stin-velky); padding: .5rem; list-style: none; margin: 0;
  opacity: 0; visibility: hidden; translate: -50% 8px; transition: opacity var(--prechod), translate var(--prechod), visibility var(--prechod);
}
.ma-submenu.otevrene .submenu { opacity: 1; visibility: visible; translate: -50% 0; }
.submenu a { display: block; padding: .55em .9em; border-radius: 9px; }
.submenu a:hover, .submenu a[aria-current="page"] { background: var(--zelena-bg); }

/* sociální ikony v hlavičce */
.hlavicka-socky { display: none; align-items: center; gap: .35rem; }
.socka { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--modra); transition: transform var(--prechod); }
.socka:hover { transform: scale(1.12); }
.socka svg { width: 19px; height: 19px; fill: currentColor; }

.hlavicka .btn { padding: .6em 1.4em; }

/* hamburger */
.burger { display: grid; place-items: center; width: 44px; height: 44px; background: none; border: 0; cursor: pointer; }
.burger span, .burger span::before, .burger span::after {
  content: ""; display: block; width: 24px; height: 3px; border-radius: 2px; background: var(--modra); position: relative; transition: transform var(--prechod), opacity var(--prechod);
}
.burger span::before { position: absolute; top: -8px; }
.burger span::after { position: absolute; top: 8px; }
body.menu-otevrene .burger span { background: transparent; }
body.menu-otevrene .burger span::before { transform: translateY(8px) rotate(45deg); }
body.menu-otevrene .burger span::after { transform: translateY(-8px) rotate(-45deg); }

/* mobilní menu panel */
.mobilni-menu {
  position: fixed; inset: var(--header-vyska) 0 auto 0; z-index: 190;
  background: var(--bila); box-shadow: var(--stin-velky);
  padding: 1rem 1.25rem 1.5rem; display: none; max-height: calc(100dvh - var(--header-vyska)); overflow-y: auto;
}
body.menu-otevrene .mobilni-menu { display: block; }
.mobilni-menu ul { list-style: none; margin: 0; padding: 0; }
.mobilni-menu a { display: block; padding: .7em .2em; text-decoration: none; color: var(--modra); font-weight: 600; border-bottom: 1px solid var(--seda-bg); }
.mobilni-menu .pozice-nadpis { padding: .7em .2em .2em; font-weight: 800; color: var(--text-sekundarni); font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; }
.mobilni-menu .submenu-mobil a { padding-left: 1.2em; font-weight: 400; }
.mobilni-menu-socky { display: flex; gap: .5rem; padding-top: 1rem; }

@media (min-width: 900px) {
  .menu { display: block; }
  .hlavicka-socky { display: flex; }
  .burger, .mobilni-menu { display: none !important; }
}

/* ---------- Hero ---------- */
.hero { padding: clamp(2.5rem, 6vw, 4.5rem) 0; overflow: hidden; }
.hero-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 900px) { .hero-grid { grid-template-columns: 6fr 5fr; } }
.hero h1 { margin-bottom: .4em; }
.hero-checky { list-style: none; padding: 0; margin: 1.2em 0 1.6em; display: grid; gap: .55em; }
.hero-checky li { display: flex; gap: .6em; align-items: baseline; font-weight: 700; font-size: 1.1rem; color: var(--modra); }
.hero-checky li::before { content: "✓"; color: var(--zelena); font-weight: 800; font-size: 1.15em; }
.hero-cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 1.8rem; }

.hero-box {
  position: relative; background: var(--zelena-bg); border: 1px solid #cdeedd;
  border-radius: var(--radius-lg); padding: 1.4rem 1.6rem; overflow: hidden;
}
.hero-box h3 { color: var(--zelena-tmava); margin-bottom: .35em; }
.hero-box p { margin: 0; color: var(--text); }
.hero-box .liga { position: absolute; right: -26px; bottom: -26px; width: 110px; opacity: .16; pointer-events: none; }

.hero-mapa { text-align: center; }
.hero-mapa a { display: inline-block; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--stin); transition: transform var(--prechod); }
.hero-mapa a:hover { transform: scale(1.02); }
.hero-mapa small { display: block; margin-top: .6rem; color: var(--text-sekundarni); }

/* ---------- Sekce Ploty Dobrý (zelená) ---------- */
.ofirme-grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 900px) { .ofirme-grid { grid-template-columns: 1fr 1fr; } }
.ofirme-body { list-style: none; padding: 0; margin: 0 0 1.5em; display: grid; gap: .9em; }
.ofirme-body li { padding-left: 1.5em; position: relative; }
.ofirme-body li::before { content: "→"; position: absolute; left: 0; font-weight: 800; color: var(--zluta); }

/* ---------- Lazy YouTube ---------- */
.yt {
  position: relative; aspect-ratio: 16 / 9; width: 100%;
  border: 0; border-radius: var(--radius-lg); overflow: hidden; cursor: pointer;
  background: var(--modra); box-shadow: var(--stin-velky); padding: 0; display: block;
}
.yt img.yt-nahled { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.yt::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(25,25,50,.35), rgba(25,25,50,0) 55%); }
.yt .yt-play {
  position: absolute; z-index: 2; left: 50%; top: 50%; translate: -50% -50%;
  width: 74px; height: 52px; border-radius: 14px; background: rgba(25, 25, 50, .85);
  display: grid; place-items: center; transition: transform var(--prechod), background var(--prechod);
}
.yt .yt-play::before { content: ""; border-style: solid; border-width: 11px 0 11px 19px; border-color: transparent transparent transparent #fff; margin-left: 4px; }
.yt:hover .yt-play { transform: scale(1.1); background: var(--zelena); }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
/* aktivní přehrávač — po kliknutí nahradí tlačítko (div, ne button, ať nic neblokuje iframe) */
.yt-prehravac { position: relative; aspect-ratio: 16 / 9; width: 100%; border-radius: var(--radius-lg); overflow: hidden; background: var(--modra); box-shadow: var(--stin-velky); }
.yt-prehravac iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Dlaždice pozic ---------- */
.pozice-grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) { .pozice-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 980px) { .pozice-grid { grid-template-columns: repeat(4, 1fr); } }
.pozice-dlazdice {
  background: var(--bila); border-radius: var(--radius-lg); padding: 1.6rem 1rem 1.4rem;
  text-align: center; text-decoration: none; box-shadow: var(--stin);
  transition: transform var(--prechod), box-shadow var(--prechod);
  display: flex; flex-direction: column; align-items: center; gap: .35rem;
}
.pozice-dlazdice:hover { transform: scale(1.045); box-shadow: var(--stin-velky); }
.pozice-dlazdice img { width: 96px; height: 96px; }
.pozice-dlazdice strong { color: var(--modra); font-size: 1.05rem; line-height: 1.3; }
.pozice-dlazdice span { color: var(--text-sekundarni); font-size: .88rem; }

/* ---------- Jsme tým ---------- */
.tym-grid { display: grid; gap: 1.4rem; margin-bottom: 2.5rem; }
@media (min-width: 800px) { .tym-grid { grid-template-columns: repeat(3, 1fr); align-items: start; } }
.tym-karta { background: var(--bila); border-radius: var(--radius-lg); padding: 1.6rem 1.4rem; box-shadow: var(--stin); text-align: center; }
/* fotky zaměstnanců mají kruh se zeleným rámečkem už v souboru — žádný CSS ořez */
.tym-karta img { width: 150px; margin: 0 auto .9rem; }
.tym-karta h3 { margin-bottom: .5em; }
.tym-karta p { color: var(--text-sekundarni); margin: 0; text-align: left; }
.tym-karta .oriznuto { display: -webkit-box; -webkit-line-clamp: 6; line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.tym-karta .oriznuto.rozbalene { -webkit-line-clamp: unset; line-clamp: unset; }
.zobrazit-vice { background: none; border: 0; color: var(--zelena-tmava); font: inherit; font-weight: 700; cursor: pointer; padding: .5em 0 0; }
.zobrazit-vice:hover { text-decoration: underline; }
.tym-video { max-width: 760px; margin: 0 auto; }

/* ---------- Statistiky ---------- */
.stat-grid { display: grid; gap: 2rem; text-align: center; }
@media (min-width: 700px) { .stat-grid { grid-template-columns: repeat(3, 1fr); } }
.stat-cislo { font-size: clamp(2.4rem, 6vw, 3.6rem); font-weight: 800; color: var(--zelena); line-height: 1.1; }
.stat-popis { color: var(--text-sekundarni); font-weight: 600; }

/* ---------- Kontakt ---------- */
.kontakt-grid { display: grid; gap: 1.6rem; align-items: start; }
@media (min-width: 950px) { .kontakt-grid { grid-template-columns: 5fr 6fr; } }
.kontakt-karta {
  display: grid; grid-template-columns: 84px 1fr; gap: 1.1rem; align-items: start;
  background: var(--bila); border-radius: var(--radius-lg); padding: 1.4rem; box-shadow: var(--stin); margin-bottom: 1.1rem;
}
.kontakt-karta img { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; }
.kontakt-karta h3 { margin-bottom: .1em; }
.kontakt-role { color: var(--text-sekundarni); font-size: .9rem; margin-bottom: .6em; }
.kontakt-radek { display: flex; gap: .5em; align-items: baseline; margin: .15em 0; }
.kontakt-radek a { font-weight: 600; text-decoration: none; color: var(--modra); }
.kontakt-radek a:hover { color: var(--zelena-tmava); }
.kontakt-radek svg { width: 15px; height: 15px; fill: var(--zelena); flex-shrink: 0; translate: 0 2px; }

/* formulář — modrý panel; SE embed uvnitř přestylován.
   SE styly mají vysokou specificitu (.se-webform-169 .se-label apod.) a form
   má inline width:300px → nutný prefix .form-panel .se-wrap + !important. */
.form-panel { background: var(--modra); border-radius: var(--radius-lg); padding: clamp(1.4rem, 3vw, 2.2rem); box-shadow: var(--stin-velky); }
.form-panel .se-wrap form.se-webform,
.form-panel .se-wrap .se-webform-inner {
  width: 100% !important; max-width: none !important; min-width: 0 !important;
  background: none !important; border: 0 !important; box-shadow: none !important;
  border-radius: 0 !important; padding: 0 !important; margin: 0 !important;
  font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
}
/* výchozí SE nadpis sem nepatří — text nadpisu/tlačítka se řeší v SE adminu */
.form-panel .se-wrap .se-header { display: none !important; }
.form-panel .se-wrap .se-body { background: none !important; padding: 0 !important; }
.form-panel .se-wrap .se-body ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.form-panel .se-wrap .se-body li { margin: 0 !important; padding: 7px 0 !important; }
.form-panel .se-wrap label {
  color: var(--bila) !important; font-family: inherit !important;
  font-size: .92rem !important; font-weight: 600 !important; text-align: left !important;
  display: block !important; margin: 0 0 .3em !important;
}
.form-panel .se-wrap .se-body input[type="text"], .form-panel .se-wrap .se-body input[type="email"],
.form-panel .se-wrap .se-body input[type="tel"], .form-panel .se-wrap .se-body input[type="number"],
.form-panel .se-wrap .se-body textarea, .form-panel .se-wrap .se-body select {
  display: block !important; width: 100% !important; box-sizing: border-box !important;
  background: var(--bila) !important; color: var(--modra) !important;
  border: 2px solid transparent !important; border-radius: 10px !important;
  padding: .7em .9em !important; font-family: inherit !important; font-size: 1rem !important;
  box-shadow: none !important; outline: none !important; margin: 0 !important;
  transition: border-color var(--prechod);
}
.form-panel .se-wrap .se-body input:focus, .form-panel .se-wrap .se-body textarea:focus { border-color: var(--zelena) !important; }
.form-panel .se-wrap .se-body textarea { min-height: 160px !important; resize: vertical !important; }
.form-panel .se-wrap .se-submit { background: none !important; padding: 1rem 0 0 !important; text-align: center !important; }
.form-panel .se-wrap .se-submit button, .form-panel .se-wrap button[type="submit"], .form-panel .se-wrap input[type="submit"] {
  display: inline-block !important; width: auto !important;
  background: var(--zelena) !important; color: var(--bila) !important;
  border: 0 !important; border-radius: 999px !important;
  padding: .8em 2.4em !important; font-family: inherit !important;
  font-size: 1.02rem !important; font-weight: 700 !important; cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(0, 180, 110, .35) !important;
  transition: transform var(--prechod) !important; text-transform: none !important;
}
.form-panel .se-wrap .se-submit button:hover, .form-panel .se-wrap input[type="submit"]:hover { transform: scale(1.05) !important; background: var(--zelena) !important; }
.form-panel .se-wrap p, .form-panel .se-wrap span { color: #d8d8ea; font-family: inherit !important; }
.form-panel .se-wrap a { color: var(--zluta) !important; }
.form-panel .se-wrap [class*="error"], .form-panel .se-wrap [class*="Error"], .form-panel .se-wrap [class*="invalid"] { color: #ffd2d2 !important; }

/* ---------- HR Čajík ---------- */
.hrcajik {
  background: #fdf9e3; border: 1px solid #f1e9b6; border-radius: var(--radius-lg);
  padding: clamp(1.5rem, 4vw, 2.4rem); display: grid; gap: 1.4rem; align-items: center;
}
@media (min-width: 800px) { .hrcajik { grid-template-columns: 120px 1fr auto; } }
.hrcajik img { width: 100px; margin-inline: auto; }
.hrcajik-stitek { display: inline-block; font-size: .78rem; font-weight: 800; letter-spacing: .08em; color: var(--modra); text-transform: uppercase; margin-bottom: .3em; }
.hrcajik h2 { margin-bottom: .3em; font-size: 1.4rem; }
.hrcajik p { margin: 0; color: var(--text-sekundarni); }

/* ---------- Patička ---------- */
.paticka { background: var(--modra); color: #c9c9dd; padding: 3.5rem 0 0; margin-top: clamp(3rem, 7vw, 5rem); }
.paticka a { color: var(--bila); text-decoration: none; }
.paticka a:hover { color: var(--zelena); }
.paticka-grid { display: grid; gap: 2.2rem; padding-bottom: 2.5rem; }
@media (min-width: 800px) { .paticka-grid { grid-template-columns: 1.2fr 1fr 1fr 1.2fr; } }
.paticka h4 { color: var(--bila); font-size: 1rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1em; }
.paticka ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45em; }
.paticka .pod-polozka { padding-left: 1em; font-size: .95em; }
.paticka-logo img { width: 190px; margin-bottom: 1.2rem; }
.paticka-socky { display: flex; gap: .4rem; flex-wrap: wrap; }
.paticka-socky .socka { color: var(--bila); background: rgba(255, 255, 255, .08); }
.paticka address { font-style: normal; line-height: 1.8; }
.paticka-spodek { border-top: 1px solid rgba(255, 255, 255, .12); padding: 1.2rem 0; text-align: center; font-size: .9rem; }

/* ---------- Cookie panel (centrovaný, s překryvem — ať ho nikdo nepřehlédne) ---------- */
.cookie-lista {
  position: fixed; z-index: 300; inset: 0;
  display: none; place-items: center;
  background: rgba(25, 25, 50, .6);
  padding: 1.25rem;
}
.cookie-lista.zobrazena { display: grid; }
.cookie-vnitrek {
  background: var(--bila); color: var(--text);
  width: min(440px, 100%); border-radius: var(--radius-lg);
  padding: 2rem 1.8rem; box-shadow: var(--stin-velky); text-align: center;
}
.cookie-nadpis { display: block; font-size: 1.25rem; font-weight: 800; color: var(--modra); margin-bottom: .5em; }
.cookie-vnitrek p { margin: 0 0 1.4em; font-size: .95rem; color: var(--text-sekundarni); }
.cookie-tlacitka { display: grid; gap: .7rem; }
.cookie-tlacitka .btn-zeleny { font-size: 1.05rem; }
.cookie-tlacitka .btn-obrys { box-shadow: inset 0 0 0 2px #d4d4de; color: var(--text-sekundarni); font-weight: 600; }
.paticka-cookie { background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: var(--bila); text-decoration: underline; }
.paticka-cookie:hover { color: var(--zelena); }

/* ---------- Podstránky oddělení ---------- */
.odd-intro { padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(2rem, 5vw, 3rem); }
.odd-intro-grid { display: grid; gap: 2rem; align-items: center; }
@media (min-width: 900px) { .odd-intro-grid { grid-template-columns: 7fr 4fr; } }
/* lokalita oddělení — jen textový štítek, ne tlačítko */
.odd-chip { display: inline-block; margin-top: .5rem; color: var(--zelena-tmava); font-weight: 700; font-size: 1.05rem; }
.odd-mapa img { margin-inline: auto; }

.odd-karty { display: grid; gap: 1.4rem; }
@media (min-width: 850px) { .odd-karty { grid-template-columns: repeat(var(--sloupce, 2), 1fr); } }
.odd-karta { background: var(--bila); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--stin-velky); display: flex; flex-direction: column; }
.odd-karta img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.odd-karta-telo { padding: 1.4rem 1.5rem 1.6rem; }
.odd-karta-telo h3 { font-size: 1.25rem; }
.odd-karta-telo p { margin: 0; color: var(--text-sekundarni); }

.odd-obsah { max-width: 820px; }
.odd-obsah h3 { margin-top: 1.6em; }

/* citace zaměstnanců */
.citace-grid { display: grid; gap: 1.4rem; }
@media (min-width: 800px) { .citace-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } }
.citace {
  background: var(--bila); border-radius: var(--radius-lg); padding: 1.6rem 1.5rem;
  box-shadow: var(--stin); display: grid; grid-template-columns: 88px 1fr; gap: 1.1rem; align-items: start;
}
/* kruh je součástí fotky — bez CSS ořezu */
.citace img { width: 88px; }
.citace h3 { margin-bottom: 0; font-size: 1.05rem; }
.citace .citace-stitek { color: var(--zelena-tmava); font-size: .85rem; font-weight: 700; margin-bottom: .5em; }
.citace blockquote { margin: 0; color: var(--text-sekundarni); font-style: italic; }

/* FAQ accordion */
.faq { max-width: 820px; margin-inline: auto; display: grid; gap: .8rem; }
.faq details { background: var(--bila); border-radius: var(--radius); box-shadow: var(--stin); overflow: hidden; }
.faq summary {
  list-style: none; cursor: pointer; padding: 1.05em 1.3em;
  font-weight: 800; color: var(--modra); display: flex; justify-content: space-between; align-items: center; gap: 1em;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.5em; font-weight: 400; color: var(--zelena); line-height: 1; transition: transform var(--prechod); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details > div { padding: 0 1.3em 1.2em; color: var(--text-sekundarni); }

/* výzva pod FAQ */
.odd-vyzva { max-width: 820px; margin: 2.2rem auto 0; background: var(--zelena-bg); border: 1px solid #cdeedd; border-radius: var(--radius-lg); padding: 1.3rem 1.6rem; }
.odd-vyzva p { margin: .3em 0; font-weight: 600; color: var(--modra); }

/* ---------- O firmě ---------- */
.galerie { display: grid; gap: .9rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) { .galerie { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .galerie { grid-template-columns: repeat(4, 1fr); } }
.galerie a { display: block; border-radius: var(--radius); overflow: hidden; box-shadow: var(--stin); aspect-ratio: 4 / 3; transition: transform var(--prechod); }
.galerie a:hover { transform: scale(1.03); }
.galerie img { width: 100%; height: 100%; object-fit: cover; }
dialog.lightbox { border: 0; border-radius: var(--radius); padding: 0; max-width: min(92vw, 1100px); background: transparent; }
dialog.lightbox::backdrop { background: rgba(25, 25, 50, .85); }
dialog.lightbox img { border-radius: var(--radius); max-height: 88vh; width: auto; max-width: 100%; margin-inline: auto; }

.check-list { list-style: none; padding: 0; margin: 1.2em 0; display: grid; gap: .8em; }
.check-list li { padding-left: 1.7em; position: relative; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--zelena); font-weight: 800; }

/* ---------- Jednoduché stránky (děkovačka, 404) ---------- */
.stranka-stred { min-height: 55vh; display: grid; place-items: center; text-align: center; padding: 3rem 0; }
.stranka-stred .ikona-kruh {
  width: 92px; height: 92px; border-radius: 50%; background: var(--zelena-bg);
  display: grid; place-items: center; margin: 0 auto 1.4rem; color: var(--zelena); font-size: 2.6rem; font-weight: 800;
}
.stranka-stred img.chyba-foto { max-width: 300px; border-radius: var(--radius-lg); margin: 0 auto 1.5rem; box-shadow: var(--stin-velky); }

/* ---------- Drobnosti ---------- */
::selection { background: var(--zelena); color: var(--bila); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
