/* ============================================================
   1SJG – hlavní styly
   Design vychází z původního webu (Divi), viz _podklady/design.md
   ============================================================ */

:root {
	--fialova: #6733ff;
	--fialova-tmava: #5429d6;
	--zelena: #12b27b;
	--zelena-tmava: #0e9466;
	--zluta: #ffd605;
	--nadpis: #434444;
	--text: #666666;
	--seda: #8f97a0;
	--pozadi-svetle: #f0f0f0;
	--okraj: #e8e8e8;
	--bila: #ffffff;
	--pismo: "Nunito", Helvetica, Arial, sans-serif;
	--radius: 8px;
	--stin-karta: 0 2px 10px rgba(0, 0, 0, 0.06);
}

/* ---------- Reset a základ ---------- */
*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	font-family: var(--pismo);
	font-size: 14px;
	line-height: 1.7;
	color: var(--text);
	background: var(--bila);
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
	color: var(--nadpis);
	line-height: 1.25;
	margin: 0 0 0.6em;
	font-weight: 700;
}

h1 { font-size: 34px; }
h2 { font-size: 26px; }
h3 { font-size: 20px; }
h4 { font-size: 16px; }

p { margin: 0 0 1em; }

a { color: var(--fialova); text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: var(--fialova-tmava); }

.zeleny { color: var(--zelena); }

.kontejner {
	width: min(90%, 1280px);
	margin-inline: auto;
}

