[class*="col-"] {
    box-sizing: border-box; /* Fontos! A padding ne növelje a teljes szélességet */
}

html {
  scroll-behavior: smooth;
}

p {
    margin-block-start: 0.5rem;
    margin-block-end: 0.5rem;
}

.is-mobile p {
    margin: 0 0 0.8vw 0.8vw;
}

h1{
    margin-block-start: 2.5rem;
    margin-block-end: 1.0rem;
}

h2{
    margin-block-start: 1.75rem;
    margin-block-end: 0.7rem;
}

h3{
    margin-block-start: 1.5rem;
    margin-block-end: 0.5rem;
}

h4, h5, h6 {
    margin-block-start: 1.0rem;
    margin-block-end: 0.25rem;
}

[id] {
  scroll-margin-top: calc(var(--header-fixed-wrapper-height) + 20px);
}


.is-mobile{
       font-size: var(--font-size-body-mobile);
}
.is-desktop{
       font-size: var(--font-size-body-desktop);
}

/* eltolás menü alá */
.site{
    position: relative;
    top: var(--header-fixed-wrapper-height);
}


.row {
    margin-left: -10px;
    margin-right: -10px; /* Kompenzálja az oszlopok padding-ját */
    overflow: hidden; /* Clearfix */
}

.row::after {
    content: "";
    clear: both;
    display: table;
}

[class*="col-"] {
    float: left;
}


.site-content,
.container,
.page {
    /* 1. Max szélesség beállítása: A 4K képernyőn sem lesz ennél szélesebb a tartalom */
    max-width: var(--site-max-width);
    /* 2. Középre igazítás: Ez biztosítja, hogy a max szélességű tartalom középen legyen */
    margin-left: auto;
    margin-right: auto;
    /* 3. Kis padding (opcionális): Hogy a legszélesebb telefonon se tapadjon a széléhez */
    overflow-x: clip;
}

.home .entry-title,
.home h1.entry-title {
    display: none;
}

.entry-content {        /* footer végére töréshez kell a floatok miatt */
    display: flow-root;
}


.content-area, .footer-inner {
    padding: 0 calc(20px, 2vw, 40px);
}

.site-content {
    padding-left: 0.5%;
    padding-right: 0.5%;
}

.site-content header{
    text-align: center;
    padding: 10px 0 10px 0;
}


/*  ====== MENÜK MEGJELENÍTÉSE ====== */
.is-desktop .menu--primary {
    display: flex;
}

.is-mobile .menu--primary {
    display: none;
}

.is-desktop .hamburger-toggle
, .is-desktop .mobile-menu-panel{
    display: none;
}

.is-mobile .hamburger-toggle
, .is-mobile .mobile-menu-panel{
    display: flex;
}   

/*  ====== NYELVVÁLTÓ MEGJELENÍTÉSE ====== */
.is-desktop .header-row--top .header-right .language-switcher{
    display: block;
}

.is-mobile .header-row--top .header-right .language-switcher{
    display: none;
}

/*  ====== HEADER BOTTOM SOR MEGJELENÍTÉSE ====== */
.is-desktop .header-row--bottom{
    display: flex;
}

.is-mobile .header-row--bottom{
    display: none;
}   


/*  ====== Sticky ===== */
/* A jobb oldali oszlop képei egységes cellák legyenek */
.sticky .wp-block-column .wp-block-image {
    aspect-ratio: 4 / 3;       /* minden cella 4:3 */
    overflow: hidden;          /* kilógó részek eltűnnek */
    position: relative;
}

/* A képek kitöltik a cellát */
.sticky .wp-block-column .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;         /* kitölti a cellát */
    object-position: center;   /* középre igazítva */
    display: block;
}

/* A külső Group kapja a sticky osztályt */
.sticky {
    position: relative; /* biztosítja a sticky kontextust */
}

/* A sticky Group első oszlopának belső Groupja lesz ragadós */
.sticky .wp-block-columns > .wp-block-column:first-child > .wp-block-group {
    position: sticky;
    top: calc(20px + var(--header-fixed-wrapper-height)); /* mennyire tapadjon felül */
    align-self: flex-start;
}

.is-mobile .sticky .wp-block-columns {
    flex-direction: column; /* egymás alá kerülnek */
    gap: 1.5rem;            /* szép távolság a blokkok között */
}

.is-mobile .sticky .wp-block-columns > .wp-block-column {
    width: 100%;            /* teljes szélesség */
}

.is-mobile .sticky .wp-block-columns > .wp-block-column:first-child > .wp-block-group {
    position: static;       /* sticky kikapcsolása */
    top: auto;
    align-self: auto;
}

/*  ====== Rácsúsztatás ====== */
/* A columns blokk marad flex */
.custom-overlap-group .wp-block-columns {
  align-items: stretch; /* két oszlop azonos magasságú */
}

.is-mobile .custom-overlap-group .wp-block-columns {
  flex-direction: column; /* egymás alá kerülnek */
  gap: 0;
}

