i {
    font-family: 'Font Awesome\ 5 Free';
    font-weight: 900;
    /* Fix version 5.0.9 */
}

:root {
/*    --bs-font-sans-serif: "OpenSans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --bs-body-font-family: var(--bs-font-sans-serif);
    --COL_DARK_BLUE: #163462;
    --COL_LIGHT_BLUE: #D2F4FE;
    --COL_MID_BLUE: #0266B0;
    --COL_AQUA: #06A4C1;
    --COL_MENU2_BLUE: #102f63;
    --COL_DIM_BACKGROUND: #F3F2EF;
    --CaptionFont1: "warnock-pro-caption", serif;
    --MainFont1: OpenSans, Open Sans, sans-serif;*/
    --COL_ADMIN_BACKGR_COLOR: #082848;
}

@media (max-width: 768px) {
}

@media (max-width: 501px) {

}

@media (max-width: 445px) {
}


@media (max-width: 991.98px) {

}

/* MOBIL Méretezés*/
@media only screen and (max-width: 1300px) {


    .newspage-header h1.newstitle,
    .contact-header h1.contacttitle,
    .faq-header h1.faqtitle,
    .docstore-header h1.docstoretitle,
    .online-header h1.onlinetitle,
    .callback-header h1.callbackTitle,
    .admin-header h1.adminTitle {
        font-size: 2.4rem;
        font-weight: 400;
        line-height: 48px;
        /* background-color: #198754;*/
        background-color: var(--COL_ADMIN_BACKGR_COLOR);
        color: white !important;
        display: inline-block;
        padding: 10px 15px;
        border-radius: 0.25rem;
        letter-spacing: 2px;
    }

    .faq-header p.faqlink,
    .docstore-header p.doccatlink {
        font-weight: 300;
        font-size: 1.2rem;
        background-color: var(--COL_ADMIN_BACKGR_COLOR);
        display: inline-block;
        padding: 10px 15px;
        letter-spacing: 2px;
        border-radius: 0.25rem;
        color: white;
        margin: 1px;
    }

    p.helperlink {
        font-weight: 300;
        font-size: 1.0rem;
        background-color: var(--COL_ADMIN_BACKGR_COLOR);
        display: inline-block;
        padding: 5px 10px;
        letter-spacing: 2px;
        border-radius: 0.25rem;
        color: white;
        margin: 1px;
    }

    .mobilflex {
        max-width: 100vw;
    }

    .faq-header-div {
        padding-top: 0 !important;
    }
}

p.newstitle {
    background-color: #0064a9 !important;
    text-align: justify;
}
.card-body p {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    text-align: justify;
}

.team-card  p {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    text-align: justify;
    margin-bottom: 10px;
    padding-bottom: 0;
}

.team-card  .body-sm_ {
    /*color: rgb(40 87 143) !important;*/
}

.team-card img {
    border: 1px  solid rgb(2 71 143);
    margin-bottom:6px;
}

.team-card  hr {
    color: #4a7fb3;
    width: 100%;
    padding-top: 10px;
    margin: auto;
    margin-top: 6px;
}

.newstitle_h1 {
    padding-top:15px !important;
    line-height: 1.1 !important;
    font-size: clamp(2.5rem, 5.2vw, 3.5rem) !important;
    width: 100% !important;
}
/* Desktop méretezés */
@media only screen and (min-width: 1300px) {

    .docstore-header,
    .contact-header,
    .newspage-header,
    .faq-header,
    .online-header,
    .admin-header{
        /*margin-top: 3rem;*/
    }

    .docstore-header h1.docstoretitle,
    .online-header h1.onlinetitle,
    .contact-header h1.contacttitle,
    .newspage-header h1.newstitle,
    .faq-header h1.faqtitle,
    .admin-header h1.adminTitle {
        font-size: 4.9rem;
        font-weight: 400;
        line-height: 77px;
        background-color: var(--COL_ADMIN_BACKGR_COLOR);
        color: white !important;
        display: inline-block;
        padding: 30px 15px 7px 15px;
        border-radius: 0.25rem;
        /*font-family: var(--CaptionFont1);*/
        letter-spacing: 0;
    }

    .docstore-header p.doccatlink,
    .faq-header p.faqlink {
        font-weight: 300;
        font-size: 1.1rem;
        background-color: var(--COL_ADMIN_BACKGR_COLOR);
        display: inline-block;
        padding: 10px 15px;
        letter-spacing: 2px;
        border-radius: 0.25rem;
        color: white;
    }

    .mobilflex {
        max-width: 635px;
    }
}

