/*!
Theme Name: _s
Theme URI: https://underscores.me/
Author: Automattic
Author URI: https://automattic.com/
Description: Hi. I'm a starter theme called <code>_s</code>, or <em>underscores</em>, if you like. I'm a theme meant for hacking so don't use me as a <em>Parent Theme</em>. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: _s
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

_s is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
# Konvence pro psaní CSS v tomto tématu

Zdroj vzhledu jsou soubory v css/. style.css je JEN výsledek
sestavení - needitovat ho, přepíše se. Sestavení: php build-css.php

Pravidla:
  1. Každý blok začíná komentářem: PROČ existuje a JAKÝ markup cílí.
  2. !important jen s napsaným důvodem na témže místě. Bez důvodu se maže.
  3. Pravidlo pro markup, který v _s neexistuje, se nepíše. Když třídu
     vkládá až JavaScript, uvede se to v komentáři - jinak to vypadá mrtvě.
  4. Soubory se spojují podle názvu, takže na pořadí v kaskádě záleží:
     00 konvence a proměnné -> 10 generic -> 20 základ -> 30 layout ->
     40 navigace -> 50 obsah -> 60 komponenty -> 70 šablony ->
     80 pluginy -> 90 přístupnost.
--------------------------------------------------------------*/

/*
 * Návrhové tokeny.
 *
 * Hodnoty jsou odečtené z živé Astry přes getComputedStyle (ne odhadnuté),
 * aby _s vypadalo stejně. Kdo je změní, změní vzhled celého webu.
 */
:root {
	/* Barvy */
	--barva-pozadi: #000000;          /* Astra: rgb(0,0,0) na body */
	--barva-textu: #f5f1e6;           /* Astra: rgb(245,241,230) */
	--barva-akcent: #da7c0c;          /* Astra: pozadí tlačítek rgb(218,124,12) */
	--barva-na-akcentu: #000000;      /* text na oranžovém tlačítku */

	/* Typografie - stejný stack jako Astra */
	--pismo: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans,
		Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--text-zaklad: 16px;
	--radek-zaklad: 1.65;             /* Astra: 26.4px při 16px */

	/* Nadpisy - Astra je má 600, ne 700 jako výchozí _s */
	--nadpis-vaha: 600;
	--h1: 36px;   --h1-radek: 1.4;   /* hero má 70px inline z editoru */
	--h2: 30px;   --h2-radek: 1.3;
	--h3: 24px;   --h3-radek: 1.3;

	/* Šířky - Astra: --wp--style--global--content-size */
	--sirka-obsahu: 1200px;
	--sirka-siroka: calc(1200px + 3em + 3em);
}

/*--------------------------------------------------------------
# Zděděné proměnné

Portovaná pravidla v 15-prevzato-z-astry.css se odkazují na proměnné,
které v Astře definovala theme.json a global-styles - a to _s nenačítá.
Bez nich se pravidla tiše rozpadnou: nadpis s třídou has-medium-font-size
spadl na zděděných 16 px místo 20 px, protože proměnná neexistovala.

Hodnoty jsou vytažené z živého CSS Astry. Needitovat naslepo - mění to
vzhled všude, kde editor přiřadil velikost nebo barvu z palety.
--------------------------------------------------------------*/

:root {
	/* Velikosti písma z palety editoru */
	--wp--preset--font-size--small: 13px;
	--wp--preset--font-size--normal: 16px;
	--wp--preset--font-size--medium: 20px;
	--wp--preset--font-size--large: 36px;
	--wp--preset--font-size--x-large: 42px;
	--wp--preset--font-size--huge: 42px;

	/* Barevná paleta webu (Astra: --ast-global-color-*) */
	--ast-global-color-0: #f5f1e6;
	--ast-global-color-1: #f5f1e6;
	--ast-global-color-2: #f5f1e6;
	--ast-global-color-3: #f5f1e6;
	--ast-global-color-4: #f5f1e6;
	--ast-global-color-5: #000000;
	--ast-global-color-6: #d1dae5;
	--ast-global-color-7: #070614;
	--ast-global-color-8: #000000;

	--wp--preset--color--ast-global-color-0: var(--ast-global-color-0);
	--wp--preset--color--ast-global-color-1: var(--ast-global-color-1);
	--wp--preset--color--ast-global-color-2: var(--ast-global-color-2);
	--wp--preset--color--ast-global-color-3: var(--ast-global-color-3);
	--wp--preset--color--ast-global-color-4: var(--ast-global-color-4);
	--wp--preset--color--ast-global-color-5: var(--ast-global-color-5);
	--wp--preset--color--ast-global-color-6: var(--ast-global-color-6);
	--wp--preset--color--ast-global-color-7: var(--ast-global-color-7);
	--wp--preset--color--ast-global-color-8: var(--ast-global-color-8);
	--wp--preset--color--white: #ffffff;
	--wp--preset--color--black: #000000;

	/* Rozvržení bloků */
	--wp--style--block-gap: 24px;
	--wp--custom--ast-content-width-size: 1200px;
	--wp--style--global--content-size: var(--wp--custom--ast-content-width-size);
	--wp--custom--ast-default-block-top-padding: 3em;
	--wp--custom--ast-default-block-right-padding: 3em;
	--wp--custom--ast-default-block-bottom-padding: 3em;
	--wp--custom--ast-default-block-left-padding: 3em;

	/* Vlastní proměnné webu z astra-child */
	--lt-max-width: 1200px;
	--lt-radius: 8px;
	--lt-color-accent: #b08d57;
	--rez-accent: #f2a03d;
	--rez-accent-border: rgba(242, 160, 61, 0.55);
	--rez-accent-soft: rgba(242, 160, 61, 0.14);

	--ast-blog-title-font-weight: 600;
}


/* ============================================================
   10-generic.css
   ============================================================ */

/*--------------------------------------------------------------
# Generic

Normalize a box-sizing. Beze změny z _s - je to cizí knihovna,
neupravovat, jen případně celou vyměnit.
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}


/* ============================================================
   15-prevzato-z-astry.css
   ============================================================ */

/*--------------------------------------------------------------
# Převzato z Astry

Vlastní design webu, který žil v Astře a v astra-child (hero sekce,
odrážky s fajfkami, odznak hodnocení, tlačítka, sekce stránek) plus
blokové CSS jádra, které _s záměrně nenačítá jako inline styly.

Jak vzniklo: z kompletního CSS, které Astra reálně aplikuje (269 kB),
jsem strojově vybral pravidla, jejichž selektory odkazují VÝHRADNĚ na
třídy a ID skutečně přítomné ve výstupu _s - ověřeno proti všem devíti
stránkám z menu. Pravidla mířící na Astřin vlastní obal (ast-*) tím
vypadla sama, protože ten markup v _s neexistuje.

Pravidla na holé elementy (p, h1, a...) tu NEJSOU schválně - ta patří
do 20-zaklad.css, kde jsou odečtené z Astry ručně a dají se udržovat.

Číslo 15 (hned za normalize) je záměr: tohle je ZDĚDĚNÝ základ, který
mají naše vlastní pravidla v 20-90 právo přebít. Kdyby byl načtený až
za nimi, přebíjel by je on - narazili jsme na to u .site-title, které
z Astry dostalo černou barvu na černém pozadí.

Tenhle soubor se needituje ručně, je odvozený. Až vzhled doladíme,
je to první kandidát na pročištění - většina se dá nahradit vlastními
pravidly v komponentách.
--------------------------------------------------------------*/

.has-text-align-center { text-align: center !important; }
h1.wp-block-heading { padding-top: 20px; padding-bottom: 20px; }
h2.wp-block-heading { padding-top: 15px; padding-bottom: 15px; }
h3.wp-block-heading, h4.wp-block-heading, h5.wp-block-heading, h6.wp-block-heading { padding-top: 10px; padding-bottom: 10px; }
#hero-homepage h1.wp-block-heading { padding-top: 0; padding-bottom: 0; }
.lt-google-rating { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; box-sizing: border-box; padding: 14px 20px; background: rgba(15, 16, 12, 0.55); border: 1px solid #33352a; border-radius: var(--lt-radius); backdrop-filter: blur(2px); text-decoration: none; }
.lt-google-rating-avatars { display: flex; }
.lt-google-rating-avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; margin-left: -10px; background: transparent; }
.lt-google-rating-avatar:first-child { margin-left: 0; }
.lt-google-rating-line { display: flex; align-items: center; gap: 6px; font-size: 14px; }
.lt-google-rating-star { color: #DA7C0C; font-size: 16px; }
.lt-google-rating-text { color: #e4e1d4; opacity: .9; }
.wp-block-image img { max-width: 100%; height: auto; }
#hero-homepage { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-top: 100px; padding-bottom: 100px; padding-left: max(20px, calc((100vw - var(--lt-max-width)) / 2)); padding-right: max(20px, calc((100vw - var(--lt-max-width)) / 2)); background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url('https://lecba-tmou.cz/wp-content/uploads/2026/08/hero-svetlo-tma.avif'); background-size: cover; background-position: center; background-repeat: no-repeat; /* Odhad proti webfont-swap reflow (stejný důvod jako mobilní min-height níže) - PŘESNOU hodnotu je potřeba doměřit v reálném prohlížeči (DevTools) po nasazení a doladit, tohle je bezpečný odhad z obsahu (H1 2 řádky @70px, H2, 3× icon-item @30px, cenovka, tlačítka). */ min-height: 820px; }
#hero-homepage h1 { max-width: 12.1ch; }
#hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) { align-self: flex-start; background: rgba(15, 16, 12, 0.55); border: 1px solid #33352a; border-radius: var(--lt-radius); padding: 18px; backdrop-filter: blur(2px); }
#hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) img { border-radius: 4px; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 40%; }
#hero-homepage .icon-list .icon-item::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; background-color: #DA7C0C; }
#hero-homepage .icon-item { padding-left: 49px; }
#hero-homepage h2 { padding-top: 8px !important; }

@media (min-width: 601px) {
  #hero-homepage .icon-list .icon-item::before { width: 30px; height: 30px; top: 14px; }
}

ul.icon-list { list-style: none; margin: 0; padding: 0; }
ul.icon-list .icon-item { position: relative; padding-left: 32px; margin-bottom: 12px; line-height: 1.8; }
ul.icon-list .icon-item::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; background-color: var(--lt-color-accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-24.4 344.2L118.8 249.3l32.3-32.3 80.5 80.5 168.6-168.6 32.3 32.3z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-24.4 344.2L118.8 249.3l32.3-32.3 80.5 80.5 168.6-168.6 32.3 32.3z'/%3E%3C/svg%3E") no-repeat center / contain; }
.wp-block-buttons { gap: 16px; margin-top: 16px; flex-wrap: wrap; }
.wp-block-button .wp-block-button__link { padding: 20px 28px; border-radius: var(--lt-radius); font-weight: 700; transition: transform .15s ease, background-color .15s ease; }
.btn-orange .wp-block-button__link { background: #DA7C0C; color: #000; }
.btn-orange .wp-block-button__link:hover { background: #B9690A; color: #fff; }
.wp-block-columns { box-sizing: border-box; display: flex; flex-wrap: wrap !important; align-items: normal !important; }

@media (min-width: 782px) {
  .wp-block-columns { flex-wrap: nowrap !important; }
}

@media (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}

@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 0; flex-grow: 1; }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
}

.wp-block-embed-youtube .wp-block-embed__wrapper { aspect-ratio: 16 / 9; height: auto; }
.wp-block-embed-youtube .wp-block-embed__wrapper iframe { width: 100%; height: 100%; }
.btn-transparent .wp-block-button__link { background: transparent; border: 2px solid var(--ast-global-color-1); color: var(--ast-global-color-1); padding: 18px 26px; }
.btn-transparent .wp-block-button__link:hover { background: color-mix(in srgb, var(--ast-global-color-1) 70%, transparent); color: #000; }
.caption-text { text-align: center; font-style: italic; opacity: .8; }
.terapie-tmou-cena { max-width: 250px; margin-left: -60px; margin-top: 0px; padding-top: 0px; }

@media (max-width: 600px) {
  #hero-homepage { padding: 40px 16px; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) { display: grid; grid-template-columns: 50% 1fr; align-items: center; column-gap: 12px; row-gap: 0; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image { grid-column: 1; grid-row: 1; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .caption-text { grid-column: 2; grid-row: 1; text-align: left !important; line-height: 1.2 !important; font-size: 17px !important; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-group { margin-top: -24px; grid-column: 1 / -1; grid-row: 2; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .lt-google-rating { grid-column: 1 / -1; grid-row: 3; }
  #hero-homepage h1 { font-size: 36px !important; line-height: 1.08 !important; }
  #hero-homepage .icon-item { font-size: 25px !important; line-height: 1.3 !important; }
  #hero-homepage { background-size: 135% auto; background-color: rgba(0, 0, 0, 0.1); background-position: right -100px top 170px; background-image: url('https://lecba-tmou.cz/wp-content/uploads/2026/08/hero-svetlo-tma-1024x576.avif'); }
  #hero-homepage { min-height: 650px; }
  #hero-homepage .wp-block-column:first-child > h2 { padding-top: 2px !important; margin-top: 10px !important; font-size: 14px !important; }
  #hero-homepage .icon-list { margin-left: -16px; margin-right: -16px; padding-left: 0; padding-right: 0; padding-top: 16px !important; width: calc(100% + 32px); }
  #hero-homepage .icon-item { padding-left: 25px !important; }
  .wp-block-buttons { flex-direction: column; }
  .wp-block-button { width: 100%; margin-bottom: 12px; }
  .wp-block-button:last-child { margin-bottom: 0; }
  .wp-block-button .wp-block-button__link { text-align: center; display: block; padding: 15px 23px; }
  .btn-transparent .wp-block-button__link { padding: 13px 21px; }
  .terapie-tmou-cena { margin-left: 0; max-width: 180px; }
}

.wp-element-button { cursor:pointer }
:root .has-text-align-center { text-align:center }
:root .has-text-align-left { text-align:left }
.aligncenter { clear:both }
.screen-reader-text { word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important }
.screen-reader-text:focus { background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000 }
.wp-block-button__link { align-content:center;box-sizing:border-box;cursor:pointer;display:inline-block;height:100%;text-align:center;word-break:break-word }
.wp-block-button__link.aligncenter { text-align:center }
.wp-block-button[style*=text-decoration] .wp-block-button__link { text-decoration:inherit }
.wp-block-buttons>.wp-block-button[class*=wp-block-button__width] { width:calc(var(--wp--block-button--width)*1% - var(--wp--style--block-gap, .5em)*(1 - var(--wp--block-button--width)/100)) }
.blocks-gallery-grid:not(.has-nested-images),.wp-block-gallery:not(.has-nested-images) { display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0 }
.blocks-gallery-grid:not(.has-nested-images) figcaption,.wp-block-gallery:not(.has-nested-images) figcaption { flex-grow:1 }
figure.wp-block-gallery.has-nested-images { align-items:normal }
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { margin:0;width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2) }
.wp-block-gallery.has-nested-images figure.wp-block-image { box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;max-width:100%;position:relative }
.wp-block-gallery.has-nested-images figure.wp-block-image>a,.wp-block-gallery.has-nested-images figure.wp-block-image>div { flex-direction:column;flex-grow:1;margin:0 }
.wp-block-gallery.has-nested-images figure.wp-block-image img { display:block;height:auto;max-width:100%!important;width:auto }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before { bottom:0;left:0;max-height:100%;position:absolute;right:0 }
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before { backdrop-filter:blur(3px);content:"";height:100%;-webkit-mask-image:linear-gradient(0deg,#000 20%,transparent);mask-image:linear-gradient(0deg,#000 20%,transparent);max-height:3em;pointer-events:none }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { box-sizing:border-box;color:#fff;font-size:13px;margin:0;overflow:auto;padding:1em;text-align:center;text-shadow:0 0 1.5px #000 }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar { height:12px;width:12px }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track { background-color:transparent }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb { background-clip:padding-box;background-color:transparent;border:3px solid transparent;border-radius:8px }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb { background-color:hsla(0,0%,100%,.8) }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { scrollbar-color:transparent transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within,.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover { scrollbar-color:hsla(0,0%,100%,.8) transparent }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { will-change:transform }

@media (hover:none) {
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { scrollbar-color:hsla(0,0%,100%,.8) transparent }
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { background:linear-gradient(0deg,rgba(0,0,0,.4),transparent) }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img { display:inline }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a { color:inherit }
.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img { box-sizing:border-box }
.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>a,.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border>div,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>a,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded>div { flex:1 1 auto }
.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption { background:none;color:inherit;flex:initial;margin:0;padding:10px 10px 9px;position:relative;text-shadow:none }
.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border:before,.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded:before { content:none }
.wp-block-gallery.has-nested-images figcaption { flex-basis:100%;flex-grow:1;text-align:center }
.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) { margin-bottom:auto;margin-top:0 }
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) { align-self:inherit }
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image)>div:not(.components-drop-zone) { display:flex }
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img { flex:1 0 0%;height:100%;-o-object-fit:cover;object-fit:cover;width:100% }

@media (min-width:600px) {
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) { width:calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667) }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),.wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image) { width:calc(50% - var(--wp--style--unstable-gallery-gap, 16px)*.5) }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child { width:100% }
}

