/*
Theme Name:		 PannonVizThemeChild
Theme URI:		 https://www.pannon-viz.hu/
Description:	 PANNON-VÍZ Zrt. weboldalának gyermektémája (a PannonVizTheme alaptémára épül). Akadálymentes (WCAG 2.1 AA) színekkel, fluid tipográfiával.
Author:			 Different
Template:		 PannonVizTheme
Version:		 2.0.0
Text Domain:	 pannonviz-child
*/

/* ==========================================================================
   1. DESIGN TOKENEK
   Kontraszt (WCAG AA): --pv-link #006B9E fehéren 5.8:1, --pv-blue-700 7.9:1,
   --pv-muted 7.5:1, --pv-sky a sötétkék háttereken 6.6:1.
   Az eredeti márkatürkiz (--pv-aqua, 3.3:1) csak dekorációra használható, szövegre nem.
   ========================================================================== */

:root {
    /* Márkaszínek */
    --pv-blue-900: #003B73;
    --pv-blue-800: #004586;
    --pv-blue-700: #00509D;
    --pv-link: #006B9E;
    --pv-aqua: #0097D3;
    --pv-sky: #7DD3F5;
    --pv-mist: #CFE8F7;

    /* Semleges színek */
    --pv-white: #FFFFFF;
    --pv-surface: #F3F6FA;
    --pv-surface-2: #E8EEF5;
    --pv-line: #D5DDE8;
    --pv-field-border: #7A879B; /* beviteli mezők kerete: fehéren 3,6:1 (WCAG 2.1 – 1.4.11 nem szöveges kontraszt) */
    --pv-ink: #0F1E33;
    --pv-muted: #475569;

    /* Tipográfia */
    --pv-font-display: 'Bricolage Grotesque', 'Plus Jakarta Sans', system-ui, sans-serif;
    --pv-font-body: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

    /* Formák és mozgás */
    --pv-radius-sm: 12px;
    --pv-radius: 20px;
    --pv-radius-lg: 32px;
    --pv-shadow-sm: 0 1px 2px rgba(15, 30, 51, .06), 0 2px 8px rgba(15, 30, 51, .04);
    --pv-shadow: 0 2px 4px rgba(15, 30, 51, .04), 0 12px 32px -8px rgba(0, 69, 134, .18);
    --pv-shadow-lg: 0 24px 64px -16px rgba(0, 69, 134, .32);
    --pv-ease: cubic-bezier(.2, .8, .2, 1);
    --pv-focus: 0 0 0 3px var(--pv-white), 0 0 0 6px var(--pv-link);

    /* Visszafelé kompatibilis nevek (widgetek / oldaltartalom hivatkozhat rájuk) */
    --white: var(--pv-white);
    --grayest: var(--pv-surface);
    --gray: var(--pv-line);
    --dark-gray: var(--pv-muted);
    --black: var(--pv-ink);
    --darkest-blue: var(--pv-blue-900);
    --darker-blue: var(--pv-blue-800);
    --dark-blue: var(--pv-blue-700);
    --lighter-blue: var(--pv-mist);
    --aqua-blue: var(--pv-link);
}

/* ==========================================================================
   2. ALAPOK
   ========================================================================== */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 7rem; /* horgonyok ne kerüljenek a ragadós fejléc alá */
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--pv-font-body);
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--pv-ink);
    background-color: var(--pv-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

input, button, select, textarea {
    font-family: inherit;
}

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

::selection {
    background: var(--pv-mist);
    color: var(--pv-ink);
}

/* Címsorok */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--pv-font-display);
    font-weight: 700;
    color: var(--pv-blue-700);
    line-height: 1.12;
    letter-spacing: -.02em;
    margin: 0 0 .6em;
    text-wrap: balance;
}

h1 { font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem); font-weight: 800; }
h2 { font-size: clamp(1.75rem, 1.25rem + 2vw, 3rem); }
h3 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.1rem); }
h4 { font-size: clamp(1.2rem, 1.05rem + .6vw, 1.6rem); }
h5 { font-size: 1.15rem; }
h6 { font-size: 1rem; letter-spacing: 0; }

p {
    margin: 0 0 1.1em;
    text-wrap: pretty;
}

strong, b { font-weight: 700; }

/* Linkek – tartalomban aláhúzva, hogy ne csak a szín különböztesse meg őket (WCAG 1.4.1) */
a {
    color: var(--pv-link);
    text-decoration-thickness: .08em;
    text-underline-offset: .2em;
    transition: color .2s var(--pv-ease), background-color .2s var(--pv-ease);
}

a:hover {
    color: var(--pv-blue-900);
    text-decoration: none; /* hoverre sehol nincs aláhúzás (a Bootstrap alapból tenne) */
}

.btn-link:hover,
.btn-link:focus {
    text-decoration: none;
}

.entry-content a:not(.btn),
.archive-description a,
.no-results a,
.error-404 a:not(.btn),
.widget_text a {
    text-decoration: underline;
}

/* Listák */
ul, ol {
    padding-left: 1.5rem;
    margin: 0 0 1.1em;
}

li { margin: .35em 0; }

li::marker { color: var(--pv-link); }

/* Egyértelmű, jól látható fókuszjelzés billentyűzetes navigációhoz (WCAG 2.4.7) */
:focus { outline: none; }

:focus-visible {
    outline: 3px solid var(--pv-link);
    outline-offset: 3px;
    border-radius: 6px;
}

/* Böngészők, amelyek nem ismerik a :focus-visible-t */
@supports not selector(:focus-visible) {
    :focus {
        outline: 3px solid var(--pv-link);
        outline-offset: 3px;
    }
}

[tabindex="-1"]:focus,
[tabindex="-1"]:focus-visible {
    outline: none;
}

/* Skip link */
.skip-link.screen-reader-text:focus {
    position: fixed !important;
    top: 1rem;
    left: 1rem;
    z-index: 100000;
    clip: auto !important;
    clip-path: none;
    width: auto;
    height: auto;
    padding: .9rem 1.4rem;
    background: var(--pv-blue-900);
    color: var(--pv-white);
    font-weight: 700;
    font-size: 1rem;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: var(--pv-shadow-lg);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pv-link);
    margin-bottom: 1rem;
}

.eyebrow::before {
    content: '';
    width: 1.75rem;
    height: 3px;
    border-radius: 3px;
    background: var(--pv-aqua);
}

/* ==========================================================================
   3. GOMBOK
   ========================================================================== */

.btn {
    font-weight: 700;
    border-radius: 999px;
    transition: background-color .25s var(--pv-ease), color .25s var(--pv-ease),
                box-shadow .25s var(--pv-ease), transform .25s var(--pv-ease);
}

.btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    min-height: 48px;
    padding: .75rem 1.75rem;
    background-color: var(--pv-link);
    border: 0;
    color: var(--pv-white);
    box-shadow: 0 10px 24px -10px rgba(0, 107, 158, .7);
    cursor: pointer;
}

.btn.btn-primary:hover {
    background-color: var(--pv-blue-800);
    color: var(--pv-white);
    transform: translateY(-2px);
    box-shadow: 0 16px 32px -12px rgba(0, 69, 134, .7);
}

.btn.btn-primary:focus,
.btn.btn-primary:not(:disabled):not(.disabled):active:focus {
    background-color: var(--pv-blue-800);
    box-shadow: var(--pv-focus);
}

.btn.btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--pv-blue-900);
    transform: translateY(0);
}

.btn-lg {
    min-height: 56px;
    padding: .9rem 2rem;
    font-size: 1.0625rem;
}

/* "További hírek" gomb (oldaltartalomban használt osztály): ikon + felirat, hoverre
   ugyanúgy viselkedik, mint a többi elsődleges gomb (sötétebb szín, enyhe emelkedés). */
.btn.btn-primary.hirek-button {
    min-width: 230px;
    min-height: 64px;
}

.btn.btn-primary.hirek-button::before {
    content: '';
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    background: url('img/menu.svg') no-repeat center / contain;
}

.btn.btn-primary.hirek-button span {
    font-size: 1.0625rem;
    font-weight: 700;
}

/* ==========================================================================
   4. FELSŐ SÁV (elérhetőségek)
   ========================================================================== */

.top-head {
    background-color: var(--pv-surface);
    border-bottom: 1px solid var(--pv-line);
    font-size: .875rem;
}

.top-head-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .25rem 1rem;
    padding: .375rem 0;
}

