/* =========================================================
   01) DESIGN TOKENS (colors, spacing, radius, shadows)
   ========================================================= */
:root {
    /* Base backgrounds */
    --bg-main: #f6f9fc;
    /* Base backgrounds - blue */
    --bg-main-blue: linear-gradient(90deg, #256ca0, #60ade7);
    /* hlavní pozadí stránky */
    --bg-section: #f1f4f8;
    /* střídavé pozadí sekcí */
    --surface: #ffffff;
    /* karty / boxy */
    --surface-2: #f1f5f9;
    /* jemné oddělení */

    /* Text */
    --text: #0f172a;


    /* Text */
    --text-white: #ffffff;

    /* Text WHITE */
    --text-white: #ffffff;
    /* antracit jako text */
    --muted: #475569;
    --muted-2: #64748b;

    /* Links */
    --link: #1e3a8a;
    /* zdravotnická modrá */

    /* Accent (client green) */
    --accent: #95C11F;
    --accent-soft: rgba(181, 198, 15, .15);

    /* Dark bar like reference */
    --nav-dark: #0f3b4a;

    /* Layout */
    --max: 1200px;
    --radius: 18px;

    /* Shadows */
    --shadow-sm: 0 8px 18px rgba(15, 23, 42, .08);
    --shadow-md: 0 18px 40px rgba(15, 23, 42, .10);

    /* Focus ring */
    --ring: 0 0 0 3px rgba(181, 198, 15, .22);
}

/* =========================================================
   02) BASE / RESET / TYPOGRAPHY
   ========================================================= */
* {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    margin: 0;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    color: var(--text);
    line-height: 1.65;
    background: var(--bg-main);
    position: relative;
    top: 74px;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    opacity: .95;
}

.muted {
    color: var(--muted);
}

/* =========================================================
   03) LAYOUT HELPERS (container, section, grids)
   ========================================================= */
.container {
    width: min(var(--max), calc(100% - 100px));
    margin: 0 auto;
}

.section {
    padding: 80px 0;
    background: var(--bg-main-blue);
}

.section-alt {
    background: linear-gradient(180deg, var(--bg-main), var(--bg-section));
}

.section-privacy {
    padding-top: 0;
    padding-bottom: 60px;
}

@media (max-width: 980px) {
    .section-privacy {
        padding-top: 40px;
    }
}

.section-head {
    margin-bottom: 18px;
}

.section-title {
    margin: 0 0 10px;
    font-size: 30px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .03em;
    padding-bottom: 10px;
    border-bottom: 4px solid var(--accent);
    color: white;
}

@media (max-width: 640px) {
    .section-title {
        font-size: 24px;
    }
}

.section-title-dark {
    color: #245274;
}

.section-subtitle {
    margin: 0;
    color: #245274;
}



/* =========================================================
   04) ACCESSIBILITY
   ========================================================= */
.skip-link {
    position: absolute;
    left: -999px;
    top: 10px;
    background: var(--surface);
    padding: 10px 12px;
    border-radius: 12px;
    box-shadow: var(--shadow-sm);
}

.skip-link:focus {
    left: 20px;
    z-index: 999;
    outline: none;
    box-shadow: var(--shadow-sm), var(--ring);
}

/* =========================================================
   05) HEADER / NAV (logo | menu | search)
   ========================================================= */
.site-header {
    position: fixed;
    top: 0;
    z-index: 1000;
    border-bottom: 0;
    width: 100%;
    background: linear-gradient(90deg, #256ca0, #60ade7);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}

.topbar {
    min-height: 74px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;
}

.header-logo {
    display: inline-flex;
    align-items: center;
    position: relative;
    z-index: 1002;
}

.header-logo img {
    height: 38px;
    width: auto;
    display: block;
}

.topnav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 35px;
    flex-wrap: nowrap;
}

.topnav-link {
    color: rgba(255, 255, 255, .92);
    font-weight: 700;
    letter-spacing: .06em;
    font-size: 14px;
    text-transform: uppercase;
    padding: 8px 0;
    position: relative;
    transition: color .15s ease;
    white-space: nowrap;
}

.topnav-link:hover {
    color: #fff;
}

.topnav-link.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--accent);
}

/* DESKTOP SEARCH */
.header-search {
    position: relative;
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-radius: 999px;
    overflow: hidden;
    transition: width .5s ease;
}

.header-search:hover,
.header-search:focus-within {
    width: 240px;
}

.header-search input {
    width: 100%;
    height: 42px;
    padding: 0 14px 0 42px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .96);
    font: inherit;
    font-size: 14px;
    transition: background .6s ease, border-color .6s ease, box-shadow .6s ease;
    box-sizing: border-box;
}

.header-search input::placeholder {
    color: rgba(255, 255, 255, .68);
}

.header-search input:focus {
    outline: none;
    background: rgba(255, 255, 255, .16);
    border-color: rgba(181, 198, 15, .45);
    box-shadow: var(--ring);
}

.header-search .search-icon,
.mobile-search .search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .78);
    pointer-events: none;
}

.header-search .search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .78);
    pointer-events: none;
}

/* HAMBURGER */
.nav-toggle {
    display: none;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, .10);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    position: relative;
    z-index: 1002;
}

.nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 10px;
    transition: transform .6s ease, opacity .6s ease;
}

.nav-toggle.is-active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.nav-toggle.is-active span:nth-child(2) {
    opacity: 0;
}

