/* ============================================================
   PAGE-CASINO-PROMO.CSS: prezentační stránky /dedek a /partneri.
   Konverzní landing s motion, brandová varianta .cp-dedek
   (zlato/amber jako SVĚTLO nad tmavým základem webu, ne jako
   povrch). Ladí s design systémem webu.

   POZN.: /tokyo si od 2026-07 jede po vlastním stylesheetu
   (assets/css/pages/page-tokyo.css, prefix .tk-*), proto tu už
   žádné .cp-tokyo pravidla nejsou.
   ============================================================ */

.cp-page {
    --cp-accent: var(--kt-green);
    --cp-accent-rgb: var(--kt-green-rgb, 0, 231, 1);
    --cp-accent-2: var(--kt-green-d, #00b801);
    --cp-accent-2-rgb: 0, 184, 1;
    /* Sjednoceno s indexem: střídmý stín místo neonového glow. */
    --cp-glow: 0 0 22px rgba(var(--cp-accent-rgb), .12);
    width: 100%;
    overflow-x: clip;
    /* POZN: žádný padding-top:nav-height, rodič .main-content (base.css) ho už
       dává. Duplicita tvořila ~160px prázdnou mezeru pod menu. */
}

/* ════════════════════════════════════════════════════════════════
   Brand: Herna u dědka, „TEPLÉ SVĚTLO NAD TMOU".
   Základ je tmavá, skoro neutrální plocha webu (near-black rodina
   #0a0a0c). Teplo NEDĚLÁ povrch, ale SVĚTLO: jantarová záře padá
   shora přes stránku a kolem hero se rozlévá světelná louže.
   Jantar má přísný rozpočet, CTA, jedno akcentní slovo v nadpisu,
   chip s promo kódem a jedna žárovková rampa. Nic víc, aby CTA
   zůstalo nejsvětlejší bod obrazovky.
   POZOR: soubor sdílí /partneri (.prt-page), každé pravidlo téhle
   stránky MUSÍ být scoupované na .cp-page.cp-dedek / .cp-dedek.
   ════════════════════════════════════════════════════════════════ */
.cp-page.cp-dedek {
    /* ── základ ── */
    --d-base:   #0a0a0c;   /* pozadí stránky = near-black rodina webu */
    --d-base-lo:#060608;

    /* Povrchy jsou plochy webu, ne vlastní hnědé plotny. Karta = --kt-card,
       karta v hoveru = --kt-card-hi, linka je bílá vlásečnice. Teplý povrch
       ze stránky odešel: DESIGN-JLCASINO.md říká, že značková barva kasina
       žije JEN ve 3px pruhu na horní hraně karty a v rámečku při hoveru. */
    --d-card:   var(--kt-card);
    --d-card-hi:var(--kt-card-hi);
    --d-line:   rgba(255, 255, 255, .09);
    --d-line-2: rgba(255, 255, 255, .07);
    --d-line-w: rgba(255, 255, 255, .16);

    /* Jantar tu skončil. Referenční řádková karta nabídky
       (includes/components/bonus-card.php) žádnou značkovou barvu kasina
       nepoužívá a na stránce se z jantaru stala druhá akční barva:
       vedle tří zelených tlačítek stálo jedno jantarové. Zůstává jediný
       akcent webu, Kickova zelená. */
    --d-chip:     var(--kt-ink);   /* text chipu s kódem */
    --d-link:     var(--kt-ink);   /* odkaz v běžném textu */

    --d-cream:  var(--kt-ink);
    --d-kicker: var(--kt-ink-3);   /* nadřazený štítek sekce */

    /* ── vyzdvižení: černý stín z tokenu, žádná teplá záře ── */
    --d-lift:    var(--kt-shadow);
    --d-lift-lg: var(--kt-shadow-hi);

    /* ── geometrie: jedno rozhodnutí pro celou stránku ── */
    --d-r:    var(--kt-r);
    --d-r-lg: var(--kt-r);
    --d-r-sm: var(--kt-r-sm);

    /* Sdílený .cp-* systém jede na těchto proměnných. Akcent je KRÉMOVÝ,
       ne jantarový: díky tomu vyjdou všechny rgba(--cp-accent-rgb) lemy,
       ikony a odznaky jako neutrální vlasové linky, a jantar zbude jen
       tam, kde ho explicitně nasadíme. */
    --cp-accent: var(--d-cream);
    --cp-accent-rgb: 253, 246, 234;
    /* --cp-accent-2 se schválně nepřepisuje: zůstává zelený ze .cp-page. */

    /* Text: teplá krémová bílá v plné síle pro nadpisy, čitelné teplé
       šedobílé tělo (≥ 4.5:1 i na nejsvětlejším místě stránky). */
    --text-primary: var(--kt-ink);
    --text-secondary: var(--kt-ink-2);
    --text-muted: var(--kt-ink-3);
}

/* Reset globálního section { display:flex; padding; margin } z base.css.
   KLÍČOVÉ: base.css má `section:not(.hero-section) + section:not(.hero-section)
   { margin-top: var(--space-8) }` (specificita 0,0,2,2), které přidávalo ~29px
   mezeru mezi každými dvěma sekcemi navíc k paddingu. Přebíjíme přes !important. */
.cp-page section { display: block; width: 100%; margin: 0; padding: 0; }
.cp-page section + section { margin-top: 0 !important; }

/* ── Odkaz v běžném textu ──────────────────────────────────────
   base.css má globální `a { color: var(--color-secondary) }` = magenta.
   Na celo-jantarovém /dedek pak odkaz v odpovědi FAQ i v disclaimeru svítil
   magentově a vypadal jako chyba. Bereme brandový akcent stránky.
   Guard :not() je POVINNÝ, bez něj pravidlo přebije .cp-cta a nalije
   podtržený barevný text na affiliate gradient (tj. nečitelné CTA). */
.cp-page a:not([class]):not([class*="btn"]):not([class*="cta"]):not([class*="card"]) {
    color: var(--cp-accent);
    text-decoration: underline;
    text-decoration-color: rgba(var(--cp-accent-rgb), .4);
    text-underline-offset: 3px;
    transition: color .15s ease;
}
.cp-page a:not([class]):not([class*="btn"]):not([class*="cta"]):not([class*="card"]):hover {
    color: var(--text-primary);
}

/* ── 18+ / affiliate disclaimer ────────────────────────────────
   Dřív obě stránky používaly .landing-disclaimer, jenže page-landing.css se
   pro /dedek ani /partneri nikdy nenačítá (není v $landingPages), takže se
   blok vykresloval jako holý text bez rámečku a jeho odkaz spadl na globální
   magentu. Vlastní třída v souboru, který se opravdu načte. Míra i zaoblení
   se drží .cp-faq, aby stránka končila zarovnaně. */
.cp-disclaimer {
    max-width: none;
    margin: 0;
    padding: 14px 18px;
    border-radius: var(--kt-r);
    background: rgba(255, 255, 255, .03);
    border: 1px solid var(--alpha-white-10, rgba(255, 255, 255, .1));
    font-size: .85rem;
    line-height: 1.7;
    color: var(--text-secondary);
}
.cp-disclaimer strong { color: var(--text-primary); }

/* ── HERO ──────────────────────────────────────────────────────
   .cp-page prefix → vyšší specificita než reset `.cp-page section`
   výše (jinak by padding/margin hero spadl na 0). --- */
.cp-page .cp-hero {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    /* Žádné vytahování hero pod lištu. Komentář tady dřív počítal s tím, že
       .main-content dává padding-top:nav-height, jenže components/karty.css ho
       zeruje (`.main-content { padding-top: 0 !important }`) a zároveň všem
       sekcím vnucuje `section { padding-top: 60px !important }`. Záporný
       margin proto neměl co kompenzovat a odznaky nad nadpisem mizely pod
       lištou. Odstup nahoře drží ta vnucená šedesátka. */
    margin-top: 0;
    padding-bottom: clamp(56px, 6vw, 84px);
    isolation: isolate;
}
/* Pozadí hero, JEDNA klidná vrstva: decentní brand glow rozprostřený od horního
   okraje, plynule mizí do tmy webu. Žádná mřížka, žádné poletující orby (ten mix
   byl vizuální šum). Drží neon náladu přes okraj barvy, ne přes přeplácanost. */
.cp-hero-bg {
    position: absolute; inset: 0; z-index: -2;
    background:
        radial-gradient(120% 80% at 50% -20%, rgba(var(--cp-accent-rgb), .12), transparent 62%),
        radial-gradient(90% 60% at 85% -10%, rgba(var(--cp-accent-2-rgb), .07), transparent 60%);
}

.cp-hero-inner {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 48px; align-items: center;
}

/* Hero text */
.cp-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.cp-badge {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 12px; border-radius: var(--kt-r-sm);
    font-family: var(--font-accent);
    font-size: .76rem; font-weight: 800; letter-spacing: .04em;
    color: var(--cp-accent);
    background: rgba(var(--cp-accent-rgb), .08);
    border: 1px solid rgba(var(--cp-accent-rgb), .3);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.cp-badge svg { width: 14px; height: 14px; }
.cp-badge.cp-badge-live { color: #fff; background: rgba(var(--cp-accent-2-rgb), .15); border-color: rgba(var(--cp-accent-2-rgb), .4); }
.cp-badge.cp-badge-live .cp-live-dot {
    width: 8px; height: 8px; border-radius: 50%; background: var(--cp-accent-2);
    box-shadow: 0 0 0 0 rgba(var(--cp-accent-2-rgb), .7); animation: cpPulse 1.8s infinite;
}

.cp-hero h1 {
    font-family: var(--font-accent);
    /* Strop drží nadpis hrdiny na dvou řádcích. Se 4rem se lámal na čtyři
       a zelené podtržení akcentního slova pak leželo na diakritice řádku pod ním. */
    font-size: clamp(1.9rem, 4vw, 3.3rem);
    font-weight: 900; line-height: 1.04; letter-spacing: -.02em;
    margin: 0 0 18px; color: var(--text-primary);
    text-wrap: balance;
}
/* Zvýrazněné slovo se PODTRHÁVÁ, neobarvuje ani nevylévá gradientem -
   stejně jako .jl-pagehead > h1 span a .jl-section-label h2 span. */
.cp-hero h1 .cp-grad {
    color: inherit;
    -webkit-text-fill-color: currentColor;
    box-shadow: inset 0 -.12em 0 var(--kt-green);
}
.cp-hero-sub {
    font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.6;
    color: var(--text-secondary); max-width: 46ch; margin: 0 0 28px;
}

/* Hero bonus karta (pravý sloupec) */
.cp-hero-card {
    position: relative;
    padding: 32px 30px; border-radius: var(--kt-r);
    /* Panel je plný a neprůhledný. Byla tu radiální záře v barvě kasina
       a pod ní přechod z tmavší do světlejší plochy; text nad přechodem
       nedrží kontrast stejně nahoře a dole. */
    background: var(--panel-hi);
    border: 1px solid rgba(var(--cp-accent-rgb), .22);
    box-shadow: 0 16px 40px var(--alpha-black-40, rgba(0,0,0,.4));
    overflow: hidden;
}
.cp-hero-card > * { position: relative; }
.cp-hc-logo { display: block; max-width: 180px; height: auto; margin: 0 auto 18px; }
.cp-hc-amount {
    text-align: center; font-family: var(--font-accent);
    font-size: clamp(2rem, 4vw, 2.9rem); font-weight: 900; line-height: 1.05;
    color: var(--text-primary); letter-spacing: -.02em; margin-bottom: 4px;
}
.cp-hc-amount em { font-style: normal; color: var(--cp-accent); }
.cp-hc-note { text-align: center; font-size: .86rem; color: var(--text-secondary); margin-bottom: 20px; }
.cp-hc-list { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 11px; }
.cp-hc-list li { display: flex; align-items: flex-start; gap: 11px; font-size: .92rem; color: var(--text-secondary); line-height: 1.4; }
.cp-hc-list li strong { color: var(--text-primary); }
.cp-hc-tick {
    flex: none; width: 22px; height: 22px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: rgba(var(--cp-accent-rgb), .16); color: var(--cp-accent);
    font-size: .72rem; font-weight: 900; margin-top: 1px;
}

/* ── CTA tlačítko (sdílené) ─────────────────────────────────── */
/* ── CTA tlačítko (sdílené) ─────────────────────────
   Jediná zelená plocha v bloku. Tvar i míry jsou stejné jako u tlačítka na
   referenční řádkové kartě nabídky (.bp-go, core/shared.css): min-height 52px,
   rádius --kt-r-sm, tmavý text na plné zelené. Gradient a barevná záře odešly,
   stíny jsou na webu vždycky černé. */
.cp-cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; min-height: 52px; padding: 14px 26px; border-radius: var(--kt-r-sm);
    font-family: var(--font-accent);
    font-size: 19px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase;
    color: var(--go-ink); text-decoration: none; cursor: pointer; border: none;
    background: var(--kt-green);
    position: relative; overflow: hidden;
    transition: background-color .15s ease, transform .15s ease;
}
.cp-cta:hover { background: var(--kt-green-h); transform: translateY(-1px); }
.cp-cta .cp-cta-arrow { transition: transform .2s; }
.cp-cta:hover .cp-cta-arrow { transform: translateX(5px); }
.cp-cta-reassure { text-align: center; font-size: .78rem; color: var(--text-muted); margin: 12px 0 0; }

/* ── Trust strip, 4 metriky s ikonami, oddělovači a hoverem ─────
   Vrstvený panel: jemný horní světelný lem (hairline glow) místo
   ploché linky, vertikální oddělovače mezi staty s fade do ztracena,
   ikona vlevo od čísla → vodorovná kompozice (ne sloupec), aby to
   nebyl klasický big-number-stack. Hover rozsvítí číslo + ikonu. --- */
.cp-page .cp-trust {
    position: relative;
    padding: clamp(24px, 2.6vw, 34px) 0;
    /* bez výplně pozadí, jen jemné lemy nahoře/dole */
    border-block: 1px solid rgba(var(--cp-accent-rgb), .14);
}
/* horní svítící hairline, drobný detail, ne plochá čára */
.cp-page .cp-trust::before {
    content: ""; position: absolute; inset: 0 0 auto; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--cp-accent-rgb), .5) 25%, rgba(var(--cp-accent-2-rgb), .5) 75%, transparent);
    opacity: .6;
}
.cp-trust-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
.cp-trust-item {
    display: flex; align-items: center; justify-content: center; gap: 14px;
    padding: 6px clamp(12px, 2vw, 28px);
    position: relative;
}
/* oddělovač mezi staty, vertikální linka s fade, ne na poslední */
.cp-trust-item + .cp-trust-item::before {
    content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
    width: 1px; height: 56%;
    background: linear-gradient(rgba(var(--cp-accent-rgb), 0), rgba(var(--cp-accent-rgb), .28), rgba(var(--cp-accent-rgb), 0));
}
.cp-trust-ico {
    flex: none;
    width: 42px; height: 42px; border-radius: var(--kt-r);
    display: grid; grid-template: "i"; place-content: center; place-items: center;
    color: var(--cp-accent);
    background: radial-gradient(120% 120% at 30% 20%, rgba(var(--cp-accent-rgb), .2), rgba(var(--cp-accent-rgb), .06));
    border: 1px solid rgba(var(--cp-accent-rgb), .25);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
    transition: transform .35s cubic-bezier(.2,.7,.3,1), box-shadow .35s;
}
.cp-trust-ico svg { grid-area: i; display: block; width: 20px; height: 20px; }
/* align-self:center na celé item, ikona i text na společné svislé ose */
.cp-trust-item { align-items: center; }
.cp-trust-body { text-align: left; min-width: 0; }
.cp-trust-item strong {
    display: block; font-family: var(--font-accent);
    font-size: clamp(1.25rem, 2.1vw, 1.75rem); font-weight: 900;
    color: var(--text-primary); line-height: 1.05; letter-spacing: -.01em;
    transition: color .3s, text-shadow .3s;
}
.cp-trust-item span {
    display: block; font-size: .78rem; color: var(--text-secondary);
    margin-top: 2px; line-height: 1.25;
}
/* ── Trust strip na /partneri ──────────────────────────────────
   Na /dedek nese strip ČÍSLA („100 + 100 FS", „96,1 %", „10 min", „4,5/5")
   a velikost 1.75rem tam funguje. /partneri do stejné komponenty sype SLOVNÍ
   štítky, takže se položky 1 a 3 lámaly na dva řádky, 2 a 4 ne, a popisky
   pod nimi seděly každý jinde. Navíc pruh držely jen dva vlasové lemy, takže
   pod kartami četl jako začátek patičky, ne jako obsah.
   Řešení: tělo (povrch bonusové karty) místo lemů + typografie pro slova. */
