﻿/* =========================================================
   SAK LOŽISKA – CLEAN CSS (bez duplicit, bez přepisů dokola)
   ========================================================= */
:root {
    --sak-ink: #0f172a;
    --sak-muted: #475569;
    --sak-soft: #64748b;
    --sak-border: #e2e8f0;
    --sak-border-soft: #eef2f7;
    --sak-bg: #ffffff;
    --sak-bg-soft: #f8fafc;
    --sak-section-alt: #f5f7fb;
    --sak-brand: #0055cc;
    --sak-brand-dark: #003f99;
    --radius-sm: 14px;
    --radius-md: 20px;
    --radius-lg: 24px;
    --shadow-sm: 0 10px 26px rgba(15,23,42,.06);
    --shadow-md: 0 14px 40px rgba(15,23,42,.10);
    --shadow-lg: 0 24px 65px rgba(15,23,42,.22);
}


:root {
    --fs-base: 17px;
    --lh-base: 1.55rem;
    --lh-more: 1.7rem;
    /* menší UI */
    --fs-menu-xs: 0.96rem;
    --fs-menu: 1.06rem;
    --fs-btn: .90rem;
    --btn-nav-padding: .35rem;
    /* obsah webu */
    --fs-3xs: .72rem;
    --fs-xxs: .92rem;
    --fs-xs: 1.02rem;
    --fs-sm: 1.10rem;
    --fs-md: 1.15rem;
    --fs-lg: 1.18rem;
    --fs-xl: 1.30rem;
    --fs-2xl: 1.52rem;
    --fs-3xl: 2.45rem;
    /* hero only */
    --hero-pill-fs: .92rem;
    --hero-title-fs: clamp(3rem, 4.2vw, 4.3rem);
    --hero-title-lh: 1.06;
    --hero-lead-fs: 1.12rem;
    --hero-brands-fs: .98rem;
    --hero-search-fs: 1rem;
    --hero-search-btn-fs: .98rem;
    --hero-btn-fs: 1rem;
    --hero-metric-value-fs: 1.65rem;
    --hero-metric-label-fs: .98rem;
}