.nav-toggle.is-active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* MOBILE MENU */
.mobile-nav {
    display: none;
    background: linear-gradient(90deg, #256ca0, #60ade7);
    border-top: 1px solid rgba(255, 255, 255, .12);
    animation: mobileMenuFade .35s ease;
}

.mobile-nav__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mobile-nav__link {
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 12px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.mobile-nav__link.is-active {
    color: #dce86e;
}

.mobile-search {
    position: relative;
    margin-top: 10px;
}

.mobile-search input {
    width: 100%;
    height: 44px;
    padding: 0 14px 0 42px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font: inherit;
    font-size: 14px;
}

.mobile-search input::placeholder {
    color: rgba(255, 255, 255, .68);
}

.mobile-search input:focus {
    outline: none;
    background: rgba(255, 255, 255, .16);
    border-color: rgba(181, 198, 15, .45);
    box-shadow: var(--ring);
}

@keyframes mobileMenuFade {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-search .search-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.header-search:hover .search-icon,
.header-search:focus-within .search-icon {
    left: 14px;
    transform: translateY(-50%);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1100px) {
    .topnav {
        gap: 18px;
    }

    .topnav-link {
        font-size: 12px;
        letter-spacing: .04em;
    }

    .header-search:hover,
    .header-search:focus-within {
        width: 240px;
    }
}

@media (max-width: 900px) {
    .topbar {
        grid-template-columns: auto auto auto;
        justify-content: space-between;
        padding: 12px 0;
    }

    .topnav {
        display: none;
    }

    .header-search {
        display: none;
    }

    .nav-toggle {
        display: inline-flex;
    }

    .mobile-nav.is-open {
        display: block;
    }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px) {
    .topbar {
        grid-template-columns: auto 1fr;
        height: auto;
        padding: 12px 0;
    }

    .topnav {
        justify-content: flex-end;
        gap: 18px;
    }

    .header-search {
        display: none;
    }
}




/* =========================================================
   06) COMPONENTS - CARDS / BADGES
   ========================================================= */
.card {
    background: var(--surface);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    padding: 24px;
}

.badge {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .04);
    color: var(--muted);
    font-size: 13px;
}

.badge-accent {
    background: var(--accent-soft);
    color: var(--text);
}

/* =========================================================
   07) HERO SPLIT DIAGONAL (both sides clipped, same angle)
   ========================================================= */
.hero-split {
    height: 55vh;
    min-height: 500px;
    display: grid;

    /* LEVÁ VĚTŠÍ, FOTKA MENŠÍ */
    grid-template-columns: 0.95fr 0.75fr;

    position: relative;

}

/* Levá část oříznutá šikmo (stejný úhel jako fotka) */
.hero-split__left {
    background: #fff;
    position: relative;
    z-index: 2;

    /* levá část končí šikmo doprava */
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);

    box-shadow: 0 12px 40px rgba(15, 23, 42, .08);

    padding-left: max(20px, calc((100vw - var(--max)) / 2 - 90px));
    padding-right: 32px;
    /* prostor směrem k šikmině */
}

/* Obsah */
.hero-split__content {
    height: 100%;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 42px 32px 110px;
    align-items: center;
    align-content: center;
}

.hero-split__logo {
    width: 220px;
    max-width: 60%;
    height: auto;
    margin-bottom: 14px;
}

.hero-split__slogan {
    margin: 18px 0 6px;
    font-size: clamp(22px, 2vw, 32px);
    font-weight: 700;
    color: #245274;
    line-height: 1.2;
}

.hero-split__sub {
    margin: 0;
    font-size: clamp(14px, 1.2vw, 18px);
    color: #64748b;
}

.hero-split__title {
    margin: 0;
    font-size: clamp(26px, 2.4vw, 38px);
    font-weight: 800;
    color: #245274;
}

h1.hero-split__title {
    line-height: 55px;
}

.hero-split__title .title-bigger {
    font-size: 70px;
}

.hero-split__subtitle {
    margin: 6px 0 0;
    color: var(--muted);
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: 13px;
}

.hero-split__actions {
    margin-top: 24px;
    display: flex;
    gap: 18px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Pravá část */
.hero-split__right {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

/* Fotka oříznutá šikmo – MUSÍ sedět s levou hranou */
.hero-split__photo {
    width: 126%;
    height: 100%;
    object-fit: cover;
    display: block;

    /* fotka začíná šikmo zleva – úhel sladěný s levou částí */
    clip-path: polygon(12% 0%,
            100% 0%,
            100% 100%,
            0% 100%);

    clip-path: polygon(12% 0%, 100% 0%, 100% 100%, 0% 100%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 20% center;
    display: block;
}

.hero-split__right::after {
    display: none;
}

/* DŮLEŽITÉ: malý overlap, aby nevznikla mezera mezi dvěma clipy */
@media (min-width: 981px) {
    .hero-split__right {
        margin-left: -6vw;
    }
}

.hero-split__logo {
    width: min(520px, 92%);
    height: auto;
    display: block;
    margin: 0 auto 30px;
}

/* subtitle pod logem trochu vzdušnější */
.hero-split__subtitle {
    margin: 8px 0 0;
    color: var(--muted);
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 13px;
}

/* užitečné pro SEO H1 */
.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

.inner {
    max-width: 1400px;
}


/* Responsive */
@media (max-width: 980px) {
    .hero-split {
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .hero-split__left {
        clip-path: none;
        box-shadow: none;
    }

    .hero-split__content {
        padding: 36px 18px;
    }

    .hero-split__right {
        height: 275px;
        margin-left: 0;
    }

    .hero-split__photo {
        clip-path: none;
    }

    .hero-split__right::after {
        display: none;
    }
}




/* =========================================================
   08) CLINICS LIST - link list (not button grid)
   ========================================================= */
.clinic-list-3col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 48px;
    margin-top: 24px;
}

.clinic-list-3col a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 13px 0;
    font-size: 17px;
    font-weight: 600;

    color: white;
    border-bottom: 2px solid white;

    transition: color .15s ease, padding-left .15s ease;
}

.clinic-list-3col a::after {
    content: "→";
    font-weight: 900;
    color: white;
    transition: transform .15s ease, color .15s ease;
    font-size: 25px;
}

.clinic-list-3col a:hover {
    color: var(--accent);
    padding-left: 6px;
}

.clinic-list-3col a:hover::after {
    color: var(--accent);
    transform: translateX(4px);
}

.clinic-list-3col a:focus {
    outline: none;
}

.clinic-list-3col a:focus-visible {
    box-shadow: var(--ring);
    border-radius: 10px;
}

.section-overview {
    position: relative;
    padding-top: 80px;

    background: linear-gradient(90deg, #2D6690, #4B94CB);

    background-size: cover;
    background-position: center;
    background: linear-gradient(90deg, #245274, #4B94CB);
    background: linear-gradient(90deg, #256ca0, #60ade7);


}

.section-overview>.container {
    position: relative;
    z-index: 1;
}

.section-overviews .card {
    background: rgba(255, 255, 255, .92);
}

.clinic-list-3col a:last-child {
    border-bottom: 4px solid rgba(181, 198, 15, .75);
    font-weight: 700;
}





/* =========================================================
   09) CTA LINK (no button look)
   ========================================================= */
.section-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 22px;
}

.cta-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
    color: var(--text);
    padding: 6px 0;
    text-decoration: none;
    border-bottom: 3px solid var(--accent);
    transition: transform .12s ease, color .12s ease;
}

.cta-link::after {
    content: "→";
    font-weight: 900;
    color: var(--accent);
    transition: transform .12s ease;
}

.cta-link:hover {
    color: var(--accent);
    transform: translateY(-1px);
}

.cta-link:hover::after {
    transform: translateX(4px);
}

.cta-link:focus,
.cta-link:focus-visible {
    outline: none;
    box-shadow: none;
}

/* =========================================================
   10) PAGE SECTIONS - SPLIT / SYNLAB
   ========================================================= */
.split {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
    align-items: start;
}

.checklist {
    margin: 14px 0 18px;
    padding: 0;
    list-style: none;
}

.checklist li {
    position: relative;
    padding-left: 28px;
    margin: 10px 0;
    color: var(--muted);
}

.checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 10px;
    height: 10px;
    border-radius: 4px;
    background: var(--accent);
    box-shadow: 0 0 0 6px rgba(181, 198, 15, .10);
}

.info-panel {
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-md);
    padding: 18px;
}

.info-title {
    font-weight: 800;
    margin-bottom: 8px;
}

.info-pills {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.pill {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .04);
    color: var(--muted);
    font-size: 13px;
}

.pill-accent {
    background: var(--accent-soft);
    color: var(--text);
}




/* =========================================================
   SERVICES (Ostatní služby)
   ========================================================= */
.services {
    background: var(--bg-main-blue);
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 35px;
}

.services-solo {
    margin-top: 0;
    grid-template-columns: 1fr;
}

/* karta: tmavší než bílá, ale stále čistá */
.service-card {
    border-radius: 14px;
    background: #f2f5f9;
    /* lehce tmavší než bílá */
    border: 1px solid rgba(15, 23, 42, .06);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .10);
    overflow: hidden;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}

/* celý obsah klikací */
.service-card__link {
    padding: 18px 18px 20px;
    color: inherit;
    text-decoration: none;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;

}

/* horní část s logem */
.service-card__top {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 12px;
}

/* logo: bílé „podložení“, ať vynikne */
.service-logo {
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 38px 37px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .06);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    min-width: 1200px;
    margin-bottom: 5px;
}

.service-logo img {
    height: 40px;
    width: auto;
    display: block;
}

/* když nemáš logo (např. pronájmy), uděláme textový badge */
.service-logo--text {
    background: rgba(181, 198, 15, .16);
    border-color: rgba(181, 198, 15, .28);
    box-shadow: none;
    font-weight: 800;
    color: var(--text);
    padding: 10px 14px;
}

.service-title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 800;
}

.service-card .muted {
    margin: 0 0 12px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
    text-align: center;
}

/* CTA (lepší než "Detail") */
.service-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    color: var(--text);
    padding-bottom: 2px;
    border-bottom: 3px solid var(--accent);
    transition: color .12s ease, border-color .12s ease, transform .12s ease;
}

.service-cta span {
    color: var(--accent);
    transition: transform .12s ease;
}

.service-card:hover {
    transform: translateY(-2px);
    background: #eef3f8;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .14);
}

.service-card:hover .service-cta {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.service-card:hover .service-cta span {
    transform: translateX(4px);
}

/* responsive */
@media (max-width: 980px) {
    .services-grid {
        grid-template-columns: 1fr;
    }

    .service-logo {
        height: 50px;
    }

    .service-logo {
        width: 100%;
    }

    .service-card__top {
        width: 100%;
    }

    .service-card__top {
        width: unset;
    }



    .service-card__link {
        padding-left: 0;
        padding-right: 0;
    }

    .hero-split__photo {
        object-position: center center;
    }




}

/* Icon box místo loga (pronájem sálu) */
.service-icon-box {
    height: 54px;
    width: 54px;
    border-radius: 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: rgba(181, 198, 15, .18);
    color: #0f172a;

    box-shadow: inset 0 0 0 1px rgba(181, 198, 15, .35);
}

.service-icon-box svg {
    width: 26px;
    height: 26px;
}


/* =========================================================
   12) CONTACT + MAP
   ========================================================= */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 16px;
    align-items: stretch;
}

