/* =====================================================================
   Smile Design Center — saját sablon stíluslapja
   ====================================================================
   Letisztult, prémium egészségügyi megjelenés. Mobile-first, minimal
   dependency. Design tokenek :root változókban; sötét accent + meleg
   off-white páros.
   ===================================================================== */
/* ---------- 1. Design tokenek ---------- */
:root {
    --sdc-c-primary: #82a9b0;
    /* lágy dusty teal */
    --sdc-c-primary-dk: #5e8086;
    /* sötétebb dusty teal */
    --sdc-c-primary-lt: #a3c4ca;
    /* világosabb dusty teal */
    --sdc-c-accent: #bd9369;
    /* meleg arany */
    --sdc-c-heading: #bd9369;
    /* h1–h6 globális szín */
    --sdc-c-bg: #ffffff;
    --sdc-c-bg-soft: #f6f3ef;
    --sdc-c-bg-dark: #0d1f24;
    --sdc-c-text: #1f2a30;
    --sdc-c-muted: #5b6a72;
    --sdc-c-border: #e6e1d9;
    --sdc-c-error: #b3261e;
    --sdc-radius-sm: 6px;
    --sdc-radius-md: 12px;
    --sdc-radius-lg: 20px;
    --sdc-shadow-sm: 0 1px 2px rgba(13, 31, 36, .06), 0 1px 3px rgba(13, 31, 36, .08);
    --sdc-shadow-md: 0 4px 12px rgba(13, 31, 36, .08), 0 2px 4px rgba(13, 31, 36, .04);
    --sdc-shadow-lg: 0 12px 32px rgba(13, 31, 36, .12), 0 4px 8px rgba(13, 31, 36, .06);
    --sdc-font: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --sdc-font-heading: "Urbanist", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    --sdc-font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
    --sdc-fs-xs: 0.8125rem;
    --sdc-fs-sm: 0.9375rem;
    --sdc-fs-md: 1rem;
    --sdc-fs-lg: 1.125rem;
    --sdc-fs-xl: 1.375rem;
    --sdc-fs-2xl: 1.75rem;
    --sdc-fs-3xl: 2.25rem;
    --sdc-fs-4xl: 3rem;
    --sdc-fs-5xl: 3.75rem;
    --sdc-container: 1200px;
    --sdc-gap-sm: 12px;
    --sdc-gap: 24px;
    --sdc-gap-lg: 48px;
    --sdc-header-h: 84px;
    --sdc-topbar-h: 38px;
    --sdc-ease: cubic-bezier(.4, .14, .3, 1);
    --sdc-dur: .25s;
}
/* ---------- 2. Reset / alapok ---------- */
*, *::before, *::after {
    box-sizing: border-box;
}
html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    overflow-x: clip;
    /* dokumentum-szintű H overflow-vágás */
}
body {
    margin: 0;
    font-family: var(--sdc-font);
    font-size: var(--sdc-fs-md);
    line-height: 1.6;
    color: var(--sdc-c-text);
    background: var(--sdc-c-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* overflow-x: clip — vágja a vízszintes túlcsordulást, DE nem hoz létre
       scroll-konténert (szemben az overflow-x: hidden-nel), így a leszármazott
       position: sticky elemek továbbra is működnek (pl. .pricetable th, .sdc-header). */
    overflow-x: clip;
    max-width: 100vw;
}
img, svg, video {
    max-width: 100%;
    height: auto;
    display: block;
}
a {
    color: var(--sdc-c-primary);
    text-decoration: none;
    transition: color var(--sdc-dur) var(--sdc-ease);
}
a:hover, a:focus-visible {
    color: var(--sdc-c-primary-dk);
}
:focus-visible {
    outline: 2px solid var(--sdc-c-primary);
    outline-offset: 3px;
    border-radius: 3px;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--sdc-font-heading);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--sdc-c-heading);
    margin: 0 0 .5em;
}
h1 {
    font-size: clamp(1.875rem, 1.4rem + 2.4vw, 3rem);
}
h2 {
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
}
h3 {
    font-size: clamp(1.25rem, 1.1rem + .8vw, 1.625rem);
}
h4 {
    font-size: var(--sdc-fs-lg);
}
p {
    margin: 0 0 1em;
}
/* ---------- 3. Util ---------- */
.sdc-container {
    width: 100%;
    max-width: var(--sdc-container);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 32px);
}
.sdc-visually-hidden,
.sdc-visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
.sdc-visually-hidden-focusable:focus,
.sdc-visually-hidden-focusable:focus-within {
    position: absolute;
    left: 16px;
    top: 16px;
    width: auto;
    height: auto;
    padding: 12px 16px;
    background: var(--sdc-c-bg-dark);
    color: #fff;
    border-radius: var(--sdc-radius-sm);
    z-index: 10000;
}
.sdc-skip-link {
    background: #fff;
    color: var(--sdc-c-primary-dk);
}
.sdc-eyebrow {
    display: inline-block;
    font-size: var(--sdc-fs-xs);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 600;
    color: var(--sdc-c-primary);
    margin-bottom: 8px;
}
.sdc-eyebrow--light {
    color: var(--sdc-c-accent);
}
/* ---------- 4. Top bar — modern, dental theme ---------- */
.sdc-icon {
    width: 14px;
    height: 14px;
    fill: currentColor;
    flex: 0 0 auto;
    vertical-align: middle;
}
.sdc-icon--inline {
    width: 16px;
    height: 16px;
}
.sdc-topbar {
    background: linear-gradient(135deg, var(--sdc-c-bg-dark) 0%, var(--sdc-c-primary-dk) 100%);
    color: rgba(255, 255, 255, .92);
    font-size: var(--sdc-fs-xs);
    padding-block: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.sdc-topbar a {
    color: rgba(255, 255, 255, .92);
    text-decoration: none;
    transition: color var(--sdc-dur) var(--sdc-ease);
}
.sdc-topbar a:hover {
    color: var(--sdc-c-accent);
}
.sdc-topbar__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    min-height: 28px;
}
.sdc-topbar__locations,
.sdc-topbar__contact {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}
.sdc-topbar__locations li,
.sdc-topbar__contact li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
}
.sdc-topbar__locations .sdc-icon,
.sdc-topbar__contact .sdc-icon {
    color: var(--sdc-c-accent);
    width: 14px;
    height: 14px;
}
.sdc-topbar strong {
    color: #fff;
    font-weight: 600;
    margin-right: 2px;
}
.sdc-topbar__phone,
.sdc-topbar__email {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    transition: color var(--sdc-dur) var(--sdc-ease);
}
.sdc-topbar__lang {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, .16);
}
.sdc-topbar__lang:empty {
    display: none;
}
@media (max-width: 1024px) {
    .sdc-topbar__locations {
        gap: 12px;
    }
    .sdc-topbar__locations li {
        font-size: 11px;
    }
}
@media (max-width: 768px) {
    .sdc-topbar__row {
        flex-direction: column;
        align-items: center;
        gap: 4px;
        text-align: center;
    }
    .sdc-topbar__locations {
        display: none;
    }
    /* Csak a kontakt sor látszik mobilon: telefon + email, lehetőleg
       egymás mellett (flex-row + wrap). Ha nem fér ki a viewportbe,
       automatikusan stack-elnek alá-alá, és középen igazítva maradnak. */
    .sdc-topbar__contact {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px 16px;
        /* row-gap | column-gap — wrap esetén kompakt függőleges térköz */
        justify-content: center;
        row-gap: 4px;
    }
    .sdc-topbar__contact>li {
        flex: 0 1 auto;
        max-width: 100%;
    }
    .sdc-topbar__phone,
    .sdc-topbar__email {
        gap: 6px;
        font-size: 13px;
    }
    .sdc-topbar__contact .sdc-icon {
        width: 13px;
        height: 13px;
        flex: 0 0 auto;
    }
}
@media (max-width: 480px) {
    .sdc-topbar__hours {
        display: none;
    }
}
/* ---------- 5. Header — sticky, glass, accent vonallal ---------- */
.sdc-header {
    background: rgba(255, 255, 255, .94);
    backdrop-filter: saturate(160%) blur(12px);
    -webkit-backdrop-filter: saturate(160%) blur(12px);
    border-bottom: 1px solid rgba(230, 225, 217, .8);
    position: sticky;
    top: 0;
    z-index: 100;
    transition: box-shadow var(--sdc-dur) var(--sdc-ease), background var(--sdc-dur) var(--sdc-ease);
}
/* Vékony teal-arany accent vonal a header alján */
.sdc-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--sdc-c-primary) 30%, var(--sdc-c-accent) 70%, transparent 100%);
    opacity: .5;
    pointer-events: none;
}
.sdc-header.is-scrolled {
    box-shadow: 0 6px 20px rgba(13, 31, 36, .08);
    background: rgba(255, 255, 255, .98);
}
.sdc-header__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--sdc-header-h);
    gap: 24px;
}
.sdc-header__brand {
    flex: 0 0 auto;
    line-height: 0;
}
.sdc-header__logo-link {
    display: inline-block;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-header__logo-link:hover {
    transform: scale(1.02);
}
.sdc-header__logo {
    display: block;
    max-height: 80px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.sdc-header__site-title {
    font-weight: 700;
    font-size: var(--sdc-fs-xl);
    color: var(--sdc-c-bg-dark);
}
/* CTA gomb a header-ben */
.sdc-btn--cta {
    white-space: nowrap;
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-lt) 100%);
    box-shadow: 0 4px 14px rgba(10, 107, 107, .3);
}
.sdc-btn--cta:hover {
    background: linear-gradient(135deg, var(--sdc-c-primary-dk) 0%, var(--sdc-c-primary) 100%);
    box-shadow: 0 6px 20px rgba(10, 107, 107, .4);
}
.sdc-btn--cta .sdc-icon {
    color: #fff;
}
.sdc-menu-toggle {
    background: none;
    border: 0;
    padding: 12px;
    cursor: pointer;
    display: none;
    border-radius: var(--sdc-radius-sm);
    color: var(--sdc-c-bg-dark);
}
.sdc-menu-toggle__bars {
    display: block;
    width: 26px;
    height: 18px;
    position: relative;
}
.sdc-menu-toggle__bars span {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform var(--sdc-dur) var(--sdc-ease), opacity var(--sdc-dur) var(--sdc-ease), top var(--sdc-dur) var(--sdc-ease);
}
.sdc-menu-toggle__bars span:nth-child(1) {
    top: 0;
}
.sdc-menu-toggle__bars span:nth-child(2) {
    top: 8px;
}
.sdc-menu-toggle__bars span:nth-child(3) {
    top: 16px;
}
.sdc-menu-toggle[aria-expanded="true"] .sdc-menu-toggle__bars span:nth-child(1) {
    top: 8px;
    transform: rotate(45deg);
}
.sdc-menu-toggle[aria-expanded="true"] .sdc-menu-toggle__bars span:nth-child(2) {
    opacity: 0;
}
.sdc-menu-toggle[aria-expanded="true"] .sdc-menu-toggle__bars span:nth-child(3) {
    top: 8px;
    transform: rotate(-45deg);
}
/* ---------- 6. Navigáció ---------- */
.sdc-primary-nav {
    display: flex;
    align-items: center;
    gap: 24px;
}
.sdc-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 4px;
    align-items: center;
}
.sdc-menu li {
    position: relative;
}
.sdc-menu a {
    display: inline-block;
    padding: 10px 14px;
    font-weight: 500;
    color: var(--sdc-c-text);
    border-radius: var(--sdc-radius-sm);
    transition: background var(--sdc-dur) var(--sdc-ease), color var(--sdc-dur) var(--sdc-ease);
}
.sdc-menu a:hover, .sdc-menu .is-current>a {
    background: rgba(10, 107, 107, .08);
    color: var(--sdc-c-primary-dk);
}
.sdc-menu .has-children>a::after {
    content: "";
    display: inline-block;
    margin-left: 6px;
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    vertical-align: middle;
}
/* Hover bridge — átlátszó híd a parent menüpont és a fixed-pozíciójú submenu között.
   Anélkül a 84px-es header alatti rés miatt a hover megszakad mire a kurzor odaér. */
.sdc-menu>li.has-children::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 28px;
    background: transparent;
    pointer-events: auto;
    /* csak akkor aktív, ha a parent valóban hover-elt — különben blokkolná a page content kattintásait */
    display: none;
}
.sdc-menu>li.has-children:hover::after,
.sdc-menu>li.has-children:focus-within::after {
    display: block;
}
/* Mega-menu — első szintű submenü, max-1200px konténer szélességig,
   középre igazítva, vékony függőleges 1px separator vonalakkal */
.sdc-menu>li>.sub-menu {
    list-style: none;
    margin: 0;
    padding: clamp(20px, 2.4vw, 32px);
    /* Pozícionálás: közvetlenül a header alá, az `.sdc-container`-rel megegyező
       outer-width-tel és vízszintes pozícióval.
       left/right = max(container-padding, (viewport - container-max) / 2)
       → ≥(container-max + 2*padding) viewporton: középre, container-max szélesen
       → keskenyebbre: viewport-szélesen, container-padding-gel. */
    position: fixed;
    top: var(--sdc-header-h);
    left: max(clamp(16px, 4vw, 32px), calc((100vw - var(--sdc-container)) / 2));
    right: max(clamp(16px, 4vw, 32px), calc((100vw - var(--sdc-container)) / 2));
    width: auto;
    max-width: var(--sdc-container);
    background: rgba(255, 255, 255, .98);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: var(--sdc-radius-lg);
    border: 1px solid rgba(190, 178, 158, .35);
    box-shadow:
        0 24px 60px rgba(13, 31, 36, .14),
        0 4px 12px rgba(13, 31, 36, .06);
    /* CSS columns — auto-distributing oszlopok 1px column-rule-lel */
    display: block !important;
    columns: 4 200px;
    column-gap: clamp(20px, 2.5vw, 36px);
    column-rule: 1px solid rgba(13, 31, 36, .08);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    /* a zárt panel NE fogadjon hover/click eseményt */
    transform: translateY(-12px);
    transition: opacity .22s var(--sdc-ease),
        transform .22s var(--sdc-ease),
        visibility 0s linear .22s;
    z-index: 95;
}
/* Submenu felső oldali hover-híd — a parent felé biztosítja a folyamatos hover-t */
.sdc-menu>li>.sub-menu::before {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    height: 20px;
    background: transparent;
    pointer-events: none;
}
#sdc-primary-menu .sdc-menu>li:hover>.sub-menu::before,
#sdc-primary-menu .sdc-menu>li:focus-within>.sub-menu::before {
    pointer-events: auto;
}
/* Csak akkor nyílik, ha az egér explicit a #sdc-primary-menu nav fölött van.
   `:hover` propagáció a `<li>`-re csak akkor, ha a cursor ténylegesen a nav-on van. */
#sdc-primary-menu .sdc-menu>li:hover>.sub-menu,
#sdc-primary-menu .sdc-menu>li:focus-within>.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}
/* Az oszlopok közötti elem-nem-tördelés */
.sdc-menu>li>.sub-menu>li {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 2px;
}
/* Mega-menu item stílusa */
.sdc-menu>li>.sub-menu>li>a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--sdc-c-text);
    border-radius: var(--sdc-radius-sm);
    transition: background var(--sdc-dur), color var(--sdc-dur), padding-left var(--sdc-dur);
    line-height: 1.35;
    border-bottom: 0;
    text-decoration: none;
}
.sdc-menu>li>.sub-menu>li>a::before {
    content: "›";
    color: var(--sdc-c-primary);
    font-weight: 700;
    flex: 0 0 auto;
    transition: transform var(--sdc-dur);
}
.sdc-menu>li>.sub-menu>li>a:hover {
    background: rgba(130, 169, 176, .1);
    color: var(--sdc-c-primary-dk);
    padding-left: 16px;
}
.sdc-menu>li>.sub-menu>li>a:hover::before {
    transform: translateX(2px);
}
/* List-style reset — minden szintű menü elemen, hogy a default ■/• bullet
   biztosan ne látszódjon a sub-sub szinteken sem. */
.sdc-menu,
.sdc-menu ul,
.sdc-menu li,
.sdc-menu .sub-menu,
.sdc-menu .sub-menu .sub-menu,
.sdc-menu .sub-menu li {
    list-style: none;
    list-style-type: none;
}
.sdc-menu li::marker,
.sdc-menu .sub-menu li::marker {
    content: "";
}
/* Másodlagos szintű (sub-sub-menu) — elegáns "tree-branch" indented lista */
.sdc-menu>li>.sub-menu .sub-menu {
    position: static;
    width: auto;
    max-width: none;
    display: block !important;
    columns: 1 !important;
    column-rule: none !important;
    padding: 6px 0 4px 14px !important;
    margin: 4px 0 8px 6px !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 2px solid rgba(189, 147, 105, .3) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
.sdc-menu>li>.sub-menu .sub-menu>li {
    margin: 0;
    list-style: none;
}
.sdc-menu>li>.sub-menu .sub-menu>li>a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--sdc-c-muted);
    border-radius: var(--sdc-radius-sm);
    text-decoration: none;
    line-height: 1.4;
    transition: background var(--sdc-dur), color var(--sdc-dur), padding-left var(--sdc-dur);
}
/* Régebbi "·" / "›" prefix eltávolítása — most a bal vertikális accent vonal helyett */
.sdc-menu>li>.sub-menu .sub-menu>li>a::before {
    content: "";
    width: 6px;
    height: 1px;
    background: rgba(189, 147, 105, .5);
    flex: 0 0 auto;
    transition: width var(--sdc-dur), background var(--sdc-dur);
}
.sdc-menu>li>.sub-menu .sub-menu>li>a:hover {
    background: rgba(130, 169, 176, .08);
    color: var(--sdc-c-primary-dk);
    padding-left: 14px;
}
.sdc-menu>li>.sub-menu .sub-menu>li>a:hover::before {
    width: 12px;
    background: var(--sdc-c-accent);
}
/* ============================================================
   NARROW DROPDOWN — kevés gyermekű menükhöz (pl. Galéria)
   Ha az almenüben legfeljebb 4 elem van, NEM mega-menü-stílusban,
   hanem keskeny (max 300px), parent alatt elhelyezve.
   ============================================================ */
.sdc-menu>li {
    position: relative;
}
/* Selector: van submenü, DE nincs benne 5. gyermek (ergo ≤ 4 elem) */
.sdc-menu>li.has-children:not(:has(> .sub-menu > li:nth-child(5)))>.sub-menu {
    /* Pozíció: ugyanazon vertikális szinten kezdődik mint a mega-menü
       (a header alja alatt), bal-igazítva a parent menüpont bal széléhez */
    position: absolute;
    top: 142%;
    left: 0;
    right: auto;
    width: 200px;
    max-width: 200px;
    margin: 0;
    padding: 10px;
    /* Egy oszlop, nincs vertikális vonal */
    columns: 1;
    column-rule: none;
}
/* ---------- 7. Buttons ---------- */
.sdc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 12px 22px;
    font-weight: 600;
    font-size: var(--sdc-fs-sm);
    text-align: center;
    border-radius: 999px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform var(--sdc-dur) var(--sdc-ease),
        background var(--sdc-dur) var(--sdc-ease),
        color var(--sdc-dur) var(--sdc-ease),
        border-color var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease);
    text-decoration: none;
}
.sdc-btn:hover {
    transform: translateY(-1px);
    box-shadow: var(--sdc-shadow-md);
}
.sdc-btn:active {
    transform: translateY(0);
}
.sdc-btn-primary {
    background: var(--sdc-c-primary);
    color: #fff;
}
.sdc-btn-primary:hover {
    background: var(--sdc-c-primary-dk);
    color: #fff;
}
.sdc-btn-secondary {
    background: var(--sdc-c-accent);
    color: var(--sdc-c-bg-dark);
}
.sdc-btn-secondary:hover {
    background: #b9986a;
    color: var(--sdc-c-bg-dark);
}
.sdc-btn-outline {
    background: transparent;
    color: var(--sdc-c-primary);
    border-color: var(--sdc-c-primary);
}
.sdc-btn-outline:hover {
    background: var(--sdc-c-primary);
    color: #fff;
}
.sdc-btn-ghost {
    background: rgba(255, 255, 255, .12);
    color: #fff;
    border-color: rgba(255, 255, 255, .5);
    backdrop-filter: blur(4px);
}
.sdc-btn-ghost:hover {
    background: rgba(255, 255, 255, .2);
    color: #fff;
}
.sdc-btn--cta {
    white-space: nowrap;
}
/* ---------- 8. Hero slider — premium dental ---------- */
.sdc-hero {
    position: relative;
    overflow: hidden;
    background: var(--sdc-c-bg-dark);
    color: #fff;
    isolation: isolate;
}
/* Hero alá hullám-divider */
.sdc-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 60px;
    background:
        radial-gradient(ellipse at 20% 100%, var(--sdc-c-bg) 50%, transparent 51%),
        radial-gradient(ellipse at 80% 100%, var(--sdc-c-bg) 50%, transparent 51%),
        linear-gradient(180deg, transparent 50%, var(--sdc-c-bg) 50%);
    background-size: 60% 100%, 60% 100%, 100% 100%;
    background-repeat: no-repeat;
    background-position: 0 100%, 100% 100%, 0 0;
    z-index: 3;
    pointer-events: none;
    display: none;
    /* a hullám divider opcionális, alapból kikapcsolva */
}
.sdc-hero__track {
    display: flex;
    transition: transform .6s var(--sdc-ease);
    will-change: transform;
}
.sdc-hero__slide {
    position: relative;
    flex: 0 0 100%;
    /* 20%-kal alacsonyabb a desktop hero — kompaktabb, modern arány. */
    min-height: clamp(432px, 64vh, 656px);
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
}
/* Ken Burns wrapper — a kép lassan zoom-ol az auto-rotate alatt */
.sdc-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.sdc-hero__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform .6s var(--sdc-ease);
}
.sdc-hero__slide[aria-hidden="false"] .sdc-hero__image {
    animation: sdc-hero-kenburns 18s ease-out forwards;
}
@keyframes sdc-hero-kenburns {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.08);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sdc-hero__slide[aria-hidden="false"] .sdc-hero__image {
        animation: none;
    }
}
/* Multi-layer overlay — diagonal gradient + meleg gold accent + hűvös teal */
.sdc-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        /* Bal oldal: erős sötét overlay → readability a content-zónán */
        linear-gradient(105deg,
            rgba(13, 31, 36, .85) 0%,
            rgba(13, 31, 36, .65) 30%,
            rgba(13, 31, 36, .35) 55%,
            rgba(13, 31, 36, .1) 75%,
            transparent 100%),
        /* Jobb felső sarok: meleg gold radial — premium érzés */
        radial-gradient(ellipse at 85% 15%, rgba(189, 147, 105, .25) 0%, transparent 50%),
        /* Bal alsó sarok: hűvös teal radial — brand színpaletta */
        radial-gradient(ellipse at 10% 90%, rgba(94, 128, 134, .35) 0%, transparent 55%);
}
/* Slide 0 (text nélküli kép-only) — minimális overlay csak a CTA-k alatt,
   hogy a kép tartalma maximálisan látható maradjon, de a CTA gombok kontrasztosak */
.sdc-hero__overlay--soft {
    background:
        linear-gradient(0deg, rgba(13, 31, 36, .6) 0%, rgba(13, 31, 36, .25) 25%, transparent 50%);
}
/* Slide 0 layout — csak a CTA-k jelennek meg, alulra igazítva */
.sdc-hero__content--actions-only {
    align-self: flex-end;
    margin-top: auto;
    padding-bottom: clamp(8px, 2vw, 24px);
}
.sdc-hero__content--actions-only .sdc-hero__actions {
    margin-top: 0;
}
/* A slide-flex layout-ban a slide bottomon helyezzük el a CTA-csoportot */
.sdc-hero__slide:has(.sdc-hero__content--actions-only) {
    align-items: flex-end;
}
/* Decorative tooth SVG pattern — finom, alig látható, brand jelkép */
.sdc-hero__decor {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        /* Nagy fog jobb-felül, halvány gold */
        url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bd9369' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2c-2 0-3 1.2-3 3 0 1.5-1 2-2 2-1.5 0-3 1-3 3 0 2 1 3 1 5 0 3 2 7 4 7 1 0 1.5-1 1.5-3 0-1.5.5-2 1.5-2s1.5.5 1.5 2c0 2 .5 3 1.5 3 2 0 4-4 4-7 0-2 1-3 1-5 0-2-1.5-3-3-3-1 0-2-.5-2-2 0-1.8-1-3-3-3z'/%3E%3C/svg%3E") top 40px right 60px / 200px 200px no-repeat;
    opacity: .15;
}
.sdc-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    /* Padding-block 20%-kal csökkentve a kompaktabb hero-hoz */
    padding-block: clamp(44px, 6.4vw, 76px);
}
.sdc-hero__content {
    max-width: min(820px, 70%);
    color: #fff;
}
@media (max-width: 900px) {
    .sdc-hero__content {
        max-width: 100%;
    }
}
.sdc-hero__content:not(:empty) {
    text-shadow: 0 2px 12px rgba(0, 0, 0, .45);
}
/* Eyebrow chip — kis pill ikonnal a heading előtt */
.sdc-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    margin-bottom: 16px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(189, 147, 105, .55);
    border-radius: 999px;
    color: #fff;
    font-family: var(--sdc-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    text-shadow: none;
}
.sdc-hero__eyebrow svg {
    width: 14px;
    height: 14px;
    fill: var(--sdc-c-accent);
    flex: 0 0 14px;
}
/* Text wrapper — wraps user-rendered h2 + p content */
.sdc-hero__text {
    margin: 0;
}
/* A user-rendered content (h1-h3 / p / strong / em) erőteljesen méretezett —
   a hero látvány-orientált design-ot követi: óriási heading, hangsúlyos
   sub-text, gold accent strong elemekre. */
.sdc-hero__content h1,
.sdc-hero__content h2,
.sdc-hero__content h3 {
    font-family: var(--sdc-font);
    /* Inter — a default Urbanist heading font helyett.
       Méret ~15%-kal csökkentve a 20%-kal alacsonyabb hero-hoz, hogy az arány
       megmaradjon. */
    font-size: clamp(2.5rem, .8rem + 5.7vw, 5.6rem);
    line-height: .95;
    margin: 0 0 22px;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #fff;
    text-transform: uppercase;
}
/* h2-specifikus margin-bottom — szorosan a következő content (p / strong)
   alá ragadva, ahol a heading + sub-message egy "stack"-ként látszik. */
.sdc-hero__content h2 {
    margin-bottom: 5px;
}
/* h3 — kérésre MINDEN képernyőméreten egy sorban marad (per <br>-elválasztott
   sor). 20%-kal nagyobb mint a korábbi clamp + white-space: nowrap. */
.sdc-hero__content h3 {
    font-size: clamp(2.1rem, 1.2rem + 4.2vw, 6rem);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
/* Paragraph kb. 90%-ot tölt ki a heading-szélességből — nagyobb font + tighter
   line-height ad design-os, hangsúlyos sub-message érzetet (a "Már 110.000 Ft-tól"
   árazás-felirat tipikus karakterét adja vissza). */
.sdc-hero__content p {
    font-family: var(--sdc-font);
    /* Inter — 20%-kal nagyobb font, mint a korábbi clamp */
    font-size: clamp(1.5rem, .78rem + 2.4vw, 2.7rem);
    line-height: 1.15;
    margin: 0 0 18px;
    font-weight: 600;
    color: #fff;
    max-width: 90%;
}
.sdc-hero__content p:last-child {
    margin-bottom: 0;
}
/* Strong/em — gold accent emelt szövegekhez (pl. "Már 110.000 Ft-tól" árazás) */
.sdc-hero__content strong,
.sdc-hero__content b {
    color: var(--sdc-c-accent);
    font-weight: 800;
}
.sdc-hero__content em {
    color: var(--sdc-c-accent);
    font-style: normal;
    font-weight: 700;
}
/* A régi BEM-osztályok (sdc-hero__title / __sub) is kapnak méretet, ha
   valahol használatban vannak — a content-render h1/h2/h3 már fent kezelt. */
.sdc-hero__title {
    font-size: clamp(3rem, 1rem + 7vw, 7rem);
    margin-bottom: 28px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -.02em;
    line-height: .95;
}
.sdc-hero__sub {
    font-size: clamp(1.5rem, .8rem + 2.4vw, 2.75rem);
    color: rgba(255, 255, 255, .95);
    margin-bottom: 22px;
    font-weight: 600;
    line-height: 1.15;
    max-width: 90%;
}
.sdc-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}
/* CTA gombok — primary (gold gradient pill) + secondary (white outline) */
.sdc-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 28px;
    border-radius: 999px;
    font-family: var(--sdc-font);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .01em;
    text-decoration: none;
    transition: transform var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease),
        background var(--sdc-dur) var(--sdc-ease),
        color var(--sdc-dur) var(--sdc-ease);
    text-shadow: none;
    cursor: pointer;
    white-space: nowrap;
}
.sdc-hero__cta svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: currentColor;
}
.sdc-hero__cta--primary {
    background: linear-gradient(135deg, #d4a574 0%, var(--sdc-c-accent) 100%);
    color: #fff;
    box-shadow: 0 12px 28px -10px rgba(189, 147, 105, .65), 0 4px 10px -4px rgba(13, 31, 36, .35);
}
.sdc-hero__cta--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px -12px rgba(189, 147, 105, .75), 0 6px 14px -4px rgba(13, 31, 36, .4);
    color: #fff;
}
.sdc-hero__cta--primary:hover svg {
    transform: translateX(3px);
}
.sdc-hero__cta--primary svg {
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-hero__cta--secondary {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, .55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.sdc-hero__cta--secondary:hover {
    background: rgba(255, 255, 255, .96);
    color: var(--sdc-c-bg-dark);
    border-color: rgba(255, 255, 255, .96);
}
/* Trust strip a CTA alatt — ★ rating + év + kezelés szám */
.sdc-hero__trust {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .15);
    color: rgba(255, 255, 255, .92);
    font-family: var(--sdc-font);
    font-size: 14px;
}
.sdc-hero__trust-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.sdc-hero__trust-item strong {
    color: #fff;
    font-weight: 800;
    font-size: 16px;
}
.sdc-hero__trust-item span {
    color: rgba(255, 255, 255, .85);
}
.sdc-hero__stars {
    display: inline-flex;
    gap: 2px;
    margin-right: 4px;
}
.sdc-hero__stars svg {
    width: 14px;
    height: 14px;
    fill: #FBBC05;
}
.sdc-hero__trust-sep {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .35);
    flex: 0 0 4px;
}
@media (max-width: 600px) {
    .sdc-hero__trust {
        gap: 14px;
    }
    .sdc-hero__trust-sep {
        display: none;
    }
}
.sdc-hero__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, .35);
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    z-index: 5;
    transition: background var(--sdc-dur) var(--sdc-ease),
        border-color var(--sdc-dur) var(--sdc-ease),
        transform var(--sdc-dur) var(--sdc-ease);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sdc-hero__nav svg {
    width: 22px;
    height: 22px;
}
.sdc-hero__nav:hover {
    background: rgba(255, 255, 255, .92);
    border-color: rgba(255, 255, 255, .92);
    color: var(--sdc-c-bg-dark);
    transform: translateY(-50%) scale(1.05);
}
.sdc-hero__nav--prev {
    left: 24px;
}
.sdc-hero__nav--next {
    right: 24px;
}
@media (max-width: 640px) {
    .sdc-hero__nav {
        width: 40px;
        height: 40px;
    }
    .sdc-hero__nav--prev {
        left: 12px;
    }
    .sdc-hero__nav--next {
        right: 12px;
    }
}
.sdc-hero__dots {
    position: absolute;
    left: 50%;
    bottom: 32px;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 5;
}
/* Progress-bar style dotok — vékony pillek, az aktív kitöltődik az auto-rotate
   alatt (6s = az autoplay interval). */
