/* =========================================================================
   bloky.css — vzhled bloků obsahu na podstránkách podle návrhu v2
   (`.context/navrhy/olsany/olsany-v2-bloky.html` + `olsany-v2-bloky.css`).
   -------------------------------------------------------------------------
   Stojí NAD portlets.css (zděděným z noveolsany): ten drží kontrakty
   rendererů a pojistky (FullCalendar, `min-width: 0`, deska v úzkém sloupci,
   barvy ČHMÚ, `--portlet-bg`), tenhle soubor jen převléká vzhled. Všechno
   je pod `.nol-obsah`, aby se to nepletlo do sekcí titulky (titulka.css).

   Rozdíl proti noveolsany: návrh v2 bloky RÁMUJE tam, kde to nese význam
   (anketa, ČHMÚ, tabulka desky se modrou horní linkou, dlaždice
   rozcestníku). Ostré rohy, modrá + červená, nadpisy Figtree 800.
   ========================================================================= */

/* ── 01 Text ───────────────────────────────────────────────────────── */

.nol-obsah {
	font-size: 17px;
	line-height: 1.7;
}

.nol-obsah > .portlet.row + .portlet.row { margin-top: var(--nol-mezera-5); }

.nol-obsah h2 {
	margin: 40px 0 20px;
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.nol-obsah h2::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin-top: 14px;
	background: var(--nol-cervena);
}

.nol-obsah .portlet.row:first-child h2:first-child { margin-top: 0; }

.nol-obsah h3 {
	margin: 34px 0 10px;
	font-size: 23px;
	font-weight: 800;
}

.nol-obsah .perex,
.nol-obsah .perex_inside {
	font-size: 20px;
	line-height: 1.6;
	color: var(--nol-text-tlumeny);
}

.nol-obsah :is(.col-md-12, .text_clanku) > :is(p, ul, ol, table) a {
	color: var(--nol-primarni);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
}

.nol-obsah .col-md-12 > ul,
.nol-obsah .col-md-12 > ol,
.nol-obsah .text_clanku ul,
.nol-obsah .text_clanku ol {
	list-style: none;
	padding-left: 0;
}

.nol-obsah .col-md-12 > ul > li,
.nol-obsah .col-md-12 > ol > li,
.nol-obsah .text_clanku ul > li,
.nol-obsah .text_clanku ol > li {
	position: relative;
	margin: 7px 0;
	padding-left: 30px;
}

.nol-obsah .col-md-12 > ul > li::before,
.nol-obsah .text_clanku ul > li::before {
	content: "";
	position: absolute;
	left: 6px;
	top: .68em;
	width: 7px;
	height: 7px;
	background: var(--nol-primarni);
}

.nol-obsah .col-md-12 > ol,
.nol-obsah .text_clanku ol { counter-reset: nol-ol; }

.nol-obsah .col-md-12 > ol > li,
.nol-obsah .text_clanku ol > li { counter-increment: nol-ol; }

.nol-obsah .col-md-12 > ol > li::before,
.nol-obsah .text_clanku ol > li::before {
	content: counter(nol-ol);
	position: absolute;
	left: 0;
	top: .18em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	background: var(--nol-primarni-svetla);
	color: var(--nol-primarni-tmava);
	font-family: var(--nol-pismo-nadpis);
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
}

.nol-obsah blockquote {
	margin: 28px 0;
	padding: 22px 28px;
	border: 0;
	border-left: 4px solid var(--nol-cervena);
	border-radius: 0;
	background: var(--nol-primarni-jemna);
	font-family: var(--nol-pismo-nadpis);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.45;
}

.nol-obsah blockquote cite {
	display: block;
	margin-top: 10px;
	font-family: var(--nol-pismo);
	font-size: 14.5px;
	font-style: normal;
	font-weight: 500;
	color: var(--nol-text-tlumeny);
}

