/*
Theme Name:   BAAZA (Divi child)
Theme URI:    https://baaza.sk/
Description:  Child téma k Divi pre web baaza.sk. Existuje preto, aby úpravy CSS a PHP prežili
              aktualizáciu Divi. Do rodičovskej témy `Divi/` sa NIKDY nesmie zasahovať.
Author:       agent (LXC ops)
Template:     Divi
Version:      1.5.0
Text Domain:  baaza-child
*/

/* ------------------------------------------------------------------------
   Divi si tento súbor zaraďuje SÁM (handle `divi-style`), hneď za rodičovské
   `divi-style-parent`. V functions.php sa preto nič enqueue-ovať nesmie —
   pozri komentár tam.

   Toto je jediná CSS vrstva, ktorá prežije update Divi. Poradie zdrojov CSS,
   od najslabšieho po najsilnejší:

     1. Divi/style.css            (rodič — prepíše sa pri každom update)
     2. TENTO SÚBOR               (verzovaný v gite)
     3. Divi -> Theme Options -> Custom CSS   (databáza, option `et_divi`)
     4. Customizer -> Additional CSS          (databáza, post typu `custom_css`)
     5. CSS jednotlivého modulu v Divi Builderi

   Nové pravidlá píš SEM, nie do bodov 3–5. Čo je v databáze, sa nedá revertnúť
   gitom a pri deployi sa to prenáša ručne (runbooks/baaza-deploy.md §B).
   ------------------------------------------------------------------------ */


/* ========================================================================
   TYPOGRAFIA — jedna sústava písma pre celý web
   (úloha 2026-08-11-1146-web, audit v runbooks/baaza-typografia.md)

   PREČO: každá podstránka bola postavená ako samostatný Divi „code" modul
   s vlastným <style> blokom, takže si každá priniesla vlastné písmo, vlastné
   veľkosti a vlastné názvy premenných pre tie isté farby. Audit 11.8.2026
   našiel na webe PÄŤ rodín písma:

     Fraunces      — nadpisy na domov, o-baaze, programy, kontakt, citanie,
                     na-stiahnutie, workshopy a v spoločnej pätičke
     Nunito        — text (téma Divi aj väčšina podstránok)
     Crimson Pro   — LEN nadpisy na `tabor`
     Mulish        — LEN text na `citanie`
     Nunito Sans   — LEN text na `o-baaze`

   a podstránky bez vlastného CSS (clanky, dotaznik, ochrana-osobnych-udajov,
   podporte-nas, zo-zivota-baazy, články) dostávali z témy Nunito 700 #290025,
   teda úplne iný vzhľad nadpisov než zvyšok webu.

   ETALÓN je spoločná pätička (`.baaza-footer`) — je na všetkých stránkach
   rovnaká a už dnes používa presne Fraunces/Georgia/serif 600 + Nunito nad
   fialovou #442854. Celý web sa tu zjednocuje na ňu.

   AKO: len tu, cez premenné nižšie. Obsah stránok v databáze sa NEupravuje —
   prepísal by ho najbližší `obnov-baaza-test.sh` a je to zároveň obsah
   produkcie (pravidlo 11). Preto sa tu miestami nedá vyhnúť `!important`:
   pôvodné pravidlá sedia v <style> blokoch v <body>, teda ZA týmto súborom.
   ======================================================================== */

:root {
	/* --- rodiny písma (zhodné s pätičkou) ------------------------------ */
	--baaza-font-display: 'Fraunces', Georgia, serif;   /* nadpisy a serifové akcenty */
	--baaza-font-text: 'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;

	/* --- hrúbky --------------------------------------------------------- */
	--baaza-h-weight: 600;    /* bolo 500 / 600 / 700 / 900 podľa podstránky */
	--baaza-text-weight: 400;

	/* --- veľkosti nadpisov ---------------------------------------------
	   Jedna stupnica pre celý web. Rozsahy clamp() sú zvolené tak, aby
	   ležali v strede toho, čo podstránky používali doteraz — nič sa
	   dramaticky nezmenší ani nenafúkne:
	     h1 (hero)  bolo 3.8–5.4rem podľa stránky, o-baaze až 86px
	     h2 (sekcia) bolo 2.0–2.95rem
	     h3 (sekcia) bolo 1.7–2.1rem
	   ------------------------------------------------------------------ */
	--baaza-h1: clamp(2.35rem, 4.8vw, 3.9rem);
	--baaza-h2: clamp(1.8rem, 3.2vw, 2.6rem);
	--baaza-h3: clamp(1.45rem, 2.4vw, 1.8rem);
	--baaza-h4: 1.15rem;      /* = pätička, ktorá je etalón */
	--baaza-h5: 1.05rem;
	--baaza-h6: 1rem;

	/* Nadpis vnútri karty/výpisu je iná ÚLOHA než nadpis sekcie, takže má
	   vlastnú veľkosť — ale tiež jednu pre celý web (bolo 1.22–1.6rem). */
	--baaza-h-card: 1.35rem;

	/* --- text ----------------------------------------------------------- */
	--baaza-text: 18px;       /* základ, zhodný s Divi Theme Options */
	--baaza-text-card: 1rem;  /* text v kartách; bolo 14.4–18px */
	--baaza-line: 1.7;
	--baaza-line-heading: 1.18;

	/* --- farby písma ----------------------------------------------------
	   Paleta webu je v hex už dnes jednotná (#442854 fialová, #E6931C
	   oranžová, #FFBD59 zlatá, #FF914D koralová) — rozchádzali sa len
	   „skoro čierne" odtiene textu: #290025 z témy, #2e2236 na kontakte,
	   #2b2530 na citani, #3a2845 na programoch. Zjednotené na fialovú.  */
	--baaza-ink: #442854;
	--baaza-ink-muted: #6b5573;
}

