/* =========================
   SZÍNVÁLTOZÓK ÉS ALAPOK
========================= */
:root {
    --color-gray-1: #565652;
    --color-gray-2: #b4b4af;
    --color-gray-3: #70706c;
    --color-gray-4: #6a6a65;
    --color-gray-5: #5e5e5c;
    --color-gray-6: #d5d5d0;
    --color-purple: #96356a;
    --color-link-blue: #1165a5;
    --color-facebook: #3765a3;
    --color-menu-bg: #deded8;
    --color-footer-bg: #e8e8e4;
    --color-footer-border: #bcbcb9;
    --color-white: #ffffff;
    --focus-ring: 3px solid #96356a;
    --container-width: 1000px;
    --primary-nav-height: 3.2rem;
    --internal-topbar-height: 2.8rem;
}

* {
    box-sizing: border-box;
}

html {
    font-size: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--color-gray-1);
    font-family: Arial, sans-serif;
    background: var(--color-white);
}

a {
    color: inherit;
}

    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible,
    [tabindex="-1"]:focus-visible {
        outline: var(--focus-ring);
        outline-offset: 0.1rem;
    }

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container-narrow {
    width: min(calc(100% - 3.8rem), var(--container-width));
    margin: 0 auto;
}

.visually-hidden {
    position: absolute;
    width: 0.06rem;
    height: 0.06rem;
    padding: 0;
    margin: -0.06rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* =========================
   SKIP LINK
========================= */
.skip-link {
    position: absolute;
    left: 1rem;
    top: -5rem;
    z-index: 1000;
    background: var(--color-white);
    color: var(--color-gray-1);
    padding: 0.9rem 1rem;
    font: 700 1rem/1 Roboto, Arial, sans-serif;
    text-decoration: none;
    border: 2px solid var(--color-purple);
}

    .skip-link:focus {
        top: 1rem;
    }

/* =========================
   FEJLÉC / BRANDING
========================= */
.site-header {
    position: relative;
    background: var(--color-white);
}

.branding-wrap {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 1rem 0 0.8rem;
}

.brand {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
}

.brand__logo {
    width: min(100%, 267px);
}

.brand__subtitle {
    color: var(--color-gray-1);
    font: 400 1.1rem/1.2 Roboto, Arial, sans-serif;
    text-align: center;
}

.mobile-menu-toggle {
    position: absolute;
    left: 0;
    top: 1rem;
    display: none;
    width: 2.9rem;
    height: 2.9rem;
    padding: 0.5rem;
    border: 0;
    background: transparent;
    cursor: pointer;
}

    .mobile-menu-toggle img {
        width: 100%;
        height: auto;
    }

/* =========================
   FŐ NAVIGÁCIÓ
========================= */
.primary-nav {
    position: sticky;
    top: 0;
    z-index: 150;
    background: var(--color-menu-bg);
    border-top: 1px solid var(--color-gray-2);
    border-bottom: 1px solid var(--color-gray-2);
}

.primary-nav__inner {
    position: relative;
}

.menu,
.submenu,
.footer-column ul,
.footer-column--stacked ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .menu li,
    .submenu li,
    .footer-column li,
    .footer-column--stacked li {
        list-style: none;
    }

.menu--desktop {
    display: flex;
    align-items: stretch;
    justify-content: center;
}

.menu__item {
    position: relative;
}

.menu__link,
.menu__trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 3.1rem;
    padding: 0.8rem 0.8rem;
    border: 0;
    background: transparent;
    color: var(--color-gray-1);
    font: 500 1rem/1.2 Roboto, Arial, sans-serif;
    text-decoration: none;
    cursor: pointer;
}

    .menu__link:hover,
    .menu__link:focus-visible,
    .menu__trigger:hover,
    .menu__trigger:focus-visible,
    .submenu a:hover,
    .submenu a:focus-visible,
    .footer-column a:hover,
    .footer-column a:focus-visible,
    .footer-column--stacked a:hover,
    .footer-column--stacked a:focus-visible {
        color: var(--color-purple);
    }

.menu__link--current {
    color: var(--color-purple);
}

.menu__caret {
    width: 0.6rem;
    height: 0.6rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-0.06rem);
    flex: 0 0 auto;
}

.has-submenu.is-open > .menu__trigger .menu__caret {
    transform: rotate(-135deg) translateY(-0.06rem);
}

.submenu {
    position: absolute;
    left: 0;
    top: calc(100% - 1px);
    z-index: 50;
    min-width: 19rem;
    padding: 0.5rem 0;
    background: var(--color-white);
    border: 1px solid var(--color-gray-2);
    box-shadow: none;
}

    .submenu[hidden] {
        display: none;
    }

    .submenu li {
        width: 100%;
    }

    .submenu a {
        display: block;
        width: 100%;
        padding: 0.6rem 1rem;
        color: var(--color-gray-1);
        font: 400 1rem/1.3 Roboto, Arial, sans-serif;
        text-decoration: none;
    }