.nol-obsah table:not(.fc table):not(.a3rez table) {
	width: 100%;
	margin: 8px 0 20px;
	border-collapse: collapse;
	font-size: 15.5px;
}

.nol-obsah table:not(.fc table):not(.a3rez table) th {
	padding: 12px 16px;
	border: 0;
	border-top: 3px solid var(--nol-primarni);
	background: var(--nol-primarni-svetla);
	color: var(--nol-primarni-tmava);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: left;
	text-transform: uppercase;
}

.nol-obsah table:not(.fc table):not(.a3rez table) td {
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid var(--nol-ramecek);
}

/* ── 03 Fotka, 04 skupina fotek, 05 album ──────────────────────────── */

.nol-obsah figure figcaption,
.nol-obsah .portlet-content-desc {
	margin-top: 10px;
	padding: 0 0 0 14px;
	border-left: 3px solid var(--nol-cervena);
	font-size: 14.5px;
	line-height: 1.4;
	color: var(--nol-text-tlumeny);
}

.nol-obsah .portlet-content-photo img,
.nol-obsah .portlet-content-gallery img { border-radius: 0; }

.nol-obsah .portlet-content-subtitle {
	margin: 0 0 6px;
	font-family: var(--nol-pismo-nadpis);
	font-size: 24px;
	font-weight: 800;
}

.nol-obsah .portlet-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.nol-obsah .portlet-gallery-thumbs > .portlet-content-full-gallery {
	position: relative;
	width: auto;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: 0;
}

.nol-obsah .portlet-gallery-thumbs > .portlet-content-full-gallery img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
}

.nol-obsah .portlet-gallery-thumbs > .portlet-content-full-gallery::after {
	content: "";
	position: absolute;
	inset: 0;
	background: color-mix(in srgb, var(--nol-pruh) 45%, transparent);
	box-shadow: inset 0 -4px 0 var(--nol-cervena);
	opacity: 0;
	transition: opacity var(--nol-prechod);
}

.nol-obsah .portlet-gallery-thumbs > .portlet-content-full-gallery:hover::after { opacity: 1; }

/* Album: karta s fotkou (papír, modrá linka pod fotkou, název 21/800). */
.nol-obsah .portlet-album-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.nol-obsah .portlet-album-tiles > .portlet-fixed-width-container {
	width: auto;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .portlet-album-tiles img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-bottom: 3px solid var(--nol-primarni);
	border-radius: 0;
}

/* Album jako složky: dlaždice s ikonou ve tónovaném poli. */
.nol-obsah .portlet-album-slozky {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	padding: 0;
	list-style: none;
}

.nol-obsah .portlet-album-slozka {
	display: flex;
	align-items: center;
	gap: 18px;
	min-height: 96px;
	padding: 0 22px;
	border: 1px solid var(--nol-ramecek-vyrazny);
	border-radius: 0;
	background: var(--nol-povrch);
	text-decoration: none;
}

.nol-obsah .portlet-album-slozka-ikona {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: var(--nol-primarni-svetla);
	color: var(--nol-primarni);
}

.nol-obsah .portlet-album-slozka-nazev {
	font-family: var(--nol-pismo-nadpis);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--nol-text);
}

.nol-obsah .portlet-album-slozka-pocet { font-size: 13.5px; color: var(--nol-text-tlumeny); }

/* ── 07 Webkamera ──────────────────────────────────────────────────── */

.a3-kamera-ram {
	border-radius: 0;
	border-bottom: 4px solid var(--nol-primarni);
}

.a3-kamera-cas:not(:empty) {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: color-mix(in srgb, var(--nol-pruh) 86%, transparent);
	color: var(--nol-na-tmave);
	font-size: 14px;
	font-weight: 600;
}

.a3-kamera-zvetsit {
	top: 14px;
	right: 14px;
	bottom: auto;
	width: 42px;
	height: 42px;
	border-radius: 0;
	background: var(--nol-povrch);
	color: var(--nol-primarni);
}