.top-head-group {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.top-head-group li { margin: 0; }

.top-head .top-head-element {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 40px;
    padding: .375rem .875rem;
    border-radius: 999px;
    color: var(--pv-blue-700);
    font-weight: 600;
    text-decoration: none;
}

.top-head .top-head-element i {
    color: var(--pv-link);
    font-size: .875em;
}

.top-head .top-head-element:hover {
    background-color: var(--pv-white);
    color: var(--pv-blue-900);
    box-shadow: var(--pv-shadow-sm);
}

.top-head .top-head-label {
    font-weight: 500;
    color: var(--pv-muted);
}

/* Gyengénlátó nézet kapcsoló (sárga, három pöttyös ikon) */
.a11y-toggle {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    transition: background-color .2s var(--pv-ease);
}

.a11y-toggle img {
    width: 28px;
    height: 28px;
}

.a11y-toggle:hover {
    background: var(--pv-white);
}

.a11y-toggle:focus-visible {
    outline: none;
    box-shadow: var(--pv-focus);
}

/* ==========================================================================
   GYENGÉNLÁTÓ NÉZET (html.a11y-contrast) – az éles oldal mintájára: fekete háttér,
   fehér szöveg, sárga linkek és címek, nagyobb betű. A Széchenyi 2020 infóblokk
   és a képek változatlanok maradnak.
   ========================================================================== */

html.a11y-contrast {
    font-size: 112.5%;
}

/* :where() → nulla specificitás, hogy a lenti (sárga link/cím) szabályok felülírhassák */
html.a11y-contrast body :where(*:not(img, svg, path, .funding-block, .funding-block *)) {
    background-color: #000 !important;
    background-image: none !important;
    color: #fff !important;
    border-color: #fff !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html.a11y-contrast body {
    background: #000 !important;
}

html.a11y-contrast body a,
html.a11y-contrast body a *,
html.a11y-contrast body button,
html.a11y-contrast body button *,
html.a11y-contrast body summary,
html.a11y-contrast body h1,
html.a11y-contrast body h2,
html.a11y-contrast body h3,
html.a11y-contrast body h4,
html.a11y-contrast body h5,
html.a11y-contrast body h6,
html.a11y-contrast body .the-date,
html.a11y-contrast body i {
    color: #fff200 !important;
}

html.a11y-contrast body a {
    text-decoration: underline !important;
}

html.a11y-contrast body .btn,
html.a11y-contrast body .store-btn,
html.a11y-contrast body .aside-action,
html.a11y-contrast body .doc-download,
html.a11y-contrast body .search-submit,
html.a11y-contrast body .featured-btn,
html.a11y-contrast body .doc-chip,
html.a11y-contrast body .a11y-toggle,
html.a11y-contrast body .news-wrapper,
html.a11y-contrast body .aside-box,
html.a11y-contrast body .doc-item,
html.a11y-contrast body .card,
html.a11y-contrast body .featured-track,
html.a11y-contrast body .form-control {
    border: 2px solid #fff200 !important;
}

html.a11y-contrast body :focus-visible {
    outline: 3px solid #fff200 !important;
    outline-offset: 3px !important;
}

/* A logó (kék rajz) fehér alapon látható */
html.a11y-contrast body .navbar-brand,
html.a11y-contrast body .navbar-brand * {
    background-color: #fff !important;
}

html.a11y-contrast body .navbar-brand {
    padding: .35rem .6rem;
    border-radius: 8px;
}

/* Elmosott képhátterek, díszítő pszeudo-elemek ki */
html.a11y-contrast body .media-contain::before,
html.a11y-contrast body .featured-media::after {
    display: none !important;
}

html.a11y-contrast body .featured-dot::before {
    background: #fff !important;
}

html.a11y-contrast body .featured-dot[aria-current="true"]::after {
    background: #fff200 !important;
}

html.a11y-contrast body .a11y-toggle[aria-pressed="true"] {
    outline: 3px solid #fff200;
}

/* ==========================================================================
   5. FEJLÉC ÉS NAVIGÁCIÓ
   ========================================================================== */

header#masthead {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0px);
    z-index: 1030;
    padding: 0;
    background-color: rgba(255, 255, 255, .86);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    backdrop-filter: saturate(180%) blur(16px);
    border-bottom: 1px solid transparent;
    box-shadow: none;
    transition: box-shadow .3s var(--pv-ease), border-color .3s var(--pv-ease);
}

header#masthead.is-scrolled {
    border-bottom-color: var(--pv-line);
    box-shadow: 0 8px 32px -16px rgba(0, 59, 115, .25);
}

/* A fejléc magassága görgetéskor NEM változik: a ragadós fejléc a normál elrendezésben van,
   így a magasságváltozás eltolná a tartalmat, és a görgetési küszöb körül "ugrálna". */
header#masthead .navbar {
    min-height: 96px;
    padding: .75rem 0;
}

header#masthead .navbar-brand {
    padding: .25rem 0;
    margin-right: 2rem;
    border-radius: var(--pv-radius-sm);
}

header#masthead .navbar-brand .header-logo {
    display: block;
    width: clamp(200px, 22vw, 280px);
    height: auto;
    transform-origin: left center;
    transition: transform .3s var(--pv-ease);
}

/* Csak vizuális kicsinyítés (transform): nem hat az elrendezésre */
header#masthead.is-scrolled .navbar-brand .header-logo {
    transform: scale(.85);
}

/* Főmenü linkek */
body:not(.theme-preset-active) header#masthead .navbar-nav > li > a,
header#masthead .navbar-nav .nav-link {
    display: flex;
    align-items: center;
    gap: .35rem;
    min-height: 44px;
    padding: .5rem 1rem;
    border-radius: 999px;
    color: var(--pv-blue-700);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
}

/* body:not(...) előtag: a szülőtéma azonos szelektora fehérre állítaná a hover színt */
body:not(.theme-preset-active) header#masthead .navbar-nav > li > a:hover,
body:not(.theme-preset-active) header#masthead .navbar-nav > li:focus-within > a,
body:not(.theme-preset-active) header#masthead .navbar-nav > li.show > a {
    background-color: var(--pv-surface);
    color: var(--pv-blue-900);
}

body:not(.theme-preset-active) header#masthead .navbar-nav > li.current-menu-item > a,
body:not(.theme-preset-active) header#masthead .navbar-nav > li.current_page_item > a,
body:not(.theme-preset-active) header#masthead .navbar-nav > li.current-menu-ancestor > a,
body:not(.theme-preset-active) header#masthead .navbar-nav > li.active > a {
    background-color: var(--pv-mist);
    color: var(--pv-blue-900);
}

header#masthead .navbar-nav .nav-item {
    margin: 0 .125rem;
}

/* Legördülő menük */
.dropdown-toggle::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    border: 0;
    font-size: .625rem;
    color: var(--pv-link);
    margin: 0;
    vertical-align: middle;
    transition: transform .25s var(--pv-ease);
}

.show > .dropdown-toggle::after,
.menu-item-has-children:hover > .dropdown-toggle::after {
    transform: rotate(180deg);
}

.navbar-nav .dropdown-menu {
    margin: 0;
    padding: .5rem;
    border: 1px solid var(--pv-line);
    border-radius: var(--pv-radius);
    box-shadow: var(--pv-shadow-lg);
    min-width: 15rem;
}

.dropdown-menu .dropdown-item {
    display: block;
    padding: .65rem 1rem;
    border-radius: var(--pv-radius-sm);
    color: var(--pv-blue-700);
    font-weight: 600;
    white-space: normal;
    text-decoration: none;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .current-menu-item > .dropdown-item {
    background-color: var(--pv-surface);
    color: var(--pv-blue-900);
}

.dropdown-menu .dropdown-item:active {
    background-color: var(--pv-mist);
}

/* Harmadik szintű almenü nyila: a szülőtéma hoverre fehérre színezné */
.dropdown.menu-item-has-children .dropdown.menu-item-has-children:hover > a:after,
.dropdown.menu-item-has-children .dropdown.menu-item-has-children > a:after {
    border-left-color: var(--pv-link);
}

/* Mobil menügomb */
.navbar-toggler {
    position: relative;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background-color: var(--pv-surface);
}

.navbar-toggler:hover { background-color: var(--pv-surface-2); }

.navbar-toggler:focus { outline: none; }

.navbar-toggler:focus-visible { box-shadow: var(--pv-focus); }

.navbar-toggler-bar,
.navbar-toggler-bar::before,
.navbar-toggler-bar::after {
    position: absolute;
    left: 50%;
    width: 22px;
    height: 2px;
    margin-left: -11px;
    border-radius: 2px;
    background-color: var(--pv-blue-800);
    transition: transform .3s var(--pv-ease), opacity .2s linear;
}

.navbar-toggler-bar { top: 50%; margin-top: -1px; }
.navbar-toggler-bar::before,
.navbar-toggler-bar::after { content: ''; left: 0; margin-left: 0; }
.navbar-toggler-bar::before { transform: translateY(-7px); }
.navbar-toggler-bar::after { transform: translateY(7px); }

.navbar-toggler[aria-expanded="true"] .navbar-toggler-bar { background-color: transparent; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-bar::before { transform: rotate(45deg); }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-bar::after { transform: rotate(-45deg); }

/* Kereső */
.search-form { margin: 0; }

.search-field-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.search-form .search-field.form-control {
    height: 48px;
    padding: .5rem 3.25rem .5rem 1.25rem;
    border: 1.5px solid var(--pv-field-border);
    border-radius: 999px;
    background-color: var(--pv-white);
    color: var(--pv-ink);
    font-size: 1rem;
    font-weight: 500;
    transition: border-color .2s var(--pv-ease), box-shadow .2s var(--pv-ease);
}

.search-form .search-field.form-control::placeholder {
    color: var(--pv-muted);
    opacity: 1;
}

.search-form .search-field.form-control:hover {
    border-color: var(--pv-blue-700);
}

.search-form .search-field.form-control:focus {
    border-color: var(--pv-link);
    box-shadow: 0 0 0 4px rgba(0, 107, 158, .2);
}

.search-form .search-submit {
    position: absolute;
    right: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background-color: var(--pv-link);
    color: var(--pv-white);
    cursor: pointer;
    transition: background-color .2s var(--pv-ease);
}

.search-form .search-submit:hover { background-color: var(--pv-blue-800); }

.search-form .search-submit:focus-visible { box-shadow: var(--pv-focus); outline: none; }

header#masthead .search-form {
    width: 15rem;
    margin-left: 1rem;
}

/* Desktop: hover és billentyűzetes fókusz is kinyitja az almenüt */
@media (min-width: 1200px) {
    #main-nav {
        justify-content: flex-end;
    }

    .menu-item-has-children:hover > .dropdown-menu,
    .menu-item-has-children:focus-within > .dropdown-menu {
        display: block;
    }

    /* Esc-kel bezárt almenü (js/script.js) – amíg az egér / fókusz el nem hagyja */
    .menu-item-has-children.is-dismissed > .dropdown-menu {
        display: none;
    }

    .navbar-nav .dropdown-menu {
        animation: pv-drop .22s var(--pv-ease);
    }

    .dropdown-menu .menu-item-has-children > .dropdown-menu {
        top: -.5rem;
        left: 100%;
    }
}