.cp-page.prt-page .cp-trust {
    padding: 0;
    border-block: none;
}
.cp-page.prt-page .cp-trust::before { display: none; }
.prt-page .cp-trust-grid {
    padding: clamp(14px, 1.6vw, 20px) clamp(8px, 1.4vw, 18px);
    border-radius: var(--kt-r);
    background: var(--kt-sf, #16191c);
    border: 1px solid var(--alpha-white-5);
}
.prt-page .cp-trust-item strong {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0;
}
.prt-page .cp-trust-item span { margin-top: 3px; }

/* hover, rozsvítí číslo na brand barvu + ikona se zvedne a zazáří */
.cp-trust-item:hover strong { color: var(--cp-accent); }
.cp-trust-item:hover .cp-trust-ico {
    transform: translateY(-3px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 6px 16px var(--alpha-black-40, rgba(0,0,0,.4));
}

/* ── Sekce (obecné), jednotný vertikální rytmus ───────────────
   Sekce mají mezeru jen DOLE → mezi dvěma sekcemi je jen jedna
   mezera (ne dvojitá). První sekce po trust stripu dostane horní
   mezeru. Inline padding-top:0 v HTML už není potřeba (a je
   přepsáno tímto). --- */
/* .cp-page prefix → vyšší specificita než reset .cp-page section výše */
.cp-page .cp-section { padding: 0 0 clamp(44px, 5.5vw, 72px); }
.cp-page .cp-trust + .cp-section { padding-top: clamp(36px, 4vw, 52px); }
/* Hlavička sekce stojí vlevo, jako všude jinde na webu. Pět vystředěných
   bloků pod sebou dělalo z celé stránky jednu osu a nešlo poznat, kde
   sekce začíná a kde končí. */
.cp-section-head { text-align: left; max-width: none; margin: 0 0 clamp(26px, 3.5vw, 40px); }
.cp-section-head .cp-kicker {
    font-family: var(--font-accent);
    font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
    color: var(--cp-accent); margin-bottom: 10px; display: block;
}
.cp-section-head h2 {
    font-family: var(--font-accent);
    font-size: clamp(1.7rem, 3.4vw, 2.6rem); font-weight: 900; letter-spacing: -.015em;
    color: var(--text-primary); margin: 0 0 12px; line-height: 1.15;
    /* Bez balancování zůstávala na posledním řádku osamocená slova
       („casiny", „spinů") a centrovaný nadpis vypadal jako nevysázený. */
    text-wrap: balance;
}
.cp-section-head p { max-width: 66ch; font-size: 1.02rem; line-height: 1.6; color: var(--text-secondary); margin: 0; }

/* Feature karty */
/* Šest výhod ve třech řádcích s různou dělbou (7/5, 5/7, 6/6). Dvakrát tři
   stejné sloupce pod sebou byly nejgeneričtější mřížka, jakou lze postavit,
   a nešlo z nich vyčíst, která výhoda je hlavní. Buněk je přesně šest,
   žádná nezůstane prázdná. */
.cp-features { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.cp-feature { grid-column: span 6; }
.cp-feature:nth-child(1) { grid-column: span 7; }
.cp-feature:nth-child(2) { grid-column: span 5; }
.cp-feature:nth-child(3) { grid-column: span 5; }
.cp-feature:nth-child(4) { grid-column: span 7; }
.cp-feature {
    padding: 28px 26px; border-radius: var(--kt-r);
    background: var(--panel);
    border: 1px solid rgba(var(--cp-accent-rgb), .14);
    transition: transform .35s cubic-bezier(.2,.7,.3,1), border-color .35s, box-shadow .35s;
}
.cp-feature:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--cp-accent-rgb), .32);
    box-shadow: 0 14px 32px var(--alpha-black-40, rgba(0,0,0,.4));
}
.cp-feature-ico {
    width: 50px; height: 50px; border-radius: var(--kt-r); margin-bottom: 16px;
    display: inline-flex; align-items: center; justify-content: center;
    background: linear-gradient(150deg, rgba(var(--cp-accent-rgb), .18), rgba(var(--cp-accent-2-rgb), .12));
    border: 1px solid rgba(var(--cp-accent-rgb), .3); color: var(--cp-accent);
}
.cp-feature-ico svg { width: 24px; height: 24px; }
.cp-feature h3 { font-size: 1.12rem; font-weight: 800; color: var(--text-primary); margin: 0 0 8px; }
.cp-feature p { font-size: .92rem; line-height: 1.6; color: var(--text-secondary); margin: 0; }

