:root {
    --sm-gold: #b58e4f;
    --sm-gold-hover: #9e7a42;
    --sm-gold-soft: #c9a56a;
    --sm-charcoal: #2c2c2c;
    --sm-charcoal-dark: #1f1f1f;
    --sm-charcoal-soft: #3a3a3a;
    --sm-bg: #ffffff;
    --sm-bg-alt: #f6f3ee;
    --sm-card: #ffffff;
    --sm-text: #1a1a1a;
    --sm-text-muted: #6b6b6b;
    --sm-border: #e6e1d8;
    --sm-icon-bg: #f4eee6;
    --sm-footer-bg: #2c2c2c;
    --sm-primary: #2c2c2c;
    --sm-primary-dark: #1f1f1f;
    --sm-accent: #b58e4f;
    --sm-sage: #8a8175;
    --sm-anchor-offset: 188px;
    --sm-serif: "Playfair Display", Georgia, "Times New Roman", serif;
    --sm-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
    --sm-radius: 0.15rem;
    --sm-shadow: 0 10px 28px rgba(28, 28, 28, 0.08);
    --sm-suti-pad: 0px;
}

html {
    scroll-padding-top: var(--sm-anchor-offset);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body.sm-body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--sm-bg);
    color: var(--sm-text);
    font-family: var(--sm-sans);
    -webkit-font-smoothing: antialiased;
    padding-bottom: var(--sm-suti-pad);
}

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

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: var(--sm-gold);
}

.sm-main {
    flex: 1 0 auto;
}

.sm-section {
    padding: 4.5rem 0;
}

.sm-section--alt {
    background: var(--sm-bg-alt);
}

.sm-section__head {
    text-align: center;
    max-width: 42rem;
    margin: 0 auto 2.5rem;
}

.sm-section__title {
    font-family: var(--sm-serif);
    font-weight: 600;
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
    line-height: 1.2;
    color: var(--sm-charcoal);
    margin: 0 0 0.75rem;
}

.sm-section__lead {
    margin: 0;
    color: var(--sm-text-muted);
    font-size: 1.05rem;
    line-height: 1.6;
}

.sm-section__cta {
    margin-top: 2rem;
    text-align: center;
}

.sm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.7rem 1.45rem;
    border: 1px solid transparent;
    border-radius: var(--sm-radius);
    font-family: var(--sm-sans);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.sm-btn:hover,
.sm-btn:focus {
    color: #fff;
}

.sm-btn--gold {
    background: var(--sm-gold);
    border-color: var(--sm-gold);
    color: #fff;
}

.sm-btn--gold:hover,
.sm-btn--gold:focus {
    background: var(--sm-gold-hover);
    border-color: var(--sm-gold-hover);
    color: #fff;
}

.sm-btn--gold-outline {
    background: transparent;
    border-color: var(--sm-gold);
    color: var(--sm-gold);
}

.sm-btn--gold-outline:hover,
.sm-btn--gold-outline:focus {
    background: var(--sm-gold);
    color: #fff;
}

.sm-btn--outline {
    background: #fff;
    border-color: var(--sm-border);
    color: var(--sm-charcoal);
}

.sm-btn--outline:hover,
.sm-btn--outline:focus {
    border-color: var(--sm-gold);
    color: var(--sm-gold);
    background: #fff;
}

.sm-btn--ghost {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.45);
    color: #fff;
}

.sm-btn--ghost:hover,
.sm-btn--ghost:focus {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.sm-btn--on-dark {
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff;
}

.sm-btn--lg {
    padding: 0.85rem 1.8rem;
    font-size: 0.82rem;
}

.sm-btn--sentence {
    text-transform: none;
    letter-spacing: 0.02em;
}

button.sm-btn {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    font-family: inherit;
}

.sm-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: #fff;
    box-shadow: 0 1px 0 var(--sm-border);
}

.sm-szallag {
    background: linear-gradient(180deg, #d8b56e 0%, var(--sm-gold-soft) 42%, var(--sm-gold) 100%);
    color: #fff;
    border-bottom: 2px solid var(--sm-charcoal-dark);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.sm-szallag[hidden] {
    display: none;
}

.sm-szallag__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    min-height: 3rem;
    padding: 0.55rem 2.6rem 0.55rem 0.25rem;
}

.sm-szallag__szoveg {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
    font-family: var(--sm-sans);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.3;
    text-align: left;
}

.sm-szallag__ikon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    background: var(--sm-charcoal-dark);
    color: #f4eee6;
    font-size: 0.78rem;
}

.sm-szallag__szoveg--mobil {
    display: none;
}

.sm-szallag__gomb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0.42rem 1rem;
    border-radius: var(--sm-radius);
    background: var(--sm-charcoal-dark);
    color: #fff;
    font-family: var(--sm-sans);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
}

.sm-szallag__gomb:hover,
.sm-szallag__gomb:focus {
    background: #000;
    color: #fff;
}

.sm-szallag__close {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background: rgba(31, 31, 31, 0.18);
    color: #fff;
    font-size: 0.85rem;
    line-height: 1;
    cursor: pointer;
}

.sm-szallag__close:hover,
.sm-szallag__close:focus {
    color: #fff;
    background: var(--sm-charcoal-dark);
    border-color: var(--sm-charcoal-dark);
    opacity: 1;
}

.sm-akcio-modal .modal-content {
    border: 0;
    border-radius: 0.35rem;
    overflow: hidden;
    box-shadow: var(--sm-shadow);
}

.sm-akcio-modal__media {
    background: var(--sm-bg-alt);
}

.sm-akcio-modal__media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 16rem;
    object-fit: cover;
}

.sm-akcio-modal .modal-header {
    position: relative;
    align-items: flex-start;
    background: var(--sm-bg-alt);
    border-bottom: 4px solid var(--sm-gold);
    padding: 1.35rem 3.2rem 1.1rem 1.35rem;
}

.sm-akcio-modal .modal-header > div {
    flex: 1 1 auto;
    min-width: 0;
}

.sm-akcio-modal__kicker {
    margin: 0 0 0.25rem;
    color: var(--sm-gold);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sm-akcio-modal .modal-title {
    font-family: var(--sm-serif);
    font-size: 1.55rem;
    font-weight: 600;
    color: var(--sm-charcoal);
    margin: 0;
}

.sm-akcio-modal__close {
    position: absolute;
    top: 1.1rem;
    right: 1rem;
    width: 2.1rem;
    height: 2.1rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--sm-charcoal);
    font-size: 1.1rem;
    line-height: 1;
    opacity: 0.7;
}

.sm-akcio-modal__close:hover,
.sm-akcio-modal__close:focus {
    color: var(--sm-gold);
    opacity: 1;
}

.sm-akcio-modal .modal-body {
    padding: 1.35rem 1.35rem 1.5rem;
}

.sm-akcio-modal__szoveg {
    color: var(--sm-text);
    font-size: 1rem;
    line-height: 1.65;
}

.sm-akcio-modal__szoveg p:first-child {
    margin-top: 0;
}

.sm-akcio-modal__szoveg p:last-child {
    margin-bottom: 0;
}

.sm-akcio-modal__szoveg a {
    color: var(--sm-gold);
    text-decoration: underline;
}

.sm-akcio-modal__gomb {
    margin-top: 1.15rem;
}

.sm-kapcsolat-urlap {
    scroll-margin-top: var(--sm-anchor-offset);
}

.sm-header__top {
    background: #111;
    color: #fff;
    font-size: 0.9rem;
}

.sm-header__top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 2.7rem;
}

.sm-header__usps {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sm-header__usp {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #fff;
    white-space: nowrap;
}

.sm-header__usp .bi {
    color: var(--sm-gold);
    font-size: 1.05rem;
}

.sm-header__top-right {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    margin-left: auto;
    flex-shrink: 0;
}

.sm-header__tools {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.sm-header__tools a,
.sm-header__search-toggle {
    color: #fff;
    font-size: 1.12rem;
    line-height: 1;
}

.sm-header__tools a:hover,
.sm-header__tools a:focus,
.sm-header__search-toggle:hover,
.sm-header__search-toggle:focus {
    color: var(--sm-gold);
}

.sm-header__search {
    display: flex;
    align-items: center;
}

.sm-header__search.is-open {
    z-index: 1080;
}

.sm-header__search-form {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.sm-header__search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.sm-header__search-input {
    width: 0;
    min-width: 0;
    opacity: 0;
    padding: 0;
    border: 1px solid transparent;
    background: transparent;
    color: #fff;
    font-family: var(--sm-sans);
    font-size: 0.82rem;
    line-height: 1.2;
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
    transition: width 0.28s ease, opacity 0.2s ease, padding 0.28s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.sm-header__search.is-open .sm-header__search-input {
    width: 13.5rem;
    opacity: 1;
    padding: 0.28rem 0.7rem;
    border-color: rgba(181, 142, 79, 0.75);
    background: rgba(255, 255, 255, 0.08);
    border-radius: 0.3rem;
    pointer-events: auto;
}

.sm-header__search-input:focus {
    outline: 0;
    border-color: var(--sm-gold);
}

.sm-header__search-input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.sm-header__search-drop {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    width: min(22rem, 86vw);
    z-index: 1080;
    background: #fff;
    border: 1px solid var(--sm-border);
    border-radius: var(--sm-radius);
    box-shadow: var(--sm-shadow);
    overflow: hidden;
}

.sm-header__search-list {
    list-style: none;
    margin: 0;
    padding: 0.3rem 0;
}

.sm-header__search-list a {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    padding: 0.5rem 0.9rem;
    color: var(--sm-charcoal);
    text-decoration: none;
}

.sm-header__search-list a:hover,
.sm-header__search-list a:focus {
    background: var(--sm-bg-alt);
    color: var(--sm-charcoal);
}

.sm-header__search-list-cim {
    font-family: var(--sm-serif);
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.3;
}

.sm-header__search-list-tipus {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sm-gold);
}

.sm-header__search-ures {
    margin: 0;
    padding: 0.7rem 0.9rem 0.4rem;
    color: var(--sm-text-muted);
    font-size: 0.85rem;
}

.sm-header__search-mind {
    display: block;
    padding: 0.55rem 0.9rem;
    border-top: 1px solid var(--sm-border);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--sm-gold);
    text-decoration: none;
}

.sm-header__search-mind:hover,
.sm-header__search-mind:focus {
    color: var(--sm-gold-hover);
    background: var(--sm-bg-alt);
}

.sm-lang__list {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sm-lang__item {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.sm-lang__link {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.62);
}

.sm-lang__link.is-active,
.sm-lang__link:hover {
    color: var(--sm-gold);
}

.sm-lang__sep {
    color: rgba(255, 255, 255, 0.32);
}

.sm-header__body {
    position: relative;
    background: #fff;
}

.sm-header__brand-inner {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 1.25rem;
    min-height: 5.35rem;
    padding: 0.7rem 0;
}

.sm-header__logo {
    flex-shrink: 0;
    line-height: 0;
}

.sm-header__logo img {
    height: 62px;
    width: auto;
}

.sm-header__cta {
    margin-left: auto;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
}

.sm-header__cta .sm-btn {
    border-radius: 0.35rem;
}

.sm-header__cta .sm-btn--outline {
    box-shadow: 0 2px 8px rgba(28, 28, 28, 0.08);
}

.sm-header__toggler {
    display: none;
    margin-left: auto;
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    color: var(--sm-charcoal);
    font-size: 1.7rem;
    line-height: 1;
}

.sm-nav {
    background: #fff;
    --bs-nav-link-color: var(--sm-charcoal);
    --bs-nav-link-hover-color: var(--sm-gold);
    --bs-navbar-active-color: var(--sm-gold);
    --bs-navbar-hover-color: var(--sm-gold);
    --bs-dropdown-link-active-bg: var(--sm-bg-alt);
    --bs-dropdown-link-active-color: var(--sm-gold);
    --bs-focus-ring-color: rgba(181, 142, 79, 0.35);
}

.sm-nav__list {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 0.1rem;
}

.sm-nav .nav-link {
    color: var(--sm-charcoal);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    padding: 0.4rem 0.85rem 0.9rem;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
}

.sm-nav .nav-link:hover,
.sm-nav .nav-link.active,
.sm-nav .nav-link.show,
.sm-nav .nav-link:focus,
.sm-nav .nav-link:focus-visible,
.sm-nav .nav-link:active,
.sm-nav__dropdown.is-active > .nav-link {
    color: var(--sm-gold);
    background-color: transparent;
    box-shadow: none;
}

.sm-nav .nav-link:focus,
.sm-nav .nav-link:focus-visible {
    outline: none;
}

.sm-nav .dropdown-toggle::after {
    margin-left: 0.35rem;
    vertical-align: 0.18em;
}

.sm-nav__menu {
    border: 1px solid var(--sm-border);
    border-radius: var(--sm-radius);
    box-shadow: var(--sm-shadow);
    max-height: 70vh;
    overflow-y: auto;
}

.sm-nav__menu .dropdown-item {
    font-size: 0.9rem;
    -webkit-tap-highlight-color: transparent;
}

.sm-nav__menu .dropdown-item:hover,
.sm-nav__menu .dropdown-item:focus,
.sm-nav__menu .dropdown-item:focus-visible,
.sm-nav__menu .dropdown-item:active,
.sm-nav__menu .dropdown-item.active {
    color: var(--sm-gold);
    background-color: var(--sm-bg-alt);
    box-shadow: none;
    outline: none;
}

.sm-nav__actions {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1rem 0 0.25rem;
}

.sm-nav__actions .sm-btn {
    border-radius: 0.35rem;
}

.sm-hero {
    position: relative;
    min-height: clamp(420px, 62vh, 620px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--sm-bg-alt);
}

.sm-hero__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.sm-hero__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.9s ease;
}

.sm-hero__slide.is-active {
    opacity: 1;
    z-index: 1;
}

.sm-hero__media picture,
.sm-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    transform: scale(1);
}

.sm-hero__slide.is-active img {
    animation: sm-hero-kenburns 5s ease-out forwards;
}

@keyframes sm-hero-kenburns {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.07);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sm-hero__slide {
        transition: none;
    }

    .sm-hero__slide.is-active img {
        animation: none;
        transform: none;
    }

    .sm-search-card,
    .sm-search-card__icon,
    .sm-search-card__title,
    .sm-szak-card,
    .sm-szak-card__icon,
    .sm-szak-card__title {
        transition: none;
    }

    .sm-search-card:hover,
    .sm-search-card:focus-visible {
        transform: none;
    }

    .sm-search-card:hover .sm-search-card__icon,
    .sm-search-card:focus-visible .sm-search-card__icon {
        transform: none;
    }

    .sm-szak-card:hover,
    .sm-szak-card:focus-within {
        transform: none;
    }

    .sm-szak-card:hover .sm-szak-card__icon,
    .sm-szak-card:focus-within .sm-szak-card__icon {
        transform: none;
    }

    .sm-to-top {
        transition: none;
        transform: none;
    }
}