.wp-block-gallery.has-nested-images.aligncenter { justify-content:center }
h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background { padding:1.25em 2.375em }
h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]) { rotate:180deg }
.wp-block-image>a,.wp-block-image>figure>a { display:inline-block }
.wp-block-image img { box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom }
.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a { border-radius:inherit }
.wp-block-image.has-custom-border img { box-sizing:border-box }
.wp-block-image.aligncenter { text-align:center }
.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright { display:table }
.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption { caption-side:bottom;display:table-caption }
.wp-block-image .aligncenter { margin-left:auto;margin-right:auto }
.wp-block-image :where(figcaption) { margin-bottom:1em;margin-top:.5em }
.wp-block-image figure { margin:0 }
p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"] { rotate:180deg }
.wp-block-buttons { box-sizing:border-box }
.wp-block-buttons>.wp-block-button { display:inline-block;margin:0 }
.wp-block-buttons.is-content-justification-left { justify-content:flex-start }
.wp-block-buttons.is-content-justification-center { justify-content:center }
.wp-block-buttons.aligncenter { text-align:center }
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter { margin-left:auto;margin-right:auto;width:100% }
.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link { text-decoration:inherit }
.wp-block-buttons .wp-block-button__link { width:100% }
.wp-block-button.aligncenter { text-align:center }
.wp-block-columns { box-sizing:border-box;display:flex;flex-wrap:wrap!important }

@media (min-width:782px) {
  .wp-block-columns { flex-wrap:nowrap!important }
}

.wp-block-columns { align-items:normal!important }
.wp-block-columns.are-vertically-aligned-top { align-items:flex-start }

@media (max-width:781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column { flex-basis:100%!important }
}

@media (min-width:782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column { flex-basis:0;flex-grow:1 }
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis] { flex-grow:0 }
}

