/*
 * Tisková verze webu.
 *
 * Soubor se načítá s `media="print"`, takže prohlížeč ho na obrazovce vůbec
 * neaplikuje (a stahuje mimo kritickou cestu). Díky tomu je to čistá vrstva
 * přepisů nad `blocks.css` — ten při tisku platí dál a tady se řeší jen to,
 * co papír mění: pryč s ovládáním a dekorací, tmavé plochy na bílou, mřížky
 * do jednoho sloupce, rozumné stránkové zlomy.
 *
 * Vede to k jednomu pravidlu při psaní nových bloků: **dekorativní prvek si
 * přidej do seznamu skrývaných níž**, jinak se vytiskne.
 *
 * Jednotky jsou `pt`, ne `rem` — kořenovou velikost mění přepínač písma
 * v patičce (`inc/pismo.php`), a ta na papíře nemá co dělat.
 */

@page {
	margin: 16mm 14mm;
}

/* ---------------------------------------------------------------------------
   Základ
   --------------------------------------------------------------------------- */

html,
body {
	background: #fff !important;
	font-size: 9pt;
	line-height: 1.4;
}

/*
 * Všechen text černý. Tématem se táhne tlumená šedá (`--muted`, `--muted-2`)
 * a oranžová (`--accent`) — obojí na černobílé tiskárně zešedne a text pak
 * působí slabší než okolí, ne výrazněji. Barevné odlišení na papíře nesou
 * rámečky a řez písma, ne barva.
 */
body,
body * {
	color: #000 !important;
}

/* Přepínač velikosti písma nastavuje na <html> `data-ok-pismo` a s ním
   kořenovou velikost. Na papíře se čtenář nepřiblíží, tak jedna velikost
   pro všechny tři stavy. */
html[data-ok-pismo] {
	font-size: 9pt;
}

/*
 * Bloky si velikosti počítají přes `clamp()` z šířky okna — v tisku je
 * viewport šířka papíru, takže z nadpisů uvnitř karet vylezou nesmyslně
 * velká čísla. Tady se sazba vrací k dědění po `body`, konkrétní velikosti
 * řeší až pravidla níž.
 */
p,
li,
dd,
dt,
span,
td,
th,
figcaption {
	font-size: inherit !important;
	line-height: 1.4 !important;
}

/*
 * Plná šířka papíru. Jediné odsazení má být okraj stránky z `@page` — sekce
 * si nesou vodorovný padding (`--pad-x`) a obsah je navíc zúžený kontejnerem
 * (`--container`) i úzkými sloupci u textu. Na obrazovce je to správně, na
 * archu z toho jsou bílé pruhy po stranách a text zbytečně láme dřív.
 */