.sm-hero .container {
    position: relative;
    z-index: 2;
}

.sm-hero__veil {
    position: absolute;
    inset: 0 auto 0 0;
    width: min(58%, 48rem);
    background: linear-gradient(90deg, #fff 0%, #fff 58%, rgba(255, 255, 255, 0.72) 78%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 1;
}

.sm-hero__copy {
    max-width: 36rem;
    padding: 3.5rem 0;
}

.sm-hero__kicker {
    display: inline-block;
    margin: 0 0 0.95rem;
    padding: 0.38rem 0.95rem;
    background: var(--sm-charcoal);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    border-radius: 999px;
}

.sm-hero__title {
    font-family: var(--sm-serif);
    font-weight: 600;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 1.15;
    color: var(--sm-charcoal);
    margin: 0 0 0.75rem;
}

.sm-hero__subtitle {
    font-family: var(--sm-serif);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    color: var(--sm-gold);
    margin: 0 0 1.5rem;
}

.sm-hero__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
}

.sm-hero__cta {
    border-radius: 0.35rem;
}

.sm-hero__note {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: var(--sm-text);
    font-size: 0.95rem;
}

.sm-hero__note .bi {
    color: var(--sm-text);
    font-size: 1.05rem;
}

.sm-slider {
    position: relative;
    background: var(--sm-bg-alt);
}

.sm-slider__viewport {
    overflow: hidden;
    background: var(--sm-bg-alt);
    padding: 0.55rem 0 0.85rem;
}

.sm-slider__track {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 0;
    background: transparent;
}

.sm-slider[data-sm-slider-auto="1"] .sm-slider__track {
    overflow: visible;
    scroll-snap-type: none;
    width: max-content;
}

.sm-slider__track::-webkit-scrollbar {
    display: none;
}

.sm-szakok {
    background: var(--sm-bg-alt);
}

.sm-szak-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    flex: 0 0 min(340px, 86vw);
    scroll-snap-align: start;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    padding: 1.15rem 1.25rem;
    box-shadow: none;
    color: var(--sm-charcoal);
    text-decoration: none;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

a.sm-szak-card,
a.sm-szak-card:hover,
a.sm-szak-card:focus,
a.sm-szak-card:visited {
    color: inherit;
    text-decoration: none;
}

.sm-szak-card:hover,
.sm-szak-card:focus-within {
    transform: translateY(-4px);
    border-color: var(--sm-gold);
    box-shadow: 0 12px 24px rgba(181, 142, 79, 0.14);
    z-index: 2;
}

.sm-szak-card__icon {
    flex-shrink: 0;
    width: 3.6rem;
    height: 3.6rem;
    min-width: 3.6rem;
    min-height: 3.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: var(--sm-gold);
    font-size: 1.85rem;
    line-height: 1;
    transition: transform 0.28s ease;
}

.sm-szak-card:hover .sm-szak-card__icon,
.sm-szak-card:focus-within .sm-szak-card__icon {
    transform: scale(1.04);
}

.sm-szak-card__icon img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.sm-szak-card__icon .bi {
    font-size: 2.1rem;
    line-height: 1;
}

.sm-szak-card__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
}

.sm-szak-card__title {
    font-family: var(--sm-serif);
    font-size: 1.2rem;
    line-height: 1.25;
    margin: 0;
    transition: color 0.28s ease;
}

.sm-szak-card:hover .sm-szak-card__title,
.sm-szak-card:focus-within .sm-szak-card__title {
    color: var(--sm-gold);
}

.sm-szak-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--sm-gold);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sm-szak-card--grid {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 100%;
    align-items: center;
}

.sm-szak-card__meta {
    margin: 0;
    font-size: 0.82rem;
    color: var(--sm-text-muted);
    line-height: 1.35;
}

.sm-szakok__mind {
    border-radius: 0.35rem;
}

.sm-slider__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.sm-slider__btn {
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--sm-border);
    background: #fff;
    color: var(--sm-charcoal);
    border-radius: 50%;
}

.sm-slider__dots {
    display: flex;
    gap: 0.4rem;
}

.sm-slider__dot {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d8d0c4;
}

.sm-slider__dot.is-active {
    background: var(--sm-gold);
}

.sm-cta-bar {
    background: var(--sm-charcoal);
    color: #fff;
    padding: 2.85rem 0;
}

.sm-cta-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.sm-cta-bar__text {
    display: flex;
    align-items: center;
    gap: 1.1rem;
}

.sm-cta-bar__text .bi {
    font-size: 2.35rem;
    color: #fff;
    line-height: 1;
}

.sm-cta-bar__copy {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.sm-cta-bar__title {
    margin: 0;
    font-family: var(--sm-serif);
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    font-weight: 600;
    color: #fff;
    line-height: 1.25;
}

.sm-cta-bar__lead {
    margin: 0;
    font-family: var(--sm-sans);
    font-size: 0.98rem;
    font-weight: 400;
    color: #fff;
    line-height: 1.45;
}

.sm-cta-bar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.sm-cta-bar .sm-btn {
    border-radius: 0.35rem;
}

.sm-cta-bar .sm-btn--ghost {
    border-color: var(--sm-gold);
    color: #fff;
}

.sm-cta-bar .sm-btn--ghost:hover,
.sm-cta-bar .sm-btn--ghost:focus {
    background: var(--sm-gold);
    border-color: var(--sm-gold);
    color: #fff;
}

.sm-section.sm-stats {
    --sm-stats-line-inset: 50px;
    position: relative;
    background: var(--sm-bg-alt);
    padding: calc(50px + 2.5rem) 0;
    border: 0;
}

.sm-section.sm-stats::before,
.sm-section.sm-stats::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--sm-gold);
    pointer-events: none;
}

.sm-section.sm-stats::before {
    top: var(--sm-stats-line-inset);
}

.sm-section.sm-stats::after {
    bottom: var(--sm-stats-line-inset);
}

.sm-stats__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2.25rem 4.75rem;
}

.sm-stat {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.95rem;
}

.sm-stat__icon {
    flex: 0 0 auto;
    color: var(--sm-gold);
    font-size: 2.45rem;
    line-height: 1;
}

.sm-stat__copy {
    min-width: 0;
    text-align: center;
}

.sm-stat__value {
    font-family: var(--sm-serif);
    font-size: clamp(2.35rem, 3.6vw, 3.15rem);
    font-weight: 700;
    line-height: 1;
    margin: 0 0 0.2rem;
    color: var(--sm-charcoal);
    font-variant-numeric: tabular-nums;
}

.sm-stat__label {
    margin: 0;
    font-family: var(--sm-serif);
    font-size: 1.05rem;
    line-height: 1.2;
    color: var(--sm-charcoal);
    letter-spacing: 0.01em;
    text-transform: lowercase;
}

@media (max-width: 767.98px) {
    .sm-stats__row {
        flex-direction: column;
        align-items: stretch;
        width: max-content;
        max-width: 100%;
        margin-inline: auto;
        gap: 1.75rem;
    }

    .sm-stat {
        display: grid;
        grid-template-columns: 2.6rem auto;
        column-gap: 0.95rem;
        align-items: center;
        justify-content: start;
    }

    .sm-stat__icon {
        width: 2.6rem;
        text-align: center;
        font-size: 2.2rem;
    }

    .sm-stat__copy {
        text-align: left;
    }
}

.sm-section.sm-search {
    background: var(--sm-bg-alt);
}

.sm-search .sm-section__head {
    max-width: 46rem;
}

.sm-search__kicker {
    margin: 0 0 0.55rem;
    font-family: var(--sm-serif);
    font-size: 1.08rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--sm-gold);
}

.sm-search__form {
    display: flex;
    max-width: 42rem;
    margin: 0 auto 2.25rem;
    gap: 0.55rem;
    background: transparent;
    border: 0;
    overflow: visible;
}

.sm-search__input {
    flex: 1 1 auto;
    border: 1px solid var(--sm-border);
    border-radius: 0.35rem;
    box-shadow: none;
    background: #fff;
    padding: 0.85rem 1.1rem;
}

.sm-search__input:focus {
    border-color: var(--sm-gold);
    box-shadow: none;
}

.sm-search__form .sm-btn {
    border-radius: 0.35rem;
    flex: 0 0 auto;
}

.sm-search__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
}

.sm-search__grid[aria-busy="true"] {
    opacity: 0.65;
}

.sm-search-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    padding: 1.5rem 0.95rem;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    text-align: center;
    color: var(--sm-charcoal);
    min-height: 9.5rem;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.sm-search-card:hover,
.sm-search-card:focus-visible {
    color: var(--sm-charcoal);
    transform: translateY(-4px);
    border-color: var(--sm-gold);
    box-shadow: 0 12px 24px rgba(181, 142, 79, 0.14);
    outline: none;
}

.sm-search-card__icon {
    width: 4.6rem;
    height: 4.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sm-gold);
    font-size: 1.7rem;
    transition: transform 0.28s ease;
}

.sm-search-card:hover .sm-search-card__icon,
.sm-search-card:focus-visible .sm-search-card__icon {
    transform: scale(1.04);
}

.sm-search-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sm-search-card__title {
    font-family: var(--sm-serif);
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.28s ease;
}

.sm-search-card:hover .sm-search-card__title,
.sm-search-card:focus-visible .sm-search-card__title {
    color: var(--sm-gold);
}

.sm-panasz__icon {
    width: 4.75rem;
    height: 4.75rem;
    margin: 0 0 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sm-icon-bg);
    border: 1.5px solid var(--sm-gold);
    border-radius: 50%;
    color: var(--sm-gold);
    font-size: 1.7rem;
}

.sm-panasz__icon img {
    width: 2.65rem;
    height: 2.65rem;
    object-fit: contain;
}

/* Panasz adatlap: orvos-adatlaphoz hasonló kétoszlopos elrendezés. */
.sm-panasz {
    padding: 2rem 0 4.5rem;
    background: var(--sm-bg-alt);
}

.sm-panasz .sm-breadcrumb {
    padding-top: 0;
}

.sm-panasz__oldalfej {
    margin-bottom: 0.35rem;
}

.sm-panasz__kicker {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sm-gold);
}

.sm-panasz h1 {
    margin: 0 0 0.95rem;
    font-family: var(--sm-serif);
    font-size: clamp(1.7rem, 2.6vw, 2.35rem);
    font-weight: 600;
    line-height: 1.2;
    color: var(--sm-charcoal);
}

