/*--------------------------------------------------------------
# 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;
}
