/* ============================================================================
   PAGE-BLOG-STATIC — sdílená vrstva 16 statických článků pages/blog-*.php
   ----------------------------------------------------------------------------
   Každý z těch šestnácti souborů si dřív nesl vlastní kopii stejného ~40řádkového
   inline <style> bloku. Kopie se rozešly (čtyři různé varianty), hardcodovaly
   #00d4ff místo značkové azurové #00f5ff a vypínaly odrážky, takže „5 kroků"
   nemělo čísla a obsah článku se slil do jedné řádky odkazů.

   Tenhle soubor je jediná kopie. Stojí na .ed-* primitivech
   (components/editorial.css) a definuje jen to, co je pro statické články
   navíc: skořápku článku, hlavičku, obsah (TOC), seznam casin a blok
   „Přečti také". Vzhled je odvozený z bonusové karty:
     povrch  linear-gradient(160deg, rgba(20,15,30,.80), rgba(10,8,15,.95))
     rámeček 1px var(--alpha-white-5), rádius var(--radius-card), bez klidového stínu
     paleta  azurová / magenta / fialová na téměř černé, žádný semafor

   POZOR: base.css dává display:flex všem <section> a list-style:none všem
   <ul>/<ol>. Obojí se tady vrací zpět explicitně.
   ============================================================================ */

/* ============================================================================
   1. SKOŘÁPKA ČLÁNKU — mřížka „tělo textu + lepivá pravá lišta"
   ----------------------------------------------------------------------------
   Článek dřív běžel jako 1000px sloupec uprostřed 1600px stránky a uvnitř něj
   byl text omezený ještě jednou na 70 znaků. Vedle odstavce tak zůstávalo
   ~300 px prázdna a napravo od celé karty dalších 2×300 px.

   Teď je to reálné redakční rozvržení:
     řádek 1  .ba-header    přes obě kolony (titulek a perex vlevo, tiráž vpravo)
     řádek 2  .ba-body      tělo článku  |  .ba-rail  lepivý obsah + karty
     řádek 3  .ba-faq-band  závěrečné FAQ přes obě kolony, ve dvou sloupcích
     řádek 4  .ba-related   „Přečti také" přes obě kolony
   Lepivá pravá lišta je STRUKTURNÍ PODPIS tohohle typu stránky, žádný jiný
   typ stránky na webu ji nemá (rozcestníky mají pruhy, landingy mají split).

   --ed-read je tu o kousek širší než globálních 70ch: sloupec těla má 844px
   a 70ch by v něm nechalo 140px prázdna. 76ch je pořád v pásmu čitelnosti.
   ============================================================================ */
.blog-article-page {
    --ed-read: 76ch;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 344px;
    column-gap: 44px;
    row-gap: 34px;
    max-width: 1320px;
    margin: 28px auto 72px;
    padding: 40px 44px 48px;
    background: linear-gradient(160deg, rgba(20, 15, 30, 0.80), rgba(10, 8, 15, 0.95));
    border: 1px solid var(--alpha-white-5);
    border-radius: var(--radius-card);
    font-size: var(--ed-body);
    line-height: var(--ed-body-lh);
    color: var(--text-secondary);
}

/* base.css: section { display:flex; padding: var(--section-padding) 0 } */
.blog-article-page > section,
.blog-article-page > header,
.blog-article-page .ba-body,
.blog-article-page .ba-body section {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
}

/* Umístění do mřížky. Pořadí v DOM zůstává hlavička → lišta → tělo → související,
   takže po sbalení na jeden sloupec (mobil) čte obsah pořád ve správném pořadí. */
.blog-article-page > .ba-header   { grid-column: 1 / -1; grid-row: 1; }
.blog-article-page > .ba-rail     { grid-column: 2;      grid-row: 2; }
.blog-article-page > .ba-body     { grid-column: 1;      grid-row: 2; min-width: 0; }
.blog-article-page > .ba-faq-band { grid-column: 1 / -1; grid-row: 3; }
.blog-article-page > .ba-related  { grid-column: 1 / -1; grid-row: 4; }

/* ── Závěrečný FAQ pruh přes obě kolony ───────────────────────────────────
   Akordeon v jednom sloupci by nechal půl šířky ladem a stránka by měla
   odshora dolů pořád stejný rytmus. Poslední sekce je proto vytažená z těla
   ven: pruh přes celou šířku, vycentrovaný nadpis, FAQ ve dvou sloupcích.
   Zároveň se tím zkracuje část lišty, která nemá co držet. */