.sm-panasz__cimkek {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.45rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sm-panasz__cimke {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.7rem;
    border: 1px solid var(--sm-border);
    border-radius: 2rem;
    background: #fff;
    color: var(--sm-charcoal);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
}

.sm-panasz__cimke:hover,
.sm-panasz__cimke:focus {
    border-color: var(--sm-gold);
    color: var(--sm-gold);
    background: #fff;
}

.sm-panasz__szakok {
    margin-top: 1.5rem;
}

.sm-panasz__szakok h2 {
    margin: 0 0 0.65rem;
    font-family: var(--sm-serif);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-panasz__szaklista {
    margin: 0;
    padding: 0;
}

.sm-panasz__szaklista li {
    position: relative;
    padding: 0.35rem 0 0.35rem 1.35rem;
    border-bottom: 1px solid var(--sm-border);
    color: var(--sm-charcoal);
}

.sm-panasz__szaklista li:last-child {
    border-bottom: 0;
}

.sm-panasz__szaklista li::before {
    content: "";
    position: absolute;
    left: 0.12rem;
    top: 0.75rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--sm-gold);
}

.sm-panasz__szaklista a {
    color: inherit;
}

.sm-panasz__szaklista a:hover,
.sm-panasz__szaklista a:focus {
    color: var(--sm-gold);
}

.sm-panasz__tartalom {
    max-width: none;
    margin: 0;
}

.sm-panasz__tartalom > :first-child {
    margin-top: 0;
}

.sm-panasz__tartalom > :last-child {
    margin-bottom: 0;
}

.sm-panasz__tartalom h2,
.sm-panasz__tartalom h3 {
    font-family: var(--sm-serif);
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-panasz__tartalom ul,
.sm-panasz__tartalom ol {
    padding-left: 1.15rem;
}

.sm-panasz__tartalom li {
    margin-bottom: 0.35rem;
}

.sm-panasz__tartalom ul.sm-cms-list,
.sm-panasz__tartalom ol.sm-cms-list {
    padding-left: 0;
}

.sm-panasz__tartalom ul.sm-cms-list > li {
    margin-bottom: 0;
}

.sm-panasz__muveletek {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.7rem;
    margin-top: 1.85rem;
    padding-top: 1.45rem;
    border-top: 1px solid var(--sm-border);
}

.sm-panasz__vissza {
    margin: 1rem 0 0;
    text-align: left;
}

.sm-panasz__vissza a {
    color: var(--sm-text-muted);
    font-size: 0.9rem;
    text-decoration: none;
}

.sm-panasz__vissza a:hover,
.sm-panasz__vissza a:focus {
    color: var(--sm-gold);
    text-decoration: underline;
}

@media (min-width: 768px) {
    .sm-panasz {
        padding-bottom: 5.25rem;
    }
}

@media (max-width: 575.98px) {
    .sm-panasz__muveletek {
        flex-direction: column;
        align-items: stretch;
    }

    .sm-panasz__muveletek .sm-btn {
        width: 100%;
    }
}

.sm-search__empty {
    grid-column: 1 / -1;
    margin: 0.5rem 0 0;
    text-align: center;
    color: var(--sm-text-muted);
}

.sm-search__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.7rem;
    margin-top: 2rem;
}

.sm-search__actions .sm-btn {
    border-radius: 0.35rem;
}

.sm-search__actions .sm-btn--gold-outline {
    background: #fff;
}

.sm-search__actions .sm-btn--gold-outline:hover,
.sm-search__actions .sm-btn--gold-outline:focus {
    background: var(--sm-gold);
    border-color: var(--sm-gold);
    color: #fff;
}

@media (max-width: 575.98px) {
    .sm-search__form {
        flex-direction: column;
    }
}

.sm-review {
    height: 100%;
    margin: 0;
}

.sm-reviews__grid {
    align-items: stretch;
}

.sm-review__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: center;
    color: inherit;
}

.sm-review__link:hover,
.sm-review__link:focus {
    color: inherit;
}

.sm-review__link:hover .sm-review__name,
.sm-review__link:focus .sm-review__name {
    color: var(--sm-gold);
}

.sm-review__text {
    flex: 1 1 auto;
    font-style: italic;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--sm-text-muted);
    margin: 0 0 1rem;
    min-height: calc(1.55em * 5);
}

.sm-review__link .sm-review__text::before {
    content: '\201E';
}

.sm-review__link .sm-review__text::after {
    content: '\201D';
}

.sm-review .sm-stars {
    display: flex;
    justify-content: center;
    gap: 0.15rem;
    color: var(--sm-gold);
    margin: 0;
}

.sm-review__name {
    font-family: var(--sm-serif);
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--sm-charcoal);
    margin: 0 0 0.55rem;
}

.sm-reviews .sm-section__cta .sm-btn {
    border-radius: 0.35rem;
}

.sm-reviews-page {
    padding: 2.5rem 0 4.5rem;
}

.sm-reviews-page h1 {
    font-family: var(--sm-serif);
    color: var(--sm-charcoal);
    text-align: center;
    margin-bottom: 0.5rem;
}

.sm-review--full {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: center;
    padding: 1.35rem 1.1rem;
    background: var(--sm-bg-alt);
    border-radius: 0.35rem;
    scroll-margin-top: var(--sm-anchor-offset);
}

.sm-review--full .sm-review__text {
    min-height: 0;
    font-style: italic;
}

.sm-review--full .sm-review__text::before {
    content: '\201E';
}

.sm-review--full .sm-review__text::after {
    content: '\201D';
}

.sm-review--full:target {
    outline: 1px solid var(--sm-gold);
    outline-offset: 2px;
}

.sm-clinics {
    background: var(--sm-charcoal);
    padding: 4rem 0;
}

.sm-clinics .sm-section__head {
    margin-bottom: 2rem;
}

.sm-clinics .sm-section__title {
    color: #fff;
    margin-bottom: 0;
}

.sm-clinics__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

.sm-clinics__promo {
    background: var(--sm-charcoal-soft);
    color: #fff;
    padding: 2.25rem 1.75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.sm-clinics__promo h3 {
    font-family: var(--sm-serif);
    font-size: 1.7rem;
    margin: 0 0 0.85rem;
}

.sm-clinics__promo p {
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 1.4rem;
}

.sm-clinic-card {
    background: #fff;
    overflow: hidden;
}

.sm-clinic-card__media {
    aspect-ratio: 4 / 3;
    background: var(--sm-icon-bg);
}

.sm-clinic-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-clinic-card__body {
    padding: 1.15rem 1.2rem 1.35rem;
}

.sm-clinic-card__body h3 {
    font-family: var(--sm-serif);
    font-size: 1.2rem;
    margin: 0 0 0.5rem;
}

.sm-clinic-card__body p {
    margin: 0 0 0.3rem;
    color: var(--sm-text-muted);
    font-size: 0.92rem;
}

.sm-clinic-card__body .bi {
    color: var(--sm-gold);
    margin-right: 0.3rem;
}

.sm-faq__list .accordion-item {
    scroll-margin-top: var(--sm-anchor-offset, 6rem);
    border: 0;
    border-bottom: 1px solid var(--sm-border);
    background: transparent;
}

.sm-faq__list .accordion-button {
    font-weight: 600;
    color: var(--sm-charcoal);
    background: transparent;
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
}

.sm-faq__list .accordion-button:not(.collapsed) {
    color: var(--sm-gold);
    background: transparent;
    box-shadow: none;
}

.sm-faq__list .accordion-button:focus {
    box-shadow: none;
}

.sm-faq__list .accordion-body {
    padding-left: 0;
    color: var(--sm-text-muted);
}

.sm-faq__photo {
    height: 100%;
    min-height: 280px;
    border: 1px solid var(--sm-gold);
    padding: 0.4rem;
}

.sm-faq__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-blog__grid {
    align-items: stretch;
}

.sm-article-card {
    height: 100%;
    background: #fff;
    border: 0;
    border-radius: 0.35rem;
    box-shadow: 0 10px 24px rgba(28, 28, 28, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sm-article-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--sm-icon-bg);
}

.sm-article-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sm-article-card__badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    max-width: calc(100% - 1.5rem);
    padding: 0.32rem 0.7rem;
    background: var(--sm-gold);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.25;
    border-radius: 0.25rem;
}