.contact-card .contact-item {
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .06);
}

.contact-card .contact-item:last-child {
    border-bottom: none;
}

.contact-label {
    color: var(--muted-2);
    font-size: 13px;
}

.contact-value a {
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(181, 198, 15, .35);
    text-underline-offset: 3px;
}

.map-frame {
    border-radius: var(--radius);
    overflow: hidden;
    min-height: 330px;
    background: var(--surface);
    box-shadow: var(--shadow-md);
}

.map-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.contact-teaser {
    position: relative;
    overflow: hidden;
}

.contact-teaser::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(rgba(246, 249, 252, 0.50),
            rgba(246, 249, 252, 0.50)),
        url("../img/mapa2.png");
    /* statický obrázek mapy */

    background-size: cover;
    background-position: center;

    filter: grayscale(100%) contrast(0.85) brightness(1.15);
    z-index: 0;
}

.contact-teaser>* {
    position: relative;
    z-index: 1;
}


/* karta nahoře */
.contact-teaser__card {
    max-width: 800px;
    background: #fff;
    padding: 28px;
    border-radius: 16px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .14);
    text-align: center;
    margin: 0 auto;
}

.contact-list {
    display: grid;
    gap: 14px;
    margin: 18px 0;
}

.contact-list a {
    color: var(--text);
    text-decoration: underline;
    text-decoration-color: rgba(181, 198, 15, .45);
}




/* =========================================================
   13) FOOTER
   ========================================================= */
.site-footer {
    background: #f8fafc;
    /* lehce jiný odstín než obsah */
    padding: 64px 0 28px;
    margin-top: 0;
    border-top: 1px solid #8080802e;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 0px;
    justify-items: center;

}

.footer-brand {
    max-width: 320px;
}

.footer-logo {
    max-width: 200px;
    margin-bottom: 14px;
}

.footer-text {
    font-size: 16px;
    color: var(--muted);
    line-height: 1.6;
    max-width: 283px;
    margin-top: 0;
}

.footer-title {
    font-weight: 700;
    margin-bottom: 14px;
    text-transform: uppercase;
    color: #245274;
    font-size: 17px;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    color: var(--muted);
    font-size: 14px;
}

.footer-links a:hover {
    color: var(--text);
}

.footer-scroll-top {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #245274;
    border: none;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 14px;
    cursor: pointer;
    transition: background .2s;
}

.footer-scroll-top:hover {
    background: #1a3d57;
}

.footer-bottom {
    margin-top: 48px;
    padding-top: 18px;
    border-top: 2px solid #8080802e;
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--muted);
}

/* mobil */
@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
    }

    .quick-info__item {
        display: flex;
        justify-content: center;
    }


}

/* =========================================================
   14) HERO SEARCH
   ========================================================= */
.hero-search {
    display: none;
}

.hero-float {
    position: relative;
    z-index: 10;
    margin-top: -110px;
    padding-bottom: 24px;
}

.hero-search__form {
    background: #fff;
    border-radius: 18px;
    padding: 20px 24px 20px 0px;
}

@media (min-width: 981px) {
    .hero-search__form {
        width: 50%;
    }
}


.hero-search__label {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
}

.hero-search__row {
    display: flex;
    align-items: center;
    gap: 0;
    border: 2px solid #245274;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .06), 0 12px 32px rgba(15, 23, 42, .12);
}

.hero-search__icon {
    flex-shrink: 0;
    margin: 0 12px 0 16px;
    color: #245274;
}

.hero-search__row input[type="search"] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 15px;
    padding: 11px 8px;
    background: transparent;
    color: var(--text);
    min-width: 0;
}

.hero-search__row input[type="search"]::placeholder {
    color: #94a3b8;
}

.hero-search__row button {
    flex-shrink: 0;
    background: #245274;
    color: #fff;
    border: none;
    padding: 11px 24px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s ease;
    letter-spacing: .02em;
    border-radius: 0 10px 10px 0;
    align-self: stretch;
}

.hero-search__row button:hover {
    background: #1a5469;
}

@media (max-width: 640px) {
    .hero-search {
        margin-top: 0;
    }

    .hero-search__form {
        padding: 20px 16px 24px;
        border-radius: 0;
        box-shadow: 0 4px 20px rgba(15, 23, 42, .10);
    }

    .hero-search__label {
        font-size: 16px;
    }

    .hero-search__row button {
        padding: 14px 18px;
        font-size: 14px;
    }
}



/* ================================
   SYNLAB (light section on white)
   ================================ */
.synlab {
    background: #ffffff;
    background: linear-gradient(rgb(246 249 252 / 69%), rgb(246 249 252 / 90%)), url(../img/close-up-doctor-with-stethoscope.jpg);
    background-size: cover;
    background-position: center;
    /* bílé pozadí celé sekce */
}

.grand {
    background: #ffffff;
    background: linear-gradient(rgb(246 249 252 / 69%), rgb(246 249 252 / 90%)), url(../img/grand-bg1.jpg);
    background-size: cover;
    background-position: center;
    /* bílé pozadí celé sekce */
}

.max {
    background: #ffffff;
    background: linear-gradient(rgb(246 249 252 / 69%), rgb(246 249 252 / 90%)), url(../img/max2.jpg);
    background-size: cover;
    background-position: center;
    /* bílé pozadí celé sekce */
}

.room {
    background: #ffffff;
    background: linear-gradient(rgb(246 249 252 / 69%), rgb(246 249 252 / 90%)), url(../img/class4.jpg);
    background-size: cover;
    background-position: center;
    /* bílé pozadí celé sekce */
}

.doctor {
    position: relative;
    background: #ffffff;
    min-height: 800px;
    overflow: hidden;
}

.doctor-section {
    position: relative;
    background: #ffffff;
    min-height: 800px;
    overflow: hidden;
}

/* Obrázek jen nahoře */
.doctor::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 886px;
    /* nastav si podle potřeby */

    background:
        linear-gradient(to bottom,
            rgb(246 249 252 / 60%) 0%,
            rgb(246 249 252 / 85%) 60%,
            #ffffff 100%),
        url(../img/class6.jpg);

    background-size: cover;
    background-position: center 50%;
    z-index: 0;
}



/* Obrázek jen nahoře */
.doctor-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 886px;
    /* nastav si podle potřeby */

    background:
        linear-gradient(to bottom,
            rgb(246 249 252 / 90%) 0%,
            rgb(246 249 252 / 85%) 60%,
            #ffffff 100%),
        url(../img/class6.jpg);

    background-size: cover;
    background-position: center 50%;
    z-index: 0;
}

/* Obsah nad obrázkem */
.doctor>* {
    position: relative;
    z-index: 1;
}

/* Obsah nad obrázkem */
.doctor-section>* {
    position: relative;
    z-index: 1;
}



/* Layout místo .split (ať to můžeš ladit nezávisle) */
.synlab-grid {
    display: grid;
    grid-template-columns: 1.3fr 1.3fr;
    gap: 40px;
    align-items: start;

}


/* New heading styles (tmavé, nepromadné) */
.synlab-title {
    margin: 0 0 20px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .03em;
    color: #245274;
    /* tmavé */
    padding-bottom: 5px;
    border-bottom: 4px solid var(--accent);
    line-height: normal;
}

.synlab-subtitle {
    margin: 0;
    max-width: 70ch;
    color: #475569;
    /* muted */
}

/* Text list */
.synlab-list {
    margin: 18px 0 0;
    padding: 0 0 0 20px;
    list-style: disc;
}

.synlab-list li {
    padding: 9px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    color: #0f172a;
}

.synlab-list li::marker {
    color: #245274;
}

.synlab-list li strong {
    font-weight: 700;
    color: #245274;
}