.blog-article-page > .ba-faq-band {
    margin-top: 14px;
    padding-top: 38px;
    border-top: 1px solid var(--alpha-white-8);
}

.blog-article-page .ba-faq-band > h2 {
    max-width: 760px;
    margin: 0 auto 26px;
    padding-left: 0;
    text-align: center;
}

.blog-article-page .ba-faq-band > h2::before {
    display: none;
}

/* Dva sloupce, ne tři: 400px sloupec je pro českou otázku moc úzký. */
.blog-article-page .ba-faq-band .ed-faq--2col {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
    gap: 12px;
}

.blog-article-page .ba-body > section + section {
    margin-top: 6px;
}

/* Prvky, které nejsou souvislý text, jdou přes celou šířku sloupce těla
   (redakční rytmus: úzké čtení, široké figury). */
.blog-article-page .ba-body .ed-faq,
.blog-article-page .ba-body .ed-callout,
.blog-article-page .ba-body .ed-grid,
.blog-article-page .ba-body .ed-table-wrap,
.blog-article-page .ba-body .ba-casino-list {
    max-width: none;
}

/* ============================================================================
   2. TYPOGRAFIE
   ============================================================================ */
.blog-article-page p {
    margin: 0 0 16px;
    max-width: var(--ed-read);
}

.blog-article-page section > :first-child {
    margin-top: 0;
}

.blog-article-page strong,
.blog-article-page b {
    color: var(--text-primary);
    font-weight: 700;
}

.blog-article-page em {
    color: rgba(255, 255, 255, 0.75);
    font-style: italic;
}

/* H2 dostane stejnou gradientovou kotvu jako .ed-head na zbytku webu. */
.blog-article-page h2 {
    position: relative;
    padding-left: 18px;
    margin: 48px 0 16px;
    font-size: var(--ed-h2);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--text-primary);
}

.blog-article-page h2::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.18em;
    bottom: 0.18em;
    width: 4px;
    border-radius: 2px;
    background: var(--gradient-cyber);
}

.blog-article-page h3 {
    margin: 32px 0 10px;
    font-size: var(--ed-h3);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
    color: var(--text-primary);
}

/* Odkazy v textu — :not() guard je povinný, jinak by tenhle selektor (0,1,1)
   přebil .rsp-btn--primary (0,1,0) a natřel azurový podtržený text na
   affiliate tlačítka s gradientem. */