.sm-article-card__body {
    padding: 1.2rem 1.15rem 1.15rem;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.sm-article-card__title {
    font-family: var(--sm-serif);
    font-size: 1.2rem;
    line-height: 1.3;
    margin: 0 0 0.55rem;
    min-height: calc(1.3em * 3);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sm-article-card__title a {
    color: var(--sm-gold);
}

.sm-article-card__title a:hover {
    color: var(--sm-gold-hover);
}

.sm-article-card__lead {
    color: var(--sm-text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
    margin: 0 0 0.9rem;
    min-height: calc(1.5em * 3);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sm-article-card__more {
    color: var(--sm-gold);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sm-article-card__more:hover {
    color: var(--sm-gold-hover);
}

.sm-article-card__date {
    display: block;
    margin-top: auto;
    padding-top: 0.85rem;
    border-top: 1px solid var(--sm-border);
    color: var(--sm-text-muted);
    font-size: 0.85rem;
}

.sm-blog .sm-section__cta .sm-btn {
    border-radius: 0.35rem;
}

.sm-blog__empty {
    margin: 0 0 0.5rem;
    text-align: center;
    color: var(--sm-text-muted);
}

.sm-newsletter__fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.sm-newsletter__fields .form-control {
    border-radius: var(--sm-radius);
    border-color: var(--sm-border);
    padding: 0.75rem 0.9rem;
}

.sm-newsletter__check {
    margin-bottom: 1rem;
    color: var(--sm-text-muted);
    font-size: 0.875rem;
}

.sm-newsletter__check a {
    color: var(--sm-gold);
    text-decoration: underline;
}

.sm-newsletter__fields .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.sm-newsletter__msg {
    margin: 0.85rem 0 0;
    font-size: 0.9rem;
}

.sm-newsletter__msg.is-ok {
    color: #2f6b3a;
}

.sm-newsletter__msg.is-info {
    color: #1B4342;
}

.sm-newsletter__msg.is-error {
    color: #8a2b2b;
}

.sm-newsletter__form .is-invalid {
    border-color: #8a2b2b;
}

.sm-newsletter__form.is-busy .sm-btn {
    pointer-events: none;
    opacity: 0.75;
}

.sm-newsletter__form.is-done .sm-btn {
    pointer-events: none;
}

.sm-unsubscribe__email {
    font-weight: 600;
    margin: 0.5rem 0 1.25rem;
}

.sm-unsubscribe__form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.sm-unsubscribe__msg {
    font-weight: 600;
}

.sm-unsubscribe__msg.is-ok {
    color: #2f6b3a;
}

.sm-unsubscribe__msg.is-error {
    color: #a33b32;
}

.sm-footer {
    background: var(--sm-footer-bg);
    color: rgba(255, 255, 255, 0.78);
}

.sm-footer a:hover {
    color: var(--sm-gold);
}

.sm-footer__partners {
    padding: 1.5rem 0 1.35rem;
    text-align: center;
}

.sm-footer__partners-logos {
    gap: 0.85rem;
}

.sm-footer__partners-logo {
    display: block;
    width: auto;
    height: 141px;
    max-width: 100%;
    object-fit: contain;
}

.sm-footer__partners-logo--vmcs {
    height: 60px;
}

.sm-footer__partners-link {
    display: inline-block;
    line-height: 0;
}

@media (min-width: 768px) {
    .sm-footer__partners-logos {
        gap: 1.25rem 1.75rem;
    }

    .sm-footer__partners-logo {
        height: 141px;
        max-width: 22rem;
    }

    .sm-footer__partners-logo--vmcs {
        height: 60px;
        max-width: 14rem;
    }
}

.sm-footer__partners-note {
    margin: 1rem 0 0;
    color: #fff;
    font-size: 0.95rem;
    line-height: 1.45;
}

.sm-footer__main {
    padding: 2.5rem 0 2.25rem;
    border-top: 1px solid var(--sm-gold);
    border-bottom: 1px solid var(--sm-gold);
}

.sm-footer__logo {
    display: inline-block;
    margin-bottom: 1.1rem;
}

.sm-footer__logo img {
    height: 54px;
    width: auto;
}

.sm-footer__meta {
    margin: 0 0 0.45rem;
    font-size: 0.9rem;
}

.sm-footer__meta .bi {
    color: var(--sm-gold);
    margin-right: 0.35rem;
}

.sm-footer__social {
    display: flex;
    gap: 0.7rem;
    margin-top: 1rem;
    font-size: 1.15rem;
}

.sm-footer__title {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 1rem;
}

.sm-footer__list,
.sm-footer__clinics {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sm-footer__list li + li,
.sm-footer__clinics li + li {
    margin-top: 0.4rem;
}

.sm-footer__list a {
    font-size: 0.9rem;
}

.sm-footer__clinics li {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.9rem;
}

.sm-footer__clinics strong {
    color: #fff;
}

.sm-footer__docs {
    margin-top: 1.75rem;
}

.sm-footer__docs .sm-footer__title {
    margin-bottom: 0.75rem;
}

.sm-footer__docs a {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    .sm-footer__docs {
        margin-top: 1.4rem;
        padding-top: 1.25rem;
        border-top: 1px solid rgba(181, 142, 79, 0.4);
    }

    .sm-footer__docs .sm-footer__title {
        margin-bottom: 0.35rem;
    }

    .sm-footer__docs .sm-footer__list li + li {
        margin-top: 0;
    }

    .sm-footer__docs .sm-footer__list a {
        display: block;
        padding: 0.55rem 0;
        font-size: 0.95rem;
        line-height: 1.4;
    }
}

.sm-footer__bottom {
    border-top: 0;
    padding: 0.9rem 0;
    font-size: 0.8rem;
}

.sm-footer__bottom p {
    margin: 0;
}

.sm-footer__bottom a {
    color: inherit;
    text-decoration: none;
}

.sm-footer__sep {
    margin: 0 0.45rem;
    opacity: 0.5;
}

.sm-page-hero {
    overflow: hidden;
    background: var(--sm-bg-alt);
}

.sm-page-hero img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 420px;
    object-fit: cover;
    object-position: right center;
}

.sm-page-hero picture {
    display: block;
}

.sm-page-cms {
    padding: 3rem 0 4.5rem;
}

.sm-page-cms h1,
.sm-page-stub h1,
.sm-araink h1,
.sm-munkatarsak h1,
.sm-szakrendeles h1,
.sm-szak-adat h1,
.sm-kapcsolat h1,
.sm-blog-page h1,
.sm-docs h1,
.sm-idopont h1 {
    font-family: var(--sm-serif);
    color: var(--sm-charcoal);
}

.page-cms-content {
    font-size: 1.02rem;
    line-height: 1.7;
    max-width: 48rem;
}

.page-cms-content h2,
.page-cms-content h3 {
    font-family: var(--sm-serif);
    margin-top: 1.75rem;
}

.sm-page-stub {
    padding: 3rem 0 4.5rem;
}

/* 404 hibaképernyő: arany 404, EKG-vonal, hullám a kártya alján. */
.sm-error404 {
    position: relative;
    overflow: hidden;
    padding: 3.5rem 0 5.5rem;
    background: var(--sm-bg-alt);
    text-align: center;
}

.sm-error404__inner {
    position: relative;
    z-index: 1;
    max-width: 36rem;
    margin: 0 auto;
}

.sm-error404__code-wrap {
    position: relative;
    display: inline-block;
    margin: 0 0 1.15rem;
    padding: 0.35rem 0.15rem 0.2rem;
    overflow: hidden;
}

.sm-error404__ekg {
    position: absolute;
    left: -18%;
    top: 50%;
    z-index: 0;
    width: 136%;
    height: 2.6rem;
    color: var(--sm-gold);
    opacity: 0.38;
    pointer-events: none;
    transform: translateY(-50%);
}

.sm-error404__ekg path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sm-error404__code {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: var(--sm-serif);
    font-size: clamp(5.4rem, 16vw, 9.25rem);
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: 0.03em;
    color: var(--sm-gold);
}

.sm-error404 h1 {
    position: relative;
    z-index: 2;
    margin: 0 0 0.85rem;
    font-family: var(--sm-sans);
    font-size: clamp(1.35rem, 2.2vw, 1.7rem);
    font-weight: 600;
    line-height: 1.3;
    color: var(--sm-charcoal);
}

.sm-error404__lead {
    margin: 0 auto 1.85rem;
    max-width: 32rem;
    color: var(--sm-text-muted);
    font-size: 1.02rem;
    line-height: 1.65;
}

.sm-error404__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 0 2.35rem;
}

.sm-error404__actions .sm-btn {
    min-width: 17.5rem;
}

.sm-error404__kapcsolat-cimke {
    margin: 0 0 0.85rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--sm-gold);
}

.sm-error404__kapcsolat ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.55rem;
}

.sm-error404__kapcsolat li {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    color: var(--sm-charcoal);
    font-size: 0.95rem;
    line-height: 1.4;
}

.sm-error404__kapcsolat .bi {
    color: var(--sm-gold);
    font-size: 1.05rem;
}

.sm-error404__kapcsolat a {
    color: var(--sm-charcoal);
}

.sm-error404__kapcsolat a:hover,
.sm-error404__kapcsolat a:focus {
    color: var(--sm-gold);
}

.sm-error404__waves {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 7.5rem;
    pointer-events: none;
}

.sm-error404__waves svg {
    display: block;
    width: 100%;
    height: 100%;
}

.sm-error404__waves path:first-child {
    fill: var(--sm-gold);
    opacity: 0.13;
}

.sm-error404__waves path:last-child {
    fill: var(--sm-gold);
    opacity: 0.07;
}

@media (min-width: 768px) {
    .sm-error404 {
        padding: 4.5rem 0 6.5rem;
    }

    .sm-error404__waves {
        height: 9rem;
    }
}

.sm-blog-grid {
    padding: 3rem 0 4.5rem;
}

.sm-blog-oldal {
    padding: 2.5rem 0 4.5rem;
    background: var(--sm-bg-alt);
}

.sm-blog-oldal__title {
    font-family: var(--sm-serif);
    font-size: clamp(1.7rem, 2.2vw, 2.15rem);
    font-weight: 600;
    color: var(--sm-charcoal);
    margin: 0 0 1.5rem;
}

.sm-blog-oldal__oldalsav {
    padding-top: 0.15rem;
}

.sm-blog-oldal__blokk {
    margin: 0 0 2rem;
}

.sm-blog-oldal__cimke {
    font-family: var(--sm-serif);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--sm-charcoal);
    margin: 0 0 0.85rem;
}

.sm-blog-oldal__mezo {
    border: 1px solid var(--sm-border);
    border-radius: var(--sm-radius);
    background: #fff;
    color: var(--sm-charcoal);
    margin-bottom: 0.65rem;
}

.sm-blog-oldal__mezo:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-blog-oldal__gomb {
    width: 100%;
}

.sm-blog-oldal__lista {
    margin: 0;
    padding: 0;
}

.sm-blog-oldal__lista li + li {
    margin-top: 0.55rem;
}

.sm-blog-oldal__lista a {
    color: var(--sm-gold);
    font-size: 0.95rem;
    line-height: 1.4;
    text-decoration: none;
}

.sm-blog-oldal__lista a:hover,
.sm-blog-oldal__lista a:focus,
.sm-blog-oldal__lista a.is-active {
    color: var(--sm-gold-hover);
    text-decoration: underline;
}

.sm-blog-oldal__ures {
    margin: 0 0 1rem;
    color: var(--sm-text-muted);
}

.sm-blog-oldal__vissza {
    color: var(--sm-gold);
    font-weight: 600;
}

.sm-blog-oldal__vissza:hover,
.sm-blog-oldal__vissza:focus {
    color: var(--sm-gold-hover);
}

.sm-blog-kartya {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sm-blog-kartya__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 0.35rem;
    background: var(--sm-icon-bg);
}

.sm-blog-kartya__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-blog-kartya__body {
    padding: 0.95rem 0.1rem 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.sm-blog-kartya__title {
    font-family: var(--sm-serif);
    font-size: 1.18rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 0.55rem;
}

.sm-blog-kartya__title a {
    color: var(--sm-charcoal);
}

.sm-blog-kartya__title a:hover,
.sm-blog-kartya__title a:focus {
    color: var(--sm-gold);
}

.sm-blog-kartya__lead {
    margin: 0 0 0.85rem;
    color: var(--sm-text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sm-blog-kartya__kat {
    margin-top: auto;
    color: var(--sm-gold);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none;
}

.sm-blog-kartya__kat:hover,
.sm-blog-kartya__kat:focus {
    color: var(--sm-gold-hover);
    text-decoration: underline;
}

@media (max-width: 991.98px) {
    .sm-blog-oldal {
        padding-top: 1.75rem;
    }
}

.sm-kereses-oldal {
    padding: 2.5rem 0 4.5rem;
    background: #fff;
}

.sm-kereses-oldal__title {
    font-family: var(--sm-serif);
    font-size: clamp(1.7rem, 2.2vw, 2.15rem);
    font-weight: 600;
    color: var(--sm-charcoal);
    margin: 0 0 1.25rem;
}

.sm-kereses-oldal__form {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.65rem;
    max-width: 42rem;
    margin: 0 0 1.35rem;
}

.sm-kereses-oldal__mezo {
    flex: 1 1 14rem;
    border: 1px solid var(--sm-border);
    border-radius: var(--sm-radius);
    background: #fff;
    color: var(--sm-charcoal);
}

.sm-kereses-oldal__mezo:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-kereses-oldal__sugo,
.sm-kereses-oldal__meta {
    max-width: 42rem;
    margin: 0 0 1.5rem;
    color: var(--sm-text-muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.sm-kereses-oldal__lista {
    max-width: 42rem;
    margin: 0;
    padding: 0;
}

.sm-kereses-talalat {
    margin: 0 0 1.7rem;
}

.sm-kereses-talalat__tipus {
    margin: 0 0 0.12rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--sm-text-muted);
}

.sm-kereses-talalat__cim {
    font-family: var(--sm-serif);
    font-size: 1.28rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 0.12rem;
}

.sm-kereses-talalat__cim a {
    color: var(--sm-charcoal);
    text-decoration: none;
}

.sm-kereses-talalat__cim a:hover,
.sm-kereses-talalat__cim a:focus {
    color: var(--sm-gold);
}

.sm-kereses-talalat__url {
    margin: 0;
}

.sm-kereses-talalat__url a {
    color: var(--sm-gold);
    font-size: 0.85rem;
    text-decoration: none;
}

.sm-kereses-talalat__url a:hover,
.sm-kereses-talalat__url a:focus {
    color: var(--sm-gold-hover);
    text-decoration: underline;
}

.sm-kereses-talalat__kivonat {
    margin: 0.28rem 0 0;
    color: var(--sm-text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.sm-kereses-talalat__kivonat mark {
    background: rgba(181, 142, 79, 0.28);
    color: inherit;
    padding: 0 0.12em;
}

@media (max-width: 991.98px) {
    .sm-kereses-oldal {
        padding-top: 1.75rem;
    }
}

.sm-article {
    padding: 0 0 4.5rem;
}

.sm-article h1 {
    margin: 1.1rem 0 0.85rem;
    font-family: var(--sm-serif);
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-article__meta {
    color: var(--sm-gold);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.6rem;
}

.sm-article__cover {
    margin: 1.25rem 0 1.75rem;
}

.sm-article__cover img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
}

.sm-article__lead {
    font-size: 1.1rem;
    color: var(--sm-text-muted);
}

.sm-article__lead p:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .sm-search__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm-newsletter__fields {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 992px) {
    .sm-nav__collapse {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }

    .sm-nav__dropdown:hover > .sm-nav__menu,
    .sm-nav__dropdown:focus-within > .sm-nav__menu {
        display: block;
        margin-top: 0;
    }

    .sm-nav .navbar-nav .dropdown-menu,
    .sm-nav__menu {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1055;
    }

    .sm-clinics__grid {
        grid-template-columns: minmax(240px, 0.9fr) repeat(auto-fit, minmax(240px, 1fr));
        align-items: stretch;
    }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .sm-header__usp:nth-child(n+3) {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .sm-szallag__inner {
        justify-content: flex-start;
        gap: 0.55rem;
        min-height: 2.75rem;
        padding: 0.45rem 2.35rem 0.45rem 0;
    }

    .sm-szallag__szoveg {
        flex: 1 1 auto;
        min-width: 0;
        gap: 0.45rem;
        font-size: 0.86rem;
    }

    .sm-szallag__ikon {
        width: 1.45rem;
        height: 1.45rem;
        font-size: 0.68rem;
    }

    .sm-szallag__szoveg--asztali {
        display: none;
    }

    .sm-szallag__szoveg--mobil {
        display: inline;
    }

    .sm-szallag__gomb {
        padding: 0.32rem 0.7rem;
        font-size: 0.66rem;
    }
}

@media (max-width: 991.98px) {
    .sm-header__usps {
        display: none;
    }

    .sm-header__top-right {
        width: 100%;
        margin-left: 0;
        justify-content: space-between;
    }

    .sm-header__search.is-open .sm-header__search-input {
        width: min(11rem, 46vw);
    }

    .sm-header__toggler {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .sm-nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        width: 100%;
        z-index: 1040;
        background: #fff;
        border-bottom: 1px solid var(--sm-border);
        box-shadow: var(--sm-shadow);
        max-height: min(75vh, calc(100dvh - 8.5rem));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .sm-nav__collapse {
        padding: 0.5rem 0 1.15rem;
    }

    .sm-nav__list {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
        width: 100%;
    }

    .sm-nav .nav-item {
        width: 100%;
    }

    .sm-nav .nav-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 0.7rem 0;
        white-space: normal;
    }

    .sm-nav .dropdown-toggle::after {
        margin-left: 0.75rem;
    }

    .sm-nav .navbar-nav .dropdown-menu,
    .sm-nav__menu {
        position: static !important;
        transform: none !important;
        inset: auto !important;
        float: none;
        display: none;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0.1rem 0 0.55rem 0.9rem;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        max-height: none;
        overflow: visible;
    }

    .sm-nav .navbar-nav .dropdown-menu.show,
    .sm-nav__menu.show {
        display: block;
    }

    .sm-nav__menu .dropdown-item {
        padding: 0.42rem 0;
        white-space: normal;
        color: var(--sm-text-muted);
    }

    .sm-nav__menu .dropdown-item:hover,
    .sm-nav__menu .dropdown-item:focus {
        background: transparent;
        color: var(--sm-gold);
    }

    .sm-nav__actions {
        width: 100%;
        padding-top: 0.85rem;
    }

    .sm-nav__actions .sm-btn {
        width: 100%;
    }

    .sm-hero {
        display: block;
        min-height: 0;
        overflow: hidden;
        background: #fff;
    }

    .sm-hero__media {
        position: relative;
        height: auto;
        min-height: 0;
        max-height: none;
    }

    .sm-hero__slide {
        position: absolute;
        inset: 0;
    }

    .sm-hero__slide.is-active {
        position: relative;
        inset: auto;
    }

    .sm-hero__media picture,
    .sm-hero__media img {
        height: auto;
        object-fit: contain;
        object-position: center;
    }

    .sm-hero__slide.is-active img {
        animation: none;
        transform: none;
    }

    .sm-hero .container {
        background: #fff;
        max-width: none;
    }

    .sm-hero__copy {
        max-width: none;
        padding: 1.75rem 0 2.4rem;
    }

    .sm-hero__veil {
        display: none;
    }

    .sm-cta-bar__inner {
        justify-content: center;
        text-align: center;
    }

    .sm-cta-bar__text {
        justify-content: center;
        width: 100%;
        flex-direction: column;
        text-align: center;
    }

    .sm-cta-bar__copy {
        align-items: center;
    }

    .sm-cta-bar__actions {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .sm-header__logo img {
        height: 48px;
    }

    .sm-section {
        padding: 3.25rem 0;
    }
}

.sm-arlista {
    padding: 3.25rem 0 4.5rem;
    background: #fff;
}

.sm-arlista__figyelem {
    text-align: center;
    max-width: 40rem;
    margin: 0 auto 2rem;
    font-size: 0.98rem;
    color: var(--sm-text-muted);
}

.sm-arlista__ures {
    text-align: center;
    color: var(--sm-text-muted);
    margin: 0;
}

.sm-arlista-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: start;
}

.sm-arlista-kartya {
    background: #fff;
    border-radius: 0.35rem;
    box-shadow: 0 10px 24px rgba(28, 28, 28, 0.07);
    overflow: hidden;
}

.sm-arlista-kartya__cim {
    margin: 0;
    font-size: inherit;
}

.sm-arlista-kartya__fej {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    margin: 0;
    padding: 0.85rem 1.15rem;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
    background: var(--sm-charcoal);
    color: var(--sm-gold);
    font-family: var(--sm-serif);
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
}

.sm-arlista-kartya__fej:hover,
.sm-arlista-kartya__fej:focus {
    color: var(--sm-gold-soft);
}

.sm-arlista-kartya__fej:focus-visible {
    outline: 2px solid var(--sm-gold);
    outline-offset: -2px;
}

.sm-arlista-kartya__fej .bi {
    flex-shrink: 0;
    color: #fff;
    font-size: 1.05rem;
}

.sm-arlista-kartya__zarva {
    display: none;
}

.sm-arlista-kartya__fej.collapsed .sm-arlista-kartya__zarva {
    display: inline-block;
}

.sm-arlista-kartya__fej.collapsed .sm-arlista-kartya__nyitva {
    display: none;
}

.sm-arlista-kartya__lista {
    list-style: none;
    margin: 0;
    padding: 0.15rem 0;
}

.sm-arlista-kartya__sor {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 1.15rem;
    border-bottom: 1px solid var(--sm-border);
}

.sm-arlista-kartya__sor:last-child {
    border-bottom: 0;
}

.sm-arlista-kartya__nev {
    flex: 1 1 auto;
    color: var(--sm-charcoal);
    font-size: 0.95rem;
    line-height: 1.45;
}

.sm-arlista-kartya__nev a {
    color: inherit;
}

.sm-arlista-kartya__nev a:hover {
    color: var(--sm-gold);
}

.sm-arlista-kartya__ar {
    flex: 0 0 auto;
    font-weight: 600;
    color: var(--sm-charcoal);
    white-space: nowrap;
    font-size: 0.95rem;
}

.sm-arlista-kartya__info {
    margin-top: 0.3rem;
}

.sm-arlista-kartya__info summary {
    color: var(--sm-gold);
    cursor: pointer;
    font-size: 0.82rem;
}

.sm-arlista-kartya__info p {
    margin: 0.35rem 0 0;
    color: var(--sm-text-muted);
    font-size: 0.85rem;
}

.sm-arlista-valto {
    display: flex;
    max-width: 36rem;
    margin: 0 auto 2rem;
    padding: 0.28rem;
    background: var(--sm-bg-alt);
    border: 1px solid var(--sm-border);
    border-radius: 999px;
    gap: 0.2rem;
}

.sm-arlista-valto__gomb {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0.7rem 1rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--sm-text-muted);
    font-family: var(--sm-sans);
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.sm-arlista-valto__gomb .bi {
    font-size: 1.05rem;
    color: var(--sm-gold);
}

.sm-arlista-valto__gomb:hover,
.sm-arlista-valto__gomb:focus {
    color: var(--sm-charcoal);
}

.sm-arlista-valto__gomb:focus-visible {
    outline: 2px solid var(--sm-gold);
    outline-offset: 2px;
}

.sm-arlista-valto__gomb.is-active {
    background: var(--sm-charcoal);
    color: #fff;
    box-shadow: 0 8px 18px rgba(28, 28, 28, 0.16);
}

.sm-arlista-valto__gomb.is-active .bi {
    color: var(--sm-gold-soft);
}

.sm-labor-bevezeto {
    max-width: 52rem;
    margin: 0 auto 1.75rem;
    padding: 1.5rem 1.5rem 1.35rem;
    background: var(--sm-bg-alt);
    border: 1px solid var(--sm-border);
    border-left: 4px solid var(--sm-gold);
    border-radius: 0.35rem;
}

.sm-labor-bevezeto__lead {
    margin: 0 0 1rem;
    color: var(--sm-charcoal);
    font-size: 1.02rem;
    line-height: 1.55;
}

.sm-labor-bevezeto__lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.7rem;
}

.sm-labor-bevezeto__lista > li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    color: var(--sm-charcoal);
    font-size: 0.95rem;
    line-height: 1.45;
}

.sm-labor-bevezeto__ikon {
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sm-icon-bg);
    color: var(--sm-gold);
}

.sm-labor-eszkozok {
    max-width: 36rem;
    margin: 0 auto 1.15rem;
}

.sm-labor-kereso {
    position: relative;
}

.sm-labor-kereso .bi {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--sm-gold);
    pointer-events: none;
}

.sm-labor-kereso__mezo {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.6rem;
    border: 1px solid var(--sm-border);
    border-radius: 999px;
    background: #fff;
    color: var(--sm-charcoal);
    font-family: var(--sm-sans);
    font-size: 0.95rem;
}

.sm-labor-kereso__mezo:focus {
    outline: none;
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 3px rgba(181, 142, 79, 0.18);
}

.sm-labor-ugras {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.45rem;
    margin: 0 0 1.75rem;
}

.sm-labor-ugras__chip {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.8rem;
    border: 1px solid var(--sm-border);
    border-radius: 999px;
    background: #fff;
    color: var(--sm-charcoal);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.3;
}

.sm-labor-ugras__chip:hover,
.sm-labor-ugras__chip:focus {
    color: var(--sm-gold);
    border-color: var(--sm-gold-soft);
}

.sm-labor-nincs {
    text-align: center;
    color: var(--sm-text-muted);
    margin: 0 0 1rem;
}

@media (max-width: 575.98px) {
    .sm-arlista-valto {
        border-radius: 0.85rem;
        flex-direction: column;
    }

    .sm-arlista-valto__gomb {
        border-radius: 0.7rem;
        justify-content: flex-start;
        padding-left: 1rem;
    }
}

@media (min-width: 992px) {
    .sm-arlista-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sm-labor-bevezeto__lista {
        grid-template-columns: 1fr;
    }
}

.sm-munkatarsak,
.sm-szakrendeles,
.sm-kapcsolat {
    padding: 3rem 0 4rem;
}

.sm-munkatarsak-lead,
.sm-munkatarsak-meta,
.sm-szakrendeles-lead,
.sm-szakrendeles-meta,
.sm-kapcsolat-lead,
.sm-kapcsolat-meta {
    color: var(--sm-text-muted);
    max-width: 46rem;
}

.sm-munkatarsak-meta,
.sm-szakrendeles-meta,
.sm-kapcsolat-meta {
    margin-bottom: 1.5rem;
}

.sm-orvos-vazlat,
.sm-szak-vazlat,
.sm-telephely-vazlat {
    background: var(--sm-card);
    border: 1px solid var(--sm-border);
    border-radius: 0.5rem;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
}

.sm-orvos-vazlat-head,
.sm-szak-vazlat-head,
.sm-telephely-vazlat-head {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.sm-orvos-vazlat-kep {
    width: 96px;
    height: 96px;
    object-fit: cover;
    border-radius: 0.5rem;
    background: var(--sm-icon-bg);
}

.sm-orvos-vazlat h2,
.sm-szak-vazlat h2,
.sm-telephely-vazlat h2 {
    color: var(--sm-primary);
    font-size: 1.25rem;
    margin: 0 0 0.35rem;
}

.sm-orvos-vazlat-szak,
.sm-szak-vazlat-tipus,
.sm-telephely-vazlat-varos,
.sm-telephely-vazlat-osszefoglalo {
    margin: 0;
    color: var(--sm-text-muted);
}

.sm-orvos-vazlat-mezok,
.sm-szak-vazlat-mezok,
.sm-telephely-vazlat-mezok {
    margin: 0;
}

.sm-orvos-vazlat-sor,
.sm-szak-vazlat-sor,
.sm-telephely-vazlat-sor {
    display: grid;
    grid-template-columns: minmax(8rem, 12rem) 1fr;
    gap: 0.5rem 1rem;
    padding: 0.45rem 0;
    border-top: 1px solid #eeeae4;
}

.sm-orvos-vazlat-sor dt,
.sm-szak-vazlat-sor dt,
.sm-telephely-vazlat-sor dt {
    margin: 0;
    color: var(--sm-primary);
    font-weight: 600;
    font-size: 0.8125rem;
    word-break: break-word;
}

.sm-orvos-vazlat-sor dd,
.sm-szak-vazlat-sor dd,
.sm-telephely-vazlat-sor dd {
    margin: 0;
    color: var(--sm-text);
    font-size: 0.875rem;
}

.sm-telephely-vazlat-osszefoglalo {
    margin-top: 0.35rem;
}

.sm-telephely-vazlat-alcim {
    color: var(--sm-primary);
    font-size: 1rem;
    margin: 1.25rem 0 0.5rem;
}

.sm-orvos-vazlat-pre,
.sm-szak-vazlat-pre,
.sm-telephely-vazlat-pre {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.75rem;
    color: var(--sm-text-muted);
    background: var(--sm-bg-alt);
    padding: 0.75rem;
    border-radius: 0.35rem;
}

/* Leletkapu: páciens azonosító űrlap és PDF-letöltés, hero nélkül. */
.sm-lelet {
    padding: 3.25rem 0 4.75rem;
    background: var(--sm-bg-alt);
}

.sm-lelet__kartya {
    background: #fff;
    border: 1px solid var(--sm-border);
    border-radius: 0.45rem;
    box-shadow: 0 14px 32px rgba(44, 44, 44, 0.06);
    padding: 2.1rem 1.55rem 2.2rem;
}

.sm-lelet__ikon {
    width: 3.15rem;
    height: 3.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 1.05rem;
    border-radius: 50%;
    background: var(--sm-icon-bg);
    color: var(--sm-gold);
    font-size: 1.4rem;
}

.sm-lelet__kicker {
    margin: 0 0 0.5rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sm-gold);
}

.sm-lelet__kartya h1 {
    margin: 0 0 0.8rem;
    font-family: var(--sm-serif);
    font-size: clamp(1.7rem, 2.4vw, 2.25rem);
    font-weight: 600;
    line-height: 1.2;
    color: var(--sm-charcoal);
}

.sm-lelet__lead,
.sm-lelet__sugo {
    margin: 0 0 1.25rem;
    color: var(--sm-text-muted);
    font-size: 1.02rem;
    line-height: 1.65;
}

.sm-lelet__sugo {
    font-size: 0.95rem;
}

.sm-lelet__figyelmeztetes {
    margin: 0 0 1.35rem;
    padding: 0.9rem 1rem;
    background: #fbf6ee;
    border: 1px solid var(--sm-border);
    border-left: 3px solid var(--sm-gold);
    border-radius: 0.35rem;
    color: var(--sm-charcoal);
    font-size: 0.96rem;
    line-height: 1.55;
}

.sm-lelet__form .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-lelet__form .form-control {
    min-height: 2.85rem;
    border-color: var(--sm-border);
    border-radius: 0.4rem;
    box-shadow: none;
}

.sm-lelet__form .form-control:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-lelet__mezo {
    margin-bottom: 1.15rem;
}

.sm-lelet__gdpr {
    margin: 0 0 1.45rem;
}

.sm-lelet__gdpr .form-check-input:checked {
    background-color: var(--sm-gold);
    border-color: var(--sm-gold);
}

.sm-lelet__gdpr .form-check-input:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-lelet__gdpr a {
    color: var(--sm-gold);
    text-decoration: underline;
}

.sm-lelet__gdpr a:hover,
.sm-lelet__gdpr a:focus {
    color: var(--sm-gold-hover);
}

.sm-lelet__jelszo {
    margin: 0 0 1.25rem;
    padding: 1.3rem 1.2rem 1.35rem;
    background: var(--sm-bg-alt);
    border: 1px solid var(--sm-border);
    border-left: 3px solid var(--sm-gold);
    border-radius: 0.4rem;
}

.sm-lelet__jelszo-cimke {
    margin: 0 0 0.4rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--sm-charcoal);
}

.sm-lelet__jelszo-ertek {
    margin: 0 0 1rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.15rem;
    letter-spacing: 0.06em;
    line-height: 1.45;
    color: var(--sm-charcoal);
    word-break: break-all;
}

.sm-lelet__muveletek {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0;
}

.sm-lelet__bizalom {
    list-style: none;
    display: grid;
    gap: 0.7rem;
    margin: 1.85rem 0 0;
    padding: 1.35rem 0 0;
    border-top: 1px solid var(--sm-border);
}

.sm-lelet__bizalom li {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    color: var(--sm-text-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.sm-lelet__bizalom .bi {
    margin-top: 0.1rem;
    color: var(--sm-gold);
    font-size: 1.05rem;
}

@media (min-width: 768px) {
    .sm-lelet {
        padding: 4rem 0 5.25rem;
    }

    .sm-lelet__kartya {
        padding: 2.6rem 2.45rem 2.5rem;
    }

    .sm-lelet__bizalom {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem 1.25rem;
    }
}

.sm-to-top {
    position: fixed;
    left: auto;
    right: max(1.15rem, env(safe-area-inset-right));
    bottom: calc(max(1.15rem, env(safe-area-inset-bottom)) + var(--sm-suti-pad));
    z-index: 1040;
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0.55rem;
    background: var(--sm-gold);
    color: #fff;
    font-size: 1.35rem;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(44, 44, 44, 0.18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease, background-color 0.2s ease;
}

.sm-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.sm-to-top:hover,
.sm-to-top:focus-visible {
    background: var(--sm-gold-hover);
    color: #fff;
    outline: none;
}

.sm-to-top .bi {
    line-height: 1;
}

.sm-docs {
    padding: 2.25rem 0 4.5rem;
}

.sm-docs h1 {
    text-align: center;
    margin-bottom: 0.5rem;
}

.sm-docs__lead {
    text-align: center;
    max-width: 40rem;
    margin: 0 auto 2rem;
    color: var(--sm-text-muted);
}

.sm-docs__list {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 52rem;
}

.sm-docs__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    margin-bottom: 0.75rem;
    background: var(--sm-bg-alt);
    border-radius: 0.35rem;
}

.sm-docs__icon {
    font-size: 1.75rem;
    color: var(--sm-gold);
    line-height: 1;
}

.sm-docs__body {
    flex: 1 1 14rem;
    min-width: 0;
}

.sm-docs__title {
    font-family: var(--sm-serif);
    font-size: 1.15rem;
    margin: 0;
    color: var(--sm-charcoal);
}

.sm-docs__desc {
    margin: 0.35rem 0 0;
    font-size: 0.95rem;
    line-height: 1.55;
}

.sm-docs__btn {
    flex: 0 0 auto;
}

.sm-docs__btn .bi {
    margin-right: 0.35rem;
}

@media (max-width: 575.98px) {
    .sm-docs__btn {
        width: 100%;
        text-align: center;
    }
}

.sm-visszahivas-modal .modal-content {
    border: 0;
    border-radius: 0.35rem;
    overflow: hidden;
    box-shadow: var(--sm-shadow);
}

.sm-visszahivas-modal .modal-header {
    position: relative;
    align-items: flex-start;
    background: var(--sm-bg-alt);
    border-bottom: 4px solid var(--sm-gold);
    padding: 1.35rem 3.2rem 1.1rem 1.35rem;
}

.sm-visszahivas-modal .modal-header > div {
    flex: 1 1 auto;
    min-width: 0;
}

.sm-visszahivas-modal__kicker {
    margin: 0 0 0.25rem;
    color: var(--sm-gold);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.sm-visszahivas-modal .modal-title {
    font-family: var(--sm-serif);
    font-size: 1.55rem;
    font-weight: 600;
    color: var(--sm-charcoal);
    margin: 0;
}

.sm-visszahivas-modal__close {
    position: absolute;
    top: 1.1rem;
    right: 1rem;
    width: 2.1rem;
    height: 2.1rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--sm-charcoal);
    font-size: 1.1rem;
    line-height: 1;
    opacity: 0.7;
}

.sm-visszahivas-modal__close:hover,
.sm-visszahivas-modal__close:focus {
    color: var(--sm-gold);
    opacity: 1;
}

.sm-visszahivas-modal .modal-body {
    padding: 1.35rem 1.35rem 1.5rem;
}

.sm-visszahivas-modal__lead {
    margin: 0 0 1.1rem;
    color: var(--sm-text-muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.sm-visszahivas-modal .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.sm-visszahivas-modal .form-control {
    border-radius: var(--sm-radius);
    border-color: var(--sm-border);
    padding: 0.75rem 0.9rem;
}

.sm-visszahivas-modal .form-control:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-visszahivas-modal__check {
    margin-bottom: 1rem;
    color: var(--sm-text-muted);
    font-size: 0.875rem;
}

.sm-visszahivas-modal__check a {
    color: var(--sm-gold);
    text-decoration: underline;
}

.sm-visszahivas-modal__submit {
    width: 100%;
    border-radius: 0.35rem;
}

.sm-visszahivas-modal__msg {
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
}

.sm-visszahivas-modal__msg.is-ok {
    color: #2f6b3a;
}

.sm-visszahivas-modal__msg.is-error {
    color: #8a2b2b;
}

.sm-visszahivas-modal form.is-busy .sm-btn {
    pointer-events: none;
    opacity: 0.75;
}

.sm-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.sm-idopont {
    padding: 2.5rem 0 4.5rem;
}

.sm-idopont__head {
    text-align: center;
    margin-bottom: 2rem;
}

.sm-idopont h1 {
    margin-bottom: 0.5rem;
}

.sm-idopont__lead {
    max-width: 40rem;
    margin: 0 auto;
    color: var(--sm-text-muted);
}

.sm-idopont__hiba {
    text-align: center;
    color: var(--sm-text-muted);
}

.sm-idopont__frame {
    background: var(--sm-card);
    border-radius: 0.35rem;
    box-shadow: var(--sm-shadow);
    overflow: hidden;
    border-top: 4px solid var(--sm-gold);
}

.medio-iframe {
    display: block;
    width: 100%;
    height: 1200px;
    border: 0;
    background: var(--sm-bg);
}

.sm-subhero {
    position: relative;
    min-height: clamp(280px, 42vh, 440px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--sm-bg-alt);
}

.sm-subhero__media {
    position: absolute;
    inset: 0;
}

.sm-subhero__media picture,
.sm-subhero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
}

.sm-subhero__veil {
    position: absolute;
    inset: 0 auto 0 0;
    width: min(58%, 48rem);
    background: linear-gradient(90deg, #fff 0%, #fff 52%, rgba(255, 255, 255, 0.7) 78%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 1;
}

.sm-subhero .container {
    position: relative;
    z-index: 2;
}

.sm-subhero__copy {
    max-width: 34rem;
    padding: 2.75rem 0;
}

.sm-subhero__title {
    font-family: var(--sm-serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 1.15;
    color: var(--sm-charcoal);
    margin: 0 0 0.85rem;
}

.sm-subhero__subtitle {
    font-family: var(--sm-serif);
    font-style: italic;
    font-weight: 500;
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    color: var(--sm-gold);
    margin: 0 0 1rem;
}

.sm-subhero__lead {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--sm-text-muted);
}

.sm-szak-lista {
    padding: 2.25rem 0 4.5rem;
    background: var(--sm-bg-alt);
}

.sm-szak-szuro {
    margin-bottom: 1.5rem;
}

.sm-szak-szuro__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
    align-items: end;
}

.sm-szak-szuro__label {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sm-charcoal);
}

.sm-szak-szuro__input,
.sm-szak-szuro__select {
    border: 1px solid var(--sm-border);
    border-radius: 0.35rem;
    box-shadow: none;
    background: #fff;
    min-height: 3rem;
}

.sm-szak-szuro__input:focus,
.sm-szak-szuro__select:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-szak-szuro__action .sm-btn {
    width: 100%;
    min-height: 3rem;
    border-radius: 0.35rem;
}

.sm-szak-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1.1rem;
}

.sm-szak-chip {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid var(--sm-border);
    background: #fff;
    color: var(--sm-charcoal);
    border-radius: 0.35rem;
    padding: 0.45rem 0.95rem;
    font-family: var(--sm-sans);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

.sm-szak-chip:hover,
.sm-szak-chip:focus {
    border-color: var(--sm-gold);
    color: var(--sm-gold);
}

.sm-szak-chip.is-active {
    background: var(--sm-gold);
    border-color: var(--sm-gold);
    color: #fff;
}

.sm-szak-chip.is-active:hover,
.sm-szak-chip.is-active:focus {
    background: var(--sm-gold-hover);
    border-color: var(--sm-gold-hover);
    color: #fff;
}

.sm-szak-lista__count {
    margin: 0 0 1.15rem;
    font-size: 0.92rem;
    color: var(--sm-text-muted);
}

.sm-szak-lista__empty {
    margin: 0;
    padding: 1.5rem 0;
    color: var(--sm-text-muted);
}

.sm-szak-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
}

.sm-szak-lista [data-sm-szak-grid][aria-busy="true"] {
    opacity: 0.55;
}

@media (min-width: 768px) {
    .sm-szak-szuro__row {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
        gap: 1rem;
    }

    .sm-szak-szuro__action .sm-btn {
        width: auto;
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    .sm-szak-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .sm-szak-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .sm-subhero {
        display: block;
        min-height: 0;
        overflow: visible;
        background: var(--sm-bg);
    }

    .sm-subhero__media {
        position: relative;
        inset: auto;
    }

    .sm-subhero__media picture,
    .sm-subhero__media img {
        height: auto;
        object-fit: contain;
        object-position: center;
    }

    .sm-subhero__veil {
        display: none;
    }

    .sm-subhero .container {
        position: relative;
        z-index: auto;
    }

    .sm-subhero__copy {
        max-width: none;
        padding: 1.75rem 0 0.35rem;
    }
}

.sm-szak-adat {
    padding: 0 0 4.5rem;
    background: var(--sm-bg-alt);
}

.sm-breadcrumb {
    padding: 1.15rem 0 0.35rem;
}

.sm-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem 0;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.86rem;
    color: var(--sm-text-muted);
}

.sm-breadcrumb__list li {
    display: inline-flex;
    align-items: center;
}

.sm-breadcrumb__list li:not(:last-child)::after {
    content: "/";
    margin: 0 0.5rem;
    color: var(--sm-border);
}

.sm-breadcrumb a {
    color: var(--sm-gold);
    text-decoration: none;
}

.sm-breadcrumb a:hover,
.sm-breadcrumb a:focus {
    color: var(--sm-gold-hover);
    text-decoration: underline;
}

.sm-breadcrumb [aria-current="page"] {
    color: var(--sm-charcoal);
    font-weight: 600;
}

.sm-szak-adat__title {
    margin: 1.1rem 0 1.75rem;
    font-size: clamp(2rem, 4vw, 3.1rem);
    font-weight: 600;
    line-height: 1.15;
}

.sm-szak-orvosok__title {
    margin: 0 0 1rem;
    font-family: var(--sm-serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-szak-orvosok__lista {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.sm-szak-orvosok__empty {
    margin: 0 0 1rem;
    color: var(--sm-text-muted);
    font-size: 0.95rem;
}

.sm-orvos-kartya {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    background: #fff;
    border-radius: 0.5rem;
    padding: 0.7rem 0.9rem;
    box-shadow: 0 8px 20px rgba(28, 28, 28, 0.07);
    color: inherit;
    text-decoration: none;
}

a.sm-orvos-kartya:hover .sm-orvos-kartya__nev,
a.sm-orvos-kartya:focus .sm-orvos-kartya__nev {
    color: var(--sm-gold);
}

.sm-orvos-kartya__foto,
.sm-orvos-kartya__placeholder {
    flex-shrink: 0;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 50%;
    object-fit: cover;
    overflow: hidden;
}

.sm-orvos-kartya__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sm-icon-bg);
    color: var(--sm-gold);
    font-size: 1.65rem;
}

.sm-orvos-kartya__body {
    min-width: 0;
}

.sm-orvos-kartya__nev {
    margin: 0;
    font-weight: 700;
    color: var(--sm-charcoal);
    line-height: 1.3;
}

.sm-orvos-kartya__alcim {
    margin: 0.15rem 0 0;
    font-size: 0.82rem;
    color: var(--sm-text-muted);
}

.sm-orvos-kartya__hely {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin: 0.25rem 0 0;
    font-size: 0.8rem;
    color: var(--sm-charcoal);
}

.sm-orvos-kartya__hely .bi {
    color: var(--sm-gold);
}

.sm-szak-orvosok__cta {
    margin-top: 1.15rem;
}

.sm-szak-orvosok__cta:first-child {
    margin-top: 0;
}

.sm-szak-adat__cta {
    width: 100%;
    border-radius: 0.35rem;
}

.sm-szak-adat__tartalom {
    max-width: none;
}

.sm-szak-adat__tartalom p:first-child,
.sm-szak-adat__tartalom h2:first-child,
.sm-szak-adat__tartalom h3:first-child {
    margin-top: 0;
}

.sm-szak-adat__tartalom ul,
.sm-szak-adat__tartalom ol {
    padding-left: 1.2rem;
    margin-bottom: 1.1rem;
}

.sm-szak-adat__tartalom li + li {
    margin-top: 0.35rem;
}

/* CMS HTML (szakrendeles adatlap, Rolunk): arany pontalistas, szekciocimek, surgossegi doboz */
.page-cms-content .sm-cms-lead {
    font-size: 1.08rem;
    color: var(--sm-charcoal);
}

.page-cms-content h2.sm-cms-cim {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin-top: 2.15rem;
    margin-bottom: 0.9rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--sm-border);
    font-size: clamp(1.28rem, 2.2vw, 1.5rem);
    font-weight: 600;
    line-height: 1.3;
    color: var(--sm-charcoal);
}

.page-cms-content > h2.sm-cms-cim:first-child {
    margin-top: 0;
}

.page-cms-content h2.sm-cms-cim .bi {
    flex-shrink: 0;
    margin-top: 0.18rem;
    color: var(--sm-gold);
    font-size: 1.12rem;
}

.page-cms-content ul.sm-cms-list {
    list-style: none;
    padding-left: 0;
    margin: 0.15rem 0 1.25rem;
}

.page-cms-content ul.sm-cms-list > li {
    position: relative;
    padding: 0.38rem 0 0.38rem 1.4rem;
    margin-top: 0;
    border-bottom: 1px solid var(--sm-border);
}

.page-cms-content ul.sm-cms-list > li:last-child {
    border-bottom: 0;
}

.page-cms-content ul.sm-cms-list > li::before {
    content: "";
    position: absolute;
    left: 0.12rem;
    top: 0.78rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--sm-gold);
}

.page-cms-content blockquote.sm-cms-figyelem {
    margin: 2.15rem 0 0;
    padding: 1.3rem 1.35rem 1.15rem;
    background: #fff;
    border: 0;
    border-left: 3px solid var(--sm-gold);
    border-radius: 0.5rem;
    box-shadow: 0 8px 20px rgba(28, 28, 28, 0.07);
}

.page-cms-content blockquote.sm-cms-figyelem h2.sm-cms-cim {
    margin-top: 0;
}

.page-cms-content blockquote.sm-cms-figyelem ul.sm-cms-list > li {
    border-bottom-color: #efeae2;
}

@media (min-width: 992px) {
    .page-cms-content ul.sm-cms-list.row > li:nth-last-child(2):nth-child(odd) {
        border-bottom: 0;
    }
}

.sm-szak-adat__naptar {
    margin-top: 2.75rem;
}

.sm-szak-adat__naptar-cim {
    margin: 0 0 1.1rem;
    font-family: var(--sm-serif);
    font-size: 1.55rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

@media (min-width: 992px) {
    .sm-szak-orvosok {
        position: sticky;
        top: calc(var(--sm-anchor-offset) + 0.5rem);
    }
}

.sm-subhero__idopont {
    margin: 1.35rem 0 0.95rem;
    font-family: var(--sm-serif);
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    font-weight: 600;
    line-height: 1.25;
    color: var(--sm-charcoal);
}

.sm-subhero--orvos .sm-subhero__lead {
    color: var(--sm-charcoal);
    font-size: 0.98rem;
}

.sm-subhero__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 1.35rem;
}

.sm-orvos-lista {
    padding: 2.25rem 0 4.5rem;
    background: var(--sm-bg-alt);
}

.sm-orvos-lista__bevezeto {
    text-align: center;
    max-width: 42rem;
    margin: 0 auto 2rem;
    font-style: italic;
    font-size: 1.02rem;
    line-height: 1.65;
    color: var(--sm-charcoal);
}

.sm-orvos-lista__empty {
    margin: 0;
    padding: 1.5rem 0;
    color: var(--sm-text-muted);
    text-align: center;
}

.sm-orvos-lista [data-sm-orvos-lista][aria-busy="true"] {
    opacity: 0.55;
}

.sm-orvos-csoport {
    margin-top: 2.5rem;
}

.sm-orvos-csoport:first-child {
    margin-top: 0.5rem;
}

.sm-orvos-csoport__cim {
    text-align: center;
    margin: 0 0 1.75rem;
}

.sm-orvos-profil-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem 1.15rem;
}

.sm-orvos-profil {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

a.sm-orvos-profil--link:hover .sm-orvos-profil__nev,
a.sm-orvos-profil--link:focus .sm-orvos-profil__nev {
    color: var(--sm-gold);
}

.sm-orvos-profil__kep {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 0.5rem;
    background: var(--sm-icon-bg);
    margin-bottom: 0.95rem;
}

.sm-orvos-profil__kep img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.sm-orvos-profil__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--sm-gold);
    font-size: 3rem;
}

.sm-orvos-profil__nev {
    margin: 0 0 0.45rem;
    font-family: var(--sm-serif);
    font-size: 1.28rem;
    font-weight: 600;
    line-height: 1.25;
    color: var(--sm-gold);
}

.sm-orvos-profil__szak {
    margin: 0 0 0.55rem;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--sm-text-muted);
    white-space: pre-line;
}

