/* ===========================================================================
   HP.CSS — homepage-specific overridy (body.home)
   ===========================================================================
   Cíl: jediný zdroj pro homepage-specific pravidla, načítaný PODMÍNĚNĚ
   (jen na front page přes is_front_page() ve functions.php) a POZDĚ
   (priorita 10004, po footer.css) → dvě výhry:
     1) order-independent (vyhrává pozicí, ne slepým !important),
     2) podstránky homepage CSS vůbec nestahují (menší CSS, rychlejší subpages).

   Struktura: komponentně, DOM-hierarchicky (rodič → potomci), sjednocené
   napříč breakpointy (base → tablet → mobil). Duplicitní varianty sloučené,
   mrtvé smazané (ověřeno proti live computed baseline).

   POZOR — NEpřesouvat sem hero/rozcestník (A/B test, §7 #4) ani footer body.home
   (patří do footer.css).
   =========================================================================== */

/* ===========================================================================
   HERO BAND — tmavý pruh za hero (page background body.home)
   ---------------------------------------------------------------------------
   Přesun z audit-fixes A2 (konsolidace 2026-09-08, po rozpuštění A/B — hero smí
   nyní do hp.css). Nahrazuje mrtvý base z custom.css (linear-gradient …830px, bez
   !important). Figma: pruh končí na spodní hraně hero (desktop 760 · tablet 482 ·
   mobil 700). --gamin-hero-band dopočítává js/hp.js z reálné výšky hero;
   hodnoty níže jsou fallback, kdyby JS neběžel.
   =========================================================================== */