.sdc-hero__dot {
    position: relative;
    width: 36px;
    height: 3px;
    border-radius: 2px;
    background: rgba(255, 255, 255, .3);
    border: 0;
    cursor: pointer;
    padding: 0;
    overflow: hidden;
    transition: width var(--sdc-dur) var(--sdc-ease), background var(--sdc-dur) var(--sdc-ease);
}
.sdc-hero__dot:hover {
    background: rgba(255, 255, 255, .55);
}
.sdc-hero__dot.is-active {
    width: 56px;
    background: rgba(255, 255, 255, .35);
}
.sdc-hero__dot-progress {
    position: absolute;
    inset: 0;
    width: 0;
    background: #fff;
    border-radius: inherit;
}
.sdc-hero__dot.is-active .sdc-hero__dot-progress {
    animation: sdc-hero-dot-progress 6s linear forwards;
}
@keyframes sdc-hero-dot-progress {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}
@media (prefers-reduced-motion: reduce) {
    .sdc-hero__dot.is-active .sdc-hero__dot-progress {
        animation: none;
        width: 100%;
    }
}
/* Scroll indicator — bal alsó sarokban "Görgessen tovább" + lefelé chevron */
.sdc-hero__scroll {
    position: absolute;
    left: clamp(16px, 4vw, 40px);
    bottom: 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, .85);
    font-family: var(--sdc-font);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 5;
    transition: color var(--sdc-dur) var(--sdc-ease);
}
.sdc-hero__scroll:hover {
    color: #fff;
}
.sdc-hero__scroll-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 50%;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: sdc-hero-scroll-bounce 2s ease-in-out infinite;
}
.sdc-hero__scroll-icon svg {
    width: 14px;
    height: 14px;
    color: currentColor;
}
@keyframes sdc-hero-scroll-bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(4px);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sdc-hero__scroll-icon {
        animation: none;
    }
}
@media (max-width: 768px) {
    .sdc-hero__scroll-text {
        display: none;
    }
}
/* ─── Mobile (≤768px) hero — kompakt 300px height, minden elem skálázva ───
   A user-igény: a teljes hero ne magasítsa el a viewportot, csak 300px legyen.
   Erre kompenzálva minden belső elem (kép-position, padding, font, dot, scroll)
   méretét csökkentjük. */
@media (max-width: 768px) {
    .sdc-hero,
    .sdc-hero__slide {
        min-height: 300px;
        max-height: 300px;
        height: 300px;
    }
    .sdc-hero__inner {
        padding-block: 20px;
    }
    .sdc-hero__content {
        max-width: 100%;
    }
    /* Eyebrow chip kisebb */
    .sdc-hero__eyebrow {
        padding: 4px 10px;
        font-size: 10px;
        margin-bottom: 8px;
        letter-spacing: .1em;
    }
    .sdc-hero__eyebrow svg {
        width: 11px;
        height: 11px;
    }
    /* Heading — clamp már mobilra is kicsiráz, plusz tighter line-height */
    .sdc-hero__content h1,
    .sdc-hero__content h2,
    .sdc-hero__content h3,
    .sdc-hero__title {
        font-size: clamp(1.5rem, 7vw, 2.25rem);
        margin-bottom: 4px;
    }
    .sdc-hero__content p,
    .sdc-hero__sub {
        font-size: clamp(.9rem, 3.4vw, 1.1rem);
        margin-bottom: 8px;
        max-width: 100%;
    }
    /* CTA kompaktabb mobilon */
    .sdc-hero__actions {
        margin-top: 10px;
        gap: 8px;
    }
    .sdc-hero__cta {
        padding: 9px 16px;
        font-size: 13px;
        gap: 6px;
    }
    .sdc-hero__cta svg {
        width: 14px;
        height: 14px;
        flex: 0 0 14px;
    }
    /* Trust strip mobilon a kis hero-magasság miatt elrejtve — nem férne be */
    .sdc-hero__trust {
        display: none;
    }
    /* Scroll indicator mobilon nem kell — kis hero-magasság miatt felesleges */
    .sdc-hero__scroll {
        display: none;
    }
    /* Nav buttonök mobilon az alsó-szélen, nem középen — bottom-pozícionálás */
    .sdc-hero__nav {
        width: 36px;
        height: 36px;
        top: auto;
        bottom: 10px;
        transform: none;
    }
    .sdc-hero__nav:hover {
        transform: scale(1.05);
    }
    .sdc-hero__nav svg {
        width: 16px;
        height: 16px;
    }
    /* Dotok kompaktabb pozícióban */
    .sdc-hero__dots {
        bottom: 12px;
        gap: 8px;
    }
    .sdc-hero__dot {
        width: 24px;
        height: 2px;
    }
    .sdc-hero__dot.is-active {
        width: 36px;
    }
}
.sdc-hero--fallback .sdc-hero__inner {
    padding-block: 96px;
}
.sdc-hero--fallback {
    background: linear-gradient(120deg, var(--sdc-c-bg-dark), var(--sdc-c-primary-dk) 80%);
}
/* ---------- 9. Sections ---------- */
.sdc-section {
    padding-block: clamp(48px, 4vw + 32px, 96px);
}
.sdc-section__header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 40px;
}
.sdc-section__title {
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
}
.sdc-section__lead {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-lg);
}
.sdc-section__cta {
    text-align: center;
    margin-top: 32px;
}
/* ---------- 10.0 Hír kártya — kompakt, modern (Legfrissebb híreink + archívum) ---------- */
.sdc-card--post {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    transition: transform var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease),
        border-color var(--sdc-dur) var(--sdc-ease);
    position: relative;
}
.sdc-card--post:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(13, 31, 36, .1);
    border-color: rgba(130, 169, 176, .35);
}
.sdc-card--post .sdc-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none !important;
}
.sdc-card--post .sdc-card__media {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: var(--sdc-c-bg-soft);
}
.sdc-card--post .sdc-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s var(--sdc-ease);
}
.sdc-card--post:hover .sdc-card__image {
    transform: scale(1.05);
}
.sdc-card--post .sdc-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255, 255, 255, .92);
    color: var(--sdc-c-primary-dk);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 4px 10px;
    border-radius: 999px;
    backdrop-filter: blur(4px);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}
.sdc-card--post .sdc-card__body {
    padding: 22px 22px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.sdc-card--post .sdc-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--sdc-c-muted);
    letter-spacing: .02em;
}
.sdc-card--post .sdc-card__meta time {
    font-weight: 600;
    color: var(--sdc-c-primary-dk);
}
.sdc-card--post .sdc-card__sep {
    color: var(--sdc-c-border);
}
.sdc-card--post .sdc-card__title {
    font-size: 1.0625rem;
    line-height: 1.35;
    letter-spacing: -.005em;
    margin: 0;
    font-weight: 700;
    /* heading szín már a globálisból */
    text-decoration: none;
    /* 3 sor után csonkolás */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sdc-card--post .sdc-card__excerpt {
    font-size: 14px;
    line-height: 1.55;
    color: var(--sdc-c-muted);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sdc-card--post .sdc-card__more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 4px;
    color: var(--sdc-c-primary-dk);
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    transition: gap var(--sdc-dur) var(--sdc-ease), color var(--sdc-dur);
}
.sdc-card--post .sdc-card__more svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-card--post:hover .sdc-card__more {
    gap: 10px;
    color: var(--sdc-c-primary);
}
.sdc-card--post:hover .sdc-card__more svg {
    transform: translateX(2px);
}
/* ─── Featured (kiemelt) blog kártya — full-width 2-col layout ───
   Bal oldalt nagy kép, jobb oldalt: category-chip + meta + cím + kivonat + CTA.
   Mobilon stack — kép felül, content alul. */
.sdc-card--featured {
    margin-bottom: clamp(24px, 3vw, 40px);
    border-radius: var(--sdc-radius-lg);
}
.sdc-card--featured .sdc-card__link {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: auto;
    align-items: stretch;
    flex-direction: row;
}
@media (max-width: 768px) {
    .sdc-card--featured .sdc-card__link {
        grid-template-columns: 1fr;
    }
}
.sdc-card--featured .sdc-card__media--featured {
    aspect-ratio: 4/3;
    margin: 0;
    border-radius: 0;
    overflow: hidden;
}
.sdc-card--featured .sdc-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sdc-card--featured .sdc-card__body--featured {
    padding: clamp(24px, 3.5vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    background: #fff;
}
.sdc-card--featured .sdc-card__category {
    display: inline-flex;
    align-self: flex-start;
    padding: 6px 14px;
    background: var(--sdc-c-bg-soft);
    color: var(--sdc-c-primary-dk);
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 999px;
    border: 1px solid var(--sdc-c-border);
}
.sdc-card--featured .sdc-card__meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
    margin: 0;
}
.sdc-card--featured .sdc-card__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.sdc-card--featured .sdc-card__meta-item svg {
    width: 14px;
    height: 14px;
    fill: var(--sdc-c-primary);
    flex: 0 0 14px;
}
.sdc-card--featured .sdc-card__title {
    font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2rem);
    line-height: 1.25;
    margin: 0;
    color: var(--sdc-c-bg-dark);
}
.sdc-card--featured .sdc-card__excerpt {
    font-size: var(--sdc-fs-md);
    color: var(--sdc-c-text);
    line-height: 1.65;
    margin: 0;
}
.sdc-card--featured .sdc-card__more--featured {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--sdc-c-bg-dark);
    margin-top: 8px;
    transition: color var(--sdc-dur) var(--sdc-ease), gap var(--sdc-dur) var(--sdc-ease);
}
.sdc-card--featured .sdc-card__more--featured svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-card--featured:hover .sdc-card__more--featured {
    color: var(--sdc-c-primary);
    gap: 12px;
}
.sdc-card--featured:hover .sdc-card__more--featured svg {
    transform: translateX(3px);
}
/* Hover: a kép picit zoom-ol */
.sdc-card--featured:hover .sdc-card__image {
    transform: scale(1.03);
}
.sdc-card--featured .sdc-card__image {
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
/* ─── Blog poszt single (single.php) — letisztult, központosított layout ───
   Hero: chip kategória + nagy cím + meta sor (mind középen, a globális
   .sdc-page-hero standard text-align: center-jét használja).
   Cover: full-container kerekített kártya, generózus aspect-ratio.
   Content: max 720px középre — optimális olvasási sávszélesség (~75 char/sor).
   Tax footer: pill-stílusú kategória és címke linkek, szellős. */
.sdc-post__meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    margin: 18px 0 0;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
}
.sdc-post__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.sdc-post__meta-item svg {
    width: 14px;
    height: 14px;
    fill: var(--sdc-c-primary);
    flex: 0 0 14px;
}
/* Cover (featured image a hero alatt) — max 760px középre, kerekített kártya */
.sdc-post__cover-wrap {
    margin-top: clamp(24px, 3vw, 40px);
    margin-bottom: clamp(24px, 3vw, 40px);
}
.sdc-post__cover {
    max-width: 760px;
    margin: 0 auto;
    border-radius: var(--sdc-radius-lg);
    overflow: hidden;
    box-shadow: 0 24px 60px -28px rgba(13, 31, 36, .35), 0 4px 14px -8px rgba(13, 31, 36, .12);
    background: var(--sdc-c-bg-soft);
}
.sdc-post__cover-img {
    width: 100%;
    height: auto;
    display: block;
}
/* Body — center content, narrow column */
.sdc-post__body {
    padding-block: 0 clamp(48px, 6vw, 96px);
}
.sdc-post__content {
    max-width: 720px;
    margin-inline: auto;
    font-size: 1.0625rem;
    /* picit nagyobb, kényelmes olvasáshoz */
    line-height: 1.75;
    color: var(--sdc-c-text);
}
.sdc-post__content>*:first-child {
    margin-top: 0;
}
.sdc-post__content>*:last-child {
    margin-bottom: 0;
}
.sdc-post__content p {
    margin-block: 0 1.1em;
}
.sdc-post__content h2 {
    font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
    line-height: 1.3;
    /* margin-block-ot a megosztott h2/h3/h4/h5 szabály adja (gradient csík + spacing) */
}
.sdc-post__content h3 {
    font-size: clamp(1.25rem, 1.1rem + .8vw, 1.5rem);
    line-height: 1.35;
    /* margin-block-ot a megosztott h3/h4/h5 szabály adja (gradient csík + spacing) */
}
.sdc-post__content h2,
.sdc-post__content h3,
.sdc-post__content h4,
.sdc-post__content h5 {
    /* Halvány gradient szeparátor csík minden h2/h3/h4/h5 alatt — finom vizuális
       hierarchia jelzés. A gradient bal-jobb halványulás eleganciát ad.
       FONTOS: csak a post-content scope-on belül — más helyeken (page-hero, etc)
       a heading-ek line-mentesen jelennek meg. */
    position: relative;
    padding-bottom: 12px;
    margin-block: 1.8em .9em;
    border-bottom: 0;
}
.sdc-post__content h2::after,
.sdc-post__content h3::after,
.sdc-post__content h4::after,
.sdc-post__content h5::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, var(--sdc-c-border) 0%, var(--sdc-c-border) 60%, transparent 100%);
    opacity: .85;
}
.sdc-post__content h4 {
    font-size: clamp(1.1rem, 1rem + .5vw, 1.25rem);
    line-height: 1.35;
}
.sdc-post__content h5 {
    font-size: clamp(1.0rem, 1rem + .25vw, 1.1rem);
    line-height: 1.4;
    font-weight: 600;
    color: var(--sdc-c-heading);
}
.sdc-post__content img {
    border-radius: var(--sdc-radius-md);
    box-shadow: 0 14px 38px -18px rgba(13, 31, 36, .28), 0 2px 6px -2px rgba(13, 31, 36, .1);
    margin-block: 1.6em;
}
.sdc-post__content blockquote {
    margin: 1.8em 0;
    padding: 20px 24px;
    border-left: 4px solid var(--sdc-c-primary);
    background: var(--sdc-c-bg-soft);
    border-radius: 0 var(--sdc-radius-md) var(--sdc-radius-md) 0;
    font-style: italic;
    color: var(--sdc-c-text);
}
.sdc-post__content blockquote p:last-child {
    margin-bottom: 0;
}
.sdc-post__content ul, .sdc-post__content ol {
    margin-block: 1em 1.4em;
    padding-left: 0;
    list-style: none;
}
/* UL li: gradient kör + fehér pipa SVG ikon — azonos a .sdc-service-cta__perks
   stílussal, hogy a markup hierarchia konzisztens legyen az egész weboldalon. */
.sdc-post__content ul>li {
    position: relative;
    padding: 0 0 0 36px;
    margin-block: .5em 0;
    line-height: 1.65;
}
.sdc-post__content ul>li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:
        url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat,
        linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    box-shadow: 0 3px 8px rgba(7, 79, 79, .25);
}
/* Az ordered list (ol) megtartja a numerikus listingot — szám-bullet helyett
   a böngésző natívan rajzolja, csak a padding-leftet visszaadjuk. */
.sdc-post__content ol {
    padding-left: 1.6em;
    list-style: decimal;
}
.sdc-post__content li {
    margin-block: .4em 0;
}
.sdc-post__content a {
    color: var(--sdc-c-primary-dk);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
}
.sdc-post__content a:hover {
    color: var(--sdc-c-primary);
}
/* Related posts szekció — bg accent, generózus padding */
.sdc-related {
    background: var(--sdc-c-bg-soft);
    padding-block: clamp(48px, 6vw, 96px);
    border-top: 1px solid var(--sdc-c-border);
    margin-top: clamp(40px, 5vw, 72px);
}
.sdc-related__title {
    text-align: center;
    margin: 0 0 clamp(24px, 3vw, 40px);
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2rem);
    color: var(--sdc-c-heading);
}
/* ---------- 10. Cards ---------- */
.sdc-card {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    transition: transform var(--sdc-dur) var(--sdc-ease), box-shadow var(--sdc-dur) var(--sdc-ease), border-color var(--sdc-dur) var(--sdc-ease);
    position: relative;
}
.sdc-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--sdc-shadow-lg);
    border-color: transparent;
}
.sdc-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
.sdc-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    background: var(--sdc-c-bg-soft);
    overflow: hidden;
}
.sdc-card__media--portrait {
    aspect-ratio: 4 / 4;
}
@media (max-width: 768px) {
    /* Mobilon a portré-kártyák kép-aránya négyzet — kompaktabb, swiper-barát */
    .sdc-card__media--portrait {
        aspect-ratio: 1 / 1;
    }
}
.sdc-card__media img {
    margin: 0 !important;
}
.sdc-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s var(--sdc-ease);
}
.sdc-card:hover .sdc-card__image {
    transform: scale(1.04);
}
.sdc-card__icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
}
.sdc-card__body {
    padding: 24px;
    flex: 1;
}
.sdc-card__body--center {
    text-align: center;
}
.sdc-card__title {
    font-size: var(--sdc-fs-lg);
    margin-bottom: 8px;
}
.sdc-card__excerpt {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
    margin-bottom: 16px;
}
.sdc-card__more {
    color: var(--sdc-c-primary);
    font-weight: 600;
    font-size: var(--sdc-fs-sm);
}
.sdc-card__date {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-xs);
    margin-bottom: 6px;
}
.sdc-card__role {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
}
/* ---------- 11. Grids ---------- */
.sdc-services-grid,
.sdc-team-grid,
.sdc-news-grid,
.sdc-testimonial-grid {
    display: grid;
    gap: 24px;
}
.sdc-services-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.sdc-team-grid {
    /* Max 4 oszlop egy sorban — auto-fill helyett fix 4 oszlop responsive
       breakpoint-okkal (kisebb képernyőn 3 / 2 oszlop, mobilon swiper).
       Desktop (≥1200px): első két item 50%-50% → span 2 oszlop a 4-ből,
       a többi az alap 1 oszlopos. */
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.sdc-team-grid> :nth-child(1),
.sdc-team-grid> :nth-child(2) {
    grid-column: span 2;
}
/* Az első két (50%-os) item kártya-képe szélesebb formátumú: 7/4 a 3/4
   helyett — vízszintesebb fotó, ami illik a duplaszéles cellához. */
.sdc-team-grid> :nth-child(1) .sdc-card__media--portrait,
.sdc-team-grid> :nth-child(2) .sdc-card__media--portrait {
    aspect-ratio: 7 / 4;
}
@media (max-width: 1199px) {
    .sdc-team-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    /* 3-col grid-en a span 2 furcsán festene (66%), reset.
       Aspect-ratio 7/4 is csak a 50%-os layout-on indokolt → 3/4-re vissza. */
    .sdc-team-grid> :nth-child(1),
    .sdc-team-grid> :nth-child(2) {
        grid-column: auto;
    }
    .sdc-team-grid> :nth-child(1) .sdc-card__media--portrait,
    .sdc-team-grid> :nth-child(2) .sdc-card__media--portrait {
        aspect-ratio: 3 / 4;
    }
}
@media (max-width: 899px) and (min-width: 769px) {
    .sdc-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    /* 2-col grid-en a span 2 az egész sort foglalná → reset (a tablet-tablet
       2-oszlopos layout marad, item 1 és 2 simán egymás mellett) */
    .sdc-team-grid> :nth-child(1),
    .sdc-team-grid> :nth-child(2) {
        grid-column: auto;
    }
}
/* Mobilon (≤768px) a horizontal swiper layoutban minden card egyforma
 * képmérettel — az első 2 featured item is `1/1` aspect-ratio-t kap, NEM
 * `3/4`-et (mint a 1199px-es desktop tablet override beállítaná). A
 * `.sdc-card__media--portrait { aspect-ratio: 1/1 }` mobil-szabálya
 * (≤768px) önmagában nem elég, mert az 1199px rule selector-specificitása
 * magasabb — explicit override kell ugyanazon szelektorral. */
@media (max-width: 768px) {
    .sdc-team-grid> :nth-child(1) .sdc-card__media--portrait,
    .sdc-team-grid> :nth-child(2) .sdc-card__media--portrait {
        aspect-ratio: 1 / 1;
    }
}
.sdc-news-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
/* .sdc-testimonial-grid — desktop ÉS mobile egyaránt swiper.
   Desktop: 3.5 item látható egy "screen"-ben (3 teljes + 0.5 peek a 4.-ből),
   mobile (≤768px): külön szabály alább 1.2 itemmel. A grid layout-ot itt
   override-oljuk flex-re. */
.sdc-testimonial-grid {
    --sdc-swiper-gap: 24px;
    --sdc-swiper-visible: 3.5;
    --sdc-swiper-gap-count: 3;
    display: flex !important;
    flex-direction: row;
    grid-template-columns: none !important;
    gap: var(--sdc-swiper-gap);
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 0;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* Kis break-out a container paddingjéből — hogy a peek a viewport jobb
       széléig elérjen, ne vágódjon le a container padding-ja által. */
    margin-inline: calc(-1 * clamp(8px, 1vw, 16px));
    padding: 4px clamp(8px, 1vw, 16px) 18px;
}
.sdc-testimonial-grid::-webkit-scrollbar {
    display: none;
}
.sdc-testimonial-grid>.sdc-testimonial {
    flex: 0 0 calc((100% - var(--sdc-swiper-gap) * var(--sdc-swiper-gap-count)) / var(--sdc-swiper-visible));
    scroll-snap-align: start;
    scroll-snap-stop: always;
    min-width: 0;
}
/* Desktop drag-to-scroll — csak a testimonial-gridhez (a team-grid desktopon
   CSS grid, nem scrollozik; mobilon touch native). A `is-dragging` class-t
   a JS adja hozzá, miután a mousemove threshold-ot átléptük. */
.sdc-testimonial-grid {
    cursor: grab;
}
.sdc-testimonial-grid.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    /* drag közben nincs smooth — pixel-pontos követés */
    scroll-snap-type: none;
    /* ne harcoljon a snap a manuális mozgással */
    user-select: none;
    /* ne jelölje ki a szöveget drag közben */
}
.sdc-testimonial-grid.is-dragging * {
    pointer-events: none;
    /* drag közben ne triggereljen popup-ot a kártya-link */
}
@media (max-width: 768px) {
    /* Mobilon touch a natív kontroll — drag cursor nem releváns */
    .sdc-testimonial-grid {
        cursor: default;
    }
}
/* ---------- 12. Trust band ---------- */
.sdc-trust {
    background: var(--sdc-c-bg-soft);
}
.sdc-trust__grid {
    display: grid;
    gap: 48px;
    grid-template-columns: 1fr;
    align-items: center;
}
@media (min-width: 900px) {
    .sdc-trust__grid {
        grid-template-columns: 1.05fr 1fr;
    }
}
.sdc-trust__list {
    padding: 0;
    list-style: none;
}
.sdc-trust__list li {
    padding: 14px 0;
    border-bottom: 1px solid var(--sdc-c-border);
}
.sdc-trust__list li:last-child {
    border-bottom: 0;
}
.sdc-trust__list strong {
    color: var(--sdc-c-bg-dark);
}
.sdc-trust__media .sdc-trust__image {
    width: 100%;
    border-radius: var(--sdc-radius-lg);
    box-shadow: var(--sdc-shadow-lg);
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
/* ---------- 13. Testimonials ---------- */
.sdc-testimonial {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    padding: 32px 28px 24px;
    margin: 0;
    position: relative;
    quotes: "\201E" "\201D";
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: 0 1px 3px rgba(13, 31, 36, .04);
    transition: box-shadow var(--sdc-dur) var(--sdc-ease), transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-testimonial:hover {
    box-shadow: 0 12px 32px -16px rgba(13, 31, 36, .18), 0 2px 6px -2px rgba(13, 31, 36, .08);
    transform: translateY(-2px);
}
.sdc-testimonial::before {
    content: open-quote;
    font-family: var(--sdc-font-serif);
    font-size: 4rem;
    line-height: 1;
    color: var(--sdc-c-accent);
    position: absolute;
    top: 8px;
    left: 18px;
    opacity: .4;
    pointer-events: none;
}
.sdc-testimonial__text {
    font-style: italic;
    color: var(--sdc-c-text);
    line-height: 1.65;
    flex: 1 1 auto;
    /* a quote-mark felett kis space, hogy a szöveg ne ütközzön a ::before-ba */
    padding-top: 20px;
}
.sdc-testimonial__text>p:first-child {
    margin-top: 0;
}
.sdc-testimonial__text>p:last-child {
    margin-bottom: 0;
}
.sdc-testimonial__meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding-top: 14px;
    border-top: 1px solid var(--sdc-c-border);
}
.sdc-testimonial__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 48px;
    background: var(--sdc-c-bg-soft);
    border: 1px solid var(--sdc-c-border);
}
.sdc-testimonial__avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-weight: 600;
    font-size: var(--sdc-fs-sm);
    color: var(--sdc-c-primary-dk);
    background: linear-gradient(135deg, rgba(130, 169, 176, .18) 0%, rgba(189, 147, 105, .14) 100%);
    letter-spacing: .02em;
}
.sdc-testimonial__author {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.sdc-testimonial__author cite {
    font-style: normal;
    font-weight: 600;
    color: var(--sdc-c-bg-dark);
    font-size: var(--sdc-fs-md);
    line-height: 1.3;
}
.sdc-testimonial__position {
    font-size: var(--sdc-fs-xs);
    color: rgba(31, 42, 48, .65);
    line-height: 1.4;
    margin-top: 2px;
}
/* Az általános `.sdc-testimonial p` régi szabály felülírható maradt — a __text
   wrapper biztosítja az olvasható formázást. */
/* ─── Mobile: horizontal swiper ───────────────────────────────────────────
   Mobilon (≤768px) a testimonial-grid nem grid hanem horizontal flex scroll-snap
   konténer. ~83% width / kártya → 1 teljes item + ~0.2 következő látszik (peek),
   ami jelzi a swipe-olhatóságot. CSS-only — nincs JS dependency. */
@media (max-width: 768px) {
    .sdc-testimonial-grid {
        display: flex;
        flex-direction: row;
        grid-template-columns: none;
        gap: 14px;
        overflow-x: auto;
        overflow-y: visible;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 16px;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        /* Break-out a container 16px paddingjéből, hogy a következő kártya
           "peek"-je a viewport jobb széléig elérjen. A bal/jobb 16px padding
           itt visszaadja a kezdő- és végméreteket. */
        margin-inline: calc(-1 * clamp(16px, 4vw, 32px));
        padding: 4px clamp(16px, 4vw, 32px) 18px;
        /* Scrollbar elrejtve — touch-eszközön nincs is */
        scrollbar-width: none;
    }
    .sdc-testimonial-grid::-webkit-scrollbar {
        display: none;
    }
    .sdc-testimonial-grid>.sdc-testimonial {
        flex: 0 0 calc(83% - 8px);
        scroll-snap-align: start;
        scroll-snap-stop: always;
        /* hover-shadow nem kell mobilon — visszafogjuk, hogy a swipe sima legyen */
        transform: none !important;
    }
    .sdc-testimonial:hover {
        transform: none;
        box-shadow: 0 1px 3px rgba(13, 31, 36, .04);
    }
    /* Team-grid mobilon ugyanaz a horizontal swiper pattern */
    .sdc-team-grid {
        display: flex !important;
        flex-direction: row;
        grid-template-columns: none;
        gap: 14px;
        overflow-x: auto;
        overflow-y: visible;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 16px;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        margin-inline: calc(-1 * clamp(16px, 4vw, 32px));
        padding: 4px clamp(16px, 4vw, 32px) 18px;
        scrollbar-width: none;
    }
    .sdc-team-grid::-webkit-scrollbar {
        display: none;
    }
    .sdc-team-grid>.sdc-card--team {
        flex: 0 0 calc(83% - 8px);
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
    /* News-grid mobilon ugyanaz a horizontal swiper — 1.2 item látható.
       Csak a nem-infinite-scroll grid (front-page Legfrissebb híreink) — a
       blog/archive `[data-infinite-grid]` változata érintetlen. */
    .sdc-news-grid:not([data-infinite-grid]) {
        display: flex !important;
        flex-direction: row;
        grid-template-columns: none;
        gap: 14px;
        overflow-x: auto;
        overflow-y: visible;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 16px;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        margin-inline: calc(-1 * clamp(16px, 4vw, 32px));
        padding: 4px clamp(16px, 4vw, 32px) 18px;
        scrollbar-width: none;
    }
    .sdc-news-grid:not([data-infinite-grid])::-webkit-scrollbar {
        display: none;
    }
    .sdc-news-grid:not([data-infinite-grid])>* {
        flex: 0 0 calc(83% - 8px);
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}
/* ─── Swiper navigációs kontrollok (dot + nyilak) — JS modul építi DOM-ba
   Mobilon (≤768px) látható, desktop-on rejtett. A JS minden swiper-grid
   után (testimonial + team) becsatol egy <div class="sdc-swiper-controls">
   blokkot a parent DOM-ba. ─────────────────────────────────────────── */
/* Default: flex layout (közös stylzás), de display rule per-variánsra:
   - testimonial: minden viewporton látható
   - team: csak ≤768px-en látható (desktop a grid 4-oszlopos elrendezést mutat) */
.sdc-swiper-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 18px;
    padding-inline: 8px;
}
.sdc-swiper-controls--team,
.sdc-swiper-controls--news {
    display: none;
}
@media (max-width: 768px) {
    .sdc-swiper-controls--team,
    .sdc-swiper-controls--news {
        display: flex;
    }
}
/* Ha a JS detektálta hogy nincs mit navigálni (lastNavIdx === 0), elrejti a
   controls-t — felülírja a többi display: flex szabályt is. */
.sdc-swiper-controls.is-hidden {
    display: none !important;
}
.sdc-swiper-arrow {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--sdc-c-border);
    background: #fff;
    color: var(--sdc-c-primary-dk);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background var(--sdc-dur), color var(--sdc-dur),
        border-color var(--sdc-dur), transform var(--sdc-dur), opacity var(--sdc-dur);
    box-shadow: 0 1px 3px rgba(13, 31, 36, .06);
}
.sdc-swiper-arrow svg {
    width: 18px;
    height: 18px;
}
.sdc-swiper-arrow:hover:not([disabled]) {
    background: var(--sdc-c-primary);
    color: #fff;
    border-color: var(--sdc-c-primary);
}
.sdc-swiper-arrow:active:not([disabled]) {
    transform: scale(.94);
}
.sdc-swiper-arrow[disabled] {
    opacity: .35;
    cursor: not-allowed;
    pointer-events: none;
}
.sdc-swiper-dots {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 1 auto;
    max-width: calc(100% - 100px);
    overflow: hidden;
}
.sdc-swiper-dot {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: var(--sdc-c-border);
    cursor: pointer;
    transition: background var(--sdc-dur), transform var(--sdc-dur), width var(--sdc-dur);
}
.sdc-swiper-dot.is-active {
    background: var(--sdc-c-primary);
    width: 24px;
    flex-basis: 24px;
    border-radius: 4px;
}
.sdc-swiper-dot:hover:not(.is-active) {
    background: var(--sdc-c-primary-lt);
}
/* ---------- 14. CTA band ---------- */
.sdc-cta-band {
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    color: #fff;
    text-align: center;
}
.sdc-cta-band__title {
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
}
.sdc-cta-band__lead {
    color: rgba(255, 255, 255, .92);
    margin-bottom: 28px;
    font-size: var(--sdc-fs-lg);
}
.sdc-cta-band__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
/* ---------- 15. Page hero — egységes, központosított, image nélkül ----------
   Minden aloldalon ugyanaz a default page-hero: világos gradient háttér, nincs
   háttérkép, nincs jobb oldali stats blokk, content vízszintesen középre rendezve.
   A h1 méretet és font-weight-et explicite definiáljuk (53px / 600). */
.sdc-page-hero {
    position: relative;
    padding-block: clamp(36px, 5vw, 48px) clamp(28px, 4vw, 48px);
    margin-bottom: 30px;
    /* Halvány fogászat-tematikus dekor: jobb felső sarokban egy stilizált fog
       (SVG, alacsony opacity), bal felső sarokban egy halvány teal radial blob,
       jobb alsóban egy halvány gold blob. Mindezek alatt a default gradient. */
    background:
        radial-gradient(circle at 12% 18%, rgba(130, 169, 176, .08) 0%, transparent 42%),
        radial-gradient(circle at 88% 88%, rgba(189, 147, 105, .07) 0%, transparent 45%),
        linear-gradient(180deg, #fff 0%, var(--sdc-c-bg-soft) 100%);
    color: var(--sdc-c-text);
    border-bottom: 1px solid var(--sdc-c-border);
    text-align: center;
    overflow: hidden;
    isolation: isolate;
}
/* Bal alsó sarokban kis pontminta (3 dot) — vizuális rhythm */
.sdc-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        /* Stilizált fog SVG — jobb felső sarokban, halvány teal stroke */
        url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2382a9b0' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2c-2 0-3 1.2-3 3 0 1.5-1 2-2 2-1.5 0-3 1-3 3 0 2 1 3 1 5 0 3 2 7 4 7 1 0 1.5-1 1.5-3 0-1.5.5-2 1.5-2s1.5.5 1.5 2c0 2 .5 3 1.5 3 2 0 4-4 4-7 0-2 1-3 1-5 0-2-1.5-3-3-3-1 0-2-.5-2-2 0-1.8-1-3-3-3z'/%3E%3C/svg%3E") top -30px right -40px / 240px 240px no-repeat,
        /* Bal alsóban egy második, kisebb fog SVG — gold-rózsaszín stroke */
        url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bd9369' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2c-2 0-3 1.2-3 3 0 1.5-1 2-2 2-1.5 0-3 1-3 3 0 2 1 3 1 5 0 3 2 7 4 7 1 0 1.5-1 1.5-3 0-1.5.5-2 1.5-2s1.5.5 1.5 2c0 2 .5 3 1.5 3 2 0 4-4 4-7 0-2 1-3 1-5 0-2-1.5-3-3-3-1 0-2-.5-2-2 0-1.8-1-3-3-3z'/%3E%3C/svg%3E") bottom -36px left -28px / 160px 160px no-repeat;
    opacity: .12;
    z-index: -1;
}
/* Jobb alsó sarokban finom "smile curve" decor */
.sdc-page-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--sdc-c-primary) 30%, var(--sdc-c-accent) 70%, transparent 100%);
    opacity: .35;
    pointer-events: none;
    z-index: 1;
}
/* Mobilon a dekor kisebb, hogy ne nyomja le a content-et */
@media (max-width: 600px) {
    .sdc-page-hero::before {
        background-size: 160px 160px, 110px 110px;
        opacity: .08;
    }
}
/* A `has-image` osztályt már nem renderelik a sablonok, de védő-eltávolítás:
   ha valahol mégis maradna (pl. plugin-tartalom), a sötét-háttér + szöveg-szín
   variánst NE alkalmazzuk — egységes, image-mentes default mindenhol. */