@keyframes pv-drop {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}

/* ==========================================================================
   6. TARTALOM
   ========================================================================== */

#content.site-content {
    padding: 0;
}

.page-wrap {
    padding: clamp(2.5rem, 2rem + 4vw, 6rem) 0 clamp(1.5rem, 1rem + 1vw, 2rem); /* alul kevesebb: utána az app-sáv / lábléc saját térköze jön */
}

/* Breadcrumb */
.pv-breadcrumb {
    padding: .25rem 0 0;
    font-size: .875rem;
}

.pv-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pv-breadcrumb li {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin: 0;
    min-width: 0;
}

.pv-breadcrumb li + li::before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: .5625rem;
    color: var(--pv-muted);
    margin: 0 .35rem;
}

.pv-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 32px;
    padding: .25rem .7rem;
    border-radius: 999px;
    color: var(--pv-link);
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s var(--pv-ease), color .2s var(--pv-ease);
}

.pv-breadcrumb li:first-child a {
    margin-left: -.7rem; /* a szöveg igazodjon a tartalom bal széléhez */
}

.pv-breadcrumb a:hover {
    background: var(--pv-surface);
    color: var(--pv-blue-900);
    text-decoration: none;
}

.pv-breadcrumb [aria-current="page"] {
    display: block;
    padding: .25rem .7rem;
    color: var(--pv-muted);
    font-weight: 500;
    max-width: 42ch;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pv-breadcrumb ~ #content .page-wrap {
    padding-top: clamp(1rem, .75rem + 1vw, 1.75rem);
}

@media (max-width: 575.98px) {
    .pv-breadcrumb [aria-current="page"] {
        max-width: 22ch;
    }
}

.page-header {
    margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem);
    max-width: 52rem;
}

.page-header .page-title {
    margin-bottom: .5rem;
}

.page-header .search-form {
    max-width: 32rem;
    margin-top: 1.5rem;
}

.archive-description {
    color: var(--pv-muted);
    font-size: 1.125rem;
}

.entry-content {
    font-size: 1.0625rem;
}

.entry-content p,
.entry-content li {
    font-size: 1.125rem;
    line-height: 1.6;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
    margin-top: 1.5em;
}

.entry-content > :first-child,
.entry-content .panel-grid:first-child .widget:first-child > :first-child {
    margin-top: 0;
}

/* Oldaltartalom H1: "kiemelő filc" hatás a régi aláhúzó csík helyett */
.entry-content h1 {
    text-decoration: underline;
    text-decoration-color: var(--pv-mist);
    text-decoration-thickness: .3em;
    text-underline-offset: -.14em;
    text-decoration-skip-ink: none;
}

.entry-content img {
    border-radius: var(--pv-radius);
}

.entry-content blockquote {
    margin: 2rem 0;
    padding: 1.5rem 1.75rem;
    border-left: 4px solid var(--pv-aqua);
    border-radius: 0 var(--pv-radius) var(--pv-radius) 0;
    background: var(--pv-surface);
    font-size: 1.2rem;
}

.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 1rem;
}

.entry-content th,
.entry-content td {
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--pv-line);
    text-align: left;
}

.entry-content th {
    background: var(--pv-surface);
    color: var(--pv-blue-900);
    font-weight: 700;
}

/* Harmonika / kártyák (oldaltartalomban) */
.card {
    border: 1px solid var(--pv-line);
    border-radius: var(--pv-radius) !important;
    overflow: hidden;
    margin-bottom: .75rem;
}

.card .card-header {
    background: var(--pv-white);
    border: 0;
    padding: .25rem .5rem;
}

/* A kérdés címsora ne hozzon a cikkszöveg térközéből */
.card .card-header h1,
.card .card-header h2,
.card .card-header h3,
.card .card-header h4,
.card .card-header h5,
.card .card-header h6 {
    margin: 0;
    font-size: inherit;
}

/* Kérdés: függőlegesen középre zárt szöveg, jobb szélen nyíl, ami nyitáskor megfordul */
.card .btn-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    min-height: 56px;
    padding: .9rem 1rem;
    color: var(--pv-blue-700);
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.4;
    text-decoration: none;
    text-align: left;
    white-space: normal;
    border-radius: var(--pv-radius-sm);
}

.card .btn-link br {
    display: none; /* a régi tartalom a kérdések végére sortörést tett – üres sort okozott */
}

.card .btn-link::after {
    content: "\f078";
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--pv-surface);
    color: var(--pv-link);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: .75rem;
    transition: transform .25s var(--pv-ease), background-color .2s var(--pv-ease);
}

.card .btn-link[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

.card .btn-link:hover::after {
    background: var(--pv-mist);
}

.card .btn-link:hover {
    color: var(--pv-blue-900);
    background: var(--pv-surface);
    text-decoration: none;
}

.card .btn-link:focus {
    box-shadow: var(--pv-focus);
    text-decoration: none;
}

.card .card-body {
    padding: 1.25rem 1.5rem 1.75rem;
    color: var(--pv-ink);
    font-size: 1.0625rem;
}

.card-body p { font-size: 1.0625rem; }

/* ==========================================================================
   7. FŐOLDAL – KIEMELT HÍREK ÉS BAL OLDALSÁV
   Asztali nézetben: oldalsáv bal oldalt végig, jobbra a slider és a tartalom.
   Mobilon: slider → oldalsáv → tartalom.
   ========================================================================== */

.home-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "featured"
        "sidebar"
        "content";
    gap: 2rem;
    padding: clamp(.5rem, .25rem + .75vw, 1rem) 0 clamp(1.5rem, 1rem + 1vw, 2rem); /* felül kevés: a logó alatti tér arányos legyen a felette lévővel */
}

.home-featured { grid-area: featured; min-width: 0; }
.home-sidebar  { grid-area: sidebar; min-width: 0; }
.home-content  { grid-area: content; min-width: 0; }

@media (min-width: 992px) {
    .home-layout {
        grid-template-columns: 300px minmax(0, 1fr);
        grid-template-areas:
            "sidebar featured"
            "sidebar content";
        grid-template-rows: auto 1fr;
        column-gap: clamp(2rem, 3vw, 3rem);
    }
}

/* A tartalom (oldalszerkesztő) saját rácsa ne lógjon ki a keskenyebb oszlopból */
.home-content > article {
    padding-left: 0;
    padding-right: 0;
}

/* A tartalom első címsora ne hozzon nagy felső margót (a slider alatt már van térköz) */
.home-content .entry-content {
    margin-top: 0;
}

.home-content .panel-layout > .panel-grid:first-child .so-panel:first-child .textwidget > :first-child,
.home-content .entry-content > :first-child {
    margin-top: 0;
}

/* Az oldalszerkesztő utolsó sorának 100px-es alsó margója helyett a sablon térköze érvényes */
.home-content .panel-layout > .panel-grid:last-child,
.with-sidebar-main .panel-layout > .panel-grid:last-child {
    margin-bottom: 0 !important; /* a SiteOrigin ID-szelektorral (#pg-…) állítja */
}

/* "Friss hírek" cím és a kártyák közti térköz felezése (a SiteOrigin sor 30px-es margója elég) */
.home-content .entry-content h1 {
    margin-bottom: 0;
    padding-bottom: 0;
}