body.home {
    --gamin-hero-band: 760px;

    background-image: linear-gradient(to bottom,
        var(--background-dark, #022930) var(--gamin-hero-band),
        var(--background-primary, #F7F7F7) 0) !important;
}

@media (min-width: 768px) and (max-width: 921.98px) {
    body.home {
        --gamin-hero-band: 482px;
    }
}

@media (max-width: 767.98px) {
    body.home {
        --gamin-hero-band: 700px;
    }
}

/* ===========================================================================
   POČÍTADLA (.pocitadla) — homepage counters (Figma 7014:36707)
   ---------------------------------------------------------------------------
   Konsolidováno z custom.css (base) + audit-fixes (gap/margin/tablet/mobil).
   Sloučeno: mobil gap 24→32 + padding-top/bottom 64→32 (přebíjela varianta níže);
   smazáno mrtvé prázdné `.rubber-pop {}` + duplicitní base64 svg (přebíjel url-enc).
   Baseline: desktop h4 72px/pad 64, tablet grid 56px/48-40!, mobil flex 56px/32-16.
   =========================================================================== */

/* --- Base (desktop) --- */
.pocitadla {
    padding-top: 64px;
    padding-bottom: 64px;
}

.pocitadla.wp-block-columns {
    gap: 32px !important;               /* #7 audit: obě třídy na stejném elementu */
    margin-top: 0 !important;           /* rytmus: ruší doběhový margin .wp-block-columns */
    margin-bottom: 0 !important;
}

.pocitadla .wp-block-column {
    padding-left: 32px;
    background-image: url("data:image/svg+xml,%3csvg width='16' height='110' viewBox='0 0 16 110' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect y='18' width='2' height='88' fill='%23008C9D'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
}

.pocitadla h4.wp-block-heading {
    font-weight: 700;
    font-size: 72px;
    line-height: 120%;
    letter-spacing: -2%;
    margin: 0;
    padding: 0;
    color: var(--text-positive-primary, #022930);
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
    opacity: 0;                          /* count-up: JS odhalí po naběhnutí */
    transition: opacity 0.5s ease-in;
}

.pocitadla p {
    font-weight: 650;
    font-size: 20px;
    line-height: 120%;
    letter-spacing: 0%;
    margin: 0;
    padding: 0;
    color: var(--text-positive-secondary, #52525B);
}

/* --- Tablet 768–921 --- */
@media (min-width: 768px) and (max-width: 921.98px) {
    .pocitadla.wp-block-columns {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px !important;
        margin: 0;
        padding-top: 48px;
        padding-bottom: 40px;
        padding-left: 40px !important;   /* !important přebíjí `#main .wp-block-columns` (ID, 32px) — A6 */
        padding-right: 40px !important;
    }

    .pocitadla.wp-block-columns > .wp-block-column {
        width: auto !important;
        min-width: 0;
        flex-basis: auto !important;
        margin: 0;
        padding-left: 32px;
        background-image: linear-gradient(#008C9D, #008C9D);
        background-repeat: no-repeat;
        background-size: 2px 68px;
        background-position: left 10px;
    }

    .pocitadla h4.wp-block-heading {
        font-size: 56px;
        line-height: 1.2;
    }

    .pocitadla p {
        font-size: 20px;
        line-height: 1.2;
    }
}

/* --- Mobil ≤767.98 --- */
@media (max-width: 767.98px) {
    body.home .pocitadla {
        display: flex !important;
        flex-direction: column !important;
        gap: 32px !important;            /* sloučeno: dřív 24 pak přebito 32 */
        margin: 0 !important;
        padding: 32px 16px !important;   /* sloučeno: dřív 64 16 pak top/bottom přebito 32 */
    }

    body.home .pocitadla .wp-block-column {
        width: 100% !important;
        min-height: 88px !important;
        padding-left: 32px !important;
        border-left: 0 !important;
        background-image: linear-gradient(#008C9D, #008C9D) !important;
        background-repeat: no-repeat !important;
        background-size: 2px 88px !important;
        background-position: left top !important;
    }

    body.home .pocitadla h4 {
        margin: 0 !important;
        font-size: 56px !important;
        line-height: 1.05 !important;
        letter-spacing: -0.02em !important;
    }

    body.home .pocitadla h4::after {
        content: none !important;
    }

    body.home .pocitadla p {
        margin: 4px 0 0 !important;
        font-size: 20px !important;
        line-height: 1.2 !important;
        font-weight: 650 !important;
    }
}


/* ===========================================================================
   DCEŘINÉ SPOLEČNOSTI (.dcerinne-spolecnosti) — homepage subsidiaries
   (Figma 7014:36833, karta 392×360)
   ---------------------------------------------------------------------------
   Konsolidováno z custom.css (base karta + CTA) + audit-fixes (#20 per-kartový
   hover, description flex/gap, heading marginy) + audit-fixes tablet grid.
   DOM (live-ověřeno dev3): .wrapper > div.wp-block-group.dcerinne-spolecnosti.gap-32
     > (h2, p, .wp-block-columns > 3× .wp-block-column
        > figure.wp-block-image + .description(h4.wp-block-heading, p.popis, p.vice > a)).
   Baseline: desktop col 392px/r16/bílá; tablet 3-col grid gap32 (~208px @768);
     mobil 1-sl flex (default WP); desc flex/gap16/pad16; vice #008C9D→#00DFEA/16/600.
   Mrtvé smazané při konsolidaci (live-ověřeno, že nematchují):
     - `.dcerinne-spolecnosti.wp-block-columns` (element je .wp-block-group, ne columns)
     - `> .wp-block-group__inner-container` (žádný inner-container)
     - `.entry-content > .dcerinne-spolecnosti` (rodič = .wrapper)
     - nested `.dcerinne-spolecnosti .dcerinne-spolecnosti.gap-32` (jen 1 dcerinne)
     - `.description h2 / .h2` (nadpis karty je h4)
   POZOR: section padding (48/32px) je cross-component grouped (audit-fixes) — sem NEpatří.
   =========================================================================== */

/* --- Base (desktop): karta --- */
.dcerinne-spolecnosti .wp-block-column {
    border-radius: var(--radius-m);
    background-color: white;
    cursor: pointer;
}

.dcerinne-spolecnosti .wp-block-column:hover {
    box-shadow: 0px 16px 20px 0px #00000014;
}

.dcerinne-spolecnosti .wp-block-column .wp-block-image {
    border-radius: var(--radius-m) var(--radius-m) 0 0;
    overflow: hidden;
}

.dcerinne-spolecnosti .wp-block-column img {
    transition: transform 0.25s ease-in;
}

.dcerinne-spolecnosti .wp-block-column:hover img {
    transform: scale(1.05);
}

/* --- Base: description (custom margin/padding + audit flex/gap sloučeno) --- */
.dcerinne-spolecnosti .wp-block-column .description {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
    padding: var(--padding-16);
}

.dcerinne-spolecnosti .wp-block-column .description p.vice {
    margin: 0;
    padding: 0;
}

/* Nadpis/popis bez vlastních marginů — rozestupy řeší .description gap:16px (Figma). */
.dcerinne-spolecnosti .wp-block-column > .description > .wp-block-heading,
.dcerinne-spolecnosti .wp-block-column > .description > .popis {
    margin-top: 0;
    margin-bottom: 0;
}

/* --- Base: CTA „vice" odkaz + hover --- */
.dcerinne-spolecnosti .vice a {
    font-weight: 600;
    font-size: 1rem;
    line-height: 100%;
    text-align: center;
    color: var(--button-tertiary-tertiary-bglight-default, #008C9D);
    background-image: url("data:image/svg+xml;utf8,<svg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M19.25 2.75H13.75M19.25 2.75L11 11M19.25 2.75V8.25M19.25 11.9167V17.4167C19.25 18.4292 18.4292 19.25 17.4167 19.25H4.58333C3.57081 19.25 2.75 18.4292 2.75 17.4167V4.58333C2.75 3.57081 3.57081 2.75 4.58333 2.75H10.0833' stroke='%23008C9D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 100% 50%;
    padding-right: 24px;
}

/* Individuální hover odkazu (custom). */
.dcerinne-spolecnosti .vice a:hover {
    text-decoration: none;
    color: var(--button-tertiary-tertiary-bglight-hover, #00DFEA) !important;
    background-image: url("data:image/svg+xml;utf8,<svg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M19.25 2.75H13.75M19.25 2.75L11 11M19.25 2.75V8.25M19.25 11.9167V17.4167C19.25 18.4292 18.4292 19.25 17.4167 19.25H4.58333C3.57081 19.25 2.75 18.4292 2.75 17.4167V4.58333C2.75 3.57081 3.57081 2.75 4.58333 2.75H10.0833' stroke='%2300DFEA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

/* #20 FIX — celosekční hover NESMÍ aktivovat CTA na všech kartách: reset zpět na
   default. Původní custom `.dcerinne-spolecnosti:hover .vice a` (#00DFEA!) tento
   reset vždy přebíjel (stejná specificita 0,3,1, pozdější pořadí) → byl mrtvý,
   při konsolidaci vypuštěn. */
.dcerinne-spolecnosti:hover .vice a {
    color: var(--button-tertiary-tertiary-bglight-default, #008C9D) !important;
    background-image: url("data:image/svg+xml;utf8,<svg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M19.25 2.75H13.75M19.25 2.75L11 11M19.25 2.75V8.25M19.25 11.9167V17.4167C19.25 18.4292 18.4292 19.25 17.4167 19.25H4.58333C3.57081 19.25 2.75 18.4292 2.75 17.4167V4.58333C2.75 3.57081 3.57081 2.75 4.58333 2.75H10.0833' stroke='%23008C9D' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
}

/* …jen skutečně najetá karta má teal CTA (vyšší specificita 0,4,1). */
.dcerinne-spolecnosti .wp-block-column:hover .vice a {
    color: var(--button-tertiary-tertiary-bglight-hover, #00DFEA) !important;
    text-decoration: none;
    background-image: url("data:image/svg+xml;utf8,<svg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M19.25 2.75H13.75M19.25 2.75L11 11M19.25 2.75V8.25M19.25 11.9167V17.4167C19.25 18.4292 18.4292 19.25 17.4167 19.25H4.58333C3.57081 19.25 2.75 18.4292 2.75 17.4167V4.58333C2.75 3.57081 3.57081 2.75 4.58333 2.75H10.0833' stroke='%2300DFEA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
}

/* --- Tablet 768–921.98: 3-sloupcový grid (winner: body.home > .wp-block-columns) --- */
@media (min-width: 768px) and (max-width: 921.98px) {
    body.home .dcerinne-spolecnosti > .wp-block-columns {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.home .dcerinne-spolecnosti > .wp-block-columns > .wp-block-column,
    body.home .dcerinne-spolecnosti > .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        width: auto !important;
        min-width: 0;
        flex-basis: auto !important;
        margin: 0 !important;
    }

    /* Text karty: 16px vodorovný padding (Figma 7079:40687 — txt inset 16px).
       Gutenberg `#main .wp-block-group .wp-block-group{padding:0}` (spec 1,2,0 kvůli
       #main) jinak přebíjí base `.description{padding:16px}` (0,3,0) → nadpis i text
       nalepené na okraj karty. Přebíjíme cíleně přes !important (Gutenberg pravidlo
       není !important, ale ID mu zvyšuje specificitu). */
    body.home .dcerinne-spolecnosti .wp-block-column .description {
        padding: 16px !important;
    }
}


/* ===========================================================================
   HOMEPAGE OVERFLOW GUARDY (body.home) — zabraňují horizontálnímu scrollu
   ---------------------------------------------------------------------------
   Přesunuto z audit-fixes (body.home → hp.css, jen front page, order-independent).
   Celoplošné sekce (reference-box) + slider (logo_slider) + layout wrappery.
   Konsolidace 2026-09-05 (fáze body.home → hp.css).
   =========================================================================== */

/* --- Tablet 768–921.98 --- */
@media (min-width: 768px) and (max-width: 921.98px) {
    body.home .reference-box,
    body.home .reference-box > .wp-block-group__inner-container,
    body.home .logo_slider,
    body.home .logo_slider .owl-stage-outer,
    body.home .logo_slider .track {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
}

/* --- Mobil ≤767.98 --- */
@media (max-width: 767.98px) {
    body.home #page,
    body.home .site,
    body.home .site-content,
    body.home .entry-content {
        max-width: 100%;
        overflow-x: hidden;
    }

    body.home .logo_slider {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.home .logo_slider .track {
        max-width: none !important;
    }
}


/* ===========================================================================
   HOMEPAGE MOBILE SECTION LAYOUT (body.home, ≤767.98)
   ---------------------------------------------------------------------------
   Inner-container guttery + column widths sekcí (skoleni/novinky/reference/
   odbornici/o-nas). Sekce používají jen vnější 16px gutter; starší fixy
   přidávaly navíc 32px vnitřní → karty užší než Figma. Přesunuto z audit-fixes
   (fáze body.home → hp.css, 2026-09-05). Sluzby (rozcestník) a prispevky-carousel
   (owl/A-B) NEpřesunuty — zůstávají v audit-fixes.
   =========================================================================== */
@media (max-width: 767.98px) {
    body.home .skoleni > .wp-block-group__inner-container,
    body.home .novinky > .wp-block-group__inner-container,
    body.home .reference-box > .wp-block-group__inner-container,
    body.home .odbornici > .wp-block-group__inner-container,
    body.home .entry-content > .wp-block-group:has(.o-nas) > .wp-block-group__inner-container {
        width: 100% !important;
        max-width: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.home .o-nas {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.home .o-nas .wp-block-column {
        width: 100% !important;
        max-width: none !important;
        flex-basis: 100% !important;
    }

    body.home .o-nas .wp-block-column:first-child,
    body.home .o-nas .wp-block-column:last-child {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.home .o-nas .wp-block-buttons {
        width: 100% !important;
        margin-top: 24px !important;
    }

    body.home .odbornici > .wp-block-group__inner-container > .wp-block-columns,
    body.home .reference-box > .wp-block-group__inner-container > .wp-block-columns {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.home .skoleni .wp-block-columns,
    body.home .skoleni-grid-wrapper {
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.home .skoleni .wp-block-column,
    body.home .skoleni-grid-item {
        width: 100% !important;
        max-width: none !important;
    }
}

/* --- Tablet 768–921.98: section inner-container guttery (jen vnější gutter) --- */
@media (min-width: 768px) and (max-width: 921.98px) {
    body.home .odbornici > .wp-block-group__inner-container,
    body.home .odbornici > .wp-block-group__inner-container > .wp-block-columns,
    body.home .novinky > .wp-block-group__inner-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* ===========================================================================
   HERO (body.home) — LEGACY fotkové base (dříve varianta A).
   ---------------------------------------------------------------------------
   A/B test hero UKONČEN 2026-09-08 → vyhrála B. Design B je folded na KONCI
   tohoto souboru (přebíjí toto base pořadím = poslední vrstva homepage).
   Tyto base rules jsou pod B z velké části moot/přebité (hero-background je v B
   skryté) → kandidát na dead-code úklid (ne teď, kvůli zachování renderu).
   =========================================================================== */

/* --- Tablet 768–921.98 --- */
@media (min-width: 768px) and (max-width: 921.98px) {
    /* Hero wrapper je wp-block-group → broad rule mu přidá padding 32px.
       Reset: hero musí být full-bleed přes celých 768px. */
    body.home .full-width-hero-wrapper,
    body.home .full-width-hero-wrapper > .wp-block-group__inner-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    body.home .hero-section {
        box-sizing: border-box;
        max-width: none;
        margin: 0;
        padding: 136px 0 0;
    }

    /* 32px gutter pro hero TEXT (claim/p/buttons) — lícuje s obsahem stránky.
       Pozadí `.hero-background` je samostatný full-bleed element (mimo wrapper),
       takže gutter se ho netýká. Dřív 0 → claim nalepený na levý okraj (left:0). */
    body.home .hero-section > .wp-block-group__inner-container {
        padding-left: 32px;
        padding-right: 32px;
    }

    body.home .full-width-hero-wrapper h2 {
        font-size: 56px !important;
    }
}

/* --- Mobil ≤767.98 --- */
@media (max-width: 767.98px) {
    body.home .full-width-hero-wrapper {
        padding: 0 16px !important;
    }

    body.home .full-width-hero-wrapper > .wp-block-group__inner-container {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }

    body.home .hero-section {
        width: 100% !important;
        max-width: none !important;
        min-height: 588px !important;
        margin: 0 auto !important;
        padding: 38px 0 164px !important;
        text-align: center !important;
    }

    body.home .full-width-hero-wrapper h2,
    body.home .full-width-hero-wrapper p,
    body.home .hero-section .wp-block-buttons {
        width: 100% !important;
        max-width: none !important;
        text-align: center !important;
    }

    body.home .full-width-hero-wrapper h2 {
        margin-bottom: 20px !important;
        font-size: 32px !important;
        line-height: 1.2 !important;
        letter-spacing: -0.01em !important;
    }

    body.home .full-width-hero-wrapper p {
        margin-bottom: 28px !important;
        font-size: 18px !important;
        line-height: 1.6 !important;
        font-weight: 450 !important;
    }

    body.home .hero-section .wp-block-buttons {
        justify-content: center !important;
    }

    body.home .hero-section .wp-block-button,
    body.home .hero-section .wp-block-button__link {
        width: 253px !important;
        max-width: 100% !important;
    }

    body.home .hero-background {
        min-height: 760px !important;
        height: 760px !important;
        /* POZN.: background-position ZDE NEnastavujeme (legacy mobilní portrait
           foto varianty A; pod B je hero-background skryté = moot). */
    }
}

/* --- Hero tablet doplňky (fáze hero-2) --- */
/* POZN.: hero-background background-image (--hero-bg-desktop/mobile) je legacy A;
   pod B je hero-background skryté (moot). */
@media (min-width: 768px) and (max-width: 921.98px) {
    /* Výřez fotky pro tablet (pracovník vpravo). */
    body.home .hero-background {
        background-position: 70% 50%;
    }

    body.home .full-width-hero-wrapper h2 {
        max-width: 520px;
        text-align: left;
    }
}

/* ===========================================================================
   CAROUSELS (body.home) — homepage owl overflow/width fixy
   Přesunuto z audit-fixes (#23 tablet + mobil + desktop clip). Konsolidace #6/body.home
   2026-09-07. ⚠ POŘADÍ KRITICKÉ: desktop `owl-stage-outer{overflow-x:clip}` NÍŽE záměrně
   přebíjí mobil/tablet `overflow:hidden` pozicí (oba !important, stejná specificita).
   Proto mobil → tablet → desktop-base POSLEDNÍ (replikuje původní pořadí z auditu).
   =========================================================================== */
@media (max-width: 767.98px) {
    body.home .odbornici-carousel,
    body.home .odbornici-carousel .owl-stage-outer,
    body.home .prispevky-carousel,
    body.home .prispevky-carousel .owl-stage-outer {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.home .odbornici-carousel .owl-stage,
    body.home .prispevky-carousel .owl-stage {
        max-width: none !important;
    }

    body.home .novinky .prispevky-carousel {
        width: 100% !important;
        max-width: none !important;
        overflow: visible !important;
    }

    body.home .novinky .prispevky-carousel .owl-stage-outer {
        width: 100% !important;
        max-width: none !important;
        overflow: visible !important;
    }

    body.home .novinky .prispevky-carousel .owl-item {
        width: 286px !important;
        margin-right: 16px !important;
    }
}

@media (min-width: 768px) and (max-width: 921.98px) {
    body.home .odbornici-carousel,
    body.home .odbornici-carousel .owl-stage-outer,
    body.home .prispevky-carousel,
    body.home .prispevky-carousel .owl-stage-outer,
    body.home .novinky .prispevky-carousel,
    body.home .novinky .prispevky-carousel .owl-stage-outer {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.home .odbornici-carousel .owl-stage,
    body.home .prispevky-carousel .owl-stage,
    body.home .novinky .prispevky-carousel .owl-stage {
        max-width: none !important;
    }
}

/* desktop/base POSLEDNÍ — clip vodorovně (ořez carouselu), svisle visible (stíny karet). */
body.home .odbornici-carousel .owl-stage-outer,
body.home .prispevky-carousel .owl-stage-outer {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

/* Prispevky-carousel section spacing (tablet/mobil 64, desktop 0 = base custom.css).
   Přesun z audit-fixes §9 (2026-09-08, homepage-only — subpage má .prispevky-grid). */
@media (max-width: 921.98px) {
    body.home .prispevky-carousel {
        padding-top: 64px;
        padding-bottom: 64px;
    }
}

/* Rozcestník .sluzby inner-container — full-width bez gutteru (karty používají
   section padding .sluzby). Přesun z audit-fixes §10/§30 (2026-09-08, homepage-only:
   servis .sluzby inner-container nemá). Verbatim = zachovaná kaskáda.
   ⚠ Figma-check: `padding:0 16px` @≤768 dává na PŘESNĚ 768px inner 16px gutter navíc
   ke gutteru sekce → možný dvojitý okraj na iPad-portrait (768). Pod 768 je inner 0. */
@media (max-width: 768px) {
    .sluzby .wp-block-group__inner-container {
        padding: 0 16px;
    }
}

@media (max-width: 767.98px) {
    body.home .sluzby .wp-block-group__inner-container {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }
}


/* ===========================================================================
   HOMEPAGE HERO — design B (A/B test hero_2026_07 UKONČEN 2026-09-08, vyhrála B).
   Přesunuto z původního A/B souboru bez gatingu (gating odstraněn → body.home);
   soubor archivován v css/_old/. Tmavý pruh (světlý vršek → tmavý pruh → O nás) dopočítává
   js/hp.js paintBandB. Poslední vrstva hp.css = přebíjí base jako dřív 10005.
   ========================================================================== */
/* ===========================================================================
   (1) HERO bez horní fotky, nadpis na střed
   ========================================================================== */

/* Fotka na pozadí hero (div.hero-background z header.php) se ve variantě B
   nezobrazuje — tmavé pozadí dodá gradient body.home. */
body.home .hero-background {
	display: none !important;
}

/* .hero-section má v custom.css zarovnání vlevo a min-height 664 (pro fotkovou
   variantu A). V B bez fotky min-height dělá prázdné bílé místo pod textem —
   proto ho rušíme; sekce se stáhne na obsah a dlaždice navazují výš. */
body.home .hero-section {
	max-width: 870px;          /* doladit dle délky nadpisu */
	margin-inline: auto;
	min-height: 0 !important;
	text-align: center;
}

body.home .hero-section .wp-block-buttons {
	justify-content: center;
}


/* ===========================================================================
   (2) "O nás" — celá sekce jako full-bleed pozadí hero.jpg, bílý text vlevo
   ---------------------------------------------------------------------------
   Dle Figma B (3953:41660): tmavá sekce přes celou šířku, tatáž hero.jpg jako
   pozadí (tmavá vlevo, technik vpravo), text (label + nadpis + odrážky + CTA)
   bílý v levé polovině. Žádný vsazený panel.

   DOM:
     .wp-block-group (sekce)                       <- pozadí sem
       > .wp-block-group__inner-container
           > p.label ("O nás")
           > .wp-block-columns.o-nas (nadpis+CTA / odrážky)
   Pozadí musí být na WRAPPERU (obsahuje i label), proto :has(). Full-bleed přes
   ::before s left:calc(50% - 50vw); width:100vw a z-index:-1 (za text). */

body.home .wp-block-group:has(> .wp-block-group__inner-container > .o-nas) {
	position: relative;
	isolation: isolate;
	padding: 64px 0;
}

body.home .wp-block-group:has(> .wp-block-group__inner-container > .o-nas)::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	background: var(--background-dark, #022930) url(../img/hero.webp) right center / cover no-repeat;
	z-index: -1;
}

/* Text do levé poloviny, ať vpravo zůstane vidět technik. */
body.home .wp-block-group:has(> .wp-block-group__inner-container > .o-nas) > .wp-block-group__inner-container {
	padding-right: 50%;        /* doladit */
}

/* Bílý text (v A je tmavý). Zaškrtávátka odrážek zůstávají teal. */
body.home .wp-block-group:has(.o-nas) :is(.label, h1, h2, h3, h4, p, li, a, span) {
	color: #fff !important;
}

/* Sloupce pod sebe v levé polovině (WP core nad 782px vynucuje flex-wrap:nowrap,
   proto blok, ne wrap). */
body.home .o-nas {
	display: block !important;
	padding-right: 0 !important;
}

body.home .o-nas > .wp-block-column:first-child,
body.home .o-nas > .wp-block-column:last-child {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: auto !important;
}

body.home .o-nas > .wp-block-column:first-child {
	margin-bottom: 16px;
}


/* ===========================================================================
   MOBIL (≤767px) — dle Figma B (frame 3953:38632)
     - hero bez fotky → stáhnout, ať dlaždice navazují hned pod CTA,
     - "O nás": text přes celou šířku, pozadí (fotka) zůstává za textem.
   ========================================================================== */
@media (max-width: 767.98px) {
	/* audit-fixes.css má "body.home .hero-section { padding: 38px 0 164px !important }"
	   pro mobil — proto tu musí být také !important, jinak se stažení neprojeví. */
	body.home .hero-section {
		min-height: 0 !important;
		padding-bottom: 48px !important;   /* doladit */
	}

	/* Text přes celou šířku; pozadí sekce (technik) prosvítá za textem. */
	body.home .wp-block-group:has(> .wp-block-group__inner-container > .o-nas) > .wp-block-group__inner-container {
		padding-right: 0;
	}

	/* Výřez pozadí na mobilu posunout, ať je technik čitelný i za textem. */
	body.home .wp-block-group:has(> .wp-block-group__inner-container > .o-nas)::before {
		background-position: 70% center;   /* doladit */
	}
}


/* ===========================================================================
   (3) Varianta B — svetly vrsek + tmavy pruh (dlazdice -> O nas)
   ---------------------------------------------------------------------------
   Figma B: hero na bilem, nadpis tmave (#022930). Tmavy pruh zacina ~1/3 dolu
   pres dlazdice a pokracuje do O-nas. Presne stopy pruhu pocita js/hp.js
   (potrebuje realne pozice dlazdic a O-nas), tady jen bily default proti probliknuti.
   ========================================================================== */
body.home {
	background-image: none !important;
	background-color: var(--background-primary, #F7F7F7) !important;
}

/* Hero text tmavy (v A je bily na fotce). */
body.home .hero-section h2,
body.home .hero-section .wp-block-heading,
body.home .hero-section p {
	color: var(--text-positive-primary, #022930) !important;
}

body.home .hero-section .wp-block-button__link {
	color: var(--text-positive-primary, #022930) !important;
	border-color: rgba(2, 41, 48, .2) !important;
}

/* Nav na bilem: tmave logo + odkazy + svetle hledani (jako solid stav). */
body.home #masthead:not(.scrolled) .custom-logo-link {
	background-image: url(../img/logo-gamin-modre.svg) !important;
}

body.home #masthead:not(.scrolled) .main-header-menu > .menu-item > a,
body.home #masthead:not(.scrolled) .main-header-menu .menu-link {
	color: var(--text-positive-primary, #022930) !important;
}

body.home #masthead:not(.scrolled) .gamin-search-input {
	/* background-color (NE shorthand) — shorthand by smazal background-image (lupu).
	   Na homepage je lupa bílá (ikona-lupa-bila) kvůli tmavému heru; na světlém B
	   pozadí musí být modrá, jinak je neviditelná. */
	background-color: var(--background-secondary, #EEEEEF) !important;
	background-image: url(../img/ikona-lupa-modra.svg) !important;
	color: var(--text-positive-secondary, #52525B) !important;
}

/* Mobilní hamburger (ikona menu) na variantě B je tmavý — světlá homepage lišta.
   Var A má tmavý hero, tam bílá ikona zůstává (proto scoped na B).
   POZOR: čáry hamburgeru jsou kreslené `stroke="white"` (ne fill!), takže se
   musí přebít STROKE, ne fill — jinak zůstanou bílé a na světlé liště zmizí.
   Míří jen na .ast-menu-svg (zavřený stav); zavírací X (.ast-close-svg) má tmavý
   stroke sám. */
body.home .mobile-menu-toggle-icon .ast-menu-svg,
body.home .mobile-menu-toggle-icon .ast-menu-svg path {
	fill: var(--icon-positive, #022930) !important;
	stroke: var(--icon-positive, #022930) !important;
}

/* Popisek „Menu" (::before pseudo) je v navigation.css bílý (#FFFFFF) →
   na světlé liště varianty B neviditelný. Přebít na tmavou. */
body.home [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon::before {
	color: var(--text-positive-primary, #022930) !important;
}

/* Variant B: tlačítko „Zrušit" u rozbaleného vyhledávání je tmavé — na světlé
   liště bylo bílé (neviditelné). Var A má tmavý hero, tam bílá zůstává. */
body.home .gamin-search-cancel {
	color: var(--text-positive-primary, #022930) !important;
}

/* Tablet (768–921) varianta B: search v #gamin-tablet-search má být totožný
   s mobilem (Figma 7168:47040) — jednolité šedé pole #EEEEEF odsazené na šedé
   liště, tmavá lupa/text/placeholder. Dark-hero styl mu dával teal pozadí
   (rgba 87,126,133) a bílý text. Kontejner potřebuje `body.home` navíc, aby
   přebil rovně specifické `body.home #gamin-tablet-search …` s teal pozadím. */
@media (min-width: 768px) and (max-width: 921.98px) {
	/* Klid: šedé pole = celý input-container („Zrušit" je skryté). */
	body.home #gamin-tablet-search .gamin-search-container:not(.is-expanded) .gamin-search-input-container {
		background: var(--background-secondary, #EEEEEF) !important;
		border: 0 !important;
	}

	/* Rozbaleno: „Zrušit" je uvnitř input-containeru → šeď NESMÍ být na containeru,
	   jinak „Zrušit" leží na šedé ploše. Šeď proto nese jen INPUT, container je
	   průhledný (bílý panel) → „Zrušit" sedí na bílé. */
	body.home #gamin-tablet-search .gamin-search-container.is-expanded .gamin-search-input-container {
		background: transparent !important;
		border: 0 !important;
	}
	body.home #gamin-tablet-search .gamin-search-container.is-expanded input.gamin-search-input[type="search"] {
		background: var(--background-secondary, #EEEEEF) !important;
		border-radius: 12px !important;
	}

	body.home #gamin-tablet-search input.gamin-search-input[type="search"] {
		color: var(--text-positive-primary, #022930) !important;
	}

	body.home #gamin-tablet-search input.gamin-search-input[type="search"]::placeholder {
		color: var(--text-negative-dummy, #A1A1AA) !important;
	}
}


/* ===========================================================================
   ROZCESTNÍK (homepage .sluzby) — horizontální karty (grid ikona|text|šipka).
   Přesunuto z css/rozcestnik-test.css (2026-09-08); soubor + enqueue odstraněn.
   `!important` zatím zachováno (přebíjí staré .sluzby v sluzby.css/audit/custom —
   ty jsou na homepage mrtvé, ale .sluzby na /servis/ je stále používá → čeká na
   samostatný úklid dual-kontextu). body.home scoping = jen homepage.
   ========================================================================== */

/* --- Mřížka sekce: uniformní 3 sloupce (přebíjí 3+zbytek z sluzby.css) --- */
body.home .sluzby .wp-block-columns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    align-items: stretch !important;
    /* Vystředí neúplný poslední řádek (např. 7. karta samotná).
       Plné řádky (3 karty = 100 %) nemají volné místo, takže je to neovlivní. */
    justify-content: center !important;
}

body.home .sluzby .wp-block-columns > .wp-block-column {
    /* 3 na řádek: 3 × (100%-48px)/3 + 2 × 24px gap = 100% */
    flex: 0 0 calc((100% - 48px) / 3) !important;
    max-width: calc((100% - 48px) / 3) !important;
    margin: 0 !important;

    /* Karta */
    position: relative;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-content: start;
    column-gap: 16px;
    row-gap: 4px;
    padding: 24px !important;
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 16px rgba(2, 41, 48, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 192px;   /* fold z audit-fixes #2334 (desktop/tablet), konsolidace 2026-09-08 */
}

body.home .sluzby .wp-block-columns > .wp-block-column:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(2, 41, 48, 0.12);
}

/* --- Ikona (sloupec 1, přes obě řady, nahoře). Dle Figmy BEZ boxu, jen
   samotná ikona #008C9D, větší (56px). --- */
body.home .sluzby .wp-block-column > figure {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
    width: 56px;
    height: 56px;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Odkaz uvnitř figure (část karet má <figure><a><img>): roztáhni a vycentruj
   obrázek. Bez toho je <a> vyšší (72px) a ikona sedí vlevo nahoře. */
body.home .sluzby .wp-block-column > figure a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

body.home .sluzby .wp-block-column > figure img {
    display: block;
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    object-fit: contain;
}

/* --- Nadpis (sloupec 2, řádek 1). min-height:0 přebíjí inline z equalize JS --- */
body.home .sluzby .wp-block-column > h4 {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    min-height: 0 !important;
    align-self: start;
    font-size: 20px;
    font-weight: 650;
    line-height: 1.2;
}

body.home .sluzby .wp-block-column > h4 a {
    color: #022930 !important;
    text-decoration: none !important;
    /* static (přebíjí position:relative ze staré sluzby): 1) skrytá stará šipka
       níže se tím zbaví kotvy, 2) stretched-link ::before pak pokryje celou
       kartu, ne jen nadpis. */
    position: static !important;
}

/* Skryj původní šipku staré karty (h4 a::after) — používáme vlastní ↗ vpravo. */
body.home .sluzby .wp-block-column > h4 a::after {
    display: none !important;
    content: none !important;
}

/* --- Popis (sloupec 2, řádek 2). Prázdné odstavce (např. Recyklace) skryj --- */
body.home .sluzby .wp-block-column > p {
    grid-column: 2;
    grid-row: 2;
    margin: 0 !important;
    align-self: start;
    color: #52525B;
    font-size: 16px;
    line-height: 1.6;
}

body.home .sluzby .wp-block-column > p:empty {
    display: none !important;
}

/* --- Šipka ↗ (sloupec 3, přes obě řady, svisle na střed) --- */
/* Šipka ↗ — dle Figmy teal (#008C9D) a svisle dole u textu (pod nadpisem),
   ne nahoře. Sloupec 3, přes obě řady, zarovnaná na spodek textového bloku. */
body.home .sluzby .wp-block-column::after {
    content: "";
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: end;
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M7 17L17 7M9 7H17V15' stroke='%23008C9D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / contain no-repeat;
    transition: transform 0.2s ease;
}

body.home .sluzby .wp-block-column:hover::after {
    transform: translate(2px, -2px);
    opacity: 1;
}

/* --- Klikatelná celá karta: stretched link přes nadpisový odkaz --- */
body.home .sluzby .wp-block-column > h4 a::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 20px;
}

/* ==========================================================================
   Responzivně
   ========================================================================== */

/* Tablet: 2 na řádek */
@media (max-width: 921px) {
    body.home .sluzby .wp-block-columns > .wp-block-column {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
    }
}

/* Mobil: 1 na řádek */
@media (max-width: 600px) {
    body.home .sluzby .wp-block-columns > .wp-block-column {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Mobil ≤767.98 — fold z audit-fixes (#1426 min-height, #1435 typografie), konsolidace
   2026-09-08. ⚠ POZOR: font-size 22px platí i pro <p> popis (nejen nadpis) — vypadá jako
   pre-existing bug (Figma card popis = spíš 16px); PONECHÁNO beze změny (preserve-render),
   ověřit ve Figmě a případně opravit samostatně. */
@media (max-width: 767.98px) {
    /* Reset generického content gutteru (#main .wp-block-columns padding 0 16) na
       .sluzby columns — fold z audit-fixes #1417 (jinak karty na mobilu -32px). */
    body.home .sluzby .wp-block-columns {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.home .sluzby .wp-block-columns > .wp-block-column {
        min-height: 144px;
    }

    body.home .sluzby .wp-block-column h3,
    body.home .sluzby .wp-block-column h4,
    body.home .sluzby .wp-block-column p {
        font-size: 22px;
        line-height: 1.2;
        letter-spacing: -0.01em;
    }
}