.is-mobile .custom-overlap-group .wp-block-column {
    width: 100% !important;     /* biztosan teljes szélesség */
    flex: none;                 /* ne próbáljon egyforma magas lenni */
  }


/* Jobb oldali oszlop legyen flex-konténer */
.custom-overlap-group .wp-block-column:last-child {
  display: flex;
}

/* OUTER WRAPPER – ez tolódik el és ez igazít középre */
.is-desktop .custom-overlap-group .wp-block-column:last-child > .wp-block-group {
  flex: 1;                     /* kitölti az oszlop teljes magasságát */
  display: flex;
  justify-content: center;     /* FÜGGŐLEGES közép */
  align-items: flex-start;     /* vízszintesen balra igazítva */
  transform: translateX(-30%); /* eltolás */
}

/* INNER CONTENT – ez megy össze */
.is-desktop  .custom-overlap-group .wp-block-column:last-child > .wp-block-group > .wp-block-group {
  transform: scale(0.8);
  transform-origin: center;
  border-radius: 20px;
}

.custom-overlap-group .wp-block-column:last-child > .wp-block-group > .wp-block-group {
  padding: 10px;
  background-color: var(--wp--preset--color--contrast-background);
  color: var(--wp--preset--color--contrast-text);
  
}

.custom-overlap-group .wp-block-column:first-child {
  width: 100%;          /* vagy fix szélesség */
  height: auto;        /* vagy amit szeretnél */
  overflow: hidden;     /* túlnyúlás levágása */
  position: relative;
  margin: 0;            /* WP figure marginokat érdemes lenullázni */
}

.custom-overlap-group .wp-block-column:first-child .wp-block-image {
    height: 100%;         /* kitölti az oszlop teljes magasságát */
}

.custom-overlap-group .wp-block-column:first-child img {
    width: 100%;
    height: 100%;
    object-fit: cover;    /* kitölti, arányt tart, levágja a felesleget */
    object-position: center;
    display: block;       /* eltünteti az img alatti whitespace-t */

}







input, select, textarea{
    border-radius: 10px; /* kerekített szélek */
    border: 2px solid #ccc; /* határvonal */
    padding: 10px; /* belső térkitöltés */
}

.is-desktop input, .is-desktop select, .is-desktop textarea{
    font-size: var(--font-size-body-desktop);
}

.is-mobile input, .is-mobile select, .is-mobile textarea{
    font-size: var(--font-size-body-mobile);
}

.is-desktop input:not([type=submit]), .is-desktop textarea{
    width: 70%;
}

.is-mobile input:not([type=submit]), .is-mobile textarea{
    width: 100%;
}


/*breadcrumb*/
.breadcrumb-wrapper{
    margin: 0.5vw;
    font-size: var(--wp--preset--font-size--medium) !important;
    font-family: var(--wp--preset--font-family--public-sans);
}

.breadcrumb-wrapper a{
    text-decoration: none;
}

.breadcrumb-wrapper p{
    margin: 0;
}

/* ====== Table of Contents ====== */
.toc-kep-sor {
    display: flex !important;
    flex-wrap: wrap !important; 
    gap: 20px;       
    align-items: stretch !important; /* Meghagyjuk, de most a TOC fog diktálni */
    margin-bottom: 30px;
    gap: 0 !important;
}

.toc-kep-sor a{
    text-decoration: none;
}

/* 2. A BAL oszlop (TOC) - Ez határozza meg a magasságot */
.toc-hasab {
    flex: 1 !important; 
    min-width: 280px !important; 
}

/* 3. A JOBB oszlop (KÉP TÁROLÓJA) - Kényszerítjük, hogy ne nyomja fel a magasságot */
.kep-hasab {
    flex: 1 !important; 
    min-width: 280px !important; 
    min-height: 0 !important; /* Kritikus! Megakadályozza, hogy a nagy kép feltolja az oszlop magasságát */
    position: relative;        /* Hogy a benne lévő figure-t hozzá tudjuk láncolni */
}

/* 4. A lila TOC dobozod */
.toc-hasab .szulo-tartalom {
    background-color: #b3b3ff; 
    padding: 20px;
    box-sizing: border-box;
    border-top-left-radius: 16px;
    border-bottom-left-radius: 16px;
}