/* ------------------------------------------------------------------------
   1. RODINA PÍSMA — text
   Priame pravidlo na prvku vždy prebije zdedenú hodnotu, takže toto
   prepíše aj Mulish z `.baaza-clanky` a Nunito Sans z `#baaza-about`.
   Zámerne sa netrafia `span`, `i`, `div` ani `:before/:after` — tam sedia
   ikonové fonty (ETmodules, dashicons) a prepísať ich znamená rozbiť ikony.
   ------------------------------------------------------------------------ */
html body,
html body p,
html body li,
html body dd,
html body dt,
html body td,
html body th,
html body label,
html body figcaption,
html body input,
html body textarea,
html body select,
html body button,
html body .et_pb_text_inner {
	font-family: var(--baaza-font-text) !important;
}

/* ------------------------------------------------------------------------
   2. RODINA PÍSMA — nadpisy
   Prebíja Crimson Pro na `tabor` aj Nunito z témy na podstránkach bez
   vlastného CSS. Podstránky, ktoré už Fraunces majú, sa nemenia.
   ------------------------------------------------------------------------ */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
	font-family: var(--baaza-font-display) !important;
	font-weight: var(--baaza-h-weight) !important;
	line-height: var(--baaza-line-heading);
}

/* Serifové akcenty, ktoré nie sú <h*>, ale majú vyzerať ako nadpis.
   Zoznam je z auditu obsahu, nie odhad: podpis a adresa na `o-baaze`,
   cena a citát na `domov`, meno kontaktu na `programy`/`na-stiahnutie`,
   meno a značka na `kontakt`, číslo kroku na `na-stiahnutie`, značka
   a citát na `tabor`. Vyššia špecificita než blok 1, takže vyhrávajú. */
html body .bz-h1,
html body .tk-h1,
html body .tk-quote,
html body .tk-price,
html body .tk-qa summary,
html body .bkk-dotaznik-sekcia-nadpis,
html body .section-title,
html body .sub-headline,
html body .footer-brand,
html body .quote-block blockquote,
html body .serif-i,
html body .kicker,
html body .addr,
html body .credo,
html body .tcard .q,
html body .course .price,
html body .bz-amt,
html body .bz-name,
html body .bz-snum,
html body .person,
html body .fbrand,
html body .frame .hi,
html body .sig .fn,
/* Hopi a Mila: nadpis pruhu s ukážkou a podpis autorky — nie sú <h*>,
   ale majú vyzerať ako nadpis (doplnené 15.8.2026). */
html body .bkk-rozp-ab-title,
html body .bkk-rozp-sign {
	font-family: var(--baaza-font-display) !important;
}

/* Výnimka: drobný doplnok pri cene ostáva bezserifový (tak to bolo aj
   pôvodne — `.baaza .course .price small`). */
html body .course .price small {
	font-family: var(--baaza-font-text) !important;
}

/* Posledné odchýlky: pravidlá, ktoré majú `!important` A vyššiu špecificitu
   než blok 2 vyššie, takže by inak vyhrali. Písmo je v nich síce tiež
   Fraunces, ale s inou ZÁLOŽNOU rodinou (`serif` namiesto `Georgia, serif`).
   Pri `font-display: swap` je záložné písmo chvíľu naozaj vidieť, takže by
   sa podstránky počas načítania líšili — preto sa dorovnávajú aj tie.

   Zdroj: <style> bloky podstránok `kurzy`, `programy`, `na-stiahnutie`. */
html body .baaza-kurzy h2,
html body .baaza-kurzy h3,
html body .baaza-kurzy .tk-h1,
html body .baaza-programy h2,
html body .baaza-programy h3,
html body .baaza-programy .bz-h1,
html body .baaza-stiahnut h2,
html body .baaza-stiahnut h3,
html body .baaza-stiahnut .bz-h1 {
	font-family: var(--baaza-font-display) !important;
}