.sm-orvos-profil__hely {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0 0 0.95rem;
    font-size: 0.88rem;
    color: var(--sm-charcoal);
}

.sm-orvos-profil__hely .bi {
    color: var(--sm-gold);
}

.sm-orvos-profil__gomb {
    width: 100%;
    border-radius: 0.35rem;
    margin-top: auto;
}

@media (min-width: 768px) {
    .sm-orvos-szuro .sm-szak-szuro__row {
        grid-template-columns: 1fr 1fr;
    }

    .sm-orvos-profil-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .sm-orvos-szuro .sm-szak-szuro__row {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) auto;
    }

    .sm-orvos-szuro .sm-szak-szuro__action .sm-btn {
        width: auto;
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    .sm-orvos-profil-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.sm-subhero--rolunk .sm-subhero__lead,
.sm-subhero--velemenyek .sm-subhero__lead {
    color: var(--sm-charcoal);
}

.sm-ertekek {
    padding: 4.5rem 0;
    background: var(--sm-bg-alt);
}

.sm-ertek-kartya {
    height: 100%;
    background: #fff;
    border-radius: 0.35rem;
    box-shadow: 0 10px 24px rgba(28, 28, 28, 0.06);
    padding: 2rem 1.4rem 1.75rem;
    text-align: center;
}

.sm-ertek-kartya__ikon {
    width: 5rem;
    height: 5rem;
    margin: 0 auto 1.15rem;
    border-radius: 50%;
    overflow: hidden;
}

.sm-ertek-kartya__ikon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sm-ertek-kartya h3 {
    font-family: var(--sm-serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--sm-gold);
    margin: 0 0 0.65rem;
}

.sm-ertek-kartya p {
    margin: 0;
    color: var(--sm-text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

.sm-rolunk-tap {
    padding: 4.5rem 0;
    background: #fff;
}

.sm-rolunk-tap__cim {
    font-family: var(--sm-serif);
    font-weight: 600;
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
    line-height: 1.2;
    color: var(--sm-charcoal);
    margin: 0 0 1rem;
}

.sm-rolunk-tap p {
    margin: 0 0 0.9rem;
    color: var(--sm-text-muted);
    font-size: 1.02rem;
    line-height: 1.65;
}

.sm-rolunk-tap__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.sm-rolunk-tap__foto {
    overflow: hidden;
    border-radius: 0.5rem;
    aspect-ratio: 3 / 4;
    max-height: 36rem;
}

.sm-rolunk-tap__foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.sm-rolunk-cms {
    padding: 4.5rem 0 4.5rem;
    background: var(--sm-bg-alt);
}

.sm-rolunk-cms .page-cms-content {
    max-width: 48rem;
    margin: 0 auto;
}

.sm-rolunk-alairas {
    margin: 3.5rem auto 0;
    padding: 3.25rem 0 0.5rem;
    border-top: 1px solid var(--sm-border);
}

.sm-rolunk-alairas__idezet {
    margin: 0;
    max-width: 28rem;
    font-style: italic;
    font-size: clamp(1.05rem, 1.6vw, 1.22rem);
    line-height: 1.7;
    color: var(--sm-charcoal);
}

.sm-rolunk-alairas__blokk {
    text-align: center;
}

.sm-rolunk-alairas__logo {
    display: block;
    max-width: 16.5rem;
    width: 100%;
    height: auto;
    margin: 0 auto 1rem;
}

.sm-rolunk-alairas__szlogan {
    font-family: var(--sm-serif);
    font-size: 1.12rem;
    line-height: 1.45;
    color: var(--sm-charcoal);
    margin: 0 0 1.15rem;
}

.sm-rolunk-alairas__kep {
    display: block;
    max-width: 14rem;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 991.98px) {
    .sm-rolunk-alairas__idezet {
        max-width: none;
        text-align: center;
    }
}

@media (max-width: 991.98px) {
    .sm-subhero--rolunk .sm-subhero__media img,
    .sm-subhero--velemenyek .sm-subhero__media img {
        object-position: center center;
    }
}

.sm-subhero--araink .sm-subhero__lead {
    color: var(--sm-charcoal);
}

.sm-fizetes {
    padding: 4.5rem 0;
    background: var(--sm-bg-alt);
}

.sm-fizetes__mod {
    text-align: center;
    padding: 0.5rem 0.75rem;
}

.sm-fizetes__ikon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    margin: 0 auto 0.85rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 20px rgba(28, 28, 28, 0.06);
    color: var(--sm-gold);
    font-size: 1.85rem;
}

.sm-fizetes__mod h3 {
    margin: 0;
    font-family: var(--sm-serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-fizetes__penztarak h3 {
    margin: 0 0 0.85rem;
    font-family: var(--sm-serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-fizetes__lista {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sm-fizetes__lista > li {
    position: relative;
    padding: 0.38rem 0 0.38rem 1.4rem;
    border-bottom: 1px solid var(--sm-border);
    color: var(--sm-charcoal);
}

.sm-fizetes__lista > li:last-child {
    border-bottom: 0;
}

.sm-fizetes__lista > li::before {
    content: "";
    position: absolute;
    left: 0.12rem;
    top: 0.78rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--sm-gold);
}

.sm-partner-marquee {
    background: #fff;
    padding: 2rem 0;
    border-top: 1px solid var(--sm-border);
}

.sm-partner-marquee__ablak {
    overflow: hidden;
}

.sm-partner-marquee__track {
    display: flex;
    width: max-content;
    animation: sm-partner-fut 36s linear infinite;
}

.sm-partner-marquee:hover .sm-partner-marquee__track {
    animation-play-state: paused;
}

.sm-partner-marquee__csoport {
    display: flex;
    align-items: center;
}

.sm-partner-marquee__tetel {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16rem;
    height: 5.25rem;
    padding: 0.5rem 1.25rem;
}

.sm-partner-marquee__tetel img {
    max-width: 100%;
    max-height: 3.6rem;
    width: auto;
    height: auto;
    object-fit: contain;
}

@keyframes sm-partner-fut {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sm-partner-marquee__track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }

    .sm-partner-marquee__csoport[aria-hidden="true"] {
        display: none;
    }
}

.sm-mt-adat {
    padding: 2rem 0 4.5rem;
    background: var(--sm-bg-alt);
}

.sm-mt-adat__title {
    font-family: var(--sm-serif);
    font-size: clamp(1.85rem, 3vw, 2.6rem);
    font-weight: 600;
    color: var(--sm-charcoal);
    margin: 0 0 1.75rem;
}

.sm-mt-adat__foto {
    overflow: hidden;
    border-radius: 0.5rem;
    background: var(--sm-icon-bg);
    aspect-ratio: 3 / 4;
    max-height: 36rem;
}

.sm-mt-adat__foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.sm-mt-adat__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 16rem;
    color: var(--sm-gold);
    font-size: 4rem;
}

.sm-mt-adat__beosztas {
    margin: 1rem 0 0;
    font-family: var(--sm-serif);
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--sm-gold);
    line-height: 1.4;
}

.sm-mt-adat__szakma {
    margin: 0.2rem 0 0;
    font-size: 0.95rem;
    line-height: 1.4;
    color: var(--sm-text-muted);
}

.sm-mt-adat__hely {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0.55rem 0 0;
    font-size: 0.95rem;
    color: var(--sm-charcoal);
}

.sm-mt-adat__hely .bi {
    color: var(--sm-gold);
}

.sm-mt-adat__szakok {
    margin-top: 1.5rem;
}

.sm-mt-adat__szakok h2 {
    margin: 0 0 0.65rem;
    font-family: var(--sm-serif);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-mt-adat__szaklista {
    margin: 0;
    padding: 0;
}

.sm-mt-adat__szaklista li {
    position: relative;
    padding: 0.35rem 0 0.35rem 1.35rem;
    border-bottom: 1px solid var(--sm-border);
    color: var(--sm-charcoal);
}

.sm-mt-adat__szaklista li:last-child {
    border-bottom: 0;
}

.sm-mt-adat__szaklista li::before {
    content: "";
    position: absolute;
    left: 0.12rem;
    top: 0.75rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--sm-gold);
}

.sm-mt-adat__szaklista a {
    color: inherit;
}

.sm-mt-adat__szaklista a:hover,
.sm-mt-adat__szaklista a:focus {
    color: var(--sm-gold);
}

.sm-mt-adat__arak {
    margin-top: 1.75rem;
    background: #fff;
    border-radius: 0.35rem;
    box-shadow: 0 10px 24px rgba(28, 28, 28, 0.07);
    overflow: hidden;
}

.sm-mt-adat__arak h2,
.sm-mt-adat__naptar h2 {
    margin: 0;
    padding: 0.85rem 1.15rem;
    background: var(--sm-charcoal);
    color: var(--sm-gold);
    font-family: var(--sm-serif);
    font-size: 1.2rem;
    font-weight: 600;
}

.sm-mt-adat__ures {
    margin: 0;
    padding: 1rem 1.15rem 1.15rem;
    color: var(--sm-text-muted);
    font-size: 0.95rem;
}

.sm-mt-adat__arlista {
    list-style: none;
    margin: 0;
    padding: 0.15rem 0;
}

.sm-mt-adat__arlista li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 1.15rem;
    border-bottom: 1px solid var(--sm-border);
    font-size: 0.95rem;
    color: var(--sm-charcoal);
}

.sm-mt-adat__arlista li:last-child {
    border-bottom: 0;
}

.sm-mt-adat__arlista strong {
    flex: 0 0 auto;
    white-space: nowrap;
}

.sm-mt-adat__leiras {
    max-width: none;
    margin-bottom: 1.75rem;
}

.sm-mt-adat__naptar {
    margin-top: 0.25rem;
}

.sm-mt-adat__cta {
    margin-top: 1.5rem;
}

@media (min-width: 992px) {
    .sm-mt-adat__naptar {
        position: sticky;
        top: calc(var(--sm-anchor-offset) + 0.5rem);
    }
}

.sm-subhero--kapcsolat,
.sm-subhero--idopont {
    min-height: clamp(320px, 48vh, 520px);
}

.sm-subhero--kapcsolat .sm-subhero__lead,
.sm-subhero--idopont .sm-subhero__lead {
    color: var(--sm-charcoal);
    font-size: 0.98rem;
}

.sm-subhero--kapcsolat .sm-subhero__actions,
.sm-subhero--idopont .sm-subhero__actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.sm-kotelezo {
    color: var(--sm-gold);
}

.sm-kapcsolat-terkep {
    padding: 3.25rem 0 3.75rem;
    background: var(--sm-bg-alt);
}

.sm-kapcsolat-terkep .sm-section__head {
    margin-bottom: 2rem;
}

.sm-kapcsolat-terkep__ures {
    margin: 0;
    text-align: center;
    color: var(--sm-text-muted);
}

.sm-kapcsolat-terkep__elrendezes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: start;
}

.sm-kapcsolat-terkep__lista {
    display: grid;
    gap: 0.85rem;
}

.sm-kapcsolat-hely {
    background: #fff;
    border: 1px solid var(--sm-border);
    border-radius: 0.45rem;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sm-kapcsolat-hely.is-active {
    border-color: var(--sm-gold);
    box-shadow: 0 10px 24px rgba(44, 44, 44, 0.08);
}

.sm-kapcsolat-hely__valaszto {
    display: flex;
    gap: 0.9rem;
    width: 100%;
    margin: 0;
    padding: 0.95rem 1rem 0.7rem;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    color: inherit;
    font: inherit;
}

.sm-kapcsolat-hely__foto {
    flex: 0 0 4.5rem;
    width: 4.5rem;
    height: 4.5rem;
    overflow: hidden;
    border-radius: 0.35rem;
    background: var(--sm-icon-bg);
}

.sm-kapcsolat-hely__foto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sm-kapcsolat-hely__szoveg {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
}

.sm-kapcsolat-hely__varos {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sm-gold);
}

.sm-kapcsolat-hely__szoveg strong {
    font-family: var(--sm-serif);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--sm-charcoal);
    line-height: 1.25;
}