.sdc-page-hero.has-image {
    background: linear-gradient(180deg, #fff 0%, var(--sdc-c-bg-soft) 100%);
    background-image: none !important;
    color: var(--sdc-c-text);
    border-bottom: 1px solid var(--sdc-c-border);
}
.sdc-page-hero__title {
    /* Felülírja a globális h1 méretet — kérésre 53px / 600 minden aloldalon */
    font-size: 53px;
    font-weight: 600;
    line-height: 1.15;
    margin: 0;
    letter-spacing: -.01em;
}
.sdc-page-hero__sub {
    font-size: var(--sdc-fs-md);
    opacity: .92;
    max-width: 720px;
    margin: 10px auto 0;
}
/* Breadcrumb tighter spacing — central alignment */
.sdc-page-hero .sdc-breadcrumbs {
    margin: 0 auto 12px;
    font-size: 12px;
    justify-content: center;
}
/* Page-hero __row — central layout (a stats blokk már nem renderelődik, ezért
   a sticky bal/jobb space-between layout helyett egyszerű középre rendezés). */
.sdc-page-hero__row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 2vw, 20px);
    text-align: center;
}
.sdc-page-hero__main {
    width: 100%;
    max-width: 982px;
    min-width: 0;
}
/* Stats blokk globális elrejtése — a helper függvény már no-op, de védőháló a régi cache-elt HTML-re */
.sdc-page-hero__stats {
    display: none !important;
}
/* Mobilon kisebb cím, hogy ne tördelődjön furcsán */
@media (max-width: 600px) {
    .sdc-page-hero__title {
        font-size: clamp(1.875rem, 7vw, 2.5rem);
        /* ~30-40px */
    }
}
/* Trust stats kártyák — 3 darab számkártya */
.sdc-page-hero__stats {
    display: flex;
    align-items: stretch;
    gap: 0;
    flex: 0 0 auto;
}
.sdc-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 clamp(14px, 2vw, 24px);
    min-width: 90px;
}
.sdc-stat:not(:last-child) {
    border-right: 1px solid var(--sdc-c-border);
}
.sdc-stat__num {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    font-size: clamp(1.375rem, 1.1rem + 1.4vw, 2rem);
    font-weight: 800;
    color: var(--sdc-c-heading);
    line-height: 1;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}
.sdc-stat__label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    margin-top: 6px;
    color: var(--sdc-c-muted);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600;
    line-height: 1.3;
}
.sdc-stat__star {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
    margin-left: 2px;
    transform: translateY(-1px);
}
.sdc-stat__google {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4285F4, #34A853 30%, #FBBC05 60%, #EA4335);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
}
/* Has-image variánson: világos színek a sötét hátteren */
.sdc-page-hero.has-image .sdc-stat__num {
    color: #fff;
}
.sdc-page-hero.has-image .sdc-stat__label {
    color: rgba(255, 255, 255, .85);
}
.sdc-page-hero.has-image .sdc-stat:not(:last-child) {
    border-right-color: rgba(255, 255, 255, .25);
}
/* Tablet és mobil — stats stack alulra, kompakt térközökkel.
   FONTOS: justify-content explicit flex-start, gap kicsi — különben a desktop
   `space-between` szabály flex-column-ban hatalmas térközt hagy a tartalmak között. */
@media (max-width: 900px) {
    .sdc-page-hero__row {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start !important;
        gap: 14px;
    }
    .sdc-page-hero__main {
        flex: 0 0 auto;
    }
    .sdc-page-hero__stats {
        align-self: stretch;
        justify-content: space-around;
        padding-top: 12px;
        margin-top: 0;
        border-top: 1px solid var(--sdc-c-border);
        width: 100%;
    }
    .sdc-stat {
        padding: 0 8px;
        min-width: 0;
        flex: 1;
    }
    .sdc-page-hero.has-image .sdc-page-hero__stats {
        border-top-color: rgba(255, 255, 255, .25);
    }
}
/* ---------- 16. Page body / prose ---------- */
/* Egységes 30px gap a page-hero alatt: csak a page-hero margin-bottom-ja
   számít — itt 0 a top padding, hogy ne adódjon hozzá felesleges hely. */
.sdc-page__body {
    padding-block: 0 clamp(32px, 4vw, 64px);
}
.sdc-page__body--with-aside {
    display: grid;
    gap: 48px;
    grid-template-columns: 1fr;
}
/* Recursive "top vertical thread" reset — a tartalom első mélyen beágyazott
   láncának minden margin-topját nullázza (max 6 szint mély). Így a galéria
   blokk (vc_row → vc_column → vc_row_inner → vc_column_inner → gallery-block)
   sem ad pluszt a 30px page-hero gap-hez. */
.sdc-page__body .sdc-prose> :first-child,
.sdc-page__body .sdc-prose> :first-child> :first-child,
.sdc-page__body .sdc-prose> :first-child> :first-child> :first-child,
.sdc-page__body .sdc-prose> :first-child> :first-child> :first-child> :first-child,
.sdc-page__body .sdc-prose> :first-child> :first-child> :first-child> :first-child> :first-child,
.sdc-page__body .sdc-prose> :first-child> :first-child> :first-child> :first-child> :first-child> :first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Direct grid first-child reset — archive/index/search-en is */
.sdc-container>.sdc-news-grid:first-child,
.sdc-container>.sdc-services-grid:first-child,
.sdc-container>.sdc-team-grid:first-child,
.sdc-container>.sdc-gallery-grid:first-child,
.sdc-container>.sdc-search-results:first-child {
    margin-top: 0 !important;
}
@media (min-width: 960px) {
    .sdc-page__body--with-aside {
        grid-template-columns: minmax(0, 1fr) 320px;
    }
}
.sdc-aside__card {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    padding: 24px;
    position: sticky;
    top: calc(var(--sdc-header-h) + 24px);
}
.sdc-aside__card h2 {
    font-size: var(--sdc-fs-xl);
}
.sdc-prose {
    max-width: 760px;
    font-size: var(--sdc-fs-md);
}
.sdc-prose h2, .sdc-prose h3, .sdc-prose h4 {
    margin-top: 1.5em;
}
.sdc-prose p {
    line-height: 1.7;
}
.sdc-prose ul, .sdc-prose ol {
    padding-left: 1.4em;
}
.sdc-prose img {
    border-radius: var(--sdc-radius-sm);
    margin-block: 1.2em;
    box-shadow: var(--sdc-shadow-sm);
}
.sdc-prose a {
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* ---------- 17. Page builder fallback osztályok ---------- */
.sdc-vc-vc-row, .sdc-vc-vc-row-inner, .sdc-vc-vc-section {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-block: 16px;
}
.sdc-vc-vc-column, .sdc-vc-vc-column-inner {
    flex: 1 1 280px;
}
.sdc-vc-vc-column-text>p:first-child {
    margin-top: 0;
}
.sdc-separator {
    border: 0;
    border-top: 1px solid var(--sdc-c-border);
    margin: 32px 0;
}
.sdc-banner-card {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    box-shadow: var(--sdc-shadow-sm);
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-banner-card:hover {
    transform: translateY(-3px);
    color: #fff;
}
.sdc-banner-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(13, 31, 36, .05), rgba(13, 31, 36, .7));
    z-index: 1;
}
.sdc-banner-card__title {
    position: relative;
    z-index: 2;
    display: block;
    padding: 20px;
    font-weight: 600;
    font-size: var(--sdc-fs-lg);
    align-self: flex-end;
    margin-top: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}
.sdc-image {
    display: inline-block;
    max-width: 100%;
    height: auto;
}
.sdc-align-center {
    display: block;
    margin-inline: auto;
}
.sdc-btn-wrap.sdc-btn-align-center {
    text-align: center;
}
/* ---------- 18. Breadcrumbs ---------- */
.sdc-breadcrumbs {
    font-size: var(--sdc-fs-xs);
    color: rgba(255, 255, 255, .85);
    margin-bottom: 16px;
}
.sdc-page-hero:not(.has-image) .sdc-breadcrumbs {
    color: var(--sdc-c-muted);
}
.sdc-breadcrumbs a {
    color: inherit;
    text-decoration: underline;
}
/* ---------- 19. Footer — modern, 3-oszlopos, dental brand ---------- */
.sdc-footer {
    position: relative;
    background:
        linear-gradient(180deg, #f8f5f0 0%, #ece7df 100%);
    color: var(--sdc-c-text);
    padding-block: clamp(56px, 6vw, 96px) 0;
    margin-top: 0;
    border-top: 1px solid var(--sdc-c-border);
}
.sdc-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--sdc-c-primary) 30%, var(--sdc-c-accent) 70%, transparent 100%);
    opacity: .55;
    pointer-events: none;
}
.sdc-footer a {
    color: var(--sdc-c-primary-dk);
    text-decoration: none;
    transition: color var(--sdc-dur) var(--sdc-ease);
}
.sdc-footer a:hover {
    color: var(--sdc-c-accent);
}
.sdc-footer__grid {
    display: grid;
    gap: clamp(32px, 4vw, 64px);
    grid-template-columns: 1fr;
}
@media (min-width: 720px) {
    .sdc-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1000px) {
    .sdc-footer__grid {
        grid-template-columns: 1.1fr 1fr 1fr;
    }
}
.sdc-footer__col {
    min-width: 0;
}
.sdc-footer__title {
    font-size: var(--sdc-fs-xl);
    margin: 0 0 24px;
    position: relative;
    padding-bottom: 14px;
    font-weight: 700;
    /* heading szín a globálisból (#bd9369) */
}
.sdc-footer__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 48px;
    height: 3px;
    background: linear-gradient(90deg, var(--sdc-c-primary), var(--sdc-c-accent));
    border-radius: 3px;
}
/* ---- Elérhetőségek oszlop ---- */
.sdc-footer__locations {
    display: grid;
    gap: 18px;
}
.sdc-footer__loc {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(190, 178, 158, .4);
    border-radius: var(--sdc-radius-md);
    color: var(--sdc-c-text);
    transition: transform var(--sdc-dur) var(--sdc-ease),
        background var(--sdc-dur) var(--sdc-ease),
        border-color var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease);
}
.sdc-footer__loc:hover {
    background: #fff;
    border-color: var(--sdc-c-primary);
    transform: translateY(-2px);
    box-shadow: var(--sdc-shadow-sm);
    color: var(--sdc-c-text);
}
.sdc-footer__loc-icon {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sdc-c-primary), var(--sdc-c-primary-dk));
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sdc-footer__loc-icon svg {
    width: 18px;
    height: 18px;
    fill: #fff;
}
.sdc-footer__loc-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.5;
    font-size: var(--sdc-fs-sm);
}
.sdc-footer__loc-body strong {
    color: var(--sdc-c-bg-dark);
    font-weight: 700;
    margin-bottom: 2px;
}
.sdc-footer__loc--mail .sdc-footer__loc-icon {
    background: linear-gradient(135deg, var(--sdc-c-accent), #a37c52);
}
/* ---- Szolgáltatások oszlop ---- */
.sdc-footer__menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 4px;
}
.sdc-footer__menu li {
    padding: 0;
}
.sdc-footer__menu a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    font-size: var(--sdc-fs-sm);
    transition: color var(--sdc-dur), padding-left var(--sdc-dur);
}
.sdc-footer__menu a::before {
    content: "›";
    color: var(--sdc-c-primary);
    font-weight: 700;
    transition: transform var(--sdc-dur);
}
.sdc-footer__menu a:hover {
    padding-left: 4px;
}
.sdc-footer__menu a:hover::before {
    transform: translateX(2px);
}
/* ---- Nyitvatartás oszlop ---- */
.sdc-footer__hours-text {
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(190, 178, 158, .4);
    border-radius: var(--sdc-radius-md);
    padding: 16px 18px;
    margin-bottom: 16px;
    font-size: var(--sdc-fs-sm);
    line-height: 1.55;
}
.sdc-footer__hours-text p {
    margin: 0;
}
.sdc-footer__hours-text strong {
    color: var(--sdc-c-bg-dark);
    font-weight: 600;
}
.sdc-footer__schedule {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: grid;
    gap: 4px;
    font-size: var(--sdc-fs-sm);
}
.sdc-footer__schedule li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 12px;
    border-radius: var(--sdc-radius-sm);
    transition: background var(--sdc-dur);
}
.sdc-footer__schedule li:nth-child(odd) {
    background: rgba(255, 255, 255, .5);
}
.sdc-footer__schedule li:hover {
    background: rgba(130, 169, 176, .12);
}
.sdc-footer__schedule li> :first-child {
    color: var(--sdc-c-bg-dark);
    font-weight: 600;
}
.sdc-footer__schedule li> :last-child {
    color: var(--sdc-c-muted);
    text-align: right;
}
.sdc-footer__fb {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 12px 18px;
    background: linear-gradient(135deg, #1877f2 0%, #0a5dc2 100%);
    color: #fff !important;
    border-radius: var(--sdc-radius-md);
    box-shadow: 0 4px 14px rgba(24, 119, 242, .25);
    transition: transform var(--sdc-dur), box-shadow var(--sdc-dur);
}
.sdc-footer__fb:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(24, 119, 242, .35);
    color: #fff !important;
}
.sdc-footer__fb-icon {
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.sdc-footer__fb-icon svg {
    width: 22px;
    height: 22px;
    fill: #1877f2;
}
.sdc-footer__fb-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    font-size: var(--sdc-fs-sm);
}
.sdc-footer__fb-text strong {
    font-size: var(--sdc-fs-md);
    font-weight: 700;
}
/* ---- Footer bottom: copyright + Budapesti rendelő ---- */
.sdc-footer__bottom {
    margin-top: clamp(48px, 5vw, 80px);
    border-top: 1px solid rgba(190, 178, 158, .4);
    padding: 24px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: var(--sdc-fs-xs);
    color: var(--sdc-c-muted);
}
.sdc-footer__copy p {
    margin: 0 0 6px;
    line-height: 1.5;
}
.sdc-footer__copy p:last-child {
    margin-bottom: 0;
}
.sdc-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    color: var(--sdc-c-muted);
}
.sdc-footer__legal span[aria-hidden] {
    color: var(--sdc-c-border);
}
.sdc-footer__legal a {
    color: var(--sdc-c-text);
    text-decoration: none;
    border-bottom: 1px dotted transparent;
    transition: color var(--sdc-dur), border-color var(--sdc-dur);
}
.sdc-footer__legal a:hover {
    color: var(--sdc-c-primary-dk);
    border-bottom-color: currentColor;
}
.sdc-footer__partner {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, .6);
    border: 1px solid rgba(190, 178, 158, .4);
    border-radius: var(--sdc-radius-md);
    font-size: var(--sdc-fs-xs);
    color: var(--sdc-c-text);
}
.sdc-footer__partner img {
    height: 32px;
    width: auto;
    object-fit: contain;
}
/* Vissza a tetejére gomb */
.sdc-to-top {
    position: fixed;
    right: 18px;
    bottom: 84px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sdc-c-primary), var(--sdc-c-primary-dk));
    color: #fff;
    cursor: pointer;
    box-shadow: var(--sdc-shadow-md);
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity var(--sdc-dur), transform var(--sdc-dur), background var(--sdc-dur);
    z-index: 49;
}
.sdc-to-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.sdc-to-top:hover {
    background: linear-gradient(135deg, var(--sdc-c-primary-dk), var(--sdc-c-bg-dark));
}
.sdc-to-top svg {
    width: 20px;
    height: 20px;
    fill: #fff;
}
@media (min-width: 1024px) {
    .sdc-to-top {
        right: 24px;
        bottom: 24px;
    }
}
/* ---------- 20. Floating call ---------- */
.sdc-floating-call {
    position: fixed;
    right: 18px;
    bottom: 18px;
    width: 56px;
    height: 56px;
    background: var(--sdc-c-primary);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: var(--sdc-shadow-lg);
    z-index: 50;
    transition: transform var(--sdc-dur) var(--sdc-ease), background var(--sdc-dur) var(--sdc-ease);
}
.sdc-floating-call:hover {
    background: var(--sdc-c-primary-dk);
    transform: scale(1.05);
    color: #fff;
}
@media (min-width: 1024px) {
    .sdc-floating-call {
        display: none;
    }
}
/* ---------- 21. Search results ---------- */
.sdc-search-results {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sdc-search-result {
    padding: 24px 0;
    border-bottom: 1px solid var(--sdc-c-border);
}
.sdc-search-result__title {
    display: block;
    font-size: var(--sdc-fs-lg);
    font-weight: 600;
    margin-bottom: 4px;
}
.sdc-search-result__type {
    display: inline-block;
    font-size: var(--sdc-fs-xs);
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--sdc-c-muted);
    margin-bottom: 8px;
}
.sdc-search-form {
    display: flex;
    gap: 8px;
    max-width: 480px;
    margin-block: 24px;
}
.sdc-search-form input {
    flex: 1;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid var(--sdc-c-border);
    border-radius: 999px;
    font: inherit;
}
.sdc-search-form button {
    min-height: 44px;
    padding: 0 20px;
    background: var(--sdc-c-primary);
    color: #fff;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font-weight: 600;
}
/* ---------- 22. Gallery ---------- */
.sdc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
    padding-block: 32px;
}
.sdc-gallery-item {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--sdc-radius-sm);
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-gallery-item:hover {
    transform: scale(1.03);
}
.sdc-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* ---------- 23. Team single ---------- */
.sdc-team-single__row {
    display: grid;
    gap: 48px;
    grid-template-columns: 1fr;
    /* Egységes 30px gap a page-hero alatt: csak az alja kap padding-et. */
    padding-block: 0 clamp(48px, 4vw, 96px);
}
@media (min-width: 800px) {
    .sdc-team-single__row {
        grid-template-columns: 320px 1fr;
        align-items: start;
    }
}
.sdc-team-single__media {
    /* sticky a desktop-on hosszú bio mellett — modalban JS oldja static-ra */
    position: sticky;
    top: 110px;
}
@media (max-width: 799px) {
    .sdc-team-single__media {
        position: static;
        max-width: 280px;
        margin-inline: auto;
    }
}
.sdc-team-single__photo {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: var(--sdc-radius-md);
    box-shadow: var(--sdc-shadow-md);
}
.sdc-team-single__name {
    font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);
    margin: 0 0 6px;
    color: var(--sdc-c-heading);
}
.sdc-team-single__role {
    display: inline-block;
    margin: 0 0 18px;
    padding: 4px 12px;
    border-radius: 999px;
    background: var(--sdc-c-bg-soft);
    color: var(--sdc-c-primary-dk);
    font-size: var(--sdc-fs-sm);
    font-weight: 600;
    letter-spacing: .02em;
}
.sdc-team-single__bio {
    line-height: 1.7;
}
.sdc-team-single__bio .sdc-team-single__section-title {
    font-size: clamp(1.15rem, 1.6vw, 1.35rem);
    margin-block: 1.4em .4em;
    color: var(--sdc-c-heading);
    font-weight: 600;
}
.sdc-team-single__bio>*:first-child {
    margin-top: 0 !important;
}
.sdc-team-single__bio>*:last-child {
    margin-bottom: 0;
}
/* ---------- 24. 404 ---------- */
.sdc-404 {
    text-align: center;
    padding-block: clamp(64px, 6vw, 120px);
}
.sdc-404__code {
    font-size: clamp(4rem, 3rem + 6vw, 9rem);
    font-weight: 800;
    color: var(--sdc-c-primary);
    line-height: 1;
    margin: 0;
}
.sdc-404__title {
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
}
.sdc-404__lead {
    max-width: 600px;
    margin-inline: auto;
    color: var(--sdc-c-muted);
}
.sdc-404 .sdc-search-form {
    margin-inline: auto;
}
/* ---------- 25. Empty / pagination ---------- */
.sdc-empty {
    text-align: center;
    color: var(--sdc-c-muted);
    padding-block: 64px;
}
.sdc-pagelinks {
    margin-top: 32px;
    font-weight: 600;
}
/* ---------- Infinite scroll loader + sentinel ----------
   FONTOS: a wrapper MINDIG a DOM-ban marad, hogy az IntersectionObserver
   megfigyelhesse — display:none elemek nem trigger-elnek. A spinner+szöveg
   csak az .is-loading állapotban látszik, amúgy a wrapper kis placeholder
   területet foglal el a görgetés-detektáláshoz. */
.sdc-infinite-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 24px 16px;
    min-height: 56px;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
    font-weight: 500;
}
/* Default állapot: csak placeholder hely, a tartalom rejtett */
.sdc-infinite-loader>* {
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s var(--sdc-ease);
}
.sdc-infinite-loader.is-loading>* {
    opacity: 1;
    visibility: visible;
}
.sdc-spinner {
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 3px solid rgba(130, 169, 176, .2);
    border-top-color: var(--sdc-c-primary);
    animation: sdc-spin .8s linear infinite;
}
@keyframes sdc-spin {
    to {
        transform: rotate(360deg);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sdc-spinner {
        animation-duration: 2s;
    }
}
.sdc-infinite-next {
    display: inline-block;
    margin: 24px auto;
    padding: 12px 26px;
    border: 2px solid var(--sdc-c-primary);
    border-radius: 999px;
    color: var(--sdc-c-primary-dk);
    font-weight: 600;
    text-decoration: none;
    transition: background var(--sdc-dur), color var(--sdc-dur);
}
.sdc-infinite-next:hover {
    background: var(--sdc-c-primary);
    color: #fff;
}
/* JS módban a JS rejti el; a noscript fallback látszik tovább */
.sdc-pagination-fallback {
    text-align: center;
    margin: 24px 0;
}
/* ---------- 26. Mobil menü — modern, professzionális ---------- */
/* A mobile-only elemek desktop-en rejtve */
.sdc-mobile-nav__head,
.sdc-mobile-nav__foot,
.sdc-mobile-nav__backdrop {
    display: none;
}
@media (max-width: 1023px) {
    .sdc-menu-toggle {
        display: inline-flex;
    }
    /* Backdrop overlay — csak sötét tint (nincs blur).
       A blur-t közvetlen filter-rel alkalmazzuk a háttér-elemekre,
       hogy a drawer maga ne kapjon blur-t. */
    .sdc-mobile-nav__backdrop {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(13, 31, 36, .55);
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s var(--sdc-ease);
        z-index: 998;
    }
    body.sdc-menu-open .sdc-mobile-nav__backdrop {
        opacity: 1;
        pointer-events: auto;
    }
    /* A drawer mögötti content blur-ja közvetlen `filter: blur`-rel.
       A drawer (.sdc-primary-nav) NEM kerül a listára → nem kap blur-t. */
    body.sdc-menu-open .sdc-topbar,
    body.sdc-menu-open .sdc-header__brand,
    body.sdc-menu-open .sdc-menu-toggle,
    body.sdc-menu-open .sdc-main,
    body.sdc-menu-open .sdc-footer,
    body.sdc-menu-open .sdc-floating-call,
    body.sdc-menu-open .sdc-to-top {
        filter: blur(4px);
        transition: filter .3s var(--sdc-ease);
    }
    /* Drawer panel — alapból TELJESEN ELTÜNTETVE a layoutból (display: none).
       Így nincs semmi off-screen, ami a dokumentum szélességét befolyásolhatná
       (mobilon nem lehet jobbra-balra "scrollozni" a viewportből).
       Csak az `is-open` osztály jeleníti meg, slide-in animációval. */
    .sdc-primary-nav {
        --sdc-drawer-offset: 45px;  /* topbar magassága — feljebb tolódó drawer-eltolás */
        display: none !important;
        position: fixed;
        /* Drawer 45px-szel feljebb kezdődik (covering the topbar). A padding-top
         * kompenzálja, így a content (head/menu/foot) a viewport tetejétől
         * indul. Magasság = 100dvh + 45px → drawer alja viewport-aljáig ér.
         *
         * KULCS: `overflow: hidden` a drawer-en. A SCROLL nem itt, hanem a
         * `.sdc-menu`-ben történik. Így a head és a foot FLEX-EL (nem sticky-vel)
         * marad a helyén, ami sokkal megbízhatóbb minden böngészőben — nincs
         * sticky-edge case ami a head 45px-es elcsúszását okozná. */
        top: calc(var(--sdc-drawer-offset) * -1);
        right: 0;
        height: calc(100dvh + var(--sdc-drawer-offset));
        max-height: calc(100dvh + var(--sdc-drawer-offset));
        width: min(86vw, 420px);
        padding: var(--sdc-drawer-offset) 0 0 0;
        margin: 0;
        background: #fff;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        overflow: hidden;  /* drawer NEM scrollozik — a menu igen */
        z-index: 999;
        box-shadow: -20px 0 60px rgba(13, 31, 36, .25);
        transition: top .25s var(--sdc-ease), height .25s var(--sdc-ease), padding .25s var(--sdc-ease);
    }
    /* Lescrollozott állapot: drawer-offset 0px → top:0, height:100dvh, padding-top: 0 */
    .sdc-header.is-scrolled .sdc-primary-nav {
        --sdc-drawer-offset: 0px;
    }
    /* Floater-ek (TranslatePress / JoinChat / fix bottom widgets) elrejtése
     * amikor a drawer nyitva van — ne fedjék le a Időpontfoglalás CTA-t. */
    body.sdc-menu-open .trp-floater-ls,
    body.sdc-menu-open #trp-floater-ls,
    body.sdc-menu-open .joinchat,
    body.sdc-menu-open .joinchat__button {
        display: none !important;
    }
    .sdc-primary-nav.is-open {
        display: flex !important;
        animation: sdc-drawer-in .32s var(--sdc-ease);
    }
    @keyframes sdc-drawer-in {
        from {
            transform: translateX(100%);
        }
        to {
            transform: translateX(0);
        }
    }
    @media (prefers-reduced-motion: reduce) {
        .sdc-primary-nav.is-open {
            animation: none;
        }
    }
    /* A backdrop is fölé kerül a header z-indexéhez képest */
    .sdc-mobile-nav__backdrop {
        z-index: 998;
    }
    /* Drawer fejléc — logo + close gomb. Flex-positioned (NEM sticky), mert
     * a drawer overflow: hidden, scroll a menu-ben — head fixen tart. */
    .sdc-mobile-nav__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        border-bottom: 1px solid var(--sdc-c-border);
        background: linear-gradient(180deg, #fff 0%, var(--sdc-c-bg-soft) 100%);
        flex: 0 0 auto;
        z-index: 2;
    }
    .sdc-mobile-nav__logo {
        display: inline-block;
        line-height: 0;
    }
    .sdc-mobile-nav__logo img {
        max-height: 48px;
        width: auto;
    }
    .sdc-mobile-nav__close {
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 50%;
        background: var(--sdc-c-bg-soft);
        color: var(--sdc-c-bg-dark);
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: background var(--sdc-dur), transform var(--sdc-dur);
    }
    .sdc-mobile-nav__close:hover {
        background: var(--sdc-c-primary);
        color: #fff;
        transform: rotate(90deg);
    }
    .sdc-mobile-nav__close svg {
        width: 20px;
        height: 20px;
        fill: currentColor;
    }
    /* A főmenü a drawer-en belül — flex-grow, hogy a foot lent maradjon.
     * Itt történik a SCROLL — a drawer maga overflow: hidden, így a head/foot
     * fix marad scroll közben, csak a menu items mozognak. */
    .sdc-menu {
        flex: 1 1 auto;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 16px;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
        scrollbar-width: thin;
        scrollbar-color: var(--sdc-c-primary) transparent;
        min-height: 0;  /* flex item — engedjük zsugorodni a parent fitting-hez */
    }
    .sdc-menu::-webkit-scrollbar { width: 6px; }
    .sdc-menu::-webkit-scrollbar-thumb {
        background: var(--sdc-c-primary);
        border-radius: 3px;
    }
    .sdc-menu li {
        width: 100%;
    }
    .sdc-menu>li>a,
    .sdc-menu>li>a[role="menuitem"] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 16px;
        border: 0;
        border-radius: var(--sdc-radius-md);
        font-size: 16px;
        font-weight: 600;
        color: var(--sdc-c-text);
        line-height: 1.3;
        transition: background var(--sdc-dur), color var(--sdc-dur);
    }
    .sdc-menu>li>a:hover,
    .sdc-menu>li.is-current>a,
    .sdc-menu>li.is-open>a {
        background: rgba(130, 169, 176, .12);
        color: var(--sdc-c-primary-dk);
    }
    /* has-children chevron */
    .sdc-menu .has-children>a::after {
        content: "";
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(-45deg);
        transition: transform .25s var(--sdc-ease);
        margin-left: auto;
        opacity: .55;
    }
    .sdc-menu .has-children.is-open>a::after {
        transform: rotate(45deg);
    }
    /* Almenük accordion (mobile) — magas specificitás, hogy a desktop
       mega-menü `.sdc-menu > li > .sub-menu` szabályát biztosan felülírja.
       Collapsed állapotban margin/padding: 0 — különben rés látszana. */
    .sdc-primary-nav .sdc-menu>li>.sub-menu,
    .sdc-primary-nav .sdc-menu .sub-menu {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: transparent !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        columns: auto !important;
        column-rule: none !important;
        max-height: 0;
        overflow: hidden;
        transition: max-height .35s var(--sdc-ease),
            padding .25s var(--sdc-ease),
            margin .25s var(--sdc-ease);
    }
    .sdc-primary-nav .sdc-menu .has-children.is-open>.sub-menu {
        max-height: 2000px;
        padding: 0 0 6px 0 !important;
        margin: 4px 0 8px !important;
    }
    .sdc-primary-nav .sdc-menu .sub-menu li>a {
        display: block;
        padding: 10px 16px 10px 32px;
        font-size: 14px;
        font-weight: 500;
        color: var(--sdc-c-muted);
        border-radius: var(--sdc-radius-sm);
        border: 0;
        line-height: 1.4;
        position: relative;
    }
    .sdc-primary-nav .sdc-menu .sub-menu li>a::before {
        content: none;
    }
    .sdc-primary-nav .sdc-menu .sub-menu li>a:hover,
    .sdc-primary-nav .sdc-menu .sub-menu li.is-current>a {
        background: rgba(130, 169, 176, .08);
        color: var(--sdc-c-primary-dk);
        padding-left: 36px;
    }
    /* Sub-sub-menu (3. szint) — MINDIG látszik inline tree-branch style-ban */
    .sdc-primary-nav .sdc-menu .sub-menu .sub-menu {
        max-height: none !important;
        overflow: visible !important;
        padding: 4px 0 6px 14px !important;
        margin: 2px 16px 6px 32px !important;
        border-left: 2px solid rgba(189, 147, 105, .3) !important;
        background: transparent !important;
    }
    .sdc-primary-nav .sdc-menu .sub-menu .sub-menu li>a {
        padding: 7px 10px !important;
        font-size: 13px !important;
        font-weight: 500;
        color: var(--sdc-c-muted);
    }
    .sdc-primary-nav .sdc-menu .sub-menu .sub-menu li>a:hover,
    .sdc-primary-nav .sdc-menu .sub-menu .sub-menu li.is-current>a {
        background: rgba(130, 169, 176, .08);
        color: var(--sdc-c-primary-dk);
        padding-left: 14px !important;
    }
    /* Drawer footer — quick contact + CTA. Flex-positioned (NEM sticky), mert
     * a drawer overflow: hidden, scroll a menu-ben — foot fixen tart az alján.
     * Robosztus bottom clearance: safe-area-inset (iPhone home indicator)
     * + min 32px alapból, hogy a CTA biztosan ne lógjon ki. */
    .sdc-mobile-nav__foot {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 16px 20px max(32px, calc(env(safe-area-inset-bottom, 0px) + 24px));
        border-top: 1px solid var(--sdc-c-border);
        background: linear-gradient(180deg, var(--sdc-c-bg-soft) 0%, #fff 100%);
        flex: 0 0 auto;
        z-index: 2;
    }
    .sdc-mobile-nav__contact {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 14px;
        background: #fff;
        border: 1px solid var(--sdc-c-border);
        border-radius: var(--sdc-radius-md);
        text-decoration: none;
        color: var(--sdc-c-text);
        transition: border-color var(--sdc-dur), transform var(--sdc-dur), box-shadow var(--sdc-dur);
    }
    .sdc-mobile-nav__contact:hover {
        border-color: var(--sdc-c-primary);
        transform: translateY(-1px);
        box-shadow: var(--sdc-shadow-sm);
        color: var(--sdc-c-text);
    }
    .sdc-mobile-nav__contact svg {
        width: 36px;
        height: 36px;
        fill: #fff;
        background: linear-gradient(135deg, var(--sdc-c-primary), var(--sdc-c-primary-dk));
        padding: 8px;
        border-radius: 50%;
        flex: 0 0 auto;
    }
    .sdc-mobile-nav__contact--mail svg {
        background: linear-gradient(135deg, var(--sdc-c-accent), #a37c52);
    }
    .sdc-mobile-nav__contact-body {
        display: flex;
        flex-direction: column;
        line-height: 1.2;
        min-width: 0;
    }
    .sdc-mobile-nav__contact-body small {
        font-size: 11px;
        color: var(--sdc-c-muted);
        text-transform: uppercase;
        letter-spacing: .06em;
        font-weight: 600;
    }
    .sdc-mobile-nav__contact-body strong {
        font-size: 14px;
        color: var(--sdc-c-bg-dark);
        font-weight: 700;
    }
    .sdc-mobile-nav__cta {
        margin-top: 4px;
        width: 100%;
        justify-content: center;
        font-size: 16px;
        padding: 14px 20px;
    }
    /* FONTOS: nyitott drawer mellett NEM lockoljuk a body scroll-t és NEM
       cseréljük topbar/header position-jét fixed-re. Ezek bármelyike layout-shiftet
       okoz (a kiszedett ~132px miatt a content felugrik), ráadásul a body fixed
       trükk JS-ben is bonyolult. A háttér scrollozását a backdrop touch-action: none
       elnyeli touch-on; mouse-wheel esetén a drawer pozíciója fixed → marad a helyén.

       A drawer takarja a topbart/headert: a header z-indexét csak felemeljük (a position
       változatlan marad), így a drawer (header-en belüli fixed elem) feljebb kerül a
       backdropnál, anélkül hogy bármi kikerülne a flow-ból. */
    body.sdc-menu-open .sdc-topbar {
        position: relative;
        /* z-index csak positioned elemekre érvényes */
        z-index: 1001;
    }
    body.sdc-menu-open .sdc-header {
        z-index: 1002;
        /* header már eleve position: sticky */
    }
    /* Háttér scroll blokk touch-on (iOS / Android) */
    body.sdc-menu-open .sdc-mobile-nav__backdrop {
        touch-action: none;
    }
    /* Joinchat (floating chat-gomb plugin) elrejtése mobile menü nyitva állapotban,
       hogy ne lógjon a drawer fölött. Visibility-vel + opacity-vel — a smooth
       zárás-animációhoz transition-friendly. */
    body.sdc-menu-open .joinchat,
    body.sdc-menu-open .joinchat__button,
    body.sdc-menu-open #joinchat {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .2s var(--sdc-ease), visibility 0s linear .2s;
    }
}
/* ---------- 27. Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
    .sdc-hero__track {
        transition: none !important;
    }
}
/* =====================================================================
   FRONT PAGE szekciók — bemutatkozas / megvalositjuk / bemvideo / velemenyek
   ===================================================================== */
/* Hero slide as <a> link variant — ne menjen el a kattintás semmiért */
.sdc-hero__slide--linked {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
/* ---------- Trust strip — bizalom-jelek a hero alatt ---------- */
.sdc-trust-strip {
    background: linear-gradient(180deg, #fff 0%, var(--sdc-c-bg-soft) 100%);
    border-bottom: 1px solid var(--sdc-c-border);
    padding-block: 28px;
}
.sdc-trust-strip__row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
@media (min-width: 720px) {
    .sdc-trust-strip__row {
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
    }
}
.sdc-trust-strip__item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 8px 4px;
    color: var(--sdc-c-text);
    font-size: var(--sdc-fs-sm);
    line-height: 1.35;
}
.sdc-trust-strip__item svg {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    fill: var(--sdc-c-primary);
    background: rgba(10, 107, 107, .08);
    border-radius: 50%;
    padding: 7px;
}
.sdc-trust-strip__item strong {
    display: block;
    color: var(--sdc-c-bg-dark);
    font-weight: 700;
    font-size: var(--sdc-fs-md);
}
/* ---------- Bemutatkozás — felső kép-szöveg split, dekoratív accent ---------- */
.sdc-bemutatkozas {
    padding-block: clamp(56px, 5vw + 32px, 112px);
    background: var(--sdc-c-bg);
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
/* Halvány kör accent dekoráció */
.sdc-bemutatkozas::before {
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(10, 107, 107, .06) 0%, transparent 70%);
    z-index: -1;
}
.sdc-bemutatkozas::after {
    content: "";
    position: absolute;
    bottom: -160px;
    left: -100px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 168, 107, .07) 0%, transparent 70%);
    z-index: -1;
}
.sdc-bemutatkozas__title {
    text-align: center;
    margin: 0 auto 48px;
    max-width: 900px;
    padding-inline: 16px;
}
.sdc-bemutatkozas__title h1,
.sdc-bemutatkozas__title h2,
.sdc-bemutatkozas__title h3 {
    font-size: clamp(1.625rem, 1.2rem + 1.8vw, 2.5rem);
    margin-bottom: 14px;
    position: relative;
    padding-bottom: 18px;
}
.sdc-bemutatkozas__title h1::after,
.sdc-bemutatkozas__title h2::after,
.sdc-bemutatkozas__title h3::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, var(--sdc-c-primary), var(--sdc-c-accent));
    border-radius: 3px;
}
.sdc-bemutatkozas__title strong {
    display: block;
    font-weight: 500;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-lg);
    margin-top: 8px;
}
/* Új layout: aszimmetrikus 38/62 grid, kép circular trust badge-ként
   dekoratív gyűrűkkel, szöveg dominál. Konténer-shadow nélkül,
   levegős, modern megjelenés. */