.synlab-actions {
    margin-top: 18px;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

/* Right card */
.synlab-card {
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 16px 38px rgba(15, 23, 42, .10);
    padding: 24px 24px 10px;
}

.synlab-card__top {
    display: grid;
    gap: 60px;
    align-items: center;
    margin-bottom: 12px;
}

.synlab-card__top .service-hero__photo {
    margin: 0;
}

.synlab-card__title {
    font-weight: 800;
    color: #0f172a;
}

/* Logo placeholder */
.synlab-logo-slot {
    height: 58px;
    border-radius: 14px;
    background: rgba(15, 23, 42, .04);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.synlab-logo-placeholder {
    font-size: 12px;
    letter-spacing: .12em;
    color: rgba(15, 23, 42, .45);
    text-transform: uppercase;
}

.synlab-logo {
    height: 80px;
    width: auto;
    display: block;
    margin: 0 auto;

}

.kontakt-logo {
    height: 80px;
    width: auto;
    display: block;
    margin: 0 auto;
    margin-top: 10px;
    margin-bottom: 5px;
}

.logo-others {
    height: 65px;
    width: auto;
    display: block;
    margin: 0 auto;
    margin: 10px auto;
    padding-top: 5px;
}

/* Facts list */
.synlab-facts {
    margin: 10px 0 14px;
    text-align: center;
}

.synlab-fact {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 0;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

.synlab-fact dt {
    color: #64748b;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.synlab-fact dd {
    margin: 0;
    color: #0f172a;
    font-weight: 700;
    margin: 0 auto;

}

.contacts-fact dd {
    margin: 0;
    color: #0f172a;
    font-weight: 700;
    margin: 0 auto;
    grid-template-columns: 1fr 1fr;
    gap: 6px 18px;
    justify-items: start;
    justify-content: flex-start;
    display: grid;
}


/* pills keep your existing .pill styles, just align */
.synlab-pills {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
}

/* CTA button inside synlab card */
.synlab-card__cta {
    margin-top: 16px;
    display: flex;
    justify-content: flex-start;
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 2px solid var(--accent);
    color: var(--text);
    font-weight: 700;
    background: transparent;
    transition: background .15s ease, color .15s ease, transform .12s ease;
}

.btn-outline::after {
    content: "→";
    color: var(--accent);
    font-weight: 900;
    transition: transform .12s ease;
}

.btn-outline:hover {
    background: var(--accent-soft);
    transform: translateY(-1px);
}

.btn-outline:hover::after {
    transform: translateX(4px);
}

.opening-row {
    display: grid;
    grid-template-columns: max-content max-content max-content;
    gap: 15px;
    /* uprav 12–22 podle oka */
    align-items: baseline;
    justify-content: start;
    /* drží to u sebe */
    font-weight: 600;
}

.synlab-actions {
    margin-top: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.synlab-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    color: #245274;

    text-decoration: none;
    border-bottom: 3px solid var(--accent);
    transition: color .15s ease, border-color .15s ease, transform .12s ease;
}

.synlab-cta__icon {
    color: var(--accent);
    font-weight: 900;
    transition: transform .12s ease;
    font-size: 25px;
    margin-bottom: 5px;
}

.synlab-cta:hover {
    color: var(--accent);
    border-bottom-color: rgba(181, 198, 15, .75);
    transform: translateY(-1px);
}

.synlab-cta:hover .synlab-cta__icon {
    transform: translateX(4px);
}

/* jemný “chip” vedle CTA */
.synlab-note {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .04);
    color: var(--muted);
    font-size: 13px;
}

.synlab-main {
    padding-top: 12px;
}



.opening-stack {
    display: flex;
    align-items: baseline;
    gap: 12px;
    row-gap: 0;
    justify-content: center;
    /* protože máš kartu centrovanou */
    flex-wrap: wrap;
}

.opening-badge {
    padding: 4px 20px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .04);
    font-weight: 800;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06);
    margin: 2px 0;
}

.opening-time {
    font-weight: 800;
}



.synlab-badges {
    padding-top: 18px;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

.synlab-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 8px 14px;
    border-radius: 999px;

    font-size: 13px;
    font-weight: 700;
    color: var(--text);

    background: rgba(15, 23, 42, .04);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .06);
    white-space: nowrap;
}



/* Responsive */
@media (max-width: 980px) {
    .synlab-grid {
        grid-template-columns: 1fr;
    }

    .synlab-card__top {
        grid-template-columns: 1fr;
    }

    .synlab-logo-slot {
        width: 160px;
    }
    .synlab-card {
        padding: 10px 20px;
    }

    .synlab-card--room {
        padding: 15px 15px;
    }

    .section {
padding: 40px 0 50px;
    }
    .section-overview {
        padding: 60px 0 60px;
    }


}

/* =========================================================
   15) LÉKAŘI
   ========================================================= */

.lekari-jmena {
    margin-bottom: 8px;
}

.lekar-radek {
    font-weight: 600;
    line-height: 1.4;
}




/* =========================================================
   16) RESPONSIVE
   ========================================================= */
@media (max-width: 980px) {
    .topbar {
        grid-template-columns: 1fr auto;
    }

    .topnav {
        gap: 18px;
        justify-content: flex-start;
    }

    .hero-split {
        height: auto;
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .hero-split__left {
        clip-path: none;
        box-shadow: none;
    }

    .hero-split__content {
        padding: 36px 18px;
    }

    .hero-split__right {
        height: 360px;
    }

    .split {
        grid-template-columns: 1fr;
    }

    .grid-3 {
        grid-template-columns: 1fr;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .clinic-list-3col {
        grid-template-columns: repeat(2, 1fr);
    }

    .quick-info__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

@media (max-width: 560px) {
    .clinic-list-3col {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .container {
        width: min(var(--max), calc(100% - 40px));
    }
}


/* ===== Service subpages (non-doctors) ===== */
.service-hero {
    padding: 50px 0 40px;
    background: #fff;
}

.service-hero__grid {
    display: grid;

    gap: 28px;
    align-items: center;
}

.service-hero__content {
    text-align: center;
    margin-bottom: 10px;
}



.service-hero__logo {
    width: auto;
    max-height: 125px;
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: 4px solid rgba(181, 198, 15, .75);
}

.service-hero__title {
    margin: 0 0 4px;
    font-weight: 800;
    color: #245274;
    text-transform: uppercase;

}

.service-hero__title h1 {
    color: var(--nav-dark) !important;
}

.service-hero__subtitle {
    margin: 0;
    color: var(--muted);
}

.service-hero__media {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .12);
}

.service-hero__photo {
    width: 100%;
    height: 271px;
    object-fit: cover;
    display: block;
    /* padding: 20px; */
    border-radius: 16px;
    margin: 15px auto;
}

.service-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 22px;
    align-items: start;
}



.service-h2 {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 800;
    color: var(--text-white);
}

.service-bullets {
    margin: 0;
    padding-left: 18px;
    color: var(--text-white);
}

.service-actions {
    margin-top: 18px;
    color: var(--text-white);
}

.btn-soft {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    color: var(--text-white);
    font-weight: 700;
}

.btn-soft:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.service-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .12);
    padding: 18px;
}

.service-card__title {
    font-weight: 800;
    margin-bottom: 12px;
}

.service-facts {
    margin: 0;
}

.service-fact {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 12px 0;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

.service-fact:first-child {
    border-top: 0;
    padding-top: 0;
}

.service-fact dt {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}

.service-fact dd {
    margin: 0;
    font-weight: 700;
}

.service-fact dd a {
    color: var(--text);
    text-decoration: underline;
    text-decoration-color: rgba(181, 198, 15, .45);
    text-underline-offset: 3px;
}

/* Hours table */
.hours-table {
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
}

.hours-row {
    display: grid;
    grid-template-columns: 1fr 160px 160px;
    gap: 12px;
    padding: 14px 18px;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

.hours-row:first-child {
    border-top: 0;
}

.hours-day {
    font-weight: 800;
}

.hours-time {
    font-weight: 700;
    text-align: right;
}

.hours-note {
    margin-top: 12px;
    color: var(--muted);
    font-size: 13px;
}

/* Responsive */
@media (max-width: 980px) {
    .service-hero__grid {
        grid-template-columns: 1fr;
    }

    .service-hero__photo {
        height: auto;
    }

    .service-grid {
        grid-template-columns: 1fr;
    }

    .hours-row {
        grid-template-columns: 1fr;
    }

    .hours-time {
        text-align: left;
    }
}


/* ===== Ostatní služby: hub cards ===== */
.services-hub__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.services-hub__card {
    background: rgba(15, 23, 42, .05);
    /* trochu tmavší než bílé sekce */
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 14px 34px rgba(15, 23, 42, .10);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    display: block;
    color: inherit;
    background-color: white;
}

.services-hub__card:hover {
    transform: translateY(-2px);
    background: rgba(15, 23, 42, .06);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .14), 0 18px 44px rgba(15, 23, 42, .14);
}

.services-hub__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.services-hub__logo {
    height: 34px;
    width: auto;
    display: block;
    filter: saturate(.95);
}

.services-hub__icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10);
    color: rgba(15, 23, 42, .85);
}