/* 5. A <figure> - Most már abszolút pozicionálással kényszerítjük a hasáb méretére */
.kep-hasab figure {
    margin: 0 !important;          
    padding: 0 !important;
    position: absolute; /* Kiszakad a normál folyamból, így nem tudja növelni a szülő magasságát */
    top: 0;
    left: 0;
    width: 100% !important;        
    height: 100% !important;       /* Pontosan akkora lesz, amekkorára a TOC engedi a szülőt */
    overflow: hidden;   
    
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

/* 6. A KÉP - Mivel korábban említetted, hogy nem kell semmit levágnia */
.kep-hasab figure img {
    width: 100% !important;        
    height: 100% !important;       /* Kitölti a kényszerített figure méretet */
    object-fit: cover;           /* VÁLTOZÁS: Nem vág le semmit, hanem bepattintja a képet a rendelkezésre álló lila magasságba */
    object-position: center;
    display: block !important;      
}

.is-mobile .kep-hasab{
    display: none !important;
}

.is-mobile .toc-hasab .szulo-tartalom {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

/* ====== Footer ====== */
.site-footer {
    padding: 3vh 0 1vh 0;
    font-size: var(--font-size-body-desktop);
}

.footer-container {
    margin: 0 auto;
    display: grid;
    /*grid-template-columns: repeat(3, 1fr); */
    grid-template-columns: 15% 1fr 20%;
    gap: 30px;
}

.footer-column {
    display: flex;
    flex-direction: column;
}

.site-footer nav{
    margin-top: auto;
}

.site-footer nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
}

.site-footer nav ul li {
    margin-bottom: 5px;      /* Kilőjük a korábbi 12px-es alsó margót */
    display: flex;
    align-items: center;   /* Hogy az elválasztó vonal is középen legyen */
}

.site-footer nav ul li:not(:last-child):after {
    content: "|" !important;       /* Beillesztjük a függőleges vonalat */
    display: inline-block !important;
    margin-left: 12px;             /* Távolság a vonal előtt */
    margin-right: 12px;            /* Távolság a vonal után */
    color: var(--wp--preset--site-text-color); /* Megörökli a szövegszínt */
    opacity: 0.4;                  /* Opcionális: kicsit halványítunk rajta, hogy ne legyen túl tolakodó */
}

.site-footer nav ul li a {
    text-decoration: none;
    transition: color 0.2s ease;
}

.site-footer nav a {
    color: var(--wp--preset--site-text-color);
    white-space: nowrap;
}

.site-footer nav ul li:after,
.site-footer nav ul li a:after {
    content: none !important;
    display: none !important;
}

.site-footer nav ul.sub-menu {
    display: block !important; 
    position: static !important; 
    visibility: visible !important;
    opacity: 1 !important;
    
    margin-top: 10px;
    padding-left: 15px;
    transform: none;
    box-shadow: none;
}

.site-footer nav ul.sub-menu li {
    font-size: 13px;
    margin-bottom: 8px;
}

.site-footer nav ul.sub-menu li a {
    display: inline-block;
    padding-top: 0;
    padding-bottom: 0;
}



.site-footer nav ul.sub-menu {
    padding-left: 0;
}


.footer-logo-col {
    justify-content: flex-end;
}

.footer-logo-col a {
    margin-right: auto;
}

.is-mobile .footer-logo-col a{
    margin-left: auto;
    margin-right: auto;
}

.footer-logo-col img {
    max-width: 160px;
    height: auto;
}

.footer-site-title {
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
}

.footer-copyright-col {
    justify-content: flex-end;
    font-size: var(--wp--preset--font-size--small);
    text-align: right;
    margin-right: 2vw;
}

.is-mobile .footer-copyright-col {
    justify-content: center;
    text-align: center;
}


.is-mobile .footer-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    }



.is-mobile .footer-container {
    grid-template-columns: 1fr;
    text-align: center;
}



.footer-logo-col {
    align-items: center;
    }


/* ====== yesCookie eltüntetése nyomtatási képről ====== */
@media print {
    .cky-btn-revisit-wrapper,
    .cky-consent-container,
    #cky-consent,
    .cookieyesBtn,
    [class*="cookie"] {
        display: none !important;
    }

    .site-header,
    .header-fixed-wrapper,
    [class*="slideshow"],
    [class*="slider"],
    .wp-block-cover,
    nav,
    .main-navigation {
        display: none !important;
    }

    body {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    p, h1, h2, h3, li {
        orphans: 3;
        widows: 3;
        page-break-inside: avoid;
    }

    h1, h2, h3 {
        page-break-after: avoid;
    }
}

#jogi-elfogad, #adatkezeles-elfogad{
    font-size: var(--wp--preset--font-size--x-large);
    width:auto;
}

.jogi-scroll-box {
  height: 22vw;
  width: 70%;
  overflow-y: scroll;
  border: 1px solid #ccc;
  padding: 16px;
  background: #fafafa;
  line-height: 1.6;
  margin-bottom: 12px;
  min-height: 280px;
  max-height: 500px;
}

.jogi-check-label{
    font-size: var(--wp--preset--font-size--medium);
    width: auto;
    display: flex;
    align-items: center;
}

.is-mobile .jogi-scroll-box {
  width: 100%;
  height: 280px;
}

.jogi-scroll-box h2 {
  font-size: var(--wp--preset--font-size--medium);
}

.jogi-scroll-box p {
  font-size: var(--wp--preset--font-size--small);
}



.verzio-szoveg {
    font-style: italic;
    color: #888;
    margin-top: 2rem;
}

.ti-inner{
    display: none !important;
}