.home-content .panel-grid-cell .container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

/* ---- Kiemelt hírek slider ---- */

/* Lapozó: áttetsző sáv a kép bal alsó sarkában */
.featured-stage {
    position: relative;
}

.featured-pager {
    position: absolute;
    z-index: 3; /* a dia teljes felületű linkje fölött */
    right: 1rem; /* jobb alsó sarok */
    top: calc(220px - 1rem); /* mobilon a kép alja */
    transform: translateY(-100%);
    display: flex;
    align-items: center;
    gap: .125rem;
    padding: .25rem;
    border-radius: 999px;
    background: rgba(0, 43, 85, .72);
    -webkit-backdrop-filter: blur(10px) saturate(160%);
    backdrop-filter: blur(10px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 8px 24px -8px rgba(0, 0, 0, .45);
}

.featured-pager[hidden] {
    display: none;
}

.featured-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--pv-white);
    font-size: .8125rem;
    cursor: pointer;
    transition: background-color .2s var(--pv-ease);
}

.featured-btn:hover {
    background: rgba(255, 255, 255, .18);
}

.featured-btn:focus-visible {
    outline: 2px solid var(--pv-white);
    outline-offset: 1px;
}

/* Fix magasságú sáv: a diák egymásra rétegezve, kereszt-áttűnéssel váltanak.
   Sötét háttér, hogy áttűnés közben se villanjon fehér. */
.featured-track {
    position: relative;
    height: 540px;
    overflow: hidden;
    border-radius: var(--pv-radius-lg);
    background: linear-gradient(135deg, var(--pv-blue-900), var(--pv-blue-700));
    box-shadow: var(--pv-shadow-lg);
    isolation: isolate;
}

.featured-slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 220px minmax(0, 1fr);
    color: var(--pv-white);
    opacity: 0;
    visibility: hidden;
    transition: opacity .9s cubic-bezier(.4, 0, .2, 1), visibility 0s linear .9s;
}

/* JS nélkül csak az első dia látszik */
.featured-slide[hidden] {
    display: none;
}

.featured-slide:first-child,
.featured-slide.is-active {
    opacity: 1;
    visibility: visible;
}

.featured.is-ready .featured-slide:first-child:not(.is-active) {
    opacity: 0;
    visibility: hidden;
}

.featured-slide.is-active {
    z-index: 1;
    transition: opacity .9s cubic-bezier(.4, 0, .2, 1), visibility 0s;
}

.featured-media {
    position: relative;
    background: var(--pv-blue-900);
    overflow: hidden;
}

/* Ken Burns: az aktív dia képe lassan "beközelít" a helyére */
.featured-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.05); /* kis kezdő nagyítás: a plakátok szövege ne vágódjon le */
    transition: transform 0s linear .9s;
}

.featured-slide.is-active .featured-media img,
.featured:not(.is-ready) .featured-slide:first-child .featured-media img {
    transform: scale(1);
    transition: transform 8s cubic-bezier(.2, .6, .2, 1);
}

/* Finom sötétítés a kép és a szövegpanel találkozásánál */
.featured-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 43, 85, .45), transparent 45%);
    pointer-events: none;
}

.featured-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 0;
    min-width: 0; /* hosszú szavas címnél se tolja szét a slidert (lásd .news-body) */
    padding: clamp(1.25rem, 1rem + 1.5vw, 2.5rem);
}

/* A szöveg elemei lépcsőzetesen úsznak be */
.featured-body > * {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .3s ease, transform .3s ease;
}

.featured-slide.is-active .featured-body > *,
.featured:not(.is-ready) .featured-slide:first-child .featured-body > * {
    opacity: 1;
    transform: none;
    transition: opacity .7s var(--pv-ease), transform .7s var(--pv-ease);
}

.featured-slide.is-active .featured-body > :nth-child(1) { transition-delay: .25s; }
.featured-slide.is-active .featured-body > :nth-child(2) { transition-delay: .35s; }
.featured-slide.is-active .featured-body > :nth-child(3) { transition-delay: .45s; }
.featured-slide.is-active .featured-body > :nth-child(4) { transition-delay: .55s; }

.featured-body .the-date {
    background: rgba(255, 255, 255, .14);
    color: var(--pv-white);
}

.featured-slide-title {
    font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem);
    line-height: 1.15;
    margin: 0 0 .75rem;
    color: var(--pv-white);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.featured-slide-title a {
    color: var(--pv-white);
    text-decoration: none;
}

.featured-slide-title a:hover {
    color: var(--pv-white);
}

.featured-slide-title a:focus-visible {
    outline: none;
}

.featured-slide-title a.stretched-link:focus-visible::after {
    outline: 3px solid var(--pv-sky);
    outline-offset: -4px;
    border-radius: var(--pv-radius-lg);
}

.featured-excerpt {
    color: #E6F1FA;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 0 1.25rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.featured-body .news-more {
    color: var(--pv-sky);
}

.featured-slide:hover .news-more i {
    transform: translateX(4px);
}

.featured-dots {
    display: flex;
    align-items: center;
    padding: 0 .125rem;
}

/* A pötty kicsi, de a kattintható terület 24×36px.
   Az aktív pötty kitöltődő sávként mutatja a következő váltásig hátralévő időt. */
.featured-dot {
    position: relative;
    width: 24px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.featured-dot::before,
.featured-dot::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 999px;
    transition: width .3s var(--pv-ease), margin .3s var(--pv-ease), background-color .3s var(--pv-ease);
}

.featured-dot::before {
    background: rgba(255, 255, 255, .55);
}

.featured-dot::after {
    background: var(--pv-white);
    transform: scaleX(0);
    transform-origin: left center;
}

.featured-dot:hover::before {
    background: var(--pv-white);
}

.featured-dot[aria-current="true"] {
    width: 40px;
}

.featured-dot[aria-current="true"]::before,
.featured-dot[aria-current="true"]::after {
    width: 28px;
    margin-left: -14px;
}

.featured-dot[aria-current="true"]::before {
    background: rgba(255, 255, 255, .35);
}

.featured-dot[aria-current="true"]::after {
    transform: scaleX(1);
}

.featured.is-playing .featured-dot[aria-current="true"]::after {
    animation: pv-progress var(--featured-delay, 7s) linear forwards;
}