/* Kroky "jak začít" */
.cp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: cpstep; }
.cp-step {
    position: relative; padding: 26px 22px 22px; border-radius: var(--kt-r); counter-increment: cpstep;
    background: var(--panel);
    border: 1px solid rgba(var(--cp-accent-rgb), .14);
}
.cp-step::before {
    content: counter(cpstep);
    position: absolute; top: -16px; left: 22px;
    width: 38px; height: 38px; border-radius: 11px;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-accent); font-weight: 900; font-size: 1.1rem;
    color: var(--go-ink); background: linear-gradient(135deg, var(--cp-accent), var(--cp-accent-2));
    box-shadow: 0 6px 16px rgba(var(--cp-accent-rgb), .22);
}
.cp-step h4 { font-size: 1rem; font-weight: 800; color: var(--text-primary); margin: 14px 0 6px; }
.cp-step p { font-size: .88rem; line-height: 1.55; color: var(--text-secondary); margin: 0; }

/* Quick-facts tabulka (2 sloupce)
   Osm řádků label/hodnota oddělených jen 1px linkou bez jakéhokoli obalu byl
   surový výpis z tabulky, stejná vada jako .tk-facts na /tokyo. Teď je to
   karta s povrchem bonusové karty, zebrou a hoverem, a šířka je v CSS
   (dřív inline style v dedek.php). */