/* Page headers generic*/
.docstore-header,
.contentpage-header,
.faq-header,
.newspage-header,
.contact-header,
.online-header,
.callback-header {
    min-width: 100vw;
    position: relative;
    background-position: center center !important;
    background-size: cover;
    background-attachment: fixed;
}

.container {
    width: 100%;

}

.small {
    font-size: 0.675em;
}

.news-list {
    margin-bottom: 2rem;
}

/* faq pages */
.faq-header p.faqlink a {
    color: white;
}

.faq-header-div {
    padding-top: 48px;
}

.newspage-header p.newstitle {
    font-weight: 300;
    font-size: 1.2rem;
    line-height: 26px;
    /*background-color: var(--COL_MID_BLUE);*/
    display: inline-block;
    padding: 10px 15px;
    letter-spacing: 2px;
    border-radius: 0.25rem;
}

@media only screen and (max-width: 1000px) {
    .mobilehidden {
        display: none !important;
    }

    .keprehuzva {
        margin-top: 10px;
    }

}

@media only screen and (min-width: 1000px) {
    .desktophidden {
        display: none !important;
    }

    .keprehuzva {
        margin-top: -20px;
    }
}


/* Generic */
.smaller {
    font-size: 0.75em;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.left {
    text-align: left !important;
}

.strong {
    font-weight: bold;
}

.italic {
    font-style: italic;
}

.admin-header {
    background-color: silver;
    background-image: linear-gradient(335deg, #005167 23px, transparent 23px),
    linear-gradient(155deg, #0083aa 23px, transparent 23px),
    linear-gradient(335deg, #005167 23px, transparent 23px),
    linear-gradient(155deg, #0083aa 23px, transparent 23px);
    background-size: 58px 58px;
    background-position: 0 2px, 4px 35px, 29px 31px, 34px 6px;
    /*background-image: url('/images/admin_login_bg.jpg');*/
}

.adminTitle-border {
    border: 5px solid #c0c0c0;
}

@media (max-width: 500px) {
    .d-none-500 {
        display: none !important;
    }
    .d-flex-500 {
        display: flex !important;
    }

}

@media (max-width: 400px) {
}

/* FAQ / GYIK */
#faqTab {/*
    background-color: var(--COL_DARK_BLUE);
    border-top: 4px solid var(--COL_DARK_BLUE);*/
    border-bottom: none;
    padding: 4px 0 4px 6px;
    border-radius: 0 8px 8px 8px;
    display: flex;
    justify-content: flex-start;
}

.faq-tab-label {
    color: white;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#faqTab .nav-link {
    color: white;
    border: none;
    margin: 0 6px 4px 6px;
    border-radius: 20px 20px 20px 20px;
    background-color: transparent;
    text-align: center;
}

.nav-tabs {
    padding-bottom :4px !important;
}

#faqTab .nav-link:hover,
#faqTab .nav-link:focus {
    color: white;
    background-color: rgba(255, 255, 255, 0.12);
}

#faqTab .nav-link.active {
    /*background-color: var(--COL_MID_BLUE);*/
    color: white;
}

.copyright-title {
    font-family: "warnock-pro-caption", sans-serif;
    font-size: 18px;
}

.footer {
/*    background-color: var(--COL_LIGHT_BLUE);
    color: var(--COL_DARK_BLUE) !important;*/
}

.dotted-link {
    text-decoration-style: dotted;
}

.auto-hyphen {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
}


/*
  Nyitó oldali egyedi stílusok
 */
.okosvaros {
    width: 100%;
    aspect-ratio: 1847 / 852;
    background-image: url("/images/nyitokep.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

@media (max-width: 524px) {
    .hero-title {
        font-size: 2rem !important;
    }
    /*.hero-title-lead {
        width: calc(100% + 25px) ;
        background-color: white;
        background-image: none;
        opacity: 0.65;
        padding-left: 4px;
        font-size: 0.8rem !important;
    }*/
/*    .hero-title-lead {
        color: #2b2b2b;
        padding-left: 4px;
        font-size: 0.8rem !important;
    }*/
    .btn {
        color: #ffe7ae;
        font-size: 0.8rem !important;
        margin-bottom: 4px !important;
    }
}

@media (max-width: 391px) {
    .hero-title-lead {
        display : none !important;
    }
}

.linkedin {
    border-color: #082848 !important;
}

.linkedin:active {
    border-color: #082848 !important;
    background-color: #082848 !important;
}

.linkedin:visited {
    border-color: #082848 !important;
    background-color: #082848 !important;
}

.linkedin:hover {
    background-color: #0097d3 !important;
    border-color: white !important;
}

.features_head {
    padding-bottom:4px;
}

.features {
    margin-top: 0 !important;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #012b6d;
    padding: 12px 20px;
}

.feature-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 0 30px;
    position: relative;
}

.feature-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: rgba(255,255,255,0.2);
}

.feature-icon img {
    width: 40px;
    object-fit: contain;
    margin-top: 4px;
}


.feature-content p {
    margin: 0;
    color: #ffffff;
    font-size: 0.75rem;
    line-height: 1.6;
}
@media (max-width: 992px) {
    .features {
        grid-template-columns: 1fr;
    }

    .feature-item {
        padding: 15px 0;
    }

    .feature-item::after {
        display: none;
    }
}

.infograf1 {
    color:#003b82;
    font-size:52px;
    line-height:1;
}
.infograf2 {
    color:#2d5a96;
    font-size:18px;
    margin-top:15px;
}

/* ─────────────────────────────────────────────────────────────────────────
 * Iparpolitikai Intézet — style.css
 * Alap: OpenAI design system (aktív rendszer) + márka felülírás a logóból
 * kinyert színértékekkel. Bootstrap 5.3 komponensek + egyedi réteg.
 * ─────────────────────────────────────────────────────────────────────── */

/* ─── OpenAI tokens (szó szerint a tokens.css kontraktusból) ──────────── */
:root {
    --bg:           #ffffff;
    --surface:      #f5f5f5;
    --surface-warm: #fafafa;

    --fg:   #0d0d0d;
    --fg-2: #1a1a1a;
    --muted: #6e6e6e;
    --meta:  #9b9b9b;

    --border:      #e5e5e5;
    --border-soft: #ededed;

    --accent:        #10a37f;
    --accent-on:     #ffffff;
    --accent-hover:  #0a7a5e;
    --accent-active: color-mix(in oklab, var(--accent), black 14%);

    --success: #10a37f;
    --warn:    #f5a623;
    --danger:  #ef4146;

    --font-display: "Signifier", "Source Serif Pro", Georgia, ui-serif, serif;
    --font-body:    "Söhne", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-mono:    "Söhne Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;

    --text-xs:   12px;
    --text-sm:   13px;
    --text-base: 16px;
    --text-lg:   18px;
    --text-xl:   20px;
    --text-2xl:  28px;
    --text-3xl:  40px;
    --text-4xl:  56px;

    --leading-body:     1.65;
    --leading-tight:    1.08;
    --tracking-display: -0.02em;

    --space-1:  4px;
    --space-2:  8px;
    --space-3:  12px;
    --space-4:  16px;
    --space-5:  20px;
    --space-6:  24px;
    --space-8:  32px;
    --space-12: 48px;
    --space-16: 64px;

    --section-y-desktop: 30px; /* 36? */
    --section-y-tablet:  30px;
    --section-y-phone:   30px;

    --radius-sm:   12px;
    --radius-md:   16px;
    --radius-lg:   16px;
    --radius-pill: 9999px;

    --elev-flat:   none;
    --elev-ring:   0 0 0 1px var(--border);
    --elev-raised: 0 4px 16px rgba(13, 13, 13, 0.06);

    --focus-ring: 0 0 0 3px rgba(16, 163, 127, 0.12);

    --motion-fast:   150ms;
    --motion-base:   220ms;
    --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);

    --container-max:            1200px;
    --container-gutter-desktop: 48px;
    --container-gutter-tablet:  24px;
    --container-gutter-phone:   24px;
}

/* ─── Márka felülírás — logóból kinyert értékek (a márka nyer) ────────── */
:root {
    --brand-navy:      #082848;
    --brand-navy-deep: #051b33;
    --brand-blue:      #0858a8;
    --brand-teal:      #089898;
    --brand-green:     #38a858;
    --brand-paper:     #f8f8f8;
    --brand-under:     #dbeaf6;

    --bg:           #ffffff;
    --surface:      #f0f3f6;
    --surface-warm: #f8f9fb;

    --fg:     #082848;
    --fg-2:   #0b1620;
    --muted:  #4a5c6e;
    --meta:   #8b98a6;

    --border:      #e3e8ee;
    --border-soft: #e9edf2;

    --accent:        #0858a8;
    --accent-on:     #ffffff;
    --accent-hover:  #0a4a8c;
    --accent-active: #073d75;

    --success: #38a858;
    --info:    #089898;
    --warn:    #f5a623;
    --danger:  #ef4146;

    --font-display: "Source Serif 4", "Source Serif Pro", Georgia, ui-serif, serif;
    --font-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-mono:    ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;

    --focus-ring: 0 0 0 3px rgba(8, 88, 168, 0.14);
}

/* ─── Alap tipográfia ─────────────────────────────────────────────────── */
body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-body);
    color: var(--fg);
    background: var(--bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-body);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--fg);
}