.wp-block-column { flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word }
.wp-block-column.is-vertically-aligned-top { align-self:flex-start }
.wp-block-column.is-vertically-aligned-center { align-self:center }
.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top { width:100% }
.wp-block-group.is-layout-flex .wp-block-embed { flex:1 1 0%;min-width:0 }
.wp-block-embed { overflow-wrap:break-word }
.wp-block-embed :where(figcaption) { margin-bottom:1em;margin-top:.5em }
.wp-block-embed iframe { max-width:100% }
.wp-block-embed__wrapper { position:relative }
.wp-block-group { box-sizing:border-box }
.wp-block-button { --wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%; }
.is-layout-flow > .aligncenter { margin-left: auto !important;margin-right: auto !important; }
.is-layout-constrained > .aligncenter { margin-left: auto !important;margin-right: auto !important; }
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important; }
body .is-layout-flex { display: flex; }
.is-layout-flex { flex-wrap: wrap;align-items: center; }
.is-layout-flex > :is(*, div) { margin: 0; }
:root :where(.wp-element-button, .wp-block-button__link) { background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit; }
.has-white-color { color: var(--wp--preset--color--white) !important; }
.has-ast-global-color-0-color { color: var(--wp--preset--color--ast-global-color-0) !important; }
.has-ast-global-color-5-color { color: var(--wp--preset--color--ast-global-color-5) !important; }
.has-ast-global-color-0-background-color { background-color: var(--wp--preset--color--ast-global-color-0) !important; }
.has-ast-global-color-2-background-color { background-color: var(--wp--preset--color--ast-global-color-2) !important; }
.has-ast-global-color-5-background-color { background-color: var(--wp--preset--color--ast-global-color-5) !important; }
.has-white-border-color { border-color: var(--wp--preset--color--white) !important; }
.has-medium-font-size { font-size: var(--wp--preset--font-size--medium) !important; }
h1,h2,h3,h4,h5,h6,.entry-content :where(h1,h2,h3,h4,h5,h6),.site-title,.site-title a { font-weight:600; }
.site-title { font-size:22px;font-size:1.375rem;display:block; }
header .custom-logo-link img { max-width:60px;width:60px; }
.site-header .site-description { font-size:15px;font-size:0.9375rem;display:none; }
.entry-title { font-size:20px;font-size:1.25rem; }
h1,.entry-content :where(h1) { font-size:36px;font-size:2.25rem;font-weight:600;line-height:1.4em; }
h2,.entry-content :where(h2) { font-size:30px;font-size:1.875rem;font-weight:600;line-height:1.3em; }
h3,.entry-content :where(h3) { font-size:24px;font-size:1.5rem;font-weight:600;line-height:1.3em; }
h4,.entry-content :where(h4) { font-size:20px;font-size:1.25rem;line-height:1.2em;font-weight:600; }
h5,.entry-content :where(h5) { font-size:18px;font-size:1.125rem;line-height:1.2em;font-weight:600; }
h6,.entry-content :where(h6) { font-size:16px;font-size:1rem;line-height:1.25em;font-weight:600; }
body,h1,h2,h3,h4,h5,h6,.entry-title a,.entry-content :where(h1,h2,h3,h4,h5,h6) { color:var(--ast-global-color-1); }
.wpcf7 input.wpcf7-form-control:not([type=submit]),.wpcf7 textarea.wpcf7-form-control { padding:12px 16px; }
.wpcf7 select.wpcf7-form-control { padding:6px 10px; }
.wpcf7 input.wpcf7-form-control:not([type=submit]):focus,.wpcf7 select.wpcf7-form-control:focus,.wpcf7 textarea.wpcf7-form-control:focus { border-style:disable;border-color:#046BD2;border-width:thin;box-shadow:none;outline:none;color:var(--ast-form-input-focus-text,#475569); }
.wpcf7 input[type=file].wpcf7-form-control { font-size:16px;font-style:normal;font-weight:400;line-height:24px;width:100%;padding:12px 16px;border-radius:4px;box-shadow:0px 1px 2px 0px rgba(0,0,0,0.05);color:var(--ast-form-input-text,#475569); }
.wp-block-buttons.aligncenter { justify-content:center; }
.entry-content[data-ast-blocks-layout] > figure { margin-bottom:1em; }
#page { display:flex;flex-direction:column;min-height:100vh; }
.entry-title { margin-bottom:0.6em; }
.ast-separate-container .ast-comment-list li.depth-1,.hentry { margin-bottom:1.5em; }
.wp-block-button .wp-block-button__link { color:#000000; }
.wp-block-button .wp-block-button__link:hover,.wp-block-button .wp-block-button__link:focus { color:#000000;background-color:var(--ast-global-color-1);border-color:var(--ast-global-color-1); }
.wp-block-button .wp-block-button__link,.wp-block-search .wp-block-search__button,body .wp-block-file .wp-block-file__button { border-color:var(--ast-global-color-4);background-color:var(--ast-global-color-4);color:#000000;font-family:inherit;font-weight:500;line-height:1em;font-size:16px;font-size:1rem;padding-top:15px;padding-right:30px;padding-bottom:15px;padding-left:30px; }

@media (max-width:921px) {
  .wp-block-button .wp-block-button__link,.wp-block-search .wp-block-search__button,body .wp-block-file .wp-block-file__button { padding-top:14px;padding-right:28px;padding-bottom:14px;padding-left:28px; }
}

@media (max-width:544px) {
  .wp-block-button .wp-block-button__link,.wp-block-search .wp-block-search__button,body .wp-block-file .wp-block-file__button { padding-top:12px;padding-right:24px;padding-bottom:12px;padding-left:24px; }
}

.menu-toggle,button,.ast-button,.ast-custom-button,.button,input#submit,input[type="button"],input[type="submit"],input[type="reset"],#comments .submit,.search .search-submit,form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button,body .wp-block-file .wp-block-file__button,.search .search-submit { border-style:solid;border-top-width:0;border-right-width:0;border-left-width:0;border-bottom-width:0;color:#000000;border-color:var(--ast-global-color-4);background-color:var(--ast-global-color-4);padding-top:15px;padding-right:30px;padding-bottom:15px;padding-left:30px;font-family:inherit;font-weight:500;font-size:16px;font-size:1rem;line-height:1em; }
button:focus,.menu-toggle:hover,button:hover,.ast-button:hover,.ast-custom-button:hover .button:hover,.ast-custom-button:hover ,input[type=reset]:hover,input[type=reset]:focus,input#submit:hover,input#submit:focus,input[type="button"]:hover,input[type="button"]:focus,input[type="submit"]:hover,input[type="submit"]:focus,form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:hover,form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:focus,body .wp-block-file .wp-block-file__button:hover,body .wp-block-file .wp-block-file__button:focus { color:#000000;background-color:var(--ast-global-color-1);border-color:var(--ast-global-color-1); }

@media (max-width:921px) {
  .menu-toggle,button,.ast-button,.ast-custom-button,.button,input#submit,input[type="button"],input[type="submit"],input[type="reset"],#comments .submit,.search .search-submit,form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button,body .wp-block-file .wp-block-file__button,.search .search-submit { padding-top:14px;padding-right:28px;padding-bottom:14px;padding-left:28px; }
}

@media (max-width:544px) {
  .menu-toggle,button,.ast-button,.ast-custom-button,.button,input#submit,input[type="button"],input[type="submit"],input[type="reset"],#comments .submit,.search .search-submit,form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button,body .wp-block-file .wp-block-file__button,.search .search-submit { padding-top:12px;padding-right:24px;padding-bottom:12px;padding-left:24px; }
}

@media (max-width:921px) {
  .site-title { display:block; }
  .site-header .site-description { display:none; }
  h1,.entry-content :where(h1) { font-size:30px; }
  h2,.entry-content :where(h2) { font-size:25px; }
  h3,.entry-content :where(h3) { font-size:20px; }
}

@media (max-width:544px) {
  .site-title { display:block; }
  .site-header .site-description { display:none; }
  h1,.entry-content :where(h1) { font-size:30px; }
  h2,.entry-content :where(h2) { font-size:25px; }
  h3,.entry-content :where(h3) { font-size:20px; }
}

.entry-content :where(h1,h2,h3,h4,h5,h6) { clear:none; }
.entry-content li > p { margin-bottom:0; }
.has-text-align-left > blockquote::before { justify-content: flex-end; }
.entry-content > .wp-block-group,.entry-content > .wp-block-cover,.entry-content > .wp-block-columns { padding-top: var(--wp--custom--ast-default-block-top-padding);padding-right: var(--wp--custom--ast-default-block-right-padding);padding-bottom: var(--wp--custom--ast-default-block-bottom-padding);padding-left: var(--wp--custom--ast-default-block-left-padding); }
.entry-content[data-ast-blocks-layout] > * { max-width: var(--wp--custom--ast-content-width-size);margin-left: auto;margin-right: auto; }
.entry-content .wp-block-columns { margin-bottom: 0; }
.wp-block-quote:not(.has-text-align-right):not(.has-text-align-center) { border-left: 5px solid rgba(0,0,0,0.05); }
.has-text-align-left > blockquote,blockquote.has-text-align-left { border-left: 5px solid rgba(0,0,0,0.05); }
.entry-content > .wp-block-buttons,.entry-content > .wp-block-uagb-buttons { margin-bottom: 1.5em; }

@media (max-width:544px) {
  .wp-block-columns .wp-block-column:not(:last-child) { margin-bottom:20px; }
}

.entry-content ul,.entry-content ol { padding: revert;margin: revert;padding-left: 20px; }
:root .has-ast-global-color-0-color { color:var(--ast-global-color-0); }
:root .has-ast-global-color-0-background-color { background-color:var(--ast-global-color-0); }
:root .wp-block-button .has-ast-global-color-0-color { color:var(--ast-global-color-0); }
:root .wp-block-button .has-ast-global-color-0-background-color { background-color:var(--ast-global-color-0); }
:root .has-ast-global-color-2-background-color { background-color:var(--ast-global-color-2); }
:root .wp-block-button .has-ast-global-color-2-background-color { background-color:var(--ast-global-color-2); }
:root .has-ast-global-color-5-color { color:var(--ast-global-color-5); }
:root .has-ast-global-color-5-background-color { background-color:var(--ast-global-color-5); }
:root .wp-block-button .has-ast-global-color-5-color { color:var(--ast-global-color-5); }
:root .wp-block-button .has-ast-global-color-5-background-color { background-color:var(--ast-global-color-5); }
header.entry-header { text-align:left; }
header.entry-header .entry-title { font-weight:600;font-size:32px;font-size:2rem; }
header.entry-header > *:not(:last-child) { margin-bottom:10px; }

@media (max-width:921px) {
  header.entry-header { text-align:left; }
}

@media (max-width:544px) {
  header.entry-header { text-align:left; }
}

h1,h2,h3,h4,h5,h6,.entry-content :where(h1,h2,h3,h4,h5,h6) { color:var(--ast-global-color-1); }
.entry-title a { color:var(--ast-global-color-1); }
.wp-block-gallery.wp-block-gallery-1 { --wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) ); }
.w3_wprs-btn-bar:after,.w3_wprs-btn-bar:before,.w3_wprs-btn-group:after,.w3_wprs-btn-group:before,.w3_wprs-clear:after,.w3_wprs-container:after,.w3_wprs-panel:after,.w3_wprs-row-padding:after,.w3_wprs-row:after,.w3_wprs-topnav:after { content:"";display:table;clear:both }
.w3_wprs-col,.w3_wprs-half,.w3_wprs-quarter,.w3_wprs-third,.w3_wprs-threequarter,.w3_wprs-twothird { float:left;width:100% }

@media only screen and (min-width:993px) {
  .w3_wprs-col.l4,.w3_wprs-third { width:33.33333% }
}

span.wprs_rd_more { cursor: pointer; }
a.wprev_media_img_a { display:inline-block }
img.wprev_media_img { height:50px!important;margin-right:4px;border-radius:5px;margin-bottom: 2px; }
.wprev_media_div { margin-bottom:0;margin-top:10px;margin-left:0;margin-right:0 }
.wpproslider_t6_DIV_2 .wprev_media_div { margin-left:10px;margin-right:10px }
.wprev_media_div { margin-bottom: 0; margin-top: 10px; margin-left: 0; margin-right: 0; overflow: auto; white-space: nowrap; scrollbar-width: thin; scrollbar-color: #e4e4e4 #ffffff; scrollbar-gutter: auto; }
.wprev_media_div::-webkit-scrollbar { width: 16px; }
.wprev_media_div::-webkit-scrollbar-track { background-color: #e4e4e4; border-radius: 100px; }
.wprev_media_div::-webkit-scrollbar-thumb { background-color: #d4aa70; border-radius: 100px; }
a.wprs_rd_more { cursor: pointer; text-decoration: none !important; }
span.wprs_rd_more_text { display: none; transition: opacity 1s; opacity: 0; }
.wprev-slider { margin-left: 30px; margin-right: 30px; }
div.wprev-slider ul { list-style-type: none !important; padding: 0 0 0 0 !important; }
.wprev-slider ul { list-style-type: none; }
li.wprevnextslide { display: none; }
img.sitetype_Google { width:32px; height:32px; }
span.svgicons.svg-wprsp-verified { width: 18px; height: 18px; background: #a3a29e; display: inline-block; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; -webkit-mask-position: bottom; margin-bottom: -3px; margin-right: 5px; margin-left: 2px; }
.wprevtooltip { cursor: pointer; }
.wprevpro_star_imgs span.svgicons { width: 18px; height: 18px; background: gold; display: inline-block; -webkit-mask-repeat: no-repeat; -webkit-mask-size: contain; -webkit-mask-position: bottom; margin-bottom: -2px; margin-right: 1px; }
li.wprevnextslide { display: none; }
.svg-wprsp-verified { -webkit-mask-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='20' height='22' viewBox='0 0 24 24'%3E%3Cpath d='M23.016 12l-2.438-2.813 0.328-3.656-3.609-0.844-1.875-3.188-3.422 1.453-3.422-1.453-1.875 3.188-3.609 0.797 0.328 3.703-2.438 2.813 2.438 2.813-0.328 3.656 3.609 0.844 1.875 3.188 3.422-1.453 3.422 1.453 1.875-3.188 3.609-0.844-0.328-3.656zM10.078 16.734l-3.797-3.844 1.5-1.453 2.297 2.344 5.859-5.906 1.5 1.5z'%3E%3C/path%3E%3C/svg%3E%0A"); }
.svg-wprsp-star { -webkit-mask-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='20' height='22' viewBox='0 0 20 22'%3E%3Cpath d='M20.429 8.14c0 0.221-0.16 0.43-0.319 0.589l-4.456 4.346 1.056 6.138c0.012 0.086 0.012 0.16 0.012 0.246 0 0.319-0.147 0.614-0.503 0.614-0.172 0-0.344-0.061-0.491-0.147l-5.512-2.897-5.512 2.897c-0.16 0.086-0.319 0.147-0.491 0.147-0.356 0-0.516-0.295-0.516-0.614 0-0.086 0.012-0.16 0.025-0.246l1.056-6.138-4.469-4.346c-0.147-0.16-0.307-0.368-0.307-0.589 0-0.368 0.381-0.516 0.687-0.565l6.163-0.896 2.762-5.586c0.11-0.233 0.319-0.503 0.602-0.503s0.491 0.27 0.602 0.503l2.762 5.586 6.163 0.896c0.295 0.049 0.688 0.196 0.688 0.565z'%3E%3C/path%3E%3C/svg%3E%0A"); }
a.wprev_media_img_a, a.wprev_media_img_a:hover, a.wprev_media_img_a:active, a.wprev_media_img_a:focus, a.wprev_media_img_a:focus-visible { border: none !important; outline: none !important; box-shadow: none !important; color: inherit; text-decoration: none; }
a.wprev_media_img_a img.wprev_media_img, a.wprev_media_img_a:hover img.wprev_media_img, a.wprev_media_img_a:active img.wprev_media_img, a.wprev_media_img_a:focus img.wprev_media_img, a.wprev_media_img_a:focus-visible img.wprev_media_img { border: none !important; outline: none !important; box-shadow: none !important; }
.t6datediv,.wpproslider_t6_SPAN_6 { font-style:italic }
.wpproslider_t6_DIV_2,.wpproslider_t6_DIV_3,.wpproslider_t6_IMG_2 { box-sizing:border-box;column-rule-color:#fff;outline:#fff none 0 }
.wprevpro_t6_outer_div { padding:0 10px;margin:15px -10px }
.wpproslider_t6_DIV_1a { margin-left:10px;margin-right:10px }
.wpproslider_t6_DIV_2 { color:#fff;background:#fdfdfd;border:1px solid #eee;border-radius:0 0 4px 4px;transition:all .4s ease-in-out 0s;padding:5px;position:relative }
.wpproslider_t6_IMG_2 { color:#fff;height:60px;vertical-align:middle;width:60px;border:0;border-radius:50%!important }
.wpproslider_t6_DIV_3 { border:0;overflow:hidden;margin-left:10px;min-height:80px }
.wpproslider_t6_P_4,.wpproslider_t6_SPAN_6,.wpproslider_t6_STRONG_5 { box-sizing:border-box;color:#555;border:0;outline:none 0 }
.wpproslider_t6_P_4 { margin:0 15px 10px!important }
.wpproslider_t6_STRONG_5 { font-weight:700 }
.wpproslider_t6_DIV_3L { float:left;text-align:center;overflow:hidden;margin-right:10px;margin-left:10px;margin-top:10px }
.wpproslider_t6_DIV_2_top { width:auto;position:relative;margin-left:5px }
.wpproslider_t6_DIV_3_logo { position:absolute;top:4px;right:4px }
img.wprevpro_t6_site_logo { margin:0;padding:0;height:32px }
.t6displayname { margin-top:5px;font-size:medium;margin-bottom:0;padding-right:30px }
.wpproslider_t6_star_DIV { line-height:1em;margin-top:1px;margin-bottom:1px;margin-bottom:0px }
.wpproslider_t6_P_4 { margin-left:10px }
.wpproslider_t6_DIV_4 { margin:4px 6px }
.wpproslider_t6_DIV_2 .wprev_media_div { margin-left:10px;margin-right:10px }
.cmplz-video.cmplz-iframe-styles { background-color:transparent }
.cmplz-video.cmplz-hidden { visibility:hidden !important }
.cmplz-placeholder-parent { height:inherit }
.entry-content :where(h1),h1 { color:#808285;font-size:2em;line-height:1.2 }
.entry-content :where(h2),h2 { color:#808285;font-size:1.7em;line-height:1.3 }
.entry-content :where(h3),h3 { color:#808285;font-size:1.5em;line-height:1.4 }
.entry-content :where(h4),h4 { color:#808285;line-height:1.5;font-size:1.3em }
.entry-content :where(h5),h5 { color:#808285;line-height:1.6;font-size:1.2em }
.entry-content :where(h6),h6 { color:#808285;line-height:1.7;font-size:1.1em }
.screen-reader-text { border:0;clip:rect(1px,1px,1px,1px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important }
.screen-reader-text:focus { background-color:#f1f1f1;border-radius:2px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:12.25px;font-size:.875rem;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000 }
.aligncenter { clear:both;text-align:center;display:block;margin-left:auto;margin-right:auto }
.entry-content[data-ast-blocks-layout]>embed,.entry-content[data-ast-blocks-layout]>iframe,.entry-content[data-ast-blocks-layout]>object,embed,iframe,object { max-width:100% }
#page { position:relative }
.secondary a *,.site-footer a *,.site-header a *,a { transition:all .2s linear }
.entry-content :where(h1,h2,h3,h4,h5,h6) { margin-bottom:20px }
.site-title { font-weight:400 }
.site-description,.site-title { margin-bottom:0 }
.site-description a,.site-description:focus a,.site-description:hover a,.site-title a,.site-title:focus a,.site-title:hover a { transition:all .2s linear }
.site-title a,.site-title a:focus,.site-title a:hover,.site-title a:visited { color:#222 }
.site-description a,.site-description a:focus,.site-description a:hover,.site-description a:visited { color:#999 }
.site-title a { line-height:1.2 }
.site-header .site-description { line-height:1.5 }
.entry-title,.entry-title a { font-weight:var(--ast-blog-title-font-weight,normal) }
#page { display:block }
#primary,#secondary { width:100% }
#primary { margin:4em 0 }
.main-navigation { height:100%;-js-display:inline-flex;display:inline-flex }
.main-navigation ul { list-style:none;margin:0;padding-left:0;position:relative }
.hentry { margin:0 0 1.5em }
.entry-content>:last-child,.entry-summary>:last-child,.page-content>:last-child { margin-bottom:0 }
.site-header { z-index:99;position:relative }
.site-branding { line-height:1;align-self:center }
.page .entry-header { margin-bottom:1.5em }
.entry-header { margin-bottom:1.2em;word-wrap:break-word }
.entry-content { word-wrap:break-word }
.entry-content .wp-audio-shortcode,.entry-content .wp-embedded-audio,.entry-content .wp-embedded-video,.entry-content .wp-video,.entry-content p { margin-bottom:1.6em }
.entry-content::after { display:table;clear:both;content:"" }
.entry-title { margin-bottom:.2em }
.menuTel { margin-left: 60px; }
.menuTel a { padding: 8px; margin: 5px; color: #fff; text-decoration: none; border-radius: 5px; text-align: center; display: inline-block; background-color: #558140; }
.menuTel a:hover { background-color: #74B057; }
input.btnRezervovat { display: inline-block; outline: none; cursor: pointer; text-align: center; text-decoration: none; font-size: 1.1rem; padding: 1em 2em 1em; text-shadow: 0 1px 1px rgba(0,0,0,.3); -webkit-border-radius: .5em; -moz-border-radius: .5em; border-radius: .5em; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2); box-shadow: 0 1px 2px rgba(0,0,0,.2); color: #fef4e9!important; border: solid 1px #da7c0c; background: #f78d1d; background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20)); background: -moz-linear-gradient(top, #faa51a, #f47a20); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20'); }
input.btnRezervovat:hover { background: #f47c20!important; background: -webkit-gradient(linear, left top, left bottom, from(#f88e11), to(#f06015))!important; background: -moz-linear-gradient(top, #f88e11, #f06015)!important; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f88e11', endColorstr='#f06015')!important; }
.site-title a { font-size:2rem; font-weight: 800; text-shadow: #000 1px 1px 1px; }
.site-description { font-size:1.2rem; font-weight: 600; text-shadow: #000 1px 1px 1px; }

@media only screen and (min-device-width : 100px) and (max-device-width : 600px) {
  .menu-toggle { color: white !important; background-color:orange !important; }
  .menu-item a { font-size:1.1rem !important; }
  .btnRezervaceMobil { font-size:1.2rem; width: 100%; text-align: center; bottom: 2em; position: fixed; z-index:1000; }
  .custom-logo-link { display:none; }
  .site-title a { font-size:2rem; font-weight: 800; }
  .site-description { font-size:1.2rem; font-weight: 600; }
  body:not(.home) .site-branding { top: 2.8em; }
}

@media only screen and (min-device-width : 800px) {
  div.btnRezervaceMobil { display: none }
}

.lcp_thumbnail { width:100%;margin-top:2%; }
.lcp_date { float:right;font-size:80%;margin-top:1em }
.lcp_title { font-size:130%;margin-top:1em;display:inline-block }
.lcp_catlist li { margin-bottom:3em;list-style-type:none;border-top:3px solid white;margin-right:1em;display:inline-block;max-width:47%;vertical-align:top; }

@media only screen and (min-device-width : 100px) and (max-device-width : 600px) {
  .lcp_catlist li { max-width:inherit; }
}

li.near { list-style-type:none; font-weight: bold; background-color: #ddd; border: 1px solid black; padding: 0.5em; margin: 0.5em 0 0.5em 0; border-radius: 0.5em; color: black; }
li.near a,li.menuRezervaceBtn a, div.btnRezervaceMobil a { display: inline-block; outline: none; cursor: pointer; text-align: center; text-decoration: none; font-size: 0.75rem; padding: .6em 2em .45em; border-radius: .5em; color: #fff!important; background-color: #da7c0c; }
li.near a { font-size: 0.9rem; }
li.near a:first-letter { text-transform: uppercase }
li.near a:hover, li.menuRezervaceBtn a:hover { background-color: #f09e3f; }
li.menuRezervaceBtn a { font-size: 16px; font-weight: bold; padding: 0 0.8em 0 0.8em; margin: 0.3em 0 0.3em 0; }
ul.near { margin:0 }
.calnk a:hover { box-shadow:none!important; cursor:unset!important; }
.calnk a { display:flex!important; padding-left:2px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; text-decoration:none; color:#000; font-size:0.6rem!important; box-shadow:none!important; border-radius:2px; }
.calnk a span { display:none; visibility:hidden; width:0; height:0 }
.calendar-table { border-collapse:separate!important; border-spacing:0!important; border:0!important; width:100%!important; }
.calendar-heading { height:25px; text-align:center }
.calendar-month { width:60%; text-align:center; font-weight:bold; border:none }
.normal-day-heading { font-size:.8rem!important; text-align:center; background-color:#f9f9f9; color:#000 }
.weekend-heading { font-size:.8rem!important; text-align:center; background-color:#f9f9f9; color:red }
.day-with-date { vertical-align:text-top; text-align:left; }
.day-with-date span { font-size:0.7rem!important; }
.day-without-date { vertical-align:text-top; text-align:left; }
span.weekend { color:red; font-size:.7rem!important; }
.current-day { width:60px; height:60px; background-color:#E4EBE3; vertical-align:text-top; text-align:left; color:black; }
.current-day span { font-size:.7rem!important; }
span.event { padding:0px }
span.event br { display:none }
.kjo-link { font-size:.75em!important; text-align:center }
.calendar-table table,tbody,tr,td { margin:0!important; padding:0!important; }
.kjo-link p, .kjo-link a { font-size:.6rem; }
table.calendar-table { margin-bottom:5px!important; }
.cat-key-cell, .cat-key-cell strong { font-size: 0.7rem; }
.cat-key { width:100%; margin-top:30px; padding:5px; border:0!important }
/* Jediné ručně upravené pravidlo v tomto souboru.
   Původní verze z kalendáře měla margin-left:2px!important, což je
   pozůstatek doby, kdy legendu držel v ose úzký obal Astry. V _s jsou
   stránky ve výchozím stavu přes celou šířku, takže ta dvojka legendu
   odsunula k levému okraji okna, zatímco kalendář nad ní zůstal
   vystředěný (/svatyne-pratelstvi/). Vystředění řeší 30-layout.css,
   proto tu levý margin nepatří. Zároveň jsem vyhodil margin-top
   a width, které tu byly dvakrát po sobě. */
table.cat-key { margin-top:5px!important; margin-bottom:5px!important; border:1px solid #DFE6DE!important; border-collapse:separate!important; border-spacing:4px!important; width:99.5%!important; }
.cat-key td { border:0!important; border-radius:5px; }
.calendar_bullet { display:none!important }
.current-day span:first-of-type { justify-content:center; font-weight:600 }
.calendar-next,.calendar-prev { width:20%; text-align:center; border:none; }
.wpcf7-quiz-label { color:#fff }
section.legal { color: #000 }
section.facts { color: #000 }
.facts { margin: 2.5rem auto 1.5rem; max-width: 1100px; padding: 0 1rem; }
.facts dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem 2rem; margin: 0; padding: 1.25rem 1.5rem; background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 8px; }
.facts dl > div { display: flex; flex-direction: column; gap: 0.25rem; }
.facts dt { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; opacity: 0.6; font-weight: 500; }
.facts dd { margin: 0; font-size: 1rem; font-weight: 600; line-height: 1.35; }
.legal { max-width: 1100px; margin: 0 auto 2rem; padding: 0 1rem; font-size: 0.7rem; line-height: 1.55; opacity: 0.7; }
.legal p { margin: 0 0 0.6rem; }
.legal p:last-child { margin-bottom: 0; }
.rez-form { max-width: 600px; --rez-accent: #f2a03d; --rez-accent-soft: rgba(242,160,61,0.14); --rez-accent-border: rgba(242,160,61,0.55); counter-reset: rez-step; }
.rez-block { margin-bottom: 28px; }
.rez-row { display: flex; gap: 16px; }
.rez-row p { flex: 1; min-width: 0; }

@media (max-width: 600px) {
  .rez-row { flex-direction: column; gap: 0; }
}

.rez-label { display: flex; align-items: baseline; gap: 10px; font-size: 15px; letter-spacing: 0.06em; text-transform: uppercase; color: #fff; opacity: 1; margin-bottom: 12px; counter-increment: rez-step; }
.rez-label p { display: contents; }
.rez-label::before { content: counter(rez-step); flex: none; color: var(--rez-accent); font-weight: 700; letter-spacing: normal; text-transform: none; }
.rez-tiles { display: flex; flex-direction: row; flex-wrap: wrap; gap: 9px; }
.rez-tiles p { display: contents; }
.rez-tiles br { display: none; }
.rez-tile { display: block; position: relative; flex: 1 1 140px; border: 1px solid rgba(255,255,255,0.14); border-radius: 10px; padding: 14px 16px; cursor: pointer; transition: border-color 0.2s, background 0.2s; }
.rez-tile:hover { border-color: rgba(255,255,255,0.4); }
.rez-tile:has(input:checked) { border-color: var(--rez-accent); background: var(--rez-accent-soft); }
.rez-tile input[type="radio"] { margin-right: 9px; accent-color: var(--rez-accent); }
.rez-badge { position: absolute; top: -9px; right: 12px; background: var(--rez-accent); color: #1a1310; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.rez-hint { font-size: 13.5px; opacity: 0.7; margin: 10px 2px 0; display: none; }
.rez-hint-static { font-size: 13.5px; opacity: 0.6; margin: 0 2px 12px; }
.rez-reveal { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, margin 0.35s ease; }
.rez-reveal { font-size: 13.5px; }
.rez-pricebar { position: sticky; bottom: 0; padding: 12px 0; background: #000; }
.rez-summary { border: 1px solid var(--rez-accent-border); border-radius: 10px; padding: 10px 16px; /* stejné podbarvení jako u vybrané dlaždice (--rez-accent-soft), jen posazené na neprůhledné .rez-pricebar pozadí kvůli sticky */ background: var(--rez-accent-soft); }
.rez-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 15px; }
.rez-total p { margin: 0; }
.rez-total span:last-child { font-size: 20px; color: var(--rez-accent); white-space: nowrap; }
.rez-note { font-size: 11.5px; opacity: 0.5; margin-top: 0; line-height: 1.45; margin: 0; }
.rez-help { text-align: center; margin: 12px 0 0; }
.rez-help a { font-size: 13px; opacity: 0.55; }
.wpcf7 .hidden-fields-container { display: none; }
.has-text-align-center { text-align: center !important; }
.wp-block-group.hero-section, .wp-block-group.about-section, .wp-block-group.why-section, .wp-block-group.gallery-section, .wp-block-group.benefits-section, .wp-block-group.testimonials-section, .wp-block-group.terms-section, .wp-block-group.guides-section, .wp-block-group.map-section { max-width: var(--lt-max-width); margin-inline: auto; padding: 64px 20px; }
.wp-block-group.why-section, .wp-block-group.gallery-section, .wp-block-group.benefits-section, .wp-block-group.testimonials-section, .wp-block-group.map-section { border-top: 2px solid rgba(255, 255, 255, 0.3); }
.section-boxed { max-width: 1140px; margin: auto; }
.full-width > .section-boxed { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
.wp-block-group.full-width { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.terms-section { position: relative; }
.terms-section::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.7); z-index: 0; }
.terms-section > .section-boxed { position: relative; z-index: 1; }

@media (min-width: 601px) {
  .terms-section { background-attachment: fixed; }
}

@media (max-width: 600px) {
  .terms-section { background-image: url('https://lecba-tmou.cz/wp-content/uploads/2025/07/zahrada-pobyt-ve-tme-22-640x480.avif') !important; }
}

.caption-text { text-align: center; font-style: italic; opacity: .8; }
#hero-homepage { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-top: 100px; padding-bottom: 100px; padding-left: max(20px, calc((100vw - var(--lt-max-width)) / 2)); padding-right: max(20px, calc((100vw - var(--lt-max-width)) / 2)); background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url('https://lecba-tmou.cz/wp-content/uploads/2026/08/hero-svetlo-tma.avif'); background-size: cover; background-position: center; background-repeat: no-repeat; min-height: 820px; }
#hero-homepage h1 { max-width: 12.1ch; }
#hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) { align-self: flex-start; background: rgba(15, 16, 12, 0.55); border: 1px solid #33352a; border-radius: var(--lt-radius); padding: 18px; backdrop-filter: blur(2px); }
#hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) img { border-radius: 4px; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 40%; }
#hero-homepage .icon-list .icon-item::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; background-color: #DA7C0C; }
#hero-homepage .icon-item { padding-left: 49px; }
#hero-homepage h2 { padding-top: 8px !important; }

@media (min-width: 601px) {
  #hero-homepage .icon-list .icon-item::before { width: 30px; height: 30px; top: 14px; }
}

@media (max-width: 600px) {
  #hero-homepage { padding: 40px 16px; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) { display: grid; grid-template-columns: 50% 1fr; align-items: center; column-gap: 12px; row-gap: 0; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-image { grid-column: 1; grid-row: 1; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .caption-text { grid-column: 2; grid-row: 1; text-align: left !important; line-height: 1.2 !important; font-size: 17px !important; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .wp-block-group { margin-top: -24px; grid-column: 1 / -1; grid-row: 2; }
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .lt-google-rating { grid-column: 1 / -1; grid-row: 3; }
  #hero-homepage h1 { font-size: 36px !important; line-height: 1.08 !important; }
  #hero-homepage .icon-item { font-size: 25px !important; line-height: 1.3 !important; }
  #hero-homepage { background-size: 135% auto; background-color: rgba(0, 0, 0, 0.1); background-position: right -100px top 170px; background-image: url('https://lecba-tmou.cz/wp-content/uploads/2026/08/hero-svetlo-tma-1024x576.avif'); }
  #hero-homepage { min-height: 650px; }
  #hero-homepage .wp-block-column:first-child > h2 { padding-top: 2px !important; margin-top: 10px !important; font-size: 14px !important; }
  #hero-homepage .icon-list { margin-left: -16px; margin-right: -16px; padding-left: 0; padding-right: 0; padding-top: 16px !important; width: calc(100% + 32px); }
  #hero-homepage .icon-item { padding-left: 25px !important; }
}

ul.icon-list { list-style: none; margin: 0; padding: 0; }
ul.icon-list .icon-item { position: relative; padding-left: 32px; margin-bottom: 12px; line-height: 1.8; }
ul.icon-list .icon-item::before { content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; background-color: var(--lt-color-accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-24.4 344.2L118.8 249.3l32.3-32.3 80.5 80.5 168.6-168.6 32.3 32.3z'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-24.4 344.2L118.8 249.3l32.3-32.3 80.5 80.5 168.6-168.6 32.3 32.3z'/%3E%3C/svg%3E") no-repeat center / contain; }
.features-list .icon-item a { text-decoration: none; color: inherit; }
.features-list .icon-item a:hover { color: var(--lt-color-accent); }
.why-section .icon-list .icon-item::before { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; background-color: #DA7C0C; }
.wp-block-buttons { gap: 16px; margin-top: 16px; flex-wrap: wrap; }
.wp-block-button .wp-block-button__link { padding: 20px 28px; border-radius: var(--lt-radius); font-weight: 700; transition: transform .15s ease, background-color .15s ease; }
.btn-orange .wp-block-button__link { background: #DA7C0C; color: #000; }
.btn-orange .wp-block-button__link:hover { background: #B9690A; color: #fff; }
.btn-green .wp-block-button__link { background: #61CE70; color: #000; }
.btn-green .wp-block-button__link:hover { background: #52AF5F; color: #fff; }
h1.wp-block-heading { padding-top: 20px; padding-bottom: 20px; }
h2.wp-block-heading { padding-top: 15px; padding-bottom: 15px; }
h3.wp-block-heading, h4.wp-block-heading, h5.wp-block-heading, h6.wp-block-heading { padding-top: 10px; padding-bottom: 10px; }
#hero-homepage h1.wp-block-heading { padding-top: 0; padding-bottom: 0; }
.btn-transparent .wp-block-button__link { background: transparent; border: 2px solid var(--ast-global-color-1); color: var(--ast-global-color-1); padding: 18px 26px; }
.btn-transparent .wp-block-button__link:hover { background: color-mix(in srgb, var(--ast-global-color-1) 70%, transparent); color: #000; }
.benefits-list { list-style: none; margin: 0; padding: 0; }
.benefits-list li { position: relative; padding-left: 40px; margin-bottom: 20px; }
.benefits-list li::before { content: ""; position: absolute; left: 0; top: 4px; width: 22px; height: 22px; background-color: #DA7C0C; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c1.5 2 3 4.3 4.5 4.5 2.5.2 6.5-5.5 11.7-11.9' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain; }

@media (max-width: 600px) {
  .benefits-section > .wp-block-columns { display: block; }
  .benefits-section > .wp-block-columns > .wp-block-column { display: contents; }
  .benefits-section .wp-block-image:has(img[src*="svatyne-svobody-new-min-322x480"]) { float: left; width: 50%; margin: 0 16px 12px 0; }
  .benefits-section .wp-block-buttons { clear: both; }
}

.chatky-gallery.wp-block-gallery { gap: 12px; }
.chatky-gallery .wp-block-image { width: 100%; }
.chatky-gallery img { border-radius: var(--lt-radius); aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: 100%; }
.chatky-gallery figcaption { font-size: .85rem; text-align: center; opacity: .75; }
.map-embed { position: relative; width: 100%; padding-bottom: 45%; }
.map-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--lt-radius); }
.wp-block-embed-youtube .wp-block-embed__wrapper { border-radius: 5px; overflow: hidden; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); /* bez tohohle drží iframe svou natvrdo danou height="675" i po zúžení na šířku sloupce (100% width odjinud, výška se ale neškáluje) - jakmile async wp-block-library-css dotáhne a omezí šířku, poměr stran se rozjede skoro na čtverec. aspect-ratio + 100%/100% iframe to drží na 16:9 bez ohledu na pořadí načítání CSS. */ aspect-ratio: 16 / 9; /* Complianz (cmplz_set_blocked_content_container v complianz.js) najde iframe.cmplz-placeholder-element a přilepí na jeho RODIČE (= tenhle wrapper) třídu cmplz-blocked-content-container s "height: inherit" - to má nižší specificitu (1 třída) než tohle pravidlo (2 třídy), takže explicitní height:auto tady spolehlivě vyhraje a nechá aspect-ratio dál platit, ať Complianz svou třídu přidá v jakýkoli okamžik. */ height: auto; }
.wp-block-embed-youtube .wp-block-embed__wrapper iframe { width: 100%; height: 100%; }
.terapie-tmou-cena { max-width: 250px; margin-left: -60px; margin-top: 0px; padding-top: 0px; }
.terapie-tmou-cena.fade-in { opacity: 0; transform: translateY(20px); transition: opacity .6s ease .5s, transform .6s ease .5s; }

@media (max-width: 900px) {
  .chatky-gallery.wp-block-gallery { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
  .wp-block-group.hero-section, .wp-block-group.about-section, .wp-block-group.why-section, .wp-block-group.gallery-section, .wp-block-group.benefits-section, .wp-block-group.testimonials-section, .wp-block-group.terms-section, .wp-block-group.guides-section, .wp-block-group.map-section { padding: 40px 16px; }
  .chatky-gallery.wp-block-gallery { grid-template-columns: repeat(2, 1fr); }
  .wp-block-buttons { flex-direction: column; }
  .wp-block-button { width: 100%; margin-bottom: 12px; }
  .wp-block-button:last-child { margin-bottom: 0; }
  .wp-block-button .wp-block-button__link { text-align: center; display: block; padding: 15px 23px; }
  .btn-transparent .wp-block-button__link { padding: 13px 21px; }
  .terapie-tmou-cena { margin-left: 0; max-width: 180px; }
  .map-embed { padding-bottom: 75%; }
}

#lt-floating-phone { display: none; }

@media (max-width: 921px) {
  #lt-floating-phone { display: flex; align-items: center; gap: 6px; position: fixed; top: 15px; right: 40px; z-index: 99999; background: #61CE70; color: #000; text-decoration: none; font-weight: 700; font-size: 13px; padding: 8px 12px; border-radius: 999px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); }
}

#lt-floating-phone, div.btnRezervaceMobil { opacity: 0; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease; pointer-events: none; }
div.btnRezervaceMobil a { color: #000 !important; border-radius: 999px !important; font-weight: 700 !important; font-size: 13px !important; }

@media (max-width: 600px) {
  .site-title a { font-size: 1.3rem !important; }
  .custom-logo-link { display: inline-block !important; }
  .wp-block-columns:has(.wp-block-embed-youtube) > .wp-block-column:has(.wp-block-embed-youtube) { order: 2; }
  .wp-block-columns:has(.wp-block-embed-youtube) > .wp-block-column:not(:has(.wp-block-embed-youtube)) { order: 1; }
  .wp-block-columns:has(.wp-block-embed-youtube) p { font-size: 18px !important; }
  .wp-block-columns:has(.wp-block-embed-youtube) h3 { font-size: 26px !important; }
  #co-je-terapie-tmou > .wp-block-columns { display: block; }
  #co-je-terapie-tmou > .wp-block-columns > .wp-block-column { display: contents; }
  #co-je-terapie-tmou > .wp-block-columns .wp-block-image { float: left; width: 50%; margin: 0 16px 12px 0; }
}

.rez-hero { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); box-sizing: border-box; padding: 90px 20px 60px; background-image: linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.65)), url('https://lecba-tmou.cz/wp-content/uploads/2026/08/hero-svetlo-tma.avif'); background-size: cover; background-position: center; background-repeat: no-repeat; }

@media (max-width: 600px) {
  .rez-hero { padding: 48px 16px 36px; background-image: linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.65)), url('https://lecba-tmou.cz/wp-content/uploads/2026/08/hero-svetlo-tma-1024x576.avif'); }
}

.rez-trust-bar .wp-block-column { border-left: 1px solid rgba(255,255,255,.15); }
.rez-trust-bar .wp-block-column:first-child { border-left: none; }

@media (max-width: 600px) {
  .rez-trust-bar .wp-block-column { border-left: none; }
}

.rez-card { background: rgba(15,16,12,.55); border: 1px solid #33352a; border-radius: var(--lt-radius); padding: 24px; backdrop-filter: blur(2px); box-sizing: border-box; height: 100%; }
.rez-card h4 { margin-top: 0; color: #DA7C0C; }
.rez-step-number { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #DA7C0C; color: #000; font-weight: 700; font-size: 20px; }
.rez-section-divider { border-top: 2px solid rgba(255,255,255,.15); }
.rez-assurance p { display: flex; align-items: baseline; gap: 8px; justify-content: center; }
.rez-assurance .rez-check { color: #DA7C0C; font-weight: 700; }
input[type="checkbox"].cmplz-category { width: initial; -webkit-appearance: checkbox; }
input[type="checkbox"].cmplz-category:checked::before { content: ''; }
.cmplz-cookiebanner { box-sizing: border-box; }
.cmplz-cookiebanner * { pointer-events: auto !important; user-select: auto !important; }
#cmplz-manage-consent .cmplz-manage-consent { margin: unset; z-index: 9998; color: var(--cmplz_text_color); background-color: var(--cmplz_banner_background_color); border-style: solid; border-color: var(--cmplz_banner_border_color); border-width: var(--cmplz_banner_border_width); border-radius: var(--cmplz_banner_border_radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; line-height: initial; position: fixed; bottom: var(--cmplz-manage-consent-offset); min-width: 100px; height: var(--cmplz-manage-consent-height); right: 40px; padding: 15px; cursor: pointer; animation: mc_slideOut 0.5s forwards; }
#cmplz-manage-consent .cmplz-manage-consent:active { outline: none; border: none; }
#cmplz-manage-consent .cmplz-manage-consent:hover,#cmplz-manage-consent .cmplz-manage-consent:focus { animation: mc_slideIn 0.5s forwards; animation-delay: 0; }

@media (max-width: 425px) {
  .cmplz-cookiebanner .cmplz-header .cmplz-title { display: none; }
}

.cmplz-cookiebanner { max-height: calc(100vh - 20px); overflow-y: auto; position: fixed; height: auto; left: 50%; top: 50%; -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); grid-template-rows: minmax(0, 1fr); z-index: 99999; background: var(--cmplz_banner_background_color); }
.cmplz-cookiebanner a { transition: initial; }
.cmplz-cookiebanner .cmplz-buttons a.cmplz-btn.tcf { display: none; }
.cmplz-cookiebanner .cmplz-body { width: 100%; grid-column: span 3; overflow-y: auto; overflow-x: hidden; max-height: 55vh; }
.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-track { border-radius: 10px; -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0); background-color: transparent; }
.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar { width: 5px; background-color: transparent; }
.cmplz-cookiebanner .cmplz-body::-webkit-scrollbar-thumb { background-color: var(--cmplz_button_accept_background_color); border-radius: 10px; }

@media (min-width: 350px) {
  .cmplz-cookiebanner .cmplz-body { min-width: 300px; }
}

@media (max-height: 400px) {
  .cmplz-cookiebanner { height: calc(100vh - 20px); display: flex; flex-direction: column; overflow: hidden; gap: 1px; grid-row-gap: 1px; padding: 7px 12px !important; zoom: 0.6; }
  .cmplz-cookiebanner .cmplz-body { flex: 1; min-height: 0; overflow-y: auto; max-height: none; margin-top: 15px !important; }
  .cmplz-cookiebanner .cmplz-header, .cmplz-cookiebanner .cmplz-divider, .cmplz-cookiebanner .cmplz-links, .cmplz-cookiebanner .cmplz-buttons, .cmplz-cookiebanner .cmplz-documents { flex-shrink: 0; }
  .cmplz-cookiebanner .cmplz-header { margin-bottom: 15px !important; max-height: 10px; }
  .cmplz-close { zoom: 0.6 !important; }
  .cmplz-cookiebanner .cmplz-buttons { gap: 1px !important; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { height: 15vh !important; min-height: unset !important; padding: 0 !important; white-space: nowrap !important; font-size: 1.1rem !important; line-height: 14px !important; zoom: 0.5 !important; }
  .cmplz-cookiebanner .cmplz-documents, .cmplz-cookiebanner .cmplz-information { zoom: 0.5 !important; }
}

@media (max-height: 400px) and (max-width: 768px) {
  .cmplz-cookiebanner { gap: 1px; }
}

.cmplz-cookiebanner { border-style: solid; border-color: var(--cmplz_banner_border_color); border-width: var(--cmplz_banner_border_width); border-radius: var(--cmplz_banner_border_radius); padding: 15px 20px; display: grid; grid-gap: 10px; }
.cmplz-cookiebanner .cmplz-divider { margin-left: -20px; margin-right: -20px; }
.cmplz-cookiebanner .cmplz-header { grid-template-columns: 100px 1fr 100px; align-items: center; display: grid; grid-column: span 3; }

@media (max-width: 399px) {
  .cmplz-cookiebanner .cmplz-header { grid-template-columns: auto 1fr auto; }
}

.cmplz-cookiebanner .cmplz-logo svg { max-height: 35px; width: inherit; }
.cmplz-cookiebanner .cmplz-logo img { max-height: 40px; width: inherit; }
.cmplz-cookiebanner .cmplz-title { justify-self: center; grid-column-start: 2; font-size: var(--cmplz_title_font_size); color: var(--cmplz_text_color); font-weight: 500; }
.cmplz-cookiebanner .cmplz-close { line-height: 20px; justify-self: end; grid-column-start: 3; font-size: 20px; cursor: pointer; width: 20px; height: 20px; color: var(--cmplz_text_color); }
.cmplz-cookiebanner .cmplz-close svg { width: 20px; height: 20px; }
.cmplz-cookiebanner .cmplz-close:hover { text-decoration: none; line-height: initial; font-size: 18px; }
.cmplz-cookiebanner .cmplz-message { word-wrap: break-word; font-size: var(--cmplz_text_font_size); line-height: var(--cmplz_text_line_height); color: var(--cmplz_text_color); margin-bottom: 5px; }
.cmplz-cookiebanner .cmplz-message a { color: var(--cmplz_hyperlink_color); }
.cmplz-cookiebanner .cmplz-message,.cmplz-cookiebanner .cmplz-categories,.cmplz-cookiebanner .cmplz-links,.cmplz-cookiebanner .cmplz-buttons,.cmplz-cookiebanner .cmplz-divider { grid-column: span 3; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category { background-color: rgba(239, 239, 239, 0.5); }
.cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) { margin-bottom: 10px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { display: grid; grid-template-columns: 1fr auto 15px; grid-template-rows: minmax(0, 1fr); align-items: center; grid-gap: 10px; padding: 10px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font-weight: 500; grid-column-start: 1; justify-self: start; font-size: var(--cmplz_category_header_title_font_size); color: var(--cmplz_text_color); margin: 0; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active { font-size: var(--cmplz_category_header_active_font_size); font-weight: 500; color: var(--cmplz_category_header_always_active_color); }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active label { display: none; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-banner-checkbox { display: flex; align-items: center; margin: 0; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-banner-checkbox input[data-category=cmplz_functional] { display: none; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { background: none; border: none; padding: 0; margin: 0; cursor: pointer; grid-column-start: 3; display: flex; align-items: center; justify-content: center; color: inherit; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open { cursor: pointer; content: ''; transform: rotate(0deg); -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; background-size: cover; height: 18px; width: 18px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description { font-size: var(--cmplz_category_body_font_size); color: var(--cmplz_text_color); margin: 0; max-width: 100%; padding: 10px; }

@media (max-width: 425px) {
  .cmplz-cookiebanner .cmplz-category .cmplz-category-header { grid-template-columns: 1fr!important; }
  .cmplz-cookiebanner .cmplz-message { margin-right: 5px; }
}

.cmplz-cookiebanner .cmplz-buttons { display: flex; gap: var(--cmplz_banner_margin); }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { min-height: 45px; padding: 10px; margin: initial; width: 100%; white-space: nowrap; border-radius: var(--cmplz_button_border_radius); cursor: pointer; font-size: var(--cmplz_button_font_size); font-weight: 500; text-decoration: none; line-height: 20px; text-align: center; flex: initial; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover { text-decoration: none; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept { background-color: var(--cmplz_button_accept_background_color); border: 1px solid var(--cmplz_button_accept_border_color); color: var(--cmplz_button_accept_text_color); }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny { background-color: var(--cmplz_button_deny_background_color); border: 1px solid var(--cmplz_button_deny_border_color); color: var(--cmplz_button_deny_text_color); }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color); }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color); }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-manage-options { background-color: var(--cmplz_button_settings_background_color); border: 1px solid var(--cmplz_button_settings_border_color); color: var(--cmplz_button_settings_text_color); }
.cmplz-cookiebanner .cmplz-buttons a.cmplz-btn { display: flex; align-items: center; justify-content: center; padding: initial; }

@media (max-width: 425px) {
  .cmplz-cookiebanner .cmplz-links.cmplz-information { display: initial; text-align: center; }
}

.cmplz-cookiebanner .cmplz-links { display: flex; gap: var(--cmplz_banner_margin); }
.cmplz-cookiebanner .cmplz-links.cmplz-information { justify-content: space-between; }
.cmplz-cookiebanner .cmplz-links.cmplz-documents { justify-content: center; }
.cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--cmplz_hyperlink_color); font-size: var(--cmplz_link_font_size); text-decoration: underline; margin: 0; }
.cmplz-cookiebanner .cmplz-links .cmplz-link.cmplz-read-more-purposes { display: none; }
.cmplz-cookiebanner .cmplz-links ul { margin: 0; padding: 0; list-style: none; display: flex; gap: var(--cmplz_banner_margin); justify-content: center; }
.cmplz-categories .cmplz-category .cmplz-description-statistics-anonymous { display: none; }
.cmplz-categories .cmplz-category .cmplz-description-statistics { display: block; }
.cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { background: none; border: none; padding: 0; margin: 0; cursor: pointer; grid-column-start: 3; display: flex; align-items: center; justify-content: center; color: inherit; }
.cmplz-categories .cmplz-category .cmplz-category-toggle[aria-expanded="true"] .cmplz-icon.cmplz-open { transform: rotate(180deg); }
.cmplz-cookiebanner { top: initial; left: initial; right: 10px; bottom: 10px; transform: initial; }

@media (min-width: 768px) {
  .cmplz-cookiebanner { min-width: var(--cmplz_banner_width); max-width: 100%; display: grid; grid-row-gap: 10px; }
}

@media (max-width: 768px) {
  .cmplz-cookiebanner { left: initial; right: initial; bottom: 0; width: 100%; }
  .cmplz-cookiebanner .cmplz-buttons { flex-direction: column; }
}

@media (min-width: 768px) {
  .cmplz-message, .cmplz-categories { width: calc(var(--cmplz_banner_width) - 42px); }
}

.cmplz-cookiebanner .cmplz-categories,.cmplz-cookiebanner .cmplz-save-preferences,.cmplz-cookiebanner .cmplz-link.cmplz-manage-options,.cmplz-cookiebanner .cmplz-manage-vendors,.cmplz-cookiebanner .cmplz-read-more,.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options { display: none; }
.cmplz-cookiebanner .cmplz-links.cmplz-information { display: none; }
.cmplz-cookiebanner .cmplz-preferences,.cmplz-manage-consent-container .cmplz-preferences { display: none; }

@media (max-width: 768px) {
  #cmplz-manage-consent .cmplz-manage-consent { display: none; }
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox { position: relative; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox { opacity: 0; margin: 0; margin-top: -10px; cursor: pointer; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); -moz-opacity: 0; -khtml-opacity: 0; position: absolute; z-index: 1; top: 0px; left: 0px; width: 40px; height: 20px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label:before { box-shadow: 0 0 0 2px #245fcc; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before { display: block; background-color: var(--cmplz_slider_active_color); content: ""; padding-left: 6px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label:after { left: 14px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label { position: relative; padding-left: 30px; margin: 0; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before,.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after { box-sizing: border-box; position: absolute; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; transition: background-color 0.3s, left 0.3s; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before { display: block; content: ""; color: #fff; box-sizing: border-box; font-family: 'FontAwesome', sans-serif; padding-left: 23px; font-size: 12px; line-height: 20px; background-color: var(--cmplz_slider_inactive_color); left: 0px; top: -7px; height: 15px; width: 28px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after { display: block; content: ""; letter-spacing: 20px; background: var(--cmplz_slider_bullet_color); left: 4px; top: -5px; height: 11px; width: 11px; }
.cmplz-cookiebanner { box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px; }
#cmplz-manage-consent .cmplz-manage-consent { box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px; }


/* ============================================================
   16-formulare.css
   ============================================================ */

/*
 * Formuláře (plugin lt-forms).
 *
 * Přebírá pravidla, která dřív visela na selektorech .wpcf7 v souboru
 * 15-prevzato-z-astry.css. Ta zanikla s odchodem Contact Form 7, protože
 * mířila na jeho třídy (.wpcf7-form-control). Tady jsou přepsaná na .lt-form,
 * takže míří na atribut typu, ne na třídu, kterou přidával plugin.
 *
 * Obecné pravidlo proti přetečení na mobilu zůstává v 20-zaklad.css - je
 * napsané nezávisle na pluginu a platí i mimo formuláře.
 */

.lt-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.lt-form textarea {
	padding: 12px 16px;
}

.lt-form select {
	padding: 6px 10px;
}

.lt-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.lt-form select:focus,
.lt-form textarea:focus {
	border-style: solid;
	border-color: #046BD2;
	border-width: thin;
	box-shadow: none;
	outline: none;
	color: var(--ast-form-input-focus-text, #475569);
}

.lt-form input[type="file"] {
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	width: 100%;
	padding: 12px 16px;
	border-radius: 4px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	color: var(--ast-form-input-text, #475569);
}

/*
 * Hlášky. Nahrazuje .wpcf7-response-output a .wpcf7-not-valid-tip, které
 * si s sebou nesl vlastní stylopis Contact Form 7.
 */

.lt-form-errors,
.lt-form-ok {
	margin: 0 0 1em;
	padding: 0.75em 1em;
	border: 2px solid;
	border-radius: 4px;
	font-size: 0.95em;
}

.lt-form-errors {
	border-color: #dc3232;
}

.lt-form-ok {
	border-color: #46b450;
}

.lt-field-error {
	display: block;
	margin-top: 0.25em;
	color: #dc3232;
	font-size: 0.85em;
}

/* Pole, u kterého hláška visí, ať je vidět i bez čtení textu. */
.lt-form :is(input, textarea, select):has(+ .lt-field-error) {
	border-color: #dc3232;
}


/* ============================================================
   20-zaklad.css
   ============================================================ */

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

Typografie, elementy, odkazy, formuláře. Výchozí vzhled holých značek,
než je přebijí komponenty.
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
/*
 * Výchozí modrá z výbavy _s. Přebíjí ji pravidlo `a, a:visited` níž, takže
 * je tu jen jako stopa toho, co bylo - stejně jako fialová u :visited.
 *
 * a { color: #4169e1; }
 */

/*
 * Navštívené odkazy mají stejnou barvu jako nenavštívené - řeší to pravidlo
 * `a, a:visited` níž. Původní hodnota z výbavy _s (#800080, fialová) je tu
 * schválně zakomentovaná, ne smazaná, ať je jasné, co se změnilo.
 *
 * a:visited { color: #800080; }
 */

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}


/*--------------------------------------------------------------
# Převzetí vzhledu z Astry

Hodnoty odečtené z živé Astry. _s má ve výchozím stavu bílé pozadí,
tmavý text a nadpisy o hodně menší - tohle to srovnává.
--------------------------------------------------------------*/

body {
	background-color: var(--barva-pozadi);
	color: var(--barva-textu);
	font-family: var(--pismo);
	font-size: var(--text-zaklad);
	line-height: var(--radek-zaklad);
}

/*
 * Nadpisy: Astra jim dává váhu 600 a barvu textu (_s má 700 a šedou).
 *
 * POZOR na specificitu. Zděděná pravidla v 15-prevzato-z-astry.css mají tvar
 * `.entry-content :where(h1), h1 { ... }`. Selektor s :where() má specificitu
 * (0,1,0), zatímco holé `h1` jen (0,0,1) - takže by nás přebíjel i přesto, že
 * jsme v souboru později. Proto tu selektor `.entry-content h1` (0,1,1)
 * uvádíme výslovně. Bez toho zůstávalo h1 na 32 px místo 36 px.
 */
h1, h2, h3, h4, h5, h6,
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
	color: inherit;
	font-family: var(--pismo);
	font-weight: var(--nadpis-vaha);
	clear: none;
}

h1, .entry-content h1 {
	font-size: var(--h1);
	line-height: var(--h1-radek);
	margin: 0 0 20px;
}

h2, .entry-content h2 {
	font-size: var(--h2);
	line-height: var(--h2-radek);
	margin: 24px 0 20px;
}

h3, .entry-content h3 {
	font-size: var(--h3);
	line-height: var(--h3-radek);
	margin: 0 0 20px;
}

/* Astra: margin-top 24px, margin-bottom 25.6px (1.6em). */
p, .entry-content p { margin: 24px 0 25.6px; }

/*
 * Odkazy v textu mají barvu textu a podtržení, ne modrou z _s.
 *
 * :visited je tu POVINNĚ všude, kde se nastavuje barva odkazu. Prohlížeč
 * navštíveným odkazům jinak dá vlastní barvu a - to je ta zrada -
 * getComputedStyle to kvůli ochraně soukromí zatají a hlásí nenavštívený
 * stav. Rozdíl se tedy měřením nedá odhalit, jen okem.
 */
a, a:visited,
.entry-content a, .entry-content a:visited {
	color: var(--barva-textu);
	text-decoration: underline;
}

a:hover, a:focus, a:active,
.entry-content a:hover, .entry-content a:focus {
	color: var(--barva-akcent);
}

/*
 * Seznamy v obsahu se ZÁMĚRNĚ nepřepisují.
 *
 * Původně tu bylo `list-style-type: none; padding-left: 0`, odvozené
 * z jednoho měření na homepage. Zobecnil jsem to špatně - na /terapie-tmou-cena/
 * Astra odrážky zobrazuje a moje pravidlo je všude vyplo. Výchozí chování
 * a jednotlivé výjimky teď řeší zděděná pravidla v 15-prevzato-z-astry.css.
 */

/*
 * Nadpis na začátku bloku nemá horní marži.
 *
 * Astra má u h2 uvnitř obsahu margin-top jednou 24 px a jinde 0 - podle toho,
 * jestli je prvním prvkem svého kontejneru. Bez tohohle byly sekce
 * na /terapie-tmou-cena/ o kus níž než v Astře.
 */
.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.wp-block-group__inner-container > h1:first-child,
.wp-block-group__inner-container > h2:first-child,
.wp-block-group__inner-container > h3:first-child,
.wp-block-column > h1:first-child,
.wp-block-column > h2:first-child,
.wp-block-column > h3:first-child {
	margin-top: 0;
}

/*
 * Formulářová pole se nesmí roztáhnout přes svůj rám.
 *
 * Contact Form 7 si nese vlastní stylopis a políčka v něm mají pevnou
 * šířku podle atributu size. Na mobilu (390 px) tak vylezla ven a stránka
 * šla posouvat do strany - naměřeno 19 px přetečení na /vybaveni-svatyne/
 * a /darkovy-poukaz-terapie-tmou/.
 *
 * Astra to neřešila takhle, ale tím, že CF7 stylopis vůbec nenačítala
 * (filtr wpcf7_load_css). To jsme do _s nepřebírali, protože CF7 tu podle
 * Tomáše nakonec nebude - tohle pravidlo je nezávislé na pluginu a bude
 * platit i pro formuláře, které přijdou po něm.
 */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
input[type="datetime-local"],
textarea,
select {
	max-width: 100%;
	box-sizing: border-box;
}


/* ============================================================
   30-layout.css
   ============================================================ */

/*--------------------------------------------------------------
# Layout

Rozvržení stránky: #page, hlavička, patička, hlavní obsah.
Zatím prázdné - _s žádné layoutové CSS nemá a vlastní teprve vznikne.
--------------------------------------------------------------*/

/*
 * Šířka obsahu.
 *
 * Astra ji řeší přes theme.json (--wp--style--global--content-size: 1200px),
 * které _s nemá. Reprodukujeme tedy stejná pravidla pro constrained layout
 * ručně. Bez toho se obsah roztáhne přes celou šířku okna.
 *
 * WordPress vlastní pravidla píše přes :where() (nulová specificita), takže
 * tahle vyhrají bez ohledu na pořadí souborů.
 */
.is-layout-constrained > :not(.alignleft):not(.alignright):not(.alignfull) {
	max-width: var(--sirka-obsahu);
	margin-left: auto;
	margin-right: auto;
}

.is-layout-constrained > .alignwide { max-width: var(--sirka-siroka); }
.is-layout-constrained > .alignfull { max-width: none; }

/*
 * Šířka obsahu stránky.
 *
 * Obsah je přes celou šířku a omezení drží AŽ JEDNOTLIVÉ BLOKY. Díky tomu
 * stačí u nové sekce nastavit v editoru celou šířku a obsah uvnitř se sám
 * vystředí na 1200 px - není potřeba obalovat sekci další sekcí.
 *
 * Astra to měla obráceně: .entry-content na 1200 px a celoplošné sekce z něj
 * vyskakovaly zápornou marží (`.full-width { margin-left: calc(50% - 50vw) }`).
 * To pravidlo je pořád v 15-prevzato-z-astry.css a při plné šířce rodiče
 * vyjde skoro na nulu, takže nevadí.
 *
 * Přímí potomci se omezují jednotlivě - jinak by bloky mimo sekci (třeba
 * dvojice tlačítek na /pobyt-ve-tme-zkusenosti/) utekly na okraj okna.
 */
.entry-content {
	max-width: none;
}

.entry-content > * {
	max-width: var(--sirka-obsahu);
}

/*
 * Vystředění je schválně v samostatném pravidle s vyšší specificitou.
 *
 * Kdyby bylo pohromadě s max-width jako `.entry-content > *` (0,1,0),
 * přebilo by ho každé pravidlo pro konkrétní značku - `.entry-content p`
 * (0,1,1), `h1, .entry-content h1` (0,1,1), `.entry-content ul.near`
 * (0,1,2) - protože všechna nastavují margin zkratkou, a tím i levý
 * a pravý na nulu.
 *
 * Na /svatyne-pratelstvi/ to bylo vidět nejlíp: kalendář byl vystředěný,
 * ale seznam termínů, nadpisy a popisek pod kalendářem se lepily na levý
 * okraj okna. Z 16 prvků jich bylo vystředěných jen 8.
 *
 * Dvě :not() zvednou specificitu na (0,3,0), což na ta pravidla stačí,
 * a zároveň vynechají sekce, které mají jít přes celou šířku.
 */
.entry-content > *:not(.full-width):not(.alignfull) {
	margin-left: auto;
	margin-right: auto;
}

/* Sekce označené jako celoplošné si šířku berou celou. */
.entry-content > .full-width,
.entry-content > .alignfull {
	max-width: none;
}

.entry-content > .alignwide {
	max-width: var(--sirka-siroka);
}


/*
 * Hlavička.
 *
 * _s skládá logo, název webu, popisek a menu pod sebe (417 px vysoká
 * hlavička). Astra má vodorovný pruh vysoký 93 px: logo vlevo, menu vpravo.
 * Popisek webu Astra nezobrazuje vůbec.
 */
.site-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 0 48px;
	min-height: 93px;
}

.site-branding {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* _s vypisuje logo v původní velikosti 250x250. */
.custom-logo-link { display: block; line-height: 0; }
.custom-logo { width: 60px; height: 60px; }

.site-title {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
}

/*
 * Název webu má stejnou barvu jako položky menu - obojí bere --barva-textu
 * (viz 40-navigace.css), takže se to nemůže rozejít.
 *
 * :visited musí být uvedené: zděděné pravidlo z Astry má
 * `.site-title a:visited { color: #222 }`, tedy tmavě šedou na černém pozadí.
 * Právě to dělalo z názvu webu šedý nápis.
 *
 * text-shadow se ruší schválně: zděděné pravidlo z Astry přidávalo
 * `#000 1px 1px 1px`, což velký nadpis opticky zašedilo, i když má
 * výpočtem přesně stejnou barvu jako menu. Menu žádný stín nemá.
 */
.site-title a,
.site-title a:visited {
	color: var(--barva-textu);
	text-decoration: none;
	text-shadow: none;
}

/* Astra popisek webu nezobrazuje. */
.site-description { display: none; }

/*
 * Věci, které Astra na stránkách nevypisuje a _s ano.
 *
 * Nadpis stránky se tu UŽ NESKRÝVÁ - dřív ho plošně schovávalo CSS, teď
 * o něm rozhoduje inc/nadpis-stranky.php: vypíše se, jen když si obsah
 * vlastní H1 nenese.
 *
 * Náhledový obrázek: Astra ho u typu 'page' potlačovala filtrem na
 * ast-featured-img (kód vázaný na Astru, do _s se nepřebíral).
 */
.page .post-thumbnail {
	display: none;
}


/* Název webu se v Astře vejde na jeden řádek. */
.site-title { white-space: nowrap; }


/*
 * Obsah začíná hned pod hlavičkou.
 *
 * _s dává .site-main horní marži 64 px, takže obsah startoval na y=157,
 * kdežto Astra na y=93 rovnou pod hlavičkou.
 *
 * Selektor musí být #primary.site-main: zděděné pravidlo má tvar
 * `#primary { margin: 4em 0 }`, tedy specificitu (1,0,0), a samotná třída
 * (0,1,0) by ho nepřebila ani z pozdějšího souboru.
 */
#primary.site-main {
	margin-top: 0;
}

#primary.site-main > article > .entry-content {
	margin-top: 0;
}


/*
 * Nadpis vypsaný šablonou.
 *
 * inc/nadpis-stranky.php vypíše H1 z názvu stránky jen tehdy, když obsah
 * vlastní H1 nemá. Dnes je to jediná stránka - /o-nas/. Ten nadpis ale žije
 * v <header class="entry-header">, což je sourozenec .entry-content, ne její
 * potomek, takže na něj vystředění o pár řádků výš vůbec nemíří: nadpis visel
 * u levého okraje okna, zatímco obsah pod ním začínal ve sloupci.
 *
 * Astra tenhle problém neměla, protože tam byl nadpis na /o-nas/ vypnutý
 * per-page nastavením Astry - tedy věcí, která s Astrou zmizí.
 */
#primary.site-main .entry-header {
	max-width: var(--sirka-obsahu);
	margin-left: auto;
	margin-right: auto;
}


/* ============================================================
   40-navigace.css
   ============================================================ */

/*--------------------------------------------------------------
# Navigace

Hlavní menu v hlavičce a menu v patičce.
.main-navigation ul je dvakrát: základní varianta a varianta v @media
pro rozbalovací menu na úzkých displejích. Není to duplicita.
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}


/*--------------------------------------------------------------
# Převzetí z Astry

Astra: položky 16px, odsazení 0 16px, barva textu, bez podtržení.
Bez odsazení se v _s slévají do jednoho slova.
--------------------------------------------------------------*/

.main-navigation {
	clear: none;
	margin: 0;
	flex: 0 1 auto;
}

/*
 * Položky menu k pravému okraji.
 *
 * .main-navigation zabírá celý zbytek řádku (2070 px), ale bez tohohle se
 * položky nakupí vlevo hned za logem a vpravo zůstane prázdno - Astra je má
 * u pravého okraje.
 */
/*
 * flex-wrap: wrap je tu POVINNĚ.
 *
 * _s dává menu `display: flex` bez určení zalamování, takže platí výchozí
 * nowrap - položky se nevejdou a přetečou VEN Z OKNA. Naměřeno při 1000 px:
 * stránka přetékala o 181 px a šla posouvat do strany.
 *
 * Se zalomením se menu při 921-1399 px rozloží na dva řádky a hlavička
 * naroste z 93 na 106 px. Není to hezké, ale je to lepší než vodorovné
 * posouvání celé stránky.
 */
.main-navigation ul {
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
}

.main-navigation a,
.main-navigation a:visited {
	color: var(--barva-textu);
	font-size: 16px;
	padding: 0 16px;
	text-decoration: none;
}

.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--barva-akcent);
}

/*
 * Menu v patičce.
 *
 * Astra ho má POD SEBOU a zarovnané doprava (třída astra-footer-vertical,
 * display: grid) - vlevo vedle něj sedí sociální odkazy. Původně jsem ho
 * udělal vodorovně, což bylo špatně.
 */
.footer-navigation {
	display: flex;
	justify-content: flex-end;
	/* Umístění v řádku řeší .site-footer-top v socialni-odkazy.css. */
	margin-left: auto;
}

.footer-navigation ul {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: right;
}

.footer-navigation a,
.footer-navigation a:visited {
	color: var(--barva-textu);
	font-size: 14px;
	text-decoration: none;
}

.footer-navigation a:hover,
.footer-navigation a:focus {
	color: var(--barva-akcent);
}

/*--------------------------------------------------------------
# Hlavní menu na mobilu

Na úzkých oknech se z menu nechává jen odkaz Cena - jediná položka, která
se vejde vedle loga. Zbytek se skrývá včetně telefonu a Rezervace, protože
oba už na mobilu plavou jako samostatná tlačítka (plovouci-prvky.css) a
v menu by byly podruhé.

Hamburger se schválně nezobrazuje: Tomáš ho nechce, lidi na něj podle jeho
zkušenosti stejně neklikají. Proto se přebíjí i výchozí chování _s, které
pod 37.5em (600 px) menu schová a místo něj ukáže tlačítko.

Cena se adresuje třídou menu-item-347, kterou dává WordPress podle ID
položky menu. Kdyby se položka smazala a založila znovu, dostane jiné ID
a je potřeba ho tu srovnat. Cílit na adresu přes [href] by bylo odolnější,
ale hůř by se to hledalo - proto radši tenhle komentář.
--------------------------------------------------------------*/

@media (max-width: 921px) {

	/* Žádný hamburger. */
	.menu-toggle {
		display: none;
	}

	/* Přebíjí výchozí schovávání menu v _s pod 600 px. */
	.main-navigation ul,
	.main-navigation.toggled ul {
		display: flex;
		flex-wrap: nowrap;
	}

	#primary-menu > li {
		display: none;
	}

	#primary-menu > li.menu-item-347 {   /* Cena */
		display: block;
		margin-left: 0;
	}
}


/* ============================================================
   50-obsah.css
   ============================================================ */

/*--------------------------------------------------------------
# Obsah

Příspěvky, stránky, média, popisky obrázků a galerie.

Co tu záměrně NENÍ: CSS pro komentáře a widgety z výbavy _s.
Komentáře jsou na webu vypnuté (inc/comments-off.php) a widget area
jsme z tématu odstranili, takže ta pravidla nemají co cílit.
--------------------------------------------------------------*/

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em auto 0;	/* auto po stranách: obsah se centruje, viz 30-layout.css */
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}


/* ============================================================
   60-komponenty/fade-in.css
   ============================================================ */

/*--------------------------------------------------------------
# Fade-in při scrollu

Třídu .fade-in nese obsah, .is-visible přidává js/site.js, když prvek
najede do viewportu.
--------------------------------------------------------------*/

.terapie-tmou-cena.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease .5s, transform .6s ease .5s;
}

.terapie-tmou-cena.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 900px) {
  .chatky-gallery.wp-block-gallery { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
  .chatky-gallery.wp-block-gallery { grid-template-columns: repeat(2, 1fr); }
}


/* ============================================================
   60-komponenty/galerie-chatek.css
   ============================================================ */

/*--------------------------------------------------------------
# Galerie chatek

Mřížka dlaždic .chatky-gallery. Varianty v @media jsou počty sloupců
pro různé šířky, ne duplicita.
--------------------------------------------------------------*/

.chatky-gallery.wp-block-gallery {
  gap: 12px;
}

.chatky-gallery .wp-block-image { width: 100%; }

.chatky-gallery img {
  border-radius: var(--lt-radius);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.chatky-gallery figcaption { font-size: .85rem; text-align: center; opacity: .75; }


/* ============================================================
   60-komponenty/lightbox.css
   ============================================================ */

/*--------------------------------------------------------------
# Lightbox galerie

Celý markup .chatky-lightbox-* vytváří až js/site.js po kliknutí na
dlaždici - ve zdrojovém HTML ho nenajdeš, přesto je CSS živé.
Třídy .is-active, .is-loading přepíná tentýž skript.
--------------------------------------------------------------*/

.chatky-lightbox-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0, 0, 0, 0.92);
  align-items: center;
  justify-content: center;
}

.chatky-lightbox-overlay.is-active { display: flex; }

.chatky-lightbox-spinner {
  display: none;
  width: 48px;
  height: 48px;
  border: 4px solid rgba(255, 255, 255, 0.25);
  border-top-color: #fff;
  border-radius: 50%;
  animation: chatky-lightbox-spin 0.8s linear infinite;
}

.chatky-lightbox-overlay.is-loading .chatky-lightbox-spinner { display: block; }

.chatky-lightbox-overlay.is-loading .chatky-lightbox-img { display: none; }

@keyframes chatky-lightbox-spin {
  to { transform: rotate(360deg); }
}

.chatky-lightbox-img {
  max-width: 90vw;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: var(--lt-radius);
}

.chatky-lightbox-close,
.chatky-lightbox-prev,
.chatky-lightbox-next {
  position: absolute;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  line-height: 1;
}

.chatky-lightbox-close {
  top: 24px;
  right: 24px;
  font-size: 40px;
}

.chatky-lightbox-prev,
.chatky-lightbox-next {
  top: 50%;
  transform: translateY(-50%);
  font-size: 32px;
  padding: 12px;
}

.chatky-lightbox-prev { left: 12px; }

.chatky-lightbox-next { right: 12px; }

@media (max-width: 600px) {
  .chatky-lightbox-close { top: 12px; right: 12px; font-size: 32px; }
  .chatky-lightbox-prev, .chatky-lightbox-next { font-size: 24px; padding: 8px; }
}


/* ============================================================
   60-komponenty/obrazky.css
   ============================================================ */

/*--------------------------------------------------------------
# Obrázky - pojistka pro sizes="auto"

Jádro stejné pravidlo vypisuje inline stylem, který v _s vypínáme
(inc/cleanup.php), ale wp_calculate_image_sizes ten atribut dál přidává.
Bez tohohle by lazy obrázky mohly spočítat šířku 0.
--------------------------------------------------------------*/

img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}

/*
 * Výchozí vzhled obrázků v obsahu: odsazení 10 px dokola a zaoblení 20 px.
 *
 * Astra měla zaoblení 4 px a žádné odsazení - tohle je vědomá odchylka.
 *
 * Záměrně bez !important a s nízkou specificitou (0,1,1), aby to šlo
 * kdykoli přebít nastavením bloku v editoru: Gutenberg píše zaoblení
 * i odsazení inline do atributu style, a ten vyhraje nad tímhle pravidlem.
 *
 * Platí pro obrázky v obsahu, ne pro logo v hlavičce, vlaječky přepínače
 * jazyků ani avatary v odznaku hodnocení - tam by odsazení a zaoblení
 * rozbilo rozvržení.
 */
.entry-content img {
	padding: 10px;
	border-radius: 20px;
}


/* ============================================================
   60-komponenty/paticka-info.css
   ============================================================ */

/*--------------------------------------------------------------
# Patička - fakta a právní doložka

Cílí na markup ve footer.php (.site-footer-info > section.facts, section.legal).
Převzato z Astry, kde to bylo v footer builderu.
--------------------------------------------------------------*/

/*
 * Světlé pozadí spodní části patičky.
 *
 * .facts i .legal mají v Astře ČERNÝ text (ověřeno getComputedStyle) a čitelný
 * je proto, že celý blok stojí na světlém pruhu:
 *   .site-primary-footer-wrap { background: rgb(249, 249, 249) }
 * Ta třída je z Astřina footer builderu a v _s neexistuje, takže se pozadí
 * dává našemu obalu .site-footer-info. Bez toho byl černý text na černém
 * pozadí prakticky neviditelný.
 *
 * Samotná pravidla pro .facts a .legal (mřížka, velikosti, verzálky) už jsou
 * převzatá v 15-prevzato-z-astry.css, tady se neopakují.
 */
.site-footer-info {
	background-color: #f9f9f9;
	color: #000;
	padding-top: 32px;
	padding-bottom: 8px;
}

/*
 * Odkazy uvnitř musí být tmavé - globální pravidlo v 20-zaklad.css jim dává
 * barvu textu webu (krémovou), která by na světlém pozadí zmizela.
 */
.site-footer-info a,
.site-footer-info a:visited {
	color: #000;
}

.site-footer-info a:hover,
.site-footer-info a:focus {
	color: var(--barva-akcent);
}

/*
 * Zarovnání na střed.
 *
 * V Astře to obstarává obal footer builderu (.ast-builder-html-element),
 * který v _s neexistuje - převzatá pravidla pro .facts a .legal samotné
 * zarovnání neurčují, takže obsah zůstával vlevo.
 */
.site-footer-info .facts,
.site-footer-info .facts dl,
.site-footer-info .legal {
	text-align: center;
}


/* ============================================================
   60-komponenty/pismo-caveat.css
   ============================================================ */

/*--------------------------------------------------------------
# Písmo Caveat

Cedulka s cenou v hero sekci. Soubor je v _s/fonts/, přednačítá se
v inc/preloads.php - bez tohohle @font-face by ten preload byl k ničemu.
--------------------------------------------------------------*/

@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://lecba-tmou.cz/wp-content/themes/_s/fonts/caveat-cenovka.woff2') format('woff2');
  unicode-range: U+20, U+2C-39, U+41-5A, U+61-7A;
}


/* ============================================================
   60-komponenty/plovouci-prvky.css
   ============================================================ */

/*--------------------------------------------------------------
# Plovoucí prvky na mobilu

Tlačítko Rezervace (div.btnRezervaceMobil, vypisuje inc/site-widgets.php,
mimo stránku /rezervace/) a telefonní číslo (#lt-floating-phone, tamtéž).
Třídu .lt-scrolled jim přidává js/site.js při odscrollování.

Oba prvky sdílejí pravidla pro ukotvení dole, proto jsou v jednom souboru
a v tomhle pořadí - druhé pravidlo záměrně přebíjí barvu z prvního.
--------------------------------------------------------------*/

/*
 * Tlačítko Rezervace se ukotvuje podle ŠÍŘKY OKNA, ne podle device-width.
 *
 * Původní pravidla z Astry používala `min-device-width` a `max-device-width`,
 * což jsou zastaralé vlastnosti mířící na fyzickou obrazovku, ne na okno.
 * Důsledky: na desktopu se tlačítko schovalo (obrazovka >= 800 px) i při
 * zúženém okně, takže se nedalo vyzkoušet, a na zařízeních s obrazovkou
 * 600-800 px se sice zobrazilo, ale neukotvilo dole.
 *
 * Breakpoint 921 px je stejný jako u plovoucího telefonu níž, aby se oba
 * prvky objevovaly a mizely společně.
 */
div.btnRezervaceMobil {
	display: none;
}

@media (max-width: 921px) {
	div.btnRezervaceMobil {
		display: block;
		position: fixed;
		bottom: 2em;
		left: 0;
		width: 100%;
		text-align: center;
		font-size: 1.2rem;
		z-index: 1000;
	}

	/*
	 * Prázdná plocha kolem tlačítka nesmí brát kliknutí - pruh je přes celou
	 * šířku a překrýval by přepínač jazyků vlevo dole.
	 */
	div.btnRezervaceMobil {
		pointer-events: none;
	}

	div.btnRezervaceMobil.lt-scrolled a {
		pointer-events: auto;
	}
}

li.menuRezervaceBtn a, li.menuRezervaceBtn a:visited,
div.btnRezervaceMobil a, div.btnRezervaceMobil a:visited {
	display: inline-block;
	outline: none;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	font-size: 0.75rem;
	padding: .6em 2em .45em;
	border-radius: .5em;
	color: #fff;
	background-color: #da7c0c;
}

@media (max-width: 600px) {
  #hero-homepage .wp-block-columns > .wp-block-column:nth-child(2) .lt-google-rating {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}

#lt-floating-phone {
  display: none;
}

@media (max-width: 921px) {
  #lt-floating-phone {
    display: flex;
    align-items: center;
    gap: 6px;
    position: fixed;
    top: 15px;
    right: 40px;
    z-index: 99999;
    background: #61CE70;
    color: #000;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    padding: 8px 12px;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  }
}

#lt-floating-phone,
div.btnRezervaceMobil {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}

#lt-floating-phone.lt-scrolled,
div.btnRezervaceMobil.lt-scrolled {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Přebíjí sdílené pravidlo pro tlačítka výše (barva, poloměr, velikost písma).
   Bez !important: stejná specificita (0,1,2), ale tohle je v souboru později,
   takže vyhraje pořadím. Původní !important tu byl kvůli Astře, kterou _s
   nenačítá - není co přebíjet. */
div.btnRezervaceMobil a,
div.btnRezervaceMobil a:visited {
  color: #000;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
}


/* ============================================================
   60-komponenty/prepinac-jazyku.css
   ============================================================ */

/*--------------------------------------------------------------
# Přepínač jazyků (GTranslate)

Astra ho má jako položku menu (li.menu-item-gtranslate) mezi „O nás"
a telefonem. Plugin ji vkládá do konkrétní pozice menu, kterou _s nemá,
takže tady spadne do náhradní varianty: <div class="gtranslate_wrapper">
připojený na konec <body>. Kvůli tomu se objevoval dole pod obsahem.

Do HTML sahat nesmíme, takže se přesouvá CSS.

Jak je ukotvený: menu je zarovnané doprava, takže vzdálenost od pravého
okraje k mezeře mezi „O nás" a telefonem je stálá, i když se šířka okna
mění. Proto position:absolute s hodnotou right - odečteno z rozvržení
(telefon začíná 334 px od pravého okraje).

Kdyby se změnil text telefonního tlačítka nebo přibyla položka za „O nás",
je potřeba to číslo srovnat. Je to jediné místo v CSS, kde se opírám
o konkrétní rozměr, jinak by to nešlo bez zásahu do HTML.
--------------------------------------------------------------*/

/*
 * Mezera pro přepínač. Menu je zarovnané doprava, takže tenhle odsazovací
 * prostor odsune položky VLEVO od telefonu, telefon a Rezervace zůstanou
 * na svém místě.
 */
#primary-menu > li.menuTel {
	/*
	 * 114 px = šířka přepínače (90) + 12 px vůle na každé straně.
	 * V Astře je přepínač 70 px široký, tady 90 - liší se vykreslením
	 * kódu jazyka, ne nastavením. Mezeru proto počítám podle skutečnosti.
	 */
	margin-left: 114px;
}

.gtranslate_wrapper {
	position: absolute;
	top: 30px;          /* svisle na střed hlavičky vysoké 93 px */
	right: 346px;       /* těsně před telefonní tlačítko */
	z-index: 5;
	width: auto;
}

/*
 * Ukotvení dole vpravo drží VNITŘNÍ obal #gt_float_wrapper
 * (position:fixed; bottom:20px; right:20px; z-index:999999), ne samotný
 * přepínač. Napoprvé jsem sáhl na .gt_float_switcher a přesunul tím jen
 * prázdný vnější obal - přepínač zůstal dole.
 *
 * !important je nutné: plugin si styl načítá z cdn.gtranslate.net až po
 * našem souboru.
 */
.gtranslate_wrapper #gt_float_wrapper {
	position: static !important;
	bottom: auto !important;
	right: auto !important;
	left: auto !important;
	top: auto !important;
}

/*
 * Velikost podle Astry: 13px, celkem 70 × 32 px. Bez !important zůstal
 * přepínač na 20px (108 × 45) a překrýval položku „O nás" - velikost si
 * plugin nastavuje ve svém CSS z CDN, které se načítá po nás.
 */
.gtranslate_wrapper .gt_float_switcher,
.gtranslate_wrapper .gt_float_switcher .gt-selected,
.gtranslate_wrapper .gt_float_switcher .gt-current-lang {
	font-size: 13px !important;
	box-shadow: none;
}

/* Rozbalená nabídka jazyků musí přetéct přes hlavičku. */
.gtranslate_wrapper .gt_options {
	z-index: 10;
}

/*
 * Rozměry přesně podle Astry: celek 70 × 32 px.
 * Skládá se z odsazení vnitřního bloku a velikosti vlaječky - font-size
 * sám o sobě nestačil, plugin má obojí napevno ve svém CSS z CDN.
 */
.gtranslate_wrapper .gt_float_switcher .gt-current-lang {
	padding: 4px 21px 4px 4px !important;
}

.gtranslate_wrapper .gt_float_switcher img {
	width: 20px !important;
	height: 20px !important;
}

/*
 * Úzká okna: ukotvení do hlavičky se opírá o to, že se menu vejde na jeden
 * řádek. Jakmile se začne lámat, přestane sedět - v tom případě se necháme
 * plugin vrátit k jeho vlastnímu chování (plovoucí vpravo dole).
 *
 * Hranice 1200 px je odhad podle šířky menu, ne změřená hodnota; responzivní
 * chování jsme zatím neprocházeli.
 */
@media (max-width: 1200px) {
	#primary-menu > li.menuTel {
		margin-left: 0;
	}

	.gtranslate_wrapper {
		position: static;
		top: auto;
		right: auto;
	}

	/*
	 * Na užších oknech patří přepínač VLEVO dole - vpravo dole sedí
	 * chatovací bublina Wonderchatu a překrývaly by se.
	 */
	.gtranslate_wrapper #gt_float_wrapper {
		position: fixed !important;
		bottom: 20px !important;
		left: 20px !important;
		right: auto !important;
	}
}


/* ============================================================
   60-komponenty/sekce.css
   ============================================================ */

/*--------------------------------------------------------------
# Sekce stránek - srovnání struktury proti Astře

WordPress vkládá do skupinových bloků mezistupeň
<div class="wp-block-group__inner-container"> u témat, která NEMAJÍ
theme.json. Astra ho má, _s ne - proto se u nás v DOMu objevuje navíc
(124× napříč stránkami) a všechna zděděná pravidla psaná přes přímého
potomka `>` přestala sedět.

Tady se dorovnávají. Až bude mít _s vlastní theme.json, mezistupeň zmizí
a tenhle soubor bude možné zrušit.
--------------------------------------------------------------*/

/*
 * Ztmavení sekce „Nejbližší termíny".
 *
 * Sekce má obrázek na pozadí a přes něj překryv .terms-section::before
 * (absolutní, inset: 0, rgba(0,0,0,.7), z-index: 0). Obsah se nad překryv
 * dostane jen tím, že sám dostane position: relative a z-index: 1 - Astra
 * to dělá pravidlem `.terms-section > .section-boxed`.
 *
 * U nás je mezi nimi ten mezistupeň, pravidlo nesedělo a překryv se položil
 * PŘES text. Sekce pak vypadala ztmavená celá, ne jen pozadí.
 */
.terms-section > .wp-block-group__inner-container {
	position: relative;
	z-index: 1;
}

/*
 * Boční odsazení obsahu v celoplošných sekcích.
 * Astra: `.full-width > .section-boxed`.
 */
.full-width > .wp-block-group__inner-container > .section-boxed {
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}


/* ============================================================
   60-komponenty/socialni-odkazy.css
   ============================================================ */

/*--------------------------------------------------------------
# Odkazy na sociální sítě v patičce

Markup je ve footer.php - v Astře ho vypisoval prvek footer builderu
(.ast-footer-social-1-wrap), který v _s neexistuje.

Hodnoty odečtené z Astry: ikona 18 px, popisek 16 px, mezera 6 px mezi
položkami, ikona i popisek ve stejné „official" barvě sítě.
--------------------------------------------------------------*/

/*
 * Řádek nad světlým pruhem: sítě vlevo, menu vpravo - jako v Astře.
 *
 * Obsah drží .section-boxed (max-width 1140 px, vystředěné), aby řádek
 * nešel přes celou šířku okna. Rozvržení proto sedí na tom obalu, ne na
 * .site-footer-top - ta jen nese svislé odsazení a případné pozadí.
 */
.site-footer-top {
	padding: 32px 20px;
}

.site-footer-top > .section-boxed {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
}

.site-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 12px;
}

.site-social__link,
.site-social__link:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 16px;
	line-height: 1.2;
	text-decoration: none;
}

.site-social__link:hover,
.site-social__link:focus {
	text-decoration: underline;
}

.site-social__ikona {
	display: inline-flex;
	align-items: center;
}

/*
 * „Official" barvy - ikona i popisek jedním odstínem, přesně jak je má
 * Astra (ověřeno getComputedStyle na živém webu).
 */
.site-social__link--facebook,
.site-social__link--facebook:visited { color: #557dbc; }

.site-social__link--x,
.site-social__link--x:visited { color: #7acdee; }

.site-social__link--instagram,
.site-social__link--instagram:visited { color: #b768e0; }

.site-social__link--youtube,
.site-social__link--youtube:visited { color: #e96651; }

.site-social__link--tiktok,
.site-social__link--tiktok:visited { color: #f09124; }


/* ============================================================
   60-komponenty/tlacitka.css
   ============================================================ */

/*--------------------------------------------------------------
# Tlačítka v obsahu

Blok core/button a jeho varianty, které si web určuje třídou na obalu
(.btn-orange, .btn-green, .btn-transparent). Hodnoty i stavy hover jsou
odečtené z Astry.

Ke specificitě: základní pravidlo pro odkazy v 20-zaklad.css má tvar
`.entry-content a` = (0,1,1) a zděděná pravidla v 15-prevzato-z-astry.css
mají `.btn-orange .wp-block-button__link` = (0,2,0). Aby tenhle soubor
spolehlivě vyhrál, jsou selektory psané s prefixem .entry-content.

:visited je u každého pravidla, které nastavuje barvu - jinak by prohlížeč
navštíveným odkazům dal vlastní barvu a getComputedStyle by to zatajil.
--------------------------------------------------------------*/

/* Základ = oranžová varianta. */
.entry-content .wp-block-button__link,
.entry-content .wp-block-button__link:visited,
.entry-content .wp-element-button,
.entry-content .wp-element-button:visited {
	background-color: var(--barva-akcent);
	color: var(--barva-na-akcentu);
	border: 0;
	border-radius: 8px;
	padding: 20px 28px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

/*--------------------------------------------------------------
## Oranžová - hlavní výzva k akci
Astra: #DA7C0C / #000, hover #B9690A / #fff
--------------------------------------------------------------*/
.entry-content .btn-orange .wp-block-button__link,
.entry-content .btn-orange .wp-block-button__link:visited {
	background-color: #da7c0c;
	color: #000;
	border: 0;
	padding: 20px 28px;
}

.entry-content .btn-orange .wp-block-button__link:hover,
.entry-content .btn-orange .wp-block-button__link:focus {
	background-color: #b9690a;
	color: #fff;
	text-decoration: none;
}

/*--------------------------------------------------------------
## Zelená
Astra: #61CE70 / #000, hover #52AF5F / #fff
--------------------------------------------------------------*/
.entry-content .btn-green .wp-block-button__link,
.entry-content .btn-green .wp-block-button__link:visited {
	background-color: #61ce70;
	color: #000;
	border: 0;
	padding: 20px 28px;
}

.entry-content .btn-green .wp-block-button__link:hover,
.entry-content .btn-green .wp-block-button__link:focus {
	background-color: #52af5f;
	color: #fff;
	text-decoration: none;
}

/*--------------------------------------------------------------
## Průhledná s obrysem - druhotná akce
Astra: průhledné pozadí, obrys 2px, barva textu; při hover se pozadí
prolne na 70 % barvy textu a písmo zčerná.
--------------------------------------------------------------*/
.entry-content .btn-transparent .wp-block-button__link,
.entry-content .btn-transparent .wp-block-button__link:visited {
	background-color: transparent;
	color: var(--barva-textu);
	border: 2px solid var(--barva-textu);
	padding: 18px 26px;
}

.entry-content .btn-transparent .wp-block-button__link:hover,
.entry-content .btn-transparent .wp-block-button__link:focus {
	background-color: color-mix(in srgb, var(--barva-textu) 70%, transparent);
	color: #000;
	text-decoration: none;
}

/* Základní hover pro tlačítka bez varianty - ať nezůstane bez odezvy. */
.entry-content .wp-block-button__link:hover,
.entry-content .wp-block-button__link:focus {
	text-decoration: none;
}


/* ============================================================
   60-komponenty/volne-terminy.css
   ============================================================ */

/*--------------------------------------------------------------
# Nejbližší volné termíny

Seznam ul.near > li.near, který na stránku přináší shortcode
[remote_content] z rezervačního systému is2.lecba-tmou.cz. Markup je
vzdálený a nedá se do něj sáhnout, takže veškerá úprava jde přes CSS.

Proč to bylo rozbité: strojový výběr pravidel z Astry se řídil soupisem
tříd z vyrenderovaných stránek a třída `near` v něm chyběla - obsah se
tahá vzdáleně a při sběru soupisu se nevykreslil. Pravidla pro li.near
tak vypadla a řádky zůstaly bez rámečku, bez pozadí a s krémovým textem.

Rámeček přebírá vzhled z Astry (světle šedý box, černý tučný text).
Tlačítko má na Tomášovo přání vzhled .btn-orange, ne původní menší
variantu - proto je řádek vyskládaný flexem, aby velké tlačítko
nerozhazovalo text.
--------------------------------------------------------------*/

.entry-content ul.near {
	margin: 0;
	padding: 0;
	list-style: none;
}

.entry-content li.near {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;

	/* Vzhled boxu podle Astry. */
	background-color: #ddd;
	border: 1px solid #000;
	border-radius: 8px;
	color: #000;
	font-weight: 700;
	list-style-type: none;

	padding: 12px 12px 12px 20px;
	margin: 0 0 12px;
}

.entry-content li.near:last-child {
	margin-bottom: 0;
}

/*
 * Tlačítko ve stejném vzhledu jako .btn-orange (viz tlacitka.css):
 * oranžové pozadí, černý text, zaoblení 8 px, tučně, bez podtržení.
 * Astra tu měla menší variantu s bílým textem a podtržením.
 */
.entry-content li.near a,
.entry-content li.near a:visited {
	display: inline-block;
	background-color: var(--barva-akcent);
	color: var(--barva-na-akcentu);
	border: 0;
	border-radius: 8px;
	padding: 20px 28px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}

/* Zdrojový text z API chodí malým písmenem. */
.entry-content li.near a::first-letter {
	text-transform: uppercase;
}

.entry-content li.near a:hover,
.entry-content li.near a:focus {
	background-color: #f09e3f;
	color: var(--barva-na-akcentu);
	text-decoration: none;
}


/* ============================================================
   70-sablony/_pripraveno.css
   ============================================================ */

/*--------------------------------------------------------------
# CSS po šablonách

Sem přijdou soubory pro jednotlivé šablony a stránky:
homepage.css, rezervace.css, blog.css, 404.css ...
Zatím prázdné - vzhled teprve vzniká.
--------------------------------------------------------------*/


/* ============================================================
   70-sablony/sirka-stranek.css
   ============================================================ */

/*--------------------------------------------------------------
# Šířka obsahu po stránkách - ZRUŠENO

Dřív tu bylo pět výjimek `page-id-NNN .entry-content { max-width: none }`
pro stránky, které měly v Astře nastavené roztažení přes celou šířku
(meta ast-site-content-layout = full-width-container):

  6137 co-je-pobyt-ve-tme     6169 kde-probiha-pobyt-ve-tme
  7884 digitalni-detox        9275 o-nas
  9287 bezpecnost-a-kontraindikace

Od chvíle, kdy je obsah přes celou šířku ve výchozím stavu a omezení drží
jednotlivé bloky (viz 30-layout.css), jsou ty výjimky bezpředmětné - dělaly
by přesně to, co už platí všude. Proto jsou pryč a soubor zůstává prázdný
jako záznam, že se to řešilo.
--------------------------------------------------------------*/


/* ============================================================
   80-pluginy.css
   ============================================================ */

/*--------------------------------------------------------------
# Pluginy

Úpravy vzhledu cizích pluginů, které si nesou vlastní CSS.
--------------------------------------------------------------*/

/* GTranslate - přepínač jazyků. Markup i CSS vkládá jejich skript
   z cdn.gtranslate.net, načte se až po našem stylu a má stejnou
   specificitu, takže !important je tu jediná cesta. */
/* Původně bylo uvnitř @media (max-width: 600px) - platí jen na mobilu,
   kde se přepínač rozbaluje jinak. Media query tu MUSÍ zůstat. */
@media (max-width: 600px) {
  .gt_float_switcher .gt_options.gt-open { padding-top: 0 !important; }
}


/* ============================================================
   90-pristupnost.css
   ============================================================ */

/*--------------------------------------------------------------
# Přístupnost a zarovnání

.screen-reader-text je standardní vzor pro text jen pro odečítače.
!important je tu záměrně a musí zůstat: pravidlo musí přebít cokoli,
co by prvek udělalo viditelným, a cílí na jedinou třídu (nízká specificita).
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