.services-hub__meta {
    font-size: 12px;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: var(--muted-2);
    text-align: right;
}

.services-hub__title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 800;
    color: var(--text);
}

.services-hub__desc {
    margin: 0 0 16px;
    color: var(--muted);
    line-height: 1.6;
}

.services-hub__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(181, 198, 15, .35);
    text-underline-offset: 5px;
}

.services-hub__cta span {
    color: var(--accent);
    font-weight: 900;
}

@media (max-width: 980px) {
    .services-hub__grid {
        grid-template-columns: 1fr;
    }
}


/* ===== Podstránky – univerzální template (služby) ===== */

.page-hero {
    background: rgba(15, 23, 42, .04);
    padding: 44px 0;
}

.page-hero__grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 22px;
    align-items: center;
}

.page-hero__content {
    padding: 10px 0;
}

.page-hero__kicker {
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: 10px;
}

.page-hero__title {
    margin: 0 0 10px;
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 800;
    color: var(--text);
}

.page-hero__subtitle {
    margin: 0;
    color: var(--muted);
    max-width: 70ch;
}

.page-hero__actions {
    margin-top: 18px;
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.page-hero__media {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 18px 44px rgba(15, 23, 42, .12);
    background: #fff;
}

.page-hero__photo {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

/* Layout (content + sidebar) */
.page-layout {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 18px;
    align-items: start;
}

.page-h2 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--text);
}

.page-divider {
    height: 1px;
    background: rgba(15, 23, 42, .08);
    margin: 18px 0;
}

.page-list {
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
}

.page-list li {
    margin: 8px 0;
}

.page-note {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(181, 198, 15, .10);
    box-shadow: inset 0 0 0 1px rgba(181, 198, 15, .18);
}

.page-cta-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.page-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(15, 23, 42, .06);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10);
    font-weight: 800;
    color: var(--text);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.page-cta:hover {
    transform: translateY(-1px);
    background: rgba(15, 23, 42, .07);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .14), 0 14px 34px rgba(15, 23, 42, .12);
}

.page-cta--ghost {
    background: transparent;
}

/* Side info card */
.info-card {
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 18px 44px rgba(15, 23, 42, .12);
    padding: 18px;
}

.info-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    margin-bottom: 12px;
}

.info-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(181, 198, 15, .12);
    color: rgba(15, 23, 42, .85);
    box-shadow: inset 0 0 0 1px rgba(181, 198, 15, .18);
}

.info-card__title {
    font-weight: 900;
    color: var(--text);
}

.info-card__subtitle {
    font-size: 13px;
    color: var(--muted);
    margin-top: 2px;
}

.info-card__facts {
    margin: 0;
}

.info-card__fact {
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.info-card__fact:last-child {
    border-bottom: none;
}

.info-card__fact dt {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: 6px;
}

.info-card__fact dd {
    margin: 0;
    font-weight: 700;
    color: var(--text);
}

.page-link {
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(181, 198, 15, .45);
    text-underline-offset: 4px;
}

/* Responsive */
@media (max-width: 980px) {
    .page-hero__grid {
        grid-template-columns: 1fr;
    }

    .page-layout {
        grid-template-columns: 1fr;
    }

    .page-hero__photo {
        height: 260px;
    }
}


/* ===== Ordinace – podstránky lékařů ===== */

.doc-hero {
    padding: 44px 0;
    background: rgba(15, 23, 42, .04);
}

.doc-hero__grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 22px;
    align-items: center;
}

.doc-hero__kicker {
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: 10px;
}

.doc-hero__title {
    margin: 0 0 10px;
    font-size: clamp(26px, 3vw, 42px);
    font-weight: 800;
    color: var(--text);
}

.doc-hero__subtitle {
    margin: 0;
    color: var(--muted);
    max-width: 70ch;
}

.doc-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.doc-tag {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10);
    font-size: 13px;
    color: var(--muted);
}

.doc-hero__actions {
    margin-top: 18px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.doc-hero__media {
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 18px 44px rgba(15, 23, 42, .12);
}

.doc-hero__photo {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

/* layout */
.doc-layout {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 18px;
    align-items: start;
}

.doc-h2 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 800;
    color: var(--text);
}

.doc-divider {
    height: 1px;
    background: rgba(15, 23, 42, .08);
    margin: 18px 0;
}

.doc-bullets {
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
}

.doc-bullets li {
    margin: 8px 0;
}

/* hours table */
.doc-hours {
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 18px 44px rgba(15, 23, 42, .10);
    overflow: hidden;
}

.doc-hours__table {
    width: 100%;
    border-collapse: collapse;
}

.doc-hours__table th,
.doc-hours__table td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    text-align: left;
    font-size: 14px;
}

.doc-hours__table thead th {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
    background: rgba(15, 23, 42, .03);
}

.doc-hours__table tbody tr:last-child td {
    border-bottom: none;
}

.doc-note {
    padding: 12px 14px;
    background: rgba(181, 198, 15, .10);
    box-shadow: inset 0 0 0 1px rgba(181, 198, 15, .18);
    color: var(--muted);
    font-size: 13px;
}

/* side card */
.doc-card {
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 18px 44px rgba(15, 23, 42, .12);
    padding: 18px;
}

.doc-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    margin-bottom: 12px;
}

.doc-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(181, 198, 15, .12);
    box-shadow: inset 0 0 0 1px rgba(181, 198, 15, .18);
    color: rgba(15, 23, 42, .85);
}

.doc-card__title {
    font-weight: 900;
    color: var(--text);
}

.doc-card__subtitle {
    font-size: 13px;
    color: var(--muted);
    margin-top: 2px;
}

.doc-facts {
    margin: 0;
}

.doc-fact {
    padding: 10px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.doc-fact:last-child {
    border-bottom: none;
}

.doc-fact dt {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: 6px;
}

.doc-fact dd {
    margin: 0;
    font-weight: 700;
    color: var(--text);
}

.doc-link {
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(181, 198, 15, .45);
    text-underline-offset: 4px;
}

/* CTAs */
.doc-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(15, 23, 42, .06);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10);
    font-weight: 800;
    color: var(--text);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.doc-cta:hover {
    transform: translateY(-1px);
    background: rgba(15, 23, 42, .07);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .14), 0 14px 34px rgba(15, 23, 42, .12);
}

.doc-cta--ghost {
    background: transparent;
}

.doc-cta--full {
    width: 100%;
    justify-content: center;
}

@media (max-width: 980px) {
    .doc-hero__grid {
        grid-template-columns: 1fr;
    }

    .doc-layout {
        grid-template-columns: 1fr;
    }

    .doc-hero__photo {
        height: 260px;
    }
}

/* ===== Kontakt: cards layout (without “hard sections”) ===== */

.contact-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 18px;
}

/* karta ve stylu tvých ostatních */
.contact-card {
    background: rgba(15, 23, 42, .05);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 14px 34px rgba(15, 23, 42, .10);
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.contact-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10);
    color: rgba(15, 23, 42, .85);
    font-size: 20px;
    flex: 0 0 auto;
}

.contact-card__label {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
    margin-bottom: 6px;
}

.contact-card__value {
    font-weight: 900;
    color: var(--text);
    margin-bottom: 8px;
}

.contact-card__link {
    color: var(--text);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: rgba(181, 198, 15, .45);
    text-underline-offset: 4px;
}

.contact-card__hint {
    font-size: 14px;
    margin-top: 6px;
}

/* Opening hours (uses your existing hours-table styles) */
.contact-hours {
    margin-top: 18px;
}

.contact-hours__head {
    margin-bottom: 12px;
}

.contact-hours__title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 900;
    color: var(--text);
}

.contact-hours__sub {
    margin: 0;
}

/* compact hours */
.hours-table--compact .hours-row {
    grid-template-columns: 1fr 160px 140px;
}

@media (max-width: 980px) {
    .contact-cards {
        grid-template-columns: 1fr;
    }

    .hours-table--compact .hours-row {
        grid-template-columns: 1fr;
    }
}