.blog-article-page a:not([class*="btn"]):not([class*="cta"]):not([class*="card"]) {
    color: var(--neon-cyan);
    text-decoration: underline;
    text-decoration-color: rgba(0, 245, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.blog-article-page a:not([class*="btn"]):not([class*="cta"]):not([class*="card"]):hover {
    color: var(--text-primary);
    text-decoration-color: var(--neon-cyan);
}

/* Záchytná síť pro seznam, který nedostal .ed-list / .ed-steps
   (base.css nuluje list-style všem <ul>/<ol>). */
.blog-article-page ul:not([class]),
.blog-article-page ol:not([class]) {
    margin: 0 0 18px;
    padding-left: 22px;
    max-width: var(--ed-read);
}

.blog-article-page ul:not([class]) { list-style: disc; }
.blog-article-page ol:not([class]) { list-style: decimal; }

.blog-article-page ul:not([class]) > li,
.blog-article-page ol:not([class]) > li {
    margin-bottom: 8px;
}

/* ── Srovnání specificit s .ed-* primitivy ──────────────────────────────
   .blog-article-page h3 / p mají (0,1,1) a přebily by .ed-card-title (0,1,0),
   takže by nadpis karty dostal 32px horní mezeru uvnitř karty. */
.blog-article-page .ed-card-title {
    margin: 0 0 10px;
    font-size: 1.05rem;
}

.blog-article-page .ed-card-text,
.blog-article-page .ed-card > p:last-child,
.blog-article-page .ed-callout > p:last-child {
    margin-bottom: 0;
}

.blog-article-page .ed-card p,
.blog-article-page .ed-callout p,
.blog-article-page .ed-faq p {
    max-width: none;
}

.blog-article-page .ed-steps--cards {
    max-width: var(--ed-measure);
}

.blog-article-page .ed-list,
.blog-article-page .ed-steps {
    margin-bottom: 20px;
}

.blog-article-page .ed-card .ed-list,
.blog-article-page .ed-card .ed-steps {
    margin-bottom: 0;
    max-width: none;
}

.blog-article-page .ed-grid,
.blog-article-page .ed-table-wrap {
    margin: 22px 0;
}

.blog-article-page .ed-callout {
    margin: 22px 0;
}

/* Callout s ikonovým čipem: chip vlevo, text v .ed-callout-body.
   Nahrazuje holé emoji 💡 / ⚠️ na začátku odstavce. */
.blog-article-page .ed-callout {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.ed-callout-body {
    display: block;
    min-width: 0;
}

/* Magenta varianta ikony i tam, kde chip nesedí uvnitř --warn calloutu
   (např. čip v <summary> u mýtů). */
.ba-ico-warn {
    --acc: var(--neon-magenta);
}

/* Čip v otázce harmoniky musí být menší než 38px, jinak přerostě řádek. */
.blog-article-page .ed-faq summary .ed-ico {
    width: 28px;
    height: 28px;
}

.blog-article-page .ed-faq summary .ed-ico svg {
    width: 15px;
    height: 15px;
}

/* Podnadpis s ikonovým čipem (mimo kartu). */
.blog-article-page .ba-h3-ico {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* První sloupec tabulky je kotva řádku, ne další šedý text. */
.blog-article-page .ed-table tbody td:first-child {
    color: var(--text-primary);
    font-weight: 600;
}

/* ============================================================================
   3. HLAVIČKA ČLÁNKU
   ============================================================================ */
.ba-header {
    margin: 0 0 32px;
}

/* Nad 1100px je hlavička dvousloupcová: titulek a perex vlevo přesně v šířce
   těla článku, tiráž vpravo jako panel, na který dole navazuje lišta. Perex
   sám o sobě by v 1232px pruhu nechal 500px prázdna. */
@media (min-width: 1101px) {
    .blog-article-page > .ba-header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 344px;
        column-gap: 44px;
        align-items: start;
        padding-bottom: 26px;
        border-bottom: 1px solid var(--alpha-white-8);
    }

    .blog-article-page .ba-title { grid-column: 1; grid-row: 1; }
    .blog-article-page .ba-lead  { grid-column: 1; grid-row: 2; }

    .blog-article-page .ba-meta {
        grid-column: 2;
        grid-row: 1 / span 2;
        flex-direction: column;
        align-items: flex-start;
        gap: 11px;
        margin: 0 0 0 24px;
        padding: 18px 20px;
        border-radius: var(--radius-card);
        border: 1px solid var(--alpha-white-8);
        background:
            radial-gradient(ellipse 90% 60% at 100% 0%, rgba(0, 245, 255, 0.09), transparent 70%),
            linear-gradient(160deg, rgba(20, 15, 30, 0.85), rgba(10, 8, 15, 0.96));
    }

    /* Ve svislé tiráži tečkový oddělovač nedává smysl. */
    .blog-article-page .ba-meta > span:not(.ba-tag) + span { padding-left: 0; }
    .blog-article-page .ba-meta > span:not(.ba-tag) + span::before { display: none; }
}

.ba-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    margin: 0 0 18px;
    font-size: 0.82rem;
    color: var(--alpha-white-50);
}

/* Tečkový oddělovač, ať se tři údaje neslijí do jednoho řetězce.
   Za štítkem (.ba-tag) tečka být nemá, ten stojí sám o sobě. */
.ba-meta > span:not(.ba-tag) + span {
    position: relative;
    padding-left: 16px;
}

.ba-meta > span:not(.ba-tag) + span::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 50%;
    width: 3px;
    height: 3px;
    margin-top: -1.5px;
    border-radius: 50%;
    background: var(--alpha-white-30);
}

.ba-author {
    color: rgba(0, 245, 255, 0.75);
    font-weight: 600;
}

.ba-read {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* Inline ikona v drobném textu (hodiny u doby čtení) — nahrazuje emoji. */
.ba-ico-inline {
    flex: none;
    width: 13px;
    height: 13px;
    color: rgba(255, 255, 255, 0.45);
}

/* Štítek rubriky: stejný vzorec jako .ed-pill (8 % výplň / 25 % rámeček). */
.ba-tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--neon-cyan) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--neon-cyan) 25%, transparent);
    color: var(--neon-cyan);
    font-family: var(--font-accent, 'Exo 2', sans-serif);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ba-title {
    margin: 0 0 18px;
    font-size: clamp(1.6rem, 3.2vw, 2.3rem);
    font-weight: 800;
    line-height: 1.2;
    color: var(--text-primary);
}