h1 {
    margin-bottom: 1rem;
}

h4 {
    font-weight: 500;
    margin-bottom: 1rem;
}

.serif-display {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: var(--tracking-display);
    color: var(--fg);
}

p { text-wrap: pretty; }

.eyebrow {
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.eyebrow--accent { color: var(--accent); }

.lead { font-size: var(--text-lg); color: var(--fg-2); }

.body-sm { font-size: var(--text-sm); color: var(--muted); }

.text-link {
    color: var(--accent);
    font-weight: 500;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    transition: color var(--motion-fast) var(--ease-standard);
}
.text-link:hover { color: var(--accent-hover); }
.text-link .icon-arrow { transition: transform var(--motion-fast) var(--ease-standard); }
.text-link:hover .icon-arrow { transform: translateX(3px); }

/* ─── Gombok ──────────────────────────────────────────────────────────── */
.btn { border-radius: var(--radius-sm); font-weight: 500; }

.btn-navy {
    background: var(--brand-navy);
    border-color: var(--brand-navy);
    color: #fff;
}
.btn-navy:hover,
.btn-navy:focus { background: var(--brand-navy-deep); border-color: var(--brand-navy-deep); color: #fff; }

.btn-outline {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--fg);
}
.btn-outline:hover,
.btn-outline:focus { border-color: var(--fg); color: var(--fg); background: var(--surface-warm); }

.btn-accent {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}
.btn-accent:hover,
.btn-accent:focus { background: var(--accent-hover); border-color: var(--accent-hover); color: #fff; }

.btn:focus-visible {
    box-shadow: var(--focus-ring);
    outline: none;
}

/* ─── Hero (főoldal) ──────────────────────────────────────────────────── */
.hero {
    background: var(--surface-warm);
    border-bottom: 1px solid var(--border);
    /*padding: var(--space-16) 0 var(--space-12); */
    padding: 0;
}

.hero-title {
    font-size: clamp(2.5rem, 5.2vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: var(--tracking-display);
    margin-bottom: var(--space-5);
    /* egyedi: */
    max-width: 660px;
    padding-top: 3vw;
}

/* egyedi: */
.hero-title-lead {
    max-width: 860px;
    font-size: 20px;
}
@media (max-width: 524px) {
    .hero-title-lead {
        color: black;
    }
}
@media (max-width: 768px) {
    .mobil-white {
        color: white !important;
        background-color: #082848;
        border-color: #082848;
    }
    .mobil-white:hover {
        color: white !important;
        background-color: #175697;
        border-color: #082848;
    }

}

    .hero-stats { border-top: 1px solid var(--border); }
    .hero-stats li { display: flex; flex-direction: column; gap: 2px; }
    .hero-stats .stat-num { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--fg); }
    .hero-stats .stat-label { font-size: var(--text-sm); color: var(--muted); }

    .hero-card {
        background: var(--bg);
        border: 1px solid var(--border);
        border-radius: var(--radius-md);
        padding: var(--space-6);
        box-shadow: var(--elev-raised);
    }

    .hero-card h2 { margin-bottom: var(--space-2); }

    /* ─── Szekció ritmus ──────────────────────────────────────────────────── */
    .section { padding: var(--section-y-desktop) 0 0 0; }

    .surface-band { background: var(--surface-warm); border-block: 1px solid var(--border); }

    /* ─── Kártyák ─────────────────────────────────────────────────────────── */
    .card-plain {
        background: var(--bg);
        border: 1px solid var(--border-soft);
        border-radius: var(--radius-md);
        padding: var(--space-6);
        height: 100%;
        transition: box-shadow var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard);
    }

    .card-plain:hover {
        box-shadow: var(--elev-raised);
        transform: translateY(-2px);
    }

    .icon-chip {
        width: 44px;
        height: 44px;
        border-radius: var(--radius-sm);
        background: rgba(8, 88, 168, 0.08);
        color: var(--accent);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .icon-chip--teal { background: rgba(8, 152, 152, 0.1); color: var(--brand-teal); }
    .icon-chip--green { background: rgba(56, 168, 88, 0.12); color: #2c7d4f; }

    /* Hírkártya */
    .news-card { display: flex; flex-direction: column; gap: var(--space-3); }
    .news-meta { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm); color: var(--meta); margin-bottom:5px;}

    .chip {
        display: inline-block;
        font-size: var(--text-xs);
        font-weight: 500;
        letter-spacing: 0.02em;
        padding: 3px 10px;
        border-radius: var(--radius-pill);
        background: var(--surface);
        color: var(--fg-2);
    }

    .chip--blue  { background: rgba(8, 88, 168, 0.1);  color: var(--accent); }
    .chip--teal  { background: rgba(8, 152, 152, 0.12); color: var(--brand-teal); }
    .chip--green { background: rgba(56, 168, 88, 0.14); color: #2c7d4f; }

    /* Publikációs lista */
    .pub-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }

    .pub-list li {
        border-bottom: 1px solid var(--border);
        padding: var(--space-5) 0;
    }

    .pub-list .pub-title { font-weight: 600; font-size: var(--text-base); margin-bottom: 2px; }
    .pub-list .pub-meta { font-size: var(--text-sm); color: var(--meta); display: flex; gap: var(--space-3); flex-wrap: wrap; }

    /* Podcast / CTA sávok */
    .podcast-band, .cta-band {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-6);
        flex-wrap: wrap;
        padding: var(--space-8);
        border-radius: var(--radius-lg);
    }

    .podcast-band { background: var(--brand-navy); }

    .cta-band {
        background: var(--surface-warm);
        border: 1px solid var(--border);
    }

    .podcast-hero {
        background: var(--brand-navy);
        border-radius: var(--radius-lg);
        overflow: hidden;
        height: 100%;
    }

    .podcast-hero-body {
        padding: var(--space-8);
    }

    /* ─── Oldalhero (aloldalak) ───────────────────────────────────────────── */
    .page-hero {
        background: var(--surface-warm);
        border-bottom: 1px solid var(--border);
        padding: var(--space-12) 0;
    }

    .breadcrumb { margin-bottom: var(--space-5); font-size: var(--text-sm); }
    .breadcrumb-item a { color: var(--muted); text-decoration: none; }
    .breadcrumb-item a:hover { color: var(--accent); }
    .breadcrumb-item.active { color: var(--fg); }

    .page-hero h1 { font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.12; margin-bottom: var(--space-4); }
    .page-hero .lead { max-width: 62ch; margin-bottom: 0; }

    /* ─── Munkatárs kártyák ───────────────────────────────────────────────── */
    .avatar {
        width: 56px;
        height: 56px;
        border-radius: var(--radius-pill);
        background: var(--brand-navy);
        color: #fff;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: var(--text-xl);
        flex-shrink: 0;
    }

    /* ─── Szűrő gombok ────────────────────────────────────────────────────── */
    .filter-group .filter-btn {
        border: 1px solid var(--border);
        background: var(--bg);
        color: var(--fg-2);
        border-radius: var(--radius-pill);
        padding: var(--space-2) var(--space-5);
        font-size: var(--text-sm);
        font-weight: 500;
        transition: all var(--motion-fast) var(--ease-standard);
    }
    .filter-group .filter-btn:hover { border-color: var(--fg); }
    .filter-group .filter-btn.active { background: var(--brand-navy); border-color: var(--brand-navy); color: #fff; }

    /* ─── Lépések (idővonal) ──────────────────────────────────────────────── */
    .steps { list-style: none; margin: 0; padding: 0; counter-reset: step; }
    .steps li { position: relative; padding-left: 56px; padding-bottom: var(--space-6); counter-increment: step; }
    .steps li::before {
        content: counter(step, decimal-leading-zero);
        position: absolute;
        left: 0; top: 0;
        width: 36px; height: 36px;
        display: inline-flex; align-items: center; justify-content: center;
        border-radius: var(--radius-pill);
        background: rgba(8, 88, 168, 0.08);
        color: var(--accent);
        font-weight: 600;
        font-size: var(--text-sm);
    }

    /* ─── Podcast lista ───────────────────────────────────────────────────── */
    .episode-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--space-6);
        padding: var(--space-5) 0;
        border-bottom: 1px solid var(--border);
        flex-wrap: wrap;
    }
    .episode-item:last-child { border-bottom: 0; }
    .episode-item .ep-num { color: var(--meta); font-size: var(--text-sm); }
    .episode-item .ep-title { font-weight: 600; margin-bottom: 2px; }
    .episode-item .ep-meta { font-size: var(--text-sm); color: var(--meta); }

    .btn-play {
        width: 44px; height: 44px;
        border-radius: var(--radius-pill);
        border: 1px solid var(--border);
        background: var(--bg);
        color: var(--fg);
        display: inline-flex; align-items: center; justify-content: center;
        transition: all var(--motion-fast) var(--ease-standard);
    }
    .btn-play:hover { background: var(--brand-navy); border-color: var(--brand-navy); color: #fff; }

    .episode-open {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        color: var(--accent);
        font-weight: 500;
        font-size: var(--text-sm);
        text-decoration: none;
        padding: var(--space-2) var(--space-3);
        border-radius: var(--radius-pill);
        border: 1px solid transparent;
        white-space: nowrap;
        transition: color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);
    }

    .episode-open:hover {
        color: var(--accent-hover);
        background: rgba(8, 88, 168, 0.06);
        border-color: rgba(8, 88, 168, 0.12);
    }


    /* ─── Táblázat (módszertan) ───────────────────────────────────────────── */
    .table-method th, .table-method td { border-color: var(--border); vertical-align: middle; }
    .table-method thead th {
        font-size: var(--text-sm);
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: var(--muted);
        border-bottom-width: 1px;
    }

    /* ─── Űrlap ───────────────────────────────────────────────────────────── */
    .form-control, .form-select {
        border-color: var(--border);
        border-radius: var(--radius-sm);
        /*padding: 0.75rem 0.875rem;*/
        padding: 0.375rem 0.75rem;
        font-size: var(--text-base);
    }
    .form-control:focus, .form-select:focus {
        border-color: var(--accent);
        box-shadow: var(--focus-ring);
    }
    .form-label { font-weight: 500; font-size: var(--text-sm); }
    .form-check-input:checked { background-color: var(--accent); border-color: var(--accent); }

    /* ─── Lábléc ──────────────────────────────────────────────────────────── */
    .site-footer {
        background: var(--brand-navy);
        color: rgba(255, 255, 255, 0.72);
        padding-top: var(--space-16);
        font-size: var(--text-sm);
        flex-shrink: 0;
    }

    .footer-spacer {
        flex-grow: 1;
        min-height: 0;
        background: var(--brand-under);
    }

    .site-footer h2, .site-footer h3, .site-footer h4 { color: #fff; }

    .footer-heading {
        font-size: var(--text-xs);
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.55);
        margin-bottom: var(--space-5);
    }

    .partner-chip {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: var(--radius-pill);
        padding: var(--space-2) var(--space-4);
        color: #fff;
        font-weight: 500;
        font-size: var(--text-sm);
        background: rgba(255, 255, 255, 0.04);
    }

    .partner-logo {
        display: inline-flex;
        border-radius: var(--radius-sm);
        overflow: hidden;
        line-height: 0;
        transition: transform var(--motion-base) var(--ease-standard), filter var(--motion-base) var(--ease-standard);
    }

    .partner-logo:hover {
        transform: translateY(-2px);
        filter: brightness(1.08);
    }

    .partner-logo svg {
        display: block;
    }
    .footer-link {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        color: rgba(255, 255, 255, 0.72);
        text-decoration: none;
        transition: color var(--motion-fast) var(--ease-standard);
    }
    .footer-link:hover { color: #fff; }

    .footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        margin-top: var(--space-12);
        padding: var(--space-6) 0;
        color: rgba(255, 255, 255, 0.45);
        font-size: var(--text-sm);
    }

    /* ─── Vissza a tetejére ───────────────────────────────────────────────── */
    .to-top {
        position: fixed;
        right: var(--space-6);
        bottom: var(--space-6);
        width: 44px; height: 44px;
        border-radius: var(--radius-pill);
        border: 1px solid var(--border);
        background: var(--bg);
        color: var(--fg);
        display: none;
        align-items: center; justify-content: center;
        box-shadow: var(--elev-raised);
        z-index: 1040;
    }
    .to-top.show { display: inline-flex; }
    .to-top:hover { background: var(--brand-navy); border-color: var(--brand-navy); color: #fff; }

    /* ─── Toast ───────────────────────────────────────────────────────────── */
    .od-toast {
        position: fixed;
        left: 50%;
        bottom: var(--space-6);
        transform: translate(-50%, 16px);
        background: var(--brand-navy);
        color: #fff;
        border-radius: var(--radius-pill);
        padding: var(--space-3) var(--space-6);
        font-size: var(--text-sm);
        font-weight: 500;
        box-shadow: 0 12px 32px rgba(8, 40, 72, 0.25);
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard);
        z-index: 1060;
        max-width: min(92vw, 480px);
        text-align: center;
    }
    .od-toast.show { opacity: 1; transform: translate(-50%, 0); }

    /* ─── Térkép helyettesítő ─────────────────────────────────────────────── */
    .map-ph { border-radius: var(--radius-md); border: 1px dashed var(--border); }

    /* ─── Reszponzivitás ──────────────────────────────────────────────────── */
    @media (max-width: 991.98px) {
        .section { padding: var(--section-y-tablet) 0 0 0; }
    }

    @media (max-width: 575.98px) {
        .section { padding: var(--section-y-phone) 0 0 0; }
        /*.hero { padding: var(--space-12) 0 var(--space-8); }*/
        .hero { padding: 0; }
        .podcast-band, .cta-band { padding: var(--space-6); }
    }