/* Šířku má využít obsah: 880px uprostřed 1600px rámu nechávalo po stranách
   přes 350px prázdna. Auto-fit drží řádky čitelné a zabere celý pruh. */
.cp-facts {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 0 10px;
    max-width: none; margin: 0;
    padding: 12px 14px;
    border-radius: var(--kt-r);
    background: var(--kt-sf, #16191c);
    border: 1px solid var(--alpha-white-5);
}
.cp-fact {
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px; align-items: baseline;
    padding: 14px 16px;
    border-radius: var(--radius-chip);
    border-bottom: 1px solid rgba(255,255,255,.06);
    transition: background .15s ease;
}
/* 2 sloupce → jeden řádek = dvě položky; pruhujeme po dvojicích, ať zebra
   běží vodorovně, ne šachovnicově. */
.cp-fact:nth-child(4n+3),
.cp-fact:nth-child(4n+4) { background: rgba(255,255,255,.022); }
.cp-fact:hover { background: rgba(var(--cp-accent-rgb), .07); }
.cp-fact:nth-last-child(-n+2) { border-bottom: none; }
.cp-fact .cp-fact-label { font-size: .92rem; color: var(--text-secondary); }
.cp-fact .cp-fact-val { font-size: .95rem; font-weight: 700; color: var(--text-primary); text-align: right; }

/* Velký mid-page CTA banner */
.cp-cta-band {
    position: relative; text-align: center; padding: 56px 32px; border-radius: var(--kt-r); overflow: hidden;
    background: var(--panel-hi);
    border: 1px solid rgba(var(--cp-accent-rgb), .25);
    box-shadow: 0 16px 40px var(--alpha-black-40, rgba(0,0,0,.4));
}
.cp-cta-band h2 {
    font-family: var(--font-accent);
    font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 900; color: var(--text-primary);
    margin: 0 0 10px; letter-spacing: -.015em;
}
.cp-cta-band p { font-size: 1.05rem; color: var(--text-secondary); margin: 0 auto 26px; max-width: 50ch; }
.cp-cta-band .cp-cta { max-width: 420px; margin: 0 auto; }

/* Sticky mobilní CTA lišta */
.cp-sticky {
    /* Bylo 90, což je přesně z-index zrna (core/skin.css). Shoda se rozhodovala
       pořadím v dokumentu a zrno vyhrávalo, takže leželo přes tuhle lištu.
       Lišta je konverzní plocha, patří nad zrno. */
    position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-sticky);
    display: none; align-items: center; gap: 12px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    background: var(--head); backdrop-filter: blur(14px);
    border-top: 1px solid rgba(var(--cp-accent-rgb), .25);
}
.cp-sticky-info { flex: 1; min-width: 0; }
.cp-sticky-info strong { display: block; font-size: .9rem; color: var(--text-primary); line-height: 1.1; }
.cp-sticky-info span { font-size: .74rem; color: var(--cp-accent); }
.cp-sticky .cp-cta { width: auto; padding: 13px 20px; font-size: .9rem; flex: none; }