/* =========================
   MOBIL NAV PANEL
========================= */
.mobile-nav-panel {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 200;
    width: min(100%, 24rem);
    overflow-y: auto;
    background: var(--color-white);
    border-left: 1px solid var(--color-gray-2);
    padding: 1rem 1.3rem 2rem;
}

.mobile-nav-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.mobile-nav-panel__title {
    margin: 0;
    color: var(--color-gray-1);
    font: 700 1.25rem/1.2 Roboto, Arial, sans-serif;
}

.mobile-nav-close {
    border: 0;
    background: transparent;
    color: var(--color-gray-1);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.menu--mobile {
    display: grid;
    gap: 0.1rem;
}

    .menu--mobile .menu__link,
    .menu--mobile .menu__trigger {
        width: 100%;
        justify-content: space-between;
        padding-inline: 0;
        text-align: left;
    }

    .menu--mobile .submenu {
        position: static;
        min-width: 0;
        border: 0;
        padding: 0 0 0.5rem 0;
    }

        .menu--mobile .submenu a {
            padding-left: 1rem;
        }

/* =========================
   HERO
========================= */
.hero {
    position: relative;
    min-height: 25rem;
    background: #f7f7f5;
}

    .hero picture,
    .hero__image {
        display: block;
        width: 100%;
        height: 100%;
    }

.hero__image {
    min-height: 25rem;
    object-fit: cover;
    object-position: center center;
}

.hero__inner {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}

.hero__contact-box {
    position: relative;
    left: 1rem;
    margin-left: auto;
    width: 23.8rem;
    padding: 2.2rem 0 1.5rem;
    color: var(--color-gray-3);
}

    .hero__contact-box h2 {
        margin: 0 0 1rem;
        color: var(--color-purple);
        font-family: "Arial Black", Arial, sans-serif;
        font-size: 1.25rem;
        line-height: 1.2;
        font-weight: 900;
    }

    .hero__contact-box p {
        margin: 0 0 1rem;
        font: 400 0.9rem/1.35 Arial, sans-serif;
    }

    .hero__contact-box strong {
        font-weight: 700;
    }

    .hero__contact-box a {
        color: inherit;
        text-decoration: none;
    }

.hero__statement {
    position: absolute;
    right: 0;
    bottom: 1.25rem;
    width: min(28rem, 45%);
}

/* =========================
   FELSŐ LILA CSÍK
========================= */
.accent-bar {
    height: 2.8rem;
    background: var(--color-purple);
}

/* =========================
   ÁLTALÁNOS SZEKCIÓ-TÁVOLSÁG
========================= */
.section-spacing {
    padding: 2.5rem 0 0;
}

/* =========================
   GYORSLINKEK
========================= */
.quick-links {
    padding-top: 1.9rem;
    padding-bottom: 0.6rem;
}

.quick-links__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.9rem;
}

.quick-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0 1.25rem 0.8rem;
    color: var(--color-gray-1);
    text-align: center;
    text-decoration: none;
    border-bottom: 12px solid var(--color-purple);
}

    .quick-card:hover,
    .quick-card:focus-visible {
        color: var(--color-gray-1);
    }

    .quick-card img {
        height: 70px;
        width: auto;
    }

.quick-card__title {
    color: var(--color-gray-1);
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1.25rem;
    line-height: 1.15;
    font-weight: 900;
}

.quick-card__text {
    font: 400 1rem/1.25 Arial, sans-serif;
}

/* =========================
   SZEKCIÓCÍMEK
========================= */
.section-title {
    margin: 0 0 1.8rem;
    color: var(--color-purple);
    text-align: center;
    font: 900 2.25rem/1.15 Roboto, Arial, sans-serif;
}

.section-divider {
    width: 100%;
    height: 0.6rem;
    margin: 3.1rem 0 0 0;
    background: var(--color-purple);
}

/* =========================
   KÁRTYARÁCS
========================= */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.9rem;
}

.news-card {
    display: flex;
    flex-direction: column;
}

.news-card__image {
    width: 100%;
    aspect-ratio: 300 / 200;
    object-fit: cover;
}

.news-card__title {
    margin: 1rem 0 0.6rem;
    font: 900 1.25rem/1.2 Roboto, Arial, sans-serif;
}

    .news-card__title a {
        color: var(--color-purple);
        text-decoration: none;
    }

        .news-card__title a:hover,
        .news-card__title a:focus-visible {
            text-decoration: underline;
        }

.news-card__lead {
    margin: 0;
    color: var(--color-gray-4);
    font: 400 1rem/1.4 Roboto, Arial, sans-serif;
}

    .news-card__lead a {
        color: var(--color-link-blue);
        text-decoration: underline;
    }

        .news-card__lead a:hover,
        .news-card__lead a:focus-visible {
            text-decoration: none;
        }

.news-card__lead--pharmacy p {
    margin: 0;
}

.news-card__lead--pharmacy strong {
    font-weight: 700;
}

.pharmacy-gap {
    height: 0.3rem;
}

/* =========================
   LÁBLÉC
========================= */
.site-footer {
    margin-top: 3rem;
    background: var(--color-footer-bg);
    border-top: 1px solid var(--color-footer-border);
}