@media (max-width: 767px) {
    :root {
        /* spacing */
        --mobile-side-pad: var(--fs-xs);
        --mobile-gap: var(--fs-sm);
        --mobile-card-pad: var(--fs-sm);
        /* unified typography */
        --mobile-eyebrow-fs: var(--fs-xxs);
        --mobile-title-fs: var(--fs-2xl);
        --mobile-title-lg: 2rem;
        --mobile-title-lh: 1.08;
        --mobile-sub-fs: var(--fs-xs);
        --mobile-text-fs: var(--fs-xs);
        --mobile-small-fs: var(--fs-xxs);
        --mobile-btn-fs: var(--fs-xs);
        /* heights */
        --mobile-btn-h: calc(var(--fs-3xl) * .84);
    }
}

    /* RESET ---------------------------------------------------*/
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        font-family: system-ui,-apple-system,Segoe UI,sans-serif;
        color: var(--sak-ink);
        background: var(--sak-bg);
        line-height: 1.5;
    }

    img {
        max-width: 100%;
        display: block;
    }

    main {
        padding-bottom: 2rem;
        background: #f8fafc;
    }
    /* LAYOUT --------------------------------------------------*/
    .container {
        width: 100%;
        max-width: 1350px;
        margin: 0 auto;
        padding: 0 2rem;
    }



    /*new*/
    html, body {
        width: 100%;
        max-width: 100%;
        overflow-x: clip; /* moderní a lepší než hidden */
    }

    @supports not (overflow-x: clip) {
        html, body {
            overflow-x: hidden;
        }
    }

    /* vše počítat do šířky včetně paddingu/borderu */
    *, *::before, *::after {
        box-sizing: border-box;
    }

    /* obrázky a svg nikdy nepřetékají */
    img, svg, video, canvas {
        max-width: 100%;
        height: auto;
    }


    /*adv*/

    .mobile-drawer,
    .mobile-drawer__panel,
    .mobile-drawer__content {
        max-width: 100%;
    }

        .mobile-drawer__content a,
        .mobile-drawer__content button {
            min-width: 0;
            overflow-wrap: anywhere; /* dlouhé texty/URL se zalomí */
            word-break: break-word;
        }



    /*end new*/




    /* LINKS ---------------------------------------------------*/
    .link {
        color: var(--sak-brand);
        text-decoration: none;
        font-weight: 700;
    }

        .link:hover {
            text-decoration: underline;
        }

    /* BUTTONS -------------------------------------------------*/
    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .4rem;
        border-radius: 999px;
        font-size: var(--fs-sm);
        font-weight: 650;
        padding: .85rem 1.7rem;
        text-decoration: none;
        border: 2px solid transparent;
        cursor: pointer;
        background: transparent;
    }

    .btn-primary {
        background: var(--sak-brand);
        color: #fff;
        border-color: var(--sak-brand);
    }

        .btn-primary:hover {
            background: var(--sak-brand-dark);
            border-color: var(--sak-brand-dark);
        }

    .btn-outline {
        background: var(--sak-bg);
        color: var(--sak-brand);
        border-color: #cbd5f5;
    }

        .btn-outline:hover {
            background: var(--sak-brand);
            color: #fff;
            border-color: var(--sak-brand);
        }

    .btn-sm {
        padding: .45rem .7rem;
        font-size: var(--fs-btn);
    }

    /* Header small buttons */
    .btn-small {
        padding: .45rem 1rem;
        border-radius: 999px;
        border: 1px solid var(--sak-brand);
        color: var(--sak-brand);
        font-weight: 650;
        text-decoration: none;
        font-size: var(--fs-btn);
        display: inline-flex;
        align-items: center;
        gap: .45rem;
    }

        .btn-small:hover {
            background: var(--sak-brand);
            color: #fff;
        }

    .btn-phone .phone-ico {
        width: 16px;
        height: 16px;
    }

    .phone-label {
        opacity: .85;
        font-size: .92rem;
    }

    /* HEADER --------------------------------------------------*/


    /* =========================================================
   NAV + HEADER (CLEAN)
   - sjednocené, bez duplicit
   - režimy pouze přes: html[data-hero="dark"] / html[data-hero="light"]
   ========================================================= */

    :root {
        --header-h: 86px; /* případně uprav */
        --nav-font: "Space Grotesk",system-ui,-apple-system,Segoe UI,sans-serif;
    }

    .section-heading-eyebrow[id] {
        scroll-margin-top: calc(var(--header-h) + 12px);
    }

    /* =========================
   NAV (signature menu)
   ========================= */
    .nav {
        display: flex;
        align-items: center;
        gap: .8rem;
        flex-wrap: wrap;
        font-family: var(--nav-font);
    }

    .nav-group {
        display: flex;
        align-items: center;
        gap: .4rem;
        flex-wrap: wrap;
    }

    .nav-sep {
        width: 1px;
        height: 28px;
        background: rgba(15,23,42,.14);
        margin: 0 .25rem;
        border-radius: 999px;
    }

    /* link */
    .nav-link {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        padding: .65rem 0.65rem;
        border-radius: 999px;
        text-decoration: none;
        color: #0f172a;
        background: transparent;
        border: 1px solid transparent;
        font-weight: 650;
        font-size: var(--fs-menu);
        line-height: 1;
        transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
        position: relative;
    }

        .nav-link .nav-ico {
            width: 16px;
            height: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            color: rgba(15,23,42,.65);
        }

            .nav-link .nav-ico svg {
                width: 16px;
                height: 16px;
            }

        .nav-link:hover {
            background: #eef4ff;
            border-color: rgba(0,85,204,.18);
            transform: translateY(-1px);
        }

            .nav-link:hover .nav-ico {
                color: rgba(0,85,204,.9);
            }

        .nav-link.is-active {
            background: #eaf0ff;
            border-color: rgba(0,85,204,.28);
            color: var(--sak-brand);
        }

            .nav-link.is-active .nav-ico {
                color: var(--sak-brand);
            }

    .nav-link--secondary {
        font-weight: 600;
        opacity: .92;
    }

    /* remove older underline effect if any */
    .nav a::after {
        display: none !important;
    }

    /* dropdown base */
    .nav-dd {
        position: relative;
    }

    .nav-dd__menu {
        z-index: 100;
    }

    /* =========================
   HEADER base (light default)
   ========================= */
    .site-header {
        width: 100%;
        position: sticky;
        top: 0;
        z-index: 30;
        background: rgba(255,255,255,.55);
        border-bottom: 1px solid rgba(15,23,42,.08);
        backdrop-filter: blur(10px);
        transition: background .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease;
        will-change: background, box-shadow;
    }

    .header-shell {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        gap: var(--fs-xl);
        width: 100%;
        padding: .5rem 1rem; /* okraje viewportu */
    }

    /* logo */
    /*.header-logo img {
    height: 70px;
}*/

    .header-logo img {
        display: block;
        height: 80px;
        transition: height .25s ease;
    }

    .site-header.is-scrolled .header-logo img {
        height: 70px;
    }





    /* střed (zarovnání na content) */
    .header-navwrap {
        min-width: 0;
    }

        .header-navwrap > .container {
            padding-left: 2rem;
            padding-right: 2rem;
        }

    /* CTA vpravo – JEDINÁ definice */
    .header-cta {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        flex-wrap: nowrap; /* drž na jednom řádku */
    }

    /* scroll stav na light */
    html[data-hero="light"] .site-header.is-scrolled {
        background: rgba(255,255,255,.55);
        box-shadow: 0 4px 20px rgba(0,0,0,.08);
        border-bottom-color: rgba(15,23,42,.10);
    }

    /* =========================
   LANGUAGE dropdown (clean)
   ========================= */
    .header-lang {
        position: relative;
        flex: 0 0 auto;
    }

    .lang-btn {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
    }

    .lang-flag-img {
        width: 18px;
        height: 18px;
        border-radius: 999px;
        display: inline-block;
        flex: 0 0 auto;
        box-shadow: 0 0 0 1px rgba(15,23,42,.08);
    }

    .lang-code {
        font-weight: 750;
        font-size: var(--fs-btn);
        letter-spacing: .02em;
        opacity: .9;
    }

    .lang-menu {
        min-width: 170px;
    }

        .lang-menu .lang-item {
            display: flex;
            align-items: center;
            gap: .55rem;
            text-decoration: none;
            color: var(--sak-ink);
            font-weight: 650;
            border: 1px solid transparent;
        }

    /* =========================
   DARK header when hero is dark
   - opravuje barvy a "Domů" pill
   ========================= */
    html[data-hero="dark"] .site-header {
        background: rgba(11,18,32,.28); /* transparentní, ale čitelné */
        border-bottom-color: rgba(255,255,255,.12);
        color: #fff;
    }

        html[data-hero="dark"] .site-header.is-scrolled {
            background: rgba(11,18,32,.72);
            box-shadow: 0 10px 30px rgba(0,0,0,.22);
            border-bottom-color: rgba(255,255,255,.14);
        }

    /* logo invert */
    html[data-hero="dark"] .header-logo img {
        filter: brightness(0) invert(1);
    }

    /* separator v dark */
    html[data-hero="dark"] .nav-sep {
        background: rgba(255,255,255,.18);
    }

    /* NAV linky v dark – důležitá specifičnost kvůli "Domů" */
    html[data-hero="dark"] .site-header .nav .nav-link,
    html[data-hero="dark"] .site-header .nav .nav-dd__toggle {
        color: rgba(255,255,255,.92);
        background: transparent;
        border-color: transparent;
    }

        html[data-hero="dark"] .site-header .nav .nav-link .nav-ico,
        html[data-hero="dark"] .site-header .nav .nav-dd__toggle .nav-ico {
            color: rgba(255,255,255,.78);
        }

        html[data-hero="dark"] .site-header .nav .nav-link:hover,
        html[data-hero="dark"] .site-header .nav .nav-dd__toggle:hover {
            background: rgba(255,255,255,.10);
            border-color: rgba(255,255,255,.14);
            color: #fff;
        }

            html[data-hero="dark"] .site-header .nav .nav-link:hover .nav-ico,
            html[data-hero="dark"] .site-header .nav .nav-dd__toggle:hover .nav-ico {
                color: #fff;
            }

        /* active + otevřený dropdown */
        html[data-hero="dark"] .site-header .nav .nav-link.is-active,
        html[data-hero="dark"] .site-header .nav .nav-dd__toggle.is-active,
        html[data-hero="dark"] .site-header .nav .nav-dd__toggle[aria-expanded="true"] {
            background: rgba(255,255,255,.14);
            border-color: rgba(255,255,255,.18);
            color: #fff;
        }

    /* pojistka proti “modrému pill” (Domů) z jiných stylů */
    html[data-hero="dark"] .site-header .nav .nav-dd > .nav-dd__toggle {
        background: transparent !important;
        box-shadow: none !important;
    }

    /* dropdown menu v dark */
    html[data-hero="dark"] .nav-dd__menu {
        background: rgba(17,24,39,.92);
        border: 1px solid rgba(255,255,255,.12);
        color: #fff;
    }

    html[data-hero="dark"] .nav-dd__item:hover {
        background: rgba(255,255,255,.08);
    }

    /* malé CTA v dark */
    html[data-hero="dark"] .btn-small {
        border-color: rgba(255,255,255,.18);
        background: rgba(255,255,255,.08);
        color: #fff;
    }

        html[data-hero="dark"] .btn-small:hover {
            background: rgba(255,255,255,.14);
        }

        html[data-hero="dark"] .btn-small.eshop {
            background: #0b5bd3;
            border-color: transparent;
            color: #fff;
        }

    html[data-hero="dark"] .lang-btn {
        border-color: rgba(255,255,255,.18);
        background: rgba(255,255,255,.08);
    }

    /* =========================
   HERO offset pod header (jen dark)
   - aby header overlay dával smysl hned
   ========================= */
    /*html[data-hero="dark"] .hero.hero--dark {
    margin-top: calc(var(--header-h) * -1);
    padding-top: calc(6.2rem + var(--header-h));
    position: relative;
    z-index: 1;
}*/

    .hero.hero--dark {
        position: relative;
        overflow: hidden;
        margin-top: calc(var(--header-h) * -1);
        padding: calc(6.2rem + var(--header-h)) 0 3.2rem;
        z-index: 1;
        background: radial-gradient(1200px 700px at 20% 20%, rgba(59,130,246,.18), transparent 60%), linear-gradient(180deg, #0b1220 0%, #0a1020 45%, #0b1220 100%);
    }

        .hero.hero--dark.main {
            min-height: 100vh;
            display: flex;
            align-items: center;
        }

    /* =========================================================
   SUBMENU – DARK HERO MODE
   ========================================================= */

    html[data-hero="dark"] .nav-dd__menu {
        background: rgba(17, 24, 39, .96); /* tmavý, ale ne černý */
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 20px 40px rgba(0,0,0,.45);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    /* položky */
    html[data-hero="dark"] .nav-dd__item {
        color: rgba(255,255,255,.92);
        transition: background .18s ease, color .18s ease;
    }

    /* nadpis položky */
    html[data-hero="dark"] .nav-dd__title {
        color: #fff;
    }

    /* případný popis */
    html[data-hero="dark"] .nav-dd__desc {
        color: rgba(255,255,255,.65);
    }

    /* hover efekt */
    html[data-hero="dark"] .nav-dd__item:hover {
        background: rgba(255,255,255,.08);
        color: #fff;
    }

    /* footer odkaz dole */
    html[data-hero="dark"] .nav-dd__footer {
        border-top: 1px solid rgba(255,255,255,.08);
    }

    html[data-hero="dark"] .nav-dd__more {
        color: rgba(255,255,255,.85);
    }

        html[data-hero="dark"] .nav-dd__more:hover {
            color: #fff;
        }


    /* =========================================================
   LANGUAGE MENU – DARK HERO MODE
   ========================================================= */

    html[data-hero="dark"] .nav-dd__menu.lang-menu {
        background: rgba(17, 24, 39, .96);
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 20px 40px rgba(0,0,0,.45);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    /* položky v lang menu */
    html[data-hero="dark"] .lang-menu .lang-item {
        color: rgba(255,255,255,.92);
        border: 1px solid transparent; /* ať ti zůstane layout stejnej */
        transition: background .18s ease, color .18s ease, border-color .18s ease;
    }

        /* hover */
        html[data-hero="dark"] .lang-menu .lang-item:hover {
            background: rgba(255,255,255,.08);
            color: #fff;
            border-color: rgba(255,255,255,.10);
        }

    /* aby se vlaječky "neztratily" na tmavém podkladu */
    html[data-hero="dark"] .lang-menu .lang-flag-img {
        box-shadow: 0 0 0 1px rgba(255,255,255,.18);
    }


    /* =========================
   RESPONSIVE
   ========================= */
    @media (max-width:1024px) {
        .header-shell {
            grid-template-columns: 1fr;
            gap: .75rem;
            padding: .6rem 1rem;
        }

        .header-logo {
            justify-self: center;
        }

        .header-cta {
            justify-content: center;
        }

        .header-navwrap > .container {
            padding: 0 var(--fs-xl);
        }

        .nav {
            justify-content: center;
        }

        .nav-sep {
            display: none;
        }

        .nav-group {
            justify-content: center;
        }
    }

    /* =========================
   Typografie + metriky (čitelnost)
   ========================= */
    body {
        font-size: var(--fs-base);
        line-height: var(--lh-base);
    }

    .hero .hero-lead {
        font-size: var(--fs-lg);
        line-height: 1.6;
    }

    .hero .hero-brands {
        font-size: .98rem;
        opacity: .92;
    }

    /* metriky podklad */
    .hero .hero-metrics {
        display: flex;
        justify-content: flex-end;
    }

    .hero .metrics {
        padding: .85rem 1.85rem;
        border-radius: 999px;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    html[data-hero="dark"] .hero .metrics {
        background: rgba(255,255,255,.14);
        border: 1px solid rgba(255,255,255,.18);
    }

    html[data-hero="light"] .hero .metrics {
        background: rgba(15,23,42,.06);
        border: 1px solid rgba(15,23,42,.10);
    }

    .hero .metric strong {
        font-size: var(--fs-xl);
    }

    .hero .metric span {
        font-size: .92rem;
        opacity: .92;
    }


    /* SECTION FRAME ------------------------------------------*/
    .section {
        display: flex;
        align-items: center;
        padding: 5rem 0;
    }

    .section--alt {
        background: var(--sak-section-alt);
    }

    .section-heading-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: .55rem;
        font-size: var(--fs-btn);
        text-transform: uppercase;
        letter-spacing: .12em;
        font-weight: 800;
        color: #334155;
        margin-bottom: .7rem;
        padding-top: 1rem;
    }

        .section-heading-eyebrow::before {
            content: "";
            width: 10px;
            height: 10px;
            border-radius: 999px;
            background: rgba(0,85,204,.55);
            box-shadow: 0 0 0 4px rgba(0,85,204,.10);
        }


        .section-heading-eyebrow.dark {
            display: inline-flex;
            align-items: center;
            gap: .55rem;
            font-size: var(--fs-btn);
            text-transform: uppercase;
            letter-spacing: .12em;
            font-weight: 700;
            color: #cbd5e1; /* světle šedá/modrá pro tmavé pozadí */
            margin-bottom: .7rem;
            padding-top: 1rem;
        }

            .section-heading-eyebrow.dark::before {
                content: "";
                width: 10px;
                height: 10px;
                border-radius: 999px;
                background: #3b82f6; /* čistá modrá */
                box-shadow: 0 0 0 4px rgba(59,130,246,.25); /* jemný glow efekt */
            }





    .section-heading-title {
        font-size: 2.4rem;
        font-weight: 850;
        line-height: 1.15;
        margin-bottom: .75rem;
    }

        .section-heading-title span {
            color: var(--sak-brand);
        }

    .section-heading-sub {
        font-size: var(--fs-sm);
        max-width: 720px;
        color: #4b5563;
        line-height: 1.8rem;
    }


    /* HERO ----------------------------------------------------*/
    .hero {
        position: relative;
        overflow: hidden;
        padding: 6rem 0 5rem;
        background: radial-gradient(circle at 0 0,#e6f0ff 0%,#fff 45%,#f5f7fb 100%);
    }

        .hero::after {
            content: "";
            position: absolute;
            z-index: 1;
            pointer-events: none;
            width: 980px;
            height: 980px;
            right: -140px;
            top: 50%;
            transform: translateY(-44%);
            background: url("/images/hero-bearing.png") no-repeat center / contain;
            opacity: .22;
            filter: saturate(.95) contrast(.95);
        }




        .hero > .container {
            position: relative;
            z-index: 2;
        }

    .hero-inner {
        display: block;
        padding: 3rem 0;
    }

    .hero-left, .hero-bottom-row {
        max-width: 1260px;
    }

    .hero-badges {
        display: flex;
        flex-wrap: wrap;
        gap: .6rem;
        margin-bottom: 1.2rem;
    }

    .top-pill, .hero-badge {
        font-size: .8rem;
        padding: .35rem var(--fs-btn);
        border-radius: 999px;
        background: var(--sak-bg);
        border: 1px solid #c7d4f5;
        color: #1e293b;
        font-weight: 550;
    }

        .top-pill strong {
            color: var(--sak-brand);
        }

    .hero-title {
        font-size: 3.2rem;
        font-weight: 850;
        line-height: 1.1;
        margin-bottom: 1rem;
    }

        .hero-title span {
            color: var(--sak-brand);
        }

    .hero-lead {
        font-size: var(--fs-lg);
        color: var(--sak-muted);
        max-width: 640px;
        margin-bottom: var(--fs-btn);
    }

    .hero-brands {
        font-size: var(--fs-btn);
        color: var(--sak-soft);
        margin-bottom: 1.6rem;
    }

    /* search bar */
    .search-bar {
        width: 100%;
        background: var(--sak-bg);
        border: 2px solid #cfd7e8;
        border-radius: 999px;
        padding: var(--fs-btn) 1.4rem;
        display: flex;
        gap: 1rem;
        box-shadow: 0 18px 45px rgba(15,23,42,.12);
        margin-bottom: 1.4rem;
        position: relative;
        z-index: 3; /* nad hero ložiskem */
    }

        .search-bar input {
            flex: 1;
            border: none;
            font-size: 1rem;
            outline: none;
            color: var(--sak-ink);
        }

        .search-bar button {
            padding: .7rem 1.6rem;
            font-size: var(--fs-sm);
            background: var(--sak-brand);
            color: #fff;
            border-radius: 999px;
            border: none;
            cursor: pointer;
            font-weight: 650;
        }

            .search-bar button:hover {
                background: var(--sak-brand-dark);
            }

    .hero-bottom-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 2.5rem;
    }

    .hero-cta-group {
        display: flex;
        flex-direction: column;
        gap: .7rem;
        min-width: 230px;
    }

    .hero-metrics {
        flex: 1;
    }

    .metrics {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 2.2rem;
        align-items: flex-start;
    }

    .metric {
        position: relative;
        font-size: var(--fs-btn);
        color: #4b5563;
        padding-left: 1.6rem;
    }

        .metric:first-child {
            padding-left: 0;
        }

        .metric:not(:first-child)::before {
            content: "";
            position: absolute;
            left: 0;
            top: .2rem;
            bottom: .2rem;
            width: 1px;
            background: var(--sak-border);
        }

        .metric strong {
            font-size: 1.45rem;
            display: block;
            font-weight: 850;
            color: var(--sak-ink);
        }

    .hero-badge, .top-pill, .btn {
        font-size: var(--fs-badge);
    }


    /***********************************************
        HERO DARK
    */

    /* HERO ----------------------------------------------------*/
    .hero.hero--dark {
        position: relative;
        overflow: hidden;
        padding: 6.2rem 0 5.2rem;
        /* fallback základ */
        background: radial-gradient(1200px 700px at 20% 20%, rgba(59,130,246,.18), transparent 60%), linear-gradient(180deg, #0b1220 0%, #0a1020 45%, #0b1220 100%);
    }

        /* Fullwidth background image (hero-banner.jpg) */
        .hero.hero--dark::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            background:
            /* čitelnost textu – tmavý overlay zleva */
            linear-gradient(90deg, rgba(11,18,32,.92) 0%, rgba(11,18,32,.72) 45%, rgba(11,18,32,.35) 68%, rgba(11,18,32,.18) 100%),
            /* jemný “spotlight” pro prémiový feeling */
            radial-gradient(900px 500px at 70% 45%, rgba(59,130,246,.22), transparent 60%),
            /* samotný banner */
            url("/images/hero-banner.jpg");
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center right;
            /* lehce zjemnit pozadí, aby text byl čitelný a působilo to “enterprise” */
            filter: saturate(1.05) contrast(1.05);
            transform: scale(1.02);
        }

        /* Jemný tech-noise / grid efekt (optional, ale dělá to wow) */
        .hero.hero--dark::after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            pointer-events: none;
            background: radial-gradient(800px 500px at 15% 20%, rgba(255,255,255,.06), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.05), transparent 45%, rgba(255,255,255,.03));
            opacity: .55;
        }

        /* obsah vždy nad pozadím */
        .hero.hero--dark > .container {
            position: relative;
            z-index: 2;
        }

        /* ---------- Typografie + prvky v dark hero ---------- */

        .hero.hero--dark .top-pill,
        .hero.hero--dark .hero-badge {
            background: rgba(255,255,255,.08);
            border: 1px solid rgba(255,255,255,.16);
            color: rgba(255,255,255,.88);
            backdrop-filter: blur(10px);
        }

            .hero.hero--dark .top-pill strong {
                color: #7db2ff; /* můžeš vyladit na brand */
            }

        .hero.hero--dark .hero-title {
            color: #fff;
            text-shadow: 0 10px 30px rgba(0,0,0,.35);
        }

            .hero.hero--dark .hero-title span {
                color: #7db2ff; /* brand highlight */
            }

        .hero.hero--dark .hero-lead {
            color: rgba(255,255,255,.78);
        }

        .hero.hero--dark .hero-brands {
            color: rgba(255,255,255,.60);
        }

        /* Search bar jako “glass” na tmavém podkladu */
        .hero.hero--dark .search-bar {
            background: rgba(255,255,255,.10);
            border: 1px solid rgba(255,255,255,.18);
            box-shadow: 0 24px 60px rgba(0,0,0,.35);
            backdrop-filter: blur(14px);
        }

            .hero.hero--dark .search-bar input {
                background: transparent;
                color: rgba(255,255,255,.92);
            }

                .hero.hero--dark .search-bar input::placeholder {
                    color: rgba(255,255,255,.58);
                }

            .hero.hero--dark .search-bar button {
                /* nechávám tvůj brand, jen lehce “glow” */
                box-shadow: 0 14px 30px rgba(37,99,235,.35);
            }

        .hero.hero--dark .metric {
            color: rgba(255,255,255,.70);
        }

            .hero.hero--dark .metric strong {
                color: #fff;
            }

            .hero.hero--dark .metric:not(:first-child)::before {
                background: rgba(255,255,255,.14);
            }

        /* CTA (pokud btn-outline není dělané pro dark, tak mu pomůžeme jen v hero) */
        .hero.hero--dark .btn.btn-outline {
            border-color: rgba(255,255,255,.28);
            color: rgba(255,255,255,.92);
            background: rgba(255,255,255,.06);
        }

            .hero.hero--dark .btn.btn-outline:hover {
                background: rgba(255,255,255,.12);
            }

    /* ---------- Responsive (ať je background víc “nadpis vlevo, vizuál vpravo”) ---------- */
    @media (max-width: 980px) {
        .hero.hero--dark {
            padding: 5.4rem 0 4.4rem;
        }

            .hero.hero--dark::before {
                background-position: 70% center;
            }

        .metrics {
            justify-content: flex-start;
        }

        .hero-bottom-row {
            flex-direction: column;
            gap: 1.4rem;
        }

        .hero-cta-group {
            flex-direction: row;
            flex-wrap: wrap;
            min-width: 0;
        }
    }

    /* 1) Jemnější overlay + lepší glow */
    .hero.hero--dark::before {
        background-image: linear-gradient(90deg, rgba(11,18,32,.75) 0%, rgba(11,18,32,.55) 45%, rgba(11,18,32,.25) 68%, rgba(11,18,32,.10) 100% ), radial-gradient(600px 420px at 30% 38%, rgba(96,165,250,.25), transparent 75% ), radial-gradient(900px 500px at 70% 45%, rgba(59,130,246,.22), transparent 60% ), url("/images/hero-banner.jpg");
    }


    /* 2) Search bar o chlup světlejší + lepší čitelnost */
    .hero.hero--dark .search-bar {
        background: rgba(255,255,255,.18);
        border: 1px solid rgba(255,255,255,.25);
        backdrop-filter: blur(18px);
    }


        .hero.hero--dark .search-bar input {
            color: rgba(255,255,255,.95);
        }

            .hero.hero--dark .search-bar input::placeholder {
                color: rgba(255,255,255,.62);
            }

    /* 3) Metriky – větší, kontrastnější, “premium” */
    .hero.hero--dark .metric {
        color: rgba(255,255,255,.72);
        text-shadow: 0 6px 22px rgba(0,0,0,.45);
    }

        .hero.hero--dark .metric strong {
            color: #fff;
            font-size: 1.6rem; /* bylo 1.45rem */
            letter-spacing: .4px;
        }

        .hero.hero--dark .metric:not(:first-child)::before {
            background: rgba(255,255,255,.16);
        }

    /* 4) Nadpis – lehce víc “pop” */
    .hero.hero--dark .hero-title {
        text-shadow: 0 4px 10px rgba(0,0,0,.4), 0 18px 45px rgba(0,0,0,.5);
    }


        .hero.hero--dark .hero-title span {
            color: #8bbcff; /* jemně světlejší než #7db2ff */
        }

    /* 5) CTA tlačítka v dark hero – trochu víc kontrastu */
    .hero.hero--dark .btn.btn-outline {
        border-color: rgba(255,255,255,.30);
        background: rgba(255,255,255,.07);
    }

        .hero.hero--dark .btn.btn-outline:hover {
            background: rgba(255,255,255,.14);
        }

    /* 6) Mobile – ať banner nesedí moc “na střed” */
    @media (max-width: 980px) {
        .hero.hero--dark::before {
            background-position: center, center, center, 72% center;
        }
    }

    .section-heading-eyebrow[id] {
        scroll-margin-top: calc(var(--header-h) + 12px);
    }

    .hero[id] {
        scroll-margin-top: var(--header-h);
    }

    .hero.hero--dark.main {
        min-height: 100vh;
        display: flex;
        align-items: center;
    }

    .hero.hero--dark .hero-inner {
        margin: auto 0;
        padding-top: 80px;
        padding-bottom: 40px; /* jemné vyvážení */
    }



    .hero.hero--dark {
        position: relative;
    }

        .hero.hero--dark .hero-scrollhint {
            position: absolute;
            left: 50%;
            bottom: 14px;
            transform: translateX(-50%);
            width: 38px;
            height: 38px;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.22);
            background: rgba(255,255,255,.08);
            backdrop-filter: blur(10px);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            opacity: .75;
        }

            .hero.hero--dark .hero-scrollhint::before {
                content: "⌄";
                font-size: 20px;
                line-height: 1;
            }

    .hero.hero--dark {
        box-shadow: 0 24px 80px rgba(0,0,0,.35);
    }

    .metric strong {
        font-size: 1.8rem;
        font-weight: 800;
        letter-spacing: .5px;
    }

    .metric span {
        font-size: var(--fs-sm);
        opacity: .85;
    }

    /***********************************************
        END - HERO DARK
    */


    /* =========================================================
   HERO THEME TOGGLE – čistý, elegantní switch
   (bez změny HTML)
   ========================================================= */

    .hero-theme-toggle {
        position: relative;
        width: 54px;
        height: 28px;
        padding: 3px;
        border-radius: 999px;
        border: 1px solid rgba(15,23,42,.15);
        background: rgba(15,23,42,.08);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        cursor: pointer;
        transition: background .25s ease, border-color .25s ease;
    }

        /* skryj text vizuálně (ale zůstane pro screen readery) */
        .hero-theme-toggle .txt {
            position: absolute;
            width: 1px;
            height: 1px;
            overflow: hidden;
            clip: rect(0 0 0 0);
            white-space: nowrap;
        }

        /* tečka = jezdec */
        .hero-theme-toggle .dot {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: #ffffff;
            box-shadow: 0 2px 8px rgba(0,0,0,.18);
            transition: transform .3s cubic-bezier(.4,0,.2,1), background .25s ease, box-shadow .25s ease;
        }

    /* =========================
   DARK HERO
   ========================= */

    html[data-hero="dark"] .hero-theme-toggle {
        background: rgba(255,255,255,.15);
        border-color: rgba(255,255,255,.25);
    }

        html[data-hero="dark"] .hero-theme-toggle .dot {
            transform: translateX(26px);
            background: #0f172a;
            box-shadow: 0 2px 10px rgba(0,0,0,.35);
        }

    /* =========================
   Hover + focus
   ========================= */

    .hero-theme-toggle:hover {
        transform: scale(1.04);
    }

    .hero-theme-toggle:focus-visible {
        outline: 2px solid var(--sak-brand);
        outline-offset: 3px;
    }



    /* ABOUT MICRO --------------------------------------------*/
    .about-micro {
        padding: 3.2rem 0;
        background: var(--sak-section-alt);
    }

    .about-micro-inner {
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
        gap: 2.4rem;
        align-items: center;
    }

    .about-photo {
        border-radius: var(--radius-lg);
        overflow: hidden;
        box-shadow: 0 20px 55px rgba(15,23,42,.18);
        position: relative;
        min-height: 260px;
    }

        .about-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .about-photo::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(15,23,42,.32), rgba(15,23,42,0) 60%);
        }

    .about-box {
        background: var(--sak-bg);
        border: 1px solid var(--sak-border);
        border-radius: 22px;
        padding: 1.6rem 1.7rem;
        box-shadow: 0 12px 30px rgba(15,23,42,.08);
    }

    .about-title {
        font-size: 1.35rem;
        font-weight: 850;
        line-height: 1.2;
        margin-bottom: .7rem;
    }

    .about-text {
        color: var(--sak-muted);
        font-size: .98rem;
        line-height: var(--lh-base);
    }

    .about-facts {
        margin-top: 1.1rem;
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
    }

    .about-fact {
        font-size: .85rem;
        padding: .35rem .75rem;
        border-radius: 999px;
        border: 1px solid var(--sak-border);
        background: var(--sak-bg-soft);
        color: #334155;
        font-weight: 650;
    }

    .about-more {
        margin-top: 1rem;
    }

    .about-link {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        text-decoration: none;
        color: var(--sak-brand);
        font-weight: 750;
    }

        .about-link:hover {
            text-decoration: underline;
        }

    /* USP -----------------------------------------------------*/
    .usp-head {
        display: grid;
        grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
        gap: 3rem;
        align-items: start;
    }

    .usp-intro {
        max-width: 520px;
    }

    .usp-bullets {
        margin-top: 1.6rem;
        padding-left: 1.1rem;
        color: #4b5563;
        font-size: var(--fs-sm);
    }

        .usp-bullets li {
            margin: .35rem 0;
        }

        .usp-bullets strong {
            color: var(--sak-ink);
        }

    .usp-cta {
        margin-top: 1.4rem;
        display: flex;
        flex-wrap: wrap;
        gap: var(--fs-btn);
        align-items: center;
    }

    .usp-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 1.4rem;
    }

    .usp-card {
        background: var(--sak-bg);
        border-radius: 18px;
        padding: 1.35rem 1.4rem;
        border: 1px solid #e2e6ef;
        box-shadow: 0 10px 28px rgba(0,0,0,.06);
        transition: transform .23s ease, box-shadow .23s ease;
    }

        .usp-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 18px 45px rgba(0,0,0,.16);
        }

    .usp-icon {
        width: 56px;
        height: 56px;
        border-radius: 999px;
        background: #eaf0ff;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: .75rem;
    }



    .usp-card h3 {
        font-size: var(--fs-xl);
        font-weight: 750;
        margin-bottom: .4rem;
    }

    .usp-card p {
        font-size: var(--fs-card);
        color: #4b5563;
        line-height: var(--lh-more);
    }

    .usp-icon {
        color: var(--sak-brand);
    }

        .usp-icon svg {
            stroke: currentColor;
        }

        .usp-icon svg {
            height: 40px;
        }
    /* SORTIMENT mosaic ---------------------------------------*/
    .sortiment-mosaic {
        display: grid;
        grid-template-columns: repeat(12, minmax(0,1fr));
        gap: var(--fs-xl);
        margin-top: 2.2rem;
        align-items: stretch;
    }

    .mcard {
        display: flex;
        gap: 1rem;
        padding: 1.05rem 1.1rem;
        border-radius: var(--radius-md);
        background: var(--sak-bg);
        border: 1px solid #e2e6ef;
        box-shadow: 0 10px 26px rgba(15,23,42,.07);
        text-decoration: none;
        color: inherit;
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        min-height: 132px;
        grid-column: span 4;
    }

        .mcard:hover {
            transform: translateY(-4px);
            box-shadow: 0 18px 45px rgba(15,23,42,.12);
            border-color: #c7d4f5;
        }

    .mcard-media {
        width: 96px;
        height: 96px;
        border-radius: 16px;
        overflow: hidden;
        background: #f1f5ff;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .mcard-media img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

    .mcard-body {
        min-width: 0;
    }

    .mcard-kicker {
        font-size: .78rem;
        text-transform: uppercase;
        letter-spacing: .14em;
        color: var(--sak-soft);
        margin-bottom: .35rem;
    }

    .mcard-body h3 {
        font-size: var(--fs-badge);
        font-weight: 850;
        margin: .05rem 0 .25rem;
        line-height: 1.2;
    }

    .mcard-body p {
        margin: 0;
        font-size: var(--fs-xs);
        color: #4b5563;
        line-height: 1.35;
    }



    .mcard-chips {
        margin-top: .7rem;
        display: flex;
        flex-wrap: wrap;
        gap: .45rem;
    }

    .chip-mini {
        font-size: var(--fs-xxs);
        padding: .22rem .55rem;
        border-radius: 999px;
        border: 1px solid var(--sak-border);
        color: #334155;
        background: var(--sak-bg);
    }

    .mcard-note {
        padding: .5rem 0;
        margin-top: 1.5rem;
        font-size: var(--fs-sm);
        color: #475569;
    }

    .mcard--hero {
        grid-column: span 7;
        grid-row: span 2;
        padding: 1.2rem;
        min-height: 290px;
    }

        .mcard--hero .mcard-media {
            width: 250px;
            height: 250px;
        }

        .mcard--hero .mcard-body h3 {
            font-size: var(--fs-2xl);
        }

        .mcard--hero .mcard-body p {
            font-size: var(--fs-xs);
            max-width: 62ch;
        }

    .mcard--wide {
        grid-column: span 5;
        min-height: 140px;
    }

    .mcard--small {
        grid-column: span 3;
    }

    .mcard--mini {
        grid-column: span 3;
        min-height: 120px;
    }

    .sortiment-actions {
        margin-top: 1.9rem;
        display: flex;
        flex-wrap: wrap;
        gap: var(--fs-btn);
        align-items: center;
    }





    /* CONTACT -------------------------------------------------*/

    #kontakt {
        padding-top: 20px !important;
    }

    #documents--catalogue {
        padding-top: 0px !important;
    }


    .contact-layout {
        display: grid;
        grid-template-columns: minmax(0,1.05fr) minmax(0,1.1fr);
        gap: 3rem;
        align-items: stretch;
    }

    .contact-card {
        background: var(--sak-bg);
        border-radius: var(--radius-md);
        padding: 2rem 2.1rem;
        border: 1px solid #e2e6ef;
        box-shadow: var(--shadow-md);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .contact-row {
        margin-top: 1rem;
    }

    .contact-label {
        font-size: var(--fs-xs);
        text-transform: uppercase;
        letter-spacing: .14em;
        color: #9ca3af;
    }

    .contact-value {
        margin-top: .25rem;
        color: #111827;
        font-size: var(--fs-md);
        line-height: var(--lh-more);
    }

    .contact-actions {
        margin-top: 1.4rem;
        display: flex;
        flex-wrap: wrap;
        gap: .8rem;
    }

    /* photo + overlay */
    .contact-map {
        border-radius: var(--radius-lg);
        overflow: hidden;
        position: relative;
        box-shadow: var(--shadow-lg);
    }

        .contact-map img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .contact-map-overlay {
        position: absolute;
        bottom: 1.5rem;
        left: 1.5rem;
        right: 1.5rem;
        padding: 1rem 1.2rem;
        border-radius: var(--radius-sm);
        background: rgba(15,23,42,.82);
        color: #e5e7eb;
        font-size: var(--fs-btn);
    }

    /* map thumbnail */
    .contact-map-thumb {
        position: absolute;
        top: 1rem;
        right: 1rem;
        width: 140px;
        height: 90px;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 14px 38px rgba(15,23,42,.28);
        border: 2px solid #fff;
        z-index: 3;
        background: var(--sak-bg);
        transform: translateZ(0);
        transition: transform .18s ease, box-shadow .18s ease;
    }

        .contact-map-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .contact-map-thumb:hover {
            transform: translateY(-2px);
            box-shadow: 0 18px 45px rgba(15,23,42,.35);
        }

    .contact-map-pin {
        position: absolute;
        bottom: 6px;
        right: 6px;
        background: var(--sak-brand);
        color: #fff;
        font-size: .85rem;
        padding: .25rem .45rem;
        border-radius: 999px;
        box-shadow: 0 4px 12px rgba(0,0,0,.25);
    }

    .contact-map-cta {
        position: absolute;
        top: 6px;
        left: 6px;
        background: rgba(255,255,255,.92);
        color: var(--sak-ink);
        font-size: .74rem;
        font-weight: 850;
        padding: .25rem .55rem;
        border-radius: 999px;
        border: 1px solid var(--sak-border);
    }

    /* CONTACT collapse (detail) */
    .kontaktCollapse {
        margin-top: 2.2rem;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transform: translateY(-10px);
        transition: max-height .38s ease, opacity .25s ease, transform .25s ease;
    }

        .kontaktCollapse.is-open {
            max-height: 5000px;
            opacity: 1;
            transform: translateY(0);
        }

    .kontaktCollapse-inner {
        padding-top: .25rem;
    }

    /* Accordion detail */
    .kontaktD-wrap {
        margin-top: 2.2rem;
    }

    .kontaktD-top {
        background: var(--sak-bg);
        border: 1px solid var(--sak-border);
        border-radius: var(--radius-md);
        padding: 1.4rem 1.5rem;
        box-shadow: var(--shadow-sm);
    }

        .kontaktD-top h3 {
            margin: 0 0 .6rem;
            font-size: var(--fs-xl);
            font-weight: 850;
            color: var(--sak-ink);
        }

        .kontaktD-top p {
            font-size: var(--fs-md);
            margin: 0;
            color: var(--sak-muted);
            line-height: var(--lh-more);
        }

    .kontaktD-acc {
        margin-top: 1.2rem;
        display: grid;
        gap: var(--fs-btn);
    }

    .kontaktD-item {
        background: var(--sak-bg);
        border: 1px solid var(--sak-border);
        border-radius: var(--radius-md);
        overflow: hidden;
        box-shadow: 0 10px 26px rgba(15,23,42,.05);
    }

        .kontaktD-item summary {
            list-style: none;
            cursor: pointer;
            padding: 1.1rem var(--fs-xl);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            font-weight: 850;
            color: var(--sak-ink);
        }

            .kontaktD-item summary::-webkit-details-marker {
                display: none;
            }

    .kontaktD-meta {
        font-size: .78rem;
        text-transform: uppercase;
        letter-spacing: .14em;
        color: var(--sak-soft);
        font-weight: 700;
    }

    .kontaktD-title {
        margin-top: .15rem;
        font-size: 1.05rem;
    }

    .kontaktD-chevron {
        width: 34px;
        height: 34px;
        border-radius: 999px;
        border: 1px solid var(--sak-border);
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        transition: transform .18s ease;
        background: var(--sak-bg);
    }

    .kontaktD-item[open] .kontaktD-chevron {
        transform: rotate(180deg);
    }

    .kontaktD-body {
        padding: 0 var(--fs-xl) var(--fs-xl);
        border-top: 1px solid var(--sak-border-soft);
    }

    .kontaktD-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 1rem;
        margin-top: 1rem;
    }

    .kontaktD-card {
        border: 1px solid var(--sak-border);
        border-radius: 16px;
        padding: 1rem;
        background: var(--sak-bg-soft);
    }

        .kontaktD-card h4 {
            margin: 0 0 .15rem;
            font-size: var(--fs-xl);
            font-weight: 850;
        }

    .kontaktD-role {
        margin: 0 0 .65rem;
        color: var(--sak-soft);
        font-size: var(--fs-xs);
    }

    .kontaktD-lines {
        margin: 0;
        color: var(--sak-muted);
        font-size: var(--fs-sm);
        line-height: var(--lh-more);
    }

    .kontaktD-actions {
        margin-top: .85rem;
        display: flex;
        flex-wrap: wrap;
        gap: .6rem;
    }

    .kbtn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .55rem .85rem;
        border-radius: 999px;
        font-weight: 750;
        font-size: var(--fs-btn);
        text-decoration: none;
        border: 1px solid #cbd5f5;
        color: var(--sak-brand);
        background: var(--sak-bg);
    }

        .kbtn:hover {
            background: var(--sak-brand);
            color: #fff;
            border-color: var(--sak-brand);
        }

    .kontaktD-card--person {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 160px;
        gap: 1rem;
        align-items: stretch;
        padding: 1rem;
    }

    .kontaktD-card__main {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

    .kontaktD-card__photo {
        border-radius: 14px;
        overflow: hidden;
        background: var(--sak-bg);
        border: 1px solid var(--sak-border);
        min-height: 100%;
        box-shadow: var(--shadow-sm);
    }

        .kontaktD-card__photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

    .kontaktD-card--person h4 {
        margin: 0 0 .15rem;
        font-size: var(--fs-xl);
        font-weight: 850;
        color: var(--sak-ink);
    }

    .kontaktD-card--person .kontaktD-role {
        margin: 0 0 .8rem;
    }

    .kontaktD-card--person .kontaktD-lines a {
        color: var(--sak-brand);
        text-decoration: none;
    }

        .kontaktD-card--person .kontaktD-lines a:hover {
            text-decoration: underline;
        }

    @media (max-width: 640px) {
        .kontaktD-card--person {
            grid-template-columns: 1fr;
        }

        .kontaktD-card__photo {
            order: -1;
            max-width: 180px;
            aspect-ratio: 4 / 5;
        }
    }

    .kontaktD-card--person {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 160px;
        gap: 1rem;
        align-items: stretch;
        padding: 1rem;
    }

    .kontaktD-card__main {
        min-width: 0;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .kontaktD-card--person h4 {
        margin: 0 0 .15rem;
        font-size: var(--fs-xl);
        font-weight: 850;
        color: var(--sak-ink);
    }

    .kontaktD-card--person .kontaktD-role {
        margin: 0 0 .8rem;
    }

    .kontaktD-lines {
        margin: 0;
        color: var(--sak-muted);
        font-size: var(--fs-sm);
        line-height: var(--lh-more);
    }

    .kontaktD-actions {
        margin-top: auto;
        padding-top: 1rem;
        display: flex;
        flex-wrap: wrap;
        gap: .6rem;
    }

    .kontaktD-card--person .kontaktD-actions {
        margin-top: auto;
        padding-top: 1rem;
    }

    .kontaktD-card__main {
        min-width: 0;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .kontaktD-card--person .kontaktD-actions {
        margin-top: auto;
        padding-top: 1rem;
    }

    /* CERTIFIKACE --------------------------------------------*/
    .certA-head {
        position: relative;
        overflow: hidden;
        display: grid;
        grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
        gap: 2.2rem;
        align-items: start;
        margin-bottom: 1.7rem;
    }

        .certA-head::after {
            content: "";
            position: absolute;
            right: 60px;
            top: 50%;
            transform: translateY(-50%);
            width: 220px;
            height: 220px;
            background: url("/images/certificate-section.png") no-repeat center / contain;
            opacity: .06;
            pointer-events: none;
        }

    .certA-bullets {
        margin-top: 1.4rem;
        padding-left: 1.1rem;
        color: #4b5563;
        font-size: var(--fs-sm);
    }

        .certA-bullets li {
            margin: .35rem 0;
        }

        .certA-bullets strong {
            color: var(--sak-ink);
        }

    .certA-top {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: var(--fs-xl);
        align-items: stretch;
    }

    .certA-card {
        background: var(--sak-bg);
        border-radius: var(--radius-md);
        border: 1px solid #e2e6ef;
        padding: 1.35rem;
        box-shadow: 0 10px 26px rgba(15,23,42,.07);
        display: flex;
        flex-direction: column;
    }

    .certA-brand {
        display: flex;
        gap: 1rem;
        align-items: flex-start;
        min-width: 0;
        min-height: 130px;
    }

        .certA-brand img {
            width: 120px;
            object-fit: contain;
            border: 1px solid var(--sak-border);
            border-radius: 12px;
            padding: 6px;
            background: var(--sak-bg);
            flex: 0 0 auto;
        }

    .certA-brand--noimg {
        gap: 0;
    }

        .certA-brand--noimg > img {
            display: none !important;
        }

    .certA-kicker {
        font-size: .78rem;
        text-transform: uppercase;
        letter-spacing: .14em;
        color: var(--sak-soft);
        margin-bottom: .35rem;
    }

    .certA-title {
        font-size: var(--fs-xl);
        font-weight: 850;
        margin-bottom: .35rem;
        line-height: 1.2;
        color: var(--sak-ink);
    }

    .certA-desc {
        margin: 0;
        font-size: var(--fs-sm);
        color: #4b5563;
        line-height: 1.35;
        max-width: 62ch;
    }

    /* unified preview */
    .certA-previewWide {
        margin-top: 1rem;
        border: 1px solid var(--sak-border);
        border-radius: 16px;
        overflow: hidden;
        background: var(--sak-bg);
        box-shadow: 0 10px 26px rgba(15,23,42,.06);
    }

    .certA-preview {
        display: block;
        width: 100%;
        aspect-ratio: 20 / 14;
        background-size: cover;
        background-position: center;
        position: relative;
        text-decoration: none;
    }

        .certA-preview::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(15,23,42,0) 35%, rgba(15,23,42,.65) 100%);
            opacity: 0;
            transition: opacity .18s ease;
        }

    .certA-overlay {
        position: absolute;
        left: var(--fs-btn);
        right: var(--fs-btn);
        bottom: .75rem;
        z-index: 2;
        color: #fff;
        font-weight: 800;
        font-size: .92rem;
        opacity: 0;
        transform: translateY(4px);
        transition: opacity .18s ease, transform .18s ease;
    }

    .certA-preview:hover::after {
        opacity: 1;
    }

    .certA-preview:hover .certA-overlay {
        opacity: 1;
        transform: translateY(0);
    }

    .certA-logosHint {
        display: flex;
        flex-wrap: wrap;
        gap: .45rem;
        margin-top: var(--fs-btn);
    }

    .certA-pill {
        font-size: var(--fs-xxs);
        padding: .28rem .6rem;
        border-radius: 999px;
        border: 1px solid var(--sak-border);
        background: var(--sak-bg-soft);
        color: #334155;
        font-weight: 800;
    }

    .certA-logosRow {
        display: none;
    }

    /* other certs inline grid */
    .certA-grid--inline5 {
        margin-top: 1rem;
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 1rem;
    }

    .certG-card {
        background: #fff;
        border: 1px solid var(--sak-border);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: var(--shadow-sm);
        display: flex;
        flex-direction: column;
        cursor: pointer;
    }

        .certG-card:focus-visible {
            outline: 3px solid rgba(0,85,204,.25);
            outline-offset: 3px;
        }

    .certG-brand {
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid var(--sak-border);
        background: #fff;
    }

        .certG-brand img {
            max-height: 75px;
            max-width: 110px;
            object-fit: contain;
            opacity: .85;
            transition: opacity .2s ease, transform .2s ease;
        }

    .certG-preview {
        position: relative;
        display: block;
        aspect-ratio: 16 / 20;
        background-size: contain;
        background-position: center 52%;
        background-repeat: no-repeat;
        background-color: #fff;
        text-decoration: none;
    }

        .certG-preview::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(15,23,42,.00) 35%, rgba(15,23,42,.65) 100%);
            opacity: 0;
            transition: opacity .18s ease;
        }

    .certG-overlay {
        position: absolute;
        left: .85rem;
        right: .85rem;
        bottom: .75rem;
        z-index: 2;
        color: #fff;
        font-weight: 750;
        font-size: .92rem;
        opacity: 0;
        transform: translateY(4px);
        transition: opacity .18s ease, transform .18s ease;
    }

    .certG-hoverTitle {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: .75rem;
        text-align: center;
        font-weight: 900;
        font-size: 1.05rem;
        letter-spacing: .04em;
        color: #fff;
        background: rgba(15,23,42,.55);
        opacity: 0;
        transition: opacity .18s ease;
        pointer-events: none;
    }

    .certG-card:hover .certG-preview::after {
        opacity: 1;
    }

    .certG-card:hover .certG-overlay {
        opacity: 1;
        transform: translateY(0);
    }

    .certG-card:hover .certG-hoverTitle {
        opacity: 1;
    }

    .certA-foot {
        margin-top: 1rem;
        color: var(--sak-muted);
        font-size: var(--fs-sm);
        line-height: var(--lh-base);
    }

    /* desktop default for mobile accordion */
    .certA-mobile-more {
        display: none;
    }

    .certA-grid--desktopOnly {
        display: grid;
    }

    /* desktop layout for others */
    .certA-top.certA-top--3 .certA-card--others {
        grid-column: span 2;
    }

        .certA-top.certA-top--3 .certA-card--others .certA-grid--inline5 {
            grid-template-columns: repeat(5, minmax(0, 1fr));
        }

    /* RESPONSIVE ----------------------------------------------*/
    @media (max-width: 1200px) {
        .certA-grid--inline5 {
            grid-template-columns: repeat(2, minmax(0,1fr));
        }
    }

    @media (max-width: 1100px) {
        .certA-top.certA-top--3 .certA-card--others {
            grid-column: 1 / -1;
        }

            .certA-top.certA-top--3 .certA-card--others .certA-grid--inline5 {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
    }

    @media (max-width: 1024px) {
        .certA-head {
            grid-template-columns: 1fr;
        }

        .certA-top {
            grid-template-columns: 1fr;
        }

        .certA-head::after {
            width: 320px;
            height: 320px;
            right: -40px;
            opacity: .05;
        }
    }

    @media (max-width: 700px) {
        .certA-top.certA-top--3 .certA-card--others .certA-grid--inline5 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 640px) {
        .certA-grid--inline5 {
            grid-template-columns: 1fr;
        }

        .certA-head::after {
            display: none;
        }
    }

    /* =========================================================
   CERTIFIKACE – MOBILE ONLY
   ========================================================= */
    @media (max-width: 767px) {
        .certA-foot {
            font-size: var(--mobile-eyebrow-fs);
        }


        /* ZKL card */
        .certA-card--iso {
            padding: 1rem;
        }

            .certA-card--iso .certA-brand {
                /*display: grid;*/
                grid-template-columns: 64px minmax(0, 1fr);
                gap: .75rem;
                align-items: start;
                min-height: 0;
            }

                .certA-card--iso .certA-brand img {
                    width: 78px;
                    max-width: 78px;
                    padding: 5px;
                    border-radius: 12px;
                }

            .certA-card--iso .certA-kicker {
                display: none;
            }

           /* .certA-card--iso .certA-title {
                display: none;
            }*/
                /*.certA-card--iso .certA-kicker {
                font-size: var(--fs-3xs);
                line-height: 1.1;
                letter-spacing: .12em;
                margin-bottom: .18rem;
            }*/
                /* .certA-card--iso .certA-title {
                font-size: 1.02rem;
                line-height: 1.1;
                margin-bottom: .18rem;
            }*/

                .certA-card--iso .certA-desc {
                font-size: .98rem;
                line-height: 1.38;
                margin: 0;
            }

            .certA-card--iso .certA-previewWide {
                margin-top: .8rem;
            }

            .certA-card--iso .certA-preview {
                aspect-ratio: 16 / 11;
            }

            .certA-card--iso .certA-overlay {
                left: .75rem;
                right: .75rem;
                bottom: .65rem;
                font-size: .84rem;
            }

        /* others card */
        .certA-logosHint {
            display: none !important;
        }

        .certA-brand--noimg > div {
            width: 100%;
            min-width: 0;
        }

        .certA-logosRow {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: .65rem;
            width: 100%;
            margin-top: .7rem;
            margin-bottom: .9rem;
        }

        .certA-logoItem {
            width: 100%;
            min-width: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0;
            padding: .2rem .35rem .55rem .35rem;
            box-sizing: border-box;
            text-align: center;
            border: 1px solid var(--sak-border);
            border-radius: var(--radius-md);
            background: #fff;
        }

            .certA-logoItem img {
                display: block;
                width: 100%;
                max-width: 100%;
                height: 62px;
                object-fit: contain;
                padding: 0;
                margin: 0;
                border: 0 !important;
                border-radius: 0 !important;
                background: transparent !important;
                box-shadow: none !important;
                opacity: .95;
                transition: transform .2s ease, opacity .2s ease;
            }

            .certA-logoItem:hover img {
                opacity: 1;
                transform: scale(1.04);
            }

            .certA-logoItem span {
                display: block;
                width: 100%;
                font-size: var(--fs-xs);
                line-height: 1.15;
                font-weight: 700;
                color: #475569;
                text-align: center;
            }

        /* mobile accordion */
        .certA-mobile-more {
            display: block;
            margin-top: .9rem;
            border: 1px solid rgba(203, 213, 225, .9);
            border-radius: var(--radius-md);
            background: #fff;
            overflow: hidden;
        }

            .certA-mobile-more summary {
                list-style: none;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: .7rem;
                min-height: 46px;
                padding: 0 1rem;
                cursor: pointer;
                font-weight: 800;
                font-size: .95rem;
                color: var(--sak-brand);
                user-select: none;
            }

                .certA-mobile-more summary::-webkit-details-marker {
                    display: none;
                }

        .certA-mobile-more__icon {
            position: relative;
            width: 1rem;
            height: 1rem;
            flex: 0 0 1rem;
        }

            .certA-mobile-more__icon::before,
            .certA-mobile-more__icon::after {
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                width: .72rem;
                height: 2px;
                background: currentColor;
                border-radius: 999px;
                transform: translate(-50%, -50%);
                transition: transform .22s ease, opacity .22s ease;
            }

            .certA-mobile-more__icon::after {
                transform: translate(-50%, -50%) rotate(90deg);
            }

        .certA-mobile-more[open] .certA-mobile-more__icon::after {
            opacity: 0;
            transform: translate(-50%, -50%) rotate(90deg) scale(.5);
        }

        .certA-mobile-more__content {
            padding: .9rem 0 0;
        }

        .certA-grid--desktopOnly {
            display: none !important;
        }

        .certA-mobile-more .certA-grid--inline5 {
            padding: 10px;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: .8rem;
            margin-top: 0;
        }

        .certA-mobile-more .certG-card {
            border-radius: 16px;
        }

        .certA-mobile-more .certG-brand img {
            max-width: 88px;
            max-height: 54px;
        }

        .certA-mobile-more .certG-preview {
            aspect-ratio: 4 / 5;
        }

            .certA-mobile-more .certG-preview::after {
                opacity: 1;
            }

        .certA-mobile-more .certG-overlay {
            opacity: 1;
            transform: none;
            left: .65rem;
            right: .65rem;
            bottom: .6rem;
            font-size: .8rem;
        }

        .certA-mobile-more .certG-hoverTitle {
            display: none;
        }
    }

    @media (max-width: 420px) {

        .certA-card--iso .certA-brand {
            grid-template-columns: 82px minmax(0, 1fr);
            gap: .68rem;
        }

            .certA-card--iso .certA-brand img {
                width: 82px;
                max-width: 82px;
            }

        .certA-card--iso .certA-title {
            font-size: .98rem;
        }

        .certA-card--iso .certA-desc {
            font-size: .94rem;
            line-height: 1.34;
        }

        .certA-logosRow {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: .5rem;
            width: 100%;
        }

        .certA-logoItem {
            padding: .5rem .25rem;
        }

            .certA-logoItem img {
                height: 36px;
            }

            .certA-logoItem span {
                font-size: 10px;
            }

        .certA-mobile-more .certA-grid--inline5 {
            grid-template-columns: 1fr;
        }
    }

    /* END CERTIFICATES */


    /* index eshop */


    /* B2B ESHOP ------------------------------------------------*/
    .section-eshop {
        background: radial-gradient(circle at 0 0,#1e293b 0,#020617 60%,#020617 100%);
        color: #e5e7eb;
    }

        .section-eshop .section-heading-title span {
            color: #60a5fa;
        }

        .section-eshop .section-heading-sub {
            color: #d1d5db;
        }

    .eshop-layout {
        display: grid;
        grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);
        gap: 3rem;
        align-items: center;
    }

    .eshop-screen {
        border-radius: var(--radius-lg);
        overflow: hidden;
        box-shadow: 0 30px 80px rgba(0,0,0,.65);
        border: 1px solid rgba(148,163,184,.4);
    }

        .eshop-screen img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    /* ---------------------------------------------
   ESHOP section (dark variant)
--------------------------------------------- */

    .section.section-eshop.is-dark {
        position: relative;
        color: #e5e7eb;
        /* tmavě modré pozadí – můžeš později sladit s hero */
        background: radial-gradient(1200px 600px at 20% 10%, rgba(0,85,204,.22), transparent 60%), radial-gradient(900px 500px at 85% 40%, rgba(59,130,246,.16), transparent 55%), linear-gradient(180deg, #071427 0%, #06101f 100%);
        border-top: 1px solid rgba(255,255,255,.06);
        border-bottom: 1px solid rgba(255,255,255,.06);
        overflow: hidden;
    }

    /* Layout */
    .eshop-layout {
        display: grid;
        grid-template-columns: 1.05fr .95fr;
        gap: 2.2rem;
        align-items: center;
    }

    @media (max-width: 980px) {
        .eshop-layout {
            grid-template-columns: 1fr;
            gap: 1.6rem;
        }
    }

    /* Content block */
    .eshop-content {
        max-width: 560px;
    }

    /* Eyebrow – tmavá varianta */
    .section.section-eshop.is-dark .section-heading-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: .55rem;
        font-size: var(--fs-btn);
        text-transform: uppercase;
        letter-spacing: .12em;
        font-weight: 800;
        color: #cbd5e1; /* světlá */
        margin-bottom: .7rem;
        padding-top: 1rem;
    }

        .section.section-eshop.is-dark .section-heading-eyebrow::before {
            content: "";
            width: 10px;
            height: 10px;
            border-radius: 999px;
            background: #3b82f6;
            box-shadow: 0 0 0 4px rgba(59,130,246,.25);
        }

    /* Title + highlight */
    .section.section-eshop.is-dark .section-heading-title {
        font-size: var(--fs-3xl);
        line-height: 1.08;
        font-weight: 900;
        color: #f8fafc;
        margin: 0 0 .55rem 0;
    }

        .section.section-eshop.is-dark .section-heading-title span {
            color: #8ab6ff; /* jemný brand highlight */
        }

    /* Subheading */
    .section.section-eshop.is-dark .section-heading-sub {
        font-size: var(--fs-lg);
        line-height: 1.55;
        color: #d1d5db;
        max-width: 56ch;
    }

    /* Paragraph */
    .section.section-eshop.is-dark .eshop-text {
        margin-top: 1.4rem;
        font-size: var(--fs-md);
        line-height: 1.6;
        color: #d1d5db;
        max-width: 520px;
    }

    /* Actions */
    .section.section-eshop.is-dark .eshop-actions {
        margin-top: 1.6rem;
        display: flex;
        flex-wrap: wrap;
        gap: .9rem;
        align-items: center;
    }

    .section.section-eshop.is-dark .eshop-note {
        font-size: var(--fs-btn);
        color: #9ca3af;
    }

    /* Screen card */
    .section.section-eshop.is-dark .eshop-screen {
        border-radius: var(--radius-lg);
        background: rgba(255,255,255,.04);
        border: 1px solid rgba(255,255,255,.10);
        box-shadow: 0 24px 65px rgba(0,0,0,.35);
        padding: 14px;
    }

        .section.section-eshop.is-dark .eshop-screen img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: calc(var(--radius-lg) - 8px);
            box-shadow: 0 18px 40px rgba(0,0,0,.35);
        }



    @media (max-width: 767px) {
        .section.section-eshop.is-dark {
            padding-top: calc(var(--fs-2xl) * .95);
            padding-bottom: calc(var(--fs-2xl) * .95);
            background: radial-gradient(900px 460px at 18% 10%, rgba(0,85,204,.18), transparent 60%), radial-gradient(700px 380px at 86% 38%, rgba(59,130,246,.12), transparent 55%), linear-gradient(180deg, #071427 0%, #06101f 100%);
        }

            .section.section-eshop.is-dark .eshop-layout {
                display: grid;
                grid-template-columns: 1fr;
                gap: var(--mobile-gap);
                align-items: start;
            }

            .section.section-eshop.is-dark .eshop-content {
                max-width: 100%;
            }

            .section.section-eshop.is-dark .section-heading-eyebrow {
                padding-top: 0;
                margin-bottom: .55rem;
                font-size: var(--fs-btn);
                line-height: 1.12;
                letter-spacing: .12em;
            }

                .section.section-eshop.is-dark .section-heading-eyebrow::before {
                    width: 8px;
                    height: 8px;
                    box-shadow: 0 0 0 4px rgba(59,130,246,.18);
                }

            .section.section-eshop.is-dark .section-heading-title {
                margin: 0 0 .55rem;
                font-size: var(--mobile-title-fs);
                line-height: var(--mobile-title-lh);
                letter-spacing: -.02em;
            }

            .section.section-eshop.is-dark .section-heading-sub {
                max-width: 100%;
                font-size: var(--mobile-sub-fs);
                line-height: 1.55;
            }

            .section.section-eshop.is-dark .eshop-text {
                margin-top: .9rem;
                max-width: 100%;
                font-size: var(--mobile-text-fs);
                line-height: 1.55;
            }

            .section.section-eshop.is-dark .eshop-actions {
                margin-top: 1rem;
                /*display: grid;*/
                /*grid-template-columns: 1fr;*/
                gap: .7rem;
                align-items: stretch;
            }

                .section.section-eshop.is-dark .eshop-actions .btn {
                    /* width: 100%;*/
                    min-height: var(--mobile-btn-h);
                    font-size: var(--mobile-btn-fs);
                    justify-content: center;
                }

            .section.section-eshop.is-dark .eshop-note {
                font-size: var(--mobile-small-fs);
                line-height: 1.45;
                color: #aeb8c7;
            }

            .section.section-eshop.is-dark .eshop-screen {
                padding: 10px;
                border-radius: calc(var(--radius-lg) - 2px);
                background: rgba(255,255,255,.04);
                border: 1px solid rgba(255,255,255,.08);
                box-shadow: 0 18px 46px rgba(0,0,0,.28);
            }

                .section.section-eshop.is-dark .eshop-screen img {
                    width: 100%;
                    height: auto;
                    display: block;
                    border-radius: calc(var(--radius-lg) - 10px);
                    box-shadow: 0 14px 32px rgba(0,0,0,.28);
                }
    }

    @media (max-width: 420px) {
        .section.section-eshop.is-dark {
            padding-top: calc(var(--fs-xl) * .95);
            padding-bottom: calc(var(--fs-xl) * .95);
        }

            .section.section-eshop.is-dark .section-heading-title {
                margin-bottom: .45rem;
            }

            .section.section-eshop.is-dark .section-heading-sub,
            .section.section-eshop.is-dark .eshop-text {
                line-height: 1.5;
            }

            .section.section-eshop.is-dark .eshop-actions {
                gap: .6rem;
            }

            .section.section-eshop.is-dark .eshop-screen {
                padding: 8px;
            }
    }



    /* NEWS ----------------------------------------------------*/
    .news-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 1.8rem;
    }

    .news-card {
        display: flex;
        flex-direction: column;
        background: var(--sak-bg);
        border-radius: 18px;
        border: 0;
        overflow: hidden;
        box-shadow: 0 10px 26px rgba(15,23,42,.07);
        padding: 0;
    }

    .news-image {
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: #f1f5f9;
    }

        .news-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transform: scale(1);
            transition: transform .35s ease;
        }

    .news-card:hover .news-image img {
        transform: scale(1.04);
    }

    .news-content {
        display: flex;
        flex-direction: column;
        padding: var(--fs-sm) 1.05rem 1.05rem;
        flex: 1;
    }

    .news-meta {
        font-size: .78rem;
        text-transform: uppercase;
        letter-spacing: .16em;
        color: #9ca3af;
        margin-bottom: .4rem;
    }

    .news-title {
        font-size: 1.05rem;
        font-weight: 750;
        color: var(--sak-ink);
        margin-bottom: .4rem;
    }

    .news-actions {
        margin-top: auto;
        padding-top: var(--fs-btn);
        display: flex;
        gap: .6rem;
        align-items: center;
        border-top: 0;
    }

    @media (max-width: 767px) {
        .news-actions {
            display: none;
        }

        .news-grid {
            grid-template-columns: 1fr;
            gap: .9rem;
        }

        .news-card {
            border-radius: calc(var(--radius-md) + 2px);
            box-shadow: 0 10px 22px rgba(15,23,42,.06);
        }

        .news-image {
            aspect-ratio: 16 / 7;
        }

        .news-content {
            padding: .9rem;
        }

        .news-meta {
            margin-bottom: .3rem;
            font-size: var(--mobile-small-fs);
            line-height: 1.3;
            letter-spacing: .12em;
        }

        .news-title {
            margin-bottom: .3rem;
            font-size: calc(var(--mobile-text-fs) * 1.12);
            line-height: 1.2;
            font-weight: 800;
        }

        .news-content p {
            margin: 0;
            font-size: var(--mobile-text-fs);
            line-height: 1.45;
            color: #475569;
        }

        .news-actions {
            margin-top: .7rem;
            padding-top: 0;
        }

            .news-actions .link {
                font-size: var(--mobile-text-fs);
                line-height: 1.25;
            }
    }

    @media (max-width: 420px) {
        .news-image {
            aspect-ratio: 16 / 6.5;
        }

        .news-content {
            padding: .82rem;
        }

        .news-title {
            font-size: calc(var(--mobile-text-fs) * 1.06);
        }
    }

    /* end index eshop */



    /* =========================================================
   BUYBACK PAGE (sjednoceno do site.css)
   Použití:
   - obalte obsah stránky do: <main class="page page-buyback"> ... </main>
   - na stránce už NElinkujte buyback.css
   ========================================================= */

    .page-buyback {
        --bb-brand: #0b5cff; /* buyback accent */
        --bb-heroText: #ffffff;
        --bb-heroMuted: rgba(255,255,255,.80);
    }

        /* Buyback stránka používá vlastní sekce (na webu je .section často flex) */
        .page-buyback .section {
            display: block;
            padding: 5rem 0;
        }

        .page-buyback .section--tint {
            background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
            /*border-bottom: 1px solid var(--sak-border-soft);*/
        }

        /* HERO – VÝKUP (scoped) */
        .page-buyback .hero.hero--vykup {
            --hero-bg: url("/Images/buyback/buyback-hero.png");
            position: relative;
            overflow: hidden;
            background-image: var(--hero-bg);
            background-size: cover;
            background-position: right center;
            background-repeat: no-repeat;
            min-height: clamp(360px, 52vh, 520px);
        }

            .page-buyback .hero.hero--vykup > .container {
                position: relative;
                z-index: 1;
            }

            .page-buyback .hero.hero--vykup::before {
                content: "";
                position: absolute;
                inset: 0;
                background: radial-gradient(1200px 600px at 12% 30%, rgba(0,0,0,.72) 0%, rgba(0,0,0,.44) 45%, rgba(0,0,0,.10) 70%, rgba(0,0,0,0) 100%), linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.44) 35%, rgba(0,0,0,.14) 62%, rgba(0,0,0,0) 78%), linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 38%, rgba(0,0,0,.20) 100%);
                pointer-events: none;
            }

            .page-buyback .hero.hero--vykup::after {
                content: "";
                position: absolute;
                inset: -20% -10% auto -10%;
                height: 60%;
                background: radial-gradient(60% 60% at 20% 30%, rgba(255,255,255,.10), rgba(255,255,255,0) 60%);
                filter: blur(10px);
                pointer-events: none;
                opacity: .8;
            }

        .page-buyback .hero__inner {
            position: relative;
            z-index: 1;
            color: var(--bb-heroText);
            padding: clamp(42px, 7vh, 78px) 0;
            max-width: 880px;
        }

        .page-buyback .hero.hero--vykup h1 {
            margin: 0 0 14px;
            font-weight: 900;
            letter-spacing: -.02em;
            line-height: 1.05;
            font-size: clamp(2.1rem, 4.2vw, 3.2rem);
            text-shadow: 0 10px 34px rgba(0,0,0,.45);
        }

            .page-buyback .hero.hero--vykup h1 span {
                color: var(--bb-brand);
                text-shadow: 0 10px 34px rgba(0,0,0,.35);
            }

        .page-buyback .hero.hero--vykup p {
            margin: 0 0 18px;
            max-width: 60ch;
            color: var(--bb-heroMuted);
            font-size: clamp(1rem, 1.2vw, 1.1rem);
            line-height: var(--lh-base);
        }

            .page-buyback .hero.hero--vykup p strong {
                color: #fff;
                font-weight: 700;
            }

        .page-buyback .hero.hero--vykup .badges {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin: 16px 0 22px;
        }

        .page-buyback .hero.hero--vykup .badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(255,255,255,.10);
            border: 1px solid rgba(255,255,255,.16);
            color: rgba(255,255,255,.88);
            font-size: .92rem;
            line-height: 1;
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
        }

            .page-buyback .hero.hero--vykup .badge::before {
                content: "";
                width: 8px;
                height: 8px;
                border-radius: 99px;
                background: rgba(255,255,255,.55);
                box-shadow: 0 0 0 4px rgba(255,255,255,.10);
            }

        .page-buyback .hero.hero--vykup .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 8px;
        }

        .page-buyback .hero.hero--vykup .btn {
            box-shadow: 0 14px 34px rgba(0,0,0,.25);
            border-color: rgba(255,255,255,.10);
        }

        .page-buyback .hero.hero--vykup .btn-primary {
            background: var(--bb-brand);
            border-color: rgba(255,255,255,.10);
        }

            .page-buyback .hero.hero--vykup .btn-primary:hover {
                transform: translateY(-1px);
                box-shadow: 0 18px 44px rgba(0,0,0,.33);
            }

        .page-buyback .hero.hero--vykup .btn-outline {
            background: rgba(255,255,255,.08);
            color: #fff;
            border-color: rgba(255,255,255,.22);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
        }

            .page-buyback .hero.hero--vykup .btn-outline:hover {
                transform: translateY(-1px);
                border-color: rgba(255,255,255,.35);
                background: rgba(255,255,255,.11);
            }

        /* PROCESS BAR */
        .page-buyback .process-bar {
            position: relative;
            background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
            border-bottom: 1px solid var(--sak-border);
        }

            .page-buyback .process-bar::before {
                content: "";
                position: absolute;
                inset: 0;
                background: repeating-linear-gradient(-45deg, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 4px);
                opacity: .15;
                pointer-events: none;
            }

        .page-buyback .process-steps {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1.2rem;
            padding: 1.35rem 0;
        }

            .page-buyback .process-steps::before {
                content: "";
                position: absolute;
                top: 50%;
                left: 8px;
                right: 8px;
                height: 2px;
                background: linear-gradient(90deg, rgba(0,85,204,.12), rgba(0,85,204,.28), rgba(0,85,204,.12));
                z-index: 0;
            }

        .page-buyback .process-step {
            position: relative;
            z-index: 1;
            flex: 1;
            display: flex;
            align-items: flex-start;
            gap: .85rem;
            background: #fff;
            border: 1px solid var(--sak-border);
            border-radius: 18px;
            padding: 1rem 1.1rem;
            box-shadow: var(--shadow-sm);
        }

        .page-buyback .process-line {
            display: none;
        }

        .page-buyback .process-ico {
            width: 44px;
            height: 44px;
            border-radius: 999px;
            display: grid;
            place-items: center;
            background: #eaf0ff;
            color: var(--sak-brand);
            font-size: 1.05rem;
            font-weight: 900;
            flex: 0 0 auto;
        }

        .page-buyback .process-step .txt strong {
            display: block;
            font-weight: 900;
            font-size: 1rem;
            line-height: 1.2;
            color: var(--sak-ink);
        }

        .page-buyback .process-step .txt span {
            display: block;
            margin-top: .2rem;
            color: var(--sak-muted);
            font-size: var(--fs-sm);
            line-height: 1.35;
        }

        /* Buyback typografie, layout, karty, formulář */
        .page-buyback h2 {
            font-size: 2.4rem;
            font-weight: 900;
            margin-bottom: .75rem;
            line-height: 1.15;
        }

            .page-buyback h2 span {
                color: var(--sak-brand);
            }

        .page-buyback .sub {
            color: var(--sak-muted);
            max-width: 82ch;
        }

        .page-buyback .layout {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
            gap: 1.6rem;
            align-items: start;
            margin-top: 2rem;
        }

        .page-buyback .card {
            background: #fff;
            border: 1px solid #e2e6ef;
            border-radius: 22px;
            padding: 1.45rem var(--lh-base);
            box-shadow: var(--shadow-sm);
        }

        .page-buyback .card--form {
            border: 1px solid rgba(0,85,204,.20);
            box-shadow: var(--shadow-md);
            background: linear-gradient(180deg, rgba(0,85,204,.06) 0%, #fff 30%);
        }

        .page-buyback .form-head {
            margin-bottom: .85rem;
        }

            .page-buyback .form-head h3 {
                font-size: var(--fs-xl);
                font-weight: 900;
                color: var(--sak-ink);
                line-height: 1.2;
                margin: 0;
            }

            .page-buyback .form-head p {
                margin-top: .35rem;
                color: var(--sak-soft);
                font-size: var(--fs-sm);
                max-width: 70ch;
            }

        .page-buyback .grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: var(--fs-sm);
            margin-top: 1rem;
        }

        .page-buyback .grid-1 {
            grid-column: 1 / -1;
        }

        .page-buyback label {
            display: block;
            font-weight: 900;
            font-size: .86rem;
            color: #334155;
            margin-bottom: .45rem;
            letter-spacing: .01em;
        }

        .page-buyback .req {
            color: #b91c1c;
            font-weight: 950;
            margin-left: .2rem;
        }

        .page-buyback input,
        .page-buyback textarea,
        .page-buyback select {
            width: 100%;
            border: 1px solid var(--sak-border);
            border-radius: 14px;
            padding: .85rem var(--fs-sm);
            font-size: 1rem;
            outline: none;
            background: #fff;
            color: var(--sak-ink);
            transition: border-color .15s ease, box-shadow .15s ease;
        }

        .page-buyback textarea {
            min-height: 170px;
            resize: vertical;
        }

            .page-buyback input:focus,
            .page-buyback textarea:focus,
            .page-buyback select:focus {
                border-color: #c7d4f5;
                box-shadow: 0 0 0 4px rgba(0,85,204,.10);
            }

        .page-buyback .mini-help {
            margin-top: .6rem;
            display: flex;
            gap: .55rem;
            flex-wrap: wrap;
            color: var(--sak-soft);
            font-size: var(--fs-btn);
        }

        .page-buyback .pill {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            padding: .28rem .65rem;
            border-radius: 999px;
            border: 1px solid var(--sak-border);
            background: var(--sak-bg-soft);
            font-weight: 750;
        }

        .page-buyback .actions {
            margin-top: 1.2rem;
            padding: var(--fs-sm);
            border-top: 1px solid var(--sak-border-soft);
            background: rgba(248,250,252,.85);
            border-radius: 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: .85rem;
            flex-wrap: wrap;
        }

        .page-buyback .privacy {
            color: var(--sak-soft);
            font-size: var(--fs-btn);
            max-width: 70ch;
        }

            .page-buyback .privacy a {
                color: var(--sak-brand);
                font-weight: 850;
            }

                .page-buyback .privacy a:hover {
                    text-decoration: underline;
                }

        .page-buyback .side h3 {
            font-size: 1.1rem;
            font-weight: 900;
            margin-bottom: .6rem;
        }

        .page-buyback .side p {
            color: var(--sak-muted);
            font-size: .98rem;
        }

        .page-buyback .tick {
            margin-top: .85rem;
            display: flex;
            gap: .7rem;
            align-items: flex-start;
            padding: var(--fs-btn) var(--fs-sm);
            border: 1px solid var(--sak-border);
            border-radius: 16px;
            background: var(--sak-bg-soft);
        }

        .page-buyback .ico {
            width: 34px;
            height: 34px;
            border-radius: 999px;
            background: #eaf0ff;
            color: var(--sak-brand);
            display: grid;
            place-items: center;
            font-weight: 950;
            flex: 0 0 auto;
        }

        .page-buyback .tick strong {
            display: block;
            font-weight: 900;
        }

        .page-buyback .tick span {
            display: block;
            color: var(--sak-muted);
            font-size: var(--fs-sm);
            line-height: 1.5;
            margin-top: .1rem;
        }

        .page-buyback .alt {
            margin-top: 1.05rem;
            padding-top: 1rem;
            border-top: 1px solid var(--sak-border-soft);
            display: grid;
            gap: .7rem;
        }

            .page-buyback .alt a {
                border: 1px solid var(--sak-border);
                border-radius: 16px;
                padding: var(--fs-btn) 1rem;
                background: #fff;
                display: flex;
                justify-content: space-between;
                align-items: center;
                gap: .7rem;
                font-weight: 900;
                transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
            }

                .page-buyback .alt a:hover {
                    transform: translateY(-2px);
                    box-shadow: 0 14px 35px rgba(15,23,42,.10);
                    border-color: #c7d4f5;
                }

        .page-buyback .mini {
            color: var(--sak-soft);
            font-weight: 800;
            font-size: .84rem;
        }

        /* FAQ */
        .page-buyback .faq {
            margin-top: 2rem;
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: 1rem;
        }

        .page-buyback details {
            background: #fff;
            border: 1px solid var(--sak-border);
            border-radius: 16px;
            box-shadow: var(--shadow-sm);
            padding: var(--fs-btn) 1rem;
            transition: border-color .16s ease;
        }

            .page-buyback details:hover {
                border-color: #c7d4f5;
            }

        .page-buyback summary {
            list-style: none;
            cursor: pointer;
            font-weight: 900;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            color: #0f172a;
        }

            .page-buyback summary::-webkit-details-marker {
                display: none;
            }

        .page-buyback .chev {
            width: 34px;
            height: 34px;
            border-radius: 999px;
            display: grid;
            place-items: center;
            background: #eaf0ff;
            color: var(--sak-brand);
            flex: 0 0 auto;
            transition: transform .16s ease;
            font-weight: 950;
        }

        .page-buyback details[open] .chev {
            transform: rotate(45deg);
        }

        .page-buyback details p {
            color: var(--sak-muted);
            margin-top: .7rem;
            padding-top: .7rem;
            border-top: 1px solid var(--sak-border-soft);
            font-size: .98rem;
        }

        /* File uploader */
        .page-buyback .uploader {
            border: 1px dashed rgba(0,85,204,.25);
            background: rgba(0,85,204,.03);
            border-radius: 16px;
            padding: 1rem;
        }

            .page-buyback .uploader input[type="file"] {
                position: absolute;
                width: 1px;
                height: 1px;
                opacity: 0;
                pointer-events: none;
            }

        .page-buyback .uploader-ui {
            display: flex;
            align-items: center;
            gap: var(--fs-btn);
            padding: var(--fs-sm);
            border-radius: 14px;
            background: #fff;
            border: 1px solid var(--sak-border);
            box-shadow: var(--shadow-sm);
            cursor: pointer;
            transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
        }

            .page-buyback .uploader-ui:hover {
                transform: translateY(-1px);
                border-color: rgba(0,85,204,.25);
                box-shadow: 0 14px 35px rgba(15,23,42,.10);
            }

        .page-buyback .uploader.is-dragover .uploader-ui {
            border-color: rgba(0,85,204,.45);
            box-shadow: 0 0 0 4px rgba(0,85,204,.10);
        }

        .page-buyback .uploader-ico {
            width: 42px;
            height: 42px;
            border-radius: 999px;
            background: #eaf0ff;
            color: var(--sak-brand);
            display: grid;
            place-items: center;
            font-weight: 950;
            flex: 0 0 auto;
        }

        .page-buyback .uploader-text strong {
            display: block;
            font-weight: 900;
            line-height: 1.2;
        }

        .page-buyback .uploader-text span {
            display: block;
            color: var(--sak-soft);
            font-size: .92rem;
            margin-top: .15rem;
        }

        .page-buyback .uploader-cta {
            margin-left: auto;
            padding: .55rem var(--fs-btn);
            border-radius: 999px;
            background: var(--sak-brand);
            color: #fff;
            font-weight: 850;
            font-size: var(--fs-btn);
            white-space: nowrap;
        }

        .page-buyback .uploader-meta {
            margin-top: .65rem;
            color: var(--sak-soft);
            font-size: var(--fs-btn);
        }

        .page-buyback .filelist {
            margin-top: .85rem;
            display: grid;
            gap: .5rem;
        }

        .page-buyback .fileitem {
            display: flex;
            align-items: center;
            gap: .65rem;
            padding: .65rem .75rem;
            border: 1px solid var(--sak-border);
            border-radius: 12px;
            background: #fff;
        }

        .page-buyback .filebadge {
            width: 34px;
            height: 34px;
            border-radius: 10px;
            display: grid;
            place-items: center;
            background: #eaf0ff;
            color: var(--sak-brand);
            font-weight: 950;
            flex: 0 0 auto;
        }

        .page-buyback .filename {
            font-weight: 900;
            font-size: var(--fs-sm);
            line-height: 1.2;
        }

        .page-buyback .filesize {
            color: var(--sak-soft);
            font-size: .86rem;
            margin-top: .1rem;
        }

        .page-buyback .fileremove {
            margin-left: auto;
            border: 1px solid var(--sak-border);
            background: #fff;
            color: var(--sak-ink);
            border-radius: 999px;
            padding: .45rem .7rem;
            font-weight: 900;
            cursor: pointer;
        }

            .page-buyback .fileremove:hover {
                border-color: rgba(239,68,68,.35);
                box-shadow: 0 0 0 4px rgba(239,68,68,.10);
            }

    /* BUYBACK responsive */
    @media (max-width:1024px) {
        .page-buyback .layout {
            grid-template-columns: 1fr;
        }

        .page-buyback .faq {
            grid-template-columns: 1fr;
        }

        .page-buyback .process-steps {
            flex-direction: column;
            gap: 1rem;
        }

            .page-buyback .process-steps::before {
                display: none;
            }
    }

    @media (max-width:720px) {
        .page-buyback .hero.hero--vykup {
            background-position: 78% center;
            min-height: 420px;
        }

        .page-buyback .hero__inner {
            max-width: 100%;
            padding: 44px 0 56px;
        }

        .page-buyback .hero.hero--vykup::before {
            background: radial-gradient(900px 520px at 18% 25%, rgba(0,0,0,.80) 0%, rgba(0,0,0,.55) 52%, rgba(0,0,0,.20) 78%, rgba(0,0,0,0) 100%), linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.20) 70%, rgba(0,0,0,0) 86%);
        }
    }

    @media (max-width:640px) {
        .page-buyback .container {
            padding: 0 var(--fs-xl);
        }

        .page-buyback .grid {
            grid-template-columns: 1fr;
        }

        .page-buyback .btn {
            width: 100%;
        }

        .page-buyback .btn-small {
            width: 100%;
            justify-content: center;
        }

        .page-buyback .actions {
            justify-content: flex-start;
        }
    }

    /* =========================================================
   ABOUT-US PAGE (sjednoceno do site.css)
   Použití:
   - obalte obsah stránky do: <main class="page page-aboutus"> ... </main>
   - na stránce už NElinkujte aboutus.css
   ========================================================= */

    .page-aboutus {
        --au-heroText: #ffffff;
        --au-heroMuted: rgba(255,255,255,.86);
    }

        /* About stránka používá vlastní sekce (na webu je .section často flex) */
        .page-aboutus .section {
            display: block;
            padding: 4.5rem 0;
        }

        .page-aboutus .section--alt {
            background: var(--sak-section-alt);
        }

        /* =========================================
   HERO – ABOUT (full width image + overlay)
   ========================================= */

        .page-aboutus .about-hero {
            position: relative;
            overflow: hidden;
            background: #0b1220;
            color: var(--au-heroText);
        }

            /* obrázek + hlavní overlay */
            .page-aboutus .about-hero::before {
                content: "";
                position: absolute;
                inset: 0;
                /* levá část tmavá pro čitelnost, vpravo fotka zůstane viditelnější */
                background: linear-gradient( 90deg, rgba(2,6,23,.86) 0%, rgba(2,6,23,.62) 42%, rgba(2,6,23,.30) 70%, rgba(2,6,23,0) 100% ), url("/images/about.jpg") center/cover no-repeat;
                filter: saturate(.95) contrast(1.05);
                transform: scale(1.02);
            }

            /* jemný brand glow */
            .page-aboutus .about-hero::after {
                content: "";
                position: absolute;
                inset: 0;
                background: radial-gradient(circle at 16% 22%, rgba(0,85,204,.22), transparent 56%);
                pointer-events: none;
            }

            /* obsah hero */
            .page-aboutus .about-hero .container {
                position: relative;
                z-index: 2;
                padding-top: 4.2rem;
                padding-bottom: 4.2rem;
            }

        /* Breadcrumbs */
        .page-aboutus .crumbs {
            display: flex;
            flex-wrap: wrap;
            gap: .45rem;
            align-items: center;
            color: rgba(255,255,255,.78);
            font-size: var(--fs-btn);
            margin-bottom: 1.05rem;
        }

            .page-aboutus .crumbs a {
                color: rgba(255,255,255,.86);
                text-decoration: none;
                font-weight: 800;
            }

                .page-aboutus .crumbs a:hover {
                    text-decoration: underline;
                }

            .page-aboutus .crumbs .sep {
                opacity: .6;
            }

        /* Eyebrow (malý nadpis) */
        .page-aboutus .eyebrow {
            font-size: .82rem;
            text-transform: uppercase;
            letter-spacing: .18em;
            color: rgba(148,163,184,.95);
            margin-bottom: .65rem;
            font-weight: 900;
        }

        /* Headings */
        .page-aboutus .about-hero h1 {
            font-size: clamp(2.15rem, 3.6vw, 3.05rem);
            line-height: 1.06;
            font-weight: 950;
            letter-spacing: -.02em;
            max-width: 22ch;
            margin: 0;
        }

        .page-aboutus .about-hero p.lead {
            margin-top: 1rem;
            font-size: 1.05rem;
            color: var(--au-heroMuted);
            max-width: 72ch;
            line-height: 1.65;
        }

        /* hero badges (nezaměňovat s homepage .hero-badges) */
        .page-aboutus .about-hero .hero-badges {
            display: flex;
            flex-wrap: wrap;
            gap: .6rem;
            margin-top: 1.45rem;
        }

        .page-aboutus .about-hero .badge {
            font-size: .82rem;
            padding: .42rem .85rem;
            border-radius: 999px;
            border: 1px solid rgba(255,255,255,.20);
            background: rgba(255,255,255,.10);
            color: rgba(255,255,255,.92);
            font-weight: 600;
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }

        /* Actions – používají existující tlačítka z webu (.btn-small...) */
        .page-aboutus .about-hero .hero-actions {
            margin-top: 1.55rem;
            display: flex;
            flex-wrap: wrap;
            gap: .9rem;
            align-items: center;
        }

        /* jen v hero: sekundární tlačítko na tmavém pozadí mírně "glass" */
        .page-aboutus .about-hero .btn-small {
            box-shadow: 0 12px 30px rgba(0,0,0,.18);
        }

            .page-aboutus .about-hero .btn-small.eshop {
                background: rgba(255,255,255,.10);
                border-color: rgba(255,255,255,.24);
                color: #fff;
            }

                .page-aboutus .about-hero .btn-small.eshop:hover {
                    background: rgba(255,255,255,.16);
                    border-color: rgba(255,255,255,.30);
                }

        /* =========================================
   Typography within page
   ========================================= */

        .page-aboutus h2 {
            font-size: 2.15rem;
            line-height: 1.15;
            font-weight: 950;
            margin-bottom: .75rem;
            letter-spacing: -.01em;
        }

            .page-aboutus h2 span {
                color: var(--sak-brand);
            }

        .page-aboutus .sub {
            color: var(--sak-muted);
            max-width: 80ch;
            font-size: 1rem;
            line-height: 1.6;
        }

        /* =========================================
   Layout blocks
   ========================================= */

        .page-aboutus .grid-2 {
            display: grid;
            grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
            gap: 2rem;
            align-items: start;
            margin-top: 2rem;
        }

        .page-aboutus .card {
            background: var(--sak-bg);
            border: 1px solid #e2e6ef;
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-sm);
            padding: 1.4rem 1.45rem;
        }

        /* Facts */
        .page-aboutus .facts {
            display: grid;
            gap: .85rem;
        }

        .page-aboutus .fact {
            border: 1px solid var(--sak-border);
            border-radius: 16px;
            padding: var(--fs-sm) 1rem;
            background: var(--sak-bg-soft);
        }

            .page-aboutus .fact .k {
                font-size: .78rem;
                text-transform: uppercase;
                letter-spacing: .14em;
                color: #94a3b8;
                font-weight: 900;
                margin-bottom: .25rem;
            }

            .page-aboutus .fact .v {
                font-weight: 950;
                font-size: 1.1rem;
                color: var(--sak-ink);
            }

            .page-aboutus .fact .s {
                margin-top: .35rem;
                color: var(--sak-muted);
                font-size: var(--fs-sm);
                line-height: 1.5;
            }

        /* Lists + pills */
        .page-aboutus .list {
            margin-top: 1.1rem;
            padding-left: 1.1rem;
            color: var(--sak-muted);
            font-size: .98rem;
        }

            .page-aboutus .list li {
                margin: .35rem 0;
            }

            .page-aboutus .list strong {
                color: var(--sak-ink);
            }

        .page-aboutus .pill-row {
            margin-top: 1.1rem;
            display: flex;
            flex-wrap: wrap;
            gap: .5rem;
        }

        .page-aboutus .pill {
            font-size: .85rem;
            padding: .35rem .75rem;
            border-radius: 999px;
            border: 1px solid var(--sak-border);
            background: var(--sak-bg);
            color: #334155;
            font-weight: 800;
        }

        /* Audience */
        .page-aboutus .audience {
            margin-top: 2rem;
            display: grid;
            grid-template-columns: repeat(2, minmax(0,1fr));
            gap: 1.2rem;
        }

        .page-aboutus .aud-card {
            background: var(--sak-bg);
            border-radius: var(--radius-md);
            border: 1px solid #e2e6ef;
            box-shadow: var(--shadow-sm);
            padding: 1.35rem 1.4rem;
        }

            .page-aboutus .aud-card h3 {
                font-size: 1.15rem;
                font-weight: 950;
                margin-bottom: .4rem;
            }

            .page-aboutus .aud-card p {
                color: var(--sak-muted);
                font-size: .98rem;
                line-height: 1.6;
                margin: 0;
            }

        /* Bottom CTA band */
        .page-aboutus .cta-band {
            background: radial-gradient(circle at 0 0, #e6f0ff 0%, #ffffff 55%, #f5f7fb 100%);
            border-top: 1px solid var(--sak-border);
            border-bottom: 1px solid var(--sak-border);
        }

        .page-aboutus .cta-inner {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 1.5rem;
            flex-wrap: wrap;
        }

            .page-aboutus .cta-inner h3 {
                font-size: 1.35rem;
                font-weight: 950;
                line-height: 1.2;
                margin: 0;
            }

            .page-aboutus .cta-inner p {
                margin-top: .5rem;
                color: var(--sak-muted);
                max-width: 72ch;
                line-height: 1.6;
            }

    /* =========================================
   ABOUT responsive
   ========================================= */

    @media (max-width:1024px) {
        .page-aboutus .about-hero .container {
            padding-top: 3.7rem;
            padding-bottom: 3.7rem;
        }

        .page-aboutus .about-hero h1 {
            font-size: clamp(2.0rem, 5vw, 2.6rem);
        }

        .page-aboutus .grid-2 {
            grid-template-columns: 1fr;
        }

        .page-aboutus .audience {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width:640px) {
        .page-aboutus .about-hero .container {
            padding-top: 3.2rem;
            padding-bottom: 3.2rem;
        }

        .page-aboutus .about-hero p.lead {
            font-size: 1rem;
        }

        .page-aboutus .about-hero .hero-actions {
            width: 100%;
        }

        .page-aboutus .about-hero .btn-small {
            width: 100%;
            justify-content: center;
        }
    }

    /* new aboutus styling */
    .page-aboutus .brand-logos {
        display: flex;
        flex-wrap: wrap;
        gap: 14px 18px;
        align-items: center;
        margin-top: 14px;
    }

        .page-aboutus .brand-logos img {
            height: auto;
            width: 70px;
            max-width: 140px;
            object-fit: contain;
            /*filter: grayscale(1);*/
            opacity: .88;
            transition: filter .15s ease, opacity .15s ease, transform .15s ease;
        }

            .page-aboutus .brand-logos img:hover {
                filter: grayscale(0);
                opacity: 1;
                transform: translateY(-1px);
            }

    /* lepší čitelnost, když jsou loga tmavá a podklad světlý */
    .page-aboutus .brand-logos {
        padding: 10px 12px;
        border: 1px solid var(--sak-border);
        border-radius: 14px;
        background: var(--sak-bg-soft);
    }

    /* end new aboutus styling */


    /* =========================================================
   AGRO page (scoped)
   ========================================================= */
    .page-agro .agro-hero {
        position: relative;
        overflow: hidden;
        padding: 4rem 0 3.5rem;
        border-bottom: 1px solid var(--sak-border);
        /* foto */
        background: url("/images/agro/agro.png") center right / cover no-repeat;
        background-position: 60% center; /* dolaď 60–80% */
    }

        /* čitelnost + brand overlay */
        .page-agro .agro-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.88) 35%, rgba(255,255,255,0.62) 60%, rgba(255,255,255,0.22) 100% );
            z-index: 1;
        }

        .page-agro .agro-hero::after {
            content: "";
            position: absolute;
            inset: -20%;
            background: radial-gradient(circle at 0 0, rgba(0,85,204,0.14) 0%, rgba(0,85,204,0.06) 28%, rgba(0,85,204,0.00) 60% );
            z-index: 2;
            pointer-events: none;
        }

        .page-agro .agro-hero .container {
            position: relative;
            z-index: 3;
        }

    .page-agro .agro-hero__title {
        font-size: 2.7rem;
        font-weight: 900;
        line-height: 1.1;
        max-width: 28ch;
    }

        .page-agro .agro-hero__title span {
            color: var(--sak-brand);
        }

    .page-agro .agro-hero__lead {
        margin-top: 1rem;
        max-width: 80ch;
        color: var(--sak-muted);
        font-size: 1.05rem;
    }

    /* badges */
    .page-agro .agro-badges {
        margin-top: 1.2rem;
        display: flex;
        gap: .6rem;
        flex-wrap: wrap;
    }

    .page-agro .agro-badge {
        font-size: .82rem;
        padding: .4rem .8rem;
        border-radius: 999px;
        background: var(--sak-bg);
        border: 1px solid #c7d4f5;
        color: #1e293b;
        font-weight: 750;
    }

    /* cards + grid */
    .page-agro .agro-grid-2 {
        display: grid;
        grid-template-columns: 1.05fr .95fr;
        gap: 1.8rem;
        margin-top: 2rem;
    }

    .page-agro .agro-card {
        background: var(--sak-bg);
        border: 1px solid var(--sak-border);
        border-radius: var(--radius-md);
        padding: 1.4rem 1.5rem;
        box-shadow: var(--shadow-sm);
    }

        .page-agro .agro-card h3 {
            margin: 0 0 .6rem;
            font-size: 1.1rem;
            font-weight: 850;
            color: var(--sak-ink);
        }

    .page-agro .agro-list {
        padding-left: 1.1rem;
        margin: .2rem 0 0;
        color: #334155;
    }

        .page-agro .agro-list li {
            margin: .35rem 0;
        }

    .page-agro .agro-card--cta {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .page-agro .agro-note {
        margin: 0 0 1.2rem;
        color: var(--sak-muted);
        line-height: 1.6;
    }

    .page-agro .agro-cta {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
        align-items: center;
    }

    /* responsive */
    @media (max-width: 900px) {
        .page-agro .agro-grid-2 {
            grid-template-columns: 1fr;
        }

        .page-agro .agro-hero__title {
            font-size: 2.2rem;
        }

        .page-agro .agro-hero {
            background-position: 70% center;
        }
    }



    /* =========================================================
   PAGE HERO (unified)
   ========================================================= */
    .page-hero {
        position: relative;
        overflow: hidden;
        border-bottom: 1px solid var(--sak-border);
        padding: 4rem 0 3.5rem; /* stejné jako buyback/agro */
    }

        .page-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 1;
            pointer-events: none;
        }

    /* vnitřní layout (sjednocení výšky) */
    .page-hero__inner {
        position: relative;
        z-index: 2;
        min-height: 320px; /* <- sjednocená výška hero napříč webem */
        display: flex;
        align-items: center;
    }

    .page-hero__content {
        max-width: 760px;
    }

    .page-hero__title {
        font-size: 2.7rem;
        font-weight: 900;
        line-height: 1.1;
        margin: 0;
    }

        .page-hero__title span {
            color: var(--sak-brand);
        }

    .page-hero__lead {
        margin-top: 1rem;
        color: var(--sak-muted);
        font-size: 1.05rem;
        line-height: 1.6;
        max-width: 80ch;
    }

    .page-hero__actions {
        margin-top: var(--fs-xl);
        display: flex;
        gap: .8rem;
        flex-wrap: wrap;
        align-items: center;
    }

    /* =========================================================
   GLASS BUTTONS (unified)
   ========================================================= */
    .gbtn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        padding: .75rem var(--fs-xl);
        border-radius: 999px;
        font-weight: 800;
        font-size: var(--fs-sm);
        text-decoration: none;
        border: 1px solid rgba(15,23,42,.12);
        background: rgba(255,255,255,.72);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 12px 30px rgba(15,23,42,.10);
        transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
        color: var(--sak-ink);
    }

        .gbtn:hover {
            transform: translateY(-2px);
            box-shadow: 0 18px 45px rgba(15,23,42,.14);
            border-color: rgba(0,85,204,.25);
        }

    /* primární (brand) */
    .gbtn--primary {
        background: rgba(0,85,204,.92);
        border-color: rgba(0,85,204,.10);
        color: #fff;
    }

        .gbtn--primary:hover {
            background: rgba(0,63,153,.95);
            border-color: rgba(0,63,153,.20);
        }

    /* ghost (glass outline) */
    .gbtn--ghost {
        background: rgba(255,255,255,.70);
        color: var(--sak-brand);
        border-color: rgba(0,85,204,.20);
    }

        .gbtn--ghost:hover {
            background: rgba(0,85,204,.10);
        }


    /* =========================================================
   CHIPS (unified)
   ========================================================= */
    .chips {
        margin-top: 1.1rem;
        display: flex;
        gap: .55rem;
        flex-wrap: wrap;
    }

    .chip {
        font-size: .82rem;
        padding: .38rem .8rem;
        border-radius: 999px;
        background: rgba(255,255,255,.72);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(0,85,204,.18);
        color: #1e293b;
        font-weight: 750;
    }

    /* =========================================================
   PAGE HERO skin: AGRO
   ========================================================= */
    .page-hero--agro {
        background: url("/images/agro/agro.png") center right / cover no-repeat;
        background-position: 60% center;
    }

        .page-hero--agro::before {
            background: linear-gradient(90deg, rgba(255,255,255,0.94) 0%, rgba(255,255,255,0.88) 35%, rgba(255,255,255,0.62) 60%, rgba(255,255,255,0.22) 100% );
        }


    /* =========================================================
   HERO (unified page hero – buyback style)
   Použití:
   <section class="hero hero--page hero--agro"> ... </section>
   <section class="hero hero--page hero--vykup"> ... </section>
   ========================================================= */

    /* =========================================================
   HERO – unified page hero (buyback look)
   ========================================================= */
    /* =========================================================
   HERO – unified page hero (buyback look)
   ========================================================= */
    .hero.hero--page {
        position: relative;
        overflow: hidden;
        border-bottom: 1px solid var(--sak-border);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: right center;
        min-height: clamp(360px, 52vh, 520px);
    }

        .hero.hero--page > .container {
            position: relative;
            z-index: 1;
        }

        .hero.hero--page .hero__inner {
            color: #fff;
            padding: clamp(42px, 7vh, 78px) 0;
            max-width: 880px;
        }

        .hero.hero--page h1 {
            margin: 0 0 14px;
            font-weight: 900;
            letter-spacing: -.02em;
            line-height: 1.05;
            font-size: clamp(2.1rem, 4.2vw, 3.2rem);
            text-shadow: 0 10px 34px rgba(0,0,0,.45);
        }


        .hero.hero--page p {
            margin: 0 0 18px;
            max-width: 60ch;
            color: rgba(255,255,255,.80);
            font-size: clamp(1rem, 1.2vw, 1.1rem);
            line-height: var(--lh-base);
        }

        /* overlay – stejný jako buyback */
        .hero.hero--page::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: radial-gradient(1200px 600px at 12% 30%, rgba(0,0,0,.72) 0%, rgba(0,0,0,.44) 45%, rgba(0,0,0,.10) 70%, rgba(0,0,0,0) 100%), linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.44) 35%, rgba(0,0,0,.14) 62%, rgba(0,0,0,0) 78%), linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 38%, rgba(0,0,0,.20) 100%);
        }

        .hero.hero--page::after {
            content: "";
            position: absolute;
            inset: -20% -10% auto -10%;
            height: 60%;
            background: radial-gradient(60% 60% at 20% 30%, rgba(255,255,255,.10), rgba(255,255,255,0) 60%);
            filter: blur(10px);
            pointer-events: none;
            opacity: .8;
        }

        /* BADGES – stejné jako buyback */
        .hero.hero--page .badges {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin: 16px 0 22px;
        }

        .hero.hero--page .badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 12px;
            border-radius: 999px;
            background: rgba(255,255,255,.10);
            border: 1px solid rgba(255,255,255,.16);
            color: rgba(255,255,255,.88);
            font-size: .92rem;
            line-height: 1;
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
        }

            .hero.hero--page .badge::before {
                content: "";
                width: 8px;
                height: 8px;
                border-radius: 99px;
                background: rgba(255,255,255,.55);
                box-shadow: 0 0 0 4px rgba(255,255,255,.10);
            }

        /* CTA – stejné jako buyback */
        .hero.hero--page .hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 8px;
        }

        .hero.hero--page .btn {
            box-shadow: 0 14px 34px rgba(0,0,0,.25);
            border-color: rgba(255,255,255,.10);
        }

        .hero.hero--page .btn-primary {
            border-color: rgba(255,255,255,.10);
        }

            .hero.hero--page .btn-primary:hover {
                transform: translateY(-1px);
                box-shadow: 0 18px 44px rgba(0,0,0,.33);
            }

        .hero.hero--page .btn-outline {
            background: rgba(255,255,255,.08);
            color: #fff;
            border-color: rgba(255,255,255,.22);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
        }

            .hero.hero--page .btn-outline:hover {
                transform: translateY(-1px);
                border-color: rgba(255,255,255,.35);
                background: rgba(255,255,255,.11);
            }


    .hero.hero--agro {
        background-image: url("/images/agro/agro.png");
        background-position: 60% center;
    }


    .page-buyback .hero.hero--vykup {
        --hero-bg: url("/Images/buyback/buyback-hero.png");
        background-image: var(--hero-bg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: right center;
    }


    /* HERO skin: ABOUT */
    .hero.hero--about {
        background-image: url("/images/about.jpg"); /* uprav cestu dle reality */
        background-position: center;
    }

    /* crumbs inside unified hero */
    .hero.hero--page .crumbs {
        display: flex;
        flex-wrap: wrap;
        gap: .45rem;
        align-items: center;
        color: rgba(255,255,255,.78);
        font-size: var(--fs-btn);
        margin-bottom: 1.1rem;
    }

        .hero.hero--page .crumbs a {
            color: rgba(255,255,255,.82);
            text-decoration: none;
            font-weight: 700;
        }

            .hero.hero--page .crumbs a:hover {
                text-decoration: underline;
            }

        .hero.hero--page .crumbs .sep {
            opacity: .6;
        }


    .hero.hero--page {
        height: clamp(360px, 52vh, 520px);
        min-height: unset;
    }


    /* =========================================================
   INQUIRY PAGE (poptávka) – sjednocené styly do site.css
   Použití:
   - obalte obsah stránky do: <main class="page page-inquiry"> ... </main>
   - hero: <section class="page-hero page-hero--inquiry"> ... </section>
   - process: <section class="process-bar"> ... </section>
   - form sekce používá .inquiry-layout, .card, .card--form, .grid, .uploader
   ========================================================= */

    /* Page skin: Inquiry hero (light) */
    .page-hero--inquiry {
        background: radial-gradient(circle at 0 0,#e6f0ff 0%,#fff 52%,#f5f7fb 100%);
    }

        .page-hero--inquiry::before {
            /* jemné “tech” pozadí (bez obrázku) */
            background: radial-gradient(700px 480px at 85% 40%, rgba(0,85,204,.14), rgba(0,85,204,0) 60%), radial-gradient(520px 420px at 72% 70%, rgba(15,23,42,.06), rgba(15,23,42,0) 65%);
            opacity: .9;
        }

    /* PROCESS BAR (global – použitelné i jinde než na buyback) */
    .process-bar {
        position: relative;
        background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
        border-bottom: 1px solid var(--sak-border);
    }

        .process-bar::before {
            content: "";
            position: absolute;
            inset: 0;
            background: repeating-linear-gradient(-45deg, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 4px);
            opacity: .15;
            pointer-events: none;
        }

    .process-steps {
        position: relative;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 1.1rem;
        padding: 1.35rem 0;
    }

        .process-steps::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 8px;
            right: 8px;
            height: 2px;
            background: linear-gradient(90deg, rgba(0,85,204,.12), rgba(0,85,204,.28), rgba(0,85,204,.12));
            z-index: 0;
        }

    .process-step {
        position: relative;
        z-index: 1;
        flex: 1;
        display: flex;
        gap: .85rem;
        background: #fff;
        border: 1px solid var(--sak-border);
        border-radius: 18px;
        padding: 1rem 1.1rem;
        box-shadow: var(--shadow-sm);
    }

    .process-ico {
        width: 44px;
        height: 44px;
        border-radius: 999px;
        display: grid;
        place-items: center;
        background: #eaf0ff;
        color: var(--sak-brand);
        font-size: 1.05rem;
        font-weight: 900;
        flex: 0 0 auto;
    }

    .process-step .txt strong {
        display: block;
        font-weight: 900;
        font-size: 1rem;
        line-height: 1.2;
        color: var(--sak-ink);
    }

    .process-step .txt span {
        display: block;
        margin-top: .2rem;
        color: var(--sak-muted);
        font-size: var(--fs-sm);
        line-height: 1.35;
    }

    /* Inquiry layout + cards (scoped) */
    .page-inquiry .section {
        display: block;
        padding: 1rem 0;
    }

    #poptavka-form .section-heading-eyebrow {
        scroll-margin-top: calc(var(--header-h) + 12px);
    }

    .page-inquiry .section--tint {
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        /*border-bottom: 1px solid var(--sak-border-soft);*/
    }

    .page-inquiry .inquiry-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
        gap: 1.6rem;
        align-items: start;
        margin-top: 2rem;
    }

    .page-inquiry .card {
        background: #fff;
        border: 1px solid #e2e6ef;
        border-radius: 22px;
        padding: 1.45rem var(--lh-base);
        box-shadow: var(--shadow-sm);
    }

    .page-inquiry .card--form {
        border: 1px solid rgba(0,85,204,.20);
        box-shadow: var(--shadow-md);
        background: linear-gradient(180deg, rgba(0,85,204,.06) 0%, #fff 30%);
    }

    /* Form head */
    .page-inquiry .form-head {
        margin-bottom: .85rem;
    }

        .page-inquiry .form-head h3 {
            font-size: var(--fs-xl);
            font-weight: 900;
            color: var(--sak-ink);
            line-height: 1.2;
            margin: 0;
        }

        .page-inquiry .form-head p {
            margin-top: .35rem;
            color: var(--sak-soft);
            font-size: var(--fs-sm);
            max-width: 70ch;
        }

    /* Form grid + fields */
    .page-inquiry .grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: var(--fs-sm);
        margin-top: 1rem;
    }

    .page-inquiry .grid-1 {
        grid-column: 1 / -1;
    }

    .page-inquiry label {
        display: block;
        font-weight: 900;
        font-size: var(--fs-xxs);
        color: #334155;
        margin-bottom: .45rem;
        letter-spacing: .01em;
    }

    .page-inquiry .req {
        color: #b91c1c;
        font-weight: 950;
        margin-left: .2rem;
    }

    .page-inquiry input,
    .page-inquiry textarea,
    .page-inquiry select {
        width: 100%;
        border: 1px solid var(--sak-border);
        border-radius: 14px;
        padding: .85rem var(--fs-sm);
        font-size: 1rem;
        outline: none;
        background: #fff;
        color: var(--sak-ink);
        transition: border-color .15s ease, box-shadow .15s ease;
    }

    .page-inquiry textarea {
        min-height: 170px;
        resize: vertical;
    }

        .page-inquiry input:focus,
        .page-inquiry textarea:focus,
        .page-inquiry select:focus {
            border-color: #c7d4f5;
            box-shadow: 0 0 0 4px rgba(0,85,204,.10);
        }

    /* mini-help pills (stejné jako buyback) */
    .page-inquiry .mini-help {
        margin-top: .6rem;
        display: flex;
        gap: .55rem;
        flex-wrap: wrap;
        color: var(--sak-soft);
        font-size: var(--fs-btn);
    }

    .page-inquiry .pill {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        padding: .28rem .65rem;
        border-radius: 999px;
        border: 1px solid var(--sak-border);
        background: var(--sak-bg-soft);
        font-weight: 750;
    }

    /* Actions row */
    .page-inquiry .actions {
        margin-top: 1.2rem;
        padding: var(--fs-sm);
        border-top: 1px solid var(--sak-border-soft);
        background: rgba(248,250,252,.85);
        border-radius: 16px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .85rem;
        flex-wrap: wrap;
    }

    .page-inquiry .privacy {
        color: var(--sak-soft);
        font-size: var(--fs-btn);
        max-width: 70ch;
    }

        .page-inquiry .privacy a {
            color: var(--sak-brand);
            font-weight: 850;
        }

            .page-inquiry .privacy a:hover {
                text-decoration: underline;
            }

    /* Side card blocks (stejné jako buyback) */
    .page-inquiry .side h3 {
        font-size: var(--fs-xl);
        font-weight: 900;
        margin-bottom: .6rem;
    }

    .page-inquiry .side p {
        color: var(--sak-muted);
        font-size: var(--fs-md);
    }

    .page-inquiry .tick {
        margin-top: .85rem;
        display: flex;
        gap: .7rem;
        align-items: flex-start;
        padding: var(--fs-btn) var(--fs-sm);
        border: 1px solid var(--sak-border);
        border-radius: 16px;
        background: var(--sak-bg-soft);
    }

    .page-inquiry .ico {
        width: 34px;
        height: 34px;
        border-radius: 999px;
        background: #eaf0ff;
        color: var(--sak-brand);
        display: grid;
        place-items: center;
        font-weight: 950;
        flex: 0 0 auto;
    }

    .page-inquiry .tick strong {
        display: block;
        font-weight: 900;
        font-size: var(--fs-lg);
    }

    .page-inquiry .tick span {
        display: block;
        color: var(--sak-muted);
        font-size: var(--fs-sm);
        line-height: 1.5;
        margin-top: .1rem;
    }

    .alt {
        margin-top: 1.05rem;
        padding-top: 1rem;
        border-top: 1px solid var(--sak-border-soft);
        display: grid;
        gap: .7rem;
    }

    .inquiry-process-desc {
        font-size: var(--fs-xs) !important;
    }

    /* Contacts (alt) */
    /*.page-inquiry .alt {
    margin-top: 1.05rem;
    padding-top: 1rem;
    border-top: 1px solid var(--sak-border-soft);
    display: grid;
    gap: .7rem;
}

    .page-inquiry .alt a {
        border: 1px solid var(--sak-border);
        border-radius: 16px;
        padding: var(--fs-btn) 1rem;
        background: #fff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .7rem;
        font-weight: 900;
        transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
        text-decoration: none;
        color: inherit;
    }

        .page-inquiry .alt a:hover {
            transform: translateY(-2px);
            box-shadow: 0 14px 35px rgba(15,23,42,.10);
            border-color: #c7d4f5;
        }

.page-inquiry .mini {
    color: var(--sak-soft);
    font-weight: 800;
    font-size: .84rem;
}*/
    /* UPLOADER (global – použitelné i jinde, z buyback) */
    .uploader {
        position: relative;
        border: 1px dashed rgba(0,85,204,.25);
        background: rgba(0,85,204,.03);
        border-radius: 16px;
        padding: 1rem;
    }

        .uploader input[type="file"] {
            position: absolute;
            width: 1px;
            height: 1px;
            opacity: 0;
            pointer-events: none;
        }

    .uploader-ui {
        display: flex;
        align-items: center;
        gap: var(--fs-btn);
        padding: var(--fs-sm);
        border-radius: 14px;
        background: #fff;
        border: 1px solid var(--sak-border);
        box-shadow: var(--shadow-sm);
        cursor: pointer;
        transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease;
    }

        .uploader-ui:hover {
            transform: translateY(-1px);
            border-color: rgba(0,85,204,.25);
            box-shadow: 0 14px 35px rgba(15,23,42,.10);
        }

    .uploader.is-dragover .uploader-ui {
        border-color: rgba(0,85,204,.45);
        box-shadow: 0 0 0 4px rgba(0,85,204,.10);
    }

    .uploader-ico {
        width: 42px;
        height: 42px;
        border-radius: 999px;
        background: #eaf0ff;
        color: var(--sak-brand);
        display: grid;
        place-items: center;
        font-weight: 950;
        flex: 0 0 auto;
    }

    .uploader-text strong {
        display: block;
        font-weight: 900;
        line-height: 1.2;
    }

    .uploader-text span {
        display: block;
        color: var(--sak-soft);
        font-size: .92rem;
        margin-top: .15rem;
    }

    .uploader-cta {
        margin-left: auto;
        padding: .55rem var(--fs-btn);
        border-radius: 999px;
        background: var(--sak-brand);
        color: #fff;
        font-weight: 850;
        font-size: var(--fs-btn);
        white-space: nowrap;
    }

    .uploader-meta {
        margin-top: .65rem;
        color: var(--sak-soft);
        font-size: var(--fs-btn);
    }

    .filelist {
        margin-top: .85rem;
        display: grid;
        gap: .5rem;
    }

    .fileitem {
        display: flex;
        align-items: center;
        gap: .65rem;
        padding: .65rem .75rem;
        border: 1px solid var(--sak-border);
        border-radius: 12px;
        background: #fff;
    }

    .filebadge {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        background: #eaf0ff;
        color: var(--sak-brand);
        font-weight: 950;
        flex: 0 0 auto;
    }

    .filename {
        font-weight: 900;
        font-size: var(--fs-sm);
        line-height: 1.2;
    }

    .filesize {
        color: var(--sak-soft);
        font-size: .86rem;
        margin-top: .1rem;
    }

    .fileremove {
        margin-left: auto;
        border: 1px solid var(--sak-border);
        background: #fff;
        color: var(--sak-ink);
        border-radius: 999px;
        padding: .45rem .7rem;
        font-weight: 900;
        cursor: pointer;
    }

        .fileremove:hover {
            border-color: rgba(239,68,68,.35);
            box-shadow: 0 0 0 4px rgba(239,68,68,.10);
        }

    /* Responsive */
    @media (max-width:1024px) {
        .process-steps {
            flex-direction: column;
            gap: 1rem;
        }

            .process-steps::before {
                display: none;
            }

        .page-inquiry .inquiry-layout {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width:640px) {
        .page-inquiry .grid {
            grid-template-columns: 1fr;
        }

        .page-inquiry .btn {
            width: 100%;
        }

        .page-inquiry .actions {
            justify-content: flex-start;
        }
    }


    /* =========================================================
   HERO – unified page hero (centered like Inquiry)
   ========================================================= */

    .hero.hero--page {
        position: relative;
        overflow: hidden;
        border-bottom: 1px solid var(--sak-border);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: right center;
        /* jediný zdroj pravdy pro výšku */
        min-height: clamp(360px, 52vh, 520px);
    }

        /* container se musí roztáhnout na výšku hera */
        .hero.hero--page > .container {
            height: 100%;
        }

        /* skutečné vertikální centrování obsahu */
        .hero.hero--page .hero__inner {
            min-height: inherit; /* převezme min-height z hero */
            display: flex;
            flex-direction: column;
            justify-content: center; /* <- tohle dělá “stejnou mezeru nahoře i dole” */
            gap: 0;
            padding: 0; /* padding už nedělá “pseudo-centering” */
            max-width: 880px;
            color: #fff;
            position: relative;
            z-index: 1;
        }

        .hero.hero--page h1 {
            margin: 0 0 14px;
            font-weight: 900;
            letter-spacing: -.02em;
            line-height: 1.05;
            font-size: clamp(2.1rem, 4.2vw, 3.2rem);
            text-shadow: 0 10px 34px rgba(0,0,0,.45);
        }

        .hero.hero--page p {
            margin: 0 0 18px;
            max-width: 60ch;
            color: rgba(255,255,255,.80);
            font-size: clamp(1rem, 1.2vw, 1.1rem);
            line-height: var(--lh-base);
        }

        /* overlay (ponecháš jako máš) */
        .hero.hero--page::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: radial-gradient(1200px 600px at 12% 30%, rgba(0,0,0,.72) 0%, rgba(0,0,0,.44) 45%, rgba(0,0,0,.10) 70%, rgba(0,0,0,0) 100%), linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.44) 35%, rgba(0,0,0,.14) 62%, rgba(0,0,0,0) 78%), linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 38%, rgba(0,0,0,.20) 100%);
        }

        .hero.hero--page::after {
            content: "";
            position: absolute;
            inset: -20% -10% auto -10%;
            height: 60%;
            background: radial-gradient(60% 60% at 20% 30%, rgba(255,255,255,.10), rgba(255,255,255,0) 60%);
            filter: blur(10px);
            pointer-events: none;
            opacity: .8;
        }



    /* BADGES + CTA nech jak máš (funguje) */
    .hero.hero--page {
        --hero-accent: var(--sak-brand);
    }

        .hero.hero--page h1 span {
            color: var(--hero-accent);
        }

    .hero.hero--vykup {
        --hero-accent: #0b5cff;
    }

    .hero.hero--vykup {
        background-image: url("/Images/buyback/buyback-hero.png");
    }

    .hero.hero--agro {
        background-image: url("/images/agro/agro.png");
        background-position: 60% center;
    }

    .hero.hero--about {
        background-image: url("/images/about.jpg");
        background-position: center;
    }


    /* HERO skin: INQUIRY (light) */
    /*.hero.hero--inquiry {
    background-image: radial-gradient(circle at 0 0, #e6f0ff 0%, #ffffff 48%, #f5f7fb 100%);
    background-size: cover;
    background-position: center;
}*/
    .hero.hero--inquiry {
        position: relative;
        overflow: hidden;
        /* 1) RADIAL GRADIENT (nahoře, ale průhledný)
     2) OBRÁZEK (dole) */
        background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.85) 100% ), url("/images/inquiry/inquiry.jpg");
        background-repeat: no-repeat, no-repeat;
        /* gradient přes celé hero, obrázek velký vpravo */
        background-size: cover, clamp(520px, 55vw, 980px) auto;
        background-position: center, right center;
    }

        /* vypnout pseudo overlay z .hero--page (pokud existují jinde) */
        .hero.hero--inquiry::before,
        .hero.hero--inquiry::after {
            content: none !important;
        }



        /* typografie pro světlé hero */
        .hero.hero--inquiry .hero__inner {
            color: var(--sak-ink);
        }

        .hero.hero--inquiry p {
            color: var(--sak-muted);
        }

        /* chips/badges jako na homepage */
        .hero.hero--inquiry .badge {
            background: rgba(255,255,255,.78);
            border-color: #c7d4f5;
            color: #1e293b;
        }

        /* ✅ FIX: btn-outline na světlém hero */
        .hero.hero--inquiry .btn.btn-outline {
            background: rgba(255,255,255,.92);
            color: var(--sak-ink);
            border-color: rgba(15,23,42,.14);
            box-shadow: 0 14px 34px rgba(15,23,42,.12);
        }

            .hero.hero--inquiry .btn.btn-outline:hover {
                background: rgba(255,255,255,1);
                border-color: rgba(0,85,204,.25);
                transform: translateY(-1px);
                box-shadow: 0 18px 44px rgba(15,23,42,.16);
            }
        /* tečka v badge pro světlé hero (INQUIRY) */
        .hero.hero--inquiry .badge::before {
            background: rgba(0,85,204,.55); /* modrá tečka */
            box-shadow: 0 0 0 4px rgba(0,85,204,.12); /* jemný ring */
        }




        /* gradient overlay – STEJNÝ jako původní hero */
        .hero.hero--inquiry::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            background: radial-gradient( circle at 0 0, #e6f0ff 0%, #ffffff 48%, #f5f7fb 100% );
        }

        /* vnitřní obsah nad gradientem */
        .hero.hero--inquiry > .container {
            position: relative;
            z-index: 1;
        }

        /* světlý hero = tmavý text */
        .hero.hero--inquiry .hero__inner {
            color: var(--sak-ink);
        }

        .hero.hero--inquiry p {
            color: var(--sak-muted);
        }


    /* NAV DROPDOWN (hover, clean) ----------------------------*/
    .nav-dd {
        position: relative;
    }

    .nav-dd__toggle {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
    }

    .nav-caret {
        display: inline-flex;
        width: 16px;
        height: 16px;
        opacity: .55;
        transform: translateY(1px);
        transition: transform .14s ease, opacity .14s ease;
    }

    .nav-dd__menu {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        width: 320px;
        max-width: min(380px, 86vw);
        background: #fff;
        border: 1px solid var(--sak-border);
        border-radius: 16px;
        box-shadow: var(--shadow-md);
        padding: .55rem;
        z-index: 80;
        /* animace + “safe hover” */
        opacity: 0;
        transform: translateY(-6px);
        visibility: hidden;
        pointer-events: none;
        transition: opacity .14s ease, transform .14s ease, visibility 0s linear .14s;
    }

    .nav-dd__menu--wide {
        width: 360px;
    }

    .nav-dd:hover .nav-dd__menu,
    .nav-dd:focus-within .nav-dd__menu {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
        pointer-events: auto;
        transition: opacity .14s ease, transform .14s ease, visibility 0s;
    }

    .nav-dd:hover .nav-caret,
    .nav-dd:focus-within .nav-caret {
        opacity: .85;
        transform: translateY(1px) rotate(180deg);
    }

    .nav-dd__item {
        display: grid;
        gap: .15rem;
        padding: .62rem .7rem;
        border-radius: 12px;
        text-decoration: none;
        color: var(--sak-ink);
        border: 1px solid transparent;
    }

        .nav-dd__item:hover {
            background: #eef4ff;
            border-color: rgba(0,85,204,.16);
        }

    .nav-dd__title {
        font-weight: 650;
        line-height: 1.15;
    }

    .nav-dd__desc {
        font-size: .88rem;
        color: var(--sak-muted);
        line-height: 1.25;
    }

    .nav-dd__footer {
        margin-top: .35rem;
        padding: .35rem .45rem 0;
        border-top: 1px solid rgba(15,23,42,.08);
    }

    .nav-dd__more {
        display: inline-flex;
        gap: .35rem;
        font-weight: 750;
        font-size: var(--fs-btn);
        color: var(--sak-brand);
        text-decoration: none;
    }

        .nav-dd__more:hover {
            text-decoration: underline;
        }

    /* Mobile: dropdown jako “inline” pod položkou (hover neexistuje) */
    @media (max-width: 1024px) {
        .nav-dd__menu {
            position: static;
            width: 100%;
            max-width: 100%;
            margin-top: .35rem;
            opacity: 1;
            transform: none;
            visibility: visible;
            pointer-events: auto;
            box-shadow: none;
            border-radius: 12px;
            border: 1px solid rgba(15,23,42,.10);
            background: rgba(255,255,255,.85);
            transition: none;
            display: none; /* default zavřeno */
        }

        .nav-dd.is-open .nav-dd__menu {
            display: block;
        }
    }


    /* --- FIX: hover gap bridge -------------------------------- */
    .nav-dd__menu {
        top: calc(100% + 6px);
    }

    .nav-dd::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 10px;
        background: transparent;
        display: none;
    }

    .nav-dd:hover::before,
    .nav-dd:focus-within::before {
        display: block;
    }

    .btn-secondary {
        background: #fff;
        border: 2px solid rgba(0,85,204,.25);
        color: var(--sak-brand);
        font-weight: 700;
    }

        .btn-secondary:hover {
            background: rgba(0,85,204,.06);
            border-color: var(--sak-brand);
        }





    .hero.hero--about h1 span {
        color: var(--sak-brand);
    }

    .hero.hero--about p {
        color: var(--sak-muted);
        max-width: 62ch;
    }

    /* mobil: obrázek pryč nebo menší */
    @media (max-width: 900px) {
        .hero.hero--about {
            background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.85) 100% );
        }
    }

    /* =========================================================
   HERO – LIGHT MODE (reusable)
   Použij: .hero hero--page hero--light (+ volitelně hero--withImg)
   ========================================================= */

    /* světlé hero pozadí */
    .hero.hero--light {
        position: relative;
        overflow: hidden;
        background: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.85) 100% );
    }

        /* vypnout jakýkoli default overlay z hero--page */
        .hero.hero--light::before,
        .hero.hero--light::after {
            content: none !important;
        }

        /* obsah vždy nad pozadím */
        .hero.hero--light > .container {
            position: relative;
            z-index: 1;
        }

        /* typografie pro světlý hero */
        .hero.hero--light .hero__inner {
            color: var(--sak-ink);
        }

        .hero.hero--light p {
            color: var(--sak-muted);
        }

        /* chips/badges jako homepage */
        .hero.hero--light .badge {
            background: rgba(255,255,255,.78);
            border-color: #c7d4f5;
            color: #1e293b;
        }

            /* tečka v badge pro světlý hero */
            .hero.hero--light .badge::before {
                background: rgba(0,85,204,.55);
                box-shadow: 0 0 0 4px rgba(0,85,204,.12);
            }

        /* outline button čitelný na světlém hero */
        .hero.hero--light .btn.btn-outline {
            background: rgba(255,255,255,.92);
            color: var(--sak-ink);
            border-color: rgba(15,23,42,.14);
            box-shadow: 0 14px 34px rgba(15,23,42,.12);
        }

            .hero.hero--light .btn.btn-outline:hover {
                background: rgba(255,255,255,1);
                border-color: rgba(0,85,204,.25);
                transform: translateY(-1px);
                box-shadow: 0 18px 44px rgba(15,23,42,.16);
            }

    .hero.hero--about {
        position: relative;
        overflow: hidden;
        background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.02) 48%, rgba(245,247,251,.01) 100% ), url("/images/aboutus3.jpg"); /* ← sem dej svůj obrázek */
        background-repeat: no-repeat, no-repeat;
        /* gradient přes celé, obrázek vpravo */
        background-size: cover, auto 100%;
        background-position: center, right center;
    }

        .hero.hero--about::before,
        .hero.hero--about::after {
            content: none !important;
        }

        .hero.hero--about h1 {
            color: var(--sak-ink);
        }

    /* =========================================================
   NEWS + DOCS – CLEAN, BEZ DUPLICIT (scoped helpers)
   Použití:
   - News listing/detail: <main class="page page-news">...</main>
   - Docs:               <main class="page page-docs">...</main>
   ========================================================= */


    /* =========================================================
   HERO (page) – COMPACT FIX (jednou, univerzálně)
   - řeší příliš velké výšky / děděné height:100%
   ========================================================= */
    .hero.hero--page.hero--compact {
        height: auto !important;
        min-height: clamp(150px, 10vh, 320px) !important;
        padding: 0; /* přesně jak píšeš: “musel jsem použít padding 0” */
    }

        .hero.hero--page.hero--compact > .container {
            height: auto !important;
        }

        .hero.hero--page.hero--compact .hero__inner {
            min-height: unset !important;
            padding: clamp(1.9rem, 3.8vh, 2.6rem) 0 !important;
        }


    /* =========================================================
   HERO – NEWS (light skin + image vpravo)
   ========================================================= */
    .hero.hero--news {
        position: relative;
        overflow: hidden;
        background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.25) 100%), url("/images/hero/news.jpg");
        background-repeat: no-repeat,no-repeat;
        background-size: cover, auto;
        background-position: center, right center;
    }

        /* vypnout tmavé overlaye z .hero--page (pokud existují) */
        .hero.hero--news::before,
        .hero.hero--news::after {
            content: none !important;
        }

        /* typografie */
        .hero.hero--news .hero__inner {
            color: var(--sak-ink);
        }

        .hero.hero--news h1 span {
            color: var(--sak-brand);
        }


        .hero.hero--news p {
            color: var(--sak-muted);
            max-width: 62ch;
        }

        /* BADGES v hero – aby byly VŽDY vidět */
        .hero.hero--news .hero__badges {
            display: flex;
            flex-wrap: wrap;
            gap: .55rem;
            margin-top: 1rem;
        }

        .hero.hero--news .badge {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            padding: 8px 12px;
            border-radius: 999px;
            border: 1px solid rgba(0,85,204,.18);
            background: rgba(255,255,255,.86);
            color: var(--sak-ink);
            font-size: .86rem;
            line-height: 1;
            box-shadow: 0 10px 26px rgba(15,23,42,.06);
        }

            .hero.hero--news .badge::before {
                content: "";
                width: 8px;
                height: 8px;
                border-radius: 999px;
                background: rgba(0,85,204,.55);
                box-shadow: 0 0 0 4px rgba(0,85,204,.12);
            }

    /* mobil: obrázek pryč = čistý gradient */
    @media (max-width:900px) {
        .hero.hero--news {
            background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.85) 100%);
            background-size: cover;
            background-position: center;
        }
    }


    /* =========================================================
   HERO – DOCS (stejný skin jako news, bez obrázku)
   ========================================================= */

    .hero.hero--docs {
        position: relative;
        overflow: hidden;
        /*background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.25) 100%), url("/images/hero/documents.jpg");*/
        background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.25) 100%);
        background-repeat: no-repeat,no-repeat;
        background-size: cover, auto;
        background-position: center, right center;
    }

        /* vypnout tmavé overlaye z .hero--page (pokud existují) */
        .hero.hero--docs::before,
        .hero.hero--docs::after {
            content: none !important;
        }


        /*.hero.hero--docs {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.85) 100%);
}

    .hero.hero--docs::before,
    .hero.hero--docs::after {
        content: none !important;
    }
*/
        .hero.hero--docs .hero__inner {
            color: var(--sak-ink);
        }

        .hero.hero--docs p {
            color: var(--sak-muted);
            max-width: 70ch;
        }


    /* =========================================================
   NEWS PAGE – TOOLBAR (search + filtry)
   ========================================================= */
    .page-news .section {
        display: block;
        padding: 20px;
    }

    .page-news .news-toolbar {
        display: grid;
        grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
        gap: 1.6rem;
        align-items: end;
        margin-bottom: 1.6rem;
    }

    .page-news .news-toolbar__right {
        display: flex;
        flex-direction: column;
        gap: .85rem;
        align-items: flex-start;
        justify-content: flex-end;
    }

    @media (max-width:1024px) {
        .page-news .news-toolbar {
            grid-template-columns: 1fr;
            align-items: start;
        }
    }

    /* search */
    .page-news .news-search {
        width: min(520px, 100%);
        display: flex;
        flex-direction: column;
        gap: .35rem;
    }

    .page-news .news-search__label {
        font-size: .78rem;
        text-transform: uppercase;
        letter-spacing: .14em;
        color: var(--sak-soft);
        font-weight: 900;
    }

    .page-news .news-search input {
        width: 100%;
        border: 1px solid var(--sak-border);
        border-radius: 16px;
        padding: .85rem var(--fs-sm);
        font-size: 1rem;
        outline: none;
        background: #fff;
        color: var(--sak-ink);
        transition: border-color .15s ease, box-shadow .15s ease;
    }

        .page-news .news-search input:focus {
            border-color: rgba(0,85,204,.35);
            box-shadow: 0 0 0 4px rgba(0,85,204,.10);
        }

    /* filtry */
    .page-news .news-filters {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
    }

    .page-news .chip--filter {
        cursor: pointer;
        background: rgba(255,255,255,.78);
    }

        .page-news .chip--filter.is-active {
            background: rgba(0,85,204,.92);
            border-color: rgba(0,85,204,.10);
            color: #fff;
        }

    /* empty + pagination */
    .page-news .news-empty {
        margin-top: 1.2rem;
        padding: 1rem 1.1rem;
        border: 1px dashed var(--sak-border);
        border-radius: 16px;
        color: var(--sak-muted);
        background: rgba(255,255,255,.70);
    }

    .page-news .news-pagination {
        margin-top: 2rem;
        display: flex;
        gap: .8rem;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .page-news .gbtn.is-disabled {
        opacity: .55;
        pointer-events: none;
    }


    /* =========================================================
   NEWS DETAIL CARD
   ========================================================= */
    .page-news .newsD {
        background: #fff;
        border: 1px solid var(--sak-border-soft);
        border-radius: 22px;
        box-shadow: var(--shadow-sm);
        overflow: hidden;
    }

    .page-news .newsD-media {
        aspect-ratio: 16/8;
        background: #f1f5f9;
    }

        .page-news .newsD-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

    .page-news .newsD-body {
        padding: 1.35rem var(--lh-base) var(--lh-base);
        color: #334155;
        line-height: 1.75;
    }

        .page-news .newsD-body h2 {
            margin: 0 0 .65rem;
            font-size: 1.4rem;
            font-weight: 950;
            color: var(--sak-ink);
        }

        .page-news .newsD-body ul {
            padding-left: 1.1rem;
            margin: .75rem 0;
        }

    .page-news .newsD-foot {
        padding: 1rem var(--lh-base);
        border-top: 1px solid var(--sak-border-soft);
    }


    /* =========================================================
   DOCS – DOWNLOAD LIST (sjednocené, jen jednou)
   ========================================================= */
    .page-docs .section {
        padding-top: 2.2rem;
    }

    .page-docs .dlSec {
        margin: var(--fs-xl) 0 1.4rem;
    }

    .page-docs .dlSec__label {
        display: inline-flex;
        align-items: center;
        gap: .55rem;
        padding: .52rem .78rem;
        border-radius: 999px;
        background: rgba(0,85,204,.08);
        border: 1px solid rgba(0,85,204,.14);
        color: var(--sak-brand);
        font-weight: 950;
    }

    .page-docs .dlSec__ic {
        width: 18px;
        height: 18px;
        border-radius: 6px;
        background: rgba(0,85,204,.12);
        position: relative;
    }

        .page-docs .dlSec__ic::before,
        .page-docs .dlSec__ic::after {
            content: "";
            position: absolute;
            left: 3px;
            border: 2px solid rgba(0,85,204,.55);
            border-radius: 2px;
        }

        .page-docs .dlSec__ic::before {
            top: 7px;
            width: 12px;
            height: 8px;
            border-top: 0;
        }

        .page-docs .dlSec__ic::after {
            top: 4px;
            width: 7px;
            height: 4px;
            border-bottom: 0;
            border-radius: 2px 2px 0 0;
        }

    .page-docs .dlPanel {
        margin-top: .55rem;
        border: 1px solid var(--sak-border-soft);
        border-radius: 18px;
        background: #fff;
        box-shadow: var(--shadow-sm);
        overflow: hidden;
    }

    .page-docs .dlRow {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: var(--fs-btn) 1.05rem;
        border-top: 1px solid var(--sak-border-soft);
    }

        .page-docs .dlRow:first-child {
            border-top: 0;
        }

    .page-docs .dlRow__main {
        min-width: 0;
    }

    .page-docs .dlRow__title {
        font-weight: 950;
        color: var(--sak-ink);
        line-height: 1.25;
    }

    .page-docs .dlRow__desc {
        margin-top: .18rem;
        color: var(--sak-muted);
        line-height: 1.38;
        font-size: var(--fs-sm);
    }

    .page-docs .dlRow__right {
        display: flex;
        align-items: center;
        gap: var(--fs-btn);
        flex: 0 0 auto;
    }

    .page-docs .dlRow__meta {
        display: flex;
        align-items: center;
        gap: .45rem;
        color: var(--sak-soft);
        font-size: .92rem;
        white-space: nowrap;
    }

    .page-docs .dlMeta__pdf {
        display: inline-flex;
        align-items: center;
        padding: .18rem .5rem;
        border-radius: 999px;
        border: 1px solid rgba(0,85,204,.18);
        background: rgba(0,85,204,.07);
        color: var(--sak-brand);
        font-weight: 950;
        font-size: .82rem;
    }

    .page-docs .dlBtn {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        padding: .58rem var(--fs-btn);
        border-radius: 999px;
        border: 1px solid rgba(0,85,204,.22);
        background: rgba(0,85,204,.08);
        color: var(--sak-brand);
        font-weight: 950;
        text-decoration: none;
        transition: transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
    }

        .page-docs .dlBtn:hover {
            transform: translateY(-1px);
            background: rgba(0,85,204,.12);
            border-color: rgba(0,85,204,.32);
            box-shadow: 0 14px 30px rgba(15,23,42,.10);
        }

    /* ikonka download */
    /* ikonka download (SVG mask, clean) */
    .page-docs .dlBtn__ic {
        width: 16px;
        height: 16px;
        display: inline-block;
        background: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3v10m0 0l4-4m-4 4L8 9' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 15v4a2 2 0 002 2h10a2 2 0 002-2v-4' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3v10m0 0l4-4m-4 4L8 9' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 15v4a2 2 0 002 2h10a2 2 0 002-2v-4' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }


    @media (max-width:900px) {
        .page-docs .dlRow {
            flex-direction: column;
            align-items: flex-start;
        }

        .page-docs .dlRow__right {
            width: 100%;
            justify-content: space-between;
        }

        .page-docs .dlRow__meta {
            white-space: normal;
        }
    }

    .page-docs .section-heading-eyebrow {
        margin-top: 1.2rem;
    }


    .hero--news.hero--page h1 {
        padding-top: 3.4rem !important;
    }

    .liveSearchPanel {
        position: fixed;
        z-index: 1000;
        background: #fff;
        border: 1px solid rgba(15,23,42,.12);
        border-radius: 16px;
        box-shadow: 0 18px 48px rgba(15,23,42,.18);
        overflow: hidden;
    }


    .liveSearchHeader {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .85rem 1rem;
        border-bottom: 1px solid rgba(15,23,42,.08);
    }

    .liveSearchTitle {
        font-weight: 900;
        color: #0f172a;
    }

    .liveSearchClose {
        border: 0;
        background: transparent;
        font-size: 1.1rem;
        cursor: pointer;
        color: #334155;
        padding: .25rem .4rem;
        border-radius: 10px;
    }

        .liveSearchClose:hover {
            background: rgba(15,23,42,.06);
        }

    .liveSearchBody {
        max-height: 340px;
        overflow: auto;
        padding: .35rem;
    }

    .liveSearchItem {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        padding: .65rem .75rem;
        border-radius: 12px;
        text-decoration: none;
        color: inherit;
    }

        .liveSearchItem:hover {
            background: rgba(15,23,42,.04);
        }

    .liveSearchMain {
        min-width: 0;
    }

    .liveSearchName {
        font-weight: 900;
        color: #0f172a;
        line-height: 1.15;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .liveSearchMeta {
        margin-top: .2rem;
        font-size: var(--fs-btn);
        color: #64748b;
    }

    .liveSearchSide {
        text-align: right;
        white-space: nowrap;
    }

    .liveSearchPrice {
        font-weight: 900;
        color: #0f172a;
    }

    .liveSearchStock {
        margin-top: .2rem;
        font-size: var(--fs-btn);
        color: #64748b;
    }

    .liveSearchFooter {
        padding: .75rem 1rem;
        border-top: 1px solid rgba(15,23,42,.08);
        display: flex;
        justify-content: flex-end;
    }

        .liveSearchFooter a {
            font-weight: 800;
            color: #2563eb;
            text-decoration: none;
        }

/* =========================================================
   FOOTER – CLEAN REBUILD
   ========================================================= */

.site-footer {
    margin-top: 0;
    border-top: 1px solid rgba(255,255,255,.08);
    background: radial-gradient(900px 420px at 0% 0%, rgba(29,111,255,.12), transparent 55%), linear-gradient(180deg, #0b1220 0%, #070b14 100%);
    color: rgba(255,255,255,.86);
    --footer-text: rgba(255,255,255,.84);
    --footer-muted: rgba(255,255,255,.62);
    --footer-strong: rgba(255,255,255,.94);
    --footer-border: rgba(255,255,255,.10);
    --footer-border-soft: rgba(255,255,255,.07);
    --footer-chip: rgba(255,255,255,.06);
    --footer-blue: #0f6fff;
}

.footer-shell {
    padding-top: 2.75rem;
    padding-bottom: 1.25rem;
}

.footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, .9fr);
    gap: 2rem;
    align-items: start;
}

.footer-brand,
.footer-col {
    min-width: 0;
}

.footer-logo img {
    height: 86px;
    width: auto;
    display: block;
    filter: brightness(0) invert(1);
    opacity: .96;
}

.footer-desc {
    margin-top: .9rem;
    max-width: 38ch;
    color: var(--footer-muted);
    line-height: 1.6;
    font-size: .98rem;
}

.footer-badges {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.footer-badge {
    display: inline-flex;
    align-items: center;
    padding: .48rem .78rem;
    border-radius: 999px;
    border: 1px solid var(--footer-border);
    background: var(--footer-chip);
    color: rgba(255,255,255,.9);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
}

.footer-title {
    margin: 0 0 .9rem;
    color: var(--footer-strong);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.footer-links,
.footer-contact-list {
    display: grid;
    gap: .15rem;
}

.footer-link {
    display: inline-block;
    padding: .34rem 0;
    color: var(--footer-text);
    text-decoration: none;
    line-height: 1.4;
    font-weight: 650;
    transition: color .18s ease, opacity .18s ease;
}

    .footer-link:hover,
    .footer-link:focus-visible {
        color: #fff;
    }

.footer-link--strong {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
}

.footer-link--btn {
    background: transparent;
    border: 0;
    padding: .34rem 0;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: var(--footer-text);
}

.footer-meta {
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px solid var(--footer-border-soft);
}

.footer-meta__label {
    margin-bottom: .25rem;
    color: var(--footer-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.footer-meta__value {
    color: rgba(255,255,255,.8);
    line-height: 1.55;
    font-size: .95rem;
    font-weight: 600;
}

.footer-meta--small .footer-meta__value {
    font-size: .92rem;
}

.footer-actions {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.footer-actions--contact {
    align-items: center;
    justify-content: flex-start;
}

.footer-actions--stack {
    flex-direction: row;
    align-items: flex-start;
}

.footer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .72rem 1rem;
    border-radius: 999px;
    text-decoration: none;
    font-size: .92rem;
    font-weight: 750;
    line-height: 1;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

    .footer-cta.is-primary {
        background: var(--sak-brand);
        color: #fff;
        border: 1px solid transparent;
    }

        .footer-cta.is-primary:hover,
        .footer-cta.is-primary:focus-visible {
            background: #0b63e6;
            transform: translateY(-1px);
        }

    .footer-cta.is-secondary {
        background: rgba(255,255,255,.05);
        color: rgba(255,255,255,.92);
        border: 1px solid rgba(255,255,255,.14);
    }

        .footer-cta.is-secondary:hover,
        .footer-cta.is-secondary:focus-visible {
            background: rgba(255,255,255,.1);
            color: #fff;
            transform: translateY(-1px);
        }

.footer-socials {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.footer-social {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.88);
    text-decoration: none;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.04);
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

    .footer-social:hover,
    .footer-social:focus-visible {
        background: rgba(255,255,255,.1);
        border-color: rgba(255,255,255,.25);
        color: #fff;
        transform: translateY(-1px);
    }

    .footer-social svg {
        width: 18px;
        height: 18px;
    }

.footer-bottom {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--footer-border-soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.footer-copy {
    color: var(--footer-muted);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.5;
}

.footer-bottom__right {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    flex-wrap: wrap;
}

.footer-mini {
    color: var(--footer-muted);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 700;
}

    .footer-mini:hover,
    .footer-mini:focus-visible {
        color: #fff;
    }

.footer-mini--btn {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    color: rgba(255,255,255,.88);
    padding: .42rem .75rem;
    cursor: pointer;
    font: inherit;
    transition: background .18s ease, border-color .18s ease;
}

    .footer-mini--btn:hover,
    .footer-mini--btn:focus-visible {
        background: rgba(255,255,255,.1);
        border-color: rgba(255,255,255,.22);
    }

.footer-link,
.footer-copy,
.footer-meta__value,
.footer-desc {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* =========================
   TABLET
   ========================= */
@media (max-width: 1024px) {
    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 1.6rem 1.4rem;
    }

    .footer-brand {
        grid-column: 1 / -1;
        padding-bottom: 1rem;
        border-bottom: 1px solid var(--footer-border-soft);
    }

    .footer-desc {
        max-width: 60ch;
    }
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 767px) {
    .footer-shell {
        padding-top: 2rem;
        padding-bottom: 1rem;
    }

    .footer-top {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .footer-brand {
        padding-bottom: 1rem;
        border-bottom: 1px solid var(--footer-border-soft);
    }

    .footer-col {
        padding-top: .95rem;
        border-top: 1px solid var(--footer-border-soft);
    }

    .footer-logo img {
        height: 68px;
    }

    .footer-desc {
        margin-top: .75rem;
        max-width: 100%;
        font-size: .95rem;
        line-height: 1.55;
    }

    .footer-badge {
        font-size: .74rem;
    }

    .footer-title {
        margin-bottom: .65rem;
        font-size: .76rem;
        letter-spacing: .14em;
    }

    .footer-link {
        padding: .26rem 0;
        font-size: .98rem;
    }

    .footer-link--strong {
        font-size: 1.08rem;
    }

    .footer-meta {
        margin-top: .7rem;
        padding-top: .7rem;
    }

    .footer-meta__value {
        font-size: .92rem;
        line-height: 1.48;
    }

    .footer-actions--contact {
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: .75rem;
    }

        .footer-actions--contact .footer-cta {
            flex: 1 1 auto;
            min-width: 0;
        }


    .footer-actions--stack {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

        .footer-actions--stack .footer-cta {
            width: 100%;
        }

    .footer-socials {
        flex: 0 0 auto;
    }

    .footer-social {
        width: 38px;
        height: 38px;
    }

    .footer-bottom {
        margin-top: 1.35rem;
        padding-top: .95rem;
        flex-direction: column;
        align-items: flex-start;
        gap: .7rem;
    }

    .footer-bottom__right {
        width: 100%;
        justify-content: space-between;
    }

    .footer-copy,
    .footer-mini {
        font-size: .78rem;
    }
}

/* =========================
   SMALL MOBILE
   ========================= */
@media (max-width: 420px) {
    .footer-shell {
        padding-top: 1.8rem;
    }

    .footer-actions--contact {
        flex-wrap: wrap;
    }

        .footer-actions--contact .footer-cta {
            width: 100%;
            flex: 1 1 100%;
        }

    .footer-socials {
        width: 100%;
        justify-content: flex-start;
    }
}

    /* =========================
   COOKIE BAR + MODAL
========================= */
    .cookiebar {
        position: fixed;
        left: 14px;
        right: 14px;
        bottom: 14px;
        z-index: 120;
        display: none;
    }

        .cookiebar.is-open {
            display: block;
        }

    .cookiebar__inner {
        max-width: 1100px;
        margin: 0 auto;
        background: #fff;
        border: 1px solid var(--sak-border);
        border-radius: 18px;
        box-shadow: var(--shadow-sm);
        padding: 14px 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
    }

    .cookiebar__title {
        font-weight: 900;
        color: #0f172a;
    }

    .cookiebar__desc {
        margin: 6px 0 0;
        color: var(--sak-muted);
        line-height: 1.45;
        max-width: 70ch;
    }

    .cookiebar__link {
        color: var(--sak-brand);
        font-weight: 800;
        text-decoration: none;
    }

    .cookiebar__actions {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    @media (max-width: 860px) {
        .cookiebar__inner {
            flex-direction: column;
            align-items: stretch;
        }

        .cookiebar__actions {
            justify-content: flex-start;
        }
    }

    .footer-actions--with-socials {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap; /* pro mobil */
    }

    .footer-socials {
        display: flex;
        gap: 8px;
    }

    .footer-social {
        width: 38px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        border: 1px solid rgba(255,255,255,0.14);
        background: rgba(255,255,255,0.04);
        color: #fff;
        transition: all 0.2s ease;
    }

        .footer-social:hover {
            transform: translateY(-2px);
            background: rgba(255,255,255,0.08);
            border-color: rgba(255,255,255,0.25);
        }

        .footer-social svg {
            width: 16px;
            height: 16px;
        }



    /* Modal */
    .cookiemodal {
        position: fixed;
        inset: 0;
        z-index: 130;
        display: none;
    }

        .cookiemodal.is-open {
            display: block;
        }

    .cookiemodal__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(2, 6, 23, .55);
    }

    .cookiemodal__panel {
        position: relative;
        width: min(720px, calc(100% - 28px));
        margin: 9vh auto 0;
        background: #fff;
        border: 1px solid var(--sak-border);
        border-radius: 18px;
        box-shadow: var(--shadow-sm);
        overflow: hidden;
    }

    .cookiemodal__head {
        padding: 16px 16px;
        display: flex;
        align-items: start;
        justify-content: space-between;
        gap: 16px;
        border-bottom: 1px solid var(--sak-border);
    }

    .cookiemodal__title {
        font-weight: 950;
        color: #0f172a;
        font-size: 18px;
    }

    .cookiemodal__subtitle {
        margin-top: 4px;
        color: var(--sak-muted);
        font-weight: 650;
    }

    .cookiemodal__close {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        border: 1px solid var(--sak-border);
        background: #fff;
        cursor: pointer;
        font-weight: 900;
    }

        .cookiemodal__close:hover {
            background: var(--sak-bg-soft);
        }

    .cookiemodal__body {
        padding: 14px 16px 6px;
    }

    .cookieopt {
        display: flex;
        gap: 12px;
        padding: 12px 10px;
        border-radius: 14px;
        border: 1px solid var(--sak-border);
        margin-bottom: 10px;
        background: #fff;
    }

        .cookieopt:hover {
            background: var(--sak-bg-soft);
        }

        .cookieopt input {
            margin-top: 3px;
        }

    .cookieopt__name {
        display: block;
        font-weight: 900;
        color: #0f172a;
    }

    .cookieopt__desc {
        display: block;
        margin-top: 4px;
        color: var(--sak-muted);
        line-height: 1.45;
        font-weight: 650;
    }

    .cookiemodal__actions {
        padding: 14px 16px 16px;
        display: flex;
        justify-content: flex-end;
        gap: 10px;
        border-top: 1px solid var(--sak-border);
    }






    .btn-phone {
        border-color: rgba(59,130,246,.35);
        background: transparent;
        color: #1e3a8a;
        font-weight: 650;
    }

        .btn-phone:hover {
            border-color: rgba(59,130,246,.35);
            background: transparent;
            color: #1e3a8a;
            font-weight: 650;
        }

    .btn-small.eshop {
        background: var(--sak-brand);
        color: #fff;
        border: 1px solid var(--sak-brand);
        font-weight: 750;
    }

        .btn-small.eshop:hover {
            background: var(--sak-brand-dark);
            border-color: var(--sak-brand-dark);
        }


    /* HERO skin: CONTACT (light, jako news/inquiry) */
    .hero.hero--contact {
        position: relative;
        overflow: hidden;
        background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.25) 100%);
        /*background-image: radial-gradient(circle at 0 0, rgba(230,240,255,1) 0%, rgba(255,255,255,.92) 48%, rgba(245,247,251,.25) 100%), url("/images/hero/contact.jpg");*/
        /*background-image: linear-gradient(90deg, rgba(230,240,255,1) 0%, rgba(255,255,255,.95) 45%, rgba(255,255,255,.65) 68%, rgba(255,255,255,0) 88% ), url("/images/hero/contact.jpg");*/
        background-repeat: no-repeat, no-repeat;
        background-size: cover, auto;
        background-position: center, right center;
    }

        .hero.hero--contact::before,
        .hero.hero--contact::after {
            content: none !important;
        }


        /* světlý hero = tmavý text */
        .hero.hero--contact .hero__inner {
            color: var(--sak-ink);
        }

        .hero.hero--contact p {
            color: var(--sak-muted);
        }

        /* outline button čitelný na světlém hero */
        .hero.hero--contact .btn.btn-outline {
            background: rgba(255,255,255,92);
            color: var(--sak-ink);
        }

            .hero.hero--contact .btn.btn-outline:hover {
                background: rgba(255,255,255,1);
                transform: translateY(-1px);
            }



    /* CONTACT – formulář (reuse inquiry layout) */
    .page-contact .contact-form-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
        gap: 1.6rem;
        align-items: start;
        margin-top: 0;
    }

    /* responsive stejné jako inquiry */
    @media (max-width:1024px) {
        .page-contact .contact-form-layout {
            grid-template-columns: 1fr;
        }
    }
    /* =========================================================
   CONTACT – FORM (scoped)
   ========================================================= */
    .page-contact .contact-form-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
        gap: 1.6rem;
        align-items: start;
    }

    .page-contact .form-head h3 {
        font-size: var(--fs-xl);
        padding-bottom: 0.6rem;
    }

    .page-contact p {
        font-size: var(--fs-md);
    }

    .page-contact .contact-form-layout .card {
        background: #fff;
        border: 1px solid #e2e6ef;
        border-radius: 22px;
        padding: 1.45rem var(--lh-base);
        box-shadow: var(--shadow-sm);
    }

    .page-contact .contact-form-layout .card--form {
        border: 1px solid rgba(0,85,204,.20);
        box-shadow: var(--shadow-md);
        background: linear-gradient(180deg, rgba(0,85,204,.06) 0%, #fff 30%);
    }

    .page-contact .contact-form-layout .grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: var(--fs-sm);
        margin-top: 1rem;
    }

    .page-contact .contact-form-layout .grid-1 {
        grid-column: 1 / -1;
    }

    .page-contact .contact-form-layout label {
        display: block;
        font-weight: 900;
        font-size: var(--fs-xxs);
        color: #334155;
        margin-bottom: .45rem;
        letter-spacing: .01em;
    }

    .page-contact .contact-form-layout input,
    .page-contact .contact-form-layout textarea,
    .page-contact .contact-form-layout select {
        width: 100%;
        border: 1px solid var(--sak-border);
        border-radius: 14px;
        padding: .85rem var(--fs-sm);
        font-size: var(--fs-md);
        outline: none;
        background: #fff;
        color: var(--sak-ink);
        transition: border-color .15s ease, box-shadow .15s ease;
    }

    .page-contact .contact-form-layout textarea {
        min-height: 170px;
        resize: vertical;
    }

        .page-contact .contact-form-layout input:focus,
        .page-contact .contact-form-layout textarea:focus,
        .page-contact .contact-form-layout select:focus {
            border-color: #c7d4f5;
            box-shadow: 0 0 0 4px rgba(0,85,204,.10);
        }

    .page-contact .contact-form-layout .actions {
        margin-top: 1.2rem;
        padding: var(--fs-sm);
        border-top: 1px solid var(--sak-border-soft);
        background: rgba(248,250,252,.85);
        border-radius: 16px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .85rem;
        flex-wrap: wrap;
    }

    .page-contact .contact-form-layout .privacy {
        color: var(--sak-soft);
        font-size: var(--fs-btn);
        max-width: 70ch;
    }

    /* right column helpers reuse */
    .page-contact .contact-form-layout .side h3 {
        font-size: var(--fs-xl);
        font-weight: 900;
        margin-bottom: .6rem;
    }

    .page-contact .contact-form-layout .side p {
        color: var(--sak-muted);
        font-size: var(--fs-md);
    }

    /* responsive */
    @media (max-width:1024px) {
        .page-contact .contact-form-layout {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width:640px) {
        .page-contact .contact-form-layout .grid {
            grid-template-columns: 1fr;
        }

        .page-contact .contact-form-layout .btn {
            width: 100%;
        }

        .page-contact .contact-form-layout .actions {
            justify-content: flex-start;
        }
    }


    /* =========================================================
   CONTACT – SIDE CARD ticks (match Inquiry)
   ========================================================= */
    .page-contact .contact-form-layout .tick {
        margin-top: .85rem;
        display: flex;
        gap: .7rem;
        align-items: flex-start;
        padding: var(--fs-btn) var(--fs-sm);
        border: 1px solid var(--sak-border);
        border-radius: 16px;
        background: var(--sak-bg-soft);
    }

    .page-contact .contact-form-layout .ico {
        width: 34px;
        height: 34px;
        border-radius: 999px;
        background: #eaf0ff;
        color: var(--sak-brand);
        display: grid;
        place-items: center;
        font-weight: 950;
        flex: 0 0 auto;
    }

    .page-contact .contact-form-layout .tick strong {
        display: block;
        font-weight: 900;
    }

    .page-contact .contact-form-layout .tick span {
        display: block;
        color: var(--sak-muted);
        font-size: var(--fs-sm);
        line-height: 1.5;
        margin-top: .1rem;
    }

    .fast-contact {
        margin-bottom: 2.4rem;
        max-width: 850px !important;
    }

    .section-bg-map {
        position: relative;
        background: #f8fafc;
        overflow: hidden;
        isolation: isolate;
    }

        .section-bg-map::before {
            content: "";
            position: absolute;
            inset: 0;
            background: url('/images/bg-map.svg') center/cover no-repeat;
            opacity: 0.22;
            pointer-events: none;
            z-index: 0;
        }

        .section-bg-map > .container {
            position: relative;
            z-index: 1;
        }


    /* new contact style*/

    /* =========================================================
   CONTACT
   ========================================================= */

    /* ---------- shared section intro ---------- */

    .section-intro--narrow {
        margin-bottom: 2.4rem;
        max-width: 820px;
    }

    /* ---------- top contact block ---------- */

    .contact-layout--refined {
        align-items: stretch;
        gap: 2rem;
    }

    .contact-card--refined,
    .contact-section-card {
        background: rgba(255, 255, 255, .92);
        border: 1px solid rgba(226, 232, 240, .9);
        box-shadow: 0 18px 50px rgba(15, 23, 42, .08);
        backdrop-filter: blur(8px);
    }

    .contact-card--refined {
        padding: 1.8rem;
    }

    .contact-card__top,
    .contact-section-card__top {
        margin-bottom: 1rem;
    }

    .contact-card__eyebrow {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        margin-bottom: .55rem;
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: var(--sak-brand);
    }

    .contact-card__title,
    .contact-section-card__title {
        margin: 0;
        color: var(--sak-ink);
        font-weight: 850;
        line-height: 1.15;
    }

    .contact-card__title {
        font-size: 1.65rem;
    }

    .contact-section-card__title {
        font-size: 1.4rem;
        line-height: 1.2;
    }

    .contact-card__lead {
        margin: .65rem 0 0;
        max-width: 56ch;
        color: var(--sak-muted);
        font-size: var(--fs-sm);
        line-height: 1.6;
    }

    .contact-quick-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .9rem;
    }

    .contact-infoBox {
        min-width: 0;
        padding: 1rem 1.05rem;
        border: 1px solid var(--sak-border);
        border-radius: 18px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    }

    .contact-infoBox--wide {
        grid-column: 1 / -1;
    }

    .contact-infoBox__label {
        margin-bottom: .45rem;
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: #94a3b8;
    }

    .contact-infoBox__value {
        color: var(--sak-ink);
        font-size: var(--fs-sm);
        line-height: 1.65;
    }

        .contact-infoBox__value strong {
            color: var(--sak-ink);
            font-weight: 850;
        }

        .contact-infoBox__value a {
            color: var(--sak-brand);
            text-decoration: none;
            font-weight: 800;
        }

            .contact-infoBox__value a:hover {
                text-decoration: underline;
            }

        .contact-infoBox__value span {
            display: block;
            margin-top: .2rem;
            color: var(--sak-soft);
            font-size: .92rem;
            line-height: 1.4;
        }

    .contact-actions--primary,
    .kontaktD-actions {
        padding-top: 1rem;
        border-top: 1px solid var(--sak-border-soft);
    }

    .contact-actions--primary {
        margin-top: 1.15rem;
    }

    /* ---------- top image / map ---------- */

    .contact-map--refined {
        min-height: 100%;
        background: #e2e8f0;
        border: 1px solid rgba(226, 232, 240, .65);
        box-shadow: 0 24px 60px rgba(15, 23, 42, .12);
    }

        .contact-map--refined > img {
            width: 100%;
            height: 100%;
            min-height: 520px;
            object-fit: cover;
        }

    .contact-map-thumbWrap {
        position: absolute;
        top: 1rem;
        right: 1rem;
        z-index: 3;
    }

    .contact-map--refined .contact-map-thumb {
        position: relative;
        top: auto;
        right: auto;
        width: 170px;
        height: 108px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, .9);
        border-radius: 18px;
        box-shadow: 0 16px 36px rgba(15, 23, 42, .20);
        background: #fff;
    }

    .contact-map--refined .contact-map-cta {
        top: auto;
        left: 10px;
        bottom: 10px;
        padding: .35rem .65rem;
        font-size: .78rem;
        background: rgba(255, 255, 255, .96);
        border: 1px solid rgba(226, 232, 240, .95);
    }

    .contact-map-overlay--soft {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        padding: .95rem 1rem;
        border-radius: 16px;
        background: rgba(15, 23, 42, .58);
        backdrop-filter: blur(8px);
        color: rgba(255, 255, 255, .95);
        font-size: .95rem;
        line-height: 1.45;
    }

        .contact-map-overlay--soft strong {
            display: block;
            margin-bottom: .15rem;
            font-size: 1rem;
            font-weight: 850;
        }

    /* ---------- contact sections ---------- */

    .contact-sections {
        display: grid;
        gap: 1.25rem;
    }

    .contact-section-card {
        padding: 1.35rem;
        border-radius: 24px;
    }

    .kontaktD-grid--refined,
    .contact-store-grid--compact {
        display: grid;
        gap: 1rem;
        align-items: stretch;
    }

    .contact-store-grid--compact {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .kontaktD-card--personSlim,
    .kontaktD-card--simple,
    .contact-section-card--storeCompact {
        min-height: 100%;
        padding: 1.1rem;
        border: 1px solid var(--sak-border);
        border-radius: 22px;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        box-shadow: 0 10px 28px rgba(15, 23, 42, .05);
    }

    .contact-section-card--storeCompact {
        display: flex;
        flex-direction: column;
        padding: 1.15rem;
    }

    .kontaktD-card--personSlim {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 142px;
        gap: 1rem;
        align-items: stretch;
    }

        .kontaktD-card--personSlim .kontaktD-card__main {
            display: flex;
            flex-direction: column;
        }

        .kontaktD-card--personSlim .kontaktD-card__photo {
            display: flex;
        }

            .kontaktD-card--personSlim .kontaktD-card__photo img {
                width: 100%;
                height: 100%;
                min-height: 190px;
                max-height: 240px;
                object-fit: cover;
                border: 1px solid var(--sak-border);
                border-radius: 14px;
            }

    .kontaktD-personTop {
        margin-bottom: .75rem;
    }

        .kontaktD-personTop h4,
        .kontaktD-card--simple h4 {
            margin: 0;
            color: var(--sak-ink);
            font-size: 1.2rem;
            font-weight: 850;
            line-height: 1.2;
        }

    .kontaktD-role {
        margin: .3rem 0 0;
        color: var(--sak-soft);
        font-size: .95rem;
        font-weight: 600;
    }

    .kontaktD-lines--compact,
    .kontaktD-lines--store {
        margin: 0;
        display: grid;
        color: var(--sak-ink);
    }

    .kontaktD-lines--compact {
        gap: .45rem;
        font-size: .98rem;
        line-height: 1.55;
    }

    .kontaktD-lines--store {
        gap: .55rem;
    }

        .kontaktD-lines--compact div,
        .kontaktD-lines--store div {
            padding: 0;
            line-height: 1.55;
        }

        .kontaktD-lines--compact span,
        .kontaktD-lines--store span {
            color: #64748b;
            font-weight: 700;
        }

        .kontaktD-lines--compact a,
        .kontaktD-lines--store a {
            color: var(--sak-ink);
            text-decoration: none;
            font-weight: 800;
        }

            .kontaktD-lines--compact a:hover,
            .kontaktD-lines--store a:hover {
                color: var(--sak-brand);
            }

    .kontaktD-card--personSlim .kontaktD-actions,
    .kontaktD-card--simple .kontaktD-actions,
    .contact-section-card--storeCompact .kontaktD-actions {
        margin-top: auto;
    }

    .contact-store-note {
        margin-top: .9rem;
        padding-top: .85rem;
        border-top: 1px solid var(--sak-border-soft);
        color: var(--sak-muted);
        font-size: .95rem;
        line-height: 1.5;
    }

    /* ikonky tel, email, mobil */
.kontaktD-line {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .25rem 0;
}

.kontaktD-icon {
    width: 18px;
    height: 18px;
    color: rgba(255,255,255,.7);
    flex: 0 0 auto;
}

    .kontaktD-icon svg {
        width: 100%;
        height: 100%;
    }

.kontaktD-line {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
}

.kontaktD-label {
    color: #64748b;
    font-weight: 700;
    flex: 0 0 auto;
}

.kontaktD-icon {
    display: none;
    width: 16px;
    height: 16px;
    color: #64748b;
    flex: 0 0 auto;
}

    .kontaktD-icon svg {
        width: 100%;
        height: 100%;
        display: block;
    }

@media (max-width: 767px) {
    .kontaktD-line {
        gap: .5rem;
    }

    .kontaktD-label {
        display: none;
    }

    .kontaktD-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* end ikonky tel, email, mobil */

    /* ---------- responsive ---------- */

    @media (max-width: 1024px) {
        .contact-quick-grid,
        .contact-store-grid--compact,
        .kontaktD-card--personSlim {
            grid-template-columns: 1fr;
        }

        .contact-infoBox--wide {
            grid-column: auto;
        }

        .contact-map--refined > img {
            min-height: 360px;
        }

        .kontaktD-card--personSlim .kontaktD-card__photo img {
            min-height: 240px;
            max-height: 280px;
        }
    }

    @media (max-width: 640px) {
        .contact-card--refined,
        .contact-section-card,
        .contact-section-card--storeCompact,
        .kontaktD-card--personSlim,
        .kontaktD-card--simple {
            padding: 1rem;
        }

        .contact-section-card {
            border-radius: 20px;
        }

        .kontaktD-card--personSlim,
        .kontaktD-card--simple {
            border-radius: 18px;
        }

        .contact-card__title {
            font-size: 1.35rem;
        }

        .contact-section-card__title {
            font-size: 1.2rem;
        }

        .kontaktD-personTop h4,
        .kontaktD-card--simple h4 {
            font-size: 1.08rem;
        }

        .kontaktD-lines--compact,
        .kontaktD-lines--store {
            font-size: .95rem;
        }

        .contact-map--refined .contact-map-thumb {
            width: 132px;
            height: 86px;
        }

        .contact-map-overlay--soft {
            font-size: .9rem;
        }

        .kontaktD-card--personSlim .kontaktD-card__photo img {
            min-height: 220px;
            max-height: 240px;
        }

        .contact-store-note {
            font-size: .92rem;
        }
    }

@media (max-width: 767px) {
    .contact-layout,
    .contact-layout--refined {
        display: grid;
        grid-template-columns: 1fr;
        gap: var(--mobile-gap);
        align-items: start;
    }

    .contact-card--refined,
    .contact-map--refined {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .contact-layout,
    .contact-layout--refined {
        display: grid;
        grid-template-columns: 1fr;
        gap: var(--mobile-gap);
        align-items: start;
    }

    .contact-card--refined,
    .contact-map--refined {
        width: 100%;
        max-width: 100%;
    }
}
@media (max-width: 767px) {
    .section-bg-map .container > .contact-actions:nth-last-of-type(2) {
        display: grid;
        grid-template-columns: 40% 57%;
        gap: .7rem;
        width: 100%;
    }

    .section-bg-map .container > .contact-actions:nth-last-of-type(1) {
        display: grid;
        grid-template-columns: 1fr;
        gap: .7rem;
        width: 100%;
        margin-top: .7rem;
    }

        .section-bg-map .container > .contact-actions:nth-last-of-type(2) .btn,
        .section-bg-map .container > .contact-actions:nth-last-of-type(1) .btn {
            width: 100%;
            min-width: 0;
            justify-content: center;
        }
}

@media (max-width: 767px) {
    .kontaktD-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .kontaktD-card.kontaktD-card--personSlim {
        grid-template-columns: 30% 70%;
    }

    .kontaktD-card__photo {
        width: 100%;
    }

    .kontaktD-actions {
        display: none;
    }

    .contact-card--refined {
        padding: var(--mobile-card-pad);
    }

    .contact-card__top {
        margin-bottom: .75rem;
    }

    .contact-card__lead {
        margin-top: .45rem;
        font-size: var(--mobile-text-fs);
        line-height: 1.45;
    }

    .contact-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .7rem;
    }

    .contact-infoBox {
        padding: .8rem .85rem;
        border-radius: 16px;
    }

    .contact-infoBox--wide {
        grid-column: 1 / -1;
    }

    .contact-infoBox__label {
        margin-bottom: .35rem;
        font-size: var(--mobile-small-fs);
        letter-spacing: .12em;
    }

    .contact-infoBox__value {
        font-size: var(--mobile-text-fs);
        line-height: 1.45;
    }

        .contact-infoBox__value span {
            margin-top: .15rem;
            font-size: var(--mobile-small-fs);
            line-height: 1.3;
        }

    .contact-actions--primary {
        margin-top: .9rem;
        padding-top: .8rem;
    }

    .contact-map--refined > img {
        min-height: 300px;
        height: 300px;
    }
}

@media (max-width: 420px) {
    .contact-quick-grid {
        grid-template-columns: 1fr;
        gap: .65rem;
    }

    .contact-infoBox {
        padding: .75rem .8rem;
    }

    .contact-map--refined > img {
        min-height: 300px;
        height: 300px;
    }
}


    /* =========================
   MOBILE NAV TOGGLE + DRAWER (FINAL)
   - hamburger vpravo v headeru
   - menu vyjíždí dolů z headeru
========================= */

    /* ---------- HAMBURGER BUTTON ---------- */
    .mobile-nav-toggle {
        display: none;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid rgba(15,23,42,.12);
        border-radius: 14px;
        background: rgba(255,255,255,.92);
        box-shadow: 0 10px 26px rgba(15,23,42,.08);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }

    .mobile-nav-toggle__bar {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 999px;
        background: var(--sak-ink);
        transition: transform .18s ease, opacity .18s ease;
    }

    /* otevřeno => X */
    .mobile-nav-toggle.is-open .mobile-nav-toggle__bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .mobile-nav-toggle.is-open .mobile-nav-toggle__bar:nth-child(2) {
        opacity: 0;
    }

    .mobile-nav-toggle.is-open .mobile-nav-toggle__bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    .mobile-nav-toggle:hover {
        background: rgba(0,85,204,.06);
        border-color: rgba(0,85,204,.22);
    }

    .mobile-nav-toggle:active {
        transform: translateY(0);
    }

    .mobile-nav-toggle:focus-visible {
        outline: none;
        box-shadow: 0 0 0 4px rgba(0,85,204,.12), 0 10px 26px rgba(15,23,42,.08);
    }

    /* ---------- MOBILE HEADER RULES ---------- */
    @media (max-width:1024px) {
        .header-navwrap {
            display: none;
        }

        .header-cta {
            display: none;
        }

        .header-shell {
            grid-template-columns: 1fr auto;
            align-items: center;
            gap: .75rem;
            padding: .55rem 1rem;
        }

        .header-logo {
            justify-self: start;
        }

            .header-logo img {
                height: 54px;
            }

        .mobile-nav-toggle {
            display: inline-flex;
            flex-direction: column;
        }
    }

    /* ---------- DRAWER WRAPPER (under header) ---------- */
    .mobile-drawer {
        position: fixed;
        left: 0;
        right: 0;
        top: var(--hdrh, 74px); /* nastaví JS dle výšky headeru */
        z-index: 110;
        pointer-events: none;
    }

    /* backdrop (od headeru dolů) */
    .mobile-drawer__backdrop {
        position: fixed;
        left: 0;
        right: 0;
        top: var(--hdrh, 74px);
        bottom: 0;
        background: rgba(2,6,23,.52);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        opacity: 0;
        transition: opacity .18s ease;
    }

    /* panel vyjíždí dolů */
    .mobile-drawer__panel {
        background: #fff;
        border-top: 1px solid rgba(15,23,42,.10);
        box-shadow: var(--shadow-lg);
        transform: translateY(-14px);
        opacity: 0;
        transition: transform .18s ease, opacity .18s ease;
        max-height: calc(100vh - var(--hdrh, 74px));
        overflow: auto;
    }

    /* open state */
    .mobile-drawer.is-open {
        pointer-events: auto;
    }

        .mobile-drawer.is-open .mobile-drawer__backdrop {
            opacity: 1;
        }

        .mobile-drawer.is-open .mobile-drawer__panel {
            transform: translateY(0);
            opacity: 1;
        }

    /* scroll lock */
    body.is-locked {
        overflow: hidden;
    }

    /* ---------- CONTENT ---------- */
    .mobile-drawer__content {
        padding: 1rem;
        display: grid;
        gap: .65rem;
    }

        .mobile-drawer__content a {
            color: var(--sak-ink);
            text-decoration: none;
        }

    .mobile-drawer__link {
        display: flex;
        align-items: center;
        padding: .85rem var(--fs-btn);
        border-radius: 14px;
        border: 1px solid rgba(15,23,42,.10);
        background: rgba(255,255,255,.92);
        box-shadow: 0 10px 26px rgba(15,23,42,.06);
        font-weight: 850;
        transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
    }

        .mobile-drawer__link:hover {
            background: #eef4ff;
            border-color: rgba(0,85,204,.18);
            transform: translateY(-1px);
            color: var(--sak-brand);
        }

    .mobile-drawer__divider {
        height: 1px;
        background: rgba(15,23,42,.10);
        margin: .65rem 0 .35rem;
    }

    /* CTA buttons */
    .mobile-drawer__btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: var(--fs-btn) 1rem;
        border-radius: 14px;
        font-weight: 900;
        border: 1px solid transparent;
        transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
    }

        .mobile-drawer__btn.is-primary {
            background: var(--sak-brand);
            color: #fff;
        }

            .mobile-drawer__btn.is-primary:hover {
                background: var(--sak-brand-dark);
                transform: translateY(-1px);
            }

        .mobile-drawer__btn.is-outline {
            background: rgba(255,255,255,.92);
            color: var(--sak-brand);
            border-color: rgba(0,85,204,.22);
        }

            .mobile-drawer__btn.is-outline:hover {
                background: rgba(0,85,204,.06);
                transform: translateY(-1px);
            }

    /* language chips */
    .mobile-drawer__langs {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
    }

    .mobile-drawer__lang {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .55rem .75rem;
        border-radius: 12px;
        border: 1px solid rgba(15,23,42,.12);
        background: rgba(255,255,255,.92);
        font-weight: 900;
        text-decoration: none;
        color: var(--sak-ink);
        transition: background .16s ease, border-color .16s ease, transform .16s ease, color .16s ease;
    }

        .mobile-drawer__lang:hover {
            background: rgba(0,85,204,.06);
            border-color: rgba(0,85,204,.22);
            transform: translateY(-1px);
            color: var(--sak-brand);
        }

        .mobile-drawer__lang.is-active {
            background: rgba(0,85,204,.92);
            border-color: rgba(0,85,204,.10);
            color: #fff;
        }

    /* reduced motion */
    @media (prefers-reduced-motion: reduce) {
        .mobile-drawer__backdrop,
        .mobile-drawer__panel,
        .mobile-nav-toggle__bar {
            transition: none !important;
        }
    }

    /* =========================================================
   HOME HERO – MOBILE (CLEAN)
   ========================================================= */

    /* sticky header na mobilu */
    @media (max-width: 1024px) {
        .site-header {
            position: sticky;
            top: 0;
        }
    }

    /* HERO + METRICS + čitelnost textu (mobile) */
    @media (max-width: 640px) {

        /* Hero: bez zbytečné mezery nahoře */
        .hero {
            padding-top: 0;
            margin-top: 0;
            /* Pozn.: 100vh je často zrádné kvůli adresnímu řádku.
       Pokud chceš "celá výška", dej raději min-height: 100svh; */
            height: 100vh;
        }

            /* ať container není nalepený na okraje */
            .hero .container {
                padding-left: 1.15rem;
                padding-right: 1.15rem;
            }

        .hero-left {
            padding: 0;
        }

        /* HERO BADGES */
        .top-pill,
        .hero-badge {
            font-size: .72rem;
            padding: .30rem .6rem;
            border-radius: 999px;
            background: var(--sak-bg);
            border: 1px solid #c7d4f5;
            color: #1e293b;
            font-weight: 550;
        }

        /* Čitelnost textů na pozadí */
        .hero-title,
        .hero-lead,
        .hero-brands {
            position: relative;
            z-index: 1;
        }

        .hero-title {
            text-shadow: 0 1px 0 rgba(255,255,255,.65);
        }

        /* Brands box */
        .hero-brands {
            margin-top: .75rem;
            padding: .55rem .7rem;
            border-radius: 14px;
            background: rgba(255,255,255,.55);
            border: 1px dashed rgba(15,23,42,.14);
            color: #334155;
            font-size: .86rem;
            line-height: 1.35;
            letter-spacing: .01em;
        }

        /* CTA tlačítka – POZOR: neglobálně přes .btn */
        .hero .btn {
            padding: 10px;
            font-size: var(--fs-btn);
            width: 45vw;
        }

        /* Logo v headeru (pokud chceš) */
        .header-logo img {
            height: 80px;
        }

        /* =========================
     HERO METRICS (1 vlevo / 2 střed / 3 vpravo)
     ========================= */

        .hero-bottom-row,
        .hero-metrics,
        .hero-metrics .metrics {
            width: 100%;
            max-width: 100%;
        }

            .hero-metrics .metrics {
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                gap: 0;
            }

                .hero-metrics .metrics .metric {
                    flex: 1 1 0;
                    min-width: 0;
                    padding: 0;
                    margin: 0;
                    background: transparent !important;
                    border: 0 !important;
                    box-shadow: none !important;
                    border-radius: 0 !important;
                    line-height: 1.2;
                }

                    .hero-metrics .metrics .metric:nth-child(1) {
                        text-align: left;
                    }

                    .hero-metrics .metrics .metric:nth-child(2) {
                        text-align: center;
                    }

                    .hero-metrics .metrics .metric:nth-child(3) {
                        text-align: right;
                    }

                    .hero-metrics .metrics .metric strong {
                        display: block;
                        font-size: 1.1rem;
                        font-weight: 900;
                        line-height: 1.15;
                        color: var(--sak-ink);
                        white-space: nowrap;
                    }

                    .hero-metrics .metrics .metric span {
                        display: block;
                        margin-top: .15rem;
                        font-size: .75rem;
                        line-height: 1.25;
                        color: var(--sak-muted);
                        white-space: normal;
                        overflow-wrap: anywhere;
                    }

                    .hero-metrics .metrics .metric::before,
                    .hero-metrics .metrics .metric::after {
                        content: none !important;
                        display: none !important;
                    }

        form button {
            display: none;
        }

        #heroSearchForm {
            padding: 10px 20px;
            border: 1px solid #cfd7e8;
        }


        #heroSearchInput {
            font-size: 1.8rem;
        }

        #heroSearchForm {
            display: flex;
            align-items: center;
            border: 1px solid #cfd7e8;
            border-radius: 999px;
            padding: 0;
            background: #fff;
        }

        #heroSearchInput {
            flex: 1 1 auto;
            width: 100%;
            padding: 10px 20px;
            font-size: 2rem;
            border: 0;
            background: transparent;
            outline: none;
        }

        #heroSearchForm button {
            display: none;
        }
    }

    .hero-variant-toggle {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        height: 38px;
        padding: 0 .75rem;
        border-radius: 999px;
        border: 1px solid var(--sak-border);
        background: rgba(255,255,255,.65);
        color: var(--sak-ink);
        font-weight: 700;
        cursor: pointer;
        transition: transform .15s ease, background .15s ease;
    }

        .hero-variant-toggle:hover {
            transform: translateY(-1px);
        }

        .hero-variant-toggle:active {
            transform: translateY(0);
        }

        .hero-variant-toggle:focus-visible {
            outline: 3px solid rgba(0,85,204,.25);
            outline-offset: 2px;
        }

    .hero-variant-toggle__icon {
        font-size: 1rem;
        line-height: 1;
    }

    .hero-variant-toggle__txt {
        font-size: var(--fs-sm);
        line-height: 1;
    }

    @media (max-width:640px) {
        .hero-variant-toggle__txt {
            display: none;
        }

        .hero-variant-toggle {
            padding: 0 .6rem;
        }
    }

    .header-cta .btn-small {
        font-size: var(--fs-menu-xs);
        padding: var(--btn-nav-padding) 1rem;
    }



    /* section start */

    /* --- SECTION RHYTHM -------------------------------------------------- */
    :root {
        /* rytmus (můžeš ladit o +-8px) */
        --sec-y: clamp(56px, 5vw, 88px); /* standard */
        --sec-y-dense: clamp(44px, 4vw, 72px); /* hustší sekce */
        --sec-y-wide: clamp(72px, 6vw, 108px); /* „kapitola“, wow sekce */
        --sec-gap: clamp(18px, 2vw, 28px); /* vertikální mezery uvnitř */
    }

    /* základ */
    .section {
        padding-block: var(--sec-y);
        position: relative;
    }

        /* hustší */
        .section.is-dense {
            padding-block: var(--sec-y-dense);
        }

        /* důležitá kapitola */
        .section.is-wide {
            padding-block: var(--sec-y-wide);
        }

        /* aby headingy měly vždy konzistentní tempo */
        .section .section-heading-eyebrow {
            margin-bottom: .65rem;
        }

        .section .section-heading-title {
            margin-bottom: .65rem;
        }

        .section .section-heading-sub {
            margin-top: 0;
        }

        /* vnitřní rozestupy místo inline margin-top */
        .section .stack {
            margin-top: var(--sec-gap);
        }
        /* --- SOFT DIVIDERS (SUBTLE) ------------------------------------------ */
        .section.section--alt::before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: 36px;
            background: linear-gradient(to bottom, rgba(15,23,42,.05), rgba(15,23,42,0));
            pointer-events: none;
        }

    /* před tmavou sekcí (B2B) udělej měkčí náběh */
    .section-eshop.is-dark {
        overflow: hidden;
    }

        .section-eshop.is-dark::before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: 64px;
            background: linear-gradient(to bottom, rgba(255,255,255,.18), rgba(255,255,255,0));
            pointer-events: none;
        }

        /* po tmavé sekci přechod zpět do světla */
        .section-eshop.is-dark::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 72px;
            background: linear-gradient(to top, rgba(255,255,255,.16), rgba(255,255,255,0));
            pointer-events: none;
        }

    .contact-head {
        margin-bottom: clamp(18px, 2vw, 28px);
        max-width: 680px;
    }

    .section .stack {
        margin-top: var(--sec-gap);
    }

    .section-head {
        max-width: 860px; /* dle chuti */
    }

        .section-head + .stack {
            margin-top: var(--sec-gap);
        }
    /* new inquiry */
    /* Inquiry – zjednodušený dojem */
    .optional-details {
        border: 1px solid rgba(15,23,42,.08);
        border-radius: 14px;
        padding: .75rem .9rem;
        background: rgba(255,255,255,.65);
    }

        .optional-details > summary {
            cursor: pointer;
            font-weight: 800;
            list-style: none;
            user-select: none;
        }

            .optional-details > summary::-webkit-details-marker {
                display: none;
            }

    .optional-grid {
        margin-top: .9rem;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .9rem;
    }

    @media (max-width: 860px) {
        .optional-grid {
            grid-template-columns: 1fr;
        }
    }

    /* Uploader kompaktnější */
    .uploader.uploader--compact .uploader-ui {
        padding: .85rem 1rem; /* menší než dřív */
    }

    .uploader.uploader--compact .uploader-cta {
        padding: .55rem .9rem;
    }

    .uploader.uploader--compact .uploader-meta {
        margin-top: .5rem;
        font-size: .95em;
        opacity: .85;
    }





    .optional-details {
        border: 1px dashed rgba(15,23,42,.22);
        border-radius: 14px;
        padding: .85rem 1rem;
        background: rgba(2, 132, 199, .04); /* jemný hint */
    }

        .optional-details > summary {
            cursor: pointer;
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 1rem;
            user-select: none;
        }

        .optional-details .sum-title {
            font-weight: 900;
        }

        .optional-details .sum-sub {
            font-size: .95em;
            opacity: .7;
        }

        .optional-details[open] {
            border-style: solid;
            background: rgba(2, 132, 199, .06);
        }
    /* end new inquiry*/

    .nav-dd {
        position: relative
    }

    .nav-dd__btn {
        background: transparent;
        border: 0;
        color: inherit;
        font: inherit;
        font-weight: 550;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        padding: var(--btn-nav-padding) 1rem;
        border-radius: 999px;
        border: 1px solid var(--sak-brand);
        /*padding-bottom: .15rem;*/
    }

    .nav-dd__menu {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        min-width: 220px;
        background: #fff;
        border: 1px solid var(--sak-border);
        border-radius: 14px;
        box-shadow: var(--shadow-sm);
        padding: .4rem;
        display: none;
        z-index: 60;
    }

        .nav-dd__menu a {
            display: block;
            padding: .55rem .7rem;
            border-radius: 10px;
            color: #0f172a;
            font-weight: 650;
        }

            .nav-dd__menu a:hover {
                background: var(--sak-bg-soft);
                color: var(--sak-brand)
            }

    .nav-dd:hover .nav-dd__menu,
    .nav-dd:focus-within .nav-dd__menu {
        display: block
    }

    /* =========================================================
   RANGE SECTION
   ========================================================= */
    .section-range {
        padding-top: 4.5rem;
    }

    .range-head {
        max-width: 880px;
        margin-bottom: 2rem;
    }

    .range-sub {
        max-width: 860px;
    }

    .range-layout--dual {
        display: grid;
        grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
        gap: 1.5rem;
        align-items: start;
    }

    .range-mainstack {
        display: grid;
        gap: 1.2rem;
    }

    /* =========================================================
   LEFT MAIN CARDS
   ========================================================= */
    .range-feature {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        text-decoration: none;
        color: inherit;
        background: var(--sak-bg);
        border: 1px solid var(--sak-border);
        border-radius: 28px;
        padding: 1.35rem;
        box-shadow: 0 10px 28px rgba(15,23,42,.06);
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

        .range-feature:hover {
            transform: translateY(-4px);
            box-shadow: 0 18px 45px rgba(15,23,42,.10);
            border-color: #c7d4f5;
        }

    .range-feature--primary,
    .range-feature--secondary {
        min-height: 0;
    }

    .range-feature__top {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) 220px;
        gap: 1.4rem;
        align-items: start;
    }

    .range-feature__body {
        min-width: 0;
    }

    .range-feature__eyebrow {
        font-size: var(--fs-xxs);
        text-transform: uppercase;
        letter-spacing: .14em;
        color: var(--sak-soft);
        margin-bottom: .65rem;
    }

    .range-feature__body h3 {
        font-size: 1.85rem;
        line-height: 1.1;
        font-weight: 850;
        margin: 0 0 .75rem;
        color: var(--sak-ink);
    }

    .range-feature__body p {
        font-size: var(--fs-md);
        line-height: var(--lh-more);
        color: #475569;
        margin: 0 0 .75rem;
    }

    .range-feature__note {
        color: var(--sak-ink) !important;
    }

    .range-feature__media {
        width: 100%;
        aspect-ratio: 1 / 1;
        border-radius: 20px;
        background: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

        .range-feature__media img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

    /* =========================================================
   TAGS
   ========================================================= */
    .range-tags--full {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .55rem;
        width: 100%;
        margin-top: .1rem;
    }

        .range-tags--full span {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: .5rem .75rem;
            border-radius: 999px;
            border: 1px solid var(--sak-border);
            background: var(--sak-bg-soft);
            color: #334155;
            font-size: var(--fs-xs);
            font-weight: 650;
            text-align: center;
            transition: background .18s ease, border-color .18s ease, transform .18s ease;
        }

    .range-feature:hover .range-tags--full span {
        border-color: #d7deec;
    }

    .range-tags--full span:hover {
        background: #eef4ff;
        border-color: #c7d4f5;
        transform: translateY(-1px);
    }

    .range-tags--compact {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* =========================================================
   RIGHT SMALL CARDS
   - image left top
   - title below
   - text below
   ========================================================= */
    .range-grid--logical {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .range-card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        text-decoration: none;
        color: inherit;
        background: var(--sak-bg);
        border: 1px solid var(--sak-border);
        border-radius: 24px;
        padding: 1rem 1rem 1.1rem;
        min-height: 100%;
        box-shadow: 0 10px 24px rgba(15,23,42,.05);
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        overflow: hidden;
    }

        .range-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 16px 38px rgba(15,23,42,.10);
            border-color: #c7d4f5;
        }

    /* zruší staré varianty, které dělaly chaos */
    .range-card__top {
        display: contents;
    }

    .range-card__body {
        display: contents;
    }

    /* obrázek = první prvek, vlevo nahoře */
    .range-card__media {
        max-height: 100px;
        aspect-ratio: 1 / 1;
        border-radius: 18px;
        background: #f8fafc;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        margin: 0 0 0.3rem 0;
        align-self: flex-start;
        order: 1;
    }

        .range-card__media img {
            width: 100%;
            max-height: 100px;
            object-fit: contain;
        }

    /* název = druhý řádek */
    .range-card h3,
    .range-card__top h3,
    .range-card__body h3 {
        order: 2;
        margin: 0 0 .45rem;
        font-size: var(--fs-xl);
        line-height: 1.18;
        font-weight: 800;
        color: var(--sak-ink);
    }

    /* popis = třetí řádek */
    .range-card > p,
    .range-card__body p {
        order: 3;
        margin: 0;
        font-size: var(--fs-sm);
        line-height: 1.6;
        color: #475569;
    }

    /* =========================================================
   EXTRA
   ========================================================= */
    .range-extra-card {
        margin-top: 1.35rem;
        padding: 1rem 1.15rem;
        border: 1px solid var(--sak-border);
        border-radius: 22px;
        background: rgba(255,255,255,.72);
        box-shadow: 0 8px 22px rgba(15,23,42,.04);
    }

    .range-extra-card__label {
        margin-bottom: .75rem;
        font-size: var(--fs-sm);
        font-weight: 750;
        color: var(--sak-muted);
    }

    .range-extra-card__items {
        display: flex;
        flex-wrap: wrap;
        gap: .6rem;
    }

        .range-extra-card__items span {
            display: inline-flex;
            align-items: center;
            padding: .45rem .85rem;
            border-radius: 999px;
            background: var(--sak-bg);
            border: 1px solid var(--sak-border);
            color: #334155;
            font-size: var(--fs-xs);
            font-weight: 650;
        }

    /* =========================================================
   RESPONSIVE
   ========================================================= */
    @media (max-width: 1200px) {
        .range-layout--dual {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 900px) {
        .range-feature__top {
            grid-template-columns: 1fr;
        }

        .range-feature__media {
            max-width: 240px;
            margin-left: auto;
            margin-right: auto;
        }

        .range-grid--logical {
            grid-template-columns: 1fr;
        }

        .range-tags--full {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    @media (max-width: 640px) {
        .range-feature__body h3 {
            font-size: 1.6rem;
        }

        .range-card {
            padding: .9rem;
        }

        .range-card__media {
            max-width: 96px;
            margin-bottom: .8rem;
        }

        .range-tags--full,
        .range-tags--compact {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    /*about us*/
    /* ABOUT PAGE ---------------------------------------------*/
    .about-page-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
        gap: 2rem;
        align-items: start;
        margin-top: 2rem;
    }

    .about-page-text p + p {
        margin-top: 1rem;
    }

    .about-side-card {
        height: 100%;
    }

    .about-usp-list {
        margin-top: 2rem;
    }

    .about-policy-grid {
        margin-top: 2rem;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .about-bullets {
        max-width: 980px;
    }

    @media (max-width: 1024px) {
        .about-page-grid,
        .about-policy-grid {
            grid-template-columns: 1fr;
        }
    }

    /* ABOUT HERO --------------------------------------------- */
    .section-about-hero {
        position: relative;
        overflow: hidden;
        margin-top: calc(var(--header-h) * -1);
        min-height: clamp(320px, 60vh, 600px);
        padding-top: calc(3.2rem + var(--header-h));
        padding-bottom: 3rem;
        background: url('/images/sidlo-sak-loziska.jpg') center 40% / cover no-repeat;
    }

        .section-about-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            /*background: linear-gradient(180deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .04));*/
            z-index: 1;
            pointer-events: none;
        }

        .section-about-hero .container {
            position: relative;
            z-index: 2;
            padding-top: 3vh;
        }

    .about-hero-card {
        max-width: 780px;
        padding: 2rem 2.1rem;
        border-radius: var(--radius-lg);
        background: rgba(255, 255, 255, .76);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        box-shadow: var(--shadow-md);
        /*box-shadow: 0 24px 25px rgba(15,23,42,.92);*/
    }

    .section-about-hero .section-head--light {
        max-width: none;
        padding-left: 0;
        border-left: 0;
    }

    .section-about-hero .section-heading-eyebrow {
        color: var(--sak-brand-dark);
    }

    .section-about-hero .section-heading-title {
        margin-bottom: 1rem;
        max-width: 760px;
        line-height: 1.05;
        color: var(--sak-ink);
    }

        .section-about-hero .section-heading-title span {
            color: var(--sak-brand);
        }

    .section-about-hero .section-heading-sub {
        max-width: 700px;
        margin-top: 0;
        color: var(--sak-muted);
    }

    .section.about-us {
        padding-top: 20px;
    }

    .about-hero-identity {
        margin-top: 1.4rem;
        padding-top: 1rem;
        max-width: 680px;
        display: grid;
        gap: .45rem;
        border-top: 1px solid rgba(15, 23, 42, .08);
    }

        .about-hero-identity p {
            margin: 0;
            font-size: var(--fs-xs);
            line-height: var(--lh-base);
            color: var(--sak-muted);
        }

    /* ABOUT INTRO -------------------------------------------- */
    .about-intro-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
        gap: 2rem;
        align-items: end;
    }

    .about-intro-main .section-heading-sub {
        max-width: 780px;
    }

    .about-page-text {
        margin-top: 1.6rem;
    }

        .about-page-text p + p {
            margin-top: 1.15rem;
        }

    /* ABOUT SIDE PANEL --------------------------------------- */


    /* RESPONSIVE --------------------------------------------- */
    @media (max-width: 1024px) {
        .about-intro-grid {
            grid-template-columns: 1fr;
        }

        .about-side-panel {
            position: static;
        }
    }

    @media (max-width: 767px) {
        .section-about-hero {
            min-height: auto;
            padding-top: calc(2.4rem + var(--header-h));
            padding-bottom: 3rem;
        }

        .about-hero-card {
            padding: 1.4rem 1.2rem;
            border-radius: var(--radius-md);
        }
    }


    @media (max-width: 768px) {
        .section-about-hero {
            min-height: 340px;
            padding-bottom: 2rem;
            background-position: center 35%;
        }
    }

    @media (max-width: 480px) {
        .section-about-hero {
            min-height: 300px;
            background-position: center 30%;
        }
    }


    /*new aside*/
    .about-side-summary {
    }

    .about-side-summary__card {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        height: 100%;
        padding: 1.5rem 1.4rem;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        border: 1px solid var(--sak-border);
        border-radius: var(--radius-md);
        box-shadow: var(--shadow-sm);
    }

    .about-side-summary__eyebrow {
        display: inline-flex;
        align-items: center;
        gap: .55rem;
        font-size: .78rem;
        text-transform: uppercase;
        letter-spacing: .14em;
        font-weight: 800;
        color: #64748b;
        padding-bottom: .35rem;
        border-bottom: 1px solid var(--sak-border-soft);
    }

        .about-side-summary__eyebrow::before {
            content: "";
            width: 9px;
            height: 9px;
            border-radius: 999px;
            background: rgba(0,85,204,.55);
            box-shadow: 0 0 0 4px rgba(0,85,204,.10);
            flex: 0 0 auto;
        }

    .about-side-summary__item {
        padding: .2rem 0 1rem;
        border-bottom: 1px solid var(--sak-border-soft);
    }

        .about-side-summary__item:last-of-type {
            border-bottom: 0;
            padding-bottom: .2rem;
        }

    .about-side-summary__value {
        font-size: 1.02rem;
        line-height: 1.3;
        font-weight: 850;
        color: var(--sak-ink);
        margin-bottom: .3rem;
    }

    .about-side-summary__label {
        font-size: .96rem;
        line-height: 1.55;
        color: var(--sak-muted);
    }

    .about-side-summary__foot {
        margin-top: .35rem;
        padding-top: 1rem;
        border-top: 1px solid var(--sak-border-soft);
        font-size: .95rem;
        line-height: 1.6;
        font-weight: 700;
        color: #334155;
    }

    @media (max-width: 900px) {
        .about-side-summary__card {
            padding: 1.25rem 1.1rem;
        }

        .about-side-summary__value {
            font-size: 1rem;
        }

        .about-side-summary__label,
        .about-side-summary__foot {
            font-size: .94rem;
        }
    }


    /*ikony*/
    .about-side-summary__item {
        display: flex;
        gap: 12px;
        align-items: flex-start;
    }

    .about-side-summary__icon {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
        margin-top: 3px;
        color: var(--sak-muted);
        opacity: 0.7;
    }

        .about-side-summary__icon svg {
            width: 100%;
            height: 100%;
            stroke-width: 1.6;
        }
    /* =========================================================
   GLOBAL – MOBILE FOUNDATION
   společný mobilní základ pro všechny stránky
   ========================================================= */
    @media (max-width: 767px) {
        .container {
            padding-inline: var(--mobile-side-pad);
        }

        main {
            padding-bottom: calc(var(--fs-xl) * 1.15);
        }

        .section {
            padding-block: calc(var(--fs-3xl) * .7);
        }

        /* shared headings */
        .section-heading-eyebrow {
            /*font-size: var(--mobile-eyebrow-fs);*/
            line-height: 1.15;
            margin-bottom: calc(var(--fs-btn) * .8);
            letter-spacing: .08em;
        }

        .section-heading-title {
            /*font-size: var(--mobile-title-fs);*/
            line-height: var(--mobile-title-lh);
            letter-spacing: -.02em;
            margin-bottom: calc(var(--fs-btn) * .9);
            max-width: 100%;
        }

        .section-heading-sub {
            font-size: var(--mobile-sub-fs);
            line-height: var(--lh-more);
            margin-bottom: var(--fs-xs);
            max-width: 100%;
        }

        /* shared body text */
        .usp-intro .section-heading-sub,
        .usp-intro > p,
        .usp-card p,
        .range-feature__body p,
        .range-card p,
        .card p,
        .contact-card p,
        .about-side-card p,
        .news-card p,
        .info-card p,
        .about-page-text p,
        .kontaktD-top p {
            font-size: var(--mobile-text-fs);
            line-height: var(--lh-more);
        }

            .about-page-text p + p {
                margin-top: var(--fs-xs);
            }

        /* shared cards */
        .usp-card,
        .range-card,
        .range-feature,
        .range-feature__body,
        .card,
        .contact-card,
        .about-side-card,
        .news-card,
        .info-card,
        .about-side-summary__card,
        .kontaktD-top {
            padding: var(--mobile-card-pad);
            border-radius: var(--radius-md);
        }

            /* shared card headings */
            .usp-card h3,
            .range-feature__body h3,
            .range-card h3,
            .card h3,
            .contact-card h3,
            .about-side-card h3,
            .news-card h3,
            .info-card h3,
            .kontaktD-top h3 {
                font-size: var(--fs-lg);
                line-height: 1.15;
                margin-bottom: calc(var(--fs-btn) * .5);
            }

        /* shared buttons */
        .btn,
        .sortiment-actions .btn {
            min-height: var(--mobile-btn-h);
            padding: calc(var(--fs-btn) * .92) calc(var(--fs-xl) * 1.05);
            font-size: var(--mobile-btn-fs);
        }

        /* shared lists / gaps */
        .usp-head,
        .range-grid,
        .range-features,
        .range-cards,
        .footer-top,
        .footer-grid,
        .usp-list,
        .about-usp-list,
        .about-policy-grid,
        .sortiment-actions {
            gap: var(--mobile-gap);
        }

        .usp-list,
        .about-usp-list,
        .about-policy-grid,
        .sortiment-actions {
            grid-template-columns: 1fr;
        }

        .usp-bullets,
        .about-bullets,
        .certA-bullets.about-bullets {
            margin-top: var(--fs-xs);
            margin-bottom: var(--fs-sm);
            padding-left: var(--fs-sm);
            font-size: var(--mobile-text-fs);
        }

        .usp-head {
            grid-template-columns: 1fr;
        }

        .usp-bullets li,
        .about-bullets li,
        .certA-bullets.about-bullets li {
            margin-bottom: calc(var(--fs-btn) * .65);
            line-height: 1.45;
        }

        .usp-cta {
            margin-top: var(--mobile-gap);
            gap: var(--fs-btn);
        }

            .usp-cta .btn,
            .sortiment-actions .btn {
                width: 100%;
            }

        .usp-icon {
            width: calc(var(--fs-3xl) * .82);
            height: calc(var(--fs-3xl) * .82);
            margin-bottom: calc(var(--fs-btn) * .85);
        }

            .usp-icon svg {
                width: calc(var(--fs-xl) * 1.35);
                height: calc(var(--fs-xl) * 1.35);
            }

        .site-footer .container,
        .footer-shell {
            padding-inline: var(--mobile-side-pad);
        }
    }

    @media (max-width: 420px) {
        :root {
            --mobile-title-fs: var(--fs-xl);
            --mobile-title-lh: 1.08;
            --mobile-sub-fs: var(--fs-xxs);
            --mobile-text-fs: var(--fs-xxs);
            --mobile-btn-fs: var(--fs-xxs);
        }

        .usp-card h3,
        .range-feature__body h3,
        .range-card h3,
        .card h3,
        .contact-card h3,
        .about-side-card h3,
        .news-card h3,
        .info-card h3,
        .kontaktD-top h3 {
            font-size: var(--fs-md);
        }
    }

    /* =========================================================
   HOMEPAGE – MOBILE OVERRIDE
   pouze layout a hero specifika homepage
   ========================================================= */
    @media (max-width: 767px) {
        :root {
            --hero-pill-fs: calc(var(--fs-xxs) * .92);
            --hero-title-fs: var(--fs-3xl);
            --hero-title-lh: 1.05;
            --hero-lead-fs: var(--fs-sm);
            --hero-brands-fs: var(--fs-xxs);
            --hero-search-fs: var(--fs-sm);
            --hero-metric-value-fs: var(--fs-lg);
            --hero-metric-label-fs: var(--fs-xxs);
            --hero-search-height: 54px;
        }



        .hero.hero--dark.main {
            min-height: auto;
            height: auto;
            display: block;
            padding-top: calc(var(--header-h) + calc(var(--fs-xl) * .95));
            padding-bottom: calc(var(--fs-xl) * 1.15);
        }

            .hero.hero--dark.main::before {
                background-position: 74% center;
                background-size: cover;
            }

            .hero.hero--dark.main .hero-inner {
                padding: 0;
                margin: 0;
            }

            .hero.hero--dark.main .hero-left,
            .hero.hero--dark.main .hero-bottom-row {
                max-width: 100%;
            }

            .hero.hero--dark.main .hero-badges {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: calc(var(--fs-btn) * .55);
                width: 100%;
                margin-bottom: var(--mobile-gap);
            }

                .hero.hero--dark.main .hero-badges .hero-badge:nth-child(3),
                .hero.hero--dark.main .hero-badges .hero-badge:nth-child(4) {
                    display: none;
                }

            .hero.hero--dark.main .top-pill,
            .hero.hero--dark.main .hero-badge {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                min-width: 0;
                min-height: calc(var(--fs-3xl) * .56);
                padding: calc(var(--fs-btn) * .45) calc(var(--fs-btn) * .62);
                font-size: var(--hero-pill-fs);
                line-height: 1.1;
                text-align: center;
                white-space: normal;
                background: rgba(8, 15, 29, .52);
                border: 1px solid rgba(255,255,255,.14);
                color: rgba(255,255,255,.88);
                backdrop-filter: blur(8px);
                -webkit-backdrop-filter: blur(8px);
            }

                .hero.hero--dark.main .top-pill strong {
                    color: #8bbcff;
                }

            .hero.hero--dark.main .hero-title {
                font-size: var(--hero-title-fs);
                line-height: var(--hero-title-lh);
                letter-spacing: -.02em;
                margin-bottom: calc(var(--fs-btn) * .95);
                color: #fff;
                text-shadow: 0 10px 30px rgba(0,0,0,.38);
            }

            .hero.hero--dark.main .hero-lead {
                font-size: var(--hero-lead-fs);
                line-height: var(--lh-more);
                margin-bottom: calc(var(--fs-btn) * .95);
                max-width: 100%;
                color: rgba(255,255,255,.86);
                text-shadow: 0 4px 18px rgba(0,0,0,.32);
            }

            .hero.hero--dark.main .hero-brands {
                margin-bottom: var(--mobile-gap);
                padding: calc(var(--fs-btn) * .7) calc(var(--fs-btn) * .85);
                border-radius: var(--radius-md);
                background: rgba(9, 17, 31, .38);
                border: 1px solid rgba(255,255,255,.10);
                color: rgba(255,255,255,.72);
                font-size: var(--hero-brands-fs);
                line-height: 1.45;
                backdrop-filter: blur(10px);
                -webkit-backdrop-filter: blur(10px);
            }

            /* search: ponechat input, schovat jen submit */
            .hero.hero--dark.main .hero-search-wrap {
                display: block;
                width: 100%;
                max-width: none;
                margin: 0 0 calc(var(--fs-btn) * .9);
            }

            .hero.hero--dark.main #heroSearchForm.search-bar,
            .hero.hero--dark.main .search-bar {
                display: block;
                width: 100%;
                max-width: none;
                padding: calc(var(--fs-btn) * .78);
                margin: 0;
                border-radius: var(--radius-lg);
                background: rgba(255,255,255,.10);
                border: 1px solid rgba(255,255,255,.16);
                box-shadow: 0 18px 40px rgba(0,0,0,.26);
                backdrop-filter: blur(14px);
                -webkit-backdrop-filter: blur(14px);
                box-sizing: border-box;
            }

                .hero.hero--dark.main #heroSearchInput,
                .hero.hero--dark.main .search-bar input {
                    display: block;
                    width: 100%;
                    max-width: none;
                    min-width: 0;
                    min-height: var(--hero-search-height);
                    height: var(--hero-search-height);
                    padding: 0 1rem;
                    font-size: var(--hero-search-fs);
                    line-height: 1.2;
                    border: 0;
                    border-radius: calc(var(--radius-md) + 2px);
                    background: rgba(255,255,255,.96);
                    color: #0f172a;
                    box-shadow: inset 0 0 0 1px rgba(15,23,42,.05);
                    box-sizing: border-box;
                }

                    .hero.hero--dark.main #heroSearchInput::placeholder,
                    .hero.hero--dark.main .search-bar input::placeholder {
                        color: #64748b;
                    }

                .hero.hero--dark.main #heroSearchForm button,
                .hero.hero--dark.main .search-bar button {
                    display: none !important;
                }

            /* spodní řádek: ne odstranit, ale zlehčit */
            .hero.hero--dark.main .hero-bottom-row {
                display: grid;
                gap: .8rem;
                margin-top: calc(var(--fs-btn) * .7);
            }

            .hero.hero--dark.main .hero-cta-group {
                display: none;
                grid-template-columns: 1fr 1fr;
                gap: .7rem;
            }

                .hero.hero--dark.main .hero-cta-group .btn {
                    width: 100%;
                    min-height: 48px;
                    padding: 0 .9rem;
                    justify-content: center;
                    font-size: var(--fs-xs);
                }

                .hero.hero--dark.main .hero-cta-group .btn-outline {
                    border-color: rgba(255,255,255,.22);
                    color: #fff;
                    background: rgba(255,255,255,.06);
                }

            .hero.hero--dark.main .hero-metrics {
                width: 100%;
            }

            .hero.hero--dark.main .metrics {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: .55rem;
                padding: .8rem .85rem;
                border-radius: var(--radius-lg);
                background: rgba(8, 15, 29, .38);
                border: 1px solid rgba(255,255,255,.10);
                backdrop-filter: blur(10px);
                -webkit-backdrop-filter: blur(10px);
            }

            .hero.hero--dark.main .metric {
                min-width: 0;
                padding: .25rem .2rem;
                text-align: left;
                color: rgba(255,255,255,.72);
            }

                .hero.hero--dark.main .metric::before {
                    display: none !important;
                }

                .hero.hero--dark.main .metric strong {
                    display: block;
                    font-size: var(--hero-metric-value-fs);
                    line-height: 1.05;
                    color: #fff;
                    margin-bottom: .12rem;
                }

                .hero.hero--dark.main .metric span {
                    display: block;
                    font-size: var(--hero-metric-label-fs);
                    line-height: 1.3;
                    color: rgba(255,255,255,.72);
                }

            .hero.hero--dark.main #liveSearchPanel {
                left: var(--mobile-side-pad) !important;
                right: var(--mobile-side-pad) !important;
                width: auto !important;
                max-width: none !important;
            }





        .usp-intro .section-heading-title {
            max-width: 10ch;
        }

        .hero.hero--dark.main .hero-left,
        .hero.hero--dark.main .hero-bottom-row,
        .hero.hero--dark.main .hero-search-wrap,
        .hero.hero--dark.main #heroSearchForm.search-bar,
        .hero.hero--dark.main .search-bar,
        .hero.hero--dark.main .hero-metrics,
        .hero.hero--dark.main .metrics {
            width: 100%;
            max-width: none;
            box-sizing: border-box;
        }
    }

    @media (max-width: 420px) {
        :root {
            --hero-title-fs: var(--fs-2xl);
            --hero-metric-value-fs: var(--fs-base);
            --hero-metric-label-fs: 11px;
            --hero-search-height: 50px;
        }

        .hero-metrics {
            width: 100% !important;
            padding: 0px;
        }

        .hero.hero--dark.main .hero-title {
            margin-bottom: .8rem;
            max-width: 220px;
        }

        .hero.hero--dark.main .metric {
            padding: 0 10px;
        }

        .hero.hero--dark.main .hero-lead {
            margin-bottom: .8rem;
        }

        .hero.hero--dark.main .hero-brands {
            margin-bottom: .8rem;
        }

        .hero.hero--dark.main .hero-cta-group {
            grid-template-columns: 1fr;
        }



        .hero.hero--dark.main .metric strong {
            font-size: var(--hero-metric-value-fs);
        }

        .hero.hero--dark.main .metric span {
            font-size: var(--hero-metric-label-fs);
            line-height: 1.25;
        }
    }

    /* =========================================================
   ABOUT US – MOBILE OVERRIDE
   pouze layout a page specific úpravy
   ========================================================= */
    @media (max-width: 767px) {
        :root {
            --about-mobile-hero-h: 40dvh;
        }

        .section-about-hero {
            min-height: var(--about-mobile-hero-h);
            padding: 0;
            background-size: cover;
            background-position: center center;
        }

            .section-about-hero .container {
                min-height: var(--about-mobile-hero-h);
                padding-inline: 0;
            }

        .section.about-us {
            padding-top: calc(var(--fs-xl) * .95);
        }

        .about-intro-grid {
            grid-template-columns: 1fr;
            gap: calc(var(--fs-xl) * .95);
            align-items: start;
        }

        .about-intro-main .section-heading-eyebrow,
        .section.about-us .section-heading-eyebrow {
            font-size: var(--mobile-eyebrow-fs);
            line-height: 1.15;
            letter-spacing: .08em;
            margin-bottom: calc(var(--fs-btn) * .62);
        }

        .about-intro-main .section-heading-title,
        .section.about-us .section-heading-title {
            font-size: var(--mobile-title-fs);
            line-height: 1.02;
            letter-spacing: -.03em;
            margin-bottom: calc(var(--fs-btn) * .85);
            max-width: none;
            width: 100%;
        }

        .about-intro-main .section-heading-sub,
        .section.about-us .section-heading-sub {
            font-size: var(--mobile-sub-fs);
            line-height: var(--lh-more);
            margin-bottom: var(--fs-sm);
            max-width: 100%;
        }

        .about-page-text {
            margin-top: var(--fs-sm);
        }

        .about-side-summary__card {
            gap: var(--fs-sm);
        }

        .about-side-summary__item {
            gap: var(--fs-btn);
            padding: 0 0 var(--fs-sm);
        }

        .about-side-summary__icon {
            width: calc(var(--fs-3xl) * .72);
            height: calc(var(--fs-3xl) * .72);
            flex: 0 0 calc(var(--fs-3xl) * .72);
        }

        .about-side-summary__value {
            font-size: var(--fs-sm);
            line-height: 1.28;
            margin-bottom: calc(var(--fs-btn) * .25);
        }

        .about-side-summary__label,
        .about-side-summary__foot {
            font-size: var(--mobile-small-fs);
            line-height: 1.5;
        }
    }

    @media (max-width: 420px) {
        :root {
            --about-mobile-hero-h: 40dvh;
        }

        .about-side-summary__value {
            font-size: var(--fs-xs);
        }

        .about-intro-main .section-heading-title,
        .section.about-us .section-heading-title {
            font-size: var(--mobile-title-fs);
            line-height: 1.04;
        }
    }
    /* =========================================================
   RANGE – DEFAULT / DESKTOP / TABLET
   ========================================================= */

    .range-sub--mobile,
    .range-mobile-more,
    .sortiment-actions--primary-mobile {
        display: none;
    }

    .range-sub--desktop,
    .range-feature__note--desktop,
    .range-extra-card--desktop {
        display: block;
    }

    .btn-primary--desktop {
        display: inline-flex;
    }

    .range-grid--desktop {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.15rem;
        align-content: start;
    }

    @media (min-width: 768px) {
        .range-layout.range-layout--dual {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(0, .95fr);
            gap: 1.25rem;
            align-items: start;
        }

        .range-mainstack {
            display: grid;
            gap: 1.25rem;
            align-content: start;
        }

        .range-grid.range-grid--logical.range-grid--desktop {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.15rem;
            align-content: start;
        }
    }

    /* =========================================================
   MOBILE
   ========================================================= */
    @media (max-width: 767px) {
        .range-sub--desktop,
        .range-grid--desktop,
        .range-extra-card--desktop,
        .btn-primary--desktop {
            display: none;
        }



        .range-sub--mobile,
        .range-mobile-more,
        .sortiment-actions--primary-mobile {
            display: block;
        }

        .section-range .range-head {
            margin-bottom: var(--mobile-gap);
        }

        .section-range .range-sub--mobile {
            max-width: 34ch;
        }

        .section-range .range-layout {
            display: block;
        }

        .section-range .range-mainstack {
            display: grid;
            gap: var(--mobile-gap);
        }

        .section-range .range-feature {
            display: block;
            padding: 1rem;
            border-radius: calc(var(--radius-md) + 2px);
        }

        .section-range .range-feature__top {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 104px;
            align-items: center;
            gap: .9rem;
        }

        .section-range .range-feature__body {
            min-width: 0;
            padding: 0;
        }

        .section-range .range-feature__eyebrow {
            margin-bottom: .25rem;
            font-size: calc(var(--mobile-eyebrow-fs) * .85);
            line-height: 1.1;
            letter-spacing: .08em;
            opacity: .75;
        }

        .section-range .range-feature h3 {
            margin-bottom: .35rem;
            font-size: calc(var(--mobile-text-fs) * 1.25);
            line-height: 1.1;
            font-weight: 700;
        }

        .section-range .range-feature p {
            margin-bottom: 0;
            font-size: var(--mobile-text-fs);
            line-height: 1.45;
        }

        .section-range .range-feature__note--desktop,
        .section-range .range-tags {
            display: none;
        }

        .section-range .range-feature__media {
            width: 104px;
            height: 104px;
            min-height: auto;
            margin-top: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            justify-self: end;
        }

            .section-range .range-feature__media img {
                max-width: 100%;
                max-height: 100%;
                object-fit: contain;
            }

        .sortiment-actions--primary-mobile {
            margin-top: var(--mobile-gap);
            margin-bottom: var(--fs-sm);
        }

            .sortiment-actions--primary-mobile .btn,
            .section-range .sortiment-actions .btn {
                width: 100%;
            }

        .section-range .sortiment-actions {
            margin-top: var(--mobile-gap);
        }

        /* details / accordion */
        .range-mobile-more {
            margin-top: var(--fs-sm);
            border: 1px solid rgba(203, 213, 225, .9);
            border-radius: calc(var(--radius-md) + 2px);
            background: rgba(255,255,255,.88);
            overflow: hidden;
        }

            .range-mobile-more summary {
                list-style: none;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: var(--fs-sm);
                padding: 1rem;
                cursor: pointer;
                font-size: var(--mobile-text-fs);
                font-weight: 800;
                color: #0f172a;
                user-select: none;
            }

                .range-mobile-more summary::-webkit-details-marker {
                    display: none;
                }

        .range-mobile-more__icon {
            position: relative;
            width: 1rem;
            height: 1rem;
            flex: 0 0 1rem;
        }

            .range-mobile-more__icon::before,
            .range-mobile-more__icon::after {
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                width: .72rem;
                height: 2px;
                background: currentColor;
                border-radius: 999px;
                transform: translate(-50%, -50%);
                transition: transform .22s ease, opacity .22s ease;
            }

            .range-mobile-more__icon::after {
                transform: translate(-50%, -50%) rotate(90deg);
            }

        .range-mobile-more[open] .range-mobile-more__icon::after {
            opacity: 0;
            transform: translate(-50%, -50%) rotate(90deg) scale(.5);
        }

        .range-mobile-more__content {
            padding: 0 1rem 1rem;
            border-top: 1px solid rgba(226,232,240,.9);
        }

        .range-mobile-list {
            display: grid;
            gap: .8rem;
            padding-top: 1rem;
        }

        .range-mobile-item {
            display: grid;
            grid-template-columns: 64px minmax(0, 1fr);
            align-items: center;
            gap: .85rem;
            padding: .85rem;
            border: 1px solid rgba(226,232,240,.95);
            border-radius: var(--radius-md);
            background: #fff;
            text-decoration: none;
            color: inherit;
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }

            .range-mobile-item:active {
                transform: scale(.992);
            }

        .range-mobile-item__media {
            width: 64px;
            height: 64px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

            .range-mobile-item__media img {
                max-width: 100%;
                max-height: 100%;
                object-fit: contain;
            }

        .range-mobile-item__body h3 {
            margin-bottom: .25rem;
            font-size: var(--fs-sm);
            line-height: 1.2;
        }

        .range-mobile-item__body p {
            margin: 0;
            font-size: var(--mobile-small-fs);
            line-height: 1.45;
            color: #334155;
        }

        .range-extra-card--mobile {
            margin-top: .9rem;
            padding: 1rem;
            border-radius: var(--radius-md);
        }

            .range-extra-card--mobile .range-extra-card__label {
                margin-bottom: .75rem;
                font-size: var(--fs-sm);
                line-height: 1.2;
            }

            .range-extra-card--mobile .range-extra-card__items {
                display: flex;
                flex-wrap: wrap;
                gap: .55rem;
            }

                .range-extra-card--mobile .range-extra-card__items span {
                    padding: .62rem .82rem;
                    border-radius: 999px;
                    font-size: var(--mobile-text-fs);
                    line-height: 1.1;
                }
    }

    /* =========================================================
   SMALL MOBILE
   ========================================================= */
    @media (max-width: 420px) {
        .section-range .range-feature__top {
            grid-template-columns: minmax(0, 1fr) 88px;
            gap: .75rem;
        }

        .section-range .range-feature__media {
            width: 88px;
            height: 88px;
        }

        .section-range .range-feature h3 {
            font-size: calc(var(--mobile-text-fs) * 1.18);
        }

        .range-mobile-item {
            grid-template-columns: 56px minmax(0, 1fr);
            gap: .75rem;
            padding: .78rem;
        }

        .range-mobile-item__media {
            width: 56px;
            height: 56px;
        }

        .range-mobile-item__body h3 {
            font-size: var(--fs-xs);
        }

        .range-extra-card--mobile .range-extra-card__items span {
            font-size: var(--mobile-small-fs);
            padding: .58rem .78rem;
        }
    }

    /* proc s nami spolupracovat */
    .usp-bullets {
        list-style: none;
        padding: 0;
        margin: 1.2rem 0;
        display: flex;
        flex-direction: column;
        gap: .75rem;
    }

        .usp-bullets li {
            display: flex;
            align-items: flex-start;
            gap: .6rem;
            font-size: 0.98rem;
            line-height: 1.5;
            color: #334155;
        }

            .usp-bullets li::before {
                content: "";
                width: 8px;
                height: 8px;
                margin-top: .45rem;
                border-radius: 50%;
                background: var(--sak-brand);
                box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
                flex-shrink: 0;
            }

        .usp-bullets li {
            min-width: 0;
        }

    @media (max-width: 767px) {

        .usp-bullets {
            list-style: none;
            padding: 0;
            margin: 1.1rem 0 0;
            display: grid;
            gap: .9rem;
        }

            .usp-bullets li {
                display: block;
                padding: 0;
                position: relative;
            }

                /* schováme tečky */
                .usp-bullets li::before {
                    display: none;
                }

                /* strong = nadpis */
                .usp-bullets li strong {
                    display: block;
                    font-size: 1rem;
                    line-height: 1.2;
                    font-weight: 800;
                    color: #0f172a;
                    margin-bottom: .2rem;
                }

            /* zbytek textu */
            .usp-bullets li {
                font-size: .98rem;
                line-height: 1.5;
                color: #334155;
            }
    }

    @media (max-width: 767px) {

        .usp-bullets {
            gap: 1rem;
            margin-top: 1.2rem;
        }

            .usp-bullets li strong {
                margin-bottom: .25rem;
            }

            .usp-bullets li {
                line-height: 1.55;
            }
    }

    .usp-bullets li {
        color: #475569; /* jemně světlejší než nadpis */
    }

    @media (max-width: 767px) {
        .usp-list {
            gap: .9rem;
        }

        .usp-card {
            display: grid;
            grid-template-columns: 44px minmax(0, 1fr);
            gap: .8rem;
            align-items: start;
            padding: 1rem;
            border-radius: 16px;
        }

        .usp-icon {
            width: 44px;
            height: 44px;
            margin-bottom: 0;
        }

            .usp-icon svg {
                width: 24px;
                height: 24px;
            }

        .usp-card__body {
            min-width: 0;
        }

            .usp-card__body h3 {
                font-size: 1.02rem;
                line-height: 1.15;
                margin-bottom: .28rem;
            }

            .usp-card__body p {
                font-size: .95rem;
                line-height: 1.5;
                margin: 0;
            }
    }


    /* proc s nami - misto ul li */
/* =========================================================
   USP POINTS
   jemnější alternativa k ul/li
   ========================================================= */

.usp-points {
    margin-top: 1.2rem;
    display: grid;
    gap: .9rem;
}

.usp-point {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
}

.usp-point__icon {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    /*background: rgba(37, 99, 235, .08);*/
    color: var(--sak-brand);
    flex: 0 0 42px;
}

    .usp-point__icon svg {
        width: 20px;
        height: 20px;
    }

.usp-point__body {
    min-width: 0;
}

    .usp-point__body strong {
        display: block;
        margin-bottom: .15rem;
        color: var(--sak-ink);
        font-size: 1rem;
        line-height: 1.22;
        font-weight: 850;
    }

    .usp-point__body span {
        display: block;
        color: #475569;
        font-size: var(--fs-sm);
        line-height: 1.55;
    }

.usp-point .usp-point__icon svg {
    width: 24px;
    height: 24px;
    color: var(--sak-muted);
}

/* mobile */
@media (max-width: 767px) {
    .usp-point__icon {
        width: 42px;
        height: 42px;
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        /*background: rgba(37, 99, 235, .08);*/
        color: var(--sak-brand);
        flex: 0 0 42px;
    }

    .usp-point .usp-point__icon svg {
        width: 24px;
        height: 24px;
        color: var(--sak-muted);
    }

    .usp-points {
        margin-top: 1.1rem;
        gap: .95rem;
    }

    .usp-point {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: .75rem;
    }

    .usp-point__icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

        .usp-point__icon svg {
            width: 18px;
            height: 18px;
        }

    .usp-point__body strong {
        font-size: var(--mobile-text-fs);
        line-height: 1.2;
        margin-bottom: .12rem;
    }

    .usp-point__body span {
        font-size: var(--mobile-text-fs);
        line-height: 1.5;
    }
}

@media (max-width: 420px) {
    .usp-points {
        gap: .85rem;
    }

    .usp-point {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: .68rem;
    }

    .usp-point__icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

        .usp-point__icon svg {
            width: 16px;
            height: 16px;
        }

    .usp-point__body strong,
    .usp-point__body span {
        font-size: var(--mobile-text-fs);
    }
}
    /* end proc s nami - misto ul li */

    /* end proc s nami spolupracovat */




    /* certificates modal */
/* PDF MODAL */
.pdfModal {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: none;
}

    .pdfModal.is-open {
        display: block;
    }

.pdfModal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 6, 23, .65);
}

.pdfModal__panel {
    position: relative;
    width: min(1100px, calc(100% - 28px));
    height: min(88vh, 900px);
    margin: 4vh auto 0;
    background: #fff;
    border: 1px solid var(--sak-border);
    border-radius: 18px;
    box-shadow: var(--shadow-lg);
    overflow: hidden;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

.pdfModal__head {
    padding: 16px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--sak-border);
}

.pdfModal__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

    .pdfModal__meta img {
        width: 56px;
        height: 56px;
        object-fit: contain;
        border: 1px solid var(--sak-border);
        border-radius: 12px;
        background: #fff;
        padding: 6px;
    }

.pdfModal__brand {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--sak-soft);
    margin-bottom: .25rem;
}

.pdfModal__title {
    font-weight: 900;
    color: #0f172a;
    line-height: 1.2;
}

.pdfModal__close {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid var(--sak-border);
    background: #fff;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: 900;
}

    .pdfModal__close:hover {
        background: var(--sak-bg-soft);
    }

.pdfModal__body {
    min-height: 0;
    background: #f8fafc;
}

    .pdfModal__body iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
        background: #fff;
    }