/* FAQ */
/* Dvousloupcový akordeon místo úzkého sloupce uprostřed. Přepínač tak zůstane
   u otázky a nezbývá prázdná třetina po obou stranách. */
.cp-faq {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(460px, 1fr));
    /* align-items, ne align-content: jinak se zavřené položky natáhnou na výšku
       otevřené ve stejném řádku a zůstanou vysoké prázdné rámečky. */
    align-items: start;
    gap: 12px;
    max-width: none;
    margin: 0;
}
.cp-faq details {
    border: 1px solid rgba(var(--cp-accent-rgb), .14); border-radius: var(--kt-r);
    margin-bottom: 12px; background: var(--panel); overflow: hidden;
}
.cp-faq details[open] { border-color: rgba(var(--cp-accent-rgb), .35); }
.cp-faq summary {
    list-style: none; cursor: pointer; padding: 16px 20px;
    font-weight: 700; color: var(--text-primary); font-size: .98rem;
    display: flex; justify-content: space-between; gap: 12px; align-items: center;
}
.cp-faq summary::-webkit-details-marker { display: none; }
/* Byl tu „+", který se po rozbalení otočil na „×", křížek na rozbaleném
   řádku čte jako „smazat", ne „sbalit". Šipka dolů / nahoru, stejná jako
   .tk-faq na /tokyo, ať se obě partnerské stránky chovají shodně. */
.cp-faq summary::after {
    content: ""; flex: none; width: 11px; height: 11px;
    border-right: 2px solid var(--cp-accent); border-bottom: 2px solid var(--cp-accent);
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform .25s cubic-bezier(.2, .8, .25, 1);
}
.cp-faq details[open] summary::after { transform: rotate(225deg) translate(-3px, -3px); }
.cp-faq details p { padding: 0 20px 18px; margin: 0; font-size: .92rem; line-height: 1.65; color: var(--text-secondary); }

/* ── Fotografická řada ─────────────────────────────────────────
   Skutečný snímek vlevo, text vpravo. Hrdina stránky má text vlevo a kartu
   vpravo, takže se pořadí sloupců neopakuje. */
.cp-page .cp-shotrow {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: clamp(22px, 3vw, 44px);
    align-items: center;
}
.cp-page .cp-shot { margin: 0; }
.cp-page .cp-shot img {
    display: block; width: 100%;
    aspect-ratio: 16 / 9; object-fit: cover;
    border: 1px solid var(--d-line, rgba(255, 255, 255, .09));
    border-radius: var(--kt-r);
    box-shadow: var(--kt-shadow);
}
.cp-page .cp-shot-txt h2 {
    font-family: var(--font-accent);
    font-size: clamp(1.5rem, 2.6vw, 2.1rem); font-weight: 900;
    line-height: 1.15; letter-spacing: -.02em;
    color: var(--text-primary); margin: 0;
    text-wrap: balance;
}
.cp-page .cp-shot-txt p {
    margin: 12px 0 0; font-size: 1rem; line-height: 1.65;
    color: var(--text-secondary); text-wrap: pretty;
}
.cp-page .cp-shot-link {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 18px;
    font-family: var(--font-accent); font-weight: 800; font-size: .92rem;
    color: var(--text-primary); text-decoration: none;
    border-bottom: 2px solid var(--kt-green);
    padding-bottom: 3px;
}
.cp-page .cp-shot-link svg { transition: transform .2s; }
.cp-page .cp-shot-link:hover svg { transform: translateX(4px); }
@media (max-width: 860px) {
    .cp-page .cp-shotrow { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .cp-page .cp-shot-link svg { transition: none; }
    .cp-page .cp-shot-link:hover svg { transform: none; }
}

/* Náběh při scrollu je pryč, majitel si vyžádal web bez scroll animací.
   Třídy .cp-reveal zůstávají v šabloně jako neutrální háček, ale nic
   neskrývají: obsah stojí rovnou vidět a nečeká na JavaScript. */
.cp-reveal { opacity: 1; transform: none; }

/* ── Keyframes ─────────────────────────────────────────────── */
@keyframes cpPulse { 0% { box-shadow: 0 0 0 0 rgba(var(--cp-accent-2-rgb), .6); } 70% { box-shadow: 0 0 0 10px rgba(var(--cp-accent-2-rgb), 0); } 100% { box-shadow: 0 0 0 0 rgba(var(--cp-accent-2-rgb), 0); } }

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 920px) {
    .cp-hero-inner { grid-template-columns: 1fr; gap: 36px; }
    .cp-hero-card { max-width: 460px; margin: 0 auto; width: 100%; }
    .cp-features { grid-template-columns: 1fr 1fr; }
    .cp-feature, .cp-feature:nth-child(1), .cp-feature:nth-child(2),
    .cp-feature:nth-child(3), .cp-feature:nth-child(4) { grid-column: auto; }
    .cp-steps { grid-template-columns: 1fr 1fr; }
    /* 2 sloupce: vertikální oddělovače dělají problém na druhém řádku → vypnout,
       místo nich přidat řádkovou mezeru a horizontální oddělovač u spodního řádku. */
    .cp-trust-grid { grid-template-columns: 1fr 1fr; row-gap: 4px; }
    .cp-trust-item + .cp-trust-item::before { display: none; }
    .cp-trust-item { padding: 16px 12px; }
    /* oddělovač jen mezi 2. a 3. (horní/dolní řádek) */
    .cp-trust-item:nth-child(3)::after, .cp-trust-item:nth-child(4)::after {
        content: ""; position: absolute; top: 0; left: 12%; right: 12%; height: 1px;
        background: linear-gradient(90deg, transparent, rgba(var(--cp-accent-rgb), .2), transparent);
    }
    /* Jeden sloupec → zebra i poslední řádek se počítají jinak než u dvou. */
    .cp-facts { grid-template-columns: 1fr; }
    .cp-fact:nth-child(4n+3),
    .cp-fact:nth-child(4n+4) { background: none; }
    .cp-fact:nth-child(even) { background: rgba(255,255,255,.022); }
    .cp-fact:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.06); }
    .cp-fact:last-child { border-bottom: none; }
}
@media (max-width: 600px) {
    .cp-hero { min-height: auto; padding: calc(var(--nav-height) + 48px) 0 40px; }
    .cp-features, .cp-steps { grid-template-columns: 1fr; }
    .cp-sticky { display: flex; }
    .cp-page .cp-section { padding: 0 0 40px; }
    .cp-page .cp-trust + .cp-section { padding-top: 40px; }
    /* trust: ikona menší, kompaktnější na úzkém */
    .cp-trust-item { gap: 11px; padding: 14px 8px; }
    .cp-trust-ico { width: 38px; height: 38px; }
    .cp-trust-item strong { font-size: 1.3rem; }
}