.site-footer__menu {
    display: grid;
    grid-template-columns: 1.1fr 1.15fr 0.95fr 0.95fr 0.95fr;
    gap: 1.5rem 1.25rem;
    padding: 2rem 0 1.5rem;
}

.footer-column--stacked {
    display: grid;
    gap: 1.8rem;
}

    .footer-column section,
    .footer-column--stacked section {
        min-width: 0;
    }

    .footer-column h2,
    .footer-column--stacked h2 {
        margin: 0 0 0.5rem;
        color: var(--color-gray-1);
        font: 700 0.75rem/1.25 Arial, sans-serif;
    }

    .footer-column a,
    .footer-column--stacked a {
        color: var(--color-gray-1);
        font: 400 0.7rem/1.35 Arial, sans-serif;
        text-decoration: none;
    }

    .footer-column li,
    .footer-column--stacked li {
        margin: 0 0 0.35rem;
    }

/* =========================
   FACEBOOK SOR
========================= */
.facebook-follow {
    padding: 0 0 1.5rem;
}

.facebook-follow__link {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    color: var(--color-facebook);
    font: 700 1rem/1.2 Roboto, Arial, sans-serif;
    text-decoration: none;
}

    .facebook-follow__link img {
        width: 2.1rem;
        height: 2.1rem;
    }

/* =========================
   KÖTELEZŐ LOGÓK
========================= */
.mandatory-logos {
    position: relative;
    padding: 0;
    background: var(--color-white);
    min-height: 7.5rem;
}

.mandatory-logos__inner {
    width: min(calc(100% - 3.8rem), 1000px);
    margin: 0 auto;
    min-height: 7.5rem;
    display: flex;
    align-items: center;
}

.mandatory-logos__left {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.5rem;
    min-width: 0;
}

    .mandatory-logos__left img {
        width: auto;
        max-width: none;
        height: 64px;
        flex: 0 0 auto;
    }

.mandatory-logos__right {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
}

    .mandatory-logos__right img {
        display: block;
        width: auto;
        height: auto;
        max-width: min(26rem, 100%);
    }

/* =========================
   BELSŐ OLDALI STICKY LILA SÁV
========================= */
.internal-topbar {
    position: sticky;
    top: var(--primary-nav-height);
    z-index: 140;
    height: var(--internal-topbar-height);
    background: var(--color-purple);
}

.internal-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    height: 100%;
}

.internal-search {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

    .internal-search input {
        width: 190px;
        height: 1.8rem;
        padding: 0 0.6rem;
        border: 1px solid var(--color-white);
        background: var(--color-white);
        color: var(--color-gray-1);
        font: 400 0.94rem/1.2 Roboto, Arial, sans-serif;
    }

    .internal-search button {
        height: 1.8rem;
        padding: 0 0.6rem;
        border: 1px solid transparent;
        background: transparent;
        color: var(--color-white);
        font: 700 1rem/1 Roboto, Arial, sans-serif;
        cursor: pointer;
    }

.internal-topbar__statement {
    width: auto;
    height: 1.5rem;
    flex: 0 0 auto;
}

/* =========================
   BELSŐ OLDAL FŐTARTALOM
========================= */
.internal-main {
    padding: 2.5rem 0 1.9rem;
}

.content-layout--sidebar {
    display: grid;
    grid-template-columns: 66% 30%;
    column-gap: 4%;
    align-items: start;
}

.content-main {
    min-width: 0;
}

.content-sidebar {
    min-width: 0;
}

/* =========================
   SZERKESZTHETŐ CIKK PLACEHOLDER
========================= */
.article-placeholder h1,
.article-placeholder h2,
.article-placeholder h3,
.article-placeholder h4,
.article-placeholder p,
.article-placeholder a,
.article-placeholder ul,
.article-placeholder ol,
.article-placeholder li,
.article-placeholder table,
.article-placeholder td {
    margin-top: 0;
}

.article-placeholder h1 {
    margin-bottom: 0.5rem;
    color: var(--color-purple);
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1.65rem;
    line-height: 1.2;
    font-weight: 900;
}

    .article-placeholder h1 + p {
        margin-top: 1.8rem;
    }

    .article-placeholder h1 + div {
        margin-top: 1.8rem;
    }

    .article-placeholder h1 + article {
        margin-top: 1.8rem;
    }

.article-placeholder h2 {
    margin-bottom: 28px;
    color: var(--color-purple);
    font: 400 1.4rem/1.2 Roboto, Arial, sans-serif;
}

.article-placeholder h3 {
    margin: 1.4rem 0 0.9rem;
    color: var(--color-purple);
    font: 400 1.2rem/1.28 Roboto, Arial, sans-serif;
}

.article-placeholder h4 {
    margin: 1.7rem 1.9rem 1.7rem 4.4rem;
    padding-left: 0.8rem;
    border-left: 8px solid var(--color-purple);
    color: var(--color-purple);
    font: 700 1.3rem/1.3 Roboto, Arial, sans-serif;
}

.article-placeholder p,
.article-placeholder ul,
.article-placeholder ol {
    margin-bottom: 1.1rem;
    color: var(--color-gray-5);
    font: 400 1rem/1.5 Roboto, Arial, sans-serif;
}

.article-placeholder a {
    color: var(--color-link-blue);
    text-decoration: underline;
}

    .article-placeholder a:hover,
    .article-placeholder a:focus-visible {
        text-decoration: none;
    }

a.boldlink {
    color: var(--color-link-blue);
    text-decoration: none;
    font-weight: 600;
}

    a.boldlink:hover {
        color: var(--color-purple);
    }

a.normallink {
    display: block;
    color: var(--color-link-blue);
    text-decoration: none;
    font-weight: 400;
}

    a.normallink:hover {
        color: var(--color-purple);
    }

.article-placeholder ul,
.article-placeholder ol {
    padding-left: 0;
}

.article-placeholder ul {
    list-style: none;
}

    .article-placeholder ul li {
        position: relative;
        padding-left: 0.9rem;
        margin-bottom: 0.32rem;
    }

        .article-placeholder ul li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.46em;
            width: 8px;
            height: 8px;
            background: url("images/ikon_nyil.svg") no-repeat center center / contain;
        }