section.page-header p {
    text-align: justify;
    line-height: 150%;
}

section.content-section p {
    text-align: justify;
    line-height: 150%;
}

.container {
    padding-left: 18px;
}

/* --- Munkatarsak: hierarchikus csoportok --- */
.team-hierarchy { display: flex; flex-direction: column; gap: var(--space-8); }

.team-level { position: relative; }

.team-level-head {
    display: flex;
    align-items: flex-start;
    gap: var(--space-5);
    margin-bottom: var(--space-6);
}

.team-level-title { font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin-bottom: 0; }

.team-level-count {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border);
    background: var(--bg);
    color: var(--accent);
    font-size: var(--text-sm);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.team-level-count::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    width: 2px;
    height: var(--space-5);
    background: var(--border);
    transform: translateX(-50%);
}

.team-level-count--navy { background: var(--brand-navy); border-color: var(--brand-navy); color: #fff; }
.team-level-count--teal { background: var(--brand-teal); border-color: var(--brand-teal); color: #fff; }
.team-level-count--meta { border-color: var(--border); border-style: dashed; color: var(--meta); }

.leader-card {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    background: var(--brand-navy);
    border-radius: var(--radius-lg);
    padding: var(--space-12) var(--space-8);
    color: rgba(255, 255, 255, 0.78);
    box-shadow: var(--elev-raised);
}

.leader-card h3 { color: #fff; font-family: var(--font-display); font-weight: 400; letter-spacing: var(--tracking-display); margin-bottom: 4px; }

.leader-card__role {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    margin-bottom: var(--space-3);
}

.leader-card__desc { font-size: var(--text-base); color: rgba(255, 255, 255, 0.66); max-width: 46ch; }

.member-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    height: 100%;
    background: var(--surface-warm);
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-md);
    padding: var(--space-6);
    transition: box-shadow var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard);
}

.member-card:hover {
    box-shadow: var(--elev-raised);
    transform: translateY(-2px);
    border-color: var(--border);
}

.member-card--teal { border-color: rgba(8, 152, 152, 0.28); }
.member-card--teal:hover { border-color: var(--brand-teal); }

.member-card h3 { margin-bottom: 2px; }
.member-card .avatar { box-shadow: var(--elev-ring); }

.team-role {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--accent);
}

.avatar--lg { width: 96px; height: 96px; font-size: 2rem; background: var(--brand-blue); }
.avatar--teal { background: var(--brand-teal); }
.avatar--placeholder { background: transparent; border: 1.5px dashed var(--border); color: var(--meta); }

.external-band {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-5);
    text-align: center;
    border: 1.5px dashed var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface-warm);
    padding: var(--space-12) var(--space-8);
}

.avatar-row { display: flex; align-items: center; gap: var(--space-4); }

.external-band__note { max-width: 54ch; margin-left: auto; margin-right: auto; }