@keyframes pv-progress {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

.featured-dot:focus-visible {
    outline: none;
}

.featured-dot:focus-visible::before {
    box-shadow: 0 0 0 2px var(--pv-blue-900), 0 0 0 4px var(--pv-white);
}

@media (min-width: 768px) {
    .featured-track {
        height: 420px;
    }

    .featured-slide {
        grid-template-columns: min(420px, 45%) minmax(0, 1fr); /* négyzetes kép (a hírplakátok négyzetesek), a szöveg kapja a többit */
        grid-template-rows: minmax(0, 1fr);
    }

    .featured-excerpt {
        -webkit-line-clamp: 4;
        line-clamp: 4;
    }

    .featured-media::after {
        background: linear-gradient(270deg, rgba(0, 43, 85, .45), transparent 40%);
    }

    .featured-pager {
        top: auto;
        bottom: 1rem;
        right: 1rem;
        transform: none;
    }
}

/* ---- Bal oldalsáv ---- */

.home-aside {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.aside-box {
    padding: 1.5rem;
    border: 1px solid var(--pv-line);
    border-radius: var(--pv-radius);
    background: var(--pv-surface);
}

.aside-title {
    font-size: 1.125rem;
    letter-spacing: -.01em;
    color: var(--pv-blue-800);
    margin: 0 0 1rem;
}

.aside-box p {
    font-size: .9375rem;
    color: var(--pv-muted);
    margin: 0 0 1rem;
}

/* Gyors ügyintézés – kiemelt, sötét doboz */
.aside-primary {
    border: 0;
    background:
        radial-gradient(18rem 12rem at 100% 0%, rgba(125, 211, 245, .3), transparent 60%),
        linear-gradient(160deg, var(--pv-blue-800), var(--pv-blue-900));
    box-shadow: var(--pv-shadow);
}

.aside-primary .aside-title {
    color: var(--pv-white);
}

.aside-actions {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.aside-actions li { margin: 0; }

.aside-action {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 48px;
    padding: .6rem 1rem;
    border-radius: var(--pv-radius-sm);
    background: rgba(255, 255, 255, .1);
    color: var(--pv-white);
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s var(--pv-ease), transform .2s var(--pv-ease);
}

.aside-action i {
    width: 1.25rem;
    text-align: center;
    color: var(--pv-sky);
}

.aside-action:hover {
    background: rgba(255, 255, 255, .2);
    color: var(--pv-white);
    transform: translateX(3px);
}

.aside-action.is-main {
    background: var(--pv-white);
    color: var(--pv-blue-900);
    font-weight: 700;
}

.aside-action.is-main i {
    color: var(--pv-link);
}

.aside-action.is-main:hover {
    background: var(--pv-mist);
    color: var(--pv-blue-900);
}

.aside-primary a:focus-visible {
    outline-color: var(--pv-sky);
}

/* "pv-" előtag: a WP admin bar saját ".quicklinks" osztályával ne ütközzön */
/* Hasznos linkek */
.pv-quicklinks {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pv-quicklinks li {
    margin: 0;
}

.pv-quicklinks li + li {
    border-top: 1px solid var(--pv-line);
}

.pv-quicklinks a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 44px;
    padding: .5rem 0;
    color: var(--pv-blue-700);
    font-weight: 600;
    font-size: .9375rem;
    text-decoration: none;
    transition: color .2s var(--pv-ease), padding .2s var(--pv-ease);
}

.pv-quicklinks a::after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: .625rem;
    color: var(--pv-link);
    transition: transform .2s var(--pv-ease);
}

.pv-quicklinks a:hover {
    color: var(--pv-blue-900);
}

.pv-quicklinks a:hover::after {
    transform: translateX(3px);
}

/* Áruház-gombok (oldalsáv és app-sáv) */
.store-btns {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.store-btn {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    min-height: 48px;
    padding: .45rem 1rem;
    border-radius: var(--pv-radius-sm);
    background: var(--pv-ink);
    color: var(--pv-white);
    font-weight: 700;
    font-size: .9375rem;
    line-height: 1.1;
    text-decoration: none;
    transition: background-color .2s var(--pv-ease), transform .2s var(--pv-ease);
}

.store-btn i {
    font-size: 1.25rem;
}

.store-btn small {
    display: block;
    font-size: .6875rem;
    font-weight: 500;
    opacity: .85;
}

.store-btn:hover {
    background: var(--pv-blue-900);
    color: var(--pv-white);
    transform: translateY(-2px);
}

/* Mobilalkalmazás doboz: a kép "kilóg" a doboz tetején, alatta világos áruház-gombok */
.aside-app {
    position: relative;
    margin-top: 2.5rem;
    padding-top: 0;
    border: 0;
    background:
        radial-gradient(16rem 10rem at 100% 0%, rgba(125, 211, 245, .35), transparent 60%),
        linear-gradient(160deg, var(--pv-blue-800), var(--pv-blue-700));
    color: var(--pv-white);
    box-shadow: var(--pv-shadow);
}

.aside-app-img {
    display: block;
    width: calc(100% + 1.5rem);
    max-width: none;
    height: auto;
    margin: -2.5rem -.75rem .25rem;
}

.aside-app .aside-title {
    color: var(--pv-white);
    margin-bottom: .4rem;
}

.aside-app p {
    color: #E6F1FA;
}

.aside-app .store-btn {
    flex: 1 1 100%;
    background: var(--pv-white);
    color: var(--pv-blue-900);
}

.aside-app .store-btn:hover {
    background: var(--pv-mist);
    color: var(--pv-blue-900);
}

.aside-app .store-btn:focus-visible {
    outline-color: var(--pv-white);
}

/* Közösségi média és ISO */
.aside-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: var(--pv-white);
}

.aside-social {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--pv-blue-700);
    font-weight: 600;
    font-size: .875rem;
    line-height: 1.3;
    text-decoration: none;
}

.aside-social i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #1877F2;
    color: var(--pv-white);
}

.aside-social:hover {
    color: var(--pv-blue-900);
}

/* Kiemelt link-doboz az oldalsávban (pl. Elektronikus számla és díjfizetés) */
.aside-feature {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    transition: border-color .2s var(--pv-ease), box-shadow .2s var(--pv-ease), transform .2s var(--pv-ease);
}

.aside-feature:hover {
    border-color: transparent;
    box-shadow: var(--pv-shadow);
    transform: translateY(-2px);
}

.aside-feature-icon {
    flex: 0 0 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: var(--pv-radius-sm);
    background: var(--pv-blue-700);
    color: var(--pv-white);
    font-size: 1.4rem;
}

.aside-feature-text {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.aside-feature-title {
    color: var(--pv-blue-800);
    font-family: var(--pv-font-display);
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.25;
}

.aside-feature-more {
    color: var(--pv-link);
    font-weight: 700;
    font-size: .875rem;
}

.aside-feature-more i {
    transition: transform .2s var(--pv-ease);
}

.aside-feature:hover .aside-feature-more i {
    transform: translateX(3px);
}

/* ==========================================================================
   8. HÍREK KÁRTYÁK
   ========================================================================== */

.news-grid {
    row-gap: 2rem;
}

.news-grid > article,
article.type-post[class*="col-"],
article.type-news[class*="col-"] {
    margin-bottom: 2rem;
}

.news-grid > article { margin-bottom: 0; }

.news-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--pv-white);
    border: 1px solid var(--pv-line);
    border-radius: var(--pv-radius);
    overflow: hidden;
    transition: transform .35s var(--pv-ease), box-shadow .35s var(--pv-ease), border-color .35s var(--pv-ease);
}

.news-wrapper:hover,
.news-wrapper:focus-within {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: var(--pv-shadow);
}

.news-wrapper .news-img {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--pv-surface-2);
}

.news-wrapper .news-img img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    border-radius: 0;
    transition: transform .6s var(--pv-ease);
}

.news-wrapper:hover .news-img img {
    transform: scale(1.04);
}

.news-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 2.5rem;
    color: var(--pv-aqua);
    background: linear-gradient(135deg, var(--pv-mist), var(--pv-surface));
}

.news-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0; /* flex-elem: ne a leghosszabb szó (pl. FORGALOMKORLÁTOZÁS:) szabja meg a minimális szélességét – Firefoxban kilógott */
    padding: 1.5rem 1.5rem 1.75rem;
}

.the-date {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: .75rem;
    padding: .2rem .7rem;
    border-radius: 999px;
    background: var(--pv-surface);
    color: var(--pv-blue-700);
    font-size: .8125rem;
    font-weight: 600;
}

/* Vágatlan kép (hírkártya, slider): a teljes kép látszik, a maradék helyet ugyanannak a képnek
   elmosott, halvány változata tölti ki (--img-backdrop: pviz_image_backdrop_style()). */
.media-contain {
    isolation: isolate;
    background: var(--pv-surface-2);
}

.media-contain::before {
    content: '';
    position: absolute;
    inset: -24px;
    z-index: 0;
    background: var(--img-backdrop, none) center / cover no-repeat;
    filter: blur(22px) saturate(1.15);
    opacity: .6;
}

.news-wrapper .media-contain img,
.featured-media.media-contain img {
    position: relative;
    z-index: 1;
    object-fit: contain;
}

.featured-media.media-contain img {
    position: absolute;
}

/* A sötét slider-háttér előtt a kép mögötti terület is sötétebb legyen */
.featured-media.media-contain {
    background: var(--pv-blue-900);
}

.featured-media.media-contain::before {
    opacity: .45;
}

/* Kártyákon a dátum a kép bal alsó sarkában, kisebb címkeként.
   Világos, szinte átlátszatlan háttér: bármilyen képen olvasható marad. */
.news-img .the-date {
    position: absolute;
    left: .75rem;
    bottom: .75rem;
    z-index: 2; /* a vágatlan kép (z-index: 1) fölött */
    margin: 0;
    padding: .15rem .55rem;
    background: rgba(255, 255, 255, .94);
    color: var(--pv-blue-900);
    font-size: max(.75rem, 12px);
    font-weight: 700;
    letter-spacing: .02em;
    box-shadow: 0 4px 12px -4px rgba(0, 0, 0, .35);
}

/* Hírlista: két hasáb, a szöveg a kép mellett (az ügyfél által választott 3. változat) */