.a3-kamera-zvetsit:hover { background: var(--nol-primarni); color: var(--nol-na-tmave); }

.nol-obsah .a3-kamera-nazev {
	font-family: var(--nol-pismo-nadpis);
	font-size: 19px;
	font-weight: 800;
}

/* ── 08 Aktuality: řádek s fotkou 300 px ───────────────────────────── */

.nol-obsah .a3-aktuality .portlet-content-formular { border-top: 1px solid var(--nol-ramecek); }

.nol-obsah .article {
	gap: 32px;
	margin-inline: 0;
	padding: 28px 0;
	border-bottom: 1px solid var(--nol-ramecek);
	border-radius: 0;
}

.nol-obsah .article:last-child { border-bottom: 1px solid var(--nol-ramecek); }
.nol-obsah .article:hover,
.nol-obsah .article:focus-within { background: transparent; }

.nol-obsah .article .a3-aktualita-nahled { width: 300px; }

.nol-obsah .article .article-image img {
	aspect-ratio: 3 / 2;
	border-radius: 0;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .article .a3-aktualita-text {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-left: 32px;
}

.nol-obsah .article .article-title {
	order: 0;
	margin: 0;
	font-size: 25px;
	font-weight: 800;
	letter-spacing: -0.005em;
}

.nol-obsah .article .article-meta {
	order: 1;
	gap: 14px;
	margin: 0;
	font-size: 14.5px;
}

.nol-obsah .article .article-perex {
	order: 2;
	font-size: 16px;
	-webkit-line-clamp: 3;
}

.nol-obsah .article-meta-datetime { font-size: 14.5px; font-weight: 400; }

.nol-obsah .datetime-udalost {
	padding: 0;
	background: none;
	color: var(--nol-primarni);
	font-weight: 700;
}

/* Štítek kategorie — `.stitek` z návrhu: světle modrý, ostrý. */
.article-meta-kategorie,
.cat {
	padding: 0 10px;
	background: var(--nol-primarni-svetla);
	color: var(--nol-primarni-tmava);
	font-size: 13.5px;
	line-height: 26px;
}

@media (max-width: 767px) {
	.nol-obsah .article { gap: 16px; padding: 20px 0; }
	.nol-obsah .article .a3-aktualita-nahled { width: 120px; }
	.nol-obsah .article .a3-aktualita-text { padding-left: 16px; }
	.nol-obsah .article .article-title { font-size: 19px; }
}

/* Důležité oznámení — červený pruh a světlá plocha. */
.block-dulezite,
.block {
	padding: 20px 26px 22px;
	border: 0;
	border-left: 6px solid var(--nol-cervena);
	border-radius: 0;
	background: var(--nol-chyba-pozadi);
}

/* ── Filtr nad výpisem (aktuality, deska) ──────────────────────────── */

.nol-obsah .portlet-search-header {
	gap: 12px;
	padding: 18px 20px;
	border-radius: 0;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .a3-deska-filtr-popisek,
.nol-obsah .a3-aktuality-filtr-popisek {
	font-family: var(--nol-pismo-nadpis);
	font-size: 17px;
	font-weight: 800;
	color: var(--nol-text);
}

.nol-obsah .portlet-search-header input,
.nol-obsah .portlet-search-header select { min-height: 50px; }

.portlet_cancel_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 20px;
	border: 1.5px solid var(--nol-text);
	border-radius: 0;
	background: var(--nol-povrch);
	color: var(--nol-text);
	font-weight: 600;
}

.portlet_cancel_btn.a3-deska-filtr-hledat,
.portlet_cancel_btn.a3-aktuality-filtr-hledat {
	border-color: var(--nol-primarni);
	background: var(--nol-primarni);
	color: var(--nol-primarni-kontrast);
}

/* Záložky kategorií — podtržené záložky se červenou linkou. */
.nol-obsah .a3-kat-zalozky {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	margin: 20px 0 0;
	border-bottom: 1px solid var(--nol-ramecek);
}

.nol-obsah .a3-kat-zalozka {
	padding: 14px 18px;
	border-radius: 0;
	background: none;
	color: var(--nol-text-tlumeny);
	font-family: var(--nol-pismo-nadpis);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
}

.nol-obsah .a3-kat-zalozka.is-aktivni,
.nol-obsah .a3-kat-zalozka:hover {
	background: none;
	color: var(--nol-primarni);
	box-shadow: inset 0 -4px 0 var(--nol-cervena);
}

/* ── Stránkování ───────────────────────────────────────────────────── */

.strankovani.a3-pager {
	gap: 6px;
	margin-top: 32px;
}

.strankovani.a3-pager a,
.strankovani.a3-pager strong,
.strankovani.a3-pager .pager-disabled {
	min-width: 46px;
	height: 46px;
	border: 1px solid var(--nol-ramecek-vyrazny);
	border-radius: 0;
	font-family: var(--nol-pismo-nadpis);
	font-size: 16px;
	font-weight: 700;
}

.strankovani.a3-pager strong {
	border-color: var(--nol-primarni);
	background: var(--nol-primarni);
	color: var(--nol-primarni-kontrast);
	box-shadow: inset 0 -3px 0 var(--nol-cervena);
}

.strankovani.a3-pager .pager-arrow { color: var(--nol-primarni); }

/* ── 09 Grafický kalendář (podstránka) ─────────────────────────────── */

.nol-obsah .a3-cal {
	--a3cal-day-bg: var(--nol-povrch);
	--a3cal-weekend-bg: var(--nol-primarni-jemna);
	--a3cal-active-bg: var(--nol-primarni-svetla);
	--a3cal-active-color: var(--nol-primarni-tmava);
	--a3cal-today-bg: var(--nol-povrch);
	--a3cal-today-color: var(--nol-text);
}

.nol-obsah .a3-cal .a3-cal-title { font-size: 26px; font-weight: 800; }

/* Řádek zkratek dnů vkládá strankovice3.js (renderer ho nekreslí). */
.nol-obsah .nol-cal-dny { gap: 1px; background: var(--nol-ramecek); border: 1px solid var(--nol-ramecek); border-bottom: 0; }

.nol-obsah .nol-cal-dny span {
	padding: 10px 12px;
	background: var(--nol-primarni);
	color: var(--nol-na-tmave);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-align: left;
	text-transform: uppercase;
}

.nol-obsah .a3-cal .responsive-calendar .day.not-current a { background: var(--nol-pozadi-tlumene); color: color-mix(in srgb, var(--nol-text-tlumeny) 55%, var(--nol-pozadi)); }

.nol-obsah .a3-cal .a3-cal-nav {
	width: 38px;
	height: 38px;
	border: 1px solid var(--nol-ramecek-vyrazny);
	border-radius: 0;
	color: var(--nol-primarni);
}

.nol-obsah .a3-cal .responsive-calendar .days {
	gap: 1px;
	border: 1px solid var(--nol-ramecek);
	background: var(--nol-ramecek);
}

.nol-obsah .a3-cal .responsive-calendar .days .day a {
	margin: 0;
	min-height: 72px;
	border-radius: 0;
	font-family: var(--nol-pismo-nadpis);
	font-size: 16px;
	font-weight: 700;
}

.nol-obsah .a3-cal .responsive-calendar .day.today a {
	box-shadow: inset 0 0 0 2px var(--nol-cervena);
	font-weight: 800;
}

.nol-obsah .a3-cal .responsive-calendar .day.active a:hover {
	background: var(--nol-primarni);
	color: var(--nol-primarni-kontrast);
}

/* ── 10 Úřední deska — tabulka se modrou horní linkou ─────────────────
   Na podstránce (široký výpis) se deska kreslí jako v návrhu: hlavička
   sloupců v g-50 verzálkami, řádek název | kategorie | vyvěšeno. Úzký
   výpis (container `deska` pod 40 rem) zůstává článkový z portlets.css. */

@container deska (min-width: 40rem) {
	.nol-obsah .a3-deska .a3-deska-tabulka:not(.a3-deska-soubory),
	.nol-obsah .a3-deska .a3-deska-skupina:not(.a3-deska-soubory) {
		border-top: 3px solid var(--nol-primarni);
	}

	.nol-obsah .a3-deska .portlet-content-formular:not(.a3-deska-soubory),
	.nol-obsah .a3-deska .portlet-content-deska { margin-inline: 0; }

	.nol-obsah .a3-deska :not(.a3-deska-soubory) > .a3-deska-radek {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-auto-flow: column;
		grid-auto-columns: 150px;
		gap: 24px;
		align-items: center;
		min-height: 64px;
		padding: 12px 20px;
		border-bottom: 1px solid var(--nol-ramecek);
		border-radius: 0;
	}

	.nol-obsah .a3-deska :not(.a3-deska-soubory) > .a3-deska-hlavicka {
		display: grid;
		min-height: 48px;
		background: var(--nol-primarni-svetla);
		color: var(--nol-primarni-tmava);
		font-size: 12.5px;
		font-weight: 700;
		letter-spacing: .07em;
		text-transform: uppercase;
	}

	/* Kategorie se do sloupce 150 px zalomí — pevná šířka 220 px z olsany3 přetékala přes datum. */
	.nol-obsah .a3-deska :not(.a3-deska-soubory) > .a3-deska-radek > .a3-deska-kategorie { width: auto; min-width: 0; }

	.nol-obsah .a3-deska .a3-deska-hlavicka > * {
		color: inherit;
		font-family: var(--nol-pismo);
		font-size: inherit;
		font-weight: 700;
		letter-spacing: inherit;
	}

	.nol-obsah .a3-deska :not(.a3-deska-soubory) > .a3-deska-radek > .a3-deska-kategorie { order: 0; }

	.nol-obsah .a3-deska .a3-deska-udaj[data-a3-popis]::before { content: none; }

	.nol-obsah .a3-deska .a3-deska-udaj {
		font-size: 15px;
		font-weight: 400;
		color: var(--nol-text-tlumeny);
	}

	.nol-obsah .a3-deska .a3-deska-radek .a3-deska-kategorie small {
		padding: 0;
		background: none;
		color: var(--nol-primarni);
		font-size: 12.5px;
		font-weight: 700;
		letter-spacing: .05em;
		text-transform: uppercase;
	}
}

.nol-obsah .a3-deska .a3-deska-nazev a {
	font-size: 17.5px;
	font-weight: 700;
	line-height: 1.3;
}

.nol-obsah .a3-deska .portlet-row-bg:hover { background: var(--nol-primarni-jemna); }

.nol-obsah .a3-deska .portlet-row-bg:hover .a3-deska-nazev a {
	text-decoration: underline;
	text-decoration-color: var(--nol-cervena);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.nol-obsah .a3-deska-skupina .portlet-content-subtitle {
	margin-bottom: 12px;
	font-size: 22px;
}

/* ── 11 Ostatní dokumenty / soubory ke stažení ─────────────────────── */

.nol-obsah .a3-deska .a3-deska-soubory {
	margin-inline: 0;
	border-top: 1px solid var(--nol-ramecek);
}

.nol-obsah .a3-deska .a3-deska-soubory .a3-deska-radek {
	padding: 14px 0;
	border-bottom: 1px solid var(--nol-ramecek);
	border-radius: 0;
}

.nol-obsah .portlet-doc-tile { border-radius: 0; }

.nol-obsah .portlet-doc-thumb {
	border: 1px solid var(--nol-ramecek);
	border-radius: 0;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .portlet-doc-name {
	font-family: var(--nol-pismo-nadpis);
	font-size: 16px;
	font-weight: 700;
}

/* ── 12 Rozcestník ─────────────────────────────────────────────────── */

.nol-obsah .a3-rozcestnik--seznam > .a3-rozcestnik-seznam { border-top: 3px solid var(--nol-primarni); }

.nol-obsah .a3-rozcestnik--seznam > .a3-rozcestnik-seznam > .a3-rozcestnik-polozka > .a3-rozcestnik-odkaz {
	min-height: 60px;
	margin-inline: 0;
	padding: 0;
	border-bottom: 1px solid var(--nol-ramecek);
	border-radius: 0;
	font-family: var(--nol-pismo-nadpis);
	font-size: 19px;
	font-weight: 700;
}

.nol-obsah .a3-rozcestnik--seznam .a3-rozcestnik-odkaz:hover { background: transparent; color: var(--nol-primarni); }
.nol-obsah .a3-rozcestnik-sipka { color: var(--nol-primarni); }

.nol-obsah .a3-rozcestnik--rozbalovaci { border-top: 3px solid var(--nol-primarni); }

.nol-obsah .a3-rozcestnik-panel {
	margin-inline: 0;
	border-bottom: 1px solid var(--nol-ramecek);
	border-radius: 0;
}

.nol-obsah .a3-rozcestnik-sumar {
	min-height: 64px;
	padding: 0;
	font-family: var(--nol-pismo-nadpis);
	font-size: 19px;
	font-weight: 700;
}

.nol-obsah .a3-rozcestnik-panel[open] > .a3-rozcestnik-sumar { color: var(--nol-primarni); }

.nol-obsah .a3-rozcestnik--rozbalovaci .a3-rozcestnik-sipka {
	width: 36px;
	height: 36px;
	background: var(--nol-primarni-svetla);
	border-radius: 0;
}

.nol-obsah .a3-rozcestnik-panel[open] .a3-rozcestnik-sipka { background: var(--nol-primarni); color: var(--nol-na-tmave); }

.nol-obsah .a3-rozcestnik-dlazdice {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.nol-obsah .a3-rozcestnik-dlazdice-polozka {
	padding: 22px 24px 20px;
	border-top: 4px solid var(--nol-primarni);
	border-radius: 0;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .a3-rozcestnik-dlazdice-polozka::before { content: none; }

.nol-obsah .a3-rozcestnik-dlazdice-odkaz {
	font-family: var(--nol-pismo-nadpis);
	font-size: 21px;
	font-weight: 800;
	color: var(--nol-text);
	text-decoration: none;
}

.nol-obsah .a3-rozcestnik-dlazdice-polozka .a3-rozcestnik-podseznam {
	margin-top: 12px;
	padding-top: 8px;
	border-top: 1px solid var(--nol-ramecek-vyrazny);
}

/* Akordeon podstránek ([[rozbalovaci_podstranky]]) — týž tvar jako
   rozbalovací rozcestník. */
.nol-obsah .accordion { border-top: 3px solid var(--nol-primarni); }
.nol-obsah .accordion .card { margin-inline: 0; border-radius: 0; }
.nol-obsah .accordion .btn-link {
	min-height: 64px;
	padding-inline: 0;
	font-family: var(--nol-pismo-nadpis);
	font-size: 19px;
	font-weight: 700;
}

@media (max-width: 991px) {
	.nol-obsah .portlet-gallery-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nol-obsah .portlet-album-tiles,
	.nol-obsah .portlet-album-slozky,
	.nol-obsah .a3-rozcestnik-dlazdice { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
	.nol-obsah .portlet-gallery-thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.nol-obsah .portlet-album-tiles,
	.nol-obsah .portlet-album-slozky,
	.nol-obsah .a3-rozcestnik-dlazdice { grid-template-columns: 1fr; }
	.nol-obsah h2 { font-size: 28px; }
}

/* ── Formulářové prvky (kontakt, rezervace, anketa, odběr) ─────────── */

.nol-obsah label,
.nol-obsah .control-label { font-size: 14.5px; font-weight: 600; }

.nol-obsah input[type="checkbox"],
.nol-obsah input[type="radio"] {
	width: 22px;
	height: 22px;
	accent-color: var(--nol-primarni);
}

.a3-msg,
.a3-form-msg:not(:empty) {
	padding: 16px 20px;
	border: 0;
	border-left: 4px solid var(--nol-primarni);
	border-radius: 0;
	background: var(--nol-primarni-svetla);
}

.a3-msg-err {
	border-left-color: var(--nol-chyba);
	background: var(--nol-chyba-pozadi);
}

/* ── 13 Rezervace ──────────────────────────────────────────────────── */

.nol-obsah .a3rez-cal {
	padding: 24px;
	border: 1px solid var(--nol-ramecek);
	border-radius: 0;
}

.nol-obsah .a3rez .fc .fc-button {
	border-radius: 0;
	border-color: var(--nol-primarni);
	background: var(--nol-primarni);
}

.nol-obsah .a3rez .fc .fc-button-active,
.nol-obsah .a3rez .fc .fc-button:hover { background: var(--nol-primarni-tmava); border-color: var(--nol-primarni-tmava); }

.nol-obsah .a3rez .fc .fc-toolbar-title {
	font-family: var(--nol-pismo-nadpis);
	font-weight: 800;
}

.nol-obsah .a3rez-selected {
	padding: 10px 14px;
	border-radius: 0;
	background: var(--nol-primarni-jemna);
	color: var(--nol-primarni-tmava);
	font-weight: 600;
}

/* ── 15 Anketa ─────────────────────────────────────────────────────── */

.nol-obsah .a3-anketa-form,
.nol-obsah .a3-anketa-vysledky {
	display: flex;
	flex-direction: column;
	padding: 28px 28px 24px;
	border: 1px solid var(--nol-ramecek);
	border-top: 4px solid var(--nol-primarni);
	border-radius: 0;
}

/* Výsledky ankety stojí UVNITŘ formuláře — rámeček nese jen vnější obal. */
.nol-obsah .a3-anketa-form .a3-anketa-vysledky {
	padding: 0;
	border: 0;
}

.nol-obsah .a3-anketa-otazka {
	font-family: var(--nol-pismo-nadpis);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.25;
}

.nol-obsah .a3-anketa-popis { margin: 6px 0 18px; font-size: 14.5px; color: var(--nol-text-tlumeny); }

.nol-obsah .a3-anketa-moznosti { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }

.nol-obsah .a3-anketa-moznost {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 1.5px solid var(--nol-ramecek-vyrazny);
	border-radius: 0;
	font-size: 15.5px;
	font-weight: 500;
}

.nol-obsah .a3-anketa-moznost:has(input:checked) {
	border-color: var(--nol-primarni);
	background: var(--nol-primarni-jemna);
}

.nol-obsah .a3-anketa-submit { align-self: flex-start; }

.nol-obsah .a3-anketa-radek {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: none;
}

.nol-obsah .a3-anketa-pruh {
	height: 12px;
	border-radius: 0;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .a3-anketa-pruh-vypln { border-radius: 0; background: color-mix(in srgb, var(--nol-primarni) 50%, var(--nol-pozadi)); }

.nol-obsah .a3-anketa-celkem { margin-top: 14px; font-size: 14px; color: var(--nol-text-tlumeny); }

/* ── 16 ČHMÚ — rámeček s papírovou hlavičkou ───────────────────────── */

.nol-obsah .a3-chmi {
	border: 1px solid var(--nol-ramecek);
	border-radius: 0;
}

.nol-obsah .a3-chmi-vystraha {
	margin: 0;
	padding: 24px 22px;
	border-top: 1px solid var(--nol-ramecek);
	border-radius: 0;
}

.nol-obsah .a3-chmi-nazev { font-size: 22px; font-weight: 800; }

.nol-obsah .a3-chmi-instrukce {
	margin-top: 6px;
	padding: 12px 16px;
	border-radius: 0;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .a3-chmi-zdroj {
	margin: 0;
	padding: 12px 22px;
	border-top: 1px solid var(--nol-ramecek);
	font-size: 13.5px;
}

/* ── 17 Počasí — modrý blok ───────────────────────────────────────── */

.nol-obsah .a3-pocasi {
	padding: 28px 26px 0;
	border: 0;
	border-radius: 0;
	background: var(--nol-primarni);
	color: var(--nol-na-tmave);
}

.nol-obsah .a3-pocasi * { color: inherit; }
.nol-obsah .a3-pocasi-ted-ikona { color: var(--nol-cervena); }

.nol-obsah .a3-pocasi-teplota {
	font-family: var(--nol-pismo-nadpis);
	font-size: 60px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
}

.nol-obsah .a3-pocasi-jev,
.nol-obsah .a3-pocasi-doplnky { color: rgba(255, 255, 255, .88); }

.nol-obsah .a3-pocasi-dny { border-top: 1px solid var(--nol-na-tmave-linka); margin-top: 22px; }

.nol-obsah .a3-pocasi-den {
	padding: 24px 8px;
	border-left: 1px solid var(--nol-na-tmave-linka);
	border-radius: 0;
	background: transparent;
}

.nol-obsah .a3-pocasi-den:first-child { border-left: 0; }

.nol-obsah .a3-pocasi-den-nazev { font-family: var(--nol-pismo-nadpis); font-size: 18px; font-weight: 700; }
.nol-obsah .a3-pocasi-den-max { font-family: var(--nol-pismo-nadpis); font-size: 20px; font-weight: 800; }
.nol-obsah .a3-pocasi-den-min { color: rgba(255, 255, 255, .72); }

.nol-obsah .a3-pocasi-zdroj {
	margin: 0 -26px;
	padding: 10px 26px;
	border-top: 1px solid var(--nol-na-tmave-linka);
	font-size: 12.5px;
	color: rgba(255, 255, 255, .7);
}

/* ── 18 Obecní úřad, 19 povinné informace ──────────────────────────── */

.nol-obsah .a3-info-urad { border-top: 3px solid var(--nol-primarni); }

.nol-obsah .info_novy_nadpis,
.nol-obsah .urad_lista_box_nadpis {
	font-family: var(--nol-pismo);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--nol-primarni);
}

.nol-obsah .urad_lista_box {
	padding: 18px 20px 20px;
	border: 0;
	border-radius: 0;
	background: var(--nol-pozadi-tlumene);
}

.nol-obsah .povinf { border-top: 3px solid var(--nol-primarni); max-width: 1000px; }

.nol-obsah .povinf_heading {
	font-family: var(--nol-pismo-nadpis);
	font-size: 20px;
	font-weight: 800;
}

.nol-obsah .povinf_oddil {
	padding: 20px 0;
	border-bottom: 1px solid var(--nol-ramecek);
}

/* ── 20 Odběr novinek ──────────────────────────────────────────────── */

.nol-obsah .a3-odber-sekce {
	padding: 16px 0 4px;
	border-top: 1px solid var(--nol-ramecek);
}

.nol-obsah .a3-odber-sekce-nazev { font-family: var(--nol-pismo-nadpis); font-weight: 800; }

/* ── Boční menu sekce — bez karty, modrý titulek se červenou linkou ─── */

.sidemenu .menuheading {
	padding-bottom: 10px;
	border-bottom: 0;
	box-shadow: inset 0 -4px 0 var(--nol-cervena);
	font-family: var(--nol-pismo-nadpis);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
	color: var(--nol-text);
}

.sidemenu a {
	border-radius: 0;
	font-size: 16px;
}

.sidemenu a.activelink {
	background: var(--nol-primarni-svetla);
	color: var(--nol-primarni-tmava);
	font-weight: 700;
	box-shadow: inset 4px 0 0 var(--nol-primarni);
}