.sdc-bemutatkozas__inner {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: clamp(28px, 4vw, 72px);
    margin-inline: auto;
    max-width: 1180px;
}
@media (min-width: 900px) {
    .sdc-bemutatkozas__inner {
        grid-template-columns: minmax(260px, 380px) 1fr;
    }
}
/* Kép — circular trust badge dekoratív gyűrűkkel */
.sdc-bemutatkozas__media {
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 360px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}
/* Külső gyűrű — finom körkörös gradient háttér */
.sdc-bemutatkozas__ring--outer {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 30%, rgba(130, 169, 176, .22) 0%, transparent 60%),
        radial-gradient(circle at 70% 70%, rgba(189, 147, 105, .18) 0%, transparent 60%);
    z-index: 0;
}
/* Belső gyűrű — szaggatott, accent színű */
.sdc-bemutatkozas__ring--inner {
    position: absolute;
    inset: 6%;
    border-radius: 50%;
    border: 1px dashed rgba(189, 147, 105, .35);
    z-index: 0;
    animation: sdc-ring-rotate 60s linear infinite;
}
@keyframes sdc-ring-rotate {
    to {
        transform: rotate(360deg);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sdc-bemutatkozas__ring--inner {
        animation: none;
    }
}
/* A logo/kép — contained, nem cropped */
.sdc-bemutatkozas__img {
    position: relative;
    z-index: 1;
    width: 86%;
    height: 86%;
    object-fit: contain;
    margin: 0;
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(13, 31, 36, .08);
    background: #fff;
}
/* Szöveg — levegős, jó tipográfia, vékony bal-accent vonal desktopon */
.sdc-bemutatkozas__text {
    padding: 0;
    background: none;
    color: var(--sdc-c-text);
    position: relative;
    font-size: var(--sdc-fs-md);
}
@media (min-width: 900px) {
    .sdc-bemutatkozas__text {
        padding-left: clamp(20px, 3vw, 48px);
        border-left: 1px solid var(--sdc-c-border);
    }
}
.sdc-bemutatkozas__text p {
    line-height: 1.78;
    margin-bottom: 1.1em;
}
.sdc-bemutatkozas__text p:last-child {
    margin-bottom: 0;
}
.sdc-bemutatkozas__text strong {
    color: var(--sdc-c-bg-dark);
    font-weight: 600;
}
.sdc-bemutatkozas__text :is(h1, h2, h3, h4) {
    margin-top: 0;
    margin-bottom: .6em;
    font-size: clamp(1.125rem, 1rem + .6vw, 1.375rem);
}
/* ---------- Megvalósítjuk — modern, marketing-CTA banner ---------- */
.sdc-megvalositjuk {
    position: relative;
    padding-block: clamp(72px, 8vw, 140px);
    background-color: var(--sdc-c-bg-dark);
    background-size: cover;
    background-position: center;
    color: #fff;
    isolation: isolate;
    overflow: hidden;
    text-align: center;
}
.sdc-megvalositjuk::before {
    content: "";
    position: absolute;
    inset: 0;
    /* Lágyabb, kifinomultabb overlay — a háttérkép sokkal jobban átlátszik.
       Korábbi .82 / .92 helyett .50 / .42 — ~40%-kal csökkentett sötétség.
       A két radial accent (teal + gold) megmarad, picit erősebb, hogy a
       lágyabb dark layer mellett is karakteres legyen a színpaletta. */
    background:
        radial-gradient(ellipse at 25% 30%, rgba(130, 169, 176, .38) 0%, transparent 55%),
        radial-gradient(ellipse at 80% 80%, rgba(189, 147, 105, .26) 0%, transparent 55%),
        linear-gradient(135deg, rgba(13, 31, 36, .50) 0%, rgba(13, 31, 36, .35) 50%, rgba(7, 24, 28, .42) 100%);
    z-index: 0;
}
/* Animált háttér orbs (3 lebegő színkör) */
.sdc-megvalositjuk__orbs {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.sdc-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .4;
    animation: sdc-orb-float 14s ease-in-out infinite;
    will-change: transform;
}
.sdc-orb--1 {
    width: 320px;
    height: 320px;
    background: var(--sdc-c-primary);
    top: -80px;
    left: -80px;
}
.sdc-orb--2 {
    width: 260px;
    height: 260px;
    background: var(--sdc-c-accent);
    bottom: -60px;
    right: 10%;
    animation-delay: -4s;
}
.sdc-orb--3 {
    width: 200px;
    height: 200px;
    background: var(--sdc-c-primary-lt);
    top: 40%;
    right: 30%;
    animation-delay: -8s;
    opacity: .25;
}
@keyframes sdc-orb-float {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    33% {
        transform: translate(40px, -30px) scale(1.08);
    }
    66% {
        transform: translate(-30px, 25px) scale(.95);
    }
}
@media (prefers-reduced-motion: reduce) {
    .sdc-orb {
        animation: none;
    }
}
.sdc-megvalositjuk__inner {
    position: relative;
    z-index: 2;
    max-width: 920px;
    margin: 0 auto;
    padding-inline: 16px;
}
/* Eyebrow trust badge */
.sdc-megvalositjuk__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(12px);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .95);
    margin-bottom: 24px;
}
.sdc-megvalositjuk__eyebrow svg {
    width: 16px;
    height: 16px;
    fill: var(--sdc-c-accent);
    flex: 0 0 auto;
}
/* H3 cím + alá strong */
.sdc-megvalositjuk__text h1,
.sdc-megvalositjuk__text h2,
.sdc-megvalositjuk__text h3 {
    font-size: clamp(1.875rem, 1.3rem + 2.2vw, 3.25rem);
    margin: 0 0 16px;
    line-height: 1.15;
    letter-spacing: -.02em;
    font-weight: 800;
    color: #fff;
}
.sdc-megvalositjuk__text strong {
    display: block;
    font-weight: 500;
    font-size: clamp(1.0625rem, .95rem + .5vw, 1.3125rem);
    color: rgba(255, 255, 255, .92);
    margin-bottom: 32px;
    line-height: 1.5;
}
/* A régi VC button (a wpb buttonblock-ben) elrejtve, mert kettős CTA-t adunk lent */
.sdc-megvalositjuk__text .buttonblock,
.sdc-megvalositjuk__text .vc_btn3,
.sdc-megvalositjuk__text>a {
    display: none;
}
/* USP tripla — 3 érvkártya */
.sdc-megvalositjuk__usps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin: 0 auto 36px;
    max-width: 738px;
}
.sdc-megvalositjuk__usp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--sdc-radius-md);
    color: rgba(255, 255, 255, .95);
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    transition: background var(--sdc-dur), transform var(--sdc-dur);
}
.sdc-megvalositjuk__usp:hover {
    background: rgba(255, 255, 255, .12);
    transform: translateY(-2px);
}
.sdc-megvalositjuk__usp svg {
    width: 22px;
    height: 22px;
    fill: var(--sdc-c-accent);
    background: rgba(255, 255, 255, .95);
    border-radius: 50%;
    padding: 4px;
    flex: 0 0 auto;
}
/* Ikerpáros CTA — hívás + foglalás */
.sdc-megvalositjuk__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
}
.sdc-megvalositjuk__cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 14px 26px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff !important;
    transition: transform var(--sdc-dur), box-shadow var(--sdc-dur), background var(--sdc-dur);
    min-width: 260px;
    text-align: left;
}
.sdc-megvalositjuk__cta--call {
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    box-shadow: 0 8px 24px rgba(130, 169, 176, .35);
}
.sdc-megvalositjuk__cta--book {
    background: linear-gradient(135deg, var(--sdc-c-accent) 0%, #a37c52 100%);
    box-shadow: 0 8px 24px rgba(189, 147, 105, .4);
}
.sdc-megvalositjuk__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .35);
}
.sdc-megvalositjuk__cta--call:hover {
    background: linear-gradient(135deg, var(--sdc-c-primary-dk) 0%, var(--sdc-c-primary) 100%);
}
.sdc-megvalositjuk__cta--book:hover {
    background: linear-gradient(135deg, #a37c52 0%, var(--sdc-c-accent) 100%);
}
.sdc-megvalositjuk__cta-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    background: rgba(255, 255, 255, .18);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sdc-megvalositjuk__cta-icon svg {
    width: 22px;
    height: 22px;
    fill: #fff;
}
.sdc-megvalositjuk__cta-body {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}
.sdc-megvalositjuk__cta-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    opacity: .85;
}
.sdc-megvalositjuk__cta-body strong {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
}
@media (max-width: 480px) {
    .sdc-megvalositjuk__cta {
        min-width: 100%;
        justify-content: flex-start;
    }
}
/* ---------- Bemutatkozó videó — full-width, SVG dekoráció ---------- */
/* =====================================================================
   #bemvideo — Cinema-stílusú featured player + sidebar playlist
   ===================================================================== */
.sdc-bemvideo {
    position: relative;
    background: linear-gradient(180deg, #f9f6f0 0%, #ffffff 100%);
    padding-block: clamp(64px, 6vw, 112px);
    overflow: hidden;
    isolation: isolate;
}
.sdc-bemvideo__inner {
    position: relative;
    z-index: 1;
}
/* Smart Slider 3 maradvány-rejtés (hardening) */
.sdc-bemvideo .n2_ss_slider_publish__option_code,
.sdc-bemvideo [class*="n2-ss-"],
.sdc-bemvideo [data-mode="id"] {
    display: none !important;
}

/* ---------- Header — eyebrow + cím ---------- */
.sdc-bemvideo__head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 48px);
    max-width: 720px;
    margin-inline: auto;
}
.sdc-bemvideo__eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--sdc-c-accent);
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.sdc-bemvideo__title {
    margin: 0;
}
.sdc-bemvideo__title h1,
.sdc-bemvideo__title h2,
.sdc-bemvideo__title h3 {
    font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.5rem);
    margin: 0 0 14px;
    position: relative;
    padding-bottom: 18px;
    line-height: 1.15;
}
.sdc-bemvideo__title h1::after,
.sdc-bemvideo__title h2::after,
.sdc-bemvideo__title h3::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 72px;
    height: 3px;
    background: linear-gradient(90deg, var(--sdc-c-primary), var(--sdc-c-accent));
    border-radius: 3px;
}
.sdc-bemvideo__title p {
    margin: 0;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-lg);
}
.sdc-bemvideo__title strong {
    color: var(--sdc-c-text);
    font-weight: 600;
}

/* ---------- Cinema layout: featured + playlist ---------- */
.sdc-bemvideo__cinema {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
    max-width: 1280px;
    margin: 0 auto;
}
@media (min-width: 980px) {
    .sdc-bemvideo__cinema {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        gap: 32px;
    }
}

/* ---------- Featured — bal oldal ---------- */
.sdc-bemvideo__feature {
    min-width: 0;
}
.sdc-bemvideo__stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--sdc-radius-lg);
    overflow: hidden;
    background: #000;
    box-shadow: 0 24px 60px rgba(13, 31, 36, .18);
}
.sdc-bemvideo__stage > * {
    width: 100%;
    height: 100%;
}
.sdc-bemvideo__iframe {
    display: block;
    border: 0;
}

/* Lazy YouTube facade — click-igényes thumbnail YT script-pull NÉLKÜL */
.sdc-bemvideo__facade {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    background: #000;
    overflow: hidden;
}
.sdc-bemvideo__facade-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--sdc-ease), filter var(--sdc-dur);
}
.sdc-bemvideo__facade:hover .sdc-bemvideo__facade-img {
    transform: scale(1.03);
    filter: brightness(.92);
}
.sdc-bemvideo__facade-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(64px, 8vw, 90px);
    height: auto;
    pointer-events: none;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-bemvideo__facade-play svg {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .35));
}
.sdc-bemvideo__facade-play-bg {
    fill: rgba(33, 33, 33, .82);
    transition: fill var(--sdc-dur) var(--sdc-ease);
}
.sdc-bemvideo__facade-play-arrow {
    fill: #fff;
}
.sdc-bemvideo__facade:hover .sdc-bemvideo__facade-play {
    transform: translate(-50%, -50%) scale(1.08);
}
.sdc-bemvideo__facade:hover .sdc-bemvideo__facade-play-bg {
    fill: #cc0000;  /* YouTube red on hover */
}

/* ---------- Featured meta — cím + leírás + tag-ek ---------- */
.sdc-bemvideo__feature-meta {
    margin-top: 18px;
    padding: 18px 0 0;
    border-top: 1px solid var(--sdc-c-border);
}
/* Title-row — h3 + yt-link egy sorban. yt-link nem törik következő sorba
 * ha a cím hosszú; a cím wrappelődik saját flex-spaceben, link mindig
 * jobbra marad. */
.sdc-bemvideo__feature-title-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 6px;
}
.sdc-bemvideo__feature-title {
    margin: 0;
    font-family: var(--sdc-font-heading);
    font-size: clamp(1.2rem, .9rem + .8vw, 1.6rem);
    font-weight: 700;
    color: var(--sdc-c-text);
    line-height: 1.25;
    flex: 1 1 auto;
    min-width: 0;
}
.sdc-bemvideo__feature-desc {
    margin: 0 0 12px;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-md);
    line-height: 1.55;
}
.sdc-bemvideo__feature-desc[hidden] {
    display: none;
}
.sdc-bemvideo__feature-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.sdc-bemvideo__tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: var(--sdc-c-bg-soft);
    border: 1px solid var(--sdc-c-border);
    border-radius: 999px;
    font-size: var(--sdc-fs-xs);
    font-weight: 600;
    color: var(--sdc-c-text);
    line-height: 1.3;
}
.sdc-bemvideo__tag svg {
    width: 14px;
    height: 14px;
    fill: var(--sdc-c-primary-dk);
}
.sdc-bemvideo__tag--cat {
    background: rgba(189, 147, 105, .12);
    border-color: rgba(189, 147, 105, .35);
    color: var(--sdc-c-accent);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: var(--sdc-fs-xs);
}
.sdc-bemvideo__tag[hidden] {
    display: none;
}
.sdc-bemvideo__yt-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto;        /* nem zsugorodik, NEM törik új sorba */
    white-space: nowrap;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-xs);
    text-decoration: none;
    transition: color var(--sdc-dur) var(--sdc-ease);
}
.sdc-bemvideo__yt-link:hover {
    color: var(--sdc-c-primary-dk);
}
.sdc-bemvideo__yt-link svg {
    width: 12px;
    height: 12px;
    fill: currentColor;
}

/* ---------- Playlist — jobb oldal ---------- */
.sdc-bemvideo__playlist {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-lg);
    box-shadow: 0 4px 14px rgba(13, 31, 36, .04);
    overflow: hidden;
    align-self: start;
}
@media (min-width: 980px) {
    .sdc-bemvideo__playlist {
        /* A playlist magassága PONTOSAN annyi, mint a mellette lévő stage
         * (16:9 aspect-ratio a 2fr/1fr columns konfigurációval).
         * Matek: stage_w = 2 × playlist_w. stage_h = stage_w × 9/16.
         * A playlist ugyanolyan magas legyen → playlist_h = 2 × playlist_w × 9/16 = playlist_w × 9/8.
         * Tehát aspect-ratio = playlist_w / playlist_h = 8/9. */
        aspect-ratio: 8 / 9;
        display: flex;
        flex-direction: column;
    }
}
.sdc-bemvideo__playlist-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--sdc-c-border);
    background: linear-gradient(180deg, #fff 0%, var(--sdc-c-bg-soft) 100%);
    flex: 0 0 auto;
}
.sdc-bemvideo__playlist-head strong {
    font-family: var(--sdc-font-heading);
    font-size: var(--sdc-fs-md);
    font-weight: 700;
    color: var(--sdc-c-text);
}
.sdc-bemvideo__playlist-head span {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-xs);
    font-weight: 500;
}

.sdc-bemvideo__playlist-list {
    list-style: none;
    margin: 0;
    padding: 6px;
    overflow-y: auto;
    overflow-x: hidden;
    /* Touch scroll hardening — momentum scroll iOS-en, NEM "bounce-out"
     * a body-ra mobilon, és explicit pan-y irány a touch-on. */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-width: thin;
    scrollbar-color: var(--sdc-c-primary-lt) transparent;
    flex: 1 1 auto;
    counter-reset: bemvideo-pl;
    display: flex;
    flex-direction: column;
}
/* Drag-grab cursor mouse-on (JS pointer-drag aktív) */
.sdc-bemvideo__playlist-list { cursor: grab; }
.sdc-bemvideo__playlist-list.is-dragging { cursor: grabbing; }
.sdc-bemvideo__playlist-list.is-dragging .sdc-bemvideo__pl-item {
    pointer-events: none; /* drag közben ne történjen accidentális click */
}
.sdc-bemvideo__playlist-list::-webkit-scrollbar { width: 6px; }
.sdc-bemvideo__playlist-list::-webkit-scrollbar-thumb {
    background: var(--sdc-c-primary-lt);
    border-radius: 3px;
}
.sdc-bemvideo__playlist-list > li {
    margin: 0;
}
/* Desktop: pontosan 4 item látszik egyszerre — flex-basis 25% a list
 * height-jén belül. A többi alulra scrollozható. */
@media (min-width: 980px) {
    .sdc-bemvideo__playlist-list > li {
        flex: 0 0 25%;
        min-height: 0;
    }
    .sdc-bemvideo__pl-item {
        height: 100%;
    }
}
.sdc-bemvideo__pl-item {
    display: flex;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    padding: 8px;
    border: 0;
    background: transparent;
    border-radius: var(--sdc-radius-md);
    cursor: pointer;
    text-align: left;
    transition: background var(--sdc-dur) var(--sdc-ease);
}
.sdc-bemvideo__pl-item:hover {
    background: var(--sdc-c-bg-soft);
}
.sdc-bemvideo__pl-item.is-active {
    background: rgba(130, 169, 176, .12);
}
.sdc-bemvideo__pl-thumb {
    flex: 0 0 120px;
    width: 120px;
    height: 68px;
    position: relative;
    border-radius: var(--sdc-radius-sm);
    overflow: hidden;
    background: var(--sdc-c-bg-soft);
}
.sdc-bemvideo__pl-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s var(--sdc-ease), filter var(--sdc-dur);
}
.sdc-bemvideo__pl-item:hover .sdc-bemvideo__pl-thumb img {
    transform: scale(1.05);
}
.sdc-bemvideo__pl-item:not(.is-active) .sdc-bemvideo__pl-thumb img {
    filter: brightness(.85);
}
.sdc-bemvideo__pl-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background var(--sdc-dur);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
}
.sdc-bemvideo__pl-play svg {
    width: 14px;
    height: 14px;
    fill: var(--sdc-c-bg-dark);
    margin-left: 2px;
}
.sdc-bemvideo__pl-item:hover .sdc-bemvideo__pl-play,
.sdc-bemvideo__pl-item.is-active .sdc-bemvideo__pl-play {
    background: var(--sdc-c-primary);
}
.sdc-bemvideo__pl-item:hover .sdc-bemvideo__pl-play svg,
.sdc-bemvideo__pl-item.is-active .sdc-bemvideo__pl-play svg {
    fill: #fff;
}
.sdc-bemvideo__pl-duration {
    position: absolute;
    right: 4px;
    bottom: 4px;
    padding: 1px 6px;
    background: rgba(0, 0, 0, .8);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 3px;
    font-variant-numeric: tabular-nums;
}
.sdc-bemvideo__pl-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 2px 0;
}
.sdc-bemvideo__pl-num {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
}
.sdc-bemvideo__pl-title {
    color: var(--sdc-c-text);
    font-size: var(--sdc-fs-sm);
    font-weight: 600;
    line-height: 1.35;
    /* 2 sor max — clip */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sdc-bemvideo__pl-item.is-active .sdc-bemvideo__pl-title {
    color: var(--sdc-c-primary-dk);
}
.sdc-bemvideo__pl-cat {
    color: var(--sdc-c-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-top: 2px;
}

/* Mobil playlist — horizontal swiper helyett vertical (max-height limittel) */
@media (max-width: 979px) {
    .sdc-bemvideo__playlist {
        max-height: 480px;
    }
    .sdc-bemvideo__playlist-list {
        max-height: 100%;
    }
}

/* ---------- CTA-band ---------- */
.sdc-bemvideo__cta {
    margin-top: clamp(36px, 5vw, 64px);
    padding: clamp(24px, 4vw, 40px) clamp(20px, 3vw, 32px);
    background: linear-gradient(135deg, rgba(189, 147, 105, .08) 0%, rgba(130, 169, 176, .10) 100%);
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-lg);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
@media (min-width: 720px) {
    .sdc-bemvideo__cta {
        flex-direction: row;
        justify-content: center;
        gap: 24px;
        text-align: left;
    }
}
.sdc-bemvideo__cta-text {
    margin: 0;
    color: var(--sdc-c-text);
    font-size: clamp(1rem, .9rem + .3vw, 1.15rem);
    font-weight: 500;
    line-height: 1.45;
    max-width: 480px;
}
.sdc-bemvideo__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    flex-shrink: 0;
}
.sdc-bemvideo__cta-btn svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.sdc-bemvideo__cta-btn svg:last-child {
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-bemvideo__cta-btn:hover svg:last-child {
    transform: translateX(4px);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .sdc-bemvideo__facade-img,
    .sdc-bemvideo__facade-play,
    .sdc-bemvideo__pl-thumb img,
    .sdc-bemvideo__cta-btn svg:last-child {
        transition: none;
    }
}
/* ─── Vélemények — Carousel timeline (full-width single column) ─────────────
   Warm cream paletta, központosított header, swiper kártyák, CTA aljúl.
   Quote-decor + counter animation + stagger reveal mind dekoratív rétegként. */
.sdc-velemenyek {
    position: relative;
    /* Warm cream háttér — premium, nyugodt érzet (a régi #b2c8c8 light teal helyett) */
    box-shadow: 0px -8px 30px 0px rgba(0, 0, 0, 0.12);
    background:
        radial-gradient(ellipse at 80% 20%, rgba(189, 147, 105, .08) 0%, transparent 50%),
        radial-gradient(ellipse at 15% 90%, rgba(130, 169, 176, .10) 0%, transparent 55%),
        linear-gradient(180deg, #faf6f0 0%, #f6f0e8 100%);
    isolation: isolate;
    padding-block: clamp(64px, 7vw, 120px) !important;
    overflow: hidden;
}
/* Háttér quote-decor — óriási idézőjel halvány gold opacity-vel */
.sdc-velemenyek::before {
    content: "❝";
    position: absolute;
    top: 60px;
    left: 6%;
    font-family: "Source Serif 4", Georgia, serif;
    font-size: clamp(180px, 24vw, 320px);
    line-height: 1;
    color: rgba(189, 147, 105, .12);
    z-index: 0;
    pointer-events: none;
    user-select: none;
}
.sdc-velemenyek__head {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(40px, 5vw, 64px);
}
.sdc-velemenyek__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    color: var(--sdc-c-primary-dk);
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sdc-velemenyek__eyebrow svg {
    width: 14px;
    height: 14px;
    fill: var(--sdc-c-primary-dk);
}
.sdc-velemenyek__title {
    font-family: var(--sdc-font-heading);
    font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
    line-height: 1.1;
    margin: 0 0 14px;
    color: var(--sdc-c-heading);
    font-weight: 600;
    letter-spacing: -.01em;
}
.sdc-velemenyek__sub {
    font-size: clamp(1rem, .9rem + .4vw, 1.25rem);
    color: var(--sdc-c-text);
    margin: 0 0 28px;
    line-height: 1.5;
}
/* Google rating card — counter animációval */
.sdc-velemenyek__rating-card {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 16px 28px;
    background: #fff;
    border-radius: 999px;
    box-shadow: 0 14px 36px -16px rgba(13, 31, 36, .25), 0 4px 10px -4px rgba(13, 31, 36, .08);
    border: 1px solid var(--sdc-c-border);
}
.sdc-velemenyek__rating-google {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sdc-velemenyek__rating-google svg {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #4285F4, #34A853 30%, #FBBC05 60%, #EA4335);
    border-radius: 50%;
    padding: 2px;
}
.sdc-velemenyek__rating-numbers {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    color: var(--sdc-c-bg-dark);
    font-weight: 700;
}
.sdc-velemenyek__rating-num {
    font-size: 1.625rem;
    font-weight: 800;
    color: var(--sdc-c-bg-dark);
    font-variant-numeric: tabular-nums;
}
.sdc-velemenyek__rating-numbers span {
    font-size: 1rem;
    color: var(--sdc-c-muted);
    font-weight: 500;
}
.sdc-velemenyek__rating-stars {
    display: inline-flex;
    gap: 2px;
}
.sdc-velemenyek__rating-count {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    color: var(--sdc-c-text);
    font-size: 14px;
    padding-left: 12px;
    border-left: 1px solid var(--sdc-c-border);
}
.sdc-velemenyek__rating-count strong {
    color: var(--sdc-c-bg-dark);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 600px) {
    .sdc-velemenyek__rating-card {
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 14px;
        padding: 14px 18px;
        border-radius: var(--sdc-radius-lg);
    }
    .sdc-velemenyek__rating-count {
        padding-left: 0;
        border-left: 0;
        flex: 1 0 100%;
        justify-content: center;
    }
}
/* Csillagok: stars rating SVG */
.sdc-star {
    width: 18px;
    height: 18px;
    fill: rgba(13, 31, 36, .15);
}
.sdc-star.is-full {
    fill: #FBBC05;
}
.sdc-star.is-half {
    background: linear-gradient(90deg, #FBBC05 50%, rgba(13, 31, 36, .15) 50%);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l2.4 4.85L20 7.7l-4 3.9.94 5.5L12 14.5l-4.94 2.6L8 11.6l-4-3.9 5.6-.85L12 2z'/></svg>") center/contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l2.4 4.85L20 7.7l-4 3.9.94 5.5L12 14.5l-4.94 2.6L8 11.6l-4-3.9 5.6-.85L12 2z'/></svg>") center/contain no-repeat;
    fill: transparent;
}
/* ─── Carousel — review cards ─── */
.sdc-velemenyek__carousel {
    --sdc-swiper-gap: 24px;
    --sdc-swiper-visible: 3;
    --sdc-swiper-gap-count: 2;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    gap: var(--sdc-swiper-gap);
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin-inline: calc(-1 * clamp(8px, 1vw, 16px));
    padding: 8px clamp(8px, 1vw, 16px) 24px;
}
.sdc-velemenyek__carousel::-webkit-scrollbar {
    display: none;
}
.sdc-velemenyek__carousel>.sdc-velemeny {
    flex: 0 0 calc((100% - var(--sdc-swiper-gap) * var(--sdc-swiper-gap-count)) / var(--sdc-swiper-visible));
    scroll-snap-align: start;
    scroll-snap-stop: always;
    min-width: 0;
}
@media (max-width: 1100px) {
    .sdc-velemenyek__carousel {
        --sdc-swiper-visible: 2.2;
        --sdc-swiper-gap-count: 1;
    }
}
@media (max-width: 700px) {
    .sdc-velemenyek__carousel {
        --sdc-swiper-visible: 1.15;
        --sdc-swiper-gap-count: 0;
        gap: 14px;
    }
}
/* Review card — Google-stílusú */
.sdc-velemeny {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-lg);
    padding: 28px 26px 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: relative;
    box-shadow: 0 1px 3px rgba(13, 31, 36, .04);
    transition: box-shadow var(--sdc-dur) var(--sdc-ease), transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-velemeny:hover {
    box-shadow: 0 18px 40px -18px rgba(13, 31, 36, .25), 0 4px 10px -4px rgba(13, 31, 36, .08);
    transform: translateY(-3px);
}
.sdc-velemeny__head {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.sdc-velemeny__google {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sdc-velemeny__google svg {
    width: 22px;
    height: 22px;
    background: linear-gradient(135deg, #4285F4, #34A853 30%, #FBBC05 60%, #EA4335);
    border-radius: 50%;
    padding: 2px;
}
.sdc-velemeny__stars {
    display: inline-flex;
    gap: 2px;
    margin-right: auto;
}
.sdc-velemeny__stars .sdc-star {
    width: 16px;
    height: 16px;
}
.sdc-velemeny__verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(52, 168, 83, .12);
    color: #0f7c2a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.sdc-velemeny__verified svg {
    width: 12px;
    height: 12px;
    fill: #0f7c2a;
}
.sdc-velemeny__text {
    font-style: italic;
    color: var(--sdc-c-text);
    line-height: 1.65;
    margin: 0;
    flex: 1 1 auto;
    /* line-clamp: 5 sornál hosszabb idézet kompaktabb (overflow scroll on hover) */
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sdc-velemeny__foot {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--sdc-c-border);
}
.sdc-velemeny__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 44px;
    background: var(--sdc-c-bg-soft);
}
.sdc-velemeny__avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    color: var(--sdc-c-primary-dk);
    background: linear-gradient(135deg, rgba(130, 169, 176, .25) 0%, rgba(189, 147, 105, .2) 100%);
    letter-spacing: .02em;
}
.sdc-velemeny__author {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.sdc-velemeny__name {
    font-size: var(--sdc-fs-md);
    font-weight: 700;
    color: var(--sdc-c-bg-dark);
    line-height: 1.3;
    margin: 0;
}
.sdc-velemeny__sub {
    font-size: var(--sdc-fs-xs);
    color: var(--sdc-c-muted);
    line-height: 1.4;
    margin: 0;
}
/* Stagger reveal — fade-up animation IntersectionObserver-rel
   Az `[data-reveal]` markup-ot a reveal.js modul figyeli */
.sdc-velemeny[data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s var(--sdc-ease), transform .6s var(--sdc-ease);
}
.sdc-velemeny[data-reveal].is-revealed {
    opacity: 1;
    transform: translateY(0);
}
.sdc-velemeny[data-reveal]:nth-child(2) {
    transition-delay: .1s;
}
.sdc-velemeny[data-reveal]:nth-child(3) {
    transition-delay: .2s;
}
.sdc-velemeny[data-reveal]:nth-child(4) {
    transition-delay: .3s;
}
/* Trustindex fallback widget — letisztult kártya */
.sdc-velemenyek__widget {
    background: #fff;
    border-radius: var(--sdc-radius-lg);
    box-shadow: 0 14px 36px -16px rgba(13, 31, 36, .15);
    padding: 24px;
    border: 1px solid var(--sdc-c-border);
}
/* CTA — Google reviews link */
.sdc-velemenyek__cta {
    text-align: center;
    margin-top: clamp(32px, 4vw, 56px);
    position: relative;
    z-index: 1;
}
.sdc-velemenyek__cta-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    color: #fff;
    font-family: var(--sdc-font);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .01em;
    text-decoration: none;
    box-shadow: 0 14px 30px -12px rgba(7, 79, 79, .55);
    transition: transform var(--sdc-dur) var(--sdc-ease), box-shadow var(--sdc-dur) var(--sdc-ease);
}
.sdc-velemenyek__cta-link svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-velemenyek__cta-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 40px -14px rgba(7, 79, 79, .65);
    color: #fff;
}
.sdc-velemenyek__cta-link:hover svg {
    transform: translateX(3px);
}
/* ---------- Front page tartalom (Legfrissebb híreink) ---------- */
.sdc-front-content {
    padding-block: clamp(56px, 5vw, 96px);
    background: linear-gradient(180deg, var(--sdc-c-bg-soft) 0%, #fff 100%);
    position: relative;
}
.sdc-front-content .sdc-prose {
    max-width: 1200px;
    margin-inline: auto;
}
/* Section title — a többi szekciócímmel azonos méret + accent vonal.
   A h4 mélyen beágyazva érkezik a [vc_column_text] shortcode-ból,
   ezért nem `>` direct-child selectort használunk. A kártya h3 (.sdc-card__title)
   már saját szabályt kap, így nem ütközik. */
.sdc-front-content h4 {
    text-align: center;
    font-size: clamp(1.625rem, 1.2rem + 1.8vw, 2.5rem);
    margin: 0 0 40px;
    position: relative;
    padding-bottom: 18px;
    letter-spacing: -.005em;
    font-weight: 700;
    line-height: 1.2;
    color: var(--sdc-c-heading);
}
.sdc-front-content h4::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, var(--sdc-c-primary), var(--sdc-c-accent));
    border-radius: 3px;
}
/* A prose alatti link-aláhúzás NE érintse a kártya-linkeket */
.sdc-news-grid a,
.sdc-news-grid a:hover,
.sdc-services-grid a,
.sdc-team-grid a,
.sdc-services-grid a:hover,
.sdc-team-grid a:hover {
    text-decoration: none;
}
/* vc_basic_grid eredeti markup-ot is normálba kapcsoljuk */
.sdc-front-content .vc_grid,
.sdc-front-content .vc_grid-container {
    width: 100%;
}
.sdc-front-content .vc_grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}
.sdc-front-content .vc_grid .vc_grid-item {
    margin: 0;
    width: 100% !important;
    background: #fff;
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    box-shadow: var(--sdc-shadow-sm);
    transition: transform var(--sdc-dur), box-shadow var(--sdc-dur);
}
.sdc-front-content .vc_grid .vc_grid-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--sdc-shadow-lg);
}
.sdc-front-content .vc_grid img {
    margin: 0;
    border-radius: 0;
}
/* =====================================================================
   29. Page builder shortcode renderek (Ult VC + CF7)
   ===================================================================== */