/* Hasábok: 2 hasáb (az oldalsáv mellett a három túl szűk) */
@media (min-width: 768px) {
    .home-content article.type-post[class*="col-"],
    .home-content article.type-news[class*="col-"],
    .with-sidebar-main article.type-post[class*="col-"],
    .with-sidebar-main article.type-news[class*="col-"],
    .with-sidebar-main .news-grid > article {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Vízszintes hírkártya: bal oldalon négyzetes kép (a hírplakátok négyzetesek), mellette dátum, cím,
   előzetes. A kártya a saját hasábja szélességét figyeli (container query): ha szűk, álló marad. */
article.type-post[class*="col-"],
article.type-news[class*="col-"] {
    container-type: inline-size;
}

@container (min-width: 400px) {
    .news-wrapper--row {
        flex-direction: row;
        align-items: stretch;
    }

    .news-wrapper--row .news-img {
        flex: 0 0 42%;
        aspect-ratio: 1 / 1;
    }

    .news-wrapper--row .news-body {
        justify-content: center;
        padding: 1.1rem 1.25rem;
    }

    .news-wrapper--row .entry-title {
        font-size: 1.0625rem;
        margin-bottom: .5rem;
    }

    .news-wrapper--row .the-excerpt p {
        font-size: .9375rem;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        margin-bottom: .75rem;
    }

    .news-wrapper--row .news-more {
        font-size: .875rem;
    }
}

/* A sorok közti térköz listában kisebb, mint rácsban */
.news-grid:has(> article .news-wrapper--row) {
    row-gap: 1.25rem;
}

.home-content article.type-post[class*="col-"] {
    margin-bottom: 1.25rem;
}

.news-wrapper .entry-title {
    font-size: clamp(1.125rem, 1rem + .35vw, 1.3rem);
    line-height: 1.25;
    letter-spacing: -.01em;
    overflow-wrap: break-word;
    hyphens: auto; /* hosszú, csupa nagybetűs szavak (pl. FORGALOMKORLÁTOZÁS) a keskeny kártyán */
    margin: 0 0 .75rem;
    padding: 0;
    border: 0;
}

.news-wrapper .entry-title a {
    color: var(--pv-blue-800);
    text-decoration: none;
}

.news-wrapper .entry-title a:hover,
.news-wrapper:hover .entry-title a {
    color: var(--pv-link);
}

/* A kártya egésze kattintható: a fókuszkeret a teljes kártyán jelenik meg */
.news-wrapper .entry-title a:focus-visible {
    outline: none;
}

.news-wrapper .entry-title a.stretched-link:focus-visible::after {
    outline: 3px solid var(--pv-link);
    outline-offset: -3px;
    border-radius: var(--pv-radius);
}

.news-wrapper .the-excerpt {
    flex: 1;
}

.news-wrapper .the-excerpt p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    color: var(--pv-muted);
    font-size: 1rem;
    line-height: 1.5; /* kártyán szorosabb, mint a cikkszöveg (1.6) */
    margin: 0 0 1.25rem;
}

.news-more {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--pv-link);
    font-weight: 700;
    font-size: .9375rem;
}

.news-more i {
    transition: transform .25s var(--pv-ease);
}

.news-wrapper:hover .news-more i {
    transform: translateX(4px);
}

/* Egyedi bejegyzés */
.single-article .entry-header {
    margin-bottom: 2rem;
}

.single-article .entry-title {
    font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3rem);
    margin-bottom: 0;
    padding: 0;
    border: 0;
}

/* Dátum a cikk alján, jobbra */
.single-article .entry-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 2.5rem;
}

.single-article .entry-date {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin: 0;
    padding: .35rem .9rem;
    border-radius: 999px;
    background: var(--pv-surface);
    color: var(--pv-muted);
    font-size: .875rem;
}

.single-article .entry-date time {
    color: var(--pv-blue-700);
    font-weight: 600;
}

/* Bevezető blokk: kép balra (fél szélesség), mellette az előzetes */
.single-intro {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    align-items: start;
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid var(--pv-line);
}

.single-intro .single-img {
    margin: 0;
}

.single-intro .single-img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--pv-radius);
}

.single-lead p {
    margin: 0;
    font-size: clamp(1.125rem, 1.05rem + .3vw, 1.3rem);
    font-weight: 500;
    line-height: 1.5;
    color: var(--pv-ink);
}

.single-lead p + p { margin-top: 1em; }

@media (min-width: 576px) {
    .single-intro {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .single-intro.no-thumb {
        grid-template-columns: 1fr;
    }
}

/* Aloldalak: bal oldalsáv + tartalom (a főoldali oldalsávval azonos).
   Mobilon a tartalom kerül előre, az oldalsáv utána. */
.with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
        "main"
        "aside";
    gap: 3rem;
}

.with-sidebar-main  { grid-area: main; min-width: 0; }
.with-sidebar-aside { grid-area: aside; min-width: 0; }

@media (min-width: 992px) {
    .with-sidebar {
        grid-template-columns: 300px minmax(0, 1fr);
        grid-template-areas: "aside main";
        column-gap: clamp(2rem, 3vw, 3rem);
    }
}

/* A tartalom teteje egy vonalban legyen az oldalsáv tetejével */
.with-sidebar-main .entry-content {
    margin-top: 0;
}

.with-sidebar-main .panel-layout > .panel-grid:first-child .so-panel:first-child .textwidget > :first-child,
.with-sidebar-main .entry-content > :first-child {
    margin-top: 0;
}

/* Az oldalszerkesztő saját konténere ne lógjon ki a keskenyebb oszlopból */
.with-sidebar-main .panel-grid-cell .container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

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

.related-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: .9rem;
    margin: 0;
    padding: .65rem;
    margin-inline: -.65rem;
    border-radius: var(--pv-radius-sm);
    transition: background-color .2s var(--pv-ease);
}

.related-item:hover,
.related-item:focus-within {
    background: var(--pv-white);
}

.related-item + .related-item {
    margin-top: .25rem;
}

.related-thumb {
    flex: 0 0 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: var(--pv-radius-sm);
    overflow: hidden;
    background: linear-gradient(135deg, var(--pv-mist), var(--pv-white));
    color: var(--pv-aqua);
}

.related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related-body {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

.related-link {
    color: var(--pv-blue-800);
    font-weight: 700;
    font-size: .9375rem;
    line-height: 1.35;
    text-decoration: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.related-item:hover .related-link {
    color: var(--pv-link);
}

.related-link:focus-visible {
    outline: none;
}

.related-link.stretched-link:focus-visible::after {
    outline: 3px solid var(--pv-link);
    outline-offset: 0;
    border-radius: var(--pv-radius-sm);
}

.related-body time {
    font-size: .8125rem;
    color: var(--pv-muted);
}

.post-navigation {
    max-width: none;
    margin: 4rem 0 0;
    padding-top: 2rem;
    border-top: 1px solid var(--pv-line);
}

.post-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.post-navigation a {
    display: block;
    padding: 1rem 1.25rem;
    border-radius: var(--pv-radius);
    background: var(--pv-surface);
    color: var(--pv-blue-800);
    font-weight: 700;
    text-decoration: none;
}

.post-navigation a:hover { background: var(--pv-mist); }

.post-navigation .nav-subtitle {
    display: block;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--pv-muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* Hírek oldal alja: link az archív hírekre */
.news-archive-link {
    margin: 2rem 0 0;
    text-align: center;
}

/* Lapozó */
.pviz-navigation ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    list-style: none;
    padding: 0;
    margin: 3.5rem 0 0;
}

.pviz-navigation li {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    color: var(--pv-muted);
}

.pviz-navigation li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid var(--pv-line);
    background: var(--pv-white);
    color: var(--pv-blue-700);
    font-weight: 700;
    text-decoration: none;
}

.pviz-navigation li a:hover {
    background: var(--pv-surface);
    border-color: var(--pv-blue-700);
    color: var(--pv-blue-900);
}

.pviz-navigation li.active a {
    background: var(--pv-blue-700);
    border-color: var(--pv-blue-700);
    color: var(--pv-white);
}

/* Felhívó gomb az oldal tartalmában: <p class="content-cta"><a class="btn btn-primary btn-lg" …> */
.entry-content .content-cta {
    margin: 2.5rem 0 0;
}

.entry-content .content-cta .btn {
    text-decoration: none;
}

/* Aloldalak (gyűjtőoldalak) – a kártya a hírkártya (news-wrapper) kinézete */
.subpages {
    margin-top: 2.5rem;
}

.entry-content:empty + .subpages,
.page-header + .entry-content:empty {
    margin-top: 0;
}

.subpages-title {
    font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem);
    margin-bottom: 1.25rem;
}

.subpages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
    gap: 1.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.subpages-grid > li {
    margin: 0;
}

.subpage-card .news-img {
    aspect-ratio: 16 / 9;
}

.subpage-card .entry-title {
    font-size: 1.125rem;
}

.subpage-card .the-excerpt p {
    -webkit-line-clamp: 3;
    line-clamp: 3;
    font-size: .9375rem;
}

/* Dokumentumtár */
.doc-toolbar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
    padding: 1.25rem;
    border: 1px solid var(--pv-line);
    border-radius: var(--pv-radius);
    background: var(--pv-surface);
}

.doc-search label {
    display: block;
    margin-bottom: .4rem;
    color: var(--pv-blue-800);
    font-weight: 700;
    font-size: .9375rem;
}

.doc-search .search-field.form-control {
    height: 48px;
    padding: .5rem 3rem .5rem 1.25rem;
    border: 1.5px solid var(--pv-field-border);
    border-radius: 999px;
    background: var(--pv-white);
    font-size: 1rem;
}

.doc-search .search-field.form-control:focus {
    border-color: var(--pv-link);
    box-shadow: 0 0 0 4px rgba(0, 107, 158, .2);
}

.doc-search-icon {
    position: absolute;
    right: 1.1rem;
    color: var(--pv-link);
    pointer-events: none;
}

.doc-filter {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.doc-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 40px;
    padding: .35rem 1rem;
    border: 1.5px solid var(--pv-line);
    border-radius: 999px;
    background: var(--pv-white);
    color: var(--pv-blue-700);
    font-weight: 600;
    font-size: .9375rem;
    cursor: pointer;
    transition: background-color .2s var(--pv-ease), border-color .2s var(--pv-ease), color .2s var(--pv-ease);
}

.doc-chip:hover {
    border-color: var(--pv-blue-700);
}