.ba-lead {
    max-width: var(--ed-read);
    margin: 0;
    font-size: 1.12rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
}

/* ============================================================================
   4. OBSAH ČLÁNKU (TOC)
   ----------------------------------------------------------------------------
   Dřív: nav { display:block; padding:0 } (0,1,1) přebilo .ba-toc { display:flex;
   gap:12px; padding:14px 18px } (0,1,0), takže zmizel jak vnitřní okraj, tak
   mezera mezi odkazy — šest položek se slilo do jedné věty. Teď je to reálný
   seznam s čipy, ne řádek textu.
   ============================================================================ */
.blog-article-page .ba-toc {
    display: block;
    margin: 0;
    padding: 20px 24px;
    background: linear-gradient(160deg, rgba(20, 15, 30, 0.80), rgba(10, 8, 15, 0.95));
    border: 1px solid var(--alpha-white-8);
    border-radius: var(--radius-card);
}

.ba-toc-label {
    display: block;
    margin: 0 0 12px;
    font-family: var(--font-accent, 'Exo 2', sans-serif);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--neon-cyan);
}

.ba-toc-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: none;
}

.ba-toc-list > li {
    display: block;
    margin: 0;
}

.blog-article-page .ba-toc-list a {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: var(--radius-pill);
    background: var(--alpha-cyan-8);
    border: 1px solid var(--alpha-cyan-20);
    color: var(--neon-cyan);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.blog-article-page .ba-toc-list a:hover {
    background: var(--alpha-cyan-15);
    border-color: var(--alpha-cyan-40);
    color: var(--text-primary);
}

/* ============================================================================
   4b. PRAVÁ LIŠTA (.ba-rail)
   ----------------------------------------------------------------------------
   Lišta drží nahoře lepivý obsah článku a dole jedno CTA, které na stránce
   už jednou je (odkaz z textu nebo z „Přečti také"), nic nového se nevymýšlí.
   Mezi nimi vede vlasová gradientová linka, aby sloupec četl jako záměrná
   redakční lišta, ne jako prázdno vedle textu.
   ============================================================================ */
.blog-article-page .ba-rail {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    margin: 0;
    padding: 0 0 0 24px;
    background: linear-gradient(to bottom,
            rgba(0, 245, 255, 0.30),
            rgba(255, 0, 255, 0.14) 55%,
            transparent) left top / 1px 100% no-repeat;
}

/* Obsah článku zůstává v dohledu po celý článek.
   Odsazení počítá s výškou sticky hlavičky, jinak by se obsah schoval pod ni. */
.blog-article-page .ba-rail .ba-toc {
    position: sticky;
    top: calc(var(--nav-height, 80px) + 20px);
}

/* Výplň mezi obsahem a CTA: CTA sedí na patě sloupce, ne hned pod obsahem.
   Svislá tiráž u linky je tiskový prvek (folio na okraji stránky), díky němu
   čte prázdnější část lišty jako záměrný okraj, ne jako zapomenuté místo. */
.ba-rail-fill {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-start;
    min-height: 24px;
    overflow: hidden;
}

.ba-rail-fill::before {
    content: 'RESPINNERS.TV';
    writing-mode: vertical-rl;
    font-family: var(--font-accent, 'Exo 2', sans-serif);
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.13);
    white-space: nowrap;
}

/* Ve svislé liště je obsah čitelnější jako seznam, ne jako pole žetonů. */
@media (min-width: 1101px) {
    .blog-article-page .ba-rail .ba-toc-list {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 2px;
    }

    .blog-article-page .ba-rail .ba-toc-list a {
        display: block;
        width: 100%;
        padding: 7px 12px;
        border: 0;
        border-left: 2px solid var(--alpha-cyan-20);
        border-radius: 0 8px 8px 0;
        background: transparent;
        color: rgba(255, 255, 255, 0.72);
        font-weight: 600;
    }

    .blog-article-page .ba-rail .ba-toc-list a:hover {
        border-left-color: var(--neon-cyan);
        background: var(--alpha-cyan-8);
        color: var(--neon-cyan);
    }
}