.pdfModal__actions {
    padding: 14px 16px;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    flex-wrap: wrap;
    border-top: 1px solid var(--sak-border);
    background: #fff;
}

@media (max-width: 767px) {
    .pdfModal__panel {
        width: calc(100% - 16px);
        height: 92vh;
        margin-top: 2vh;
        border-radius: 16px;
    }

    .pdfModal__actions {
        justify-content: stretch;
    }

        .pdfModal__actions .btn {
            width: 100%;
        }
}
/* end certificates modal */


/* =========================================================
   NEWS DETAIL – GALLERY
   navazuje na existující .page-news .newsD
   ========================================================= */
.page-news .news-toolbar--detail {
    grid-template-columns: 1fr;
    margin-bottom: 1.2rem;
}

.page-news .news-detail-sub {
    max-width: 860px;
}

.page-news .newsD--detail {
    overflow: hidden;
}

.page-news .newsD-galleryTop {
    padding: 1.1rem 1.1rem 0;
    background: #fff;
}

.page-news .newsD-media--detail {
    position: relative;
    aspect-ratio: 16 / 8.6;
    border-radius: 18px;
    overflow: hidden;
    background: #f1f5f9;
    border: 1px solid var(--sak-border-soft);
}

.page-news .newsD-mainImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: #f1f5f9;
}