.sm-kapcsolat-hely__sor {
    display: flex;
    align-items: flex-start;
    gap: 0.4rem;
    color: var(--sm-text-muted);
    font-size: 0.9rem;
    line-height: 1.4;
}

.sm-kapcsolat-hely__sor .bi {
    margin-top: 0.12rem;
    color: var(--sm-gold);
}

.sm-kapcsolat-hely__muveletek {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.9rem;
    padding: 0 1rem 0.95rem;
}

.sm-kapcsolat-hely__muveletek a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--sm-charcoal);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}

.sm-kapcsolat-hely__muveletek a:hover,
.sm-kapcsolat-hely__muveletek a:focus {
    color: var(--sm-gold);
}

.sm-kapcsolat-terkep__keret {
    position: relative;
    min-height: 22rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--sm-border);
    border-radius: 0.45rem;
}

.sm-kapcsolat-terkep__keret iframe {
    display: block;
    width: 100%;
    height: 22rem;
    border: 0;
}

.sm-kapcsolat-terkep__nincs {
    margin: 0;
    padding: 2rem 1.25rem;
    color: var(--sm-text-muted);
    text-align: center;
}

.sm-kapcsolat-test {
    padding: 3.5rem 0 4.25rem;
    background: var(--sm-bg);
}

.sm-kapcsolat-oldalsav,
.sm-kapcsolat-urlap {
    height: 100%;
}