.article-placeholder ol {
    padding-left: 1.4rem;
}

    .article-placeholder ol li {
        margin-bottom: 0.6rem;
    }

.article-placeholder table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
}

.article-placeholder td {
    padding: 0.5rem 0.6rem;
    border: 1px solid var(--color-gray-2);
    color: var(--color-gray-5);
    font: 400 1rem/1.3 Roboto, Arial, sans-serif;
}

.article-figure {
    margin: 1.8rem 0 1.8rem;
}

    .article-figure img {
        width: 100%;
        aspect-ratio: 3 / 2;
        object-fit: cover;
    }

.article-caption {
    display: block;
    margin-top: 0.6rem;
    margin-bottom: 1.8rem;
    color: var(--color-gray-4);
    font: italic 700 0.9rem/1.3 Roboto, Arial, sans-serif;
}

/* =========================
   JOBB OLDALI BANNERSÁV
========================= */
.sidebar-banner {
    margin-bottom: 1.9rem;
}

    .sidebar-banner:last-child {
        margin-bottom: 0;
    }

    .sidebar-banner img {
        width: 100%;
        aspect-ratio: 3 / 2;
        object-fit: cover;
    }

.sidebar-banner--image-only a {
    display: block;
    text-decoration: none;
}

.sidebar-banner__body {
    position: relative;
    margin-top: 1rem;
    padding-left: 1.4rem;
}

    .sidebar-banner__body::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.1rem;
        width: 10px;
        height: calc(100% - 4px);
        background: var(--color-gray-6);
    }

    .sidebar-banner__body h2 {
        margin: 0 0 0.5rem;
        font-family: "Arial Black", Arial, sans-serif;
        font-size: 1.25rem;
        line-height: 1.15;
        font-weight: 900;
    }

        .sidebar-banner__body h2 a {
            color: var(--color-purple);
            text-decoration: none;
        }

            .sidebar-banner__body h2 a:hover,
            .sidebar-banner__body h2 a:focus-visible {
                text-decoration: underline;
            }

    .sidebar-banner__body p {
        margin: 0;
        color: var(--color-gray-4);
        font: 400 1rem/1.45 Roboto, Arial, sans-serif;
    }

/* =========================
   ORVOSKERESŐ ŰRLAP
========================= */
.doctor-search-form {
    width: min(100%, 38rem);
    margin-top: 2.2rem;
}

.doctor-search-form__group {
    margin-bottom: 2rem;
}

    .doctor-search-form__group label {
        display: block;
        margin: 0 0 0.6rem;
        color: var(--color-gray-1);
        font: 400 1rem/1.3 Roboto, Arial, sans-serif;
    }

    .doctor-search-form__group input,
    .doctor-search-form__group select {
        display: block;
        width: 100%;
        min-height: 2.6rem;
        padding: 0.45rem 0.9rem;
        border: 1px solid var(--color-purple);
        border-radius: 0;
        background: var(--color-white);
        color: var(--color-gray-1);
        font: 400 1rem/1.2 Roboto, Arial, sans-serif;
        -webkit-appearance: none;
        appearance: none;
    }

    .doctor-search-form__group select {
        padding-right: 2.6rem;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236a6a65' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: calc(100% - 0.8rem) 50%;
        background-size: 0.65rem auto;
    }

.doctor-search-form__actions {
    margin-top: 0.5rem;
}

.doctor-search-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: 0.45rem 1rem;
    border: 1px solid var(--color-purple);
    border-radius: 0;
    background: var(--color-purple);
    color: var(--color-white);
    font: 700 1.1rem/1.2 Roboto, Arial, sans-serif;
    text-decoration: none;
    cursor: pointer;
}

    .doctor-search-form__submit:hover,
    .doctor-search-form__submit:focus-visible {
        background: var(--color-purple);
        color: var(--color-white);
    }