section,
section > *,
.ok-container,
.ok-header,
.ok-footer,
[class*='ok-'][class*='__inner'],
.ok-single__narrow,
.ok-post-content,
.ok-post-content > *:not( .alignfull ) {
	max-width: none !important;
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Vertikální rytmus webu je stavěný na scrollování; na papíře plýtvá místem. */
section,
.ok-hero,
.ok-footer,
[class*='ok-'][class*='__inner'] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/*
 * Oddělovač sekcí. Bloky si nesou vlastní `border-top: 1px solid var( --border )`
 * — teplá béžová, ze které je na papíře bledý pruh — a k němu se přičítal
 * ještě oddělovač tiskové verze, takže mezi sekcemi byly dvě linky nad sebou.
 * Vlastní rámečky sekcí se proto ruší a odděluje **jedna** linka mezi
 * sousedy; první sekce pod hlavičkou ji nedostane.
 */
section,
section > .ok-container {
	border: 0 !important;
}

section {
	margin-bottom: 0;
}

section + section {
	border-top: 0.5pt solid #bbb !important;
	margin-top: 7mm;
	padding-top: 7mm !important;
}

/* Eyebrow je na webu oranžový. Barva na černobílé tiskárně zešedne
   a popisek pak vypadá slabší než okolní text, ne výrazněji. */
.ok-eyebrow {
	color: #000 !important;
	font-size: 8pt !important;
	letter-spacing: 0.16em;
}

/* Odsazení mřížek od nadpisu sekce je na webu ~44 px. */
.ok-cards-grid,
.ok-photo-grid,
.ok-logos,
.ok-listek__seznam,
.ok-mapa__list,
.ok-faq__list {
	margin-top: 4mm !important;
}

/* ---------------------------------------------------------------------------
   Co se netiskne
   --------------------------------------------------------------------------- */

/*
 * Ovládání webu, dekorace a všechno interaktivní. Tlačítka nechávám zmizet
 * schválně i tam, kde nesou text („Zobrazit vše", „Zpět na úvod") — na papíře
 * je z tlačítka jen matoucí obdélník, cíl odkazu se navíc vypisuje níž.
 */
.ok-nav,
.ok-burger,
.ok-drawer,
.ok-drawer-overlay,
.ok-header__inner > .ok-nav,
.ok-infobar,
.ok-pismo,
.ok-modal,
.ok-cta,
.ok-cta-section__cta,
.ok-dekujeme__cta,
.ok-faq__cta,
.ok-hero__cta,
.ok-hero__scroll,
.ok-mapa__zoom,
.ok-odpocet,
.ok-page-hero__cta,
.ok-pagination,
.ok-post-card__more,
.ok-single__back,
.ok-page-hero__back,
.ok-textobr__cta,
.ok-vypis__all,
/* Videa i momentky stojí celé na médiu — video se z papíru nepustí a
   z fotogalerie by zbyla stránka náhledů bez informační hodnoty. */
.ok-videa,
.ok-momentky,
.ok-whatsapp__odkaz,
/* Formuláře. Registrace, dotaz i ověření přihlášky sdílí `.ok-registrace`;
   vytištěné se stejně nedají odeslat a papírovou variantu nemáme. */
.ok-registrace,
/* Rychlé odkazy celý sloupec včetně nadpisu — samotné skrytí menu by
   v patičce nechalo viset osiřelé „Rychlé odkazy". */
.ok-footer__odkazy,
.ok-footer__bottom-nav,
.ok-footer__projekty,
.ok-footer__social,
.ok-kontakt__social,
.ok-kontakt__mapa,
.glightbox-container,
.gcontainer,
iframe,
video,
audio,
[aria-hidden='true'][class*='__shape'],
[class*='__shape--ring'],
[class*='__shape--square'],
.ok-hero__bg-video,
.ok-hero__overlay,
.ok-pocet-deti__dot,
.ok-odpocet__dot,
.ok-vyhody__dot,
.ok-hero__capacity-dot,
.ok-faq__icon,
.ok-blok-placeholder {
	display: none !important;
}

/* ---------------------------------------------------------------------------
   Hlavička jako záhlaví dokumentu
   --------------------------------------------------------------------------- */

/* Sticky pozice v tisku nedává smysl a ve Firefoxu umí hlavičku zopakovat
   na každé stránce nebo naopak schovat. */
.ok-header {
	position: static !important;
	display: block !important;
	min-height: 0 !important;
	padding: 0 0 3mm !important;
	margin: 0 0 6mm !important;
	background: none !important;
	backdrop-filter: none !important;
	border: 0 !important;
	border-bottom: 0.5pt solid #000 !important;
}

/* Řádek značky zůstává vodorovný — `display: block` položil logo nad název
   a z hlavičky byly tři řádky. Menu i tlačítko jsou skryté, takže
   `space-between` z obrazovky by jen odstrčil obsah doprava. */
.ok-header__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 3mm !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
}

/*
 * Název akce je odkaz na úvodní stránku, takže ho obecné pravidlo pro odkazy
 * podtrhávalo — v záhlaví dokumentu vypadá podtržená značka jako chyba sazby.
 */
.ok-logo {
	display: flex !important;
	align-items: center !important;
	gap: 3mm !important;
	color: #000 !important;
	text-decoration: none !important;
}

.ok-logo__text {
	display: block !important;
}

.ok-logo__title {
	display: block !important;
	font-size: 12pt !important;
	line-height: 1.2 !important;
	max-width: none !important;
}

/* Ročník je na obrazovce oranžový — na černobílé tiskárně by z barvy zbyl
   nečitelný šedý flek, tak ho odliší jen slabší tah. */
.ok-logo__rocnik {
	color: #000 !important;
	font-weight: 500;
}