.page-news .newsD-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 999px;
    background: rgba(255,255,255,.88);
    color: var(--sak-ink);
    box-shadow: 0 10px 26px rgba(15,23,42,.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

    .page-news .newsD-nav:hover {
        background: #fff;
        box-shadow: 0 14px 32px rgba(15,23,42,.16);
    }

.page-news .newsD-nav--prev {
    left: 14px;
}

.page-news .newsD-nav--next {
    right: 14px;
}

.page-news .newsD-counter {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: .38rem .58rem;
    border-radius: 999px;
    background: rgba(15,23,42,.70);
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
}

.page-news .newsD-thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: .7rem;
    padding: .9rem 0 0;
}

.page-news .newsD-thumb {
    border: 1px solid var(--sak-border);
    background: #fff;
    border-radius: 14px;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    aspect-ratio: 1 / 1;
    box-shadow: 0 6px 18px rgba(15,23,42,.05);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

    .page-news .newsD-thumb:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(15,23,42,.10);
    }

    .page-news .newsD-thumb.is-active {
        border-color: rgba(0,85,204,.38);
        box-shadow: 0 0 0 3px rgba(0,85,204,.10);
    }

    .page-news .newsD-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.page-news .newsD-body--detail {
    padding-top: 1.4rem;
}

    .page-news .newsD-body--detail h2,
    .page-news .newsD-body--detail h3,
    .page-news .newsD-body--detail h4 {
        color: var(--sak-ink);
        font-weight: 900;
        line-height: 1.2;
        margin: 1.4rem 0 .7rem;
    }

    .page-news .newsD-body--detail p,
    .page-news .newsD-body--detail ul,
    .page-news .newsD-body--detail ol {
        margin-bottom: 1rem;
    }

    .page-news .newsD-body--detail img {
        border-radius: 16px;
        margin: 1rem 0;
    }