/* =========================
   ORVOSKERESŐ TALÁLATI LISTA
========================= */
.doctor-search-results__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

    .doctor-search-results__items li {
        margin: 0 !important;
        padding: 0;
    }

        .doctor-search-results__items li::before {
            content: none;
        }

    .doctor-search-results__items a {
        color: var(--color-link-blue);
        text-decoration: none;
        font: 400 1rem/1.35 Roboto, Arial, sans-serif;
    }

        .doctor-search-results__items a:hover,
        .doctor-search-results__items a:focus-visible {
            text-decoration: underline;
        }

/* =========================
   MAGAZIN CIKKLISTA
========================= */
/*.magazine-list {
  margin-top: 1.8rem;
}*/

.magazine-list__item {
    margin-bottom: 2.5rem;
}

    .magazine-list__item:last-child {
        margin-bottom: 0;
    }

.magazine-list__title {
    margin-bottom: 0.75rem !important;
    color: var(--color-purple);
    font: 400 1.45rem/1.15 Roboto, Arial, sans-serif !important;
}

    .magazine-list__title a {
        color: var(--color-purple);
        text-decoration: none;
    }

        .magazine-list__title a:hover,
        .magazine-list__title a:focus-visible {
            color: var(--color-link-blue) !important;
            text-decoration: underline !important;
        }

.magazine-list__content {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.magazine-list__image-wrap {
    flex: 0 0 33%;
    max-width: 33%;
}

    .magazine-list__image-wrap:empty {
        display: none;
    }

    .magazine-list__image-wrap img {
        width: 100%;
        aspect-ratio: 3 / 2;
        object-fit: cover;
    }

.magazine-list__lead {
    flex: 1 1 auto;
    min-width: 0;
}

    .magazine-list__lead p {
        margin: 0;
        color: var(--color-gray-5);
        font: 400 1rem/1.5 Roboto, Arial, sans-serif;
    }

/* =========================
   SZAKRENDELÉSEINK LISTA
========================= */
.link-blue-plain,
.article-placeholder a.link-blue-plain {
    color: var(--color-link-blue);
    text-decoration: none;
}

    .link-blue-plain:hover,
    .link-blue-plain:focus-visible,
    .article-placeholder a.link-blue-plain:hover,
    .article-placeholder a.link-blue-plain:focus-visible {
        text-decoration: underline;
    }

.outpatient-list {
    margin-top: 1.8rem;
}

.outpatient-list__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 3.2rem;
    row-gap: 2.8rem;
    align-items: start;
}

.outpatient-list__group {
    min-width: 0;
}

.outpatient-list__group-title {
    margin: 0 0 1rem !important;
    color: var(--color-gray-1) !important;
    font-family: "Arial Black", Arial, sans-serif !important;
    font-size: 1.15rem !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}

.outpatient-list__group-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .outpatient-list__group-list li {
        position: relative;
        margin-bottom: 0.24rem;
        padding-left: 0.85rem;
        font: 400 0.8125rem/1.25 Roboto, Arial, sans-serif;
    }

        .outpatient-list__group-list li:last-child {
            margin-bottom: 0;
        }

        .outpatient-list__group-list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.27em !important;
            width: 8px;
            height: 8px;
            background: url("images/ikon_nyil.svg") no-repeat center center / contain;
        }

    .outpatient-list__group-list a {
        color: var(--color-link-blue);
        text-decoration: none;
    }

        .outpatient-list__group-list a:hover,
        .outpatient-list__group-list a:focus-visible {
            text-decoration: underline;
        }

/* =========================
   MUNKATÁRSAINK ADATLAP
========================= */
.staff-profile {
    margin-top: 1.8rem;
}

.staff-profile__header {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}

.staff-profile__image-wrap {
    flex: 0 0 220px;
    width: 220px;
}

.staff-profile__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.staff-profile__meta {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 0.2rem;
}

.staff-profile__name {
    margin: 0 0 0.4rem !important;
    color: var(--color-purple) !important;
    font: 700 18px/1.2 Roboto, Arial, sans-serif !important;
}

.staff-profile__role {
    margin: 0 !important;
    color: var(--color-gray-5) !important;
    font: 400 16px/1.3 Roboto, Arial, sans-serif !important;
}

.staff-profile__bio {
    margin-top: 1.8rem;
}

/* =========================
   KÓRHÁZTÉRKÉP
========================= */
.hospital-map {
    margin-top: 1.8rem;
}

.hospital-map__figure {
    margin: 0 0 2rem;
}

