/*
Theme Name: hozzafer.hu
Description: Bootstrap 5 alapú WordPress sablon akadálymentesítési szakmai oldalhoz
Version: 2.0
*/

/* ========================
   CSS Változók
======================== */
:root {
    --bs-primary: #6366f1;
    --bs-primary-rgb: 99, 102, 241;
    --bs-secondary: #14b8a6;
    --bs-success: #10b981;
    --bs-info: #3b82f6;
    --bs-warning: #f59e0b;
    --bs-danger: #ef4444;
    --bs-dark: #1e293b;
    --bs-body-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ========================
   Alapstílusok
======================== */
body {
    font-family: var(--bs-body-font-family);
}

/* Általános szövegtörés minden elemre */
* {
    word-wrap: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
}

/* Hosszú szavak és URL-ek törése */
p, h1, h2, h3, h4, h5, h6, li, span, div {
    hyphens: auto;
    word-break: break-word;
}

/* WCAG minimum touch target méretek */
button, input, select, textarea, a {
    min-height: 44px;
    min-width: 44px;
}

/* Clearfix és margin collapse elkerülése */
.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Floating elemek tiszta elválasztása */
.float-left, .float-right {
    margin: 1rem;
}

/* Sidebar és main content közötti átfedés elkerülése */
.sidebar, .widget-area {
    position: relative;
    z-index: 2;
}

main, #main, .main-content {
    position: relative;
    z-index: 1;
    isolation: isolate; /* Új stacking context */
    margin-top: 0; /* Navbar utáni margó eltávolítása */
}

/* Bootstrap grid sistem átfedések elkerülése */
.row {
    margin-left: 0;
    margin-right: 0;
    contain: layout;
    isolation: isolate;
}

.col, [class*="col-"] {
    position: relative;
    z-index: 1;
    contain: layout;
}

/* Flexbox elemek átfedés elkerülése */
.d-flex, .flex-row, .flex-column {
    position: relative;
    z-index: 1;
    contain: layout;
    isolation: isolate;
}

/* Container elemek közötti átfedés elkerülése */
.container, .container-fluid {
    contain: layout;
    isolation: isolate;
}

/* Card és egyéb komponensek */
.card {
    contain: layout;
    isolation: isolate;
    position: relative;
    z-index: 1;
}

/* Általános átfedés megelőzési szabályok */
* {
    box-sizing: border-box;
}

*:before,
*:after {
    box-sizing: border-box;
}

/* Kivetel: inline elemek */
p a, span a, li a {
    min-width: auto;
    min-height: 44px; /* WCAG minimum mobilon is */
    padding: 0.5rem 0.75rem; /* Nagyobb touch area */
    display: inline-block;
    line-height: 1.4;
}