/* ── Reduced motion (sdílené, platí pro /dedek i /partneri) ── */
@media (prefers-reduced-motion: reduce) {
    .cp-badge-live .cp-live-dot { animation: none; }
    .cp-reveal { opacity: 1; transform: none; transition: none; }
    .cp-feature, .cp-cta, .cp-trust-ico, .cp-trust-item strong { transition: none; }
    .cp-trust-item:hover .cp-trust-ico { transform: none; }
}

/* ════════════════════════════════════════════════════════════════
   DĚDEK, „TEPLÉ SVĚTLO NAD TMOU"
   ----------------------------------------------------------------
   Předchozí verze udělala z jantaru POVRCH: pozadí, sekce, panely
   i karty seděly do pěti procent ve stejné hnědé, takže stránka
   neměla hloubku ani hierarchii a četla se jako špína. Jantar navíc
   nemůže svítit na hnědé, takže CTA nešlo odlišit od nadpisů, ikon,
   lemů a žárovek. Tahle verze to obrací:

     1. ZÁKLAD JE TMA. Pozadí i povrchy karet jedou v near-black
        rodině webu (#0a0a0c → #1b1b23). Neutrální, ne bahno.
     2. TEPLO JE SVĚTLO. Jantarová záře padá shora přes stránku,
        kolem hero a nad velkým CTA se rozlévá světelná louže.
     3. JANTAR NA ROZPOČTU: CTA, jedno akcentní slovo v nadpisu,
        chip s promo kódem, jedna žárovková rampa. Konec.
        Všechno ostatní je krémová nebo neutrální tmavý povrch.
     4. RAMPA JEDNOU. Na hero kupónu, kde korunuje nabídku. Ze
        záhlaví sekcí, z panelů a ze sticky lišty je pryč.
     5. MÍSTO TEČKOVANÝCH ŠVŮ prostá vlasová linka.

   POZOR: soubor sdílí /partneri (.prt-page). Každý selektor níž
   MUSÍ obsahovat .cp-dedek (nebo :has(.cp-dedek)).
   ════════════════════════════════════════════════════════════════ */

/* ── 1. Pozadí stránky: tmavá plocha + jantarová záře shora ────
   Web má fixní studené vrstvy (body.cyber-body::before/::after,
   .cyber-grid). Na /dedek je přebarvujeme na near-black se světlem
   shora. Scoupováno přes :has(.cp-page.cp-dedek). */
body:has(.cp-page.cp-dedek) { background-color: #0a0a0c; }

/* Signal Field (globální WebGL pozadí) přeladěný do jantaru. Shader i jeho
   statický fallback čtou tyhle proměnné, takže stačí přepsat je, pravidla
   pro ::before/::after níž platí jen když je pozadí vypnuté v config.php. */
body:has(.cp-page.cp-dedek) {
    --sbg-base: #0a0a0c;
    --sbg-c1:   #2a1c0b;
    --sbg-c2:   #1d1409;
    --sbg-c3:   #2e1d06;
    /* dekorace pod konverzním tlačítkem tu nemá co dělat, viz pravidlo níž -
       platí i pro shaderovou verzi symbolů */
    --sbg-symbols: 0;
}
/* POZOR na jednotky: tahle vrstva je `position: fixed; inset: 0`, takže
   procenta počítá z VÝŘEZU. Velká radiální elipsa by se v prohlížeči
   (výřez ~800px) scvrkla na proužek pod menu, kdežto na celostránkovém
   screenshotu (výřez 7000px) by zalila půl stránky. Proto je tady jen
   lineární teplý závoj (poměrově vypadá stejně při každé výšce) a hlavní
   světelnou louži nese hero, který má pevnou pixelovou výšku. */
body.cyber-body:has(.cp-page.cp-dedek)::before {
    background: var(--kt-pg);
    /* Bez `content` se pseudoprvek nevykreslí. Explicitní `none` je pojistka:
       kdyby někdo přidal obecné body.cyber-body::before { content:'' } jako
       třetí vrstvu pozadí, tohle pravidlo by se probudilo a na /dedek by
       nakreslilo neprůhlednou plochu přes celou stránku. */
    content: none;
}
/* Modrofialové blury a azurová mřížka nemají na téhle stránce co dělat
   a zrno ze staré verze dělalo hlavně „špinavo". Pryč s obojím. */
body.cyber-body:has(.cp-page.cp-dedek)::after { background: none; filter: none; }
body:has(.cp-page.cp-dedek) .cyber-grid { display: none; }
/* Zlaté retro kabinety z vrstvy floating-slots ležely pod textem hero
   i pod levým ramenem CTA. Dekorace nepatří pod konverzní tlačítko. */
body:has(.cp-dedek) .floating-slot { display: none; }

/* ── 2. Světelná louže kolem hero ──────────────────────────────
   Jediné teplé místo stránky, které smí být takhle silné: sem míří
   pohled a přímo pod ním sedí CTA. */
.cp-dedek .cp-hero-bg {
    background: linear-gradient(180deg, var(--kt-band) 0%, transparent 78%);
}
/* Šev pod hero: teplá vlasová linka místo tečkované rampy. */
.cp-dedek .cp-hero::after {
    content: ""; position: absolute; z-index: 0;
    left: 0; right: 0; bottom: 0; height: 1px;
    background: rgba(255, 255, 255, .09);
}
.cp-dedek .cp-hero h1 { color: var(--text-primary); }
/* Akcentní slovo v nadpisu drží sdílený tvar (podtržení zelenou), takže
   /dedek nemá vlastní způsob, jak zvýraznit slovo. */
.cp-dedek .cp-hero h1 .cp-grad,
.cp-dedek .cp-cta-band h2 .cp-grad {
    background: none;
    -webkit-background-clip: border-box; background-clip: border-box;
    -webkit-text-fill-color: currentColor;
    color: inherit;
    box-shadow: inset 0 -.12em 0 var(--kt-green);
    text-shadow: none;
}
.cp-dedek .cp-hero-sub { font-size: clamp(1rem, 1.45vw, 1.14rem); color: var(--text-secondary); }
/* dřív inline style="max-width:440px" v dedek.php */
.cp-dedek .cp-hero-act { max-width: 440px; }

/* Odznaky = neutrální tmavé štítky s krémovým textem (žádný jantar). */
.cp-dedek .cp-badge {
    color: var(--d-cream);
    background: rgba(255, 255, 255, .05);
    border-color: rgba(255, 255, 255, .15);
    box-shadow: none;
}
.cp-dedek .cp-badge.cp-badge-live {
    color: #ffd6b4;
    background: var(--kt-el);
    border-color: var(--d-line-w);
}

/* ── 3. Plotny: neutrální tmavý povrch ZŘETELNĚ nad pozadím ────
   Karta #1b1b23 → #121218 na pozadí #0a0a0c, k tomu světlá horní
   hrana a hloubkový stín. Odsud bere stránka hierarchii. */
.cp-dedek .cp-feature,
.cp-dedek .cp-step,
.cp-dedek .cp-facts,
.cp-dedek .cp-faq details,
.cp-dedek .cp-trust-plate,
.cp-dedek .cp-disclaimer {
    border-radius: var(--d-r);
    background: var(--d-card);
    border: 1px solid var(--d-line-2);
    box-shadow: var(--d-lift);
}

/* ── 4. Vlasový šev místo tečkovaného oddělovače ───────────────
   Sedí v .jl-container, takže lícuje s obsahem i v breakpointech. */
.cp-dedek .cp-rule { margin: 0 auto clamp(34px, 4vw, 56px); }
.cp-dedek .cp-rule::before {
    content: ""; display: block; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .15) 16%, rgba(255, 255, 255, .15) 84%, transparent);
}