.hospital-map__image {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.hospital-map__buildings {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2.5rem;
    row-gap: 0;
    align-items: start;
}

.hospital-map__column {
    min-width: 0;
}

.hospital-map__building {
    margin-bottom: 1.8rem;
}

    .hospital-map__building:last-child {
        margin-bottom: 0;
    }

.hospital-map__building-title {
    margin: 0 0 0.45rem !important;
    color: var(--color-purple) !important;
    font: 700 18px/1.2 Roboto, Arial, sans-serif !important;
}

.hospital-map__building-text {
    margin: 0 !important;
    color: var(--color-gray-5);
    font: 400 1rem/1.5 Roboto, Arial, sans-serif !important;
}

/* =========================
   SZAKTERÜLETEINK TELJES SZÉLESSÉGŰ BLOKK
========================= */

.specialties-band {
    padding: 0 0 2.8rem 0;
}

.specialties-band__inner h1 {
    color: var(--color-purple);
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1.65rem;
    line-height: 1.2;
    font-weight: 900;
    margin: 0 0 1.8rem;
}

.specialties-band__grid {
    display: grid;
    grid-template-columns: 1.25fr 0.8fr 1fr 0.95fr;
    column-gap: 2.4rem;
    row-gap: 0;
    align-items: start;
}

.specialties-band__column {
    min-width: 0;
}

.specialties-band__column-block + .specialties-band__column-block {
    margin-top: 2.3rem;
}

.specialties-band__group-title {
    margin: 0 0 0.7rem !important;
    color: var(--color-gray-1) !important;
    font-family: "Arial Black", Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
}

.specialties-band__subgroup {
    margin-bottom: 1.5rem;
}

    .specialties-band__subgroup:last-child {
        margin-bottom: 0;
    }

.specialties-band__subgroup-title {
    margin: 0 0 0.35rem !important;
    color: var(--color-gray-1) !important;
    font: 700 14px/1.2 Roboto, Arial, sans-serif !important;
}

.specialties-band__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.specialties-band__list--offset {
    margin-top: 2.15rem;
}

.specialties-band .outpatient-list__group-list li {
    margin-bottom: 0.24rem;
}

    .specialties-band .outpatient-list__group-list li:last-child {
        margin-bottom: 0;
    }


/* =========================
   FULL-WIDTH BELSŐ OLDAL TARTALOM
========================= */
.content-layout--fullwidth {
    display: block;
}

/* =========================
   VEZETŐSÉG OLDAL
========================= */
.leadership-page h1 {
    margin-bottom: 0.5rem;
}

.leadership-page .leadership-section + .leadership-section {
    margin-top: 3.8rem;
}

.leadership-page h1 + .leadership-section h2 {
    margin-top: 2.8rem;
}

.leadership-page .leadership-section h2 {
    margin: 0 0 1.5rem !important;
}

.leadership-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.9rem;
    align-items: start;
}

.leadership-card {
    text-align: center;
}

.leadership-card__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin-bottom: 0.5rem;
}

.leadership-card__image--empty {
    background: transparent;
}

.leadership-card__name {
    margin: 0 0 0.2rem !important;
    color: var(--color-purple) !important;
    font: 700 16px/1.2 Roboto, Arial, sans-serif !important;
}

.leadership-card__name--empty {
    visibility: hidden;
}

.leadership-card__role {
    margin: 0 !important;
    color: var(--color-gray-5) !important;
    font: 400 16px/1.2 Roboto, Arial, sans-serif !important;
}

.leadership-card--textonly .leadership-card__role {
    padding-top: 0.1rem;
}


/* =========================
   KÉPGALÉRIA
========================= */

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    margin-top: 1.8rem;
}

.gallery-item {
    display: block;
}

    .gallery-item a {
        display: block;
        text-decoration: none;
        overflow: hidden;
        cursor: pointer !important;
    }

    .gallery-item img {
        display: block;
        width: 100%;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        transition: transform 0.25s ease;
        pointer-events: none;
    }

    .gallery-item a:hover img,
    .gallery-item a:focus-visible img {
        transform: scale(1.04);
    }

.gallery-caption {
    margin-top: 0.5rem;
    color: var(--color-gray-3);
    font: 400 15px/1.3 Roboto, Arial, sans-serif;
}

/* focus állapot (akadálymentesség) */
.gallery-item a:focus-visible {
    outline: var(--focus-ring);
    outline-offset: 2px;
}

/* =========================
   SZAKRENDELÉSI IDŐPONTOK
========================= */

.outpatient-schedule {
    margin-top: 1rem;
}

.article-placeholder h1 + .outpatient-schedule {
    margin-top: 1rem;
}

.article-placeholder .outpatient-schedule__service-name {
    margin: 0 0 1.25rem;
    color: var(--color-purple);
    font: 400 1.5rem/1.2 Roboto, Arial, sans-serif;
}

.outpatient-schedule__referral {
    color: var(--color-gray-5);
    font: 400 1rem/1.2 Roboto, Arial, sans-serif;
    white-space: nowrap;
}

.outpatient-schedule__location + .outpatient-schedule__location {
    margin-top: 1.625rem;
}

.article-placeholder .outpatient-schedule__location-title {
    margin: 0 0 0.55rem;
    color: var(--color-gray-5);
    font: 400 1rem/1.25 Roboto, Arial, sans-serif;
}

.outpatient-schedule__location-label {
    color: var(--color-purple);
    font-family: "Arial Black", Arial, sans-serif;
    font-weight: 900;
}

.outpatient-schedule__doctor + .outpatient-schedule__doctor {
    margin-top: 1.25rem;
}

.article-placeholder .outpatient-schedule__doctor-name {
    margin: 0;
}