.page-news .newsD-foot--detail {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.page-news .newsD-back {
    font-weight: 800;
}

@media (max-width: 1024px) {
    .page-news .newsD-media--detail {
        aspect-ratio: 16 / 9.5;
    }
}

@media (max-width: 767px) {
    .page-news .news-toolbar--detail {
        margin-bottom: .9rem;
    }

    .page-news .newsD-galleryTop {
        padding: .9rem .9rem 0;
    }

    .page-news .newsD-media--detail {
        aspect-ratio: 16 / 10.2;
        border-radius: 16px;
    }

    .page-news .newsD-nav {
        width: 36px;
        height: 36px;
        font-size: 24px;
    }

    .page-news .newsD-nav--prev {
        left: 10px;
    }

    .page-news .newsD-nav--next {
        right: 10px;
    }

    .page-news .newsD-counter {
        right: 10px;
        bottom: 10px;
        font-size: .74rem;
    }

    .page-news .newsD-thumbs {
        grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
        gap: .5rem;
    }
}

@media (max-width: 420px) {
    .page-news .newsD-media--detail {
        aspect-ratio: 16 / 11;
    }
}


.news-pagination {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 2rem;
}

    .news-pagination .is-active {
        pointer-events: none;
        opacity: 1;
    }

    .news-pagination .is-disabled {
        pointer-events: none;
        opacity: 0.5;
    }

.news-title a {
    color: inherit;
    text-decoration: none;
}

    .news-title a:hover {
        text-decoration: underline;
    }

.news-image {
    width: 100%;
    min-height: 220px;
    max-height: 260px;
    overflow: hidden;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .news-image img {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 260px;
        object-fit: contain;
        display: block;
        transform: scale(1);
        transition: transform .35s ease;
    }



/*******************************************************************************************************************************************************************/
/*******************************************************************************************************************************************************************/
/*******************************************************************************************************************************************************************/
                                                                        /* GLOBAL MOBILE */
/*******************************************************************************************************************************************************************/
/*******************************************************************************************************************************************************************/
/*******************************************************************************************************************************************************************/
/*******************************************************************************************************************************************************************/









@media (max-width: 767px) {
    .section-heading-title {
        margin: 0 0 .55rem;
        font-size: var(--mobile-title-lg) !important;
        line-height: var(--mobile-title-lh);
        letter-spacing: -.02em;
    }

    .section-heading-sub, .card.side p, .card.side span {
        font-size: var(--mobile-sub-fs) !important;
        line-height: var(--lh-more);
        margin-bottom: var(--fs-sm);
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .section-heading-title {
        margin: 0 0 .55rem;
        font-size: var(--mobile-title-lg) !important;
        line-height: var(--mobile-title-lh);
        letter-spacing: -.02em;
    }

    .section-heading-sub {
        font-size: var(--mobile-sub-fs);
        line-height: var(--lh-more);
        margin-bottom: var(--fs-sm);
        max-width: 100%;
    }
}

/* END GLOBAL MOBILE*/