/* Egyetemes VC sor — 12 oszlopos CSS Grid */
.sdc-vc-vc-row,
.sdc-vc-vc-row-inner,
.sdc-vc-vc-section {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(20px, 2.5vw, 40px);
    margin-block: clamp(20px, 2.5vw, 40px);
    align-items: start;
}
/* Oszlopok — alapból teljes szélesség, majd data-w-en át 6/4/3/8/9 stb. spans.
   Mind a `.sdc-vc-vc-column` (vc_column), mind a `.sdc-vc-vc-column-inner` (vc_column_inner)
   ugyanazokat a szabályokat kapja. */
.sdc-vc-vc-column,
.sdc-vc-vc-column-inner {
    grid-column: span 12;
    min-width: 0;
}
.sdc-vc-vc-column[data-w="1/1"],
.sdc-vc-vc-column-inner[data-w="1/1"] {
    grid-column: span 12;
}
.sdc-vc-vc-column[data-w="1/2"],
.sdc-vc-vc-column-inner[data-w="1/2"] {
    grid-column: span 6;
}
.sdc-vc-vc-column[data-w="1/3"],
.sdc-vc-vc-column-inner[data-w="1/3"] {
    grid-column: span 4;
}
.sdc-vc-vc-column[data-w="2/3"],
.sdc-vc-vc-column-inner[data-w="2/3"] {
    grid-column: span 8;
}
.sdc-vc-vc-column[data-w="1/4"],
.sdc-vc-vc-column-inner[data-w="1/4"] {
    grid-column: span 3;
}
.sdc-vc-vc-column[data-w="3/4"],
.sdc-vc-vc-column-inner[data-w="3/4"] {
    grid-column: span 9;
}
.sdc-vc-vc-column[data-w="1/5"],
.sdc-vc-vc-column-inner[data-w="1/5"] {
    grid-column: span 2;
}
.sdc-vc-vc-column[data-w="2/5"],
.sdc-vc-vc-column-inner[data-w="2/5"] {
    grid-column: span 5;
}
.sdc-vc-vc-column[data-w="3/5"],
.sdc-vc-vc-column-inner[data-w="3/5"] {
    grid-column: span 7;
}
.sdc-vc-vc-column[data-w="4/5"],
.sdc-vc-vc-column-inner[data-w="4/5"] {
    grid-column: span 10;
}
.sdc-vc-vc-column[data-w="1/6"],
.sdc-vc-vc-column-inner[data-w="1/6"] {
    grid-column: span 2;
}
.sdc-vc-vc-column[data-w="5/6"],
.sdc-vc-vc-column-inner[data-w="5/6"] {
    grid-column: span 10;
}
/* Mobilon minden oszlop teljes szélesség */
@media (max-width: 768px) {
    .sdc-vc-vc-row,
    .sdc-vc-vc-row-inner,
    .sdc-vc-vc-section {
        grid-template-columns: 1fr;
    }
    .sdc-vc-vc-column[data-w],
    .sdc-vc-vc-column-inner[data-w] {
        grid-column: span 1;
    }
}
/* Beágyazott VC plugin saját column osztályok (ha mégis aktív lenne) */
.wpb_row.vc_row {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr);
    gap: 32px;
}
.wpb_column.vc_col-sm-12 {
    grid-column: span 12;
}
.wpb_column.vc_col-sm-6 {
    grid-column: span 6;
}
.wpb_column.vc_col-sm-4 {
    grid-column: span 4;
}
.wpb_column.vc_col-sm-3 {
    grid-column: span 3;
}
.wpb_column.vc_col-sm-8 {
    grid-column: span 8;
}
.wpb_column.vc_col-sm-9 {
    grid-column: span 9;
}
@media (max-width: 768px) {
    .wpb_row.vc_row {
        grid-template-columns: 1fr;
    }
    .wpb_column[class*="vc_col-sm-"] {
        grid-column: span 1;
    }
}
.sdc-vc-vc-column-text>p:first-child {
    margin-top: 0;
}
.sdc-vc-vc-column-text>p:last-child {
    margin-bottom: 0;
}
/* Felesleges <br>-ek és üres <p>-k a column-textben.
   A wpautop a shortcode-pre/post newline-okat <br>-ré alakítja, az üres
   sorokat pedig <p></p>-vé. Ezek vizuális zajt okoznak (felesleges függő-
   leges térköz) — minden direct-child <br>-t és üres <p>-t elrejtünk a
   column-text-en belül és körülötte. */
.sdc-vc-vc-column-text+br,
.sdc-vc-vc-column-text>br,
.sdc-vc-vc-column-text>p:empty {
    display: none;
}
/* ultimate_heading */
.sdc-ult-heading {
    margin-block: 12px 24px;
    --sdc-accent-line: var(--sdc-c-primary);
}
.sdc-ult-heading--center {
    text-align: center;
}
.sdc-ult-heading--right {
    text-align: right;
}
.sdc-ult-heading__title {
    margin: 0 0 12px;
    font-size: clamp(1.25rem, 1.05rem + 1vw, 1.875rem);
    position: relative;
    padding-bottom: 14px;
    line-height: 1.25;
}
.sdc-ult-heading__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 3px;
    background: var(--sdc-accent-line);
    border-radius: 3px;
}
.sdc-ult-heading--center .sdc-ult-heading__title::after {
    left: 50%;
    transform: translateX(-50%);
}
.sdc-ult-heading--right .sdc-ult-heading__title::after {
    left: auto;
    right: 0;
}
.sdc-ult-heading__sub {
    color: var(--sdc-c-muted);
    margin: 0;
    font-size: var(--sdc-fs-md);
    line-height: 1.6;
}
/* `--left` variáns: a régi szövegtartalom miatt sok aloldalon align="left"
   shortcode-attribútum jön be — ez a klasszikus default. Itt a kérésnek megfelelően
   átállítjuk: az ÖSSZES `.sdc-ult-heading--left` middle-aligned és ugyanazt a
   font-size + gradient-underline stylet kapja, mint a főoldali `.sdc-bemvideo__title`
   ("Tekintse meg bemutatkozó videónkat!" blokk).

   A specificity-bump (`body` prefix + `.sdc-prose` ancestor) szükséges, hogy a
   service-child oldali h2/h3/h4 méret-szabályokat felülírja a font-size — különben
   a `body.sdc-page-service-child .sdc-prose h3` (0,0,3,2) legyőzi az alábbi
   szelektort. Az alábbi kombinált forma (0,0,4,1) erőteljesebben győz mindkét
   félen (service-child és default). */
body .sdc-prose .sdc-ult-heading--left,
body .sdc-ult-heading--left {
    text-align: center;
}
body .sdc-prose .sdc-ult-heading--left .sdc-ult-heading__title,
body .sdc-ult-heading--left .sdc-ult-heading__title {
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
    margin: 0 0 14px;
    padding-bottom: 18px;
    line-height: 1.2;
    color: var(--sdc-c-heading);
    font-weight: 600;
}
body .sdc-prose .sdc-ult-heading--left .sdc-ult-heading__title::after,
body .sdc-ult-heading--left .sdc-ult-heading__title::after {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 72px;
    height: 3px;
    background: linear-gradient(90deg, var(--sdc-c-primary), var(--sdc-c-accent));
    border-radius: 3px;
}
/* bsf-info-box — kapcsolat oldali infókártya */
.sdc-info-box {
    background: var(--sdc-c-bg);
    border: 1px solid var(--sdc-c-border);
    border-left: 4px solid var(--sdc-info-accent, var(--sdc-c-primary));
    border-radius: var(--sdc-radius-md);
    padding: 22px 24px;
    margin-bottom: 16px;
    box-shadow: var(--sdc-shadow-sm);
    transition: transform var(--sdc-dur) var(--sdc-ease), box-shadow var(--sdc-dur) var(--sdc-ease);
}
.sdc-info-box:hover {
    transform: translateY(-2px);
    box-shadow: var(--sdc-shadow-md);
}
.sdc-info-box__title {
    margin: 0 0 8px;
    font-size: var(--sdc-fs-lg);
    /* heading-szín a globális szabályból (#bd9369) — felülírná egy color, ezért nem állítunk be külön */
    font-weight: 700;
}
.sdc-info-box__body {
    color: var(--sdc-c-text);
    line-height: 1.6;
    font-size: var(--sdc-fs-sm);
}
.sdc-info-box__body p {
    margin: 0 0 4px;
}
.sdc-info-box__body a {
    color: var(--sdc-c-primary-dk);
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}
.sdc-info-box__body a:hover {
    border-bottom-style: solid;
}
/* Google térkép wrapper */
.sdc-gmap {
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    box-shadow: var(--sdc-shadow-md);
    margin-block: 16px;
    background: var(--sdc-c-bg-soft);
    aspect-ratio: 16 / 10;
}
.sdc-gmap iframe {
    display: block;
    width: 100%;
    height: 100%;
}
/* Egyedi cím (vc_custom_heading) */
.sdc-custom-heading {
    margin-block: 20px 16px;
    font-size: clamp(1.125rem, 1rem + .8vw, 1.625rem);
}
/* ---------- ultimate_fancytext — forgó szöveg, marketing-impact verzió ----------
   Kulcsproblémák a régi verzióban:
     - `min-width: 6em + overflow: hidden` levágta a hosszabb szavakat
     - `display: inline-flex` miatt nem középre rendeződött, hanem a parent
       text-align-jétől függött
     - kicsi font, kevés vizuális hangsúly

   Új megoldás:
     - `display: flex; justify-content: center; width: 100%` → mindig középre
     - `flex-wrap: wrap` mobilon törhet, desktop-on egy sor
     - **rotator: `display: inline-grid; grid-template-areas: "word"`** —
       minden szó ugyanabba a grid-cellába kerül (egymásra rétegezve), a cell
       a LEGSZÉLESEBB szóra méreteződik automatikusan → soha nem vágódik le
     - bumpolt font-size (1.625rem → 2.75rem), gold heading-color a prefixen */
.sdc-fancy {
    --sdc-fancy-color: var(--sdc-c-primary);
    display: flex;
    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    margin-block: clamp(20px, 2.5vw, 36px);
    font-size: clamp(1.625rem, 1.1rem + 2.4vw, 2.75rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.01em;
    text-align: center;
}
.sdc-fancy__prefix,
.sdc-fancy__suffix {
    color: var(--sdc-c-heading);
    font-weight: 600;
    white-space: normal;
}
.sdc-fancy__rotator {
    display: inline-grid;
    grid-template-areas: "word";
    /* minden szó UGYANABBAN a cellában → auto-width a leghosszabb szóra */
    overflow: hidden;
    line-height: 1.2;
    padding-bottom: .12em;
    /* descenders (pl. g, y, ső) lefelé teljesen elférnek */
    color: var(--sdc-fancy-color);
}
.sdc-fancy__word {
    grid-area: word;
    display: block;
    opacity: 0;
    transform: translateY(.5em);
    animation: sdc-fancy-cycle calc(var(--sdc-fancy-count, 3) * 2.5s) infinite;
    color: inherit;
    font-weight: 700;
    white-space: nowrap;
}
/* CSS változó: hány elem van — staggered animation delay */
.sdc-fancy[data-fancy-count="1"] .sdc-fancy__word {
    animation: none;
    opacity: 1;
    transform: none;
}
.sdc-fancy[data-fancy-count="2"] {
    --sdc-fancy-count: 2;
}
.sdc-fancy[data-fancy-count="3"] {
    --sdc-fancy-count: 3;
}
.sdc-fancy[data-fancy-count="4"] {
    --sdc-fancy-count: 4;
}
.sdc-fancy[data-fancy-count="5"] {
    --sdc-fancy-count: 5;
}
.sdc-fancy__word[data-i="0"] {
    animation-delay: 0s;
}
.sdc-fancy__word[data-i="1"] {
    animation-delay: 2.5s;
}
.sdc-fancy__word[data-i="2"] {
    animation-delay: 5s;
}
.sdc-fancy__word[data-i="3"] {
    animation-delay: 7.5s;
}
.sdc-fancy__word[data-i="4"] {
    animation-delay: 10s;
}
@keyframes sdc-fancy-cycle {
    0%, 4% {
        opacity: 0;
        transform: translateY(.5em);
    }
    8%, 30% {
        opacity: 1;
        transform: translateY(0);
    }
    34%, 100% {
        opacity: 0;
        transform: translateY(-.5em);
    }
}
@media (prefers-reduced-motion: reduce) {
    /* Az új grid-struktúra reset-je: motion-érzékeny user-nek minden szót
       inline soroljuk fel " · " szeparátorral, animáció nélkül. */
    .sdc-fancy__rotator {
        display: inline;
        overflow: visible;
    }
    .sdc-fancy__word {
        grid-area: auto;
        display: inline;
        animation: none;
        opacity: 1;
        transform: none;
        white-space: normal;
    }
    .sdc-fancy__word+.sdc-fancy__word::before {
        content: " · ";
        opacity: .5;
    }
}
/* ---------- dental_care_info_icon — modern kártya ---------- */
.sdc-info-icon {
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    color: #fff;
    padding: clamp(20px, 3vw, 36px);
    border-radius: var(--sdc-radius-md);
    margin-block: 16px;
    box-shadow: var(--sdc-shadow-md);
}
/* Fog SVG ikon — cím felett, finom pulzálás */
.sdc-info-icon__svg {
    display: block;
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    color: #fff;
    animation: sdc-tooth-pulse 2.4s ease-in-out infinite;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .15));
}
@keyframes sdc-tooth-pulse {
    0%, 100% {
        transform: scale(1);
        filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .15));
    }
    50% {
        transform: scale(1.08);
        filter: drop-shadow(0 6px 18px rgba(255, 255, 255, .3));
    }
}
@media (prefers-reduced-motion: reduce) {
    .sdc-info-icon__svg {
        animation: none;
    }
}
.sdc-info-icon__title {
    margin: 0 0 10px;
    font-size: clamp(1.25rem, 1.05rem + 1vw, 1.875rem);
    line-height: 1.3;
    color: #fff !important;
}
.sdc-info-icon__desc {
    color: rgba(255, 255, 255, .92);
    line-height: 1.6;
    font-size: var(--sdc-fs-md);
}
.sdc-info-icon__desc p:last-child {
    margin-bottom: 0;
}
.sdc-info-icon__desc a {
    color: var(--sdc-c-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* =====================================================================
   .atokeletesmosolyhoz — premium full-width marketing CTA banner
   ("A tökéletes mosolyhoz csak egy időpont foglalás hiányzik!")
   ===================================================================== */
.sdc-vc-vc-row.atokeletesmosolyhoz {
    /* Full-width breakout (kitör a .sdc-prose / .sdc-container max-width-ből) */
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    /* Felső + alsó margin nullázva — a blokk flush csatlakozik az előző és
     * következő szekcióhoz (a fehér eltolás megszüntetése). */
    margin-block: 0;
    /* Vékonyabb belső padding — kompaktabb banner */
    padding: clamp(28px, 4vw, 56px) clamp(20px, 5vw, 80px);
    /* Smooth gradient — 2 színátmenet csak (nem 3, ami sávot okozott középen) */
    background:
        radial-gradient(ellipse at 80% 30%, rgba(189, 147, 105, .25) 0%, transparent 65%),
        radial-gradient(ellipse at 15% 70%, rgba(163, 196, 202, .22) 0%, transparent 65%),
        linear-gradient(135deg, var(--sdc-c-primary-dk) 0%, var(--sdc-c-primary) 100%);
    color: #fff;
    /* Tartalmat középre — vízszintesen és vertikálisan */
    text-align: center;
    align-items: center;
    justify-items: center;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-sizing: border-box;
    /* Felső + alsó accent vonal (arany) */
    border-top: 1px solid rgba(189, 147, 105, .35);
    border-bottom: 1px solid rgba(189, 147, 105, .35);
}
/* A grid columns full-width + centered — stack vertikálisan a banneren belül */
.sdc-vc-vc-row.atokeletesmosolyhoz>.sdc-vc-vc-column {
    grid-column: 1 / -1 !important;
    text-align: center;
    max-width: 800px;
}
/* Dekoratív "smile" SVG háttér — finom, halvány */
.sdc-vc-vc-row.atokeletesmosolyhoz::before {
    content: "";
    position: absolute;
    top: -20%;
    right: -10%;
    width: 50%;
    aspect-ratio: 1;
    background:
        radial-gradient(circle at 30% 40%, rgba(255, 255, 255, .08) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}
/* Második dekorelem — bal alul */
.sdc-vc-vc-row.atokeletesmosolyhoz::after {
    content: "";
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 40%;
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(189, 147, 105, .12) 0%, transparent 60%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
/* A grid columns (.sdc-vc-vc-column[data-w]) felülemelve a deko fölé */
.sdc-vc-vc-row.atokeletesmosolyhoz>.sdc-vc-vc-column {
    position: relative;
    z-index: 1;
}
/* Belső .sdc-info-icon-t TRANSPARENT-re vesszük — a banner saját gradient-je érvényesül */
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-info-icon {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-info-icon__title {
    font-size: clamp(1.375rem, 1.1rem + 1.4vw, 2rem);
    line-height: 1.2;
    letter-spacing: -.01em;
    font-weight: 800;
    margin-bottom: 8px;
    color: #fff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .15);
}
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-info-icon__desc {
    color: rgba(255, 255, 255, .92);
    font-size: clamp(.9375rem, .9rem + .3vw, 1.0625rem);
    line-height: 1.5;
    max-width: 640px;
    margin-inline: auto;
}
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-info-icon__desc p:last-child {
    margin-bottom: 0;
}
/* CTA gomb — arany, prominens, középre igazítva */
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-btn-wrap {
    margin: 18px 0 0;
    text-align: center;
}
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--sdc-c-accent) 0%, #a37c52 100%);
    color: #fff !important;
    /* fehér felirat */
    padding: 14px 32px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .01em;
    text-decoration: none !important;
    border: 0;
    box-shadow:
        0 10px 24px rgba(189, 147, 105, .35),
        0 0 0 3px rgba(255, 255, 255, .08);
    transition: transform var(--sdc-dur), box-shadow var(--sdc-dur), background var(--sdc-dur);
}
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-btn::after {
    content: "→";
    font-size: 1.125rem;
    transition: transform var(--sdc-dur);
}
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-btn:hover {
    background: linear-gradient(135deg, #d4ad7d 0%, var(--sdc-c-accent) 100%);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow:
        0 14px 32px rgba(189, 147, 105, .45),
        0 0 0 3px rgba(255, 255, 255, .12);
}
.sdc-vc-vc-row.atokeletesmosolyhoz .sdc-btn:hover::after {
    transform: translateX(4px);
}
/* Mobil — stack, button center */
@media (max-width: 768px) {
    .sdc-vc-vc-row.atokeletesmosolyhoz {
        padding: clamp(40px, 8vw, 64px) clamp(20px, 5vw, 40px);
        text-align: center;
    }
    .sdc-vc-vc-row.atokeletesmosolyhoz .sdc-info-icon__desc {
        margin-inline: auto;
    }
}
/* dental_care_icon_box / counter */
.sdc-icon-box {
    background: var(--sdc-c-bg-soft);
    padding: 20px 22px;
    border-radius: var(--sdc-radius-md);
    margin-block: 14px;
    border: 1px solid var(--sdc-c-border);
}
.sdc-icon-box__title {
    margin: 0 0 8px;
    font-size: var(--sdc-fs-lg);
}
.sdc-icon-box__desc {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
}
.sdc-icon-box__desc p:last-child {
    margin-bottom: 0;
}
.sdc-counter {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 16px 24px;
}
.sdc-counter__num {
    font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
    font-weight: 800;
    color: var(--sdc-c-primary);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.sdc-counter__desc {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
}
/* templatera wrapper */
.sdc-templatera {
    display: contents;
}
/* Ha a templatera-output `<p>` taggel van wrappelve a wpautop által, az
 * elsősorban az `.atokeletesmosolyhoz` esetén white-band-et okoz. A
 * .sdc-prose p szabály a wrap p-re is alkalmazódik — itt zero-margin. */
.sdc-prose>p:has(> .sdc-templatera),
.sdc-prose>p:has(> .sdc-vc-vc-row.atokeletesmosolyhoz) {
    margin: 0 !important;
}
/* Spacer */
.sdc-spacer {
    display: block;
}
/* Video oembed wrap */
.sdc-video {
    position: relative;
    aspect-ratio: 16 / 9;
    margin-block: 16px;
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    box-shadow: var(--sdc-shadow-md);
    background: #000;
}
.sdc-video iframe,
.sdc-video video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/* =====================================================================
   30. Contact Form 7 stílus
   ===================================================================== */
.wpcf7 {
    background: var(--sdc-c-bg);
    padding: 8px 0;
}
.wpcf7-form p {
    margin: 0 0 16px;
}
.wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 4px;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="search"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    background: var(--sdc-c-bg-soft);
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    font: inherit;
    color: var(--sdc-c-text);
    transition: border-color var(--sdc-dur) var(--sdc-ease), background var(--sdc-dur) var(--sdc-ease), box-shadow var(--sdc-dur) var(--sdc-ease);
    box-sizing: border-box;
}
.wpcf7 textarea {
    height: 160px;
    min-height: 160px;
    padding-top: 14px;
    resize: vertical;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: var(--sdc-c-primary);
    background: var(--sdc-c-bg);
    box-shadow: 0 0 0 4px rgba(10, 107, 107, .12);
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: var(--sdc-c-muted);
    opacity: .8;
}
/* Checkbox / acceptance */
.wpcf7-acceptance,
.wpcf7-checkbox,
.wpcf7-radio {
    display: block;
    margin-bottom: 8px;
}
.wpcf7-acceptance .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 8px;
    cursor: pointer;
    line-height: 1.5;
    font-size: var(--sdc-fs-sm);
    color: var(--sdc-c-muted);
}
.wpcf7-acceptance input[type="checkbox"],
.wpcf7-checkbox input[type="checkbox"],
.wpcf7-radio input[type="radio"] {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    flex: 0 0 auto;
    accent-color: var(--sdc-c-primary);
}
.wpcf7-list-item-label {
    flex: 1;
}
/* Submit gomb */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 32px;
    background: var(--sdc-c-primary);
    color: #fff;
    font-weight: 600;
    font-size: var(--sdc-fs-md);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    transition: transform var(--sdc-dur) var(--sdc-ease), background var(--sdc-dur) var(--sdc-ease), box-shadow var(--sdc-dur) var(--sdc-ease);
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover {
    background: var(--sdc-c-primary-dk);
    transform: translateY(-1px);
    box-shadow: var(--sdc-shadow-md);
}
.wpcf7 input[type="submit"]:disabled {
    opacity: .6;
    cursor: not-allowed;
    transform: none;
}
/* Üzenetek (validáció, sikeres küldés) */
.wpcf7 .wpcf7-not-valid-tip {
    color: var(--sdc-c-error);
    font-size: var(--sdc-fs-xs);
    margin-top: 4px;
}
.wpcf7-response-output {
    margin: 16px 0 0 !important;
    padding: 14px 18px !important;
    border-radius: var(--sdc-radius-md);
    border: 1px solid var(--sdc-c-border) !important;
    font-size: var(--sdc-fs-sm);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: var(--sdc-c-error) !important;
    color: var(--sdc-c-error);
    background: rgba(179, 38, 30, .05);
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--sdc-c-primary) !important;
    color: var(--sdc-c-primary-dk);
    background: rgba(10, 107, 107, .06);
}
/* reCAPTCHA — ne tördelje el a layoutot */
.g-recaptcha,
.grecaptcha-badge,
.wpcf7 .grecaptcha-error {
    margin-block: 12px;
    transform-origin: 0 0;
}
@media (max-width: 380px) {
    .g-recaptcha {
        transform: scale(.85);
    }
}
/* Spinner */
.wpcf7-spinner {
    margin-left: 12px;
    background-color: var(--sdc-c-primary);
}
/* (31. Page hero finomítás — a `has-image` overlay logika már nem használt
    az image-mentes egységes hero design miatt; a fenti szekció 15-ben
    minden szabályt feltakart.) */
/* Page body — egyenes tartalom (a vc_row-k már flexelnek) */
.sdc-page__body .sdc-prose {
    max-width: none;
    /* full-width oldalakon a vc_row-k saját szélességet csinálnak */
}
/* =====================================================================
   32. Galéria szekciók
   ===================================================================== */
.sdc-gallery-block {
    /* Csak alsó margin — egymás utáni galéria szekciók így 32–64px gap-pel
       követik egymást, és a recursive first-child reset is tisztán hat. */
    margin-block: 0 clamp(32px, 4vw, 64px);
}
.sdc-gallery-block+.sdc-gallery-block {
    /* két egymást követő blokk között a felső gallery-block bottom margin-ja
       adja a térközt — nincs duplázás. */
    margin-top: 0;
}
.sdc-gallery-block__title {
    margin: 0 0 24px;
    font-size: clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
    text-align: center;
    position: relative;
    padding-bottom: 14px;
}
.sdc-gallery-block__title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--sdc-c-primary);
    border-radius: 3px;
}
.sdc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}
.sdc-gallery-item {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--sdc-radius-md);
    box-shadow: var(--sdc-shadow-sm);
    background: var(--sdc-c-bg-soft);
    transition: transform var(--sdc-dur) var(--sdc-ease), box-shadow var(--sdc-dur) var(--sdc-ease);
    position: relative;
}
.sdc-gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(13, 31, 36, .4));
    opacity: 0;
    transition: opacity var(--sdc-dur) var(--sdc-ease);
    pointer-events: none;
}
.sdc-gallery-item:hover {
    transform: translateY(-3px);
    box-shadow: var(--sdc-shadow-md);
}
.sdc-gallery-item:hover::after {
    opacity: 1;
}
.sdc-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    display: block;
    transition: transform .6s var(--sdc-ease);
}
/* A .sdc-prose img alapszabályt biztosan felülírjuk a gallery rácson belül */
.sdc-prose .sdc-gallery-grid .sdc-gallery-item img,
.sdc-prose .sdc-gallery-block .sdc-gallery-item img {
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.sdc-gallery-item:hover img {
    transform: scale(1.06);
}
/* =====================================================================
   33. Lightbox
   ===================================================================== */
.sdc-lightbox {
    border: 0;
    padding: 0;
    background: transparent;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    color: #fff;
}
.sdc-lightbox::backdrop {
    background: rgba(8, 16, 20, .92);
    backdrop-filter: blur(6px);
}
.sdc-lightbox[open] {
    animation: sdc-lb-fade .25s var(--sdc-ease);
}
@keyframes sdc-lb-fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.sdc-lightbox__inner {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 64px 1fr 64px;
    grid-template-rows: 1fr 48px;
    align-items: center;
    justify-items: center;
}
.sdc-lightbox__figure {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 16px 8px;
    overflow: hidden;
    box-sizing: border-box;
}
.sdc-lightbox__img {
    max-width: min(96vw, 1400px);
    max-height: 86vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--sdc-radius-md);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
    transition: opacity .25s var(--sdc-ease);
}
.sdc-lightbox__btn {
    grid-row: 1;
    z-index: 2;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background var(--sdc-dur) var(--sdc-ease), transform var(--sdc-dur) var(--sdc-ease);
    backdrop-filter: blur(4px);
}
.sdc-lightbox__btn:hover {
    background: rgba(255, 255, 255, .25);
    transform: scale(1.05);
}
.sdc-lightbox__btn--close {
    position: fixed;
    top: 16px;
    right: 16px;
    grid-column: 3;
}
.sdc-lightbox__btn--prev {
    grid-column: 1;
    justify-self: start;
    margin-left: 12px;
}
.sdc-lightbox__btn--next {
    grid-column: 3;
    justify-self: end;
    margin-right: 12px;
}
.sdc-lightbox__btn[hidden] {
    display: none;
}
.sdc-lightbox__counter {
    grid-column: 1 / -1;
    grid-row: 2;
    color: rgba(255, 255, 255, .85);
    font-size: var(--sdc-fs-sm);
    letter-spacing: .04em;
    padding-bottom: 12px;
}
@media (max-width: 640px) {
    .sdc-lightbox__inner {
        grid-template-columns: 48px 1fr 48px;
    }
    .sdc-lightbox__btn {
        width: 40px;
        height: 40px;
        font-size: 24px;
    }
    .sdc-lightbox__figure {
        padding: 56px 4px 8px;
    }
}
body.sdc-lb-open {
    overflow: hidden;
}
/* =====================================================================
   34. vc_single_image figure (Csapatunk + Referenciák)
   ===================================================================== */