.ok-logo__obrazek {
	display: block !important;
	flex: none !important;
}

/* Strop na obou rozměrech — logo může být na šířku i na výšku a bez omezení
   šířky by široký nápis vytlačil název akce mimo řádek. */
.ok-logo__obrazek img {
	display: block !important;
	max-height: 12mm !important;
	max-width: 32mm !important;
	width: auto !important;
	height: auto !important;
}

/* ---------------------------------------------------------------------------
   Barvy a plochy
   --------------------------------------------------------------------------- */

/*
 * Tmavé plochy (`--ink` panely, hero, patička) by spolykaly toner a text na
 * nich by po odbarvení zmizel. Všechno jde na bílou s rámečkem; stíny,
 * zaoblení a přechody papír stejně nepřenese.
 */
.ok-card--dark,
.ok-dekujeme__cislo,
.ok-footer,
.ok-footer__box,
.ok-hero,
.ok-cta-section,
.ok-listek,
.ok-whatsapp,
.ok-card,
.ok-post-card,
.ok-logos__cell,
.ok-faq__item,
.ok-mapa__item {
	background: none !important;
	background-image: none !important;
	color: #000 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.ok-card,
.ok-post-card,
.ok-whatsapp,
.ok-footer__box {
	border: 0.5pt solid #999 !important;
	border-radius: 0 !important;
	padding: 3mm !important;
	margin: 0 !important;
}

/* Lístek je ceník, ne karta — rámeček dokola z něj dělá krabici a řádky
   uvnitř pak nemají k čemu se vztahovat. */
.ok-listek {
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

/* Velké číslo karty (pořadí ročníku, kroky) je dekorace přes půl dlaždice. */
.ok-card__number {
	font-size: 12pt !important;
}

/* ---------------------------------------------------------------------------
   Karty novinek a galerií
   --------------------------------------------------------------------------- */

/*
 * Na webu karta dýchá — velký náhled, vzdušné odsazení, datum oranžově.
 * Ve dvousloupcové tiskové mřížce z toho byla poloprázdná dlaždice přes půl
 * stránky, tak jde všechno na těsno a text se skládá hned pod fotku.
 */
.ok-post-card {
	display: block !important;
	padding: 0 !important;
	overflow: hidden;
}

/* Náhled se netiskne. Ve dvousloupcové mřížce z něj byla polovina dlaždice
   a na papíře nenese nic, co by nebylo v nadpisu a perexu. */
.ok-post-card__media {
	display: none !important;
}

.ok-post-card__body {
	display: block !important;
	padding: 2.5mm 3mm 3mm !important;
	gap: 0 !important;
}

.ok-post-card__date,
.ok-card-tag {
	display: block;
	font-size: 8pt !important;
	margin: 0 0 1mm !important;
	letter-spacing: 0.04em;
}

/* Nadpis karty je odkaz — podtržení patří adresám v textu, ne názvům
   v mřížce, kde jen kouskuje řádek. */
.ok-post-card__title {
	margin: 0 0 1.5mm !important;
	line-height: 1.25 !important;
}

.ok-post-card__title a {
	text-decoration: none !important;
}

.ok-post-card__excerpt {
	margin: 0 !important;
	font-size: 8.5pt !important;
	line-height: 1.35 !important;
}

/*
 * Buňka musí mít pevnou výšku, jinak si ji každá vezme podle poměru svého
 * loga — znak obce na výšku pak zabere trojnásobek řádku vedle širokého
 * nápisu. Logo se do ní vepisuje přes `max-height`, ne `height`, aby si
 * drželo vlastní poměr stran.
 */
.ok-logos__cell {
	border: 0.5pt solid #ccc !important;
	border-radius: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 20mm !important;
	padding: 2mm !important;
}

/*
 * Odbarvení sedí na obrázku, ne na buňce: plošný `filter: none` pro
 * `[class*='ok-']` níž by ho na buňce zrušil, kdežto `<img>` žádnou `ok-`
 * třídu nemá, takže se ho to netýká a na pořadí pravidel nezáleží.
 */
.ok-logos__cell img {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
	object-fit: contain !important;
	filter: grayscale( 1 ) !important;
}

/* Grayscale a průhlednost z hoverů a dekorací — na papíře jen ubírají
   kontrast. */
[class*='ok-'] {
	filter: none !important;
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	transition: none !important;
}

/*
 * Hlavička je na papíře jen záhlaví dokumentu — obsah stránky má být to první,
 * co padne do oka, ne značka. Průhlednost ji ztlumí do šedé, aniž by se muselo
 * sahat na barvy jednotlivých prvků.
 *
 * Pravidlo stojí schválně až za plošným `opacity: 1` výš: `[class*='ok-']`
 * má stejnou specificitu jako `.ok-header`, takže rozhoduje pořadí. Nahoře,
 * v sekci s hlavičkou, by se neprosadilo.
 */
.ok-header {
	opacity: 0.55 !important;
	border-bottom-color: #666 !important;
}

a {
	color: #000 !important;
	text-decoration: underline;
}

/* ---------------------------------------------------------------------------
   Startovací číslo — hlavní důvod, proč si někdo přihlášku tiskne
   --------------------------------------------------------------------------- */

.ok-dekujeme__cislo {
	border: 1.5pt solid #000 !important;
	padding: 6mm 4mm !important;
	text-align: center;
	break-inside: avoid;
}

.ok-dekujeme__cislo-hodnota {
	color: #000 !important;
	font-size: 40pt !important;
	line-height: 1.1 !important;
}

.ok-dekujeme__cislo-popisek {
	color: #000 !important;
	font-size: 9pt !important;
	letter-spacing: 0.15em;
}

/* Chybějící číslo je varovná žlutá — ta se na papíře ztratí, tak ji nahradí
   přerušovaný rámeček. */
.ok-dekujeme__cislo--chybi {
	border-style: dashed !important;
}

.ok-dekujeme__prehled,
.ok-dekujeme__radek {
	break-inside: avoid;
}

/* ---------------------------------------------------------------------------
   Mřížky do jednoho nebo dvou sloupců
   --------------------------------------------------------------------------- */

/*
 * Mřížky se na papíře drží vedle sebe, ne pod sebou. Původní `auto-fit`
 * s `minmax( 290px, … )` je stavěný na šířku okna — v tiskovém kontextu
 * z něj vypadne jeden sloupec přes celou stránku a z karet jsou obří dlaždice.
 * Proto se počet sloupců zadává natvrdo.
 */
.ok-cards-grid,
.ok-cards-grid--tri,
.ok-textobr__grid,
.ok-souvisejici-galerie .ok-cards-grid {
	display: grid !important;
	grid-template-columns: repeat( 2, 1fr ) !important;
	gap: 4mm !important;
	align-items: start;
}

/*
 * USP karty ročníku patří na jeden řádek. `grid-auto-flow: column` je tu
 * schválně místo pevného počtu sloupců — repeater povoluje tři nebo čtyři
 * karty a takhle vyplní šířku obě varianty, aniž by po třetí kartě zbylo
 * prázdné místo.
 */
/*
 * `grid-template-columns: none` je zásadní: `blocks.css` má na `.ok-cards`
 * `repeat( auto-fit, minmax( 210px, 1fr ) )` a ta explicitní šablona platí
 * dál. `grid-auto-flow: column` pak karty sází až do implicitních sloupců
 * *za* ní, takže mřížka přeteče stránku a poslední karta se ořízne.
 *
 * `minmax( 0, 1fr )`, ne `1fr` — to je zkratka pro `minmax( auto, 1fr )`,
 * takže sloupec s delším textem si urve víc místa a karty vyjdou nestejně
 * široké. Nulové minimum je srovná.
 */
.ok-cards {
	display: grid !important;
	grid-template-columns: none !important;
	grid-auto-flow: column !important;
	grid-auto-columns: minmax( 0, 1fr ) !important;
	gap: 3mm !important;
	align-items: stretch;
}

/* Loga jsou drobná a je jich hodně — čtyři na řádek zkrátí sekci partnerů
   o polovinu, aniž by se ztratila čitelnost. */
.ok-logos {
	display: grid !important;
	grid-template-columns: repeat( 4, 1fr ) !important;
	gap: 3mm !important;
	align-items: start;
}

/* Náhledy jsou malé záměrně, unesou tři na řádek. */
.ok-photo-grid,
.ok-footer__grid {
	display: grid !important;
	grid-template-columns: repeat( 3, 1fr ) !important;
	gap: 4mm !important;
	align-items: start;
}

/* Seznamy do dvou sloupců — jídelní lístek i seznam stanovišť jsou krátké
   řádky, přes celou šířku archu by za nimi zůstávalo prázdno. */
.ok-vyhody {
	display: grid !important;
	grid-template-columns: repeat( 2, 1fr ) !important;
	gap: 3mm 6mm !important;
}

/* Jídelní a nápojový lístek zůstává pod sebou — položka je dvojice název
   a cena přes celou šířku, ve dvou sloupcích by se cena tlačila k názvu
   a řádky by přestaly být čitelné jako ceník. */
.ok-listek__seznam {
	display: block !important;
	margin-top: 4mm !important;
}

/*
 * Řádek ceníku lícuje s levým okrajem stránky. Na obrazovce má vodorovné
 * odsazení kvůli zebře — podbarvení potřebuje kolem textu vzduch — ale to
 * se na papíře netiskne, takže by odsazení jen odstrčilo text od okraje.
 */
.ok-listek__radek {
	padding: 1.5mm 0 !important;
	border-radius: 0 !important;
	background: none !important;
	border: 0 !important;
	border-bottom: 0.5pt solid #ddd !important;
}

/* ---------------------------------------------------------------------------
   Mapa areálu a disciplíny
   --------------------------------------------------------------------------- */

/*
 * Disciplíny se sázejí stejně jako program: řádek přes celou stránku, vlevo
 * pořadové číslo v pevném sloupci, vedle něj název. Obě sekce jsou tentýž typ
 * obsahu — očíslovaný seznam s krátkým popiskem — a na papíře nemá smysl, aby
 * jedna byla mřížka a druhá tabulka.
 *
 * Položky jsou v jednom nebo dvou `<ol class="ok-mapa__col">` podle nastavení
 * bloku. `display: contents` ten obal vyřadí z toku, takže řádky jdou za sebou
 * v jednom sloupci bez ohledu na to, jak je blok rozdělil. Číslo stanoviště
 * nese vlastní `<span>`, o markery seznamu se tedy nepřijde.
 */
.ok-mapa__layout {
	display: block !important;
}

.ok-mapa__list {
	display: block !important;
	margin-top: 4mm !important;
}

.ok-mapa__col {
	display: contents !important;
}

.ok-mapa__item {
	display: flex !important;
	align-items: baseline !important;
	gap: 0 6mm !important;
	min-height: 0 !important;
	padding: 1.5mm 0 !important;
	border: 0 !important;
	border-bottom: 0.5pt solid #ddd !important;
}

/* Kolečko s výplní by na papíře bylo jen šedý flek — zůstává samotné číslo
   v pevně široké patičce řádku, jako čas u programu. */
.ok-mapa__num {
	flex: none !important;
	display: block !important;
	width: 10mm !important;
	height: auto !important;
	border-radius: 0 !important;
	background: none !important;
	font-size: 10pt !important;
	text-align: left;
}

.ok-mapa__content {
	display: block !important;
}

/* Časy programu drží stejně široký sloupec jako čísla disciplín. */
.ok-program__time {
	flex: none !important;
	width: 16mm !important;
	font-size: 10pt !important;
}

.ok-program__row {
	gap: 0 6mm !important;
	padding: 1.5mm 0 !important;
	border: 0 !important;
	border-bottom: 0.5pt solid #ddd !important;
}

/* Obsazenost se dotahuje z API až v prohlížeči — na papíře je to údaj, který
   platil ve chvíli tisku, tedy spíš matoucí. */
.ok-mapa__obsazenost {
	display: none !important;
}

/* Plán areálu je na papíře užitečný, ale přes celou šířku by zabral stránku. */
.ok-mapa__media img {
	max-height: 90mm !important;
	width: auto !important;
	margin: 0 auto !important;
}

/* ---------------------------------------------------------------------------
   Program
   --------------------------------------------------------------------------- */

/* Harmonogram jde pod sebe přes celou šířku; doprovodná fotka je ilustrace,
   která na papíře jen ukrajuje místo z časů a popisků. */
.ok-program__layout {
	display: block !important;
}

.ok-program__photo {
	display: none !important;
}

/* Kontakty: mapa se netiskne, takže druhý sloupec by zůstal prázdný. */
.ok-kontakt__grid,
.ok-hero__meta {
	display: block !important;
	margin-top: 3mm !important;
}

/* ---------------------------------------------------------------------------
   Kontakty
   --------------------------------------------------------------------------- */

/*
 * Údaje se tisknou jako prostá tabulka, ne jako karta. Na obrazovce je to
 * krémový panel se zaoblením a béžovými linkami mezi řádky — na papíře z těch
 * barev zbydou nevýrazné šedé pruhy, které vypadají jako chyba tisku.
 */
.ok-kontakt__udaje {
	display: block !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
}

.ok-kontakt__organizace {
	font-size: 11pt !important;
	margin: 0 0 2mm !important;
}

.ok-kontakt__seznam {
	display: block !important;
	margin: 0 !important;
}

/* Popisek dostane pevný sloupec — na obrazovce je 7,5 rem, což při tiskových
   9 pt nestačí a „Místo konání" se lámalo na dva řádky. */
.ok-kontakt__radek {
	display: grid !important;
	grid-template-columns: 30mm 1fr !important;
	align-items: baseline;
	gap: 0 4mm !important;
	padding: 1.5mm 0 !important;
	border: 0 !important;
	border-bottom: 0.5pt solid #ddd !important;
	break-inside: avoid;
}

.ok-kontakt__radek:last-child {
	border-bottom: 0 !important;
}

.ok-kontakt__radek dt {
	font-size: 8pt !important;
	letter-spacing: 0.06em !important;
}

.ok-kontakt__radek dd {
	margin: 0 !important;
}

/* E-mail a telefon jsou tu samy o sobě údajem — podtržení z nich dělá odkaz,
   který na papíře nikam nevede. */
.ok-kontakt__radek a {
	text-decoration: none !important;
}

/* ---------------------------------------------------------------------------
   Obrázky a média
   --------------------------------------------------------------------------- */

img {
	max-width: 100% !important;
	height: auto !important;
	break-inside: avoid;
}

/* Náhled v kartě je ilustrace, ne obsah — bez stropu by z dlaždice ve dvou
   sloupcích byla půlka stránky. */
.ok-card img,
.ok-photo-grid__item img,
.ok-textobr__media img,
.ok-program__photo img {
	max-height: 32mm !important;
	object-fit: cover;
}

/* Fotka na pozadí hero sekce se netiskne — hero má na papíře fungovat jako
   titulek, ne jako plakát. */
.ok-hero img,
.ok-page-hero img {
	display: none !important;
}

.ok-hero {
	min-height: 0 !important;
	display: block !important;
	padding-bottom: 0 !important;
}

/* Hero je titulní blok dokumentu — nadpis smí být výrazně větší než nadpisy
   sekcí, na papíře nekonkuruje ničemu nad sebou. */
.ok-hero__title,
.ok-page-hero__title {
	font-size: 26pt !important;
	line-height: 1.1 !important;
	margin: 2mm 0 3mm !important;
}

/*
 * Ročník je na obrazovce pilulka s poloprůhledným pozadím. Bez výplně z ní
 * na papíře zbyl jen odsazený text, který nelícoval s nadpisem pod sebou —
 * tady je z toho prostý popisek nad titulkem.
 */
.ok-hero__badge {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	font-size: 8pt !important;
	letter-spacing: 0.16em !important;
}

.ok-hero__content,
.ok-page-hero__inner {
	position: static !important;
	max-width: none !important;
}

/* ---------------------------------------------------------------------------
   Typografie a zlomy stránek
   --------------------------------------------------------------------------- */

h1,
h2,
h3,
h4 {
	break-after: avoid;
	break-inside: avoid;
	color: #000 !important;
}

h1 {
	font-size: 17pt;
}

h2 {
	font-size: 13pt;
}

h3 {
	font-size: 10.5pt;
}

h4,
h5,
h6 {
	font-size: 9.5pt;
}

/* Nadpis uvnitř karty je jen popisek dlaždice, ne úroveň dokumentu — ve dvou
   sloupcích by ve velikosti sekce rozhodil celou mřížku. */
.ok-card__title,
.ok-post-card__title,
.ok-mapa__item-nazev,
.ok-listek__nazev,
.ok-faq__question {
	font-size: 9.5pt !important;
}

/* Osamocený řádek nahoře nebo dole na stránce je nejčastější vada tisku
   z webu — tři řádky jsou zavedené minimum. */
p,
li,
blockquote {
	orphans: 3;
	widows: 3;
}

.ok-post-card,
.ok-card,
.ok-faq__item,
.ok-listek__radek,
.ok-program__row,
.ok-mapa__item,
.ok-whatsapp,
figure,
table {
	break-inside: avoid;
}

/* Přehled přihlášky patří na jednu stránku i s číslem nad ním. */
.ok-dekujeme__inner {
	break-inside: avoid;
}

/* ---------------------------------------------------------------------------
   Odkazy — vypsat cíl, ale jen tam, kde to má smysl
   --------------------------------------------------------------------------- */

/*
 * Adresa se vypisuje jen u odkazů v textovém obsahu. Rozšířit to na celý web
 * by za každou kartu a položku menu nalepilo dlouhé URL — a navigace se stejně
 * netiskne. Vnitřní kotvy a `mailto:`/`tel:` se vynechávají: u nich je cíl
 * z textu odkazu zřejmý.
 */
.ok-post-content a[href^='http']::after,
.ok-wysiwyg a[href^='http']::after,
.ok-bezny-text a[href^='http']::after,
.ok-single__perex a[href^='http']::after {
	content: ' (' attr( href ) ')';
	font-size: 9pt;
	word-break: break-all;
}

/* ---------------------------------------------------------------------------
   Patička jako zápatí dokumentu
   --------------------------------------------------------------------------- */

.ok-footer {
	border-top: 1pt solid #000 !important;
	padding-top: 4mm !important;
	margin-top: 8mm;
	font-size: 9.5pt;
	break-inside: avoid;
}

.ok-footer h4 {
	color: #000 !important;
	font-size: 9.5pt;
	margin-bottom: 2mm;
}

.ok-footer__desc,
.ok-footer__contact,
.ok-footer__bottom,
.ok-footer__identifikace,
.ok-footer__brand-title,
.ok-footer__brand-sub,
.ok-footer__box-date,
.ok-footer__box-place,
.ok-footer__box-time {
	color: #000 !important;
}

.ok-footer__box {
	border: 0.5pt solid #999 !important;
	padding: 3mm !important;
}

.ok-footer__kalendar {
	display: none !important;
}

/* ---------------------------------------------------------------------------
   FAQ
   --------------------------------------------------------------------------- */

/*
 * Odpovědi se tisknou rozbalené — zavřený akordeon by na papíře ukázal jen
 * otázky. Atribut `open` z CSS nastavit nejde, takže se přebíjí obojí, čím
 * prohlížeče obsah zavřeného <details> schovávají: starší přes samotné děti,
 * novější přes pseudoelement `::details-content`. Ten je ve vlastním pravidle
 * schválně — v prohlížeči, který ho nezná, by shodil celý blok deklarací.
 */
.ok-faq__item > *:not( summary ) {
	display: block !important;
}

.ok-faq__item::details-content {
	content-visibility: visible !important;
	block-size: auto !important;
}

/* Trojúhelníček i vlastní ikona akordeonu jsou ovládání, ne obsah. */
.ok-faq__question {
	list-style: none !important;
	cursor: auto !important;
}

.ok-faq__question::-webkit-details-marker {
	display: none;
}

/*
 * Rozbalený akordeon je na papíře prostě text: otázka jako podnadpis,
 * odpověď odstavcem pod ní. Rámečky a odsazení položek by z každé otázky
 * dělaly kartu a ze sekce mřížku, kterou tu nikdo nelistuje.
 */
.ok-faq__list {
	display: block !important;
}

.ok-faq__item {
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 0 3mm !important;
	break-inside: avoid;
}

.ok-faq__question {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ok-faq__answer {
	padding: 0 !important;
	margin: 0.5mm 0 0 !important;
}