/* ── 5. Hero kupón: jediné místo se žárovkovou rampou ──────────
   Velká plotna, teplé světlo shora uvnitř karty, rampa na horní
   hraně. Podpis stránky použitý přesně jednou. */
.cp-dedek .cp-hero-card {
    position: relative;
    padding: 40px 30px 30px;
    border-radius: var(--d-r-lg);
    border: 1px solid var(--d-line);
    background: var(--d-card-hi);
    box-shadow: var(--d-lift-lg);
    overflow: hidden;
}
/* Žárovková rampa. Čistě dekorace: aria-hidden v markupu,
   pointer-events: none, nikdy nad textem ani nad CTA. */
.cp-dedek .cp-bulbs {
    display: block;
    height: 12px;
    pointer-events: none;
    user-select: none;
    background-image: linear-gradient(90deg, transparent, var(--d-line-w), transparent);
    background-size: 100% 3px;
    background-position: 0 50%;
    background-repeat: no-repeat;
    filter: none;
}
.cp-dedek .cp-hero-card > .cp-bulbs--card {
    position: absolute; z-index: 2;
    top: 13px; left: 18px; right: 18px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
/* @keyframes dBulbGlow je pryč: blikající žárovky nebyly odpověď na nic
   a pohyb na webu je odpověď, ne ozdoba. Ze žárovkové rampy zbyl 3px pruh
   ve značkové barvě herny, přesně to, co má na horní hraně karta nabídky. */

/* Eyebrow kupónu = chip s promo kódem. Jeden z mála jantarů na stránce. */
.cp-dedek .cp-hc-amount { color: var(--text-primary); text-shadow: none; }
.cp-dedek .cp-hc-note { font-size: .9rem; color: var(--text-secondary); }
.cp-dedek .cp-hc-list li { font-size: .95rem; line-height: 1.5; }
/* Odškrtnutí je tichý neutrální knoflík, ne čtyři jantarové tečky
   vedle jantarového tlačítka. */
.cp-dedek .cp-hc-tick {
    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(255, 255, 255, .16);
    color: var(--d-cream);
    box-shadow: none;
}

/* ── 6. CTA: nejhlasitější a nejsvětlejší prvek stránky ────────
   Rozžhavená jantarová pilulka = fyzické podsvícené tlačítko
   automatu. Na tmavém základu konečně svítí. */
/* ── 6. CTA ────────────────────────────────────
   Jantarová pilulka odešla. Peněžní barva je na celém webu jedna a je to
   Kickova zelená; jantar patří JL Coinům a značkové 3px hraně. */
.cp-dedek .cp-cta:focus-visible { outline: 2px solid var(--kt-green); outline-offset: 3px; }
.cp-dedek .cp-cta-reassure { font-size: .82rem; color: var(--text-muted); }

/* ── 7. Trust plotna ───────────────────────────────────────────
   Bez rampy, bez mosazi: neutrální plotna, krémová čísla, ikony
   vyryté do tmavého knoflíku. */
.cp-page.cp-dedek .cp-trust { padding: 0; border-block: none; }
.cp-page.cp-dedek .cp-trust::before { display: none; }
.cp-dedek .cp-trust-plate {
    display: block; position: relative;
    padding: 26px clamp(8px, 1.4vw, 18px) 22px;
}
.cp-dedek .cp-trust-ico {
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02));
    border: 1px solid rgba(255, 255, 255, .13);
    box-shadow: none;
}
/* POZOR: `color` by tu nestačilo, sdílené `.cp-trust-item span` míří na
   tentýž <span class="cp-trust-ico">, takže currentColor spadne na barvu
   popisku. Nastavujeme rovnou `stroke`. */
.cp-dedek .cp-trust-ico svg { stroke: var(--d-cream); }
.cp-dedek .cp-trust-item strong { color: var(--text-primary); }
.cp-dedek .cp-trust-body span { font-size: .82rem; color: var(--text-secondary); }
.cp-dedek .cp-trust-item:hover .cp-trust-ico {
    border-color: var(--d-line-w);
    box-shadow: var(--kt-shadow-hi);
}

/* ── 8. Záhlaví sekcí ──────────────────────────────────────────
   Bez rampy. Štítek teplá tlumená, nadpis krémový v plné síle. */
.cp-dedek .cp-section-head .cp-kicker {
    font-size: .78rem; letter-spacing: .18em;
    color: var(--d-kicker);
}
.cp-dedek .cp-section-head h2 { color: var(--text-primary); }
.cp-dedek .cp-section-head p { font-size: 1.05rem; color: var(--text-secondary); }

/* Feature karty, ikona jako tichý neutrální knoflík */
.cp-dedek .cp-feature {
    transition: transform .35s cubic-bezier(.2,.7,.3,1), border-color .35s, box-shadow .35s;
}
.cp-dedek .cp-feature:hover {
    border-color: var(--d-line);
    box-shadow: var(--kt-shadow-hi);
}
.cp-dedek .cp-feature-ico {
    border-radius: var(--kt-r-sm);
    color: var(--kt-ink-3);
    background: var(--kt-el);
    border: 1px solid rgba(255, 255, 255, .09);
    box-shadow: none;
}
.cp-dedek .cp-feature h3 { font-size: 1.14rem; color: var(--text-primary); }
.cp-dedek .cp-feature p { font-size: .97rem; line-height: 1.65; color: var(--text-secondary); }