.sm-kapcsolat-blokk__cim {
    margin: 0 0 1.15rem;
    font-family: var(--sm-serif);
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-kapcsolat-csatornak {
    list-style: none;
    margin: 0 0 2.25rem;
    padding: 0;
}

.sm-kapcsolat-csatornak li {
    border-bottom: 1px solid var(--sm-border);
}

.sm-kapcsolat-csatornak li:first-child {
    border-top: 1px solid var(--sm-border);
}

.sm-kapcsolat-csatornak a {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.95rem 0.15rem;
    color: var(--sm-charcoal);
    text-decoration: none;
    font-weight: 500;
}

.sm-kapcsolat-csatornak a:hover,
.sm-kapcsolat-csatornak a:focus {
    color: var(--sm-gold);
}

.sm-kapcsolat-csatornak .bi {
    color: var(--sm-gold);
    font-size: 1.15rem;
}

.sm-kapcsolat-hirlevel {
    padding-top: 0.35rem;
}

.sm-kapcsolat-urlap {
    padding: 1.75rem 1.5rem 1.9rem;
    background: #fff;
    border: 1px solid var(--sm-border);
    border-radius: 0.45rem;
    box-shadow: 0 14px 32px rgba(44, 44, 44, 0.06);
}

.sm-kapcsolat-urlap .form-label,
.sm-kapcsolat-hirlevel .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-kapcsolat-urlap .form-control,
.sm-kapcsolat-urlap .form-select,
.sm-kapcsolat-hirlevel .form-control {
    min-height: 2.85rem;
    border-color: var(--sm-border);
    border-radius: 0.4rem;
    box-shadow: none;
}

.sm-kapcsolat-urlap textarea.form-control {
    min-height: 8rem;
}

.sm-kapcsolat-urlap .form-control:focus,
.sm-kapcsolat-urlap .form-select:focus,
.sm-kapcsolat-hirlevel .form-control:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-kapcsolat-helyszin {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.25rem;
}

.sm-kapcsolat-urlap .form-check-input:checked,
.sm-kapcsolat-hirlevel .form-check-input:checked {
    background-color: var(--sm-gold);
    border-color: var(--sm-gold);
}

.sm-kapcsolat-urlap .form-check-input:focus,
.sm-kapcsolat-hirlevel .form-check-input:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-kapcsolat-urlap__kuldes {
    width: 100%;
    box-shadow: 0 8px 18px rgba(181, 142, 79, 0.28);
}

.sm-kapcsolat-hirlevel .sm-btn--gold {
    box-shadow: 0 8px 18px rgba(181, 142, 79, 0.28);
}

.sm-kapcsolat-urlap__msg {
    margin: 0.9rem 0 0;
    font-size: 0.9rem;
}

.sm-kapcsolat-urlap__msg.is-ok {
    color: #2f6b45;
}

.sm-kapcsolat-urlap__msg.is-error {
    color: #a33b3b;
}

.sm-kapcsolat-urlap__form .is-invalid {
    border-color: #a33b3b;
}

.sm-kapcsolat-urlap__form.is-busy .sm-btn {
    pointer-events: none;
    opacity: 0.75;
}

.sm-kapcsolat-urlap__form.is-done .sm-btn {
    pointer-events: none;
}

@media (min-width: 992px) {
    .sm-kapcsolat-terkep__elrendezes {
        grid-template-columns: minmax(17rem, 22rem) minmax(0, 1fr);
        gap: 1.5rem;
    }

    .sm-kapcsolat-terkep__palya {
        position: sticky;
        top: calc(var(--sm-anchor-offset) + 0.75rem);
    }

    .sm-kapcsolat-terkep__keret,
    .sm-kapcsolat-terkep__keret iframe {
        min-height: 32rem;
        height: 32rem;
    }

    .sm-kapcsolat-urlap {
        padding: 2rem 2.1rem 2.15rem;
    }
}

@media (max-width: 575.98px) {
    .sm-subhero--kapcsolat .sm-subhero__actions,
    .sm-subhero--idopont .sm-subhero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .sm-subhero--kapcsolat .sm-subhero__actions .sm-btn,
    .sm-subhero--idopont .sm-subhero__actions .sm-btn {
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .sm-subhero--kapcsolat .sm-subhero__media img,
    .sm-subhero--idopont .sm-subhero__media img {
        max-height: 52vh;
        object-fit: cover;
        object-position: center right;
    }
}

.sm-footer__suti-gomb {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-size: 0.9rem;
    text-align: left;
    cursor: pointer;
}

.sm-footer__suti-gomb:hover,
.sm-footer__suti-gomb:focus-visible {
    color: var(--sm-gold);
    outline: none;
}

.sm-suti-sav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1080;
    background: var(--sm-bg);
    border-top: 4px solid var(--sm-gold);
    box-shadow: 0 -16px 40px rgba(28, 28, 28, 0.12);
    padding: 1.15rem 0 1.25rem;
}

html.sm-suti-kesz:not(.sm-suti-szerkeszt) .sm-suti-sav {
    display: none;
}

.sm-suti-sav__belso {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sm-suti-sav__szoveg {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
}

.sm-suti-sav__ikon {
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--sm-icon-bg);
    color: var(--sm-gold);
    font-size: 1.2rem;
}

.sm-suti-sav__kicker {
    margin: 0 0 0.15rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sm-gold);
    font-weight: 600;
}