/* Nadpis stránky z pluginu `baaza-kurzy-karty` (`.bkk-page-title h1`,
   `.bkk-dotaznik h1`) si drží `font-weight: 500 !important`, takže ako
   jediný na webe ostával tenší — týka sa to `kurzy`, `podporte-nas`,
   `ochrana-osobnych-udajov` a `zo-zivota-baazy`.

   Rieši sa to TU a nie v plugine zámerne: plugin nie je v gite, je to kód
   produkcie a najbližší `obnov-baaza-test.sh` by zmenu v ňom aj tak zmazal. */
html body .bkk-page-title h1,
html body .bkk-dotaznik h1 {
	font-weight: var(--baaza-h-weight) !important;
}

/* ------------------------------------------------------------------------
   3. VEĽKOSTI NADPISOV
   `!important` je tu nutné: pôvodné veľkosti sedia v <style> blokoch v tele
   stránky (žiadna z nich `!important` nemá, takže tento blok vyhráva).
   ------------------------------------------------------------------------ */
html body h1 { font-size: var(--baaza-h1) !important; }
html body h2 { font-size: var(--baaza-h2) !important; }
html body h3 { font-size: var(--baaza-h3) !important; }
html body h4 { font-size: var(--baaza-h4) !important; }
html body h5 { font-size: var(--baaza-h5) !important; }
html body h6 { font-size: var(--baaza-h6) !important; }

/* Nadpisy v kartách a výpisoch — jedna menšia úroveň pre celý web.
   Bez tejto výnimky by sa napr. názvy článkov na `citani` (dnes 22px, sú
   to <h2>) nafúkli na 40px a rozbili mriežku kariet. Zoznam tried je
   opäť z auditu vykresleného HTML všetkých podstránok. */
html body .card h2,
html body .card-body h2,
html body h2.entry-title,
html body .et_pb_post h2,
html body .wp-block-group h2,
html body .mind-card h3,
html body .fact h3,
html body .prog h3,
html body .course-top h3,
html body .bz-pbody h3,
html body .vcell h3,
html body .benefit-card h3,
html body .tk-tbody h3,
html body .tk-type h3,
html body .schedule-header-box h3,
html body .feature-text h3,
/* Stránka „Hopi a Mila" (`baaza-rozpravka.css`) — doplnené 15.8.2026.
   Bez tohto riadku jej kartičky dostávali `--baaza-h3` (28,8 px) a boli
   nápadne väčšie než karty na `/kurzy/` a `/o-baaze/`. `.bkk-rozp-modal h3`
   je nadpis v okienku po kliknutí, tá istá úroveň. */
html body .bkk-rozp-card h3,
html body .bkk-rozp-learn h3,
html body .bkk-rozp-modal h3 {
	font-size: var(--baaza-h-card) !important;
}

/* Pätička a drobné podnadpisy v kartách — pätička je etalón, ostatné sa
   ťahajú na ňu. */
html body .foot-grid h4,
html body .ben h4,
html body .tk-benefit h4,
html body .schedule-content h4,
html body .et_pb_blurb h4.et_pb_module_header {
	font-size: var(--baaza-h4) !important;
}

/* ------------------------------------------------------------------------
   4. VEĽKOSŤ A RIADKOVANIE TEXTU
   Základ ostáva na 18px z Divi Theme Options; zjednocuje sa len text
   v kartách, kde sa pohyboval od 14.4px do 18px.
   ------------------------------------------------------------------------ */
html body {
	font-size: var(--baaza-text);
	line-height: var(--baaza-line);
	font-weight: var(--baaza-text-weight);
}

html body .card p,
html body .fact p,
html body .mind-card p,
html body .prog p,
html body .ben p,
html body .tcard p,
html body .story p,
html body .bz-pbody p {
	font-size: var(--baaza-text-card) !important;
	line-height: var(--baaza-line);
}

/* ------------------------------------------------------------------------
   5. FARBA PÍSMA
   ZÁMERNE BEZ `!important`. Špecificita 0,0,2 stačí na prebitie
   `body{color:#290025}` a `h1,h2,…{color:#290025}` z Divi (obe 0,0,1),
   ale je slabšia než pravidlá podstránok (0,1,0 a viac). Vďaka tomu
   ostávajú biele nadpisy na tmavých pásoch (`.bz-closing h3`, `.cta-box`,
   pätička) biele — plošné prefarbenie na fialovú by ich zneviditeľnilo.
   ------------------------------------------------------------------------ */
html body {
	color: var(--baaza-ink);
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
	color: var(--baaza-ink);
}