/* ===== Map full width ===== */
.map-wide {
    margin: 10px 0 0;
}

.map-wide__frame {
    width: 100%;
    height: 420px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 18px 44px rgba(15, 23, 42, .12);
}

.map-wide__frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* pokud chceš mapu vizuálně klidnější (jemná černobílá) */
.map-wide__frame {
    filter: grayscale(100%) contrast(.9) brightness(1.05);
}

/* ===== Buildings A/B ===== */
.building-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 18px;
}

.building-card {
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 18px 44px rgba(15, 23, 42, .10);
}

.building-card__media {
    height: 240px;
    background: rgba(15, 23, 42, .04);
}

.building-card__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.building-card__body {
    padding: 18px;
}

.building-card__title {
    margin: 0 0 8px;
    font-weight: 900;
    font-size: 18px;
}

.building-card__text {
    margin: 0 0 14px;
}

@media (max-width: 980px) {
    .map-wide__frame {
        height: 320px;
    }

    .building-grid {
        grid-template-columns: 1fr;
    }

    .building-card__media {
        height: 210px;
    }
}



/* Zpět odkaz */
.back-link {
    margin: 40px 0 15px
}

.back-link a {
    text-decoration: none;
}

.back-link a:hover {
    text-decoration: underline;
}

/* ===== CARD ===== */

.card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    overflow: hidden;
}


.card__header {
    padding: 20px 22px;
    border-bottom: 4px solid var(--accent);
}

.card__title {
    margin: 0;
    font-size: 22px;
}

.card__subtitle {
    margin: 6px 0 0;
    opacity: .7;
    font-size: 14px;
}

.card__body {
    padding: 22px;
}

/* ===== GRID UVNITŘ DETAILU ===== */

.detail-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 24px;
}

@media (max-width: 900px) {
    .detail-grid {
        grid-template-columns: 1fr;
    }
}

.detail-block {
    margin-bottom: 18px;
}

/* ===== META LIST ===== */

.meta-list {
    margin: 0;
}

.meta-list__row {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 14px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    text-align: left;
    align-items: center;

}

.meta-list__row:last-child {
    border-bottom: 0;
}

.meta-list dt {
    font-weight: 600;
}

.meta-list dd {
    margin: 0;
}

/* ===== LISTY ===== */

.label {
    font-weight: 900;
    margin-bottom: 8px;
    text-align: center;
    margin-bottom: 15px;
    font-size: 20px;
}

.list {
    margin: 0;
    padding-left: 18px;
}

.list__item {
    margin: 4px 0;
}

.list--compact {
    padding-left: 18px;
}

/* ===== ORDINAČNÍ HODINY ===== */

.table-wrap {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .06);
}

.hours-table {
    width: 100%;
    border-collapse: collapse;
}

.hours-table th,
.hours-table__cell {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    white-space: nowrap;
}

.hours-table th {
    text-align: left;
    font-weight: 600;
    width: 140px;
}

.hours-table tr:last-child th,
.hours-table tr:last-child td {
    border-bottom: 0;
}

/* ===== POZNÁMKA ===== */

.note {
    background: #f4f6f8;
    border-radius: 12px;
    padding: 14px 16px;
    margin-top: 18px;
}

.note__title {
    font-weight: 600;
    margin-bottom: 6px;
}

.note__text {
    opacity: .9;
}

/* Karta trochu víc "premium" */
.card--detail {
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .10);
    padding: 40px 50px;
    margin-bottom: 80px;
}

/* Header karty – výraznější titul */
.card__header {
    padding: 26px 28px;
}

.card__title {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: .2px;
}

/* Uvnitř: víc prostoru */
.card__body {
    padding: 30px 0;
}

/* Dva sloupce – lehké vizuální oddělení */
.detail-grid {
    gap: 28px;
}

@media (min-width: 901px) {
    .detail-grid>.detail-col:first-child {
        padding-right: 26px;
        border-right: 1px solid rgba(0, 0, 0, .08);
    }

    .detail-grid>.detail-col:last-child {
        padding-left: 10px;
    }
    
}



/* Meta list – méně "tabulkový", víc moderní */
.meta-list__row {
    grid-template-columns: 160px 1fr;
    padding: 12px 0;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.meta-list dt {
    font-weight: 700;
    color: rgba(0, 0, 0, .78);
}

.meta-list dd {
    font-weight: 500;
}

/* Lékaři: stejné jako sestra, ale výrazné */
.list--strong .list__item {
    font-weight: 800;
}

.list--strong {
    list-style: none;
    /* pryč tečky */
    padding-left: 0;
}

.list--strong .list__item {
    padding: 6px 10px;
    background: rgba(0, 90, 150, .07);
    border: 1px solid rgba(0, 90, 150, .12);
    border-radius: 10px;
    display: inline-block;
    margin: 6px 0;
}

/* Hodiny – zabalit do "panelu" */
.table-wrap {
    border-radius: 14px;
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
    background: #fff;
}

.hours-table th {
    font-weight: 800;
}

.hours-table th,
.hours-table__cell {
    padding: 12px 16px;
}

/* Poznámka: výraznější blok */
.note {
    background: rgba(0, 90, 150, .06);
    border: 1px solid rgba(0, 90, 150, .12);
    padding: 16px 18px;
    border-radius: 14px;
}

.note__title {
    font-weight: 800;
}

.nurse-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nurse-item {
    font-weight: 500;
}

.card__header--detail {
    border-bottom: 4px solid var(--accent);
    padding-bottom: 7px;
}

.hours-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.hours-table th {
    width: 34%;
    text-align: left;
    font-weight: 800;
    padding: 20px 25px;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    white-space: nowrap;
}

.hours-table__cell {
    width: 33%;
    padding: 20px 25px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
    white-space: nowrap;
    color: rgba(0, 0, 0, .80);
}

/* přidej class pro pomlčku (viz níže v PHP) */
.hours-table__cell--dash {
    opacity: .35;
}

/* zebra */
.hours-table tr:nth-child(odd) th,
.hours-table tr:nth-child(odd) td {
    background: rgba(0, 0, 0, .015);
}

.hours-table tr:last-child th,
.hours-table tr:last-child td {
    border-bottom: 0;
}

.filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid rgba(15, 23, 42, .10);
    margin: 10px 0 20px;
    min-height: 56px;
}

.filter-box {
    padding: 0;
    border-bottom: none;
    border-radius: 0;
    min-height: 56px;
    display: flex;
    align-items: center;
    gap: 8px;
    row-gap: 0px;
}

.filter-box.is-hidden {
    visibility: hidden;
}

.filter-count {
    font-size: 14px;
    color: #64748b;
    white-space: nowrap;
}


.filter-box__inner {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.filter-clear {
    margin-left: 3px;
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(229, 57, 53, .12);
    color: #e53935;
    border: 1px solid rgba(229, 57, 53, .25);
    border-radius: 999px;
    font-size: 22px;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.filter-clear:hover {
    background: rgba(229, 57, 53, .18);
    border-color: rgba(229, 57, 53, .35);
    color: #c62828;
}

.kontakt-photoWrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 16px 38px rgba(15, 23, 42, .10);
    min-height: 420px;
}

.kontakt-photo {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}



/* ===== KONTAKT ===== */

.kont-bar {
    display: flex;
    align-items: center;
    gap: 0;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(15, 23, 42, .06);
    padding: 28px 32px;
    margin-bottom: 48px;
    flex-wrap: wrap;
    gap: 20px;
}

.kont-bar__item {
    flex: 1;
    min-width: 160px;
}

.kont-bar__sep {
    width: 1px;
    height: 40px;
    background: rgba(15, 23, 42, .10);
    flex-shrink: 0;
}

.kont-bar__label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #64748b;
    margin-bottom: 4px;
}

.kont-bar__value {
    font-size: 15px;
    font-weight: 500;
    color: #0f172a;
}

.kont-bar__value a {
    color: #245274;
    text-decoration: none;
}

.kont-bar__value a:hover {
    text-decoration: underline;
}

.kont-hours {
    max-width: 480px;
    margin-bottom: 0;
}

.kont-hours__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 20px;
}