.sdc-vcimg {
    margin: 0 0 16px;
    text-align: center;
}
.sdc-vcimg__link {
    display: block;
    overflow: hidden;
    border-radius: var(--sdc-radius-lg);
    box-shadow: var(--sdc-shadow-sm);
    background: transparent;
    line-height: 0;
    /* megszünteti a baseline-os "ghost" rést a kép alatt */
    transition: transform var(--sdc-dur) var(--sdc-ease), box-shadow var(--sdc-dur) var(--sdc-ease);
}
/* Globális — minden vcimg img-re egységes lekerekítés (a wrapper-link
 * már lg-re kerekítve, de stand-alone img-eknél is biztosítjuk). */
.sdc-vcimg img {
    border-radius: var(--sdc-radius-lg);
}
.sdc-vcimg__link:hover {
    transform: translateY(-4px);
    box-shadow: var(--sdc-shadow-md);
}
.sdc-vcimg__img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform .5s var(--sdc-ease);
}
.sdc-vcimg__link:hover .sdc-vcimg__img {
    transform: scale(1.04);
}
/* A .sdc-prose img alapszabály margin/box-shadow/radius-t adna minden képre.
   A vcimg-eken belüli képeknél FELÜLÍRJUK, hogy a kép teljesen kitöltse a linket. */
.sdc-prose .sdc-vcimg .sdc-vcimg__img,
.sdc-prose .sdc-vcimg img {
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}
.sdc-vcimg__caption {
    margin-top: 12px;
    font-size: var(--sdc-fs-md);
    font-weight: 600;
    color: var(--sdc-c-bg-dark);
    line-height: 1.35;
}
/* =====================================================================
   35. Referenciák grid (vc_row el_class="referenciagrid")
   ===================================================================== */
.referenciagrid {
    /* Az eredeti VC sor 1 oszlopot tartalmaz, abban 4 vc_single_image. A grid így 4 oszlopra állítjuk. */
    grid-template-columns: 1fr !important;
}
.referenciagrid .sdc-vc-vc-column {
    grid-column: span 12;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2vw, 28px);
}
@media (max-width: 900px) {
    .referenciagrid .sdc-vc-vc-column {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .referenciagrid .sdc-vc-vc-column {
        grid-template-columns: 1fr;
    }
}
.referenciagrid .sdc-vcimg {
    margin: 0;
}
.referenciagrid .sdc-vcimg__link {
    aspect-ratio: 1 / 1;
    border-radius: var(--sdc-radius-md);
}
.referenciagrid .sdc-vcimg__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.referenciagrid .sdc-vcimg__caption {
    font-size: var(--sdc-fs-sm);
    font-weight: 600;
    color: var(--sdc-c-primary-dk);
    margin-top: 10px;
}
.bovebbinfo {
    text-align: center;
    color: var(--sdc-c-muted);
    font-style: italic;
    margin-bottom: 24px;
}
/* =====================================================================
   Referenciaink CPT — archive (lista) + single (részletes)
   ===================================================================== */
/* Archive: kép + név rács, 4 oszlop */
.sdc-referenciagrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: clamp(16px, 2vw, 28px);
    margin-block: 0 32px;
}
@media (min-width: 720px) {
    .sdc-referenciagrid {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 719px) and (min-width: 480px) {
    .sdc-referenciagrid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.sdc-referenciacard {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 0;
    background: transparent;
    text-decoration: none !important;
    color: inherit;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-referenciacard:hover {
    transform: translateY(-3px);
}
.sdc-referenciacard__media {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--sdc-radius-md);
    background: var(--sdc-c-bg-soft);
    box-shadow: var(--sdc-shadow-sm);
    transition: box-shadow var(--sdc-dur), transform var(--sdc-dur);
    line-height: 0;
}
.sdc-referenciacard:hover .sdc-referenciacard__media {
    box-shadow: var(--sdc-shadow-md);
}
.sdc-referenciacard__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform .5s var(--sdc-ease);
}
.sdc-referenciacard:hover .sdc-referenciacard__media img {
    transform: scale(1.04);
}
.sdc-referenciacard__name {
    font-size: var(--sdc-fs-sm);
    font-weight: 600;
    color: var(--sdc-c-primary-dk);
    text-align: center;
    line-height: 1.35;
}
/* Single: bal főkép aside + jobb galéria */
.sdc-referencia {
    padding-block: 0 clamp(48px, 4vw, 80px);
}
.sdc-referencia__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
}
@media (min-width: 800px) {
    .sdc-referencia__row {
        grid-template-columns: minmax(260px, 360px) 1fr;
    }
}
.sdc-referencia__main {
    position: sticky;
    top: calc(var(--sdc-header-h) + 16px);
    align-self: start;
}
@media (max-width: 799px) {
    .sdc-referencia__main {
        position: static;
    }
}
.sdc-referencia__main-fig {
    margin: 0;
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    box-shadow: var(--sdc-shadow-md);
    background: var(--sdc-c-bg-soft);
    line-height: 0;
}
.sdc-referencia__main-img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
}
.sdc-referencia__intro {
    margin-top: 20px;
    color: var(--sdc-c-text);
    font-size: var(--sdc-fs-sm);
    line-height: 1.6;
}
.sdc-referencia__intro p:last-child {
    margin-bottom: 0;
}
/* Jobb oldali galéria — auto-fill rács */
.sdc-referencia__gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: clamp(12px, 1.4vw, 20px);
}
@media (min-width: 600px) {
    .sdc-referencia__gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1100px) {
    .sdc-referencia__gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}
.sdc-referencia__gitem {
    margin: 0;
}
.sdc-referencia__glink {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--sdc-radius-md);
    box-shadow: var(--sdc-shadow-sm);
    background: var(--sdc-c-bg-soft);
    transition: transform var(--sdc-dur), box-shadow var(--sdc-dur);
    line-height: 0;
}
.sdc-referencia__glink:hover {
    transform: translateY(-2px);
    box-shadow: var(--sdc-shadow-md);
}
.sdc-referencia__glink img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform .5s var(--sdc-ease);
}
.sdc-referencia__glink:hover img {
    transform: scale(1.05);
}
.sdc-referencia__gcaption {
    margin-top: 8px;
    text-align: center;
    font-size: var(--sdc-fs-xs);
    font-weight: 500;
    color: var(--sdc-c-muted);
    line-height: 1.4;
}
/* =====================================================================
   Quickview modal — referenciák gyorsnézete
   ---------------------------------------------------------------------
   Centerelés trükk: a <dialog> teljes viewportot fed, és a benne lévő
   inner a `place-items: center` miatt mindig vertikálisan + horizontálisan
   középre igazítódik — független attól, hogy a tartalom rövid vagy hosszú.
   ===================================================================== */
.sdc-qv {
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    color: var(--sdc-c-text);
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
}
.sdc-qv::backdrop {
    background: rgba(8, 16, 20, .6);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.sdc-qv[open] {
    display: grid;
    place-items: center;
}
.sdc-qv__inner {
    position: relative;
    background: #fff;
    width: min(96vw, 1200px);
    max-height: 92dvh;
    border-radius: var(--sdc-radius-lg);
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(13, 31, 36, .35);
    display: flex;
    flex-direction: column;
    /* height: auto — a tartalom mérete dönt; ha kicsi, a modal kicsi és a
       grid középre igazítja; ha nagy, max 92dvh és a body görget. */
}
.sdc-qv[open] .sdc-qv__inner {
    animation: sdc-qv-in .25s var(--sdc-ease);
}
@keyframes sdc-qv-in {
    from {
        opacity: 0;
        transform: translateY(20px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
.sdc-qv__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 5;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(13, 31, 36, .9);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background var(--sdc-dur), transform var(--sdc-dur);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}
.sdc-qv__close:hover {
    background: var(--sdc-c-primary-dk);
    transform: rotate(90deg);
}
.sdc-qv__close svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}
.sdc-qv__body {
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: clamp(24px, 4vw, 48px) clamp(20px, 3vw, 40px);
    flex: 1 1 auto;
    min-height: 0;
    /* flex child overflow-hoz szükséges */
    scrollbar-width: thin;
    scrollbar-color: var(--sdc-c-primary) transparent;
}
.sdc-qv__body::-webkit-scrollbar {
    width: 8px;
}
.sdc-qv__body::-webkit-scrollbar-thumb {
    background: var(--sdc-c-primary);
    border-radius: 4px;
}
.sdc-qv__title {
    margin: 0 0 24px;
    font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
    font-weight: 700;
    color: var(--sdc-c-heading);
    padding-bottom: 16px;
    border-bottom: 1px solid var(--sdc-c-border);
    padding-right: 50px;
    /* ne lógjon a bezárás gomb alá */
}
.sdc-qv__content {
    padding: 0 !important;
    margin: 0;
}
/* A popupon belüli `.sdc-container` (single-template-ekből klónozott elemek)
   horizontális paddingját kikapcsoljuk — a `.sdc-qv__body` már biztosít
   megfelelő belső paddingot, a duplikáció miatt a tartalom sávszerűen szűk
   lett volna. Az `unset` eltávolítja a globálisan definiált `padding-inline`-t. */
.sdc-qv__content.sdc-container,
.sdc-qv__content .sdc-container {
    padding-inline: unset;
    max-width: none;
}
/* A modalba injektált .sdc-referencia layout finomítása */
.sdc-qv__content .sdc-referencia__row {
    grid-template-columns: 1fr;
    gap: clamp(16px, 2.5vw, 32px);
}
@media (min-width: 800px) {
    .sdc-qv__content .sdc-referencia__row {
        grid-template-columns: minmax(220px, 320px) 1fr;
    }
}
.sdc-qv__content .sdc-referencia__main {
    position: static !important;
    top: auto !important;
    /* Mobil: ne foglaljon hatalmas helyet a portré főkép — kompakt thumbnail */
    max-width: 200px;
    margin-inline: auto;
    width: 100%;
}
@media (min-width: 800px) {
    .sdc-qv__content .sdc-referencia__main {
        max-width: none;
        /* desktop: visszaállítjuk a normál grid oszlopot */
        margin-inline: 0;
    }
}
.sdc-qv__content .sdc-referencia__main-fig {
    aspect-ratio: 1 / 1;
    /* négyzetes thumbnail mobilon */
    width: 100%;
}
@media (min-width: 800px) {
    .sdc-qv__content .sdc-referencia__main-fig {
        aspect-ratio: auto;
        /* desktop: visszaadjuk a kép természetes arányát */
    }
}
.sdc-qv__content .sdc-referencia__main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
    /* arc legyen látható a négyzetes crop-ban */
}
@media (min-width: 800px) {
    .sdc-qv__content .sdc-referencia__main-img {
        height: auto;
        object-fit: contain;
    }
}
/* Mobilon a galéria 2 oszlop */
@media (max-width: 600px) {
    .sdc-qv__content .sdc-referencia__gallery {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .sdc-qv__content .sdc-referencia__glink {
        aspect-ratio: 1 / 1;
    }
}
/* ─── Csapattag (.sdc-team-single) modalon belüli layoutja ─────────────────
   A team single-template ugyanazt a 2-col grid-et használja, mint a
   referencia (.sdc-team-single__row). A popupban a page-hero blokkot
   nem klónozzuk át — csak a sdc-team-single article tartalmát. A modalon
   belül kompaktabb spacing-gel jelenik meg, mobilon stack 1-col. */
.sdc-qv__content .sdc-team-single__row {
    grid-template-columns: 1fr;
    gap: clamp(16px, 2.5vw, 32px);
    padding-block: 0;
}
@media (min-width: 800px) {
    .sdc-qv__content .sdc-team-single__row {
        grid-template-columns: minmax(220px, 280px) 1fr;
    }
}
.sdc-qv__content .sdc-team-single__media {
    position: static !important;
    top: auto !important;
    max-width: 200px;
    margin-inline: auto;
    width: 100%;
}
@media (min-width: 800px) {
    .sdc-qv__content .sdc-team-single__media {
        max-width: none;
        margin-inline: 0;
    }
}
.sdc-qv__content .sdc-team-single__photo {
    aspect-ratio: 3/4;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.sdc-qv__content .sdc-team-single__name {
    /* a popup címe már megjelenik a sdc-qv__title-ben — itt redundáns lenne */
    display: none;
}
/* Card excerpt + role — listing-card stílusok */
.sdc-team-grid .sdc-card__title {
    margin-top: 0;
}
.sdc-card--team .sdc-card__role {
    margin: 0;
    color: var(--sdc-c-primary-dk);
    font-size: var(--sdc-fs-sm);
    font-weight: 600;
}
.sdc-qv__loader {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 80px 16px;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
}
.sdc-qv__error {
    text-align: center;
    padding: 48px 16px;
    color: var(--sdc-c-error);
    font-size: var(--sdc-fs-sm);
}
/* Body scroll lock amikor a quickview nyitva */
body.sdc-qv-open {
    overflow: hidden;
}
/* Mobil — a modal full-screen, az inner is teljes viewportot kitölti */
@media (max-width: 720px) {
    .sdc-qv__inner {
        width: 100%;
        max-height: 100dvh;
        height: 100dvh;
        border-radius: 0;
    }
    .sdc-qv__close {
        top: 10px;
        right: 10px;
    }
    /* A title kompaktabb mobilon */
    .sdc-qv__title {
        font-size: 1.25rem;
        margin-bottom: 16px;
        padding-bottom: 12px;
        padding-right: 50px;
    }
    /* === Mobil quickview layout === */
    /* Single column: főkép FELÜL középen, alatta divider + galéria 2 oszlop */
    .sdc-qv__content .sdc-referencia__row {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
    .sdc-qv__content .sdc-referencia__main {
        max-width: 180px;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 0 !important;
    }
    .sdc-qv__content .sdc-referencia__main-fig {
        aspect-ratio: 1 / 1;
        width: 100%;
        margin: 0;
    }
    .sdc-qv__content .sdc-referencia__main-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 25%;
    }
    .sdc-qv__content .sdc-referencia__intro {
        text-align: center;
        margin-top: 12px;
    }
    /* Halvány horizontális elválasztó vonal a főkép és galéria között */
    .sdc-qv__content .sdc-referencia__gallery {
        margin-top: 24px !important;
        padding-top: 24px !important;
        border-top: 1px solid var(--sdc-c-border);
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .sdc-qv__content .sdc-referencia__glink {
        aspect-ratio: 1 / 1;
        border-radius: var(--sdc-radius-sm);
    }
    .sdc-qv__content .sdc-referencia__gcaption {
        font-size: 11px;
        margin-top: 4px;
    }
    /* A body padding-jét csökkentjük mobilon */
    .sdc-qv__body {
        padding: 18px 16px 24px;
    }
    /* Csapattag popup mobilon: portré FELÜL középen, alatta a leírás */
    .sdc-qv__content .sdc-team-single__row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .sdc-qv__content .sdc-team-single__media {
        max-width: 180px;
        margin: 0 auto !important;
    }
    .sdc-qv__content .sdc-team-single__photo {
        aspect-ratio: 3/4;
        width: 100%;
    }
    .sdc-qv__content .sdc-team-single__body {
        padding-top: 12px;
        border-top: 1px solid var(--sdc-c-border);
    }
}
/* A modal mindig top-layer-ben legyen (override a mobil drawer z-index-jét) */
.sdc-qv {
    z-index: 999999;
}
.sdc-qv::backdrop {
    z-index: 999998;
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .sdc-qv[open] {
        animation: none;
    }
}
/* =====================================================================
   36. Árak — pricetable (sticky thead minden táblázathoz külön)
   =====================================================================
   FONTOS: a position:sticky csak akkor működik, ha az ÖSSZES felmenő
   ősön overflow:visible vagy nincs explicit overflow. Ezért a kerekített
   sarkokat az első/utolsó cellákon adjuk meg, NEM clip-pelünk a wrapperen.
*/
.pricetablediv {
    margin-block: clamp(32px, 4vw, 48px);
    background: var(--sdc-c-bg);
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    box-shadow: var(--sdc-shadow-sm);
    transition: box-shadow var(--sdc-dur) var(--sdc-ease);
    /* overflow: visible — explicitten engedjük a sticky thead-et kilátszani */
}
.pricetablediv:hover {
    box-shadow: var(--sdc-shadow-md);
}
.pricetable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: var(--sdc-fs-md);
}
/* Cellák */
.pricetable th,
.pricetable td {
    padding: 14px 20px;
    text-align: left;
    vertical-align: middle;
}
/* Sticky fejléc — a site header alá tapad +10px breathing room */
.pricetable th {
    position: sticky;
    top: calc(var(--sdc-header-h) + 10px);
    z-index: 5;
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    color: #fff;
    font-weight: 600;
    font-size: var(--sdc-fs-lg);
    letter-spacing: .01em;
    /* Lebegéskor finom árnyék, hogy elváljon a sorokhoz képest */
    box-shadow: 0 4px 12px rgba(7, 79, 79, .18);
}
.pricetable th.col1 {
    width: 70%;
}
.pricetable th.col2 {
    width: 30%;
    text-align: right;
}
/* Kerekített sarkok — első és utolsó cellák radius-szal */
.pricetable tr:first-child th:first-child,
.pricetable tr:first-child td:first-child {
    border-top-left-radius: var(--sdc-radius-md);
}
.pricetable tr:first-child th:last-child,
.pricetable tr:first-child td:last-child {
    border-top-right-radius: var(--sdc-radius-md);
}
.pricetable tr:last-child td:first-child {
    border-bottom-left-radius: var(--sdc-radius-md);
}
.pricetable tr:last-child td:last-child {
    border-bottom-right-radius: var(--sdc-radius-md);
}
/* Sorok stílusa */
.pricetable tbody tr {
    transition: background var(--sdc-dur) var(--sdc-ease);
}
.pricetable tbody tr td {
    border-top: 1px solid var(--sdc-c-border);
}
/* a fejléc-sor alatti első adatsor felső border-jét nem rajzoljuk (a th-nak van saját árnyéka) */
.pricetable tbody tr:first-of-type td {
    border-top: 0;
}
/* zebra effekt csak a non-header data soron — a fejléc th-okat NE érintse */
.pricetable tbody tr:nth-of-type(even) td {
    background: rgba(246, 243, 239, .55);
}
.pricetable tbody tr:hover td {
    background: rgba(10, 107, 107, .06);
}
/* Cellák tartalom-stílusa */
.pricetable td:first-child {
    color: var(--sdc-c-text);
    line-height: 1.45;
}
.pricetable td:last-child {
    text-align: right;
    font-weight: 700;
    color: var(--sdc-c-primary-dk);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-size: var(--sdc-fs-md);
}
@media (max-width: 600px) {
    /* Mobil overflow-fix: szigorú table-layout + szótörés a hosszú
     * service-neveken, hogy a tábla SOHA ne lépje túl a containert. */
    .pricetablediv {
        max-width: 100%;
        overflow: hidden;        /* clip a table-szélesség → wrapper border-radius marad */
    }
    .pricetable {
        table-layout: fixed;     /* szigorú 60/40 oszlopszélesség auto-resize nélkül */
        width: 100%;
        max-width: 100%;
    }
    .pricetable th,
    .pricetable td {
        padding: 12px 14px;
        font-size: var(--sdc-fs-sm);  /* kicsit kisebb font → több hely a cellákban */
    }
    .pricetable td:first-child,
    .pricetable th.col1 {
        width: 60%;
        word-break: break-word;
        overflow-wrap: anywhere;  /* hosszú szavak (fogkőeltávolítás stb.) törhetnek */
        hyphens: auto;
    }
    .pricetable td:last-child,
    .pricetable th.col2 {
        width: 40%;
        white-space: normal;     /* engedjük az árat is sortörni, ha tényleg nincs hely */
    }
}
/* Reduced motion: kapcsoljuk ki a sticky-t, hogy a screen reader / motion-érzékeny user
   ne érzékeljen "ugrálást". (A sticky nem animáció, de a "ragadás" éppen mozgásdolog.) */
@media (prefers-reduced-motion: reduce) {
    .pricetable th {
        position: static;
        box-shadow: none;
    }
}
/* ---------- 36b. Árak oldal — 2 oszlopos natív CSS columns masonry ----------
   `:has()` szelektor aktiválja a multicol layoutot, ahol legalább 2 testvér
   .pricetablediv van (Árak: 11 db). Single-service oldalakon (1 db) NEM
   aktiválódik → 1-col flow marad ott a sticky `th`-val együtt.
   CSS columns natív masonry-t ad — a böngésző optimálisan tölti a 2 oszlopot,
   nincs üres fehér sáv a rövidebb táblák alatt. Cserébe sticky `th` itt nem
   működik (multicol limitáció), ezért a sticky-t ebben a kontextusban
   explicitten kikapcsoljuk. */
.sdc-prose :where(.sdc-vc-vc-column-text, .sdc-vc-vc-column):has(> .pricetablediv + .pricetablediv) {
    column-count: 2;
    column-gap: 24px;
    column-fill: balance;
    margin-top: 0;
}
.sdc-prose :where(.sdc-vc-vc-column-text, .sdc-vc-vc-column):has(> .pricetablediv + .pricetablediv)>.pricetablediv {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    margin: 0 0 24px;
    display: block;
    width: 100%;
}
/* Sticky `th` kikapcs masonry-módban — multicol nem kompatibilis sticky-vel,
 * és Árak oldalon a felhasználói kérés szerint nem is szükséges. */
.sdc-prose :where(.sdc-vc-vc-column-text, .sdc-vc-vc-column):has(> .pricetablediv + .pricetablediv) .pricetable th {
    position: static;
    top: auto;
}
@media (max-width: 768px) {
    /* Mobilon 1 oszlop — táblák sorba egymás alatt */
    .sdc-prose :where(.sdc-vc-vc-column-text, .sdc-vc-vc-column):has(> .pricetablediv + .pricetablediv) {
        column-count: 1;
    }
}
/* =====================================================================
   36c. Szolgáltatás-aloldal (page.php + body.sdc-page-service-child)
   =====================================================================
   Az összes "Szolgáltatásaink" alá tartozó page.php-rendererelt aloldal
   layout-finomításai. A poszt-content VC shortcode-okkal van struktúrálva,
   ezt csiszoljuk fel: nagylelkű spacing rhythm, alternáló image-text 2-col,
   szép pipa-ikonos lista, finom 1px szeparátor, képek rounded-shadow
   formában, kiegyensúlyozott h2/h3/h4 méretek. A lap tetején lévő
   contact-form-7 oszlopot itt rejtjük (a page.php újrarendereli legalul). */
/* (A service-child page-hero padding már a globális szabályból jön —
   a korábbi külön override redundáns lett.) */
/* A page __body kicsit szellősebb felül-alul */
body.sdc-page-service-child .sdc-page__body {
    padding-block: clamp(20px, 3vw, 36px) clamp(48px, 6vw, 80px);
}
/* Prose szélesség a content olvashatóbbra (de a vc_row-k továbbra is full-width) */
body.sdc-page-service-child .sdc-prose {
    max-width: none;
}
/* --- Single-child column az első sorban → full-width intro szekció ---
   A template-helpers.php content filter kiveszi a contact-form-bearing vc_column-t,
   így a maradék jellemzően egyetlen "1/2" widthű column lesz az első sorban.
   Ezt full-width-re terjesztjük; ha a column csak szöveget tartalmaz, max 880px-re
   kötjük olvashatóság miatt. Ha szöveget ÉS képet is tartalmaz, lentebb a 2-col
   split-rule veszi át. */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:first-of-type>.sdc-vc-vc-column:only-child {
    grid-column: 1 / -1 !important;
    max-width: 880px;
    margin-inline: auto;
    text-align: left;
}
/* Védőháló: ha a content-filter valamiért NEM futna (pl. cache), a wpcf7 column rejtése
   inline szinten — a form a page aljára kerül CTA-szekcióban renderelve. */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:first-of-type .sdc-vc-vc-column:has(.wpcf7),
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:first-of-type .sdc-vc-vc-column:has(form.wpcf7-form) {
    display: none;
}
/* --- 2-col split: amikor egy vc_column SZÖVEGET ÉS KÉPET is tartalmaz ---
   A long-form text + image kombinációt 60/40 grid-be tördeljük (mobilon stack).
   Alternáló elrendezés: páros pozíciójú row → image bal oldalon, szöveg jobb;
   páratlan → szöveg bal, image jobb. Így megszűnik a "üres bal/jobb sáv" érzés.

   FONTOS: a meglévő row-grid rule a vc_columnnek `display: grid` flow-t adna,
   de a cellaépítéshez itt direkt `display: flex` (vagy nested grid) szükséges.
   A 2-col splitet flex-szel oldjuk meg, hogy a row-grid működése ne sérüljön. */
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg) {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(28px, 3.5vw, 56px);
    align-items: flex-start;
}
/* A szöveg-blokk (60%) és a kép-blokk (40%) — desktop default */
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg)>.sdc-vc-vc-column-text {
    flex: 1 1 60%;
    min-width: 0;
}
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg)>.sdc-vcimg {
    flex: 0 1 38%;
    min-width: 240px;
    margin: 0;
    position: sticky;
    top: 110px;
    align-self: flex-start;
}
/* Alternálás: minden 2. ilyen oszlopnál fordított elrendezés (image bal, text jobb) */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:nth-of-type(even) .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg) {
    flex-direction: row-reverse;
}
/* Mobilon a split feloldódik — minden szépen egymás alatt */
@media (max-width: 768px) {
    body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg) {
        flex-direction: column !important;
    }
    body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg)>.sdc-vc-vc-column-text,
    body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg)>.sdc-vcimg {
        flex: 1 1 100%;
        position: static;
    }
}
/* Ha a first-row only-child column-ban van kép is → a max-width 880px-et töröljük,
   hogy a 2-col split használhassa a teljes container szélességet */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:first-of-type>.sdc-vc-vc-column:only-child:has(.sdc-vcimg) {
    max-width: var(--sdc-container);
}
/* A vc_column_text utolsó eleme (paragraf vagy figura) ne adjon trailing marginot —
   a cella alja igazodjon a flex-grid bottom edge-éhez */
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg)>.sdc-vc-vc-column-text>*:last-child {
    margin-bottom: 0;
}
/* Click-disable: a service-aloldalak képei NE legyenek kattinthatók/lightbox-osak.
   Az egyik oldalt PHP-ban (sdc-vcimg__link kihagyása), a másikat itt CSS-ben
   biztonsági hálóként — ha bármi más helyről jönne `data-lightbox` attribútum. */
body.sdc-page-service-child .sdc-prose a.sdc-vcimg__link[data-lightbox],
body.sdc-page-service-child .sdc-prose .sdc-vcimg a[data-lightbox] {
    pointer-events: none;
    cursor: default;
}
body.sdc-page-service-child .sdc-prose .sdc-vcimg img,
body.sdc-page-service-child .sdc-prose .sdc-vcimg__img {
    cursor: default;
}
/* --- Section blocks: minden vc_row egy önálló alternáló háttérrel rendelkező
   szekció ---
   A user a "scalable design system for dental service pages"-t kérte: minden
   `vc_row` egy "section block", saját padding rhythm-mel (80-120px), alternáló
   háttérrel (white / soft beige), és full-bleed háttér-kiterjesztéssel a
   viewport széléig. A box-shadow trick a layout-ot nem módosítja (a content
   marad a containerben), de a háttérszín a teljes viewport szélességet
   eltakarja. A body-n már `overflow-x: clip` van, így nincs horizontal scroll. */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:not(.atokeletesmosolyhoz) {
    margin-block: 0;
    padding-block: clamp(60px, 7vw, 110px);
    padding-inline: 0;
    align-items: flex-start;
    gap: clamp(28px, 3vw, 48px);
    position: relative;
}
/* Az első sor felülről kicsit kompaktabb (közvetlenül a page-hero alatt van) */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:first-of-type {
    padding-top: clamp(40px, 5vw, 80px);
}
/* Alternáló háttér: minden páros sor light beige; full-bleed box-shadow + clip-path
   trick — az elem mérete változatlan, csak a háttér nyúlik át a viewport szélére.
   Kivételek: az "atokeletesmosolyhoz" CTA banner saját, sötét gradient háttérrel
   rendelkezik; ne írjuk felül. */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:nth-of-type(even):not(.atokeletesmosolyhoz) {
    background: var(--sdc-c-bg-soft);
    box-shadow: 0 0 0 100vmax var(--sdc-c-bg-soft);
    clip-path: inset(0 -100vmax);
}
/* Finom 1px határvonal páros és páratlan sor találkozásakor — vizuális szeparáció */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:nth-of-type(even):not(.atokeletesmosolyhoz)::before,
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:nth-of-type(even):not(.atokeletesmosolyhoz)::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--sdc-c-border) 50%, transparent 100%);
    pointer-events: none;
}
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:nth-of-type(even):not(.atokeletesmosolyhoz)::before {
    top: 0;
}
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:nth-of-type(even):not(.atokeletesmosolyhoz)::after {
    bottom: 0;
}
/* --- Heading méretek: a szekció-blokk fejlécek karakteresebbek, hogy a
   "standalone visual block" érzés erős legyen. h2 erőteljes section-cím,
   h3 sub-cím, h4-h5 finomabbak. --- */