/* Zjednotenie „skoro čiernych" odtieňov, ktoré si každá podstránka
   nadefinovala vlastným menom premennej pre tú istú úlohu:
     #290025 téma | #2e2236 kontakt | #2b2530 citanie | #3a2845 programy
     a na-stiahnutie | #3a2b42 o-baaze
   a k tomu päť odtieňov doplnkového textu (#6b5d75, #6a6370, #6b5573,
   #6b5f72, rgba(68,40,84,.8)).

   Prepisujú sa PREMENNÉ, nie farby prvkov. Vďaka tomu sa nezmení nič, čo
   je zafarbené natvrdo — biely text na tmavých pásoch ostáva biely.
   Overené, že všetky tieto premenné sa používajú výhradne v `color:`
   na svetlom podklade; `--purple-soft` na `o-baaze` sa zámerne NEdotýkame,
   lebo je aj vo `linear-gradient()` pri portréte.

   Špecificita: `html body …` prebije pôvodné definície (`:root`,
   `#baaza-about`, `.baaza-clanky`, …) bez potreby `!important`. */
html body {
	/* pokrýva definície na `:root` — kontakt, tabor */
	--ink: var(--baaza-ink);
	--muted: var(--baaza-ink-muted);
	--text-dim: var(--baaza-ink-muted);
}

html body #baaza-about {
	--ink: var(--baaza-ink);
	--muted: var(--baaza-ink-muted);
}

html body .baaza-clanky {
	--ink: var(--baaza-ink);
	--muted: var(--baaza-ink-muted);
}

html body .baaza-programy,
html body .baaza-stiahnut {
	--bz-ink: var(--baaza-ink);
}

html body .baaza {
	--plum-soft: var(--baaza-ink-muted);
}

/* ------------------------------------------------------------------------
   IKONOVÝ FONT DIVI (ETmodules) Z CESTY BEZ SLOVA `admin`
   Úloha 2026-08-26-1323-mcp. Podrobne: runbooks/deploy-plan-2026-08-26-http509-google.md

   PREČO: Websupport má na svojom edge (openresty, EŠTE PRED Apache) GeoIP filter,
   ktorý chráni „administratívne rozhranie" — požiadavka zo zahraničnej IP na cestu
   so segmentom `admin` dostane HTTP 509 a k webu sa vôbec nedostane. Divi má svoj
   ikonový font pod `…/Divi/core/admin/fonts/…`, takže do filtra padá LEN zhodou názvu
   cesty. Dôsledok: Googlu (PSI aj Googlebot) sa ikonový font nenačítal vôbec, ľuďom
   zo SK áno — preto si toho nikto rok nevšimol.

   ČO S TÝM: tie isté súbory sú cez alias v `.htaccess` dostupné aj pod
   `/wp-content/divi-ikony/…`, teda pod cestou BEZ slova `admin`. Tu ten alias
   použijeme. Ochrana samotná sa NEMENÍ — `/wp-login.php`, `/wp-admin/`,
   `/xmlrpc.php` aj `/.git/config` ostávajú blokované presne ako predtým.

   Deklarácia je ZÁMERNE znak po znaku tá istá, akú generuje Divi (rovnaké poradie
   formátov, rovnaké `font-display: block`, rovnaká váha a rez) — líši sa jedine
   priečinok. Nie je to teda vzhľadová zmena: keď dve `@font-face` pravidlá popisujú
   tú istú rodinu s tými istými deskriptormi, platí to NESKORŠIE, a tento súbor sa
   načítava až za inline kritickým CSS od Divi (overené v HTML produkcie).

   Keby sa alias v `.htaccess` stratil, font sa vráti na pôvodnú (Divi) deklaráciu
   a stav bude presne taký, aký bol pred touto úlohou — nič sa nerozbije.

   POZOR — samotné `@font-face` NIE JE TU, ale v `functions.php`
   (`baaza_child_divi_ikony_font_face()`), a to zámerne: WP Rocket pri minifikácii
   CSS SÚBOROV prepisuje `font-display: block` na `font-display: swap`. Pri ikonovom
   fonte to nie je kozmetika — `swap` znamená, že kým sa font načíta, prehliadač
   vykreslí náhradným písmom znaky zo súkromnej zóny Unicode, teda „tofu" štvorčeky
   namiesto ikon. Divi má zámerne `block` (radšej chvíľu nič než zlé glyfy) a my to
   meniť nechceme — táto úloha má byť bez akejkoľvek vzhľadovej zmeny.
   Inline CSS WP Rocket neprepisuje (overené na inline `@font-face` od Divi, ktorému
   `block` ostáva), preto pravidlo ide cez `wp_add_inline_style( 'divi-style', ... )`.
   ------------------------------------------------------------------------ */