/* ── Karty v liště ────────────────────────────────────────────────────────
   Dvě různé karty ve dvou různých výškách sloupce (ne dvakrát ta samá):
   první magentová, druhá azurová. Obě odkazují na cíl, který na stránce
   už jednou je. Třída obsahuje „cta“, takže na ně nesahá pravidlo pro
   odkazy v textu (:not([class*="cta"])). */
.blog-article-page .ba-rail-cta {
    --acc: var(--neon-magenta);
    display: block;
    padding: 18px 20px;
    border-radius: var(--radius-card);
    border: 1px solid color-mix(in srgb, var(--acc) 26%, transparent);
    background:
        radial-gradient(ellipse 90% 70% at 100% 0%, color-mix(in srgb, var(--acc) 13%, transparent), transparent 70%),
        linear-gradient(160deg, rgba(20, 15, 30, 0.85), rgba(10, 8, 15, 0.96));
    text-decoration: none;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.blog-article-page .ba-rail-cta--alt {
    --acc: var(--neon-cyan);
}

.blog-article-page .ba-rail-cta:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--acc) 55%, transparent);
    box-shadow: 0 16px 40px var(--alpha-black-40);
}

.ba-rail-cta-k {
    display: block;
    margin-bottom: 9px;
    font-family: var(--font-accent, 'Exo 2', sans-serif);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--acc, var(--neon-magenta));
}

.ba-rail-cta-name {
    display: block;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    color: var(--text-primary);
}

.ba-rail-cta-note {
    display: block;
    margin-top: 5px;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--text-secondary);
}

.ba-rail-cta-go {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    padding: 9px 17px;
    border-radius: var(--radius-pill);
    background: linear-gradient(135deg, var(--acc, var(--neon-magenta)), var(--twitch-purple));
    color: #fff;
    text-decoration: none;
    font-family: var(--font-accent, 'Exo 2', sans-serif);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.ba-rail-cta-go::after {
    content: '\2192';
    font-size: 0.95rem;
    line-height: 1;
    transition: transform 0.2s ease;
}

.blog-article-page .ba-rail-cta:hover .ba-rail-cta-go::after {
    transform: translateX(3px);
}

/* ============================================================================
   5. SEZNAM CASIN / PLATEBNÍCH METOD
   ----------------------------------------------------------------------------
   Původně rgba(255,255,255,.03) na 8% vlasové lince, tedy prakticky neviditelná
   krabice. Teď povrch bonusové karty a reálný akcent u zvýrazněné položky.
   ============================================================================ */
.ba-casino-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 22px 0;
    max-width: var(--ed-measure);
}

.ba-casino-item {
    --acc: var(--neon-cyan);
    position: relative;
    padding: 18px 22px;
    background: linear-gradient(160deg, rgba(20, 15, 30, 0.80), rgba(10, 8, 15, 0.95));
    border: 1px solid var(--alpha-white-5);
    border-radius: var(--radius-card);
}

.ba-casino-item--featured {
    border-color: color-mix(in srgb, var(--neon-cyan) 28%, transparent);
    overflow: hidden;
}

.ba-casino-item--featured::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--neon-cyan), transparent 85%);
}

.ba-casino-name {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--text-primary);
}

.ba-casino-detail {
    font-size: 0.96rem;
    line-height: 1.65;
    color: var(--text-secondary);
}

/* Exkluzivní partner — magenta, aby se nepletl s obecným azurovým akcentem. */
.ba-excl {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    background: color-mix(in srgb, var(--neon-magenta) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--neon-magenta) 28%, transparent);
    color: var(--neon-magenta);
    font-family: var(--font-accent, 'Exo 2', sans-serif);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* ============================================================================
   6. HODNOTY V TABULCE
   ----------------------------------------------------------------------------
   Nahrazuje semafor #3ddc84 / #ffb400 / #ff6464 značkovou rampou.
   ============================================================================ */
.ba-v-best { color: var(--neon-cyan);   font-weight: 700; }
.ba-v-good { color: var(--neon-purple); font-weight: 700; }
.ba-v-warn { color: var(--neon-magenta); font-weight: 700; }
.ba-v-poor { color: rgba(255, 255, 255, 0.45); font-weight: 600; }