.kont-hours__grid {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

.kont-hours__row {
    display: flex;
    justify-content: space-between;
    padding: 11px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.kont-hours__day {
    font-weight: 500;
    color: #0f172a;
}

.kont-hours__time {
    color: #245274;
    font-weight: 600;
}

.kont-hours__row--closed .kont-hours__time {
    color: #94a3b8;
    font-weight: 400;
}

.kont-hours__note {
    margin-top: 14px;
    font-size: 13px;
    color: #64748b;
    line-height: 1.6;
}

@media (max-width: 640px) {
    .kont-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
    }

    .kont-bar__sep {
        display: none;
    }
}

/* KARTA */
.kontakt-card {
    height: 100%;
}

/* SLOUPEC S OBRÁZKEM */
.kontakt-image-col {
    height: 100%;
}

/* WRAP PRO OBRÁZEK */
.kontakt-image-wrap {
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
    border-top-left-radius: 0px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 0px;
    box-shadow:
        0 0 0 1px rgba(15, 23, 42, .10),
        0 16px 38px rgba(15, 23, 42, .10);
}

/* OBRÁZEK */
.kontakt-image {
    width: 110%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.kontakt-grid {
    gap: 0;
    border-top-left-radius: 20px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 20px;
}

.kontakt-card {
    border-top-left-radius: 20px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 20px;
}

@media (max-width: 980px) {
    .kontakt-card {
        border-radius: 20px 20px 0 0;
    }

    .kontakt-image-wrap {
        border-radius: 0 0 20px 20px;
    }
}

@media (max-width: 901px) {
    .card--detail {
        padding: 20px 20px;
}
    .card__body {
        padding: 15px 0;
    }
    .meta-list__row {
        grid-template-columns: 140px 1fr;
        gap: 10px;
    }
    .hours-table th {
    width: 20%;
    padding: 10px 12px;

}
.hours-table__cell {
    width: 26%;
        padding: 20px 7px;
                text-align: center;
}
}

/* ================================
   O POLIKLINICE
   ================================ */
/* ================================
   O POLIKLINICE
   ================================ */
/* ================================
   O POLIKLINICE
   ================================ */
.about-page {
    background:
        linear-gradient(rgb(246 249 252 / 78%), rgb(246 249 252 / 92%)),
        url(../img/class6.jpg);
    background-size: cover;
    background-position: center;
}

.about-stack {
    display: grid;
    gap: 28px;
    margin: 0 auto;
}

.about-row-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .08), 0 16px 38px rgba(15, 23, 42, .08);
    overflow: hidden;
}

.about-row-card__content {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    align-items: stretch;
    min-height: 320px;
}

.about-row-card__content--history {
    grid-template-columns: 0.9fr 1.1fr;
}

.about-row-card__text {
    padding: 38px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-title {
    margin: 0 0 16px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .03em;
    color: #245274;
    padding-bottom: 10px;
    border-bottom: 4px solid var(--accent);
    line-height: normal;
}

.about-row-card__text p {
    margin: 0 0 14px;
    color: #475569;
}

.about-row-card__text p:last-child {
    margin-bottom: 0;
}

.about-row-card__media {
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-row-card__media--logo {
    background: linear-gradient(180deg, rgba(36, 82, 116, 0.04), rgba(36, 82, 116, 0.08));
}

.about-logo {
    max-width: 290px;
    width: 100%;
    height: auto;
    display: block;
}

.about-side-image {
    width: 100%;
    height: 100%;
    min-height: 260px;
    max-height: 360px;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.about-figure {
    margin: 0;
    width: 100%;
}

.about-figure__img {
    width: 100%;
    height: 100%;
    min-height: 260px;
    max-height: 320px;
    object-fit: cover;
    display: block;
    border-radius: 16px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .06), 0 10px 24px rgba(15, 23, 42, .08);
}

.about-figure__caption {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #64748b;
    text-align: center;
    font-style: italic;
}

.about-gallery-section {
    background: #ffffff;
}

.about-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 26px;
}

.about-gallery__item {
    display: block;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .08), 0 12px 28px rgba(15, 23, 42, .10);
    background: #fff;
}

.about-gallery__item img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
}

.about-gallery__item:hover img {
    transform: scale(1.04);
}

@media (max-width: 980px) {

    .about-row-card__content,
    .about-row-card__content--history {
        grid-template-columns: 1fr;
    }

    .about-row-card__media,
    .about-row-card__text {
        padding: 24px;
    }

    .about-row-card__media {
        padding-top: 0;
    }

    .about-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .about-row-card__text {
        padding: 22px 20px;
    }

    .about-row-card__media {
        padding: 20px 20px 20px;
    }

    .about-side-image,
    .about-figure__img {
        min-height: 220px;
        max-height: 240px;
    }

    .about-gallery {
        grid-template-columns: 1fr;
    }

    .about-gallery__item img {
        height: 220px;
    }
}

.about-figure {
    position: relative;
    overflow: hidden;
}

.about-figure__img {
    filter: sepia(0.9) contrast(1.1) brightness(0.9) saturate(0.7);
}

/* jemný šum */
.about-figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("assets/img/noise.png");
    opacity: 0.08;
    pointer-events: none;
}

.about-gallery__item {
    display: block;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .08), 0 12px 28px rgba(15, 23, 42, .10);
    background: #fff;
    cursor: zoom-in;
}

.about-gallery__item img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
}

.about-gallery__item:hover img {
    transform: scale(1.04);
}

/* LIGHTBOX */
.gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

.gallery-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.gallery-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.82);
    backdrop-filter: blur(4px);
}

.gallery-lightbox__dialog {
    position: relative;
    z-index: 2;
    max-width: min(1100px, 92vw);
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-lightbox__figure {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.gallery-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: 82vh;
    width: auto;
    height: auto;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
    cursor: zoom-out;
}

.gallery-lightbox__caption {
    width: 100%;
    background: rgba(15, 23, 42, .75);
    color: #f1f5f9;
    font-size: 0.85rem;
    text-align: center;
    padding: 8px 16px;
    border-radius: 0 0 18px 18px;
    min-height: 36px;
}

.gallery-lightbox__close {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: #ffffff;
    color: #0f172a;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(1.06);
}

.gallery-lightbox__prev,
.gallery-lightbox__next {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    color: #0f172a;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .20);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    transition: background .15s;
}

.gallery-lightbox__prev { left: 16px; }
.gallery-lightbox__next { right: 16px; }

.gallery-lightbox__prev:hover,
.gallery-lightbox__next:hover {
    background: #ffffff;
}



body.gallery-open {
    overflow: hidden;
}

@media (max-width: 640px) {
    body {
        background: #fff;
    }

    .gallery-lightbox {
        padding: 16px;
    }

    .gallery-lightbox__close {
        top: -10px;
        right: -4px;
        width: 40px;
        height: 40px;
        font-size: 28px;
    }
}

@media (max-width: 980px) {
    body {
        background: #fff;
    }

    .hero-search__form {
        padding: 0;
        background: transparent;
        border-radius: 0;
    }

    .hero-split {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
        overflow: visible;
        background: #fff;
    }

    .hero-split__right {
        position: relative;
        order: -1;
        height: 270px;
        width: 100%;
        margin: 0;
        clip-path: none;
    }

    .hero-split__photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        clip-path: none;
        transform: none;
        display: block;
    }

    .hero-split__right::after {
        display: none;
    }

    .hero-split__right::before {
        display: none;
    }

    .hero-split__left {
        position: relative;
        width: 100%;
        clip-path: none;
        box-shadow: none;
        padding: 0;
        margin: 0;
        background: #fff;
    }

    .hero-split__content {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 28px 20px 20px;
        text-align: center;
        background: #fff;
    }

    .hero-split__logo {
        width: min(280px, 70vw);
        max-width: 70vw;
        margin: 0 auto 14px;
    }

    .hero-split__slogan {
        font-size: clamp(20px, 4.5vw, 26px);
        margin: 0 0 6px;
    }

    .hero-split__sub {
        font-size: clamp(15px, 3.5vw, 17px);
    }

    .hero-split__content::before {
        display: none;
    }

    .hero-float {
        margin-top: 0;
        padding-bottom: 24px;
        background: #fff;
    }
    .footer-grid {
        text-align: center;
    }

    .footer-bottom {
                flex-direction: column;
        gap: 8px;
        display: flex;
        align-content: center;
        align-items: center;
    }
}