.doc-chip[aria-pressed="true"] {
    background: var(--pv-blue-700);
    border-color: var(--pv-blue-700);
    color: var(--pv-white);
}

.doc-chip-count {
    min-width: 1.5rem;
    padding: 0 .4rem;
    border-radius: 999px;
    background: var(--pv-surface);
    color: var(--pv-blue-800);
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
}

.doc-chip[aria-pressed="true"] .doc-chip-count {
    background: rgba(255, 255, 255, .2);
    color: var(--pv-white);
}

.doc-chip:focus-visible {
    outline: none;
    box-shadow: var(--pv-focus);
}

.doc-group + .doc-group {
    margin-top: 2.5rem;
}

.doc-group[hidden],
.doc-item[hidden] {
    display: none;
}

.doc-group-title {
    font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem);
    margin-bottom: 1rem;
}

.doc-group-desc {
    color: var(--pv-muted);
    margin-top: -.5rem;
}

.doc-list {
    display: grid;
    gap: .75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.doc-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0;
    padding: 1rem 1.25rem;
    border: 1px solid var(--pv-line);
    border-radius: var(--pv-radius);
    background: var(--pv-white);
    transition: border-color .2s var(--pv-ease), box-shadow .2s var(--pv-ease), transform .2s var(--pv-ease);
}

.doc-item:hover,
.doc-item:focus-within {
    border-color: transparent;
    box-shadow: var(--pv-shadow);
    transform: translateY(-2px);
}

.doc-icon {
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: var(--pv-radius-sm);
    background: var(--pv-mist);
    color: var(--pv-blue-800);
    font-size: 1.35rem;
}

.doc-body {
    flex: 1;
    min-width: 0;
}

.doc-title {
    color: var(--pv-blue-800);
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.35;
    text-decoration: none;
}

.doc-title:hover {
    color: var(--pv-link);
}

.doc-title:focus-visible {
    outline: none;
}

.doc-title.stretched-link:focus-visible::after {
    outline: 3px solid var(--pv-link);
    outline-offset: -3px;
    border-radius: var(--pv-radius);
}

.doc-desc {
    margin: .2rem 0 0;
    color: var(--pv-muted);
    font-size: .9375rem;
}

.doc-meta {
    margin: .25rem 0 0;
    color: var(--pv-muted);
    font-size: .8125rem;
}

.doc-download {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 40px;
    padding: .4rem 1rem;
    border-radius: 999px;
    background: var(--pv-link);
    color: var(--pv-white);
    font-weight: 700;
    font-size: .875rem;
    transition: background-color .2s var(--pv-ease);
}

.doc-item:hover .doc-download {
    background: var(--pv-blue-800);
}

/* Almappák (lenyitható) */
.doc-folder {
    margin-top: .75rem;
    border: 1px solid var(--pv-line);
    border-radius: var(--pv-radius);
    background: var(--pv-surface);
}

.doc-folder[hidden] {
    display: none;
}

.doc-list + .doc-folder {
    margin-top: 1rem;
}

.doc-folder-summary {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-height: 56px;
    padding: .75rem 1.25rem;
    border-radius: var(--pv-radius);
    color: var(--pv-blue-800);
    font-weight: 700;
    font-size: 1.0625rem;
    list-style: none;
    cursor: pointer;
    transition: background-color .2s var(--pv-ease);
}

.doc-folder-summary::-webkit-details-marker {
    display: none;
}

.doc-folder-summary:hover {
    background: var(--pv-surface-2);
}

.doc-folder-summary:focus-visible {
    outline: none;
    box-shadow: var(--pv-focus);
}

.doc-folder-icon {
    color: var(--pv-aqua);
    font-size: 1.25rem;
}

.doc-folder-icon .fa-folder-open,
.doc-folder[open] > .doc-folder-summary .doc-folder-icon .fa-folder {
    display: none;
}

.doc-folder[open] > .doc-folder-summary .doc-folder-icon .fa-folder-open {
    display: inline-block;
}

.doc-folder-name {
    flex: 1;
    min-width: 0;
}

.doc-folder-count {
    min-width: 1.75rem;
    padding: .1rem .55rem;
    border-radius: 999px;
    background: var(--pv-white);
    color: var(--pv-blue-800);
    font-size: .8125rem;
    text-align: center;
}

.doc-folder-chevron {
    color: var(--pv-link);
    font-size: .75rem;
    transition: transform .25s var(--pv-ease);
}

.doc-folder[open] > .doc-folder-summary .doc-folder-chevron {
    transform: rotate(180deg);
}

.doc-folder-body {
    padding: 0 .75rem .75rem;
}

/* Beágyazott almappa: kicsit beljebb, fehér háttérrel elválik a szülőtől */
.doc-folder-body .doc-folder {
    background: var(--pv-white);
}

.doc-empty {
    padding: 1.5rem;
    border-radius: var(--pv-radius);
    background: var(--pv-surface);
    color: var(--pv-muted);
    text-align: center;
}

@media (max-width: 575.98px) {
    .doc-download span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }

    .doc-download {
        padding: .4rem .75rem;
    }
}

/* Üres lista / 404 */
.no-results {
    max-width: 40rem;
    font-size: 1.125rem;
}

.no-results .search-form { margin-top: 1.5rem; }

.error-404 {
    max-width: 44rem;
    margin: clamp(1rem, 4vw, 3rem) auto;
    padding: clamp(2rem, 1rem + 4vw, 3.5rem) clamp(1.25rem, .5rem + 4vw, 3rem);
    text-align: center;
    background: var(--pv-white);
    border-radius: var(--pv-radius-lg);
    box-shadow: var(--pv-shadow-lg);
}

/* "4 💧 4": a nulla helyén vízcsepp, lassan lebeg (mozgáscsökkentésnél áll) */
.error-404 .error-code {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .05em;
    margin: 0 0 1.25rem;
    font-family: var(--pv-font-display);
    font-size: clamp(5rem, 3rem + 9vw, 9rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.05em;
    color: var(--pv-blue-700);
}

.error-code__drop {
    width: .62em;
    height: .78em;
    animation: pv-drop-bob 2.4s ease-in-out infinite;
}

@keyframes pv-drop-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-.08em); }
}

@media (prefers-reduced-motion: reduce) {
    .error-code__drop { animation: none; }
}

.error-404 .page-title {
    margin-bottom: .75rem;
}

.error-404__lead {
    max-width: 34rem;
    margin: 0 auto;
    color: var(--pv-muted);
}

.error-404 .search-form {
    max-width: 28rem;
    margin: 2rem auto 1.5rem;
}

.error-404__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
}

.error-404 .error-404__links a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1rem;
    border-radius: 999px;
    background: var(--pv-surface);
    color: var(--pv-blue-800);
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s var(--pv-ease), color .2s var(--pv-ease);
}

.error-404 .error-404__links a:hover {
    background: var(--pv-mist);
    color: var(--pv-blue-900);
}

/* ==========================================================================
   9. ELÉRHETŐSÉGEK (kék doboz a lábléc fölött)
   ========================================================================== */

.contact-banner {
    padding: clamp(2rem, 1.5rem + 2vw, 3.5rem) 0 0;
    background: linear-gradient(var(--pv-white) 55%, var(--pv-blue-900) 55%);
}

.contact-banner-card {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 1.5rem 2.5rem;
    padding: clamp(1.75rem, 1.25rem + 2.5vw, 3rem);
    border-radius: var(--pv-radius-lg);
    background:
        radial-gradient(30rem 20rem at 100% 0%, rgba(125, 211, 245, .35), transparent 60%),
        linear-gradient(135deg, var(--pv-blue-800), var(--pv-blue-700));
    color: var(--pv-white);
    box-shadow: var(--pv-shadow-lg);
}

.contact-banner-brand img {
    display: block;
    width: clamp(200px, 22vw, 280px);
    height: auto;
}