/* Kroky, číslo v tmavé medaili s teplým prstencem (ne zlatý knoflík) */
.cp-dedek .cp-step::before {
    border-radius: var(--kt-r-sm);
    color: var(--d-cream);
    background: var(--kt-el);
    border: 1px solid var(--d-line-w);
    box-shadow: 0 0 0 5px var(--d-base);
}
.cp-dedek .cp-step h4 { font-size: 1.04rem; color: var(--text-primary); }
.cp-dedek .cp-step p { font-size: .95rem; line-height: 1.6; color: var(--text-secondary); }

/* ── 9. Velké CTA: světelná louže nad tmavým povrchem ──────────
   Druhé a poslední místo, kde se teplo rozlévá naplno. */
.cp-dedek .cp-cta-band {
    position: relative;
    padding: 56px 32px 46px;
    border-radius: var(--d-r-lg);
    border: 1px solid var(--d-line);
    background: var(--d-card-hi);
    box-shadow: var(--d-lift-lg);
}
.cp-dedek .cp-cta-band h2 { color: var(--text-primary); }
.cp-dedek .cp-cta-band p { font-size: 1.05rem; color: var(--text-secondary); }

/* Rychlá fakta, neutrální plotna, krémové hodnoty */
.cp-dedek .cp-facts { grid-template-columns: 1fr 1fr; padding: 12px 14px; }
.cp-dedek .cp-fact {
    border-radius: var(--d-r-sm);
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    padding: 15px 16px;
}
.cp-dedek .cp-fact:nth-child(4n+3),
.cp-dedek .cp-fact:nth-child(4n+4) { background: rgba(255, 255, 255, .028); }
.cp-dedek .cp-fact:hover { background: var(--kt-el); }
.cp-dedek .cp-fact:nth-last-child(-n+2) { border-bottom: none; }
.cp-dedek .cp-fact .cp-fact-label { font-size: .96rem; color: var(--text-secondary); }
.cp-dedek .cp-fact .cp-fact-val { font-size: .98rem; color: var(--d-cream); }

/* FAQ, dva sloupce neutrálních plotýnek, krémová šipka */
.cp-dedek .cp-faq { grid-template-columns: 1fr 1fr; gap: 14px; }
.cp-dedek .cp-faq details { margin-bottom: 0; }
.cp-dedek .cp-faq details[open] {
    border-color: var(--d-line-w);
    box-shadow: var(--d-lift);
}
.cp-dedek .cp-faq summary { font-size: 1rem; color: var(--text-primary); padding: 17px 20px; }
.cp-dedek .cp-faq summary::after {
    border-right-color: rgba(255, 255, 255, .55);
    border-bottom-color: rgba(255, 255, 255, .55);
}
.cp-dedek .cp-faq details p { font-size: .97rem; line-height: 1.7; color: var(--text-secondary); }

/* Disclaimer */
.cp-dedek .cp-disclaimer { font-size: .9rem; color: var(--text-secondary); }
.cp-dedek .cp-disclaimer strong { color: var(--d-cream); }

/* ── Odkaz v běžném textu ──────────────────────────────────────
   Guard :not() je POVINNÝ, bez něj pravidlo přebije .cp-cta a nalije
   podtržený barevný text na affiliate gradient (tj. nečitelné CTA). */
.cp-dedek a:not([class]):not([class*="btn"]):not([class*="cta"]):not([class*="card"]) {
    color: var(--d-link);
    text-decoration: underline;
    text-decoration-color: rgba(232, 165, 74, .45);
    text-underline-offset: 3px;
}
.cp-dedek a:not([class]):not([class*="btn"]):not([class*="cta"]):not([class*="card"]):hover {
    color: var(--d-cream);
}

/* Sticky mobilní lišta, tmavé sklo, bez rampy */
.cp-dedek .cp-sticky {
    position: fixed;
    background: rgba(10, 10, 12, .94);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    border-top: 1px solid var(--d-line);
    box-shadow: 0 -14px 30px -18px rgba(0, 0, 0, 1);
}
.cp-dedek .cp-sticky-info strong { color: var(--text-primary); }
.cp-dedek .cp-sticky-info span { color: var(--d-chip); }

/* Poslední zbytky studené palety: výběr textu a focus prstenec (globální
   :focus-visible jede na azurové --color-primary). */
.cp-dedek ::selection { background: var(--kt-green); color: var(--go-ink); }
.cp-dedek a:focus-visible,
.cp-dedek summary:focus-visible,
.cp-dedek button:focus-visible { outline: 2px solid var(--kt-green); outline-offset: 3px; }

/* ── Responsive (musí být za základními pravidly téhle sekce) ── */
@media (max-width: 920px) {
    .cp-dedek .cp-facts,
    .cp-dedek .cp-faq { grid-template-columns: 1fr; }
    /* jeden sloupec → zebra po řádcích, ne po dvojicích */
    .cp-dedek .cp-fact:nth-child(4n+3),
    .cp-dedek .cp-fact:nth-child(4n+4) { background: none; }
    .cp-dedek .cp-fact:nth-child(even) { background: rgba(255, 255, 255, .028); }
    .cp-dedek .cp-fact:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .06); }
    .cp-dedek .cp-fact:last-child { border-bottom: none; }
}
@media (max-width: 600px) {
    .cp-dedek .cp-hero-card { padding: 36px 20px 24px; }
    .cp-dedek .cp-hero-card > .cp-bulbs--card { left: 12px; right: 12px; }
    .cp-dedek .cp-cta-band { padding: 42px 20px 34px; }
    .cp-dedek .cp-trust-plate { padding: 22px 6px 16px; }
    .cp-dedek .cp-rule { margin-bottom: 28px; }
}

/* ── Reduced motion / perf ─────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .cp-dedek .cp-bulbs { animation: none; opacity: 1; }
    .cp-dedek .cp-cta,
    .cp-dedek .cp-feature,
    .cp-dedek .cp-trust-ico { transition: none; }
    .cp-dedek .cp-cta:hover,
    .cp-dedek .cp-feature:hover { transform: none; }
}
html[data-perf="low"] .cp-dedek .cp-bulbs { animation: none; opacity: 1; }