.article-placeholder a.outpatient-schedule__doctor-link {
    color: var(--color-link-blue);
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1.125rem;
    line-height: 1.2;
    font-weight: 900;
    text-decoration: none;
}

    .article-placeholder a.outpatient-schedule__doctor-link:hover,
    .article-placeholder a.outpatient-schedule__doctor-link:focus-visible {
        color: var(--color-purple);
        text-decoration: underline;
    }

.article-placeholder .outpatient-schedule__hours {
    margin: 0;
    color: var(--color-gray-5);
    font: 400 1rem/1.25 Roboto, Arial, sans-serif;
}

.outpatient-schedule__hours strong {
    font-weight: 700;
}

.article-placeholder .outpatient-schedule__notice {
    margin: 1.5rem 0 0;
}

    .article-placeholder .outpatient-schedule__notice a {
        color: inherit;
        text-decoration: none;
    }

        .article-placeholder .outpatient-schedule__notice a:hover,
        .article-placeholder .outpatient-schedule__notice a:focus-visible {
            color: var(--color-link-blue);
            text-decoration: underline;
        }



/* =========================
   TABLET / SZŰKEBB DESKTOP
========================= */
@media (max-width: 1270px) {
    .mandatory-logos__right img {
        max-width: min(22rem, 34vw);
    }
}

@media (max-width: 1200px) {
    .mandatory-logos {
        padding-top: 1.9rem;
        min-height: 0;
    }

    .mandatory-logos__inner {
        align-items: flex-start;
        flex-direction: column;
        min-height: 0;
        padding: 0 0 1rem;
    }

    .mandatory-logos__left {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .mandatory-logos__right {
        position: static;
        width: 100%;
        margin-top: 1rem;
        display: flex;
        justify-content: flex-end;
        align-self: stretch;
    }

        .mandatory-logos__right img {
            max-width: min(22rem, 38vw);
        }
}

@media (max-width: 1100px) {
    .content-layout--sidebar {
        grid-template-columns: 1fr;
        row-gap: 3.6rem;
    }

    .outpatient-list__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 2.4rem;
        row-gap: 2.4rem;
    }

    .specialties-band__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 1.8rem;
    }

    .specialties-band__list--offset {
        margin-top: 0;
    }

    .leadership-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}