.contact-banner-main,
.contact-banner-more {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.contact-banner-main {
    gap: 1rem;
}

.contact-banner-main li,
.contact-banner-more li {
    margin: 0;
}

/* Ügyfélszolgálat és hibabejelentés: nagy, jól látható telefonszámok */
.contact-banner-main a {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "icon label"
        "icon number";
    align-items: center;
    column-gap: .9rem;
    padding: .9rem 1.25rem;
    border-radius: var(--pv-radius);
    background: rgba(255, 255, 255, .12);
    color: var(--pv-white);
    text-decoration: none;
    transition: background-color .2s var(--pv-ease);
}

.contact-banner-main a:hover {
    background: rgba(255, 255, 255, .2);
    color: var(--pv-white);
}

.contact-banner-icon {
    grid-area: icon;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: var(--pv-white);
    color: var(--pv-blue-800);
    font-size: 1.25rem;
}

.contact-banner-label {
    grid-area: label;
    color: var(--pv-mist);
    font-size: .875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.contact-banner-number {
    grid-area: number;
    font-family: var(--pv-font-display);
    font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

/* Egyéb elérhetőségek: kisebbek */
.contact-banner-more {
    gap: .25rem 1.5rem;
}

.contact-banner-more a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 40px;
    color: #E6F1FA;
    font-size: .9375rem;
    text-decoration: none;
}

.contact-banner-more a:hover {
    color: var(--pv-white);
}

.contact-banner-more i {
    color: var(--pv-sky);
}

.contact-banner a:focus-visible {
    outline-color: var(--pv-white);
}

@media (min-width: 992px) {
    .contact-banner-card {
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "brand main"
            "brand more";
    }

    .contact-banner-brand { grid-area: brand; }
    .contact-banner-main  { grid-area: main; justify-content: flex-end; }
    .contact-banner-more  { grid-area: more; justify-content: flex-end; }
}

/* Lábléc 4. hasábja: tanúsítványok */
.footer-iso {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    line-height: 0;
}

.footer-iso img {
    width: auto;
    height: 76px;
    padding: .4rem;
    border-radius: var(--pv-radius-sm);
    background: var(--pv-white);
}

/* Alsó sáv: Impresszum, Kapcsolat */
.site-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer-links li {
    margin: 0;
}
/* ==========================================================================
   10. LÁBLÉC
   ========================================================================== */

#footer-widget {
    margin: 0;
    padding: clamp(3rem, 2rem + 3vw, 5rem) 0 2rem;
    background-color: var(--pv-blue-900);
    color: #E6F1FA;
}

#footer-widget .widget {
    margin-bottom: 2.5rem;
}

#footer-widget .widget .widget-title {
    color: var(--pv-white);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -.01em;
    margin: 0 0 1.5rem;
}

#footer-widget .widget .widget-title::after {
    content: '';
    display: block;
    width: 48px;
    height: 4px;
    margin-top: .9rem;
    border-radius: 4px;
    background: var(--pv-aqua);
}

#footer-widget .widget .menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer-widget .widget .menu .menu-item {
    margin: 0;
}

#footer-widget .widget .menu .menu-item a,
#footer-widget #custom_html-2,
#footer-widget #custom_html-2 a,
#footer-widget .widget a {
    color: #E6F1FA;
}

#footer-widget .widget .menu .menu-item a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: .25rem 0;
    font-size: 1rem;
    text-decoration: none;
    transition: color .2s var(--pv-ease), transform .2s var(--pv-ease);
}

#footer-widget .widget .menu .menu-item a::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f054";
    font-size: .625rem;
    color: var(--pv-sky);
    margin-right: .75rem;
}

#footer-widget .widget .menu .menu-item a:hover {
    background: none;
    color: var(--pv-white);
    transform: translateX(4px);
}

#footer-widget .widget a:focus-visible {
    outline-color: var(--pv-sky);
}

/* Mobil: két hasáb – tömörebb címek, a hosszú menüpontok a nyíl mellett törnek */
@media (max-width: 575.98px) {
    #footer-widget .widget {
        margin-bottom: 2rem;
    }

    #footer-widget .widget .widget-title {
        font-size: 1.0625rem;
        margin-bottom: 1rem;
    }

    #footer-widget .widget .menu .menu-item a {
        align-items: baseline;
        font-size: .9375rem;
        line-height: 1.35;
    }

    #footer-widget .widget .menu .menu-item a::before {
        margin-right: .5rem;
    }

    .footer-iso img {
        height: 60px;
    }
}

#footer-widget .widget_text .custom-html-widget .social-content {
    font-size: 1rem;
}

#footer-widget #custom_html-2 .textwidget .social {
    padding: .5rem 0;
}

#footer-widget #custom_html-2 .textwidget i {
    margin: 0 .5rem 0 0;
    color: var(--pv-sky);
}

#footer-widget #custom_html-2 .textwidget a:hover {
    color: var(--pv-white);
}

#footer-widget #media_image-3 {
    margin-bottom: 2.5rem;
}

#footer-widget .footer-logo {
    background: transparent url('img/footer-logo.svg') no-repeat left center / contain;
    width: 100%;
    max-width: 280px;
    height: 59px;
    margin-bottom: 2rem;
}

body:not(.theme-preset-active) footer#colophon,
footer#colophon {
    position: relative;
    height: auto;
    padding: 1.5rem 0;
    background-color: #002A52;
    color: #E6F1FA;
    font-size: .9375rem;
}

.site-footer-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .75rem 2rem;
    padding-right: 4.5rem; /* hely a "vissza a tetejére" gombnak */
}

.site-footer-inner p {
    margin: 0;
}

footer#colophon a {
    color: var(--pv-white);
    text-decoration: underline;
    text-underline-offset: .2em;
}

footer#colophon a:hover {
    color: var(--pv-sky);
}

footer#colophon a:focus-visible {
    outline-color: var(--pv-sky);
}

/* Széchenyi 2020 kedvezményezetti infóblokk: jobb alsó sarokban rögzítve, görgetés nélkül is látható */
.funding-block {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 1015;
    display: block;
    line-height: 0;
}

.funding-block img {
    display: block;
    width: auto;
    height: var(--pv-funding-h, 150px);
}

.funding-block:focus-visible {
    outline: 3px solid var(--pv-link);
    outline-offset: -3px;
    border-radius: 0;
}

/* A "vissza a tetejére" gomb az infóblokk fölé kerül */
.has-funding-block #to-top {
    bottom: calc(var(--pv-funding-h, 150px) + 1rem);
}

@media (max-width: 767.98px) {
    .funding-block img {
        height: var(--pv-funding-h-mobile, 96px);
    }

    .has-funding-block #to-top {
        bottom: calc(var(--pv-funding-h-mobile, 96px) + .75rem);
    }
}

/* A lábléc szövege ne kerüljön az infóblokk alá (a kép oldalaránya 392 × 276 ≈ 1,42) */
.has-funding-block .site-footer-inner {
    padding-right: calc(var(--pv-funding-h, 150px) * 1.42 + 1rem);
}

@media (max-width: 767.98px) {
    .has-funding-block .site-footer-inner {
        padding-right: 0;
        padding-bottom: calc(var(--pv-funding-h-mobile, 96px) + .5rem);
    }
}

/* Vissza a tetejére */
#to-top {
    position: fixed;
    right: clamp(1rem, 2vw, 2rem);
    bottom: clamp(1rem, 2vw, 2rem);
    z-index: 1020;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background-color: var(--pv-blue-800);
    color: var(--pv-white);
    box-shadow: var(--pv-shadow-lg);
    cursor: pointer;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .3s var(--pv-ease), transform .3s var(--pv-ease), background-color .2s var(--pv-ease);
}

#to-top[hidden] { display: none; }

#to-top.is-visible {
    opacity: 1;
    transform: none;
}

#to-top:hover { background-color: var(--pv-link); }

#to-top:focus-visible { box-shadow: var(--pv-focus); outline: none; }

#to-top .fas { font-size: 1.125rem; }

/* ==========================================================================
   11. RESZPONZÍV
   ========================================================================== */

@media (min-width: 1200px) {
    .container {
        max-width: 1320px;
    }
}

@media (max-width: 1199.98px) {
    header#masthead .navbar {
        min-height: 76px;
    }

    #main-nav {
        max-height: calc(100svh - 90px);
        overflow-y: auto;
    }

    #main-nav .navbar-nav {
        padding: 1rem 0 .5rem;
    }

    header#masthead .navbar-nav .nav-item {
        margin: 0;
    }

    header#masthead .navbar-nav .nav-link,
    body:not(.theme-preset-active) header#masthead .navbar-nav > li > a {
        justify-content: space-between;
        min-height: 52px;
        padding: .75rem 1rem;
        border-radius: var(--pv-radius-sm);
        font-size: 1.0625rem;
    }

    .navbar-nav .dropdown-menu {
        border: 0;
        box-shadow: none;
        padding: 0 0 .5rem 1rem;
        background: transparent;
    }

    header#masthead .search-form {
        width: 100%;
        margin: .5rem 0 1.25rem;
    }
}

@media (max-width: 767.98px) {
    /* Mobilon a felső sáv: a két telefonszám látható marad (kisebb betűvel), mellettük a gyengénlátó nézet ikonja */
    .top-head-inner {
        flex-wrap: nowrap;
    }

    .top-head .top-head-element {
        min-height: 40px;
        padding: .25rem .5rem;
        font-size: .8125rem;
    }

    .top-head .top-head-group {
        gap: 0;
    }

    .post-navigation .nav-links {
        flex-direction: column;
    }
}

/* ==========================================================================
   12. MOZGÁSCSÖKKENTÉS ÉS NAGY KONTRASZT
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .news-wrapper:hover,
    .news-wrapper:focus-within,
    .btn.btn-primary:hover,
    .news-wrapper:hover .news-img img {
        transform: none;
    }
}

@media (forced-colors: active) {
    .btn.btn-primary,
    .news-wrapper,
    .featured-slide,
    .aside-box,
    .contact-banner-card {
        border: 1px solid CanvasText;
    }
}
