/* ============================================================
   TMAVÝ REŽIM — jediná přebíjecí vrstva (2026-08, konsolidováno po review)
   Načítá se POUZE při zapnutém režimu, se závislostí na hlavním
   stylu → v kaskádě vždy AŽ ZA Webflow exportem. Ten se NEEDITUJE
   (regeneruje se); vše tmavé je tady. Plán: docs/tmavy-rezim-plan.md

   Strategie (podle změřeného užití tokenů):
   - `--black` = 32× text, 5× pozadí → předefinujeme na světlý text,
     těch 5 ploch vrátíme explicitně (§2 „surface-3").
     ⚠ Nový Webflow export může přidat další `background: var(--black)`
       → po každém exportu spustit audit (docs/tmavy-rezim-plan.md §9).
   - `--white` = 26× text na červené/tmavé (MUSÍ zůstat bílý) → NEpředefinováno,
     přepisujeme jen konkrétní bílé plochy.
   - Barvy značky (--red, --heading-red-solid) zůstávají.
   Seskupeno podle účelu: tokeny → plochy → text → ovládací prvky →
   ikony a loga → tisk. Historie iterací je v Gitu, ne tady.
   ============================================================ */

/* ── 0. Tokeny ──────────────────────────────────────────────── */
html[data-theme="dark"] {
    color-scheme: dark;               /* nativní scrollbary, selecty, datum */

    --abf-canvas: #0e0e0f;            /* pozadí stránky */
    --abf-surface-1: #171719;         /* karty, navbar, formuláře */
    --abf-surface-2: #202023;         /* šedé sekce */
    --abf-surface-3: #29292d;         /* zvýrazněné / záměrně tmavé boxy */
    --abf-text: #f2f2f3;
    --abf-text-muted: #b8b8bd;
    --abf-text-faint: #8e8e96;
    --abf-line: #33333a;
    --abf-line-strong: #43434b;
    --abf-control-bg: var(--abf-surface-2);
    --abf-control-line: var(--abf-line-strong);
    /* Podklad pod cizí loga zůstává bílý vždy. --abf-on-brand ZÁMĚRNĚ
       nepřepisujeme: počítá ho PHP ze zvolené značkové barvy, takže na světlé
       volbě (žlutá) vyjde tmavý text. Kdybychom ho tu vrátili na bílou, celá
       ta logika by v tmavém režimu přestala platit. Pro vnější prstenec fokusu,
       který musí být vidět na tmavém pozadí vždy, je samostatný token. */
    --abf-focus-outer: #fff;
    --abf-logo-plate: #fff;
    --abf-document-plate: #fff;      /* skeny, plánky a perokresby dělané na papír */

    /* Značková červená má DVĚ role a v tmavém režimu se rozcházejí:
       - PLOCHA (tlačítka, pásy): zůstává #d91920, bílý text na ní má 5,11:1
       - TEXT/IKONA na tmavém: #d91920 dává jen 2,8–3,8:1 podle podkladu,
         takže drobné odkazy („Stáhnout", datum, kategorie FAQ) propadají AA.
       #f4626a je nejbližší odstín značce, který projde 4,5:1 i na nejsvětlejším
       tmavém podkladu (surface-3 = 4,69:1). Nepoužívat s průhledností —
       jakékoli ztlumení ho stáhne zpět pod AA. */
    --abf-brand-solid: var(--heading-red-solid, #d91920);
    /* Odstín počítá PHP ze zvolené barvy v „Nastavení veletrhu → Barevné nadpisy"
       (abf_zesvetli_pro_tmave) a vkládá ho jako --abf-brand-text-auto. Kdyby ten
       inline styl chyběl, padáme na ověřený odstín výchozí ABF červené. */
    --abf-brand-text: var(--abf-brand-text-auto, #f4626a);
    --abf-focus: var(--abf-brand-text-auto, #f4626a);

    /* Slabé stíny ze světlého režimu jsou na tmavém pozadí neviditelné. */
    --abf-shadow-card: 0 8px 28px rgba(0, 0, 0, .48);
    --abf-shadow-raised: 0 12px 36px rgba(0, 0, 0, .60);

    /* Webflow aliasy → přemapování na sémantiku */
    --black: var(--abf-text);
    --3-gray: var(--abf-surface-2);
    --5-gray: var(--abf-surface-2);
    --10-gray: var(--abf-surface-3);
    --15-gray: var(--abf-line-strong);
    --30-gray: var(--abf-text-faint);
    --50-gray: var(--abf-text-muted);
    --gray_line: var(--abf-line);
    --gray-border: var(--abf-line-strong);
    --gray-h1: var(--abf-text);
}

/* ── 1. Základ — body je v exportu průhledné (for-caravan:132) ── */
html[data-theme="dark"],
html[data-theme="dark"] body {
    background-color: var(--abf-canvas);
    color: var(--abf-text);
}

/* ── 2. Plochy ─────────────────────────────────────────────── */
/* surface-1: vše, co bylo bílé (var(--white) / #fff / tokeny obcházející).

   ⚠ PRAVIDLO: sem patří JEN prvky, které mají plochu i ve světlém režimu.
   Layout kontejnery (flex/grid obaly bez pozadí a bez vnitřního odsazení)
   sem NEPATŘÍ — dostaly by v tmavém režimu plochu, kterou ve světlém nemají,
   a protože nemají padding, obsah by lícoval těsně s jejím okrajem
   („šedý obdélník nalepený na text" — hlášeno kolegy 27. 8.).
   Odebráno z toho důvodu: .rp-item, .mp-tile, .da-card, .hall-detail.
   Kontrola: v prohlížeči porovnat background-color prvku s data-theme="dark"
   a bez něj — pokud je ve světlém průhledný, do seznamu nepatří. */
html[data-theme="dark"] :is(
    .navbar, .nav-menu, .nav-dropdown-list, .w-dropdown-list,
    .date-place-wrapper, .company-detail-wrapper, .company-detail-wrapper-new,
    .company-detail-katalog-link, .company-detail-katalog-link-new,
    .catalog-source-tab, .catalog-filter-detail--box,
    .accordion-item-wrapper, .acordion-body, .acordion-body.documents,
    .document-item-wrapper, .document-item-wrapper.last-item,
    .blog-card-link, .newsletter-card-wrapper, .newsletter-card-wrapper.mezera,
    .cena-vstupenky, .pop-up, .form-block, .form, ._404-section, .tab-link,
    .abf-upcoming-events-card, .abf-vip-events-item,
    .f-testimonial-card, .f-testimonial-l-arrow, .basic-slider-image-wrapper,
    .ps-card, .mp-card, .rc-map-card, .rc-menu-list,
    .da-body, .aa-card, .hall-overview__side, .hall-btn,
    .fgf-item, .uby-card
) {
    background-color: var(--abf-surface-1);
    border-color: var(--abf-line);
    color: var(--abf-text);
}

/* surface-2: šedé sekce — POZOR: .section.gray-bg nepoužívá --3-gray, ale
   rozbitý token z exportu (var(--3-gray\<deleted|…\>), :315) → nutný přímý přepis */
html[data-theme="dark"] :is(
    .section.gray-bg, .section.hero-news,
    .rp-section--gray, .ps-section--gray, .rc-section--gray, .mp-section--gray
) {
    background-color: var(--abf-surface-2);
}

/* surface-3: boxy, které byly ZÁMĚRNĚ tmavé (pozadí var(--black)) — po
   předefinování --black by zesvětlaly; + podklady pod obrázky */
html[data-theme="dark"] :is(
    .section.hero-main, .section.hero-secondary, .black-content-wrapper,
    .additional-field-info, .success-message, .cislo-spoje.nocni,
    .ps-card-media, .mp-media, .da-media,
    /* placeholdery pod chybějícím obrázkem — dřív světle šedé #ececec */
    .da-media-ph, .mp-media-ph
) {
    background-color: var(--abf-surface-3);
}

/* Plán areálu je perokresba dělaná na bílý papír — na tmavé ploše by
   zmizely čáry. Necháváme ji na světlé podložce, stejně jako cizí loga. */
html[data-theme="dark"] .ps-map-img {
    background-color: var(--abf-document-plate);
}

/* inverzní hover tlačítka — v tmavém režimu světlá plocha, tmavý text */
html[data-theme="dark"] .button.secondary-white:hover {
    background-color: var(--abf-text);
    color: var(--abf-canvas);
}

/* ── 3. Text ───────────────────────────────────────────────── */
/* barvy psané natvrdo mimo tokeny (#191919/#222/#1e1e1e) → hlavní text */
html[data-theme="dark"] :is(
    .navbar :is(.w-nav-link, .w-nav-brand, .w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link),
    .nav-link, .nav-link.single-item, .nav-link.dropdown, .nav-link.dropdown > div,
    .w-tab-link, .cislo-spoje.nocni,
    .language-button .glink, .language-button a,
    .accordeon-title, .accordeon-title.documents-title, .prohlidka-header,
    .location-name, .hala-programe-location-name,
    .company-detail-wrapper-new .company-info-list-text,
    .wp-block-custom-faq :is(.faq-q, .faq-tab:hover),
    .wp-block-custom-prehled-hal :is(.hall-cat-header, .hall-item:hover, .hall-detail__title, .hall-metric__value),
    .wp-block-custom-vse-na-jednom-miste .vsm-icon__title,
    .aa-section :is(.aa-card, .aa-group-title, .aa-card-title)
) {
    color: var(--abf-text);
}

/* tlumený text */
html[data-theme="dark"] :is(
    .wp-block-custom-faq :is(.faq-tab, .faq-a-inner),
    .wp-block-custom-prehled-hal :is(.hall-item, .hall-detail__subtitle),
    .wp-block-custom-vse-na-jednom-miste .vsm-icon__text,
    .wp-block-custom-reference-partneru .rp-role,
    .aa-section :is(.aa-empty, .aa-none, .aa-card-type)
) {
    color: var(--abf-text-muted);
}

/* nejslabší (šipky, chevrony) */
html[data-theme="dark"] :is(.wp-block-custom-faq .faq-chev, .wp-block-custom-prehled-hal .hall-cat-chev) {
    color: var(--abf-text-faint);
}

/* Aktivní jazyk v GTranslate zůstává značkový — ale přes odvozený token,
   aby byl čitelný i na tmavém a respektoval vlastní barvu webu. */
html[data-theme="dark"] .language-button .gt-current-lang {
    color: var(--abf-brand-text);
}

/* ── 4. Ovládací prvky ─────────────────────────────────────── */
/* Forminator / Select2 / checkboxy mají v exportu !important
   (for-caravan:454, :484, :1327) → tady je nutné taky */
html[data-theme="dark"] :is(.forminator-input, .select2-selection) {
    background-color: var(--abf-control-bg) !important;
    border-color: var(--abf-control-line) !important;
    color: var(--abf-text) !important;
}

html[data-theme="dark"] :is(.checkbox, .forminator-checkbox-box, .forminator-radio-bullet) {
    background-color: var(--abf-control-bg) !important;
    border-color: var(--abf-control-line) !important;
}

/* Select2 dropdown se připojuje přímo do <body> */
html[data-theme="dark"] :is(.select2-dropdown, .select2-results__option) {
    background-color: var(--abf-surface-1) !important;
    color: var(--abf-text) !important;
}
html[data-theme="dark"] .select2-results__option--highlighted {
    background-color: var(--abf-surface-3) !important;
}

/* ostatní pole — bez !important (v exportu ho nemají) */
html[data-theme="dark"] :is(
    .textfield, .search-input, .w-input, .w-select, .forminator-textarea,
    .w-file-upload-default, .w-file-upload-uploading, .w-file-upload-success,
    .aa-sel, .aa-search,
    input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
    textarea, select
) {
    background-color: var(--abf-control-bg);
    border-color: var(--abf-control-line);
    color: var(--abf-text);
}

html[data-theme="dark"] ::placeholder { color: var(--abf-text-faint); opacity: 1; }

/* Chrome autofill — jinak zůstane žlutobílý */
html[data-theme="dark"] input:is(:-webkit-autofill, :-webkit-autofill:hover, :-webkit-autofill:focus) {
    -webkit-text-fill-color: var(--abf-text);
    -webkit-box-shadow: 0 0 0 1000px var(--abf-control-bg) inset;
}

/* ── 5. Ikony a loga ───────────────────────────────────────── */
/* 8 SVG ikon má natvrdo fill="#191919" a vkládá se přes <img> → jen
   inverze jasu. NIKDY na fotky, loga partnerů, barevné ilustrace. */
html[data-theme="dark"] :is(.info-wrapper > img, .icon-24px img, .file-icon img, .download-icon img) {
    filter: brightness(0) invert(1);
}

/* inline SVG s černou (57 atributů v blocích/šabloně) — přebarvíme CSS,
   aby se nemuselo sahat do save() bloků (riziko invalidace obsahu) */
html[data-theme="dark"] svg :is([fill="black"], [fill="#000"], [fill="#000000"]),
html[data-theme="dark"] svg:is([fill="black"], [fill="#000"], [fill="#000000"]) {
    fill: var(--abf-text);
}
html[data-theme="dark"] svg :is([stroke="black"], [stroke="#000"], [stroke="#000000"]),
html[data-theme="dark"] svg:is([stroke="black"], [stroke="#000"], [stroke="#000000"]) {
    stroke: var(--abf-text);
}

/* světlé plošky pod cizí loga + logo webu bez tmavé varianty
   (.abf-logo-plate přidává šablona přes abf_logo_needs_plate()) */
html[data-theme="dark"] :is(
    .partner-logo-wrapper, .abf-upcoming-events-logo, .abf-upcoming-events-card__logo,
    .company-logo-wrapper, .abf-logo-plate,
    /* logo akce v detailu — bývá tmavé s průhledným pozadím a na tmavém by zmizelo */
    .dau-logo
) {
    background-color: var(--abf-logo-plate);
}
html[data-theme="dark"] .abf-logo-plate {
    padding: 6px 10px;
    border-radius: 4px;
    box-sizing: content-box;
}

/* uvnitř plošek musí černá ZŮSTAT černá (výjimka z přebarvení SVG) */
html[data-theme="dark"] :is(.partner-logo-wrapper, .abf-upcoming-events-card__logo, .company-logo-wrapper, .abf-logo-plate)
    svg :is([fill="black"], [fill="#000"], [fill="#000000"]) {
    fill: #000;
}
html[data-theme="dark"] :is(.partner-logo-wrapper, .abf-upcoming-events-card__logo, .company-logo-wrapper, .abf-logo-plate)
    svg :is([stroke="black"], [stroke="#000"], [stroke="#000000"]) {
    stroke: #000;
}

/* ── 6. Tisk a vysoký kontrast ─────────────────────────────── */
@media print {
    html[data-theme="dark"],
    html[data-theme="dark"] body {
        background: #fff !important;
        color: #000 !important;
    }
}

@media (forced-colors: active) {
    html[data-theme="dark"] * { forced-color-adjust: auto; }
}

/* ── 6. Značková červená jako TEXT a IKONA ──────────────────────
   Jedno místo pro celou flotilu: prvky, kde je červená drobným textem nebo
   grafickým prvkem na tmavém podkladu. Plné plochy (.button, aktivní chip)
   se sem NESMÍ dostat — ty drží --abf-brand-solid s bílým textem. */
html[data-theme="dark"] :is(
    .red-text,
    .faq-cat-title, .faq-tab.is-active,
    .hall-detail__doc .document-title, .download-button,
    .vsm-link, .vsm-item a,
    .rc-menu-link, .rc-menu-item a,
    .da-date, .da-card-link:hover .da-title,
    .aa-card-date, .aa-card-arrow, .aa-chip:not(.is-on),
    .uby-card__price, .uby-card__note a, .uby-card__cta .button:not([class*="primary"]),
    .fgf-chip.is-active, .fgf-chip:hover,
    .dau-breadcrumb a, .dap-body a,
    .doprava-p3 a, .doprava-park-nazev,
    .ps-person-link:hover, .ps-person-link:hover svg,
    .mp-arrow, .mp-tile-link:hover .mp-title,
    .aa-more,
    .abf-upcoming-events-card__title, .abf-upcoming-events-card__arrow,
    .hall-item.is-selected
) {
    color: var(--abf-brand-text);
}

/* Obrysové tlačítko (červený text + červený obrys na průhledném podkladu).
   Dvě pasti Webflow exportu: obrys NENÍ border, ale `box-shadow: inset`, a celé
   pravidlo je označené `!important` — bez něj se přebít nedá.
   Plné .primary-red se NEMĚNÍ: tam je červená plocha s bílým textem (5,11:1).
   Hover Webflow řeší sám (plocha #d91920 + bílý text), takže do něj nesaháme. */
html[data-theme="dark"] .button.secondary-red {
    color: var(--abf-brand-text) !important;
    box-shadow: inset 0 0 0 1px var(--abf-brand-text) !important;
}

/* Hover MUSÍ přijít taky od nás: naše pravidlo výše má vyšší specificitu než
   Webflow `.button.secondary-red:hover`, takže by na červené ploše zůstal
   světlý text (1,65:1). Na plné ploše je správně bílá. */
html[data-theme="dark"] .button.secondary-red:hover {
    background-color: var(--abf-brand-solid) !important;
    color: var(--abf-on-brand) !important;
    box-shadow: inset 0 0 0 1px var(--abf-brand-solid) !important;
}

/* Hover nadpisu karty aktuality — Webflow ho má taky s !important. */
html[data-theme="dark"] .blog-card-link:hover .blog-card-headline {
    color: var(--abf-brand-text) !important;
}

/* Uvozovka Referencí je vysázená pseudoelementem, ne textem. */
html[data-theme="dark"] .rp-mark::before {
    color: var(--abf-brand-text);
}

/* Patička má natvrdo světlou šedou #414141 (for-caravan.webflow.css:288), která
   v tmavém režimu zůstala nejsvětlejší plochou na stránce — texty i značková
   červená na ní propadaly. Ztmavujeme ji na úroveň šedých sekcí. */
html[data-theme="dark"] .section.footer {
    background-color: var(--abf-surface-2);
}

/* Poslední místa se značkovou červenou jako drobným textem mimo nové bloky:
   odkaz v souhlasu newsletteru, „Číst více" na kartách aktualit a podpisy
   v patičce (ty měly na tmavém pruhu jen 2:1). */
html[data-theme="dark"] :is(
    .blog-card-bottom-wrapper div,
    .footer-signature-link,
    .newsletter-card-wrapper a,
    .checkbox-field a, .w-form-label a
) {
    color: var(--abf-brand-text);
}

/* Patička: nadpisy sloupců a copyright byly ztlumené šedé, které na tmavém
   podkladu spadly na 3,1–3,8:1. Nadpisy vrátíme na plný text, drobný
   copyright na muted (ten má i tak 7:1 díky tmavému pruhu patičky). */
html[data-theme="dark"] .footer-links-section-headline {
    color: var(--abf-text);
}

html[data-theme="dark"] .bottom-footer-text {
    color: var(--abf-text-muted);
}

/* Nadpis skupiny „Právě probíhá" nese značkovou barvu → v tmavém režimu
   musí použít čitelnější odstín. */
html[data-theme="dark"] .aa-group--ongoing .aa-group-title {
    color: var(--abf-brand-text);
}

html[data-theme="dark"] .aa-group--ongoing {
    border-bottom-color: var(--abf-line);
}

/* ── 7. Ohraničení, stíny a stavy u nových bloků ────────────────── */
html[data-theme="dark"] :is(
    .ps-card, .mp-card, .rc-map-card, .da-body, .aa-card, .uby-card,
    .hall-overview__side, .fgf-item
) {
    box-shadow: var(--abf-shadow-card);
}

html[data-theme="dark"] :is(.rc-map-card, .aa-card:hover, .ps-card:hover) {
    box-shadow: var(--abf-shadow-raised);
}

/* Focus musí být vidět na tmavém podkladu i přes fotografii — proto dvoubarevný. */
html[data-theme="dark"] :is(
    .rc-menu-link, .da-card-link, .aa-card, .uby-card a, .hall-btn,
    .download-button, .fgf-item a, .faq-tab, .fgf-chip, .aa-chip
):focus-visible {
    outline: 2px solid var(--abf-focus-outer);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px var(--abf-focus);
}

/* Pod mapovým rámem svítila bílá plocha (než se Google Maps načte, nebo když
   embed není vyplněný). Samotnou mapu neinvertujeme — je to cizí obsah. */
html[data-theme="dark"] :is(.rc-map, .rc-map-embed, .ps-map) {
    background-color: var(--abf-surface-3);
}

/* Hover pozadí položek Rozcestníku bylo skoro bílé (#fbf6f6). */
html[data-theme="dark"] .rc-menu-link:hover {
    background-color: var(--abf-surface-2);
}

/* Detail akce: drobečková navigace má natvrdo šedé barvy (detail-akce.css),
   které na tmavém podkladu spadnou pod čitelnost — aktuální položka měla 3,78:1. */
html[data-theme="dark"] .dau-breadcrumb [aria-current] {
    color: var(--abf-text-muted);
}

html[data-theme="dark"] .dau-breadcrumb li + li::before {
    color: var(--abf-text-faint);
}

/* Ztlumené texty, které měly natvrdo šedou mimo tokeny. */
html[data-theme="dark"] :is(
    .rc-map-card-gps, .ps-person-role, .fgf-empty,
    .dau-meta-label, .da-media-ph,
    /* karty nejbližších akcí měly #27303f → na surface-1 jen 1,35:1 */
    .abf-upcoming-events-card__date, .abf-upcoming-events-card__description,
    .abf-upcoming-events-card__place, .abf-upcoming-events-empty
) {
    color: var(--abf-text-muted);
}

/* „Zobrazit další" a vybraná hala mají hover/aktivní stav na plné červené —
   tam musí zůstat bílý text, jinak by se světlá červená bila s podkladem. */
html[data-theme="dark"] :is(.aa-more:hover, .hall-item.is-selected:hover) {
    background-color: var(--abf-brand-solid);
    color: var(--abf-on-brand);
}

/* Odznak proběhlé akce byl světle šedý (#f0f0f0) — na tmavém svítil. */
html[data-theme="dark"] .dau-badge-past {
    background-color: var(--abf-surface-2);
    color: var(--abf-text-muted);
    border-color: var(--abf-line);
}

/* ── 8. Program: ovládání filtrů (1.9.7) ────────────────────── */

/* Počet výsledků dědil --black, ten je v tmavém režimu světlý text —
   stačí ubrat průhlednost, aby zůstal čitelný. */
html[data-theme="dark"] .program-filters-count {
    color: var(--abf-text-muted);
    opacity: 1;
}

html[data-theme="dark"] .program-filters-reset {
    border-color: var(--abf-line-strong);
    color: var(--abf-text);
}

html[data-theme="dark"] :is(.program-filters-reset:hover, .program-filters-reset:focus-visible) {
    background-color: var(--abf-surface-2);
    color: var(--abf-text);
}

html[data-theme="dark"] .program-empty-state {
    border-color: var(--abf-line-strong);
    color: var(--abf-text-muted);
}

/* Křížek okna měl natvrdo #121930 (for-caravan.webflow.css:3276) — na tmavém
   panelu byl prakticky neviditelný. */
html[data-theme="dark"] .pop-up-close {
    color: var(--abf-text);
}

/* Bílý podklad pod logem firmy v detailu řečníka zůstává bílý (cizí loga),
   jen se oddělí od tmavého panelu. */
html[data-theme="dark"] .speaker-company-logo {
    background-color: var(--abf-logo-plate);
    border-radius: 4px;
}

/* ── 9. Nejbližší akce: dlaždice s fotkou (1.9.7) ────────────── */

/* Dlaždice je v základu bílá karta — v tmavém režimu musí na tmavý podklad,
   jinak by na ní zdědila světlý text a název by zmizel. */
html[data-theme="dark"] .abf-upcoming-events-tile {
    background-color: var(--abf-surface-1);
    border-color: var(--abf-line);
}

html[data-theme="dark"] .abf-upcoming-events-tile:hover {
    border-color: var(--abf-line-strong);
}

html[data-theme="dark"] .abf-upcoming-events-tile__title {
    color: var(--abf-brand-text);
}

html[data-theme="dark"] :is(.abf-upcoming-events-tile__date, .abf-upcoming-events-tile__type) {
    color: var(--abf-text-muted);
}

/* Plocha bez fotky a ploška pod logem zůstávají světlé — cizí loga bývají
   tmavá s průhledným pozadím a na tmavém by zmizela (stejně jako u karet). */
html[data-theme="dark"] :is(.abf-upcoming-events-tile__media--bez-fotky, .abf-upcoming-events-tile__logo) {
    background-color: var(--abf-logo-plate);
}

html[data-theme="dark"] .abf-upcoming-events-tile__pismeno {
    color: #b4b4b4;
}

/* Tlačítka Vstupenky (dlaždice Nejbližších akcí i řádek Kalendáře) jsou
   v základu bílá — leží zčásti na fotce a musí být krycí. V tmavém režimu by
   na bílém podkladu svítil světle červený text, tak dostanou podklad karty;
   dvojici surface-1 + brand-text používá i název dlaždice. Jedno pravidlo
   pro obě místa, ať se barvy nerozjedou. */
html[data-theme="dark"] :is(.abf-upcoming-events-tile__tickets, .aa-section .aa-btn-vstupenky) {
    background-color: var(--abf-surface-1);
    border-color: var(--abf-brand-solid);
    color: var(--abf-brand-text);
}

html[data-theme="dark"] :is(.abf-upcoming-events-tile__tickets, .aa-section .aa-btn-vstupenky):is(:hover, :focus-visible) {
    background-color: var(--abf-brand-solid);
    color: var(--abf-on-brand);
}

/* Kalendář akcí — řádek s fotkou (1.9.7). Podklad, rámeček, stín, barvu
   názvu, data i typu dostává karta z obecných pravidel pro .aa-card výš.
   Tady jen to, co základ řádku přebíjí nad generická tmavá pravidla.
   Specificita schválně vysoká: základ .aa-section .aa-card--rich .aa-card-perex
   je (0,3,0) a přebil by slabší pravidlo → perex by zůstal #6b6b6b na tmavé
   kartě, tedy kontrast 3,36:1. */
html[data-theme="dark"] .aa-section .aa-card--rich .aa-card-perex {
    color: var(--abf-text-muted);
}

/* Ploška pod LOGEM zůstává světlá — tmavá cizí loga by na tmavé zmizela. */
html[data-theme="dark"] .aa-section .aa-card--rich .aa-card-media:not(.aa-card-media--logo) {
    background-color: var(--abf-surface-2);
}

html[data-theme="dark"] .aa-section .aa-card--rich:hover .aa-card-title {
    color: var(--abf-brand-text);
}

html[data-theme="dark"] .aa-section .aa-btn-vstupenky {
    box-shadow: none;
}

html[data-theme="dark"] .aa-section .aa-btn-vice {
    border-color: var(--abf-line-strong);
    color: var(--abf-text);
}

html[data-theme="dark"] .aa-section :is(.aa-btn-vice:hover, .aa-btn-vice:focus-visible) {
    border-color: var(--abf-brand-solid);
    color: var(--abf-brand-text);
}

html[data-theme="dark"] .aa-section .aa-btn-vice:focus-visible {
    outline-color: var(--abf-focus-outer);
}

html[data-theme="dark"] .aa-section .aa-btn-vstupenky:focus-visible {
    outline-color: var(--abf-focus-outer);
}