/* ============================================================================
   7. „PŘEČTI TAKÉ"
   ----------------------------------------------------------------------------
   Nadpis byl inline zmenšený na 0.85rem/rgba(.35), takže se ztratil, a odkazy
   byly ploché 3% obdélníky. Teď reálný nadpis a karty s azurovým hoverem.
   ============================================================================ */
.blog-article-page .ba-related {
    margin-top: 52px;
    padding-top: 36px;
    border-top: 1px solid var(--alpha-white-8);
}

.blog-article-page .ba-related > h2 {
    margin: 0 0 20px;
    font-size: 1.35rem;
}

.ba-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    max-width: var(--ed-measure);
}

.ba-related-grid > * { min-width: 0; }

.blog-article-page .ba-related-card {
    display: block;
    padding: 18px 20px;
    background: linear-gradient(160deg, rgba(20, 15, 30, 0.80), rgba(10, 8, 15, 0.95));
    border: 1px solid var(--alpha-white-5);
    border-radius: var(--radius-card);
    text-decoration: none;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.blog-article-page .ba-related-card:hover {
    transform: translateY(-3px);
    border-color: var(--alpha-cyan-40);
    box-shadow: 0 16px 40px var(--alpha-black-40);
}

.ba-related-card strong {
    display: block;
    margin-bottom: 6px;
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--text-primary);
}

.ba-related-card span {
    display: block;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--text-secondary);
}

/* ============================================================================
   8. RESPONZIVITA
   ============================================================================ */
/* Pod 1100px lišta zaniká a stránka je jednosloupcová. Pořadí v DOM
   (hlavička → obsah → tělo → „Přečti také") je zároveň správné čtecí pořadí,
   takže se nic nepřeskládává. */
@media (max-width: 1100px) {
    .blog-article-page {
        display: block;
        max-width: 1000px;
    }

    .blog-article-page > .ba-header {
        margin-bottom: 26px;
        padding-bottom: 22px;
        border-bottom: 1px solid var(--alpha-white-8);
    }

    .blog-article-page .ba-rail {
        display: block;
        margin: 0 0 30px;
        padding: 0;
        background: none;
    }

    .blog-article-page .ba-rail .ba-toc { position: static; }

    .ba-rail-fill { display: none; }

    .blog-article-page .ba-rail-cta {
        margin-top: 16px;
        max-width: 460px;
    }

    /* Na mobilu se lišta vsune mezi perex a první kapitolu. Jedna karta tam
       ještě dává smysl, dvě už čtení zbytečně odsouvají. Druhý cíl zůstává
       dostupný z odkazu v textu i z bloku „Přečti také". */
    .blog-article-page .ba-rail-cta--alt { display: none; }
}

@media (max-width: 1000px) {
    .blog-article-page {
        margin: 18px 16px 56px;
        padding: 32px 28px 36px;
    }
}

@media (max-width: 600px) {
    .blog-article-page {
        margin: 12px 10px 44px;
        padding: 24px 18px 28px;
        border-radius: 14px;
    }

    /* .ed-grid a .ed-grid--2 mají v editorial.css pevné minimum stopy
       (260px / 340px), které se nesmršťuje. Uvnitř článku zbývá na 360px
       displeji jen ~304px, takže by stopa přetekla kartu. Pod 600px je
       jeden sloupec tak jako tak správně, takže se vynutí natvrdo.
       Systémová oprava patří do editorial.css: minmax(min(100%, 340px), 1fr). */
    .blog-article-page .ed-grid,
    .blog-article-page .ed-grid--2 {
        grid-template-columns: minmax(0, 1fr);
    }

    .blog-article-page h2 { margin-top: 36px; }
    .blog-article-page .ba-toc { padding: 16px 18px; }
    .ba-casino-item { padding: 16px 18px; }
    .ba-casino-name { font-size: 1rem; }
    .blog-article-page .ba-related { margin-top: 40px; padding-top: 28px; }
}

@media (prefers-reduced-motion: reduce) {
    .blog-article-page .ba-related-card,
    .blog-article-page .ba-toc-list a,
    .blog-article-page a {
        transition: none;
    }

    .blog-article-page .ba-related-card:hover,
    .blog-article-page .ba-rail-cta:hover {
        transform: none;
    }

    .ba-rail-cta-go::after,
    .blog-article-page .ba-rail-cta:hover .ba-rail-cta-go::after {
        transition: none;
        transform: none;
    }
}