/* Mobilon minden link megfelelő touch target */
@media (max-width: 767px) {
    a {
        min-height: 44px;
        min-width: 44px;
        padding: 0.75rem 1rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
    
    /* Inline linkek mobilon */
    p a, span a, li a {
        display: inline-block;
        min-height: 44px;
        padding: 0.5rem 0.75rem;
        margin: 0.125rem;
        border-radius: 0.25rem;
        background: rgba(99, 102, 241, 0.1);
        transition: background-color 0.2s ease;
    }
    
    p a:hover, span a:hover, li a:hover {
        background: rgba(99, 102, 241, 0.2);
    }
}

/* Skip link - akadálymentesség */
.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999999;
    padding: 0.75rem 1.5rem; /* Nagyobb padding touch target-hez */
    min-height: 44px; /* WCAG minimum */
    min-width: 44px;
    background: var(--bs-primary);
    color: white;
    text-decoration: none;
    border-radius: 0 0 0.25rem 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.skip-link:focus {
    left: 6px;
    top: 7px;
    color: white;
}

/* Screen reader only */
.screen-reader-text {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

/* Z-index rétegek rendezése - átfedés elkerülésére */
.navbar {
    z-index: 1030; /* Bootstrap alapértelmezett navbar z-index */
    position: relative;
    isolation: isolate; /* Új stacking context */
    margin-bottom: 0; /* Margin eltávolítása */
}

/* Navbar utáni konténerek tiszta elválasztása */
.navbar ~ .container,
.navbar + div,
.navbar + main {
    position: relative;
    z-index: 1;
    clear: both;
    margin-top: 0;
}

.dropdown-menu {
    z-index: 1031;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    display: none;
    min-width: 200px;
    padding: 0.5rem 0;
    margin: 0;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 0.375rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.dropdown:hover .dropdown-menu,
.dropdown-menu.show {
    display: block !important;
}

/* Navbar után következő elemek margin-top javítása */
.navbar + * {
    margin-top: 0;
    padding-top: 0;
}

/* Container elemek tiszta elválasztása */
.container, .container-fluid {
    position: relative;
    z-index: 1;
}

/* Header és nav közötti clear separation */
header {
    position: relative;
    z-index: 10;
}

/* Main content és footer z-index */
main, .main-content {
    position: relative;
    z-index: 1;
    background: white; /* Háttér biztosítása */
    contain: layout; /* Layout containment */
}

footer {
    position: relative;
    z-index: 5;
    background: white;
    contain: layout;
}

/* Minden DIV elem átfedés elkerülése */
div {
    position: relative;
    z-index: 1;
}

/* Specifikus elemek z-index rendezése */
nav div {
    z-index: 2; /* Navbar-on belüli DIV-ek magasabb szinten */
}

main div {
    z-index: 1; /* Main-en belüli DIV-ek alap szinten */
}

/* Testvér elemek közötti átfedés elkerülése */
div + div {
    margin-left: 0;
    margin-top: 0;
    clear: none;
}

/* H3 és SPAN átfedés javítása (WCAG oldalon) */
h3, span {
    position: relative;
    z-index: 1;
    display: block;
    clear: both;
}

h3 + span,
span + h3 {
    margin-top: 0.5rem; /* Minimális távolság */
}

/* ========================
   Blog layout javítások
======================== */

/* Entry meta - dátum, szerző, kategória inline megjelenítése */
.entry-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
}

.entry-meta span {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.entry-meta .posted-on,
.entry-meta .byline,
.entry-meta .cat-links {
    display: inline-flex !important;
    align-items: center !important;
}

/* Comment form label és required inline megjelenítése */
.form-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
}

.form-label .required {
    display: inline !important;
    color: var(--bs-danger) !important;
    font-weight: bold !important;
}

/* ========================
   Navigáció testreszabása
======================== */
.navbar-brand {
    font-weight: 600;
    font-size: 1.25rem;
    min-height: 44px; /* WCAG minimum */
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
}

.navbar-nav .nav-link {
    font-weight: 500;
    padding: 0.75rem 1rem; /* Nagyobb padding touch target-hez */
    min-height: 44px; /* WCAG minimum */
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
}

.navbar-nav .nav-link:hover {
    color: var(--bs-primary) !important;
}

.navbar-nav .dropdown-menu {
    border: none;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.navbar-nav .dropdown-item {
    padding: 0.75rem 1rem; /* WCAG minimum touch target */
    min-height: 44px;
    display: flex;
    align-items: center;
}

/* ========================
   WordPress tartalom
======================== */
/* Container fix */
.entry-content {
    max-width: 100%;
    overflow-x: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
    position: relative;
    z-index: 1; /* Alap z-index */
}

.entry-content > * {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-weight: 600;
}

.entry-content > p {
    margin-bottom: 1.5rem;
    line-height: 1.7;
    max-width: 100%;
}

.entry-content ul,
.entry-content ol {
    margin-bottom: 1.5rem;
    padding-left: 1.25rem;
}

.entry-content li {
    margin-bottom: 0.5rem;
}

.entry-content a {
    color: var(--bs-primary);
    text-decoration: underline;
}

.entry-content a:hover {
    color: var(--bs-primary);
    opacity: 0.8;
}

/* WordPress blokkok */
.wp-block-image {
    margin: 2rem 0;
}

.wp-block-image img {
    height: auto;
    max-width: 100%;
}

.wp-block-quote {
    border-left: 4px solid var(--bs-primary);
    padding-left: 1.5rem;
    margin: 2rem 0;
    font-style: italic;
}

.wp-block-code,
.wp-block-preformatted {
    background: #f8f9fa;
    padding: 1rem;
    border-radius: 0.375rem;
    overflow-x: auto;
}

.wp-block-button__link {
    background: var(--bs-primary);
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 0.375rem;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.wp-block-button__link:hover {
    background: var(--bs-primary);
    opacity: 0.9;
    color: white;
}

/* ========================
   Gutenberg Bootstrap integráció - KEVÉSBÉ AGRESSZÍV
======================== */

/* Gutenberg oszlopok - tiszteletben tartjuk az alapbeállításokat */
.wp-block-columns {
    margin: 2rem 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.wp-block-column {
    word-wrap: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
}

/* NEM írjuk felül a szélességeket - hagyjuk a Gutenbergre */

/* Gutenberg Group blokkok - csak finomhangolás */
.wp-block-group {
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Bootstrap card-szerű megjelenés CSAK a hátteres group-okra */
.wp-block-group.has-background {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    transition: all 0.3s ease;
    border-radius: 0.5rem;
}

/* Kártya hover effekt */
.wp-block-group.has-background:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* Alapvető szövegtörés minden elemre */
.wp-block-group h2,
.wp-block-group h3,
.wp-block-group p,
.wp-block-group li {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Kisebb finomhangolások */
.wp-block-group h2 {
    margin-top: 0;
}

.wp-block-group ul {
    padding-left: 1.5rem;
}

/* Mobil megjelenés - hagyjuk a Gutenbergre */
@media (max-width: 768px) {
    .wp-block-columns {
        margin: 1rem 0;
    }
    
    .wp-block-column {
        margin-bottom: 1rem;
    }
}

/* ========================
   Blog kártyák
======================== */
.card {
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    transition: all 0.3s ease;
}

.card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.card-title a {
    color: var(--bs-dark);
    text-decoration: none;
}

.card-title a:hover {
    color: var(--bs-primary);
}

/* ========================
   Oldalszámozás
======================== */
.page-numbers {
    display: inline-flex;
    padding-left: 0;
    list-style: none;
}

.page-numbers li {
    margin: 0 0.25rem;
}

.page-numbers a,
.page-numbers span {
    display: block;
    padding: 0.375rem 0.75rem;
    color: var(--bs-primary);
    text-decoration: none;
    background-color: white;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    transition: all 0.3s ease;
}

.page-numbers a:hover {
    background-color: var(--bs-primary);
    color: white;
    border-color: var(--bs-primary);
}

.page-numbers .current {
    background-color: var(--bs-primary);
    color: white;
    border-color: var(--bs-primary);
}

/* ========================
   Widget területek
======================== */
.widget ul {
    list-style: none;
    padding: 0;
}

.widget ul li {
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.widget ul li:last-child {
    border-bottom: none;
}

.widget a {
    color: var(--bs-dark);
    text-decoration: none;
}

.widget a:hover {
    color: var(--bs-primary);
}

/* Footer widget */
footer .widget ul li {
    border-color: rgba(255, 255, 255, 0.1);
}

footer .widget a {
    color: rgba(255, 255, 255, 0.8);
}

footer .widget a:hover {
    color: white;
}

/* ========================
   Hozzászólások
======================== */
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    padding: 0.375rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    font-size: 1rem;
}

.comment-form input[type="submit"] {
    background: var(--bs-primary);
    color: white;
    border: none;
    padding: 0.375rem 1.5rem;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.comment-form input[type="submit"]:hover {
    background: var(--bs-primary);
    opacity: 0.9;
}

/* ========================
   Hírlevél form
======================== */
.newsletter-form {
    color: white;
}

/* ========================
   Reszponzív beállítások
======================== */
@media (max-width: 768px) {
    .navbar-brand {
        font-size: 1rem;
    }
    
    .entry-content h1 { font-size: 1.75rem; }
    .entry-content h2 { font-size: 1.5rem; }
    .entry-content h3 { font-size: 1.25rem; }
}

/* ========================
   WordPress admin bar fix
======================== */
.admin-bar .sticky-top {
    top: 32px;
}

@media (max-width: 782px) {
    .admin-bar .sticky-top {
        top: 46px;
    }
}

/* ========================
   Akadálymentesség
======================== */
*:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

/* Mozgáscsökkentés támogatása */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ========================
   Gutenberg színpaletta
======================== */
.has-white-background-color {
    background-color: #ffffff !important;
}

.has-light-blue-background-color {
    background-color: #e6f7ff !important;
}

.has-light-gold-background-color {
    background-color: #fff9e6 !important;
}

.has-light-purple-background-color {
    background-color: #f3e6ff !important;
}

.has-light-gray-background-color {
    background-color: #f8f9fa !important;
}

.has-indigo-background-color {
    background-color: #6366f1 !important;
}

.has-teal-background-color {
    background-color: #14b8a6 !important;
}

.has-text-color {
    color: inherit;
}

/* Gutenberg gombok */
.wp-block-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 2rem 0;
    justify-content: flex-start;
}

.wp-block-button {
    display: inline-block;
    margin: 0 !important;
}

.wp-block-button__link {
    display: inline-block;
    padding: 0.5rem 1.5rem !important;
    font-size: 1rem !important;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    text-decoration: none !important;
    color: white !important;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: 1px solid transparent;
    border-radius: 0.375rem;
    transition: all 0.15s ease-in-out;
}

.wp-block-button__link[style*="background"] {
    color: white !important;
}

.wp-block-button__link:hover {
    opacity: 0.85;
    transform: translateY(-1px);
    color: white !important;
}

/* Elválasztók */
.wp-block-separator {
    border: none;
    border-top: 1px solid #dee2e6;
    margin: 3rem 0;
    opacity: 1;
}

/* ========================
   Egyéb testreszabások
======================== */
.bg-light {
    background-color: #f8f9fa !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-primary:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    opacity: 0.9;
}

.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* ========================
   Layout és Positioning Javítások
   Element overlapping problémák megoldása
======================== */

/* Alapvető z-index rendszer - !important hozzáadása a magasabb specificitáshoz */
.navbar {
    z-index: 1030 !important;
    position: relative !important;
    isolation: isolate !important;
    contain: layout !important;
}

main {
    position: relative !important;
    z-index: 1 !important;
    margin-top: 0 !important;
    padding-top: 1rem !important;
    isolation: isolate !important;
    contain: layout !important;
}

/* Általános div elemek */
div {
    position: relative !important;
    z-index: 1 !important;
}

/* Container elemek */
.container,
.container-fluid {
    contain: layout !important;
    isolation: isolate !important;
    position: relative !important;
}

/* Header és nav elemek specifikus javítása */
header {
    position: relative !important;
    z-index: 100 !important;
    isolation: isolate !important;
}

nav {
    position: relative !important;
    z-index: 1020 !important;
    isolation: isolate !important;
}

/* H címek és span elemek közötti átfedés javítása */
h1, h2, h3, h4, h5, h6 {
    position: relative !important;
    z-index: 2 !important;
    margin-bottom: 1rem !important;
    clear: both !important;
}

h3 span {
    position: relative !important;
    z-index: 3 !important;
    display: inline-block !important;
    margin: 0.25rem 0 !important;
}

/* Specifikus elemek javítása */
.card {
    position: relative !important;
    z-index: 2 !important;
    margin-bottom: 1.5rem !important;
    isolation: isolate !important;
}

.card-body {
    position: relative !important;
    z-index: 1 !important;
}

/* Row és col elemek */
.row {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
}

.col,
[class*="col-"] {
    position: relative !important;
    z-index: 1 !important;
    min-height: 1px !important;
}

/* Flexbox elemek */
.d-flex {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
}

/* Grid elemek */
.d-grid {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
}

/* Spacer elemek */
.my-1, .my-2, .my-3, .my-4, .my-5,
.mb-1, .mb-2, .mb-3, .mb-4, .mb-5,
.mt-1, .mt-2, .mt-3, .mt-4, .mt-5 {
    position: relative !important;
}

/* Specifikus komponensek javítása */
.navbar-nav {
    position: relative !important;
    z-index: 1 !important;
}

.navbar-brand {
    position: relative !important;
    z-index: 2 !important;
}

/* Footer elemek */
footer {
    position: relative !important;
    z-index: 10 !important;
    margin-top: 3rem !important;
    clear: both !important;
}

/* Breadcrumb és egyéb navigációs elemek */
.breadcrumb {
    position: relative !important;
    z-index: 5 !important;
    margin-bottom: 1rem !important;
}

/* Overlay és modal elemek magasabb z-index */
.modal {
    z-index: 1050;
}

.modal-backdrop {
    z-index: 1040;
}

/* Must Have Cookie plugin - footer utáni div-ek pozícionálása - legerősebb specificitás */
body div.mhcookie-dialog-wrapper[class*="mhcookie"],
body div.mhcookie-functional-blocked[class*="mhcookie"], 
body div.mhcookie-preferences-toggle[class*="mhcookie"],
body div.mhcookie-banner[class*="mhcookie"] {
    position: fixed !important;
    z-index: 1060 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Cookie dialog pozícionálás - legerősebb specificitás */
body div.mhcookie-dialog-wrapper[class*="mhcookie"] {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    height: auto !important;
    max-width: 90vw !important;
    max-height: 90vh !important;
}

/* Cookie banner pozícionálás - alul középen - legerősebb specificitás */
body div.mhcookie-banner[class*="mhcookie"] {
    bottom: 20px !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    max-width: 600px !important;
    width: 90% !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* Preferences toggle pozícionálás - jobb alsó sarok - legerősebb specificitás */
body div.mhcookie-preferences-toggle[class*="mhcookie"] {
    bottom: 20px !important;
    right: 20px !important;
    left: auto !important;
    top: auto !important;
}

/* Functional blocked pozícionálás - legerősebb specificitás */
body div.mhcookie-functional-blocked[class*="mhcookie"] {
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* Tooltip és popover elemek */
.tooltip {
    z-index: 1070;
}

.popover {
    z-index: 1060;
}

/* Sticky és fixed pozíciójú elemek javítása */
.sticky-top {
    z-index: 1020;
}

.fixed-top {
    z-index: 1030;
}

/* Specifikus osztályok a plugin számára */
.wcag-specific {
    position: relative;
    z-index: 1;
    isolation: isolate;
}

/* Lista elemek */
ul, ol {
    position: relative !important;
    z-index: 1 !important;
}

li {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 0.5rem !important;
}

/* Paragraph elemek */
p {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 1rem !important;
}

/* Kép elemek */
img {
    position: relative;
    z-index: 1;
    max-width: 100%;
    height: auto;
}

/* Form elemek */
form {
    position: relative;
    z-index: 5;
    isolation: isolate;
}

.form-group,
.mb-3 {
    position: relative;
    z-index: 1;
    margin-bottom: 1rem;
}

input,
select,
textarea {
    position: relative;
    z-index: 1;
}

/* Button elemek */
button,
.btn {
    position: relative;
    z-index: 10;
}

/* Article és section elemek */
article {
    position: relative;
    z-index: 1;
    isolation: isolate;
}

section {
    position: relative;
    z-index: 1;
    isolation: isolate;
}

/* Aside elemek */
aside {
    position: relative;
    z-index: 1;
    isolation: isolate;
}

/* Table elemek */
table {
    position: relative;
    z-index: 1;
}

/* Blockquote elemek */
blockquote {
    position: relative;
    z-index: 1;
    margin: 1rem 0;
}

/* Pre és code elemek */
pre,
code {
    position: relative;
    z-index: 1;
}

/* Span elemek általános javítása */
span {
    position: relative !important;
    z-index: 1 !important;
}

/* Strong és em elemek */
strong,
em {
    position: relative !important;
    z-index: 1 !important;
}

/* Link elemek */
a {
    position: relative !important;
    z-index: 2 !important;
}

/* Clearfix segédosztály */
.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Overflow kezelése */
.overflow-hidden {
    overflow: hidden;
}

/* Text overflow */
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Responsive margin és padding javítások */
@media (max-width: 768px) {
    main {
        padding-top: 0.5rem;
    }
    
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 0.75rem;
    }
}

/* Desktop specifikus javítások */
@media (min-width: 992px) {
    main {
        padding-top: 1.5rem;
    }
}

/* További specifikus javítások a detected problémákhoz */
.navbar + main {
    margin-top: 0;
}

.navbar-nav .nav-link {
    position: relative;
    z-index: 1;
}

/* WordPress specifikus javítások */
.wp-block-group {
    position: relative;
    z-index: 1;
    isolation: isolate;
}

.wp-block-columns {
    position: relative;
    z-index: 1;
    isolation: isolate;
}

.wp-block-column {
    position: relative;
    z-index: 1;
}

/* Admin bar kezelése ha van */
@media screen and (min-width: 783px) {
    html[class*="admin-bar"] .navbar {
        top: 32px;
    }
}

@media screen and (max-width: 782px) {
    html[class*="admin-bar"] .navbar {
        top: 46px;
    }
}

/* ========================
   További Responsive Javítások
   Breakpoint-specifikus problémák megoldása
======================== */

/* Extra Large Desktop (1440px+) */
@media (min-width: 1440px) {
    main {
        padding-top: 2rem;
    }
    
    .container {
        max-width: 1320px;
    }
    
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 1.25rem;
    }
}

/* Large Desktop (1200px-1439px) */
@media (min-width: 1200px) and (max-width: 1439px) {
    main {
        padding-top: 1.75rem;
    }
    
    .container {
        max-width: 1140px;
    }
}

/* Desktop (992px-1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    main {
        padding-top: 1.5rem;
    }
    
    .container {
        max-width: 960px;
    }
    
    .navbar-nav .nav-link {
        padding: 0.5rem 0.75rem;
    }
}

/* Large Tablet (768px-991px) */
@media (min-width: 768px) and (max-width: 991px) {
    main {
        padding-top: 1rem;
    }
    
    .container {
        max-width: 720px;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 1rem;
    }
    
    .navbar-collapse {
        margin-top: 0.5rem;
    }
    
    .navbar-nav {
        padding-left: 0;
    }
    
    .navbar-nav .nav-link {
        padding: 0.75rem 1rem;
    }
}

/* Small Tablet (576px-767px) */
@media (min-width: 576px) and (max-width: 767px) {
    main {
        padding-top: 0.75rem;
    }
    
    .container {
        max-width: 540px;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    
    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }
    h4 { font-size: 1.125rem; }
    h5 { font-size: 1rem; }
    h6 { font-size: 0.875rem; }
    
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
}

/* Mobile (320px-575px) */
@media (max-width: 575px) {
    main {
        padding-top: 0.5rem;
    }
    
    .container {
        width: 100%;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    
    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.25rem; }
    h3 { font-size: 1.125rem; }
    h4 { font-size: 1rem; }
    h5 { font-size: 0.875rem; }
    h6 { font-size: 0.75rem; }
    
    .btn {
        padding: 0.5rem 0.75rem;
        font-size: 0.8rem;
        min-width: 44px;
        min-height: 44px;
    }
    
    .navbar-brand {
        font-size: 1rem;
    }
    
    .navbar-toggler {
        padding: 0.25rem 0.5rem;
        font-size: 0.875rem;
    }
}

/* Small Mobile (max 320px) */
@media (max-width: 320px) {
    .container {
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
    
    h1 { font-size: 1.25rem; }
    h2 { font-size: 1.125rem; }
    h3 { font-size: 1rem; }
    
    .btn {
        font-size: 0.75rem;
        padding: 0.5rem;
    }
}

/* Landscape orientation javítások */
@media (orientation: landscape) and (max-height: 600px) {
    main {
        padding-top: 0.5rem;
    }
    
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 0.75rem;
    }
    
    .container {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

/* Print-specifikus override */
@media print {
    main {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    
    .navbar,
    .navbar-collapse,
    .navbar-nav {
        display: none !important;
    }
    
    .container {
        max-width: none !important;
        padding: 0 !important;
    }
    
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        margin-bottom: 0.5rem;
    }
}

/* Touch device optimalizáció */
@media (hover: none) and (pointer: coarse) {
    button,
    .btn,
    a,
    input,
    select,
    textarea {
        min-height: 44px;
        min-width: 44px;
    }
    
    .navbar-nav .nav-link {
        padding: 0.75rem 1rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }
}

/* High DPI képernyők */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .navbar-brand img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* ========================
   Globális Override Szabályok
   Végső biztosíték az element overlapping ellen
======================== */

/* Homepage specifikus override */
body.home nav {
    position: relative !important;
    z-index: 1030 !important;
    isolation: isolate !important;
}

body.home main {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
    margin-top: 0 !important;
}

body.home div {
    position: relative !important;
    z-index: 1 !important;
}

body.home h1, body.home h2, body.home h3, 
body.home h4, body.home h5, body.home h6 {
    position: relative !important;
    z-index: 3 !important;
}

body.home span {
    position: relative !important;
    z-index: 2 !important;
}

/* Általános body szintű override */
body nav {
    position: relative !important;
    z-index: 1030 !important;
    isolation: isolate !important;
}

body main {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
    margin-top: 0 !important;
}

body div {
    position: relative !important;
    z-index: 1 !important;
}

body h1, body h2, body h3, body h4, body h5, body h6 {
    position: relative !important;
    z-index: 3 !important;
}

body span {
    position: relative !important;
    z-index: 2 !important;
}

/* Specifikus Bootstrap override */
.container > div,
.container-fluid > div {
    position: relative !important;
    z-index: 1 !important;
}

.row > div,
.row > [class*="col-"] {
    position: relative !important;
    z-index: 1 !important;
}

/* ========================
   Code Overflow Javítások
   Kritikus problémák megoldása
======================== */

/* Code elemek responsive javítása */
code,
.code,
pre code {
    max-width: 100% !important;
    overflow-x: auto !important;
    word-wrap: break-word !important;
    word-break: break-all !important;
    white-space: pre-wrap !important;
    display: inline-block !important;
    box-sizing: border-box !important;
}

/* Pre elemek javítása */
pre {
    max-width: 100% !important;
    overflow-x: auto !important;
    word-wrap: break-word !important;
    white-space: pre-wrap !important;
    box-sizing: border-box !important;
}

/* Inline code elemek specifikus javítása */
p code,
li code,
td code,
span code {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-all !important;
    white-space: normal !important;
    display: inline !important;
}

/* Mobile specifikus code javítások */
@media (max-width: 768px) {
    code,
    .code,
    pre code {
        font-size: 0.8rem !important;
        line-height: 1.3 !important;
        padding: 0.25rem 0.5rem !important;
        border-radius: 0.25rem !important;
        background: #f8f9fa !important;
        border: 1px solid #dee2e6 !important;
    }
    
    pre {
        padding: 1rem !important;
        margin: 1rem 0 !important;
        background: #f8f9fa !important;
        border: 1px solid #dee2e6 !important;
        border-radius: 0.5rem !important;
    }
}

/* ========================
   Touch Target Javítások  
   44x44px minimum méret biztosítása
======================== */

/* Általános link javítások */
a {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.5rem !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* Specifikus kis linkek javítása */
a[href]:not(.btn):not(.navbar-brand):not(.nav-link) {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0.75rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Breadcrumb és navigációs linkek */
.breadcrumb a,
.pagination a,
.nav-link {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0.75rem 1rem !important;
}

/* Inline text linkek speciális kezelése */
p a,
li a,
td a,
span a {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0.5rem 0.75rem !important;
    margin: 0.25rem !important;
    border-radius: 0.25rem !important;
}

/* Mobile optimalizáció */
@media (max-width: 768px) {
    a {
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0.75rem 1rem !important;
        touch-action: manipulation !important;
    }
    
    /* Kis linkek mobilon */
    p a,
    li a,
    span a {
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0.75rem !important;
        margin: 0.25rem 0.125rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* ========================
   A-A és A-BUTTON Overlap Javítások
   Link és button ütközések megoldása
======================== */

/* Link spacing javítások */
a + a {
    margin-left: 0.5rem !important;
    margin-top: 0.25rem !important;
}

/* Button és link kombinációk */
a + button,
button + a {
    margin-left: 0.5rem !important;
    margin-top: 0.25rem !important;
}

/* Tag clouds és kategória linkek */
.tag-cloud a,
.categories a,
.tags a,
.post-meta a {
    margin: 0.25rem !important;
    display: inline-block !important;
    padding: 0.5rem 0.75rem !important;
    background: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.25rem !important;
    text-decoration: none !important;
    color: #6c757d !important;
    transition: all 0.2s ease !important;
}

.tag-cloud a:hover,
.categories a:hover,
.tags a:hover,
.post-meta a:hover {
    background: #e9ecef !important;
    border-color: #adb5bd !important;
    color: #495057 !important;
}

/* Breadcrumb linkek */
.breadcrumb-item a {
    margin-right: 0.5rem !important;
    padding: 0.5rem !important;
}

/* Pagination linkek */
.pagination-item a {
    margin: 0.125rem !important;
    padding: 0.75rem 1rem !important;
}

/* Post navigation linkek */
.post-navigation a {
    margin: 1rem 0 !important;
    padding: 1rem !important;
    display: block !important;
}

/* Social share linkek */
.social-share a {
    margin: 0.25rem !important;
    padding: 0.75rem !important;
    display: inline-block !important;
}

/* Author és meta linkek */
.author-meta a,
.post-date a,
.category-links a {
    margin: 0.25rem 0.5rem 0.25rem 0 !important;
    padding: 0.375rem 0.75rem !important;
    display: inline-block !important;
}

/* Related posts linkek */
.related-posts a {
    margin: 0.5rem 0 !important;
    padding: 1rem !important;
    display: block !important;
}

/* Comments linkek */
.comment-meta a,
.comment-navigation a {
    margin: 0.25rem 0.5rem !important;
    padding: 0.5rem !important;
}

/* Mobile specifikus link spacing */
@media (max-width: 768px) {
    a + a {
        margin-left: 0.25rem !important;
        margin-top: 0.5rem !important;
        display: block !important;
        margin-bottom: 0.5rem !important;
    }
    
    .tag-cloud a,
    .categories a,
    .tags a {
        margin: 0.25rem 0.125rem !important;
        padding: 0.5rem !important;
        font-size: 0.875rem !important;
    }
    
    .post-meta a {
        display: block !important;
        margin: 0.5rem 0 !important;
        padding: 0.75rem !important;
        width: 100% !important;
        text-align: center !important;
    }
}

/* ========================
   CODE-CODE Overlap Javítások
   Kód elemek közötti átfedések megoldása
======================== */

/* Code elemek közötti spacing */
code + code {
    margin-left: 0.5rem !important;
    margin-top: 0.25rem !important;
}

/* Pre és code kombinációk */
pre + pre {
    margin-top: 1rem !important;
}

pre + code,
code + pre {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
}

/* Inline code elemek párban */
code + br + code {
    margin-top: 0.5rem !important;
}

/* Code blocks container javítása */
.code-block,
.highlight,
.wp-block-code {
    margin: 1rem 0 !important;
    padding: 0.5rem !important;
    isolation: isolate !important;
}

/* Syntax highlighting támogatás */
.highlight pre,
.highlight code {
    margin: 0 !important;
    padding: 0.75rem !important;
    background: #f8f9fa !important;
    border-radius: 0.375rem !important;
}

/* Multiple code elements in same line */
p code + code,
li code + code,
td code + code {
    margin-left: 0.5rem !important;
    margin-right: 0.25rem !important;
}

/* Code snippets in lists */
li code {
    margin: 0.125rem 0.25rem !important;
    padding: 0.25rem 0.5rem !important;
    background: #f1f3f4 !important;
    border: 1px solid #dadce0 !important;
    border-radius: 0.25rem !important;
}

/* Table code elements */
td code,
th code {
    margin: 0.125rem !important;
    padding: 0.25rem 0.375rem !important;
    font-size: 0.875rem !important;
}

/* Code in headings */
h1 code, h2 code, h3 code, 
h4 code, h5 code, h6 code {
    font-size: 0.9em !important;
    padding: 0.25rem 0.5rem !important;
    margin: 0 0.25rem !important;
    background: rgba(248, 249, 250, 0.8) !important;
    border-radius: 0.25rem !important;
}

/* Mobile code spacing optimalizáció */
@media (max-width: 768px) {
    code + code {
        display: block !important;
        margin-left: 0 !important;
        margin-top: 0.5rem !important;
        margin-bottom: 0.25rem !important;
    }
    
    p code + code,
    li code + code {
        display: inline-block !important;
        margin: 0.25rem 0.125rem !important;
    }
    
    .highlight,
    .code-block {
        margin: 0.75rem 0 !important;
        padding: 0.5rem !important;
    }
}

/* ========================
   UNIVERZÁLIS GUTENBERG BLOKK JAVÍTÁSOK
   2024-12-12
   
   Minden Gutenberg alapú oldalra érvényes javítások
   Javított problémák:
   - NAV-DIV átfedések
   - MAIN-DIV átfedések  
   - STRONG-STRONG átfedések
   - Gutenberg blokkok közötti átfedések
======================== */

/* Main content extra padding minden oldalon - JAVÍTVA */
main, #main, .site-main {
    padding-top: 2rem !important;
    isolation: isolate !important;
    contain: none !important; /* layout helyett none, hogy a child elemek ne fedjenek */
    overflow: visible !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ========================
   GUTENBERG BLOKKOK - UNIVERZÁLIS
======================== */

/* Minden Gutenberg blokk alapértelmezett kezelése - JAVÍTVA */
.wp-block-group {
    position: relative !important;
    z-index: auto !important;
    isolation: auto !important; /* isolate helyett auto */
    contain: none !important; /* layout helyett none */
    margin-bottom: 2rem !important;
    clear: both !important;
    overflow: visible !important;
}

/* Színes hátteres Gutenberg blokkok */
.wp-block-group.has-background {
    position: relative !important;
    z-index: 2 !important;
    margin: 2rem 0 !important;
    padding: 2rem !important;
    overflow: visible !important;
    clear: both !important;
}

/* Egymás utáni Gutenberg blokkok közötti térköz */
.wp-block-group + .wp-block-group {
    margin-top: 2rem !important;
}

/* Új háttérszínek támogatása */
.has-pale-green-background-color {
    background-color: #e6ffeb !important;
}

.has-pale-purple-background-color {
    background-color: #f3e6ff !important;
}

/* ========================
   GUTENBERG CÍMSOROK
======================== */

/* H1 főcím Gutenberg blokkban */
h1.wp-block-heading {
    margin-bottom: 2rem !important;
    position: relative !important;
    z-index: 3 !important;
    clear: both !important;
}

/* H2 alcímek Gutenberg blokkokban */
h2.wp-block-heading {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
    position: relative !important;
    z-index: 2 !important;
    clear: both !important;
}

/* H3-H6 címsorok */
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
    margin-top: 0 !important;
    margin-bottom: 0.75rem !important;
    position: relative !important;
    z-index: 2 !important;
}

/* ========================
   GUTENBERG BEKEZDÉSEK
======================== */

.wp-block-paragraph {
    margin-bottom: 1.5rem !important;
    position: relative !important;
    line-height: 1.7 !important;
}

/* ========================
   GUTENBERG LISTÁK
======================== */

.wp-block-list {
    margin: 1rem 0 !important;
    padding-left: 2rem !important;
}

.wp-block-list li {
    margin-bottom: 0.75rem !important;
    position: relative !important;
    padding-left: 0.5rem !important;
    line-height: 1.6 !important;
}

/* Beágyazott listák */
.wp-block-list ul,
.wp-block-list ol {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* ========================
   GUTENBERG GOMBOK
======================== */

.wp-block-buttons {
    margin: 2rem 0 !important;
    position: relative !important;
    z-index: 5 !important;
    isolation: isolate !important;
}

.wp-block-button {
    position: relative !important;
    z-index: 5 !important;
}

.wp-block-button__link {
    position: relative !important;
    z-index: 5 !important;
    display: inline-block !important;
    padding: 1rem 2rem !important;
    min-height: 44px !important;
    min-width: 44px !important;
}

/* ========================
   GUTENBERG SPACER
======================== */

.wp-block-spacer {
    position: relative !important;
    z-index: 0 !important;
    clear: both !important;
    overflow: hidden !important;
}

/* ========================
   STRONG ELEMEK - UNIVERZÁLIS
======================== */

/* Strong elemek alapértelmezett kezelése - JAVÍTVA */
strong {
    display: inline !important;
    position: static !important; /* relative helyett static */
    z-index: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
}

/* Lista elemekben lévő strong-ok - JAVÍTVA */
li strong {
    display: inline !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Bekezdésekben lévő strong elemek - JAVÍTVA */
p strong {
    display: inline !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ========================
   SIDEBAR ÉS WIDGET TERÜLETEK
======================== */

.sidebar, 
.widget-area,
aside.widget-area {
    position: relative !important;
    z-index: 2 !important;
    isolation: isolate !important;
    contain: layout !important;
    padding: 1rem !important;
    margin-top: 2rem !important;
    clear: both !important;
}

/* ========================
   ENTRY CONTENT WRAPPER
======================== */

.entry-content {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
    overflow: visible !important;
}

/* Clearfix minden konténerre */
.entry-content::after,
.wp-block-group::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* ========================
   GUTENBERG OSZLOPOK
======================== */

.wp-block-columns {
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
    margin: 2rem 0 !important;
}

.wp-block-column {
    position: relative !important;
    z-index: 1 !important;
    contain: layout !important;
}

/* ========================
   GUTENBERG KÉPEK
======================== */

.wp-block-image {
    position: relative !important;
    z-index: 1 !important;
    margin: 2rem 0 !important;
}

/* ========================
   GUTENBERG IDÉZETEK
======================== */

.wp-block-quote {
    position: relative !important;
    z-index: 1 !important;
    margin: 2rem 0 !important;
    padding-left: 1.5rem !important;
}

/* ========================
   TABLET RESPONSIVE (769px - 1024px)
======================== */

@media (max-width: 1024px) and (min-width: 769px) {
    main, #main, .site-main {
        padding-top: 1.5rem !important;
    }
    
    .wp-block-group {
        margin-bottom: 1.5rem !important;
    }
    
    .sidebar, .widget-area {
        margin-top: 3rem !important;
    }
}

/* ========================
   MAIN ÉS DIV ÁTFEDÉSEK JAVÍTÁSA
======================== */

/* Main-en belüli div elemek - nem lehetnek magasabb z-index-en */
main div,
#main div,
.site-main div {
    position: static !important; /* vagy relative, de alacsonyabb z-index */
    z-index: auto !important;
}

/* Container és row elemek speciális kezelése */
main .container,
#main .container,
.site-main .container {
    position: relative !important;
    z-index: auto !important;
    contain: none !important;
}

main .row,
#main .row,
.site-main .row {
    position: relative !important;
    z-index: auto !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

main [class*="col-"],
#main [class*="col-"],
.site-main [class*="col-"] {
    position: relative !important;
    z-index: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Bg-light és egyéb utility osztályok */
main .bg-light,
#main .bg-light,
.site-main .bg-light {
    position: relative !important;
    z-index: auto !important;
}

/* ========================
   NAV ÉS DIV ÁTFEDÉS JAVÍTÁSA
======================== */

/* Navbar után következő elemek */
.navbar ~ * {
    margin-top: 0 !important;
    position: relative !important;
    z-index: auto !important;
}

/* Navbar közvetlen utáni div */
.navbar + div {
    margin-top: 0 !important;
    padding-top: 0 !important;
    position: relative !important;
    z-index: auto !important;
}

/* ========================
   MOBIL RESPONSIVE (max 768px)
======================== */

@media (max-width: 768px) {
    main, #main, .site-main {
        padding-top: 1rem !important;
    }
    
    .wp-block-group {
        margin-bottom: 1rem !important;
        padding: 1.5rem !important;
    }
    
    .wp-block-group.has-background {
        padding: 1.5rem !important;
        margin: 1rem 0 !important;
    }
    
    strong {
        display: inline !important;
        margin: 0 !important;
        padding: 0 0.125rem !important;
    }
    
    .sidebar, .widget-area {
        margin-top: 2rem !important;
        padding: 0.5rem !important;
    }
    
    .wp-block-list {
        padding-left: 1.5rem !important;
    }
    
    .wp-block-button__link {
        padding: 0.75rem 1.5rem !important;
    }
    
    h1.wp-block-heading {
        font-size: 1.75rem !important;
        margin-bottom: 1.5rem !important;
    }
    
    h2.wp-block-heading {
        font-size: 1.5rem !important;
        margin-bottom: 0.75rem !important;
    }
}

/* ========================
   GLOBÁLIS ÁTFEDÉS ELLENI JAVÍTÁSOK
   Végső megoldás az összes overlay problémára
======================== */

/* Minden elem alapértelmezett pozicionálása */
* {
    box-sizing: border-box !important;
}

/* Div elemek ne legyenek relative pozíciójúak alapértelmezetten - TÖRÖLVE COOKIE PROBLÉMA MIATT */

/* Bootstrap oszlopok és containerek egyszerűsített kezelése */
.container,
.container-fluid,
.row,
[class*="col-"] {
    position: static !important;
    z-index: auto !important;
    contain: none !important;
    isolation: auto !important;
}

/* Minden stacking context megszüntetése ahol nem szükséges */
.py-1, .py-2, .py-3, .py-4, .py-5,
.px-1, .px-2, .px-3, .px-4, .px-5,
.my-1, .my-2, .my-3, .my-4, .my-5,
.mx-1, .mx-2, .mx-3, .mx-4, .mx-5,
.mb-1, .mb-2, .mb-3, .mb-4, .mb-5,
.mt-1, .mt-2, .mt-3, .mt-4, .mt-5,
.bg-light, .bg-white, .bg-primary {
    position: static !important;
    z-index: auto !important;
}

/* Text elemek pozicionálás reset */
h1, h2, h3, h4, h5, h6, p, span, li, a {
    z-index: auto !important;
}

/* ========================
   MINIMÁL JAVÍTÁSOK
   Csak a legszükségesebb változtatások
======================== */

/* Semmi extra, hagyjuk az eredeti CSS-t működni */