@media (max-width: 960px) {
    .menu--desktop {
        gap: 0.25rem;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .menu__link,
    .menu__trigger {
        min-height: 2.8rem;
        padding-inline: 0.5rem;
    }

    .site-footer__menu {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* =========================
   MOBIL
========================= */
@media (max-width: 767px) {
    .container-narrow {
        width: min(calc(100% - 2rem), var(--container-width));
    }

    .branding-wrap {
        padding-top: 1rem;
        padding-bottom: 0.8rem;
    }

    .mobile-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .brand__logo {
        width: min(100%, 240px);
    }

    .brand__subtitle {
        font-size: 1rem;
    }

    .primary-nav {
        display: none;
    }

    .hero,
    .hero__image {
        min-height: auto;
    }

    .hero__image {
        aspect-ratio: 1 / 1;
        object-fit: contain;
        background: var(--color-white);
    }

    .hero__inner {
        display: none;
    }

    .accent-bar {
        height: 2.8rem;
    }

    .quick-links__grid,
    .cards-grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .quick-card {
        min-height: 0;
    }

    .section-title {
        font-size: 2.25rem;
    }

    .site-footer__menu {
        display: none;
    }

    .facebook-follow {
        padding-top: 1.5rem;
    }

    .mandatory-logos {
        min-height: 0;
    }

    .mandatory-logos__inner {
        width: min(calc(100% - 2rem), 1000px);
        min-height: 0;
        padding: 0 0 1rem;
    }

    .mandatory-logos__left {
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1rem;
    }

        .mandatory-logos__left img {
            min-height: 70px;
            max-height: 90px;
        }

    .mandatory-logos__right {
        position: static;
        width: 100%;
        margin-top: 1rem;
        display: flex;
        justify-content: flex-end;
        align-self: stretch;
    }

        .mandatory-logos__right img {
            width: 60%;
            max-width: none;
            height: auto;
        }

    .internal-topbar {
        top: 0;
    }

    .internal-topbar__inner {
        justify-content: flex-start;
    }

    .internal-topbar__statement {
        display: none;
    }

    .internal-search {
        width: 100%;
    }

        .internal-search input {
            flex: 1 1 auto;
            min-width: 0;
        }

    .internal-main {
        padding: 1.8rem 0 2.5rem;
    }

    .content-layout--sidebar {
        grid-template-columns: 1fr;
        row-gap: 3.6rem;
    }

    .article-placeholder h4 {
        margin-left: 0;
    }

    .doctor-search-form {
        width: 100%;
        margin-top: 1.8rem;
    }

    .doctor-search-form__group {
        margin-bottom: 1.6rem;
    }

        .doctor-search-form__group input,
        .doctor-search-form__group select {
            min-height: 2.5rem;
        }

    .doctor-search-form__submit {
        width: 100%;
        min-height: 2.8rem;
    }

    .doctor-search-results {
        margin-top: 2rem;
    }

    .doctor-search-results__criteria {
        margin-bottom: 2.4rem;
    }

    .doctor-search-results__items li {
        margin-bottom: 0 !important;
    }

    .magazine-list__item {
        margin-bottom: 2.5rem;
    }

    .magazine-list__title {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .magazine-list__content {
        display: block;
    }

    .magazine-list__image-wrap {
        max-width: 100%;
        margin-bottom: 1rem;
    }

    .outpatient-list {
        margin-top: 1.6rem;
    }

    .outpatient-list__grid {
        grid-template-columns: 1fr;
        row-gap: 2rem;
    }

    .outpatient-list__group-title {
        margin-bottom: 0.9rem !important;
    }

    .outpatient-list__group-list li {
        font-size: 16px !important;
        margin-bottom: 0.5rem !important;
    }

        .outpatient-list__group-list li::before {
            top: 0.35em !important;
        }

    .staff-profile__header {
        display: block;
    }

    .staff-profile__image-wrap {
        width: 100%;
        max-width: 220px;
        margin-bottom: 1rem;
    }

    .staff-profile__meta {
        padding-top: 0;
    }

    .staff-profile__bio {
        margin-top: 1.4rem;
    }

    .hospital-map__figure {
        margin-bottom: 1.6rem;
    }

    .hospital-map__buildings {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .hospital-map__building {
        margin-bottom: 1.5rem;
    }

    .specialties-band {
        padding: 1.6rem 0 1.8rem;
    }

    .specialties-band__inner h1 {
        margin-bottom: 1.5rem;
    }

    .specialties-band__grid {
        grid-template-columns: 1fr;
        row-gap: 1.7rem;
    }

    .specialties-band__group-title {
        font-size: 18px !important;
    }

    .specialties-band__subgroup-title {
        font-size: 16px !important;
    }

    .specialties-band__column-block + .specialties-band__column-block {
        margin-top: 1.7rem;
    }

    .specialties-band__subgroup {
        margin-bottom: 1.2rem;
    }

    .leadership-page .leadership-section + .leadership-section {
        margin-top: 2.6rem;
    }

    .leadership-page h1 + .leadership-section h2 {
        margin-top: 2rem;
    }

    .leadership-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.4rem;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .article-placeholder .outpatient-schedule__service-name {
        font-size: 1.375rem;
        line-height: 1.25;
    }

    .outpatient-schedule__location + .outpatient-schedule__location {
        margin-top: 1.5rem;
    }

    .outpatient-schedule__doctor + .outpatient-schedule__doctor {
        margin-top: 1.15rem;
    }

    .article-placeholder .outpatient-schedule__notice {
        margin-top: 2.0rem;
    }
}


@media (max-width: 520px) {
    .leadership-grid {
        grid-template-columns: 1fr;
    }

    .leadership-card__image,
    .leadership-card__image--empty {
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 420px) {
    .brand__logo {
        width: min(100%, 220px);
    }

    .internal-search button {
        padding-inline: 0.5rem;
        font-size: 0.94rem;
    }

    .magazine-list__title {
        font-size: 1.8rem;
    }

    .staff-profile__image-wrap {
        max-width: 180px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   CSÖKKENTETT MOZGÁS
========================= */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

.article-figure .video-container_html5 {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    background: #000000;
    object-fit: cover;
}

/* =========================
   LAPOZÁS
========================= */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2.5rem;
    flex-wrap: wrap;
}

.pagination__list {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

    .pagination__list li {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

        .pagination__list li::before,
        .pagination__list li::after {
            content: none !important;
            display: none !important;
        }

.pagination__link,
.pagination__arrow {
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.5rem;
    color: var(--color-gray-1) !important;
    font: 700 1rem/1 Roboto, Arial, sans-serif;
    text-decoration: none !important;
    border: 1px solid var(--color-gray-2);
    background: var(--color-white);
    transition: all 0.2s ease;
    box-sizing: border-box;
}

    .pagination__link:hover,
    .pagination__link:focus-visible,
    .pagination__arrow:hover,
    .pagination__arrow:focus-visible {
        color: var(--color-white) !important;
        background: var(--color-purple);
        border-color: var(--color-purple);
        text-decoration: none !important;
    }

.pagination__link--current {
    color: var(--color-white) !important;
    background: var(--color-purple);
    border-color: var(--color-purple);
    pointer-events: none;
    text-decoration: none !important;
}

.pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: var(--color-gray-3);
    font-weight: 700;
}

.pagination__arrow--disabled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: var(--color-gray-6) !important;
    border: 1px solid var(--color-gray-6);
    background: var(--color-white);
    pointer-events: none;
}

.pagination__link:focus-visible,
.pagination__arrow:focus-visible {
    outline: var(--focus-ring);
    outline-offset: 0.1rem;
}

/* =========================
   MOBIL LAPOZÁS
========================= */
@media (max-width: 767px) {
    .pagination {
        gap: 0.25rem;
    }

    .pagination__list {
        gap: 0.1rem;
    }

    .pagination__link,
    .pagination__arrow {
        min-width: 40px;
    }
}