body.sdc-page-service-child .sdc-prose h2 {
    font-size: clamp(1.875rem, 3vw, 2.4rem);
    line-height: 1.2;
    margin-block: 0 .65em;
    color: var(--sdc-c-heading);
    font-weight: 600;
    letter-spacing: -.01em;
}
body.sdc-page-service-child .sdc-prose h3 {
    font-size: clamp(1.4rem, 2.2vw, 1.75rem);
    line-height: 1.25;
    margin-block: 1.2em 0.5em;
    color: var(--sdc-c-heading);
    font-weight: 600;
}
body.sdc-page-service-child .sdc-prose h4 {
    font-size: clamp(1.15rem, 1.6vw, 1.3rem);
    line-height: 1.35;
    margin-block: 1em 0.4em;
    color: var(--sdc-c-heading);
    font-weight: 600;
}
body.sdc-page-service-child .sdc-prose h5 {
    font-size: clamp(1.05rem, 1.4vw, 1.15rem);
    line-height: 1.4;
    margin-block: 1em 0.4em;
    font-weight: 600;
}
body.sdc-page-service-child .sdc-prose p {
    line-height: 1.75;
    margin-block: 0 0.9em;
}
body.sdc-page-service-child .sdc-prose p:last-child {
    margin-bottom: 0;
}
/* --- Lista: pipa-ikon + finom 1px szeparátor minden item között --- */
body.sdc-page-service-child .sdc-prose ul:not(.sdc-service-cta__perks):not(.sdc-breadcrumbs):not(.sdc-pagination):not(.sdc-smile-cta__trust) {
    list-style: none;
    padding: 0;
    margin: 1em 0 1.4em;
    border-top: 1px solid var(--sdc-c-border);
}
body.sdc-page-service-child .sdc-prose ul:not(.sdc-service-cta__perks):not(.sdc-breadcrumbs):not(.sdc-pagination):not(.sdc-smile-cta__trust)>li {
    position: relative;
    padding: 12px 0 12px 36px;
    border-bottom: 1px solid var(--sdc-c-border);
    line-height: 1.55;
}
body.sdc-page-service-child .sdc-prose ul:not(.sdc-service-cta__perks):not(.sdc-breadcrumbs):not(.sdc-pagination):not(.sdc-smile-cta__trust)>li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:
        url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat,
        linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    box-shadow: 0 2px 6px rgba(7, 79, 79, .25);
}
/* Ordered list — számozott kör */
body.sdc-page-service-child .sdc-prose ol:not(.sdc-pagination) {
    list-style: none;
    padding: 0;
    margin: 1em 0 1.4em;
    border-top: 1px solid var(--sdc-c-border);
    counter-reset: sdc-svc-ol;
}
body.sdc-page-service-child .sdc-prose ol:not(.sdc-pagination)>li {
    position: relative;
    padding: 12px 0 12px 40px;
    border-bottom: 1px solid var(--sdc-c-border);
    line-height: 1.55;
    counter-increment: sdc-svc-ol;
}
body.sdc-page-service-child .sdc-prose ol:not(.sdc-pagination)>li::before {
    content: counter(sdc-svc-ol);
    position: absolute;
    left: 0;
    top: 12px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--sdc-c-bg-soft);
    color: var(--sdc-c-primary-dk);
    border: 1.5px solid var(--sdc-c-primary);
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-variant-numeric: tabular-nums;
}
/* --- Képek a contentben — rounded card stílus, finom shadow --- */
body.sdc-page-service-child .sdc-prose .sdc-vcimg,
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column-text img,
body.sdc-page-service-child .sdc-prose img:not(.sdc-vcimg__img) {
    border-radius: var(--sdc-radius-lg);
    box-shadow: 0 14px 38px -18px rgba(13, 31, 36, .35), 0 2px 6px -2px rgba(13, 31, 36, .12);
    overflow: hidden;
}
body.sdc-page-service-child .sdc-prose .sdc-vcimg img {
    border-radius: var(--sdc-radius-lg);
}
/* --- vc_column_text: ne adjon dupla margint az utolsó elemnek --- */
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column-text>*:last-child {
    margin-bottom: 0;
}
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-row.egycolkozepre>.sdc-vc-vc-column {
    grid-column: 1 / -1 !important;
    max-width: 880px;
    margin-inline: auto;
}
/* --- Multi-block split: 2-oszlopos elrendezés, ha egy column-text-en belül
   2+ heading-led blokk van (PHP DOM filter wrappeli `.sdc-svc-subblock`-ba),
   VAGY ha egy oszlopban 2+ sibling .sdc-vc-vc-column-text van (CSS-only).
   Mobilon 768px alatt mindkettő stack 1-col. --- */
/* PATTERN A: PHP-ban wrappelt sub-blockok */
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column-text.sdc-svc-multi {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 48px);
    align-items: start;
}
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column-text.sdc-svc-multi>.sdc-svc-subblock {
    min-width: 0;
}
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column-text.sdc-svc-multi>.sdc-svc-subblock>*:first-child {
    margin-top: 0;
}
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column-text.sdc-svc-multi>.sdc-svc-subblock>*:last-child {
    margin-bottom: 0;
}
/* PATTERN B: 2+ sibling column-text egyetlen oszlopban (kép NÉLKÜL) */
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text + .sdc-vc-vc-column-text):not(:has(> .sdc-vcimg)):not(:has(> img)) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 48px);
    align-items: start;
}
body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text + .sdc-vc-vc-column-text):not(:has(> .sdc-vcimg)):not(:has(> img))>.sdc-vc-vc-column-text {
    min-width: 0;
}
/* Mobilon mindkét pattern: stack vertikálisan */
@media (max-width: 768px) {
    body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column-text.sdc-svc-multi,
    body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text + .sdc-vc-vc-column-text):not(:has(> .sdc-vcimg)):not(:has(> img)) {
        grid-template-columns: 1fr;
    }
}
/* --- Fogpótlások (page-id-1956): alternáló image-text elrendezés ---
   Az image+text rows alapból: image-balra, text-jobbra (vc_column 1/2 + 1/2).
   A user által kért: minden 2., 4., 6. ilyen sor fordított — text-balra,
   image-jobbra. DOM-szinten: az 1. row az intro (single col, single child),
   a 2-6. row az image+text párok. Ezekből a 2., 4., 6. content-rowt
   fordítjuk → DOM index 3, 5, 7 → :nth-of-type(2n+3).
   Csak ≥769px-en hat (mobile-on a row 1-col stack).

   FONTOS: a `grid-auto-flow: dense` kötelező — különben a CSS Grid forward-only
   algoritmusa a 2. itemet (text, grid-column 1-6) NEM helyezné a már-beírt
   1. item (image, grid-column 7-12) MELLÉ, hanem új sorba tolná. A `dense`
   engedi a backfill-t, így side-by-side rendeződnek. */
@media (min-width: 769px) {
    body.page-id-1956 .sdc-prose>.sdc-vc-vc-row:nth-of-type(2n+3) {
        grid-auto-flow: dense;
    }
    body.page-id-1956 .sdc-prose>.sdc-vc-vc-row:nth-of-type(2n+3)>.sdc-vc-vc-column[data-w="1/2"]:nth-child(1) {
        grid-column: 7 / span 6;
    }
    body.page-id-1956 .sdc-prose>.sdc-vc-vc-row:nth-of-type(2n+3)>.sdc-vc-vc-column[data-w="1/2"]:nth-child(2) {
        grid-column: 1 / span 6;
        /* A flipped sorokban a bal oldali szöveg max-width-jét a képek
           natural width-jéhez (600px) igazítjuk — így a text-szélesség
           pontosan az alatta lévő képoszlop képi szélességéig tart, és
           nem nyúlik tovább üres területre. */
        max-width: 600px;
    }
}
/* --- Mosoly blokk (atokeletesmosolyhoz CTA) service-child kontextusban
   szellősebb, kérésre 100px+ vertikális spacing --- */
body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row.atokeletesmosolyhoz {
    padding-top: clamp(80px, 8vw, 120px);
    padding-bottom: clamp(80px, 8vw, 120px);
    margin-block: 0;
}
/* --- Strong/B emelt szöveg: csak a heading-arany szín — fontot nem nyúlunk --- */
body.sdc-page-service-child .sdc-prose strong,
body.sdc-page-service-child .sdc-prose b {
    color: var(--sdc-c-heading);
}
/* =====================================================================
   36d. Service Aloldal — Bottom CTA / Időpontkérés szekció
   =====================================================================
   A page.php a sdc_extract_service_form_id() segédfüggvénnyel kinyeri a
   contact-form-7 ID-t a posztcontentből, és itt egy szép kétoszlopos
   szekciót renderel a page legalján. Bal: szöveges ajánló + 3 perk +
   telefon CTA. Jobb: maga az űrlap. */
.sdc-service-cta {
    background:
        radial-gradient(circle at 20% 30%, rgba(189, 147, 105, .08) 0%, transparent 55%),
        radial-gradient(circle at 80% 80%, rgba(130, 169, 176, .12) 0%, transparent 60%),
        var(--sdc-c-bg-soft);
    padding-block: clamp(80px, 8vw, 120px);
    margin-top: 0;
    border-top: 1px solid var(--sdc-c-border);
    position: relative;
}
.sdc-service-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 24 24' fill='none' stroke='%2382a9b0' stroke-opacity='.06' stroke-width='.4'%3E%3Cpath d='M12 2c-2 0-3 1.2-3 3 0 1.5-1 2-2 2-1.5 0-3 1-3 3 0 2 1 3 1 5 0 3 2 7 4 7 1 0 1.5-1 1.5-3 0-1.5.5-2 1.5-2s1.5.5 1.5 2c0 2 .5 3 1.5 3 2 0 4-4 4-7 0-2 1-3 1-5 0-2-1.5-3-3-3-1 0-2-.5-2-2 0-1.8-1-3-3-3z'/%3E%3C/svg%3E") top right/220px no-repeat;
    pointer-events: none;
}
.sdc-service-cta__inner {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: clamp(32px, 4vw, 64px);
    align-items: start;
    position: relative;
    z-index: 1;
}
@media (max-width: 900px) {
    .sdc-service-cta__inner {
        grid-template-columns: 1fr;
    }
}
.sdc-service-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    color: var(--sdc-c-primary-dk);
    font-size: var(--sdc-fs-xs);
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 16px;
    box-shadow: 0 4px 14px -8px rgba(13, 31, 36, .2);
}
.sdc-service-cta__eyebrow svg {
    color: var(--sdc-c-primary);
}
.sdc-service-cta__title {
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    line-height: 1.2;
    color: var(--sdc-c-heading);
    margin: 0 0 14px;
    font-weight: 600;
}
.sdc-service-cta__lead {
    font-size: var(--sdc-fs-md);
    line-height: 1.7;
    color: var(--sdc-c-text);
    margin: 0 0 22px;
    max-width: 56ch;
}
.sdc-service-cta__perks {
    list-style: none;
    padding: 0;
    margin: 0 0 26px;
    display: grid;
    gap: 10px;
}
.sdc-service-cta__perks li {
    position: relative;
    padding-left: 32px;
    font-size: var(--sdc-fs-md);
    line-height: 1.5;
    color: var(--sdc-c-text);
}
.sdc-service-cta__perks li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:
        url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/14px no-repeat,
        linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    box-shadow: 0 3px 8px rgba(7, 79, 79, .25);
}
.sdc-service-cta__phone {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 0;
    padding: 14px 18px;
    border-radius: var(--sdc-radius-md);
    background: #fff;
    border: 1px solid var(--sdc-c-border);
}
.sdc-service-cta__phone span {
    font-size: var(--sdc-fs-sm);
    color: rgba(31, 42, 48, .65);
}
.sdc-service-cta__phone a {
    font-size: clamp(1.1rem, 1.6vw, 1.3rem);
    font-weight: 700;
    color: var(--sdc-c-primary-dk);
    text-decoration: none;
    letter-spacing: .01em;
}
.sdc-service-cta__phone a:hover {
    color: var(--sdc-c-accent);
}
/* --- Form kártya --- */
.sdc-service-cta__form {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-lg);
    padding: clamp(24px, 3vw, 36px);
    box-shadow: 0 24px 60px -28px rgba(13, 31, 36, .35), 0 4px 14px -8px rgba(13, 31, 36, .12);
}
/* WPCF7 forma elem stylzás */
.sdc-service-cta__form .wpcf7 form p,
.sdc-service-cta__form .wpcf7-form p {
    margin: 0 0 14px;
}
.sdc-service-cta__form input[type="text"],
.sdc-service-cta__form input[type="email"],
.sdc-service-cta__form input[type="tel"],
.sdc-service-cta__form input[type="url"],
.sdc-service-cta__form input[type="number"],
.sdc-service-cta__form input[type="date"],
.sdc-service-cta__form select,
.sdc-service-cta__form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-sm);
    background: var(--sdc-c-bg-soft);
    font: inherit;
    color: var(--sdc-c-text);
    transition: border-color var(--sdc-dur), background var(--sdc-dur), box-shadow var(--sdc-dur);
}
.sdc-service-cta__form textarea {
    min-height: 120px;
    resize: vertical;
}
.sdc-service-cta__form input:focus,
.sdc-service-cta__form select:focus,
.sdc-service-cta__form textarea:focus {
    outline: 0;
    border-color: var(--sdc-c-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(130, 169, 176, .18);
}
.sdc-service-cta__form label {
    display: block;
    font-size: var(--sdc-fs-sm);
    color: var(--sdc-c-text);
    font-weight: 500;
    margin-bottom: 6px;
}
.sdc-service-cta__form input[type="submit"],
.sdc-service-cta__form .wpcf7-submit {
    width: 100%;
    padding: 14px 20px;
    border: 0;
    border-radius: var(--sdc-radius-sm);
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    color: #fff;
    font-weight: 600;
    font-size: var(--sdc-fs-md);
    cursor: pointer;
    letter-spacing: .01em;
    transition: transform var(--sdc-dur), box-shadow var(--sdc-dur), filter var(--sdc-dur);
    box-shadow: 0 10px 24px -10px rgba(7, 79, 79, .55);
    margin-top: 6px;
}
.sdc-service-cta__form input[type="submit"]:hover,
.sdc-service-cta__form .wpcf7-submit:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
    box-shadow: 0 14px 32px -12px rgba(7, 79, 79, .6);
}
.sdc-service-cta__form .wpcf7-not-valid-tip {
    color: #c14a4a;
    font-size: var(--sdc-fs-xs);
    margin-top: 4px;
}
.sdc-service-cta__form .wpcf7-response-output {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-radius: var(--sdc-radius-sm);
    font-size: var(--sdc-fs-sm);
}
/* =====================================================================
   37. Ultra-wide layout — 1600px+ monitorok
   =====================================================================
   A default container 1200px-en cap-elve van. 1600px+ szélességen szellősebb
   layout, nagyobb container, nagyobb belső térközök, hogy ne maradjon kihasz-
   nálatlan üres sáv a szélen, ÉS a content arányosan nagyobb legyen. Minden
   szekciót lefed: header, hero, page-hero, body, service-child grid, footer,
   front-page szekciók. */
@media (min-width: 1600px) {
    /* Tokenek felülírása — a teljes layout újraszámol vele */
    :root {
        --sdc-container: 1440px;
        --sdc-fs-md: 1.0625rem;
        --sdc-fs-lg: 1.1875rem;
        --sdc-fs-xl: 1.5rem;
        --sdc-fs-2xl: 2rem;
        --sdc-fs-3xl: 2.5rem;
        --sdc-fs-4xl: 3.5rem;
        --sdc-fs-5xl: 4.25rem;
        --sdc-gap: 32px;
        --sdc-gap-lg: 64px;
    }
    /* Page hero — nagyobb belső térköz, h1 picit feljebb csúsztatva */
    .sdc-page-hero {
        padding-block: clamp(48px, 4vw, 80px);
    }
    .sdc-page-hero__title {
        font-size: 64px;
        /* nagyobb monitoron még feltűnőbb */
    }
    .sdc-page-hero__sub {
        font-size: var(--sdc-fs-lg);
        max-width: 880px;
    }
    /* Page __body — nagyobb függőleges paddingok */
    .sdc-page__body {
        padding-block: clamp(36px, 3vw, 64px) clamp(60px, 5vw, 100px);
    }
    /* Header logó és topbar arányosan szellősebb */
    .sdc-header__inner {
        padding-block: 14px;
    }
    /* Hero (front-page slider) — szellősebb belső padding */
    .sdc-hero__inner {
        padding-block: clamp(80px, 6vw, 128px);
    }
    /* Front-page szekciók — generózusabb függőleges padding */
    .sdc-bemutatkozas,
    .sdc-megvalositjuk,
    .sdc-bemvideo,
    .sdc-velemenyek,
    .sdc-front-content {
        padding-block: clamp(64px, 6vw, 120px);
    }
    /* Service-child 2-col split — nagyobb gap */
    body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row {
        margin-block: clamp(56px, 5vw, 96px);
        gap: clamp(40px, 4vw, 80px);
    }
    body.sdc-page-service-child .sdc-prose .sdc-vc-vc-column:has(> .sdc-vc-vc-column-text):has(> .sdc-vcimg) {
        gap: clamp(48px, 4vw, 88px);
    }
    /* Service-child first-row text-only column max-width szellősebb */
    body.sdc-page-service-child .sdc-prose>.sdc-vc-vc-row:first-of-type>.sdc-vc-vc-column:only-child {
        max-width: 1040px;
    }
    /* Service-child bottom CTA — szellősebb padding + nagyobb cím */
    .sdc-service-cta {
        padding-block: clamp(72px, 6vw, 120px);
    }
    .sdc-service-cta__title {
        font-size: clamp(2rem, 2.4vw, 2.6rem);
    }
    .sdc-service-cta__inner {
        gap: clamp(48px, 4vw, 96px);
    }
    /* Footer — picit szellősebb */
    .sdc-footer {
        padding-block: clamp(56px, 4vw, 80px) clamp(20px, 2vw, 32px);
    }
    /* News grid (blog/index) — 4 oszlopos rács nagyobb monitoron */
    .sdc-news-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    /* Referenciák grid — 4 oszlop ultrawide-on */
    .sdc-referenciagrid {
        grid-template-columns: repeat(4, 1fr);
    }
    /* Galéria rács — több oszlop nagyobb monitoron */
    .sdc-gallery-grid {
        grid-template-columns: repeat(5, 1fr);
    }
    /* Pricetable masonry — 1600px+ szellősebb column-gap */
    .sdc-prose :where(.sdc-vc-vc-column-text, .sdc-vc-vc-column):has(> .pricetablediv + .pricetablediv) {
        column-gap: 40px;
    }
}
/* =====================================================================
   38. Print
   ===================================================================== */
@media print {
    .sdc-header, .sdc-topbar, .sdc-footer, .sdc-menu-toggle,
    .sdc-floating-call, .sdc-hero__nav, .sdc-hero__dots {
        display: none !important;
    }
    .sdc-hero {
        color: #000;
        background: #fff;
    }
    a {
        color: #000;
        text-decoration: underline;
    }
}
/* =====================================================================
   39. Globális wpcf7 form-enhance (Option A — rich form)
   Minden űrlapra alkalmazva site-szerte. A page-kapcsolat-on tovább finomítva
   a 40-es szakaszban.
   ===================================================================== */
/* Wrapper — aktív állapotok közös tokenjei */
.wpcf7 form {
    display: grid;
    gap: 14px;
}
.wpcf7-form p {
    margin: 0;
}
/* Field wrap — címke fölé / floating-szerű elrendezés */
.sdc-field {
    display: block;
    position: relative;
}
.sdc-field>label,
.wpcf7-form label.sdc-field__label {
    display: block;
    font-size: var(--sdc-fs-xs);
    font-weight: 600;
    color: var(--sdc-c-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin: 0 0 6px;
}
.sdc-field__hint {
    display: block;
    font-size: var(--sdc-fs-xs);
    color: var(--sdc-c-muted);
    margin-top: 4px;
}
/* Inputs — modern soft-card megjelenés */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="search"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    min-height: 52px;
    padding: 14px 18px;
    background: #fff;
    border: 1.5px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    font: inherit;
    font-size: var(--sdc-fs-md);
    color: var(--sdc-c-text);
    transition: border-color var(--sdc-dur) var(--sdc-ease),
        background var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease),
        transform var(--sdc-dur) var(--sdc-ease);
    box-sizing: border-box;
    box-shadow: 0 1px 2px rgba(13, 31, 36, .04);
}
.wpcf7 textarea {
    height: 160px;
    min-height: 160px;
    line-height: 1.6;
    resize: vertical;
}
.wpcf7 input:hover,
.wpcf7 select:hover,
.wpcf7 textarea:hover {
    border-color: var(--sdc-c-primary-lt);
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: var(--sdc-c-primary);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(130, 169, 176, .18), 0 1px 2px rgba(13, 31, 36, .04);
}
/* Validáció — wpcf7 invalid + saját HTML5 :user-invalid */
.wpcf7 input.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 input:user-invalid,
.wpcf7 textarea:user-invalid {
    border-color: var(--sdc-c-error);
    background: rgba(179, 38, 30, .03);
}
.wpcf7 input.wpcf7-not-valid:focus,
.wpcf7 textarea.wpcf7-not-valid:focus {
    box-shadow: 0 0 0 4px rgba(179, 38, 30, .14);
}
/* Submit gomb — modernebb, hover-emelés, icon-támogatás, loading */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 14px 38px;
    background: linear-gradient(135deg, var(--sdc-c-primary) 0%, var(--sdc-c-primary-dk) 100%);
    color: #fff;
    font-family: var(--sdc-font-heading);
    font-weight: 600;
    font-size: var(--sdc-fs-md);
    letter-spacing: .02em;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(94, 128, 134, .25);
    transition: transform var(--sdc-dur) var(--sdc-ease),
        background var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease);
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(94, 128, 134, .35);
}
.wpcf7 input[type="submit"]:active,
.wpcf7 button[type="submit"]:active {
    transform: translateY(0);
}
.wpcf7 input[type="submit"]:disabled,
.wpcf7 form.submitting input[type="submit"],
.wpcf7 form.submitting button[type="submit"] {
    cursor: progress;
    background: var(--sdc-c-primary);
    box-shadow: none;
    transform: none;
    opacity: .85;
}
/* Submit loader — submitting állapotban a wpcf7-spinner mellé */
.wpcf7 form.submitting .wpcf7-submit::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: sdc-spin 0.8s linear infinite;
}
@keyframes sdc-spin {
    to {
        transform: rotate(360deg);
    }
}
.wpcf7-spinner {
    display: none !important;
}
/* Sikeres submit — animált pipa + üzenet */
.wpcf7 form.sent .wpcf7-response-output {
    background: linear-gradient(135deg, rgba(130, 169, 176, .08) 0%, rgba(189, 147, 105, .08) 100%);
    border-color: var(--sdc-c-primary) !important;
    color: var(--sdc-c-primary-dk);
    font-weight: 500;
    padding: 18px 22px !important;
    display: flex;
    align-items: center;
    gap: 12px;
}
.wpcf7 form.sent .wpcf7-response-output::before {
    content: "";
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border-radius: 50%;
    background: var(--sdc-c-primary) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'><path d='M9 16.2L4.8 12l-1.4 1.4L9 19l12-12-1.4-1.4z'/></svg>") center/16px no-repeat;
    animation: sdc-pop 0.4s var(--sdc-ease);
}
@keyframes sdc-pop {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    60% {
        transform: scale(1.15);
        opacity: 1;
    }
    100% {
        transform: scale(1);
    }
}
/* Acceptance — modernebb checkbox stílus */
.wpcf7-acceptance .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item {
    background: var(--sdc-c-bg-soft);
    border: 1px solid transparent;
    padding: 12px 16px;
    border-radius: var(--sdc-radius-md);
    transition: border-color var(--sdc-dur) var(--sdc-ease), background var(--sdc-dur) var(--sdc-ease);
    margin: 0;
}
.wpcf7-acceptance .wpcf7-list-item:hover,
.wpcf7-checkbox .wpcf7-list-item:hover {
    border-color: var(--sdc-c-primary-lt);
    background: #fff;
}
.wpcf7-acceptance .wpcf7-list-item.first.last,
.wpcf7-checkbox .wpcf7-list-item.first.last {
    margin-bottom: 0;
}
/* Topic chip-strip — ha a form-be felvesszük */
.sdc-form-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 4px;
}
.sdc-form-chips__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--sdc-c-bg-soft);
    border: 1px solid var(--sdc-c-border);
    border-radius: 999px;
    font-size: var(--sdc-fs-sm);
    cursor: pointer;
    transition: all var(--sdc-dur) var(--sdc-ease);
    user-select: none;
}
.sdc-form-chips__item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.sdc-form-chips__item:hover {
    border-color: var(--sdc-c-primary-lt);
    background: #fff;
}
.sdc-form-chips__item.is-active,
.sdc-form-chips__item:has(input:checked) {
    background: var(--sdc-c-primary);
    border-color: var(--sdc-c-primary);
    color: #fff;
}
/* =====================================================================
   40. Page Kapcsolat — komplex layout
   ===================================================================== */
/* 40.1 Hero finomítások — eyebrow + status pill + CTA chip-strip */
.sdc-kapcsolat-hero {
    /* finom alap-warming, friendlier mint a default page-hero */
}
.sdc-kapcsolat-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px 14px;
    background: rgba(189, 147, 105, .12);
    border: 1px solid rgba(189, 147, 105, .35);
    border-radius: 999px;
    color: var(--sdc-c-accent);
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sdc-kapcsolat-hero__eyebrow svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}
.sdc-kapcsolat-hero__status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: 10px 18px;
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: 999px;
    font-size: var(--sdc-fs-sm);
    font-weight: 500;
    box-shadow: var(--sdc-shadow-sm);
}
.sdc-kapcsolat-hero__status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex: 0 0 10px;
    position: relative;
}
.sdc-kapcsolat-hero__status.is-open .sdc-kapcsolat-hero__status-dot {
    background: #22c55e;
}
.sdc-kapcsolat-hero__status.is-open .sdc-kapcsolat-hero__status-dot::after {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: #22c55e;
    opacity: .35;
    animation: sdc-pulse 1.6s ease-out infinite;
}
.sdc-kapcsolat-hero__status.is-closed .sdc-kapcsolat-hero__status-dot {
    background: #d1d5db;
}
@keyframes sdc-pulse {
    0% {
        transform: scale(1);
        opacity: .35;
    }
    100% {
        transform: scale(2.5);
        opacity: 0;
    }
}
.sdc-kapcsolat-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
    justify-content: center;
}
/* CTA chip — közös stílus, primary / phone / whatsapp variánsok */
.sdc-kapcsolat-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 999px;
    font-family: var(--sdc-font-heading);
    font-weight: 600;
    font-size: var(--sdc-fs-md);
    text-decoration: none;
    border: 1.5px solid transparent;
    transition: transform var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease),
        background var(--sdc-dur) var(--sdc-ease);
}
.sdc-kapcsolat-cta svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}
.sdc-kapcsolat-cta--primary {
    background: linear-gradient(135deg, var(--sdc-c-accent) 0%, #a87a52 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(189, 147, 105, .3);
}
.sdc-kapcsolat-cta--primary:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(189, 147, 105, .4);
}
.sdc-kapcsolat-cta--phone {
    background: #fff;
    color: var(--sdc-c-primary-dk);
    border-color: var(--sdc-c-primary-lt);
}
.sdc-kapcsolat-cta--phone:hover {
    background: var(--sdc-c-primary);
    color: #fff;
    border-color: var(--sdc-c-primary);
    transform: translateY(-2px);
}
.sdc-kapcsolat-cta--whatsapp {
    background: #25D366;
    color: #fff;
}
.sdc-kapcsolat-cta--whatsapp:hover {
    color: #fff;
    background: #1ebe5a;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(37, 211, 102, .35);
}
/* 40.2 Body grid — Form (bal) + Aside (jobb) */
.sdc-kapcsolat-body {
    padding-block: clamp(40px, 6vw, 88px);
}
.sdc-kapcsolat-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
@media (min-width: 980px) {
    .sdc-kapcsolat-grid {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
        gap: 48px;
        align-items: start;
    }
    /* Side aside sticky desktopon — header magasság + 24px breathing room */
    .sdc-kapcsolat-side {
        position: sticky;
        top: calc(var(--sdc-header-h) + 24px);
        align-self: start;
        max-height: calc(100vh - var(--sdc-header-h) - 48px);
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: var(--sdc-c-primary-lt) transparent;
    }
    .sdc-kapcsolat-side::-webkit-scrollbar {
        width: 6px;
    }
    .sdc-kapcsolat-side::-webkit-scrollbar-thumb {
        background: var(--sdc-c-primary-lt);
        border-radius: 3px;
    }
}
/* Form kártya */
.sdc-kapcsolat-form {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-lg);
    padding: clamp(24px, 3.5vw, 40px);
    box-shadow: var(--sdc-shadow-md);
    position: relative;
    overflow: hidden;
}
.sdc-kapcsolat-form::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--sdc-c-primary) 0%, var(--sdc-c-accent) 100%);
}
.sdc-kapcsolat-form__head {
    margin-bottom: 24px;
}
.sdc-kapcsolat-form__hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(34, 197, 94, .08);
    color: #166534;
    border-radius: 999px;
    font-size: var(--sdc-fs-xs);
    font-weight: 600;
    margin-bottom: 10px;
}
.sdc-kapcsolat-form__hint svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}
.sdc-kapcsolat-form__head h2 {
    margin: 0 0 8px;
    font-size: clamp(1.6rem, 1rem + 1.6vw, 2.2rem);
    color: var(--sdc-c-text);
}
.sdc-kapcsolat-form__head p {
    margin: 0;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-md);
}
.sdc-kapcsolat-form__body {
    /* wpcf7 wrapper */
}
.sdc-kapcsolat-form__foot {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--sdc-c-border);
}
.sdc-kapcsolat-form__lock {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-xs);
}
.sdc-kapcsolat-form__lock svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}
/* Aside — kapcsolat kártyák stack */
.sdc-kapcsolat-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sdc-kapcsolat-card {
    display: flex;
    gap: 16px;
    padding: 20px;
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    transition: border-color var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease),
        transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-kapcsolat-card:hover {
    border-color: var(--sdc-c-primary-lt);
    box-shadow: var(--sdc-shadow-md);
    transform: translateY(-2px);
}
.sdc-kapcsolat-card__icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(130, 169, 176, .12);
    color: var(--sdc-c-primary-dk);
    border-radius: var(--sdc-radius-md);
}
.sdc-kapcsolat-card__icon svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}
.sdc-kapcsolat-card--cta .sdc-kapcsolat-card__icon {
    background: rgba(189, 147, 105, .14);
    color: var(--sdc-c-accent);
}
.sdc-kapcsolat-card__body {
    flex: 1;
    min-width: 0;
}
.sdc-kapcsolat-card__body h3 {
    margin: 0 0 4px;
    font-size: var(--sdc-fs-md);
    color: var(--sdc-c-text);
    text-transform: uppercase;
    letter-spacing: .03em;
    font-weight: 700;
}
.sdc-kapcsolat-card__body p {
    margin: 0;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
    line-height: 1.5;
}
.sdc-kapcsolat-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    color: var(--sdc-c-primary-dk);
    font-size: var(--sdc-fs-sm);
    font-weight: 600;
    text-decoration: none;
}
.sdc-kapcsolat-card__link svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-kapcsolat-card__link:hover svg {
    transform: translateX(4px);
}
.sdc-kapcsolat-card__phone,
.sdc-kapcsolat-card__email {
    display: inline-block;
    margin-top: 4px;
    font-family: var(--sdc-font-heading);
    font-size: var(--sdc-fs-lg);
    font-weight: 600;
    color: var(--sdc-c-primary-dk);
    text-decoration: none;
    word-break: break-all;
}
.sdc-kapcsolat-card__phone:hover,
.sdc-kapcsolat-card__email:hover {
    color: var(--sdc-c-accent);
}
.sdc-kapcsolat-card--hours .sdc-kapcsolat-card__hours {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    display: grid;
    gap: 6px;
}
.sdc-kapcsolat-card--hours .sdc-kapcsolat-card__hours li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: var(--sdc-fs-sm);
    color: var(--sdc-c-text);
}
.sdc-kapcsolat-card--hours .sdc-kapcsolat-card__hours strong {
    color: var(--sdc-c-text);
    font-weight: 700;
}
.sdc-kapcsolat-card--hours .sdc-kapcsolat-card__hours .is-closed {
    color: var(--sdc-c-muted);
    font-style: italic;
}
/* 40.3 Trust signals strip */
.sdc-kapcsolat-trust {
    background: linear-gradient(180deg, var(--sdc-c-bg-soft) 0%, #fff 100%);
    padding-block: clamp(28px, 4vw, 56px);
    border-block: 1px solid var(--sdc-c-border);
}
.sdc-kapcsolat-trust__row {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media (min-width: 720px) {
    .sdc-kapcsolat-trust__row {
        grid-template-columns: repeat(4, 1fr);
    }
}
.sdc-kapcsolat-trust__row li {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 4px;
}
.sdc-kapcsolat-trust__row svg {
    width: 30px;
    height: 30px;
    fill: var(--sdc-c-accent);
    margin-bottom: 4px;
}
.sdc-kapcsolat-trust__row strong {
    font-family: var(--sdc-font-heading);
    font-size: var(--sdc-fs-xl);
    color: var(--sdc-c-text);
}
.sdc-kapcsolat-trust__row span {
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
    line-height: 1.4;
}
/* 40.4 Map — tabs + iframe panel */
.sdc-kapcsolat-map {
    padding-block: clamp(40px, 6vw, 88px);
}
/* Override: a block-map (sdc_render_map_block helper) flush — padding: 0,
 * a környező szekciók padding-jai adják a térközt. (Service-child page-eken
 * a map shortcode-on át renderelődik, ott a környezet adja a spacing-et.) */
.sdc-kapcsolat-map.block-map {
    padding: 0;
}
/* A szülő VC row (block-vc-row-11) ne adjon plusz alsó térközt a map alá. */
.sdc-vc-vc-row.block-vc-row-11 {
    padding-bottom: 0;
}
/* Page-id-106 (Kapcsolat oldal) — a térkép blokk a page-template-ből
 * direktben renderelődik (NEM vc_row-ban), ezért külön padding-block-ot
 * kap, hogy ne érjen hozzá az előtte/utána lévő szekciókhoz (trust strip,
 * FAQ). A clamp a körülötte lévő szekciók ritmusához igazodik. */
body.page-id-106 .sdc-kapcsolat-map.block-map {
    padding-block: clamp(40px, 6vw, 88px);
}
/* Page-id-2 (Kapcsolat oldal) — vc-row-7 és vc-row-8 felső margók eltüntetése
 * a szellősebb átmenethez. */
body.page-id-2 .sdc-vc-vc-row.block-vc-row-7,
body.page-id-2 .sdc-vc-vc-row.block-vc-row-8 {
    margin-top: 0;
}
/* Page-id-2 — egycolkozepre szellősebb alsó térköz desktopon */
@media (min-width: 769px) {
    body.page-id-2 .block-egycolkozepre {
        padding-bottom: 10vw;
    }
}

/* =====================================================================
   Page-id-2 — Magazine editorial 2-col tipográfia
   A `.sdc-svc-multi` (PHP DOM-filter által wrappelt 2 sub-block) layoutot
   premium magazine-érzéssel látja el: eyebrow-counter, drop cap, gold
   vertical separator, normalizált heading-méretek, lead-paragraph stílus.
   ===================================================================== */

/* Container — ritmus + relative pozíció a separator-hoz */
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi {
    line-height: 1.75;
    position: relative;
}

/* Vertikális gold separator a két oszlop között (csak desktop, gradient mask) */
@media (min-width: 769px) {
    body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi::before {
        content: "";
        position: absolute;
        top: 8%;
        bottom: 8%;
        left: 50%;
        width: 1px;
        background: linear-gradient(180deg,
            transparent 0%,
            rgba(189, 147, 105, .35) 25%,
            rgba(189, 147, 105, .35) 75%,
            transparent 100%);
        transform: translateX(-50%);
        pointer-events: none;
    }
}

body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock {
    position: relative;
}

/* Heading-normalize — h2/h3/h4/h5 mind egyforma vizuális méret a sub-block-ban.
 * Specificitás (0,3,2) — felülírja a globális service-child h2 (0,2,2) szabályt. */
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock h2,
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock h3,
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock h4,
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock h5 {
    font-family: var(--sdc-font-heading);
    font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem);
    line-height: 1.2;
    letter-spacing: -.01em;
    margin-block: 0 .65em;
    font-weight: 600;
    color: var(--sdc-c-heading);
    /* A heading előtti gradient-underline (h1-h3 globális dekoráció) itt
     * eltüntetése, hogy az eyebrow + drop cap legyen az egyetlen accent. */
    padding-bottom: 0;
}
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock h2::after,
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock h3::after,
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock h4::after {
    display: none;
}

/* Drop cap — első bekezdés első betűje gold Urbanist kapital */
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock > p:first-of-type::first-letter {
    float: left;
    font-family: var(--sdc-font-heading);
    font-size: 3.6em;
    line-height: .88;
    font-weight: 700;
    color: var(--sdc-c-accent);
    margin: 4px 10px -2px 0;
    padding: 0;
}

/* First paragraph — lead-style (kicsit nagyobb, élénkebb szín) */
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock > p:first-of-type {
    font-size: 1.05em;
    color: var(--sdc-c-text);
}

/* Bekezdés-ritmus — több breathing room minden p-re */
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock > p {
    margin-block: 0 1.4em;
}
body.page-id-2 .sdc-vc-vc-column-text.sdc-svc-multi > .sdc-svc-subblock > p:last-child {
    margin-bottom: 0;
}

/* =====================================================================
   Page-id-2 — block-egycolkozepre Magazine Editorial layout
   Centered narrow text + breakout images. A szöveg-sávok 720px-ben
   központosítva (optimal line-length 60-70 char), a képek breakout-olnak
   szélesebbre, vizuális kontraszt a "nyugodt szöveg / lélegző kép" között.
   ===================================================================== */

/* Text column-text-ek 720px max-width, centered (csak desktop) */
@media (min-width: 769px) {
    body.page-id-2 .block-egycolkozepre > .sdc-vc-vc-column > .sdc-vc-vc-column-text {
        max-width: 720px;
        margin-inline: auto;
    }
    /* Magazine-grid képpár breakout — szélesebb container (1100px),
     * központosítva, hogy a szöveg-sávok közötti vizuális szünet
     * dinamikusabb legyen. */
    body.page-id-2 .block-egycolkozepre .sdc-egycolkozepre__images {
        max-width: 1100px;
        margin-inline: auto;
    }
}

/* Bekezdés-ritmus (közös, mobil + desktop) */
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text {
    line-height: 1.75;
}
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text > p {
    margin-block: 0 1.4em;
}
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text > p:last-child {
    margin-bottom: 0;
}

/* Heading-normalizálás — minden heading egyforma méretű és súlyú a blokkban
 * (a forrás-h4 most már szubsztanciális 1.6rem-es heading) */
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text h2,
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text h3,
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text h4,
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text h5 {
    font-family: var(--sdc-font-heading);
    font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem);
    line-height: 1.2;
    letter-spacing: -.01em;
    margin-block: 0 .65em;
    font-weight: 600;
    color: var(--sdc-c-heading);
    padding-bottom: 0;
}
/* Globális heading-underline gradient kikapcs ebben a kontextusban */
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text h2::after,
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text h3::after,
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text h4::after {
    display: none;
}