@media (max-width: 640px) {
    .hero-split {
        height: auto;
        min-height: 0;
    }

    .hero-split__logo {
        width: min(260px, 65vw);
        position: relative;
        top: 0;
    }

    .hero-split__content {
        padding: 30px 16px 10px;
    }

    .hero-float {
        margin-top: 0;
        padding: 0 0 24px;
    }

    .hero-float__container {
        max-width: 100%;
        width: 100%;
        padding: 0;
    }

    .hero-search__form {
        border-radius: 14px;
        padding: 0;
        margin: 30px 20px 5px 20px;
        background: #fff;
    }

    .hero-float {
        background: #fff;
    }

    .hero-search__row {
        border-radius: 14px;
        border: none;
    }

    .hero-search__row button {
        padding: 11px 20px;
        font-size: 13px;
        border-radius: 0 14px 14px 0;
    }

    .quick-info__item {
        padding: 12px 18px;
        margin-bottom: 0px;
    }

    .quick-info__icon {
        height: 35px;
    }

    .quick-info__item {
        gap: 18px;
    }



    
}


/* =========================================================
   KARTA PROFESÍ - MOBILNI ZOBRAZENI
   ========================================================= */

   /* ===== LEKARI / ORDINACE LIST ===== */

.doctor-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 37px;
    align-items: start;
}

.doctor-sidebar {
    width: 100%;
}

.doctor-sidebar h3 {
    margin: 0 0 20px;
    font-size: 18px;
    line-height: 1.3;
}

.doctor-select-filter label {
    padding: 0 14px;
}

.doctor-category-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.doctor-category-list a,
.doctor-filter-panel a {
    display: inline-block;
    color: #0f172a;
    text-decoration: none;
    line-height: 1.45;
}

.doctor-category-list a:hover,
.doctor-filter-panel a:hover {
    text-decoration: underline;
    color: var(--accent);
}

.doctor-category-list a.is-active,
.doctor-filter-panel a.is-active {
    font-weight: 700;
    color: var(--accent);
    text-decoration: underline;
}

.doctor-content {
    min-width: 0;
}

.doctor-cards-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.doctor-card {
    padding: 20px;
    border-radius: 14px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.doctor-card a:hover {
    text-decoration: underline;
}

.meta-list__row dd a:hover {
    text-decoration: underline;
}

.doctor-card div[style*="margin-top:14px"] {
    margin-top: auto !important;
    padding-top: 14px;
}

.doctor-detail-btn {
    display: inline-block;
    padding: 10px 16px;
    border: 1px solid #333;
    border-radius: 10px;
    text-decoration: none;
    transition: .2s ease;
}

.doctor-detail-btn:hover {
    background: rgba(15, 23, 42, .04);
}

/* mobilní filtr defaultně skrytý */
.doctor-mobile-filter {
    display: none;
}

.doctor-filter-details {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .10), 0 12px 28px rgba(15, 23, 42, .08);
    overflow: hidden;
}

.doctor-filter-details summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 18px;
    font-weight: 700;
    color: #245274;
    position: relative;
}

.doctor-filter-details summary::-webkit-details-marker {
    display: none;
}

.doctor-filter-details summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    line-height: 1;
    color: var(--accent);
}

.doctor-filter-details[open] summary::after {
    content: "−";
}

.doctor-filter-panel {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 18px 18px;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

/* wrapper té celé sekce místo inline width */
.doctor-section-inner {
    max-width: 1200px;
    margin: 0 auto 80px;
    min-height: 700px;
    width: min(var(--max), calc(100% - 100px));
}

/* tablet */
@media (max-width: 1100px) {
    .doctor-layout {
        grid-template-columns: 220px 1fr;
        gap: 24px;
    }

    .doctor-cards-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* tablet / menší notebook */
@media (max-width: 980px) {
    .doctor-section-inner {
        width: min(var(--max), calc(100% - 40px));
    }

    .doctor-layout {
        grid-template-columns: 1fr;
        gap: 0px;
    }

    .doctor-sidebar {
        display: none;
    }

    .doctor-mobile-filter {
        display: block;
    }

    .doctor-cards-grid {
        grid-template-columns: 1fr;
    }

    .doctor-section::before {
        height: 520px;
        background-position: center top;
    }
}

/* mobil */
@media (max-width: 640px) {
    .doctor-section-inner {
        width: min(var(--max), calc(100% - 24px));
        margin-bottom: 48px;
    }

    .doctor-card {
        padding: 16px;
    }

    .doctor-card div[style*="font-size:20px"] {
        font-size: 18px !important;
    }

    .filter-bar {
        flex-direction: column;
        align-items: flex-start;
        min-height: auto;
        gap: 4px;
        padding: 0 14px;
    }

    .filter-box {
        padding: 10px 0 0;
        min-height: auto;
        flex-wrap: wrap;
        border-bottom: none;
        border-radius: 0;
    }

    .filter-box__inner {
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        padding-right: 38px;
    }

    .filter-box__inner .filter-clear {
        position: absolute;
        top: 0;
        right: 0;
        margin-left: 0;
    }

    .filter-count {
        padding-bottom: 8px;
    }
}

.doctor-select-filter {
    display: none;
    margin-bottom: 20px;
}

.doctor-select-filter form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.doctor-select-filter label {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
}

.doctor-select-filter select {
    width: 100%;
    max-width: 420px;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    font-size: 15px;
    color: #0f172a;
    outline: none;
}

.doctor-select-filter select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(36, 82, 116, 0.12);
}

@media (max-width: 980px) {
    .doctor-select-filter {
        display: block;
    }

    .doctor-sidebar {
        display: none;
    }

    .doctor-layout {
        grid-template-columns: 1fr;
        gap: 0px;
    }

    .doctor-cards-grid {
        grid-template-columns: 1fr;
    }
}


.doctor-content {
    min-width: 0;
}

/* =========================================================
   COOKIE BANNER
   ========================================================= */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #245274;
    color: var(--text-white);
    padding: 16px 24px;
    box-shadow: 0 -4px 20px rgba(15, 23, 42, .18);
}

.cookie-banner__inner {
    max-width: var(--max);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.cookie-banner__text {
    flex: 1;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    color: #cbd5e1;
}

.cookie-banner__text a {
    color: var(--accent);
    text-decoration: underline;
}

.cookie-banner__text a:hover {
    color: #fff;
}

.cookie-banner__actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.cookie-banner__btn {
    padding: 9px 22px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: opacity .15s;
}

.cookie-banner__btn:hover {
    opacity: .85;
}

.cookie-banner__btn--accept {
    background: #2e7d32;
    color: #fff;
}

.cookie-banner__btn--decline {
    background: transparent;
    color: #94a3b8;
    border: 1px solid #475569;
}

@media (max-width: 600px) {
    .cookie-banner__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

/* =========================================================
   PROSE PAGE (ochrana soukromí, podmínky…)
   ========================================================= */
.prose-page {
    max-width: 780px;
    margin: 0 auto;
    color: var(--text);
    line-height: 1.75;
}

.prose-page h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--nav-dark);
    margin: 2rem 0 .5rem;
    padding-bottom: .35rem;
    border-bottom: 2px solid var(--accent);
    display: inline-block;
}

.prose-page p,
.prose-page ul {
    margin: .75rem 0;
    font-size: 15px;
    color: var(--muted);
}

.prose-page ul {
    padding-left: 1.4rem;
}

.prose-page li {
    margin-bottom: .3rem;
}

.prose-page a {
    color: var(--link);
    text-decoration: underline;
}

.prose-page a:hover {
    color: var(--accent);
}

.prose-page code {
    background: var(--surface-2);
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 13px;
    font-family: monospace;
}

.cookie-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    font-size: 14px;
}

.cookie-table th,
.cookie-table td {
    text-align: left;
    padding: 10px 14px;
    border: 1px solid #e2e8f0;
}

.cookie-table th {
    background: var(--nav-dark);
    color: #fff;
    font-weight: 600;
}

.cookie-table tr:nth-child(even) td {
    background: var(--surface-2);
}

@media (min-width: 975px) {
    .prose-page {
        margin-top: 80px;
    }
}

.prose-page h2:first-of-type {
    margin-top: 0;
}


@media (min-width: 1300px) {
    .hero-split__photo {
        object-position: center center;
    }
}

@media (min-width: 1100px) and (max-width: 1299px) {
    .hero-split__photo {
        object-position: center center;
    }
}
