/* =========================================================================
 * MediTravel — 01-base.css
 * VÝCHOZÍ vzhled celého frontendu: typografie nadpisů, běžný text,
 * Divi globals. Sekční soubory (03–08) přepisují UŽ JEN ODCHYLKY
 * od těchto výchozích hodnot (jiná barva, velikost, zarovnání).
 *
 * Typografie dle prototypu index.html:
 *   h1, h2, h3 = Manrope (display font; do korekce 1 Playfair) — h1 ink, h2 primary
 *   h4–h6, text, labely = Inter
 *
 * Specificita: `body :where(#page-container) …` (0,0,2–3) — přebije globální
 * typografii Divi (body / h1,h2… z Customizeru), ale JAKÝKOLIV sekční
 * selektor se třídou (.mt-hero h1 …) základ stále snadno přepíše.
 * ======================================================================= */

/* ---- Základní text ---- */
body :where(#page-container) {
	font-family: var(--mt-font-body);
	font-size: var(--mt-fs-body);
	color: var(--mt-on-surface-variant);
	line-height: 1.65;
}
body :where(#page-container) p {
	line-height: 1.65;
}

/* ---- Nadpisy — výchozí hierarchie dle design systemu ----
 * Divi quirk: nadpisy mají odnikud padding-bottom 10px → padding: 0. */
body :where(#page-container) h1,
body :where(#page-container) h2,
body :where(#page-container) h3,
body :where(#page-container) h4,
body :where(#page-container) h5,
body :where(#page-container) h6 {
	padding: 0;
	font-family: var(--mt-font-body);
	color: var(--mt-ink);
}
body :where(#page-container) h1,
body :where(#page-container) h2,
body :where(#page-container) h3 {
	font-family: var(--mt-font-display);
}
body :where(#page-container) h1 {
	font-size: var(--mt-fs-h1);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}
body :where(#page-container) h2 {
	font-size: var(--mt-fs-h2);
	font-weight: 600;
	line-height: 1.3;
	color: var(--mt-primary);
}
body :where(#page-container) h3 {
	font-size: var(--mt-fs-h3);
	font-weight: 600;
	line-height: 1.4;
}
body :where(#page-container) h4 {
	font-size: var(--mt-fs-body-lg);
	font-weight: 600;
}

/* ---- Silný text ---- */
body :where(#page-container) strong,
body :where(#page-container) b {
	color: var(--mt-ink);
	font-weight: 700;
}

/* ---- Odkazy v běžném obsahu ----
 * Jen NEoklasované odkazy v textových modulech / klasickém obsahu.
 * Vše uvnitř mt-* komponent (hlavička, patička, drawer, karty, výpisy…)
 * je vyjmuté přes :not(:is(#page-container [class*="mt-"] a)) — komponenty
 * si odkazy stylují samy. POZOR: výjimka musí být zakotvená na
 * #page-container — <body> nese třídu mt-has-header, prosté
 * [class*="mt-"] by vyřadilo úplně všechno. Hover = secondary. */
body :where(#page-container) :where(.et_pb_text, .entry-content) a:not([class]):not(:is(#page-container [class*="mt-"] a)) {
	color: var(--mt-primary);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(0, 101, 144, 0.35);
	transition: color var(--mt-tr), text-decoration-color var(--mt-tr);
}
body :where(#page-container) :where(.et_pb_text, .entry-content) a:not([class]):not(:is(#page-container [class*="mt-"] a)):hover {
	color: var(--mt-secondary);
	text-decoration-color: currentColor;
}

/* ---- Nadpisy nižších úrovní (h5, h6) ----
 * h1–h3 Playfair a h4 Inter jsou výše; h5/h6 dědí Inter + ink z bloku
 * h1–h6, tady jen velikost/váha. h6 = eyebrow charakter (labelový). */
body :where(#page-container) h5 {
	font-size: var(--mt-fs-body);
	font-weight: 600;
	line-height: 1.4;
}
body :where(#page-container) h6 {
	font-size: var(--mt-fs-label-sm);
	font-weight: 600;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: var(--mt-ls-widest);
	color: var(--mt-muted);
}

/* ---- Rytmus obsahu (textové moduly, klasický obsah) ----
 * Nízká specificita (:where) — jakákoli mt-* komponenta to přepíše. */
body :where(#page-container) :where(.et_pb_text, .entry-content) :is(h2, h3, h4, h5, h6) {
	margin: 1.5em 0 0.6em;
}
body :where(#page-container) :where(.et_pb_text, .entry-content) :is(h2, h3, h4, h5, h6):first-child {
	margin-top: 0;
}

/* Seznamy v obsahu — Divi .et-l--body ul přebíjí odsazení (quirk),
 * proto !important na paddingu. Jen neoklasované (obsahové) seznamy. */
body :where(#page-container) :where(.et_pb_text, .entry-content) :is(ul, ol):not([class]) {
	margin: 0 0 1.5em;
	padding: 0 0 0 1.3em !important;
}
body :where(#page-container) :where(.et_pb_text, .entry-content) :is(ul, ol):not([class]) li {
	margin: 0 0 8px;
	padding: 0;
}
body :where(#page-container) :where(.et_pb_text, .entry-content) ul:not([class]) li::marker {
	color: var(--mt-primary);
}