.preskocit {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--fialova);
	color: #fff;
	padding: 10px 16px;
	z-index: 200;
}
.preskocit:focus { left: 0; color: #fff; }

/* ---------- Tlačítka ---------- */
.tlacitko {
	display: inline-block;
	background: var(--fialova);
	color: #fff;
	font-family: var(--pismo);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	padding: 13px 24px;
	border: 0;
	border-radius: 6px;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}
.tlacitko:hover { background: var(--fialova-tmava); color: #fff; transform: translateY(-1px); }
.tlacitko--zelene { background: var(--zelena); }
.tlacitko--zelene:hover { background: var(--zelena-tmava); }

/* ---------- Horní lišta ---------- */
.top-lista {
	background: var(--seda);
	font-size: 13px;
}
.top-lista__vnitrek {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 38px;
}
.top-lista__socialni { display: flex; gap: 12px; }
.top-lista__socialni a { color: #fff; display: inline-flex; align-items: center; }
.top-lista__socialni a:hover { color: var(--zluta); }
.top-lista__seznam {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 24px;
}
.top-lista__seznam a { color: #fff; text-decoration: none; }
.top-lista__seznam a:hover { color: var(--zluta); }

/* ---------- Hlavička ---------- */
.hlavicka {
	background: var(--bila);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
	position: relative;
	z-index: 100;
}
.hlavicka__vnitrek {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 88px;
}
.hlavicka__logo img,
.custom-logo { max-height: 60px; width: auto; }
.hlavicka__seznam {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 6px 30px;
}
.hlavicka__seznam a {
	color: var(--nadpis);
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
}
.hlavicka__seznam a:hover { color: var(--fialova); }
.hlavicka__seznam .current-menu-item > a,
.hlavicka__seznam .current_page_item > a,
.hlavicka__seznam .current-menu-ancestor > a { color: var(--seda); }

/* podmenu */
.hlavicka__seznam .sub-menu {
	display: none;
	position: absolute;
	background: var(--bila);
	list-style: none;
	margin: 0;
	padding: 10px 0;
	min-width: 230px;
	box-shadow: var(--stin-karta);
	border-radius: 0 0 var(--radius) var(--radius);
}
.hlavicka__seznam li { position: relative; }
.hlavicka__seznam li:hover > .sub-menu,
.hlavicka__seznam li:focus-within > .sub-menu { display: block; }
.hlavicka__seznam .sub-menu a { display: block; padding: 7px 18px; font-size: 14px; }

.hlavicka__hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 8px;
	background: none;
	border: 0;
	cursor: pointer;
}
.hlavicka__hamburger span {
	display: block;
	height: 2px;
	background: var(--nadpis);
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.hlavicka__hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hlavicka__hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hlavicka__hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Drobečky ---------- */
.drobecky {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--seda);
	padding: 18px 0 0;
}
.drobecky a { color: var(--seda); text-decoration: none; display: inline-flex; align-items: center; }
.drobecky a:hover { color: var(--fialova); }
.drobecky__sipka { color: var(--seda); }

/* ---------- Obsahová část ---------- */
.obsah { min-height: 50vh; }

.sekce { padding: 48px 0; }
.sekce--seda { background: var(--pozadi-svetle); }

.stranka__hlava { position: relative; padding: 28px 0 8px; }
.stranka__hlava h1 { margin-bottom: 10px; }

/* dekorační bloby u nadpisů (organické tvary jako na původním webu) */
.bloby {
	position: absolute;
	right: 0;
	top: 0;
	width: 230px;
	height: 170px;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 230 170'%3E%3Cpath fill='%23ffd605' d='M28 38c4-14 20-22 33-16s18 21 12 33-21 16-32 9-17-13-13-26z'/%3E%3Cpath fill='%2312b27b' d='M148 70c8-18 32-25 48-14s20 32 10 47-32 19-46 8-20-23-12-41z'/%3E%3Cpath fill='%236733ff' d='M88 118c7-6 18-5 23 2s3 17-4 21-17 3-21-4-4-13 2-19z'/%3E%3Ccircle fill='%2312b27b' cx='210' cy='22' r='7'/%3E%3Ccircle fill='%23ffd605' cx='60' cy='12' r='5'/%3E%3Ccircle fill='%236733ff' cx='170' cy='150' r='6'/%3E%3C/svg%3E");
}

.clanek-obsah { max-width: 820px; margin-inline: auto; }
/* Stránky (rozcestníky se sloupci): širší a vycentrované jako na původním webu */
.page .drobecky,
.page .stranka__hlava,
.page .clanek-obsah { max-width: 1120px; margin-inline: auto; }
/* Detail novinky: čitelná šířka, vycentrováno */
.single .drobecky,
.single .stranka__hlava,
.single .clanek-obsah { max-width: 820px; margin-inline: auto; }
/* vzdušnější mezery mezi sloupci a dlaždicemi */
.clanek-obsah .wp-block-columns { gap: 40px; }
.clanek-obsah .wp-block-column > * + * { margin-top: 1.1rem; }
/* dekorativní „blob" grafika z migrace – malá vpravo, jako na originále */
.clanek-obsah img[src*="Datovy-zdroj"] {
	max-width: 150px;
	height: auto;
	margin: 0 0 0 auto;
	display: block;
}
/* sloupec, který drží jen tu dekoraci, ať nezabírá půl řádku */
.clanek-obsah .wp-block-columns:has(img[src*="Datovy-zdroj"]) { align-items: flex-start; }
.clanek-obsah .wp-block-column:has(> figure > img[src*="Datovy-zdroj"]):only-of-type,
.clanek-obsah .wp-block-column:has(> figure img[src*="Datovy-zdroj"]) { flex: 0 0 180px; }
.clanek-obsah h2 { margin-top: 1.4em; }
.clanek-obsah h3 { margin-top: 1.2em; }
.clanek-obsah img { border-radius: var(--radius); margin: 12px 0; }
.clanek-obsah ul, .clanek-obsah ol { padding-left: 22px; margin: 0 0 1em; }
.clanek-obsah li { margin-bottom: 4px; }
.clanek-obsah table {
	border-collapse: collapse;
	width: 100%;
	margin: 0 0 1.2em;
	font-size: 14px;
}
.clanek-obsah th, .clanek-obsah td {
	border: 1px solid var(--okraj);
	padding: 8px 12px;
	text-align: left;
}
.clanek-obsah th { background: var(--pozadi-svetle); color: var(--nadpis); }
.clanek-obsah blockquote {
	border-left: 3px solid var(--zelena);
	margin: 0 0 1.2em;
	padding: 6px 0 6px 18px;
	color: var(--nadpis);
	font-style: italic;
}

/* galerie WP */
.clanek-obsah .gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 12px;
}
.gallery .gallery-item { margin: 0; }
/* Moderní bloková galerie – pevná mřížka s jednotně oříznutými fotkami */
.clanek-obsah .wp-block-gallery.has-nested-images {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 14px !important;
}
.clanek-obsah .wp-block-gallery.has-nested-images > .wp-block-image {
	width: auto !important;
	margin: 0 !important;
	height: 230px;
}
.clanek-obsah .wp-block-gallery.has-nested-images > .wp-block-image > a,
.clanek-obsah .wp-block-gallery.has-nested-images > .wp-block-image > figure { height: 100%; margin: 0; }
.clanek-obsah .wp-block-gallery.has-nested-images img {
	width: 100% !important;
	height: 230px !important;
	object-fit: cover !important;
	border-radius: 12px;
}
@media (max-width: 781px) {
	.clanek-obsah .wp-block-gallery.has-nested-images { grid-template-columns: repeat(2, 1fr) !important; }
	.clanek-obsah .wp-block-gallery.has-nested-images > .wp-block-image,
	.clanek-obsah .wp-block-gallery.has-nested-images img { height: 160px !important; }
}

/* ---------- Štítky / badge ---------- */
.badge {
	display: inline-block;
	background: var(--bila);
	color: var(--nadpis);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 4px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

/* ---------- Karty novinek ---------- */
.mrizka-novinky {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.karta {
	background: var(--bila);
	border: 1px solid var(--okraj);
	border-radius: var(--radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.karta:hover { box-shadow: var(--stin-karta); transform: translateY(-2px); }
.karta__obrazek { position: relative; aspect-ratio: 3 / 2; background: var(--pozadi-svetle); }
.karta__obrazek img { width: 100%; height: 100%; object-fit: cover; display: block; }
.karta__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 8px; }
.karta__telo { padding: 20px 22px 14px; flex: 1; display: flex; flex-direction: column; }
.karta__titulek { font-size: 18px; margin-bottom: 10px; }
.karta__titulek a { color: var(--nadpis); text-decoration: none; }
.karta__titulek a:hover { color: var(--fialova); }
.karta__perex { flex: 1; margin-bottom: 12px; }
.karta__vice { font-weight: 600; text-decoration: none; }
.karta__pata {
	border-top: 1px solid var(--okraj);
	padding: 10px 22px;
	font-size: 12px;
	color: var(--seda);
	display: flex;
	align-items: center;
	gap: 6px;
}

/* ---------- Filtr rubrik ---------- */
.filtr-rubrik {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 26px 0 40px;
}
.filtr-rubrik a {
	background: var(--pozadi-svetle);
	color: var(--fialova);
	font-size: 15px;
	font-weight: 500;
	padding: 9px 20px;
	border-radius: 5px;
	text-decoration: none;
	transition: background 0.15s ease;
}
.filtr-rubrik a:hover { background: #e4e4e4; }
.filtr-rubrik a.aktivni { background: var(--fialova); color: #fff; }

/* ---------- Stránkování ---------- */
.strankovani { display: flex; justify-content: center; gap: 8px; margin: 40px 0 10px; }
.strankovani .page-numbers {
	display: inline-block;
	min-width: 38px;
	text-align: center;
	padding: 8px 10px;
	background: var(--pozadi-svetle);
	border-radius: 5px;
	color: var(--nadpis);
	text-decoration: none;
	font-weight: 600;
}
.strankovani .page-numbers.current { background: var(--fialova); color: #fff; }
.strankovani .page-numbers:hover { background: #e4e4e4; }

/* ---------- Detail novinky ---------- */
.novinka__rok { margin-bottom: 14px; }
.novinka__rok .badge { background: var(--pozadi-svetle); box-shadow: none; }
.novinka__datum {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--seda);
	font-size: 13px;
	margin-bottom: 26px;
}

/* ---------- Dlaždice (rozcestníky) ---------- */
.dlazdice {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;
}
.dlazdice__polozka {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	border-radius: var(--radius);
	padding: 26px 24px;
	color: #fff;
	text-decoration: none;
	background: var(--zelena);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.dlazdice__polozka:hover { transform: translateY(-3px); box-shadow: var(--stin-karta); color: #fff; }
.dlazdice__polozka h3 { color: inherit; font-size: 18px; margin-bottom: 6px; }
.dlazdice__polozka p { margin: 0; font-size: 13px; opacity: 0.95; }
.dlazdice__polozka--fialova { background: var(--fialova); }
.dlazdice__polozka--zluta { background: var(--zluta); color: var(--nadpis); }
.dlazdice__polozka--zluta:hover { color: var(--nadpis); }
.dlazdice__polozka--seda { background: var(--seda); }

/* Varianta „odkaz" – zeleně odrážkovaný textový odkaz (ne barevný blok) */
.dlazdice__odkaz {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	text-decoration: none;
	color: var(--nadpis);
	font-weight: 500;
}
.dlazdice__odkaz:hover { color: var(--fialova); }
.dlazdice__odkaz-b {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(18, 178, 123, 0.15);
	color: var(--zelena);
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.dlazdice__odkaz-t small { display: block; font-weight: 400; font-size: 0.85rem; color: var(--text); }
/* mřížka, která obsahuje jen odrážkové odkazy → skládat pod sebe, ne do dlaždic */
.dlazdice:has(> .dlazdice__odkaz) {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

/* ---------- Vícesloupcové bloky (z migrace) ---------- */
.sloupce { display: grid; gap: 32px; align-items: start; margin: 0 0 1.2em; }
.sloupce--2 { grid-template-columns: 1fr 1fr; }
.sloupce--3 { grid-template-columns: repeat(3, 1fr); }
.sloupce--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 860px) {
	.sloupce--2, .sloupce--3, .sloupce--4 { grid-template-columns: 1fr; }
}
.clanek-obsah .dlazdice { margin: 0 0 1.4em; }

/* dekorační obrázek (blob) jako jediný obsah sloupce – omezit velikost */
.clanek-obsah .sloupce > div > figure:only-child img {
	max-height: 300px;
	width: auto;
	margin-inline: auto;
	display: block;
}

/* ---------- Box se seznamem odkazů ---------- */
.box-odkazy {
	background: var(--pozadi-svetle);
	border-radius: var(--radius);
	padding: 30px 34px;
}
.box-odkazy h2 { font-size: 22px; }
.box-odkazy ul { list-style: none; margin: 0; padding: 0; }
.box-odkazy li { padding: 7px 0; display: flex; align-items: center; gap: 12px; }
.box-odkazy li::before {
	content: "›";
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(18, 178, 123, 0.15);
	color: var(--zelena);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.box-odkazy a { color: var(--nadpis); text-decoration: none; font-weight: 500; }
.box-odkazy a:hover { color: var(--fialova); }

/* ---------- Akordeon (kabinety apod.) ---------- */
.akordeon {
	background: #f7f7f7;
	border: 1px solid var(--okraj);
	border-radius: 5px;
	margin-bottom: 10px;
}
.akordeon summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	font-weight: 600;
	color: var(--nadpis);
}
.akordeon summary::-webkit-details-marker { display: none; }
.akordeon summary::after { content: "+"; font-size: 18px; color: var(--seda); }
.akordeon[open] summary::after { content: "–"; }
.akordeon__telo { padding: 0 18px 16px; }
.akordeon__telo a[href^="mailto:"] { display: inline-block; margin-bottom: 6px; }

/* ---------- Fotogalerie (markup z migrace masonry galerie) ---------- */
.dipl_masonry_gallery_wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 14px;
	margin: 18px 0;
}
.dipl_masonry_gallery_item { display: block; }
.dipl_masonry_gallery_item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--radius);
	display: block;
}
.dipl_masonry_gallery_item_gutter { display: none; }

/* ---------- Statická mřížka log (z migrace sliderů) ---------- */
.loga-mrizka {
	display: flex;
	flex-wrap: wrap;
	gap: 28px 44px;
	align-items: center;
	margin: 18px 0;
}
.loga-polozka img { max-height: 60px; width: auto; }

/* ---------- Formuláře (Contact Form 7) ---------- */
.wpcf7 form {
	background: var(--pozadi-svetle);
	border-radius: var(--radius);
	padding: 36px;
	max-width: 860px;
}
.cf7-mrizka { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
@media (max-width: 640px) { .cf7-mrizka { grid-template-columns: 1fr; } }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	width: 100%;
	background: var(--bila);
	border: 1px solid var(--okraj);
	border-radius: 6px;
	padding: 12px 14px;
	font-family: var(--pismo);
	font-size: 14px;
	color: var(--text);
	margin-bottom: 4px;
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--fialova); outline-offset: 0; }
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 .wpcf7-submit {
	background: var(--fialova);
	color: #fff;
	font-family: var(--pismo);
	font-size: 15px;
	font-weight: 600;
	padding: 13px 28px;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}
.wpcf7 .wpcf7-submit:hover { background: var(--fialova-tmava); }
.wpcf7-not-valid-tip { color: #c0392b; font-size: 12px; }
.wpcf7 form .wpcf7-response-output { border-radius: 6px; margin: 14px 0 0; padding: 10px 14px; }

/* ============================================================
   ÚVODNÍ STRÁNKA
   ============================================================ */

/* ---------- Hero ---------- */
.hero { padding: 40px 0 30px; }
.hero__vnitrek {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 40px;
	align-items: center;
}
.hero h1 { font-size: 40px; margin-bottom: 4px; }
.hero__hashtag {
	font-size: 30px;
	font-weight: 700;
	color: var(--nadpis);
	margin: 6px 0 18px;
	min-height: 1.3em;
}
.hero__perex { max-width: 480px; margin-bottom: 26px; }
.hero__tlacitka { display: flex; flex-wrap: wrap; gap: 16px; }
.hero__obrazek img { display: block; }

/* ---------- Dvojice boxů (harmonogram + aktuality) ---------- */
.hp-boxy {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}
.hp-box {
	background: var(--pozadi-svetle);
	border-radius: var(--radius);
	padding: 34px 36px;
}
.hp-box > h2 { text-align: center; margin-bottom: 22px; }
.hp-box__akce { text-align: center; margin-top: 22px; }

/* seznam událostí */
.udalosti { list-style: none; margin: 0; padding: 0; }
.udalosti li {
	background: var(--bila);
	border-radius: 6px;
	padding: 12px 16px;
	margin-bottom: 10px;
	display: flex;
	gap: 14px;
	align-items: center;
}
.udalosti__datum {
	background: var(--zelena);
	color: #fff;
	border-radius: 6px;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.2;
	padding: 8px 10px;
	text-align: center;
	min-width: 52px;
}
.udalosti__nazev { color: var(--nadpis); font-weight: 600; }

/* ---------- Aktuality (rychlá sdělení) na HP ---------- */
.aktuality-sdeleni { display: flex; flex-direction: column; gap: 12px; }
.aktualita-karta {
	background: var(--bila);
	border-radius: 6px;
	border-top: 4px solid var(--fialova);
	padding: 14px 16px;
	text-align: left;
}
.aktualita-karta__datum { display: block; color: var(--fialova); font-weight: 800; font-size: 12px; margin-bottom: 5px; }
.aktualita-karta__nadpis { font-size: 15px; margin: 0 0 5px; color: var(--nadpis); line-height: 1.3; }
.aktualita-karta__text { font-size: 13px; color: var(--text); line-height: 1.55; }
.aktualita-karta__text > :first-child { margin-top: 0; }
.aktualita-karta__text > :last-child { margin-bottom: 0; }
.aktualita-karta__text p { margin: 0 0 8px; }
.aktualita-karta__text ul, .aktualita-karta__text ol { margin: 0 0 8px; padding-left: 20px; }
.aktualita-karta__text img { max-width: 100%; height: auto; border-radius: 6px; }
/* střídání barev proužků pro živost: fialová → zelená → žlutá */
.aktualita-karta:nth-child(3n+2) { border-top-color: var(--zelena); }
.aktualita-karta:nth-child(3n+2) .aktualita-karta__datum { color: var(--zelena); }
.aktualita-karta:nth-child(3n) { border-top-color: var(--zluta); }
.aktualita-karta:nth-child(3n) .aktualita-karta__datum { color: #b58e00; }

/* ---------- Sekce novinky na HP ---------- */
.hp-novinky h2 { text-align: center; font-size: 28px; margin-bottom: 30px; }
.hp-novinky__vice { text-align: center; margin-top: 34px; }

/* ---------- Ředitel ---------- */
.reditel {
	background: var(--pozadi-svetle);
	border-radius: var(--radius);
	padding: 50px 40px;
	text-align: center;
	max-width: 980px;
	margin-inline: auto;
}
.reditel__foto {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	object-fit: cover;
	margin-bottom: 18px;
}
.reditel h2 { margin-bottom: 2px; font-size: 24px; }
.reditel__role { color: var(--seda); margin-bottom: 18px; }
.reditel__citat { max-width: 760px; margin: 0 auto 24px; }

/* ---------- Partneři ---------- */
.partneri h2 { text-align: center; font-size: 28px; margin-bottom: 28px; }
.partneri__pas { display: flex; align-items: center; gap: 10px; }
.partneri__okno { overflow: hidden; flex: 1; }
.partneri__drah {
	display: flex;
	align-items: center;
	gap: 56px;
	transition: transform 0.45s ease;
	will-change: transform;
}
.partneri__drah img {
	max-height: 64px;
	width: auto;
	flex-shrink: 0;
	filter: grayscale(1);
	opacity: 0.85;
}
/* partner s odkazem – proklikávací logo, na hover se rozsvítí z šedé */
.partneri__drah a.partneri__odkaz { display: inline-flex; align-items: center; flex-shrink: 0; }
.partneri__drah a.partneri__odkaz img { transition: filter 0.2s ease, opacity 0.2s ease; }
.partneri__drah a.partneri__odkaz:hover img { filter: grayscale(0); opacity: 1; }
.partneri__sipka {
	background: none;
	border: 0;
	color: var(--seda);
	cursor: pointer;
	padding: 8px;
}
.partneri__sipka:hover { color: var(--fialova); }

/* ============================================================
   PATIČKA
   ============================================================ */
.paticka {
	background: var(--pozadi-svetle);
	margin-top: 70px;
	font-size: 14px;
}
.paticka__horni {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 24px;
	align-items: center;
	padding: 40px 0 28px;
	border-bottom: 1px solid #ddd;
}
.paticka__logo img { max-height: 64px; width: auto; }
.paticka__kontakt {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
}
.paticka__kontakt a { color: var(--text); text-decoration: none; }
.paticka__kontakt a:hover { color: var(--fialova); }
.paticka__ikona {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.paticka__ikona--fialova { background: var(--fialova); }
.paticka__ikona--zelena { background: var(--zelena); }
.paticka__ikona--zluta { background: var(--zluta); }

.paticka__sloupce {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 28px;
	padding: 34px 0 40px;
}
.paticka__sloupec ul { list-style: none; margin: 0; padding: 0; }
.paticka__sloupec li { margin-bottom: 9px; }
.paticka__sloupec a { color: var(--text); text-decoration: underline; text-decoration-color: #c9c9c9; }
.paticka__sloupec a:hover { color: var(--fialova); }
.paticka__sledujte h3 { font-size: 17px; margin-bottom: 14px; }
.paticka__social {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--seda);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.paticka__social:hover { background: var(--fialova); color: #fff; }
.paticka__firma p { margin: 0 0 8px; }

.paticka__copyright {
	background: #e2e2e2;
	padding: 14px 0;
	font-size: 13px;
}
.paticka__copyright p { margin: 0; }

/* ============================================================
   RESPONZIVITA
   ============================================================ */
@media (max-width: 1024px) {
	.hlavicka__hamburger { display: flex; }
	.hlavicka__menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--bila);
		box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
	}
	.hlavicka__menu.otevrene { display: block; }
	.hlavicka__seznam { flex-direction: column; align-items: stretch; gap: 0; padding: 10px 0; }
	.hlavicka__seznam a { display: block; padding: 12px 24px; }
	.hlavicka__seznam .sub-menu {
		display: block;
		position: static;
		box-shadow: none;
		padding: 0 0 0 18px;
	}

	.hero__vnitrek { grid-template-columns: 1fr; }
	.hero__obrazek { max-width: 520px; margin-inline: auto; }
	.hp-boxy { grid-template-columns: 1fr; }
	.mrizka-novinky { grid-template-columns: repeat(2, 1fr); }
	.paticka__horni { grid-template-columns: 1fr 1fr; }
	.paticka__sloupce { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
	h1 { font-size: 28px; }
	.hero h1 { font-size: 30px; }
	.hero__hashtag { font-size: 24px; }
	.mrizka-novinky { grid-template-columns: 1fr; }
	.dlazdice { grid-template-columns: 1fr; }
	.paticka__horni { grid-template-columns: 1fr; }
	.paticka__sloupce { grid-template-columns: 1fr 1fr; }
	.top-lista__seznam { gap: 4px 14px; }
	.bloby { display: none; }
	.hp-box { padding: 26px 22px; }
}