/* Drop cap — első bekezdés első betűje gold Urbanist kapital */
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text > p:first-of-type::first-letter {
    float: left;
    font-family: var(--sdc-font-heading);
    font-size: 3.6em;
    line-height: .88;
    font-weight: 700;
    color: var(--sdc-c-accent);
    margin: 4px 10px -2px 0;
    padding: 0;
}

/* Lead paragraph — kicsit nagyobb, élénkebb szín az első bekezdésen */
body.page-id-2 .block-egycolkozepre .sdc-vc-vc-column-text > p:first-of-type {
    font-size: 1.05em;
    color: var(--sdc-c-text);
}
.sdc-kapcsolat-map__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}
@media (min-width: 720px) {
    .sdc-kapcsolat-map__head {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }
}
.sdc-kapcsolat-map__head h2 {
    margin: 0;
    font-size: clamp(1.7rem, 1rem + 1.8vw, 2.4rem);
    color: var(--sdc-c-text);
}
.sdc-kapcsolat-map__tabs {
    display: inline-flex;
    background: var(--sdc-c-bg-soft);
    border-radius: 999px;
    padding: 4px;
    gap: 4px;
}
.sdc-kapcsolat-map__tab {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 10px 22px;
    border-radius: 999px;
    font-family: var(--sdc-font);
    font-weight: 600;
    font-size: var(--sdc-fs-sm);
    color: var(--sdc-c-muted);
    cursor: pointer;
    transition: background var(--sdc-dur) var(--sdc-ease), color var(--sdc-dur) var(--sdc-ease);
}
.sdc-kapcsolat-map__tab:hover {
    color: var(--sdc-c-text);
}
.sdc-kapcsolat-map__tab.is-active {
    background: #fff;
    color: var(--sdc-c-primary-dk);
    box-shadow: var(--sdc-shadow-sm);
}
.sdc-kapcsolat-map__panels {
    position: relative;
    border-radius: var(--sdc-radius-lg);
    overflow: hidden;
    box-shadow: var(--sdc-shadow-md);
}
.sdc-kapcsolat-map__panel {
    display: none;
}
.sdc-kapcsolat-map__panel.is-active {
    display: block;
}
.sdc-kapcsolat-map__panel iframe {
    width: 100%;
    height: clamp(320px, 50vw, 480px);
    border: 0;
    display: block;
}
.sdc-kapcsolat-map__note {
    margin: 12px 0 0;
    padding: 12px 16px;
    background: rgba(189, 147, 105, .08);
    border-left: 3px solid var(--sdc-c-accent);
    border-radius: 4px;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-sm);
}
/* 40.5 FAQ accordion */
.sdc-kapcsolat-faq {
    padding-block: clamp(40px, 6vw, 88px);
    background: var(--sdc-c-bg-soft);
}
.sdc-kapcsolat-faq__head {
    text-align: center;
    margin-bottom: 32px;
}
.sdc-kapcsolat-faq__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    color: var(--sdc-c-accent);
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sdc-kapcsolat-faq__eyebrow svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}
.sdc-kapcsolat-faq__head h2 {
    margin: 0 0 8px;
    font-size: clamp(1.7rem, 1rem + 1.8vw, 2.4rem);
    color: var(--sdc-c-text);
}
.sdc-kapcsolat-faq__head p {
    margin: 0 auto;
    max-width: 640px;
    color: var(--sdc-c-muted);
    font-size: var(--sdc-fs-md);
}
.sdc-kapcsolat-faq__list {
    max-width: 800px;
    margin: 0 auto;
    display: grid;
    gap: 12px;
    /* Scroll-anchor kikapcsolása — Chrome/Firefox alapértelmezetten "anchor"-eli
     * a viewport pozícióját, ami item-váltásnál mikro-jitter-t okoz az alatta
     * lévő szekciókon. JS animációnk pontos height-control-t használ, scroll-
     * anchor-ra nincs szükség. */
    overflow-anchor: none;
}
.sdc-kapcsolat-faq__item {
    background: #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-md);
    overflow: hidden;
    transition: border-color var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease);
}
/* Open state — `.is-active` class (JS-managed, sync a height-animációval).
 * `[open]` attribútum: no-JS fallback. JS init-kor a [open] item-eket
 * felcímkézi `.is-active`-ra is, így a kezdeti betöltés is helyes. */
.sdc-kapcsolat-faq__item[open],
.sdc-kapcsolat-faq__item.is-active {
    border-color: var(--sdc-c-primary-lt);
    box-shadow: var(--sdc-shadow-sm);
}
/* Closing override: `.is-closing` jelzi, hogy [open] még true, de
 * vizuálisan zárt állapotot kell mutatni (icon vissza, border revert).
 * Specificitás-bump miatt :where()-rel csomagoljuk az [open]-t. */
:where(.sdc-kapcsolat-faq__item[open]).is-closing {
    border-color: var(--sdc-c-border);
    box-shadow: none;
}
.sdc-kapcsolat-faq__item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    font-family: var(--sdc-font-heading);
    font-weight: 600;
    font-size: var(--sdc-fs-lg);
    color: var(--sdc-c-text);
    transition: color var(--sdc-dur) var(--sdc-ease);
}
.sdc-kapcsolat-faq__item summary:hover {
    color: var(--sdc-c-primary-dk);
}
.sdc-kapcsolat-faq__item summary::-webkit-details-marker {
    display: none;
}
.sdc-kapcsolat-faq__q {
    flex: 1;
}
.sdc-kapcsolat-faq__icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--sdc-c-bg-soft);
    border-radius: 50%;
    transition: transform var(--sdc-dur) var(--sdc-ease), background var(--sdc-dur) var(--sdc-ease);
}
.sdc-kapcsolat-faq__icon svg {
    width: 14px;
    height: 14px;
    fill: var(--sdc-c-primary-dk);
}
.sdc-kapcsolat-faq__item[open] .sdc-kapcsolat-faq__icon,
.sdc-kapcsolat-faq__item.is-active .sdc-kapcsolat-faq__icon {
    transform: rotate(45deg);
    background: var(--sdc-c-primary);
}
.sdc-kapcsolat-faq__item[open] .sdc-kapcsolat-faq__icon svg,
.sdc-kapcsolat-faq__item.is-active .sdc-kapcsolat-faq__icon svg {
    fill: #fff;
}
/* Closing override — icon vissza-rotál, miközben [open] még true */
:where(.sdc-kapcsolat-faq__item[open]).is-closing .sdc-kapcsolat-faq__icon {
    transform: rotate(0deg);
    background: var(--sdc-c-bg-soft);
}
:where(.sdc-kapcsolat-faq__item[open]).is-closing .sdc-kapcsolat-faq__icon svg {
    fill: var(--sdc-c-primary-dk);
}
.sdc-kapcsolat-faq__a {
    padding: 0 22px 22px;
    color: var(--sdc-c-muted);
    line-height: 1.7;
    /* A JS slide-animáció height-et animál — overflow: hidden biztosítja
     * a tiszta clipping-et az animáció alatt; teljes nyitásnál (height:auto)
     * nincs hatása. */
    overflow: hidden;
}
.sdc-kapcsolat-faq__a a {
    color: var(--sdc-c-primary-dk);
    text-decoration: underline;
    font-weight: 600;
}
/* 40.6 Bottom CTA */
.sdc-kapcsolat-bottom {
    padding-block: clamp(40px, 6vw, 88px);
    text-align: center;
    background: linear-gradient(135deg, var(--sdc-c-bg-dark) 0%, #1a3a40 100%);
    color: #fff;
}
.sdc-kapcsolat-bottom h2 {
    margin: 0 0 12px;
    font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem);
    color: #fff;
}
.sdc-kapcsolat-bottom p {
    margin: 0 auto 28px;
    max-width: 560px;
    font-size: var(--sdc-fs-lg);
    color: rgba(255, 255, 255, .8);
}
.sdc-kapcsolat-bottom__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}
.sdc-kapcsolat-bottom .sdc-kapcsolat-cta--phone {
    background: rgba(255, 255, 255, .1);
    color: #fff;
    border-color: rgba(255, 255, 255, .25);
    backdrop-filter: blur(8px);
}
.sdc-kapcsolat-bottom .sdc-kapcsolat-cta--phone:hover {
    background: #fff;
    color: var(--sdc-c-primary-dk);
}
/* 40.7 Sticky mobile bottom bar — csak mobilon */
.sdc-kapcsolat-mobile-bar {
    display: none;
}
@media (max-width: 767px) {
    .sdc-kapcsolat-mobile-bar {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 1fr;
        gap: 6px;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 90;
        padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0));
        background: rgba(255, 255, 255, .95);
        backdrop-filter: blur(12px);
        border-top: 1px solid var(--sdc-c-border);
        box-shadow: 0 -4px 16px rgba(13, 31, 36, .08);
    }
    /* page-padding hozzáadás, hogy a bar ne fedjen el tartalmat */
    body.page-template-page-kapcsolat,
    body.page-kapcsolat {
        padding-bottom: 70px;
    }
}
.sdc-kapcsolat-mobile-bar__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 8px 4px;
    border-radius: var(--sdc-radius-md);
    color: var(--sdc-c-text);
    text-decoration: none;
    font-size: var(--sdc-fs-xs);
    font-weight: 600;
    text-align: center;
    background: var(--sdc-c-bg-soft);
}
.sdc-kapcsolat-mobile-bar__btn svg {
    width: 20px;
    height: 20px;
    fill: var(--sdc-c-primary-dk);
}
.sdc-kapcsolat-mobile-bar__btn--primary {
    background: var(--sdc-c-accent);
    color: #fff;
}
.sdc-kapcsolat-mobile-bar__btn--primary svg {
    fill: #fff;
}
/* 40.7b Mobil bar — input fókusz alatt elcsúszik (form-enhance JS adja a class-t) */
.sdc-kapcsolat-mobile-bar.is-hidden-focus {
    transform: translateY(110%);
    transition: transform .25s var(--sdc-ease, cubic-bezier(.4, .14, .3, 1));
}
/* =====================================================================
   41. Smile CTA — "Tedd a mosolyod velünk ___" konverziós kártya
   Service-child page-eken automatikusan megjelenik (page.php inject).
   ===================================================================== */
.sdc-smile-cta {
    padding-block: 0;
    background: transparent;
}
/* A blokkon belül a container ne kapjon padding-ot — a kártya saját padding-ja
 * adja a beltér; mobilon edge-to-edge megjelenés. */
.sdc-smile-cta>.sdc-container {
    padding-left: 0;
    padding-right: 0;
}
.sdc-smile-cta__card {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: clamp(36px, 5vw, 64px) clamp(20px, 4vw, 56px);
    background:
        radial-gradient(circle at 20% 0%, rgba(189, 147, 105, .10) 0%, transparent 50%),
        radial-gradient(circle at 80% 100%, rgba(130, 169, 176, .12) 0%, transparent 50%),
        #fff;
    border: 1px solid var(--sdc-c-border);
    border-radius: var(--sdc-radius-lg);
    box-shadow: 0 12px 40px rgba(13, 31, 36, .08), 0 4px 12px rgba(13, 31, 36, .04);
}
/* Top stripe — gradient line */
.sdc-smile-cta__card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: linear-gradient(90deg, var(--sdc-c-primary) 0%, var(--sdc-c-accent) 50%, var(--sdc-c-primary) 100%);
}
/* Decoratív fog SVG háttér — jobb felül halványan */
.sdc-smile-cta__decor {
    position: absolute;
    top: -30px;
    right: -40px;
    width: clamp(180px, 28vw, 280px);
    height: clamp(180px, 28vw, 280px);
    color: var(--sdc-c-accent);
    opacity: .07;
    pointer-events: none;
    transform: rotate(-15deg);
}
/* Eyebrow */
.sdc-smile-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 7px 16px;
    background: linear-gradient(135deg, rgba(189, 147, 105, .15) 0%, rgba(189, 147, 105, .08) 100%);
    border: 1px solid rgba(189, 147, 105, .35);
    border-radius: 999px;
    color: var(--sdc-c-accent);
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sdc-smile-cta__eyebrow svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}
/* Cím — "Tedd a mosolyod velünk ___" */
.sdc-smile-cta__title {
    margin: 0 0 14px;
    font-family: var(--sdc-font-heading);
    font-size: clamp(1.8rem, 1rem + 3vw, 3.5rem);
    line-height: 1.15;
    color: var(--sdc-c-text);
    font-weight: 700;
    letter-spacing: -.01em;
}
.sdc-smile-cta__prefix {
    color: var(--sdc-c-text);
    margin-right: .25em;
}
/* Rotator — minden szó ugyanabban a grid-cellában (auto-width a leghosszabb szóra) */
.sdc-smile-cta__rotator {
    display: inline-grid;
    grid-template-areas: "word";
    vertical-align: baseline;
    text-align: left;
}
@keyframes sdc-smile-shimmer {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 200% 50%;
    }
}
.sdc-smile-cta__word {
    grid-area: word;
    display: block;
    font-weight: 800;
    white-space: nowrap;
    /* Gold gradient + text-clip a szón közvetlenül, hogy a transparent-fill
     * működjön child-szinten (parent-en a children nem öröklik a clip-et). */
    background: linear-gradient(135deg, var(--sdc-c-accent) 0%, #d8a677 50%, var(--sdc-c-accent) 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    /* Két animáció: enter/exit cycle + folyamatos shimmer */
    animation:
        sdc-smile-cycle calc(var(--sdc-smile-count, 4) * 2.4s) infinite,
        sdc-smile-shimmer 6s linear infinite;
    /* Kezdeti állapot — a cycle első keyframe-je felülírja, de safety net */
    opacity: 0;
}
.sdc-smile-cta__rotator[data-fancy-count="2"] {
    --sdc-smile-count: 2;
}
.sdc-smile-cta__rotator[data-fancy-count="3"] {
    --sdc-smile-count: 3;
}
.sdc-smile-cta__rotator[data-fancy-count="4"] {
    --sdc-smile-count: 4;
}
.sdc-smile-cta__rotator[data-fancy-count="5"] {
    --sdc-smile-count: 5;
}
.sdc-smile-cta__word[data-i="0"] {
    animation-delay: 0s;
}
.sdc-smile-cta__word[data-i="1"] {
    animation-delay: 2.4s;
}
.sdc-smile-cta__word[data-i="2"] {
    animation-delay: 4.8s;
}
.sdc-smile-cta__word[data-i="3"] {
    animation-delay: 7.2s;
}
.sdc-smile-cta__word[data-i="4"] {
    animation-delay: 9.6s;
}
@keyframes sdc-smile-cycle {
    /* Tartam % a 4-szavas ciklusból (9.6s):
       0–2.5%: enter (translate 20→0, blur 6→0, opacity 0→1)
       2.5–22%: visible
       22–25%: exit (translate 0→-20, blur 0→6, opacity 1→0)
       25–100%: hidden
       Ennek megfelelően skálázódik a count-tól függő ciklusidővel. */
    0% {
        opacity: 0;
        transform: translateY(20px);
        filter: blur(6px);
    }
    3%, 22% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
    25%, 100% {
        opacity: 0;
        transform: translateY(-20px);
        filter: blur(6px);
    }
}
/* Sub-headline */
.sdc-smile-cta__sub {
    max-width: 640px;
    margin: 0 auto 32px;
    font-size: clamp(1rem, .85rem + .5vw, 1.2rem);
    color: var(--sdc-c-muted);
    line-height: 1.55;
}
/* Buttons — primary (gold gradient) + phone (outline) */
.sdc-smile-cta__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-bottom: 32px;
}
.sdc-smile-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: var(--sdc-font-heading);
    font-weight: 600;
    font-size: var(--sdc-fs-md);
    letter-spacing: .01em;
    border-radius: 999px;
    text-decoration: none;
    border: 1.5px solid transparent;
    transition: transform var(--sdc-dur) var(--sdc-ease),
        background var(--sdc-dur) var(--sdc-ease),
        box-shadow var(--sdc-dur) var(--sdc-ease),
        color var(--sdc-dur) var(--sdc-ease);
}
.sdc-smile-cta__btn svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    transition: transform var(--sdc-dur) var(--sdc-ease);
}
.sdc-smile-cta__btn--primary {
    background: linear-gradient(135deg, var(--sdc-c-accent) 0%, #a87a52 100%);
    color: #fff;
    box-shadow: 0 6px 20px rgba(189, 147, 105, .35);
    position: relative;
}
.sdc-smile-cta__btn--primary::after {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 999px;
    border: 2px solid var(--sdc-c-accent);
    opacity: 0;
    animation: sdc-smile-pulse 2.4s ease-out infinite;
    pointer-events: none;
}
@keyframes sdc-smile-pulse {
    0% {
        opacity: .6;
        transform: scale(1);
    }
    80%, 100% {
        opacity: 0;
        transform: scale(1.18);
    }
}
.sdc-smile-cta__btn--primary:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(189, 147, 105, .45);
}
.sdc-smile-cta__btn--primary:hover svg {
    transform: translateX(4px);
}
.sdc-smile-cta__btn--phone {
    background: #fff;
    color: var(--sdc-c-primary-dk);
    border-color: var(--sdc-c-primary-lt);
}
.sdc-smile-cta__btn--phone:hover {
    background: var(--sdc-c-primary);
    color: #fff;
    border-color: var(--sdc-c-primary);
    transform: translateY(-2px);
}
/* Trust strip alul — explicit reset prose-listára való ráhatás ellen */
.sdc-smile-cta__trust {
    list-style: none;
    margin: 0;
    padding: 24px 0 0;
    border-top: 1px solid var(--sdc-c-border);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 28px;
}
.sdc-smile-cta__trust li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: 0;
    margin: 0;
    font-size: var(--sdc-fs-sm);
    color: var(--sdc-c-muted);
    line-height: 1.4;
    white-space: nowrap;
}
.sdc-smile-cta__trust li::before {
    display: none !important;
    content: none !important;
}
.sdc-smile-cta__trust svg {
    width: 18px;
    height: 18px;
    fill: var(--sdc-c-accent);
    flex: 0 0 18px;
}
.sdc-smile-cta__trust strong {
    color: var(--sdc-c-text);
    font-weight: 700;
    font-family: var(--sdc-font-heading);
    margin-right: 2px;
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .sdc-smile-cta__rotator {
        animation: none;
    }
    .sdc-smile-cta__word {
        animation: none;
        opacity: 1;
        transform: none;
        filter: none;
    }
    /* Csak az első szó látszik, a többit elrejtjük */
    .sdc-smile-cta__word:not([data-i="0"]) {
        display: none;
    }
    .sdc-smile-cta__btn--primary::after {
        animation: none;
        opacity: 0;
    }
}
/* Mobil finomítás */
@media (max-width: 600px) {
    .sdc-smile-cta__btn {
        flex: 1 1 100%;
        padding: 14px 20px;
    }
    .sdc-smile-cta__decor {
        top: -50px;
        right: -80px;
        opacity: .04;
    }
}
/* 40.8 Reduce motion */
@media (prefers-reduced-motion: reduce) {
    .sdc-kapcsolat-hero__status.is-open .sdc-kapcsolat-hero__status-dot::after,
    .wpcf7 form.submitting .wpcf7-submit::after,
    .wpcf7 form.sent .wpcf7-response-output::before {
        animation: none;
    }
    .sdc-kapcsolat-mobile-bar.is-hidden-focus {
        transition: none;
    }
}
/* =====================================================================
   42. Stats Ribbon — animált számokkal (atokeletesmosolyhoz utódja)
   Service-child + testimonial oldalakon a [templatera id="5476"] helyett
   renderelődik. Funnel-szerep: factual trust-signal, NEM CTA.
   Sötét teal háttér + arany számok (medical-luxury), reveal.js
   [data-counter-target] alapú scroll-trigger animáció.
   ===================================================================== */
.sdc-stats-ribbon {
    padding-block: clamp(48px, 6vw, 88px);
    /* Lágyabb, közép-teal háttér — primary-dk és egy árnyalattal világosabb
     * teal közötti gradient, finomabb mint a korábbi bg-dark.
     * 2 radial-overlay (gold + light-teal) megőrzi a mélységet. */
    background:
        radial-gradient(ellipse at 80% 20%, rgba(189, 147, 105, .18) 0%, transparent 55%),
        radial-gradient(ellipse at 15% 85%, rgba(255, 255, 255, .08) 0%, transparent 55%),
        linear-gradient(135deg, var(--sdc-c-primary-dk) 0%, #6e9094 50%, var(--sdc-c-primary-dk) 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: var(--sdc-radius-lg);
}
/* Felülírja a prose / templatera wrapper margin-jait, hogy a blokk flush
 * csatlakozzon a környező szekciókhoz. */
.sdc-prose .sdc-stats-ribbon,
.sdc-templatera .sdc-stats-ribbon {
    margin-block: 0;
}
/* Felső + alsó arany hairline */
.sdc-stats-ribbon::before,
.sdc-stats-ribbon::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(189, 147, 105, .5) 30%, rgba(189, 147, 105, .5) 70%, transparent 100%);
    pointer-events: none;
}
.sdc-stats-ribbon::before {
    top: 0;
}
.sdc-stats-ribbon::after {
    bottom: 0;
}
.sdc-stats-ribbon__head {
    text-align: center;
    margin-bottom: clamp(28px, 4vw, 48px);
}
.sdc-stats-ribbon__eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: #fff;
    opacity: .85;
    font-size: var(--sdc-fs-xs);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
/* Specificitás bump: a service-child .sdc-prose h2 (gold) override miatt
 * többszörös selectorral biztosítjuk a fehér színt. */
.sdc-stats-ribbon .sdc-stats-ribbon__head h2,
body.sdc-page-service-child .sdc-prose .sdc-stats-ribbon__head h2 {
    margin: 0;
    font-family: var(--sdc-font-heading);
    font-size: clamp(1.6rem, 1rem + 1.6vw, 2.4rem);
    color: #fff;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -.01em;
}
/* List — 4 oszlop desktop, 2 oszlop tablet, 1 oszlop mobil
 * Vertikális separator a számok között (csak desktop). */
.sdc-stats-ribbon__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px 0;
}
@media (min-width: 600px) {
    .sdc-stats-ribbon__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 0;
    }
}
@media (min-width: 980px) {
    .sdc-stats-ribbon__list {
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }
}
.sdc-stats-ribbon__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 0 clamp(12px, 2vw, 24px);
    /* Reset prose-list */
    list-style: none !important;
    border: 0 !important;
}
.sdc-stats-ribbon__item::before {
    /* Prose-list pipa-bullet override */
    display: none !important;
    content: none !important;
}
/* Vertikális separator desktopon — finom arany line items között */
@media (min-width: 980px) {
    .sdc-stats-ribbon__item+.sdc-stats-ribbon__item::after {
        content: "";
        position: absolute;
        left: 0;
        top: 18%;
        bottom: 18%;
        width: 1px;
        background: linear-gradient(180deg, transparent 0%, rgba(189, 147, 105, .35) 50%, transparent 100%);
    }
}
/* Szám — nagy, fehér, tabular-nums */
.sdc-stats-ribbon__num {
    display: inline-flex;
    align-items: baseline;
    font-family: var(--sdc-font-heading);
    font-weight: 800;
    font-size: clamp(2.5rem, 1.5rem + 4vw, 4.5rem);
    line-height: 1;
    letter-spacing: -.02em;
    color: #fff;
    font-variant-numeric: tabular-nums;
}
/* Csillag a 4.8★-nál — fehér, kissé kisebb mint a számok */
.sdc-stats-ribbon__star {
    margin-left: 4px;
    font-size: .75em;
    color: #fff;
}
/* Label — fehér, uppercase, tracked */
.sdc-stats-ribbon__label {
    color: #fff;
    opacity: .85;
    font-size: var(--sdc-fs-sm);
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.35;
    max-width: 200px;
}
/* =====================================================================
   43. Egycolkozepre — beágyazott magazine-stílusú képpár
   A DOM-filter (template-helpers.php PASS 1.5) áthelyezi a 2-képes row
   tartalmát az `.egycolkozepre` 2 text-blokkja közé, ezzel a wrapperrel.
   Egyforma méretű képek, 3:2 aspect-ratio, szellős ritmus.
   ===================================================================== */
.sdc-egycolkozepre__images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 28px);
    margin: clamp(28px, 4vw, 48px) 0;
    align-items: stretch;
}
@media (max-width: 600px) {
    .sdc-egycolkozepre__images {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}
/* A képkártya — egyforma méretű mindkét oldalon */
.sdc-egycolkozepre__images>.sdc-vcimg {
    margin: 0;
    height: 100%;
}
.sdc-egycolkozepre__images>.sdc-vcimg .sdc-vcimg__link {
    display: block;
    height: 100%;
    border-radius: var(--sdc-radius-lg);
    overflow: hidden;
    box-shadow: 0 16px 40px -20px rgba(13, 31, 36, .35), 0 4px 10px -4px rgba(13, 31, 36, .15);
}
.sdc-egycolkozepre__images>.sdc-vcimg img,
.sdc-egycolkozepre__images>.sdc-vcimg .sdc-vcimg__img {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: var(--sdc-radius-lg);
    margin: 0;
    display: block;
    transition: transform .6s var(--sdc-ease);
}
.sdc-egycolkozepre__images>.sdc-vcimg .sdc-vcimg__link:hover img,
.sdc-egycolkozepre__images>.sdc-vcimg .sdc-vcimg__link:hover .sdc-vcimg__img {
    transform: scale(1.05);
}
/* Caption (figcaption) — finom, alulra középen, ha van */
.sdc-egycolkozepre__images>.sdc-vcimg .sdc-vcimg__caption {
    margin-top: 10px;
    text-align: center;
    font-size: var(--sdc-fs-sm);
    color: var(--sdc-c-muted);
    font-style: italic;
}
/* Service-child .sdc-prose kontextusban kikapcsoljuk a generikus img/figure
 * margin/border-radius-szabályokat, hogy a magazine-grid teljesen kezelje. */
body.sdc-page-service-child .sdc-prose .sdc-egycolkozepre__images {
    margin-block: clamp(28px, 4vw, 48px);
}
body.sdc-page-service-child .sdc-prose .sdc-egycolkozepre__images>.sdc-vcimg {
    margin-bottom: 0;
    /* A 6877-es szabályból örökölt box-shadow + overflow: hidden a __link-en
     * már jelen van, itt csak biztonsági reset. */
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}
.page-id-2 .egycolkozepre+.sdc-vc-vc-row {
    margin: -154px 0 !important;
    ;
    z-index: 99999999;
    position: relative !important;
}