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