.sm-suti-sav__cim {
    margin: 0 0 0.35rem;
    font-family: var(--sm-serif);
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--sm-charcoal);
}

.sm-suti-sav__lead {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--sm-text-muted);
}

.sm-suti-sav__linkek {
    margin: 0.45rem 0 0;
    font-size: 0.9rem;
}

.sm-suti-sav__linkek a {
    color: var(--sm-gold);
    text-decoration: underline;
}

.sm-suti-sav__linkek a:hover,
.sm-suti-sav__linkek a:focus-visible {
    color: var(--sm-gold-hover);
}

.sm-suti-sav__gombok {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.sm-suti-sav__gombok .sm-btn {
    min-height: 2.55rem;
}

.sm-suti-reszletek {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--sm-border);
    display: grid;
    gap: 0.85rem;
}

.sm-suti-kat {
    background: var(--sm-bg-alt);
    border: 1px solid var(--sm-border);
    padding: 0.9rem 1rem;
}

.sm-suti-kat__fej {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.sm-suti-kat__cim {
    margin: 0 0 0.25rem;
    font-family: var(--sm-serif);
    font-size: 1.05rem;
    color: var(--sm-charcoal);
}

.sm-suti-kat__leiras {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.45;
    color: var(--sm-text-muted);
}

.sm-suti-kat__statusz {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.5rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--sm-gold);
    background: var(--sm-icon-bg);
    color: var(--sm-gold);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sm-suti-kat__kapcsolo .form-check-input:checked,
.sm-suti-kat__kapcsolo .form-check-input:checked:disabled {
    background-color: var(--sm-gold);
    border-color: var(--sm-gold);
    opacity: 1;
}

.sm-suti-kat__kapcsolo .form-check-input:disabled {
    opacity: 1;
    filter: none;
}

.sm-suti-kat__kapcsolo .form-check-input:focus {
    border-color: var(--sm-gold);
    box-shadow: 0 0 0 0.2rem rgba(181, 142, 79, 0.18);
}

.sm-suti-reszletek__gombok {
    display: flex;
    justify-content: flex-end;
}

.sm-suti-fab {
    position: fixed;
    left: max(1.15rem, env(safe-area-inset-left));
    right: auto;
    bottom: calc(max(1.15rem, env(safe-area-inset-bottom)) + var(--sm-suti-pad));
    z-index: 1040;
    width: 2.75rem;
    height: 2.75rem;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0.55rem;
    background: var(--sm-charcoal);
    color: #fff;
    font-size: 1.2rem;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(44, 44, 44, 0.18);
    cursor: pointer;
}

html.sm-suti-kesz:not(.sm-suti-szerkeszt) .sm-suti-fab {
    display: inline-flex;
}

.sm-suti-fab:hover,
.sm-suti-fab:focus-visible {
    background: var(--sm-gold);
    color: #fff;
    outline: none;
}

@media (min-width: 768px) {
    .sm-suti-sav {
        padding: 1.35rem 0 1.45rem;
    }

    .sm-suti-sav__belso {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 1.5rem;
    }

    .sm-suti-sav__gombok {
        flex: 0 0 auto;
        justify-content: flex-end;
    }

    .sm-suti-kat__fej {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sm-suti-sav,
    .sm-suti-fab {
        transition: none;
    }
}

