/* public/css/custom.css */

/* Alapvető betűtípus beállítása */
/* 1. Képernyő magasságának biztosítása a gyökér elemeken */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* 2. Body beállítása Flexbox konténernek (vertikális elrendezés) */
body {
    display: flex;
    flex-direction: column;
	font-family: Arial, sans-serif;
    line-height: 1.6;
    overflow-x: hidden; /* Megakadályozza a vízszintes görgetést */
}

/* 3. A fő tartalom (main) növekedésének engedélyezése */
main {
    /* Ez biztosítja, hogy a main elem kitölt minden rendelkezésre álló helyet, 
       így tolja le a footert a képernyő aljára */
    flex-grow: 1;
}

/* 4. A lábléc fixálásának biztosítása */
footer {
    flex-shrink: 0; /* Megakadályozza, hogy a lábléc összenyomódjon */
}

main.container {
    flex-grow: 1;
    /* Ezt a paddingot adtuk hozzá, ami az mt-4-gyel megegyező eltolást okoz, de nem okoz görgetést Flexboxban */
    padding-top: 0; 
}

/* Felülírjuk a Bootstrap alap szürke navbárját egy egyedi színre */
/* Megjegyzés: A Bootstrap osztályát (bg-dark) kell felülírni */
.bg-dark {
    background-color: #334e68 !important; /* Saját kék-szürke */
}

/* Primary gomb színének felülírása */
.btn-primary {
    background-color: #f7a049; /* Narancssárga kiemelés */
    border-color: #e59039;
}

/* Hover és Active állapot */
.btn-primary:hover,
.btn-primary:active {
    background-color: #e59039; 
    border-color: #d48029; 
    /* Hogy felülírjuk a :hover stílus miatti box-shadow-t is, ha van */
    box-shadow: none !important;
}

/* JAVÍTÁS: A fókusz (kattintás, tabulálás) állapot agresszív felülírása */
.btn-primary:focus {
    /* Teljesen eltávolítja a vastag default szegélyt/box-shadow-t */
    box-shadow: none !important; 
    
    /* Visszaállítjuk a háttér és szegély színeket a sötétebb hover árnyalatra */
    background-color: #e59039; 
    border-color: #d48029;
}



/* Login gomb színének felülírása adminhoz */
.btn-primarylogin {
    background-color: #f7a049; /* Narancssárga kiemelés */
    border-color: #e59039;
    color: #ffffff;
}
/* Hover és Active állapot adminhoz*/
.btn-primarylogin:hover,
.btn-primarylogin:active {
    background-color: #d8720d; 
    border-color: #d48029; 
    /* Hogy felülírjuk a :hover stílus miatti box-shadow-t is, ha van */
    box-shadow: none !important;
    color: #ffffff;
}
/* JAVÍTÁS: A fókusz (kattintás, tabulálás) állapot agresszív felülírása */
.btn-primarylogin:focus {
    /* Teljesen eltávolítja a vastag default szegélyt/box-shadow-t */
    box-shadow: none !important; 
    /* Visszaállítjuk a háttér és szegély színeket a sötétebb hover árnyalatra */
    background-color: #d8720d; 
    border-color: #d48029;
    color: #ffffff;
}



/* Kiemelt gomb színének felülírása adminhoz */
.btn-primarysave {
    background-color: #f7a049; /* Narancssárga kiemelés */
    border-color: #d48029;

}
/* Hover és Active állapot admin gombokhoz*/
.btn-primarysave:hover,
.btn-primarysave:active {
    background-color: #d8720d; 
    border-color: #d48029; 
    /* Hogy felülírjuk a :hover stílus miatti box-shadow-t is, ha van */
    box-shadow: none !important;
}

/* JAVÍTÁS: A fókusz (kattintás, tabulálás) állapot agresszív felülírása */
.btn-primarysave:focus {
    box-shadow: none !important; 
    /* Visszaállítjuk a háttér és szegély színeket a sötétebb hover árnyalatra */
    background-color: #d8720d;
    border-color: #d48029;
}

/* Teljesen kikapcsoljuk az outline-t minden gombnál, ha a fenti nem segít */
.btn:focus {
    outline: none !important;
}


/* Eltolja a bejelentkezés gombot a fő menüpontoktól */
/* ÚJ SZABÁLY: CSAK A BEJELENTKEZÉS GOMBNAK AD MARGÓT */
#main-nav-links .nav-item.nav-login-btn,
#main-nav-links .nav-item.dropdown {
    margin-left: 25px; 
}

@media (max-width: 991.98px) {
    .container {
        /* Szélesség 95%-ra állítása (mobilon és tableten) */
        max-width: 100% !important; 
        
        /* Fontos: A Bootstrap 5 a konténerekre alapértelmezetten alkalmaz horizontális paddingot.
           Ezt a paddingot nullázzuk le mobilon, hogy a tartalom közelebb kerüljön a szélekhez. */
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* --- 1. CSOPORT: Fő konténerek (90% szélesség és középre igazítás) --- */
/* Ezek a közvetlenül a main-ben lévő, vagy fő elrendezést adó elemek */
.layout-builder-rendered .layout-row > .container,
.layout-row > .container-fluid,
.egyeb,
main > .container.mt-5,
main > .container.py-4 {
    width: 90% !important;
    max-width: 90% !important;
    margin-left: auto;
    margin-right: auto;
}

/* --- 2. CSOPORT: Beágyazott konténerek (100% szélesség) --- */
/* Mivel a szülőjük (fenti csoport) már 90%-os, ezeknek teljesen ki kell tölteniük a szülőt.
   Ez felülírja a Bootstrap alapértelmezett fix szélességeit a beágyazott elemeknél. */
main > .container.mt-5 > .container,
main > .container.py-4 > .container, /* <--- EZT ADTAM HOZZÁ A KÉP ALAPJÁN */
.category-wrapper,
article.container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0; /* Opcionális: a duplázott padding elkerülése végett */
    padding-right: 0;
}

/* A főoldali tartalom konténerének további belső margója */
.container {
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
}

main.container, header .navbar > .container { 
	max-width: 90% !important; 
   
}
  
footer .container { 
	max-width: 90% !important;
    width: 90% !important;
}

.container.mt-5 {
margin-top: 0 !important;	
}

.table > :not(:first-child) {
  border-top: 0px;
}

/* reCAPTCHA jelvény elrejtése */
.grecaptcha-badge { 
    visibility: hidden; 
}


.toggle-status-btn {
    cursor: pointer; 
    /* Ez biztosítja, hogy az egérmutató kéz (pointer) legyen, 
       jelezve a kattinthatóságot. */
}

 /* Beállítjuk a tartalom maximális szélességét, hogy ne nyúljon túl hosszúra az olvashatóság érdekében */
    .article-container {
        max-width: 90%;
        margin: 0 auto;
        padding-top: 20px;
        padding-bottom: 50px;
    }
    
    /* Cikk borítókép stílusa */
    .article-image {
        /*width: 100%;*/
		display: block;
		margin-left: auto;
		margin-right: auto;
        max-height: 450px; /* Magasság korlátozása nagy képeknél */
		max-width: 100%;
        object-fit: cover; /* Kitölti a rendelkezésre álló helyet, de nem torzít */
        border-radius: 8px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        margin-bottom: 30px;
    }

    /* A szövegtörzs olvashatóságának javítása */
    .article-content {
        font-size: 1.1rem;
        line-height: 1.8;
        color: #333;
    }
    .article-content p {
        margin-bottom: 1.5rem;
    }
    
    /* A TinyMCE által generált képek is korlátozott szélességűek legyenek */
    .article-content img {
        max-width: 100%;
        height: auto;
        border-radius: 6px;
    }

    /* Float right/left képek javítása - ne lógjanak ki a konténerből */
    .article-content img[style*="float: right"],
    .article-content img[style*="float:right"] {
        max-width: 50% !important;
        margin-left: 20px;
        margin-bottom: 15px;
        margin-top: 5px;
    }

    .article-content img[style*="float: left"],
    .article-content img[style*="float:left"] {
        max-width: 50% !important;
        margin-right: 20px;
        margin-bottom: 15px;
        margin-top: 5px;
    }

    /* Clearfix az article-content-hez, hogy a float-olt elemeket tartalmazza */
    .article-content::after {
        content: "";
        display: table;
        clear: both;
    }

    /* Reszponzív: mobilon a float képek teljes szélességűek legyenek */
    @media (max-width: 768px) {
        .article-content img[style*="float: right"],
        .article-content img[style*="float:right"],
        .article-content img[style*="float: left"],
        .article-content img[style*="float:left"] {
            float: none !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            display: block;
            margin-bottom: 15px;
        }
    }

    /* Kiemelt bevezető (excerpt) stílusa */
    .article-excerpt {
        font-size: 1.3rem;
        color: #555;
        border-left: 5px solid #007bff;
        padding-left: 15px;
        margin-bottom: 30px;
    }



/* Reszponzív finomítások a home.php mintájára */
@media (max-width: 576px) {
    .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    /* az oszlopköz csak ott nulla, ahol a sor nem kér kifejezetten térközt (g-* / gx-*: pl. a komponensek kártyarácsai) – 2026-10-19 */
    .row:not(:is(.g-1, .g-2, .g-3, .g-4, .g-5, .gx-1, .gx-2, .gx-3, .gx-4, .gx-5)) {
        --bs-gutter-x: 0;
    }
    .col-12, .px-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* Mobilron a lekerekítést érdemes levenni, ha a modulok is faltól-falig érnek, 
       de mivel kérted a lekerekítést, a 'rounded' osztályt fent hagytuk az article-en. */
}


.last-child-no-border:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


.btn-outline-category {
    color: #fd7e14;
    border-color: #fd7e14;
    background-color: transparent;
    transition: all 0.3s ease;
}

.btn-outline-category:hover {
    background-color: #fd7e14; /* A keret színe lesz a háttér */
    color: #ffffff;           /* A szöveg pedig fehér, hogy látszódjon */
    border-color: #fd7e14;
}

.btn-outline-seo {
    color: #20c997;
    border-color: #20c997;
    background-color: transparent;
    transition: all 0.3s ease;
}

.btn-outline-seo:hover {
    background-color: #20c997; /* A keret színe lesz a háttér */
    color: #ffffff;           /* A szöveg pedig fehér, hogy látszódjon */
    border-color: #20c997;
}


.btn-outline-indigo {
    color: #6610f2;
    border-color: #6610f2;
    background-color: transparent;
    transition: all 0.3s ease;
}

.btn-outline-indigo:hover {
    background-color: #6610f2; /* A keret színe lesz a háttér */
    color: #ffffff;           /* A szöveg pedig fehér, hogy látszódjon */
    border-color: #6610f2;
}

.btn-slider_button {
	display: inline-block;
    margin-top: 15px;
    padding: 10px 25px;
    background-color: #f7a049; 
    color: #ffffff;
    border-radius: 5px;
    transition: all 0.3s ease;

}
.btn-slider_button:hover {
	background-color: #f99938;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        
}


#main-nav-links .nav-item.dropdown1 {
    margin-left: 0 !important;
	position:relative;
}




/* Egységesített menü nyíl animáció (Oldalsáv + Lábléc) */
[data-bs-toggle="collapse"] .transition-icon {
    transition: transform 0.3s ease;
    font-size: 0.8rem;
    display: inline-block;
}

/* Amikor a vezérlő NEM collapsed (tehát nyitva van), forgassa a nyilat */
[data-bs-toggle="collapse"]:not(.collapsed) .transition-icon {
    transform: rotate(180deg);
}

/* Behúzás és elválasztó vonal javítása a lábléchez is */
.module .border-start, 
.footer-widget .border-start {
    border-left: 2px solid #dee2e6 !important;
    margin-left: 10px !important;
}

/* Hover effekt javítása a lábléchez is */
.footer-widget a.hover-primary:hover {
    color: #007bff !important;
    padding-left: 5px;
    transition: all 0.2s ease;
}

/* Footer widget képek korlátozása - megakadályozza a kilógást */
.footer-widget {
    overflow: hidden;
}

.footer-widget img {
    max-width: 100%;
    height: auto;
}

.footer-widget-content {
    overflow: hidden;
}

.footer-widget-content img {
    max-width: 100%;
    height: auto;
}


.nav-item-wrapper {
    display: flex;
    align-items: center;
}

.dropdown-item-wrapper {
    display: flex;
    align-items: center;
}

.dropdown-caret {
    padding: 0 8px;
 
}
.dropdown-split-hover .nav-item-wrapper .dropdown-caret{
   color: aliceblue;
}
.dropdown-split-hover.show .nav-item-wrapper .dropdown-caret{
   transform: rotate(180deg);
}
.dropdown-submenu.show .dropdown-caret  {
   transform: rotate(180deg);
}


/* =======================================
   GALÉRIA STÍLUSOK (Fancybox lightbox)
   ======================================= */

/* Galéria konténer */
.gallery-container {
    margin-bottom: 2rem;
}

.gallery-container .gallery-title {
    font-weight: 600;
    color: #333;
    padding-bottom: 0.5rem;
    display: inline-block;
}

/* Galéria képek grid */
.gallery-grid .gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.gallery-grid .gallery-thumb {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-grid .gallery-item:hover .gallery-thumb {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Overlay effekt hover-kor */
.gallery-grid .gallery-item::after {
    content: '\f00e'; /* FontAwesome nagyító ikon */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    color: white;
    font-size: 1.5rem;
    background: rgba(0, 0, 0, 0.5);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    pointer-events: none;
}

.gallery-grid .gallery-item:hover::after {
    transform: translate(-50%, -50%) scale(1);
}

/* Galéria kép felirat */
.gallery-grid small {
    font-size: 0.75rem;
    line-height: 1.2;
}


.gallery-page .gallery-thumb {
    width: 100%;
    height: 150px;
    object-fit: cover;
    cursor: zoom-in;
    transition: transform 0.3s ease;
}
.gallery-page .gallery-item:hover .gallery-thumb {
    transform: scale(1.02);
}



/* =======================================
   MODULOK EGYFORMA MAGASSÁG
   ======================================= */
/* 1. Oszlopok beállítása:
   A 'display: flex' miatt az oszlopban lévő tartalom (a modul)
   automatikusan megnyúlhat az oszlop aljáig. */
.layout-builder-rendered .row > [class*='col-'] {
    display: flex;
    flex-direction: column;
}

/* 2. Modul beállítása:
   A 'flex-grow: 1' biztosítja, hogy a modul kitöltse a magasságot.
   Így ha a szomszéd oszlop magasabb, ez a modul is megnő hozzá. */
.layout-builder-rendered .module {
    display: flex;
    flex-direction: column;
    flex-grow: 1;       /* Ez a kulcs a nyújtáshoz */
    width: 100%;        /* Biztosítjuk a szélességet */
    margin-bottom: 20px;
}

/* 3. Kártya (Card) beállítása:
   A 'height: 100%' miatt a kártya kerete végigér a modulon. */
.layout-builder-rendered .module .card {
    height: 100%; 
    display: flex;
    flex-direction: column;
}

/* 4. Kártya tartalom (Body):
   A 'flex-grow: 1' miatt a szöveges rész tölti ki az üres helyet,
   így a gomb lecsúszik az aljára. */
.layout-builder-rendered .module .card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* 5. Gomb igazítása az aljára */
.layout-builder-rendered .module .module-button,
.layout-builder-rendered .module .mt-3.text-center { 
    margin-top: auto; 
    padding-top: 15px;
}

/* ============================================================
   BRAND / LOGO ÉS SZÖVEG ELRENDEZÉSE (Header)
   ============================================================ */

/* A navbar konténerének kényszerítése az egy soros elrendezésre asztali és mobil nézetben is */
.navbar > .container {
    display: flex !important;
    flex-wrap: nowrap !important; /* Megakadályozza, hogy a toggler (gomb) új sorba kerüljön */
    align-items: center;
    justify-content: space-between;
}

/* A teljes brand rész elrendezése: kép balra, szöveg jobbra */
.brand-wrapper {
    display: flex;
    flex-direction: row;      /* Vízszintes elrendezés (kép és szöveg egymás mellett) */
    align-items: center;      /* Függőlegesen középre igazítja a logót és a szöveget */
    gap: 12px;                /* Távolság a logó kép és a szöveg között */
    line-height: 1.2;
    flex-wrap: nowrap; 
    max-width: 100%;          /* Ne legyen szélesebb a szülőnél */
    min-width: 0;             /* Flexbox fix: engedi a gyerekeknek a zsugorodást/törést */
}

/* A logó kép méretezése */
.brand-logo {
    height: 60px;             /* Állítsd be a kívánt magasságot */
    width: auto;              /* Megtartja az arányokat */
    display: block;
    flex-shrink: 0;           /* Tilos összenyomni a képet */
}

/* A szöveges rész (név + szlogen) függőleges elrendezése */
.brand-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;             /* Biztosítjuk, hogy a szöveg doboza ne nyomja ki a képernyőt */
    overflow: hidden;
}

.brand-name {
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffffff;           /* Fehér szín a sötétkék háttérhez */
    white-space: nowrap;      /* A név ne törjön meg, maradjon egy sorban */
}

.brand-slogan {
    margin: 0;
    padding: 0;
    font-size: 0.85rem;
    font-weight: normal;
    color: #ced4da;           /* Világosszürke szlogen */
    white-space: normal;      /* Engedélyezzük a szlogen több sorba törését */
    word-wrap: break-word;    /* Hosszú szavaknál is törjön */
    display: block;           /* Biztosítjuk a blokk szintű viselkedést */
    max-width: 100%;
}

/* Navbar-brand alap igazítás */
.navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 1.5rem;
    flex-grow: 1;             /* Kitölti a helyet, hogy a togglert jobbra tolja */
    overflow: hidden;
}

/* A mobilmenü gomb fixen tartása a jobb szélen */
.navbar-toggler {
    flex-shrink: 0;           /* Megakadályozza, hogy a gomb összenyomódjon */
    margin-left: 10px;
}

/* MOBIL NÉZET (767px alatt) */
@media (max-width: 767.98px) {
    .brand-logo {
        display: none !important; /* Teljesen eltünteti a logót mobilon */
    }
    
    .brand-wrapper {
        gap: 0;               /* Mivel nincs logó, ne legyen üres távolság sem */
    }

    .brand-name {
        font-size: 1.25rem;   /* Mobilon kicsit kisebb betűméret */
    }

    .brand-slogan {
        font-size: 0.75rem;   /* Mobilon kisebb szlogen */
    }
}


/* ============================================================
   NAVBAR MOBIL FIX: Gomb jobbra, Menü alá
   ============================================================ */

/* Csak mobilon és tableten (Bootstrap LG töréspont alatt) */
@media (max-width: 991.98px) {
    .navbar > .container {
        display: flex !important;
        /* Engedjük a törést, hogy a lenyíló rész alulra kerülhessen */
        flex-wrap: wrap !important; 
        align-items: center;
        /* Széthúzza a brand részt és a gombot a két szélre */
        justify-content: space-between; 
    }

    /* A lenyíló rész kényszerítése új sorba */
    .navbar-collapse {
        /* A 100% szélesség miatt mindenképp új sort kezd a flex-ben */
        flex-basis: 100%; 
        /* Visszaállítjuk a normál sorrendet, hogy ne lógjon ki jobbra */
        flex-grow: 1;
        margin-top: 10px;
    }

    /* A szövegek tördelésének biztosítása, hogy ne nyomják el a gombot */
    .navbar-brand {
        flex: 1; /* Elfoglalja a maradék helyet a gomb mellett */
        margin-right: 10px;
        min-width: 0; /* Flexbox fix a szövegtöréshez */
    }

    .brand-slogan {
        white-space: normal;
        display: block;
    }
}


/* ============================================================
   AI CHATBOT - DASHBOARD KÁRTYA ÉS GOMB STÍLUSOK
   ============================================================ */

.btn-outline-purple {
    color: #6f42c1;
    border-color: #6f42c1;
    background-color: transparent;
    transition: all 0.3s ease;
}

.btn-outline-purple:hover {
    background-color: #6f42c1;
    color: #ffffff;
    border-color: #6f42c1;
}

.border-purple {
    border-color: #6f42c1 !important;
}

/* ============================================================
   REGISZTRÁCIÓS OLDAL STÍLUSOK
   ============================================================ */

/* Regisztrációs kártya */
.register-card {
    background: white;
    border-radius: 10px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    padding: 40px;
    width: 100%;
    max-width: 450px;
}

.register-card h2 {
    color: #333;
}

/* Login kártya (nincs layout builder wrapper, ezért külön margó kell) */
.login-card {
    background: white;
    border-radius: 10px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    padding: 40px;
    width: 100%;
    max-width: 450px;
    margin: 0 25px;
}

@media (min-width: 576px) {
    .login-card {
        margin: 0;
    }
}

.login-card h2 {
    color: #333;
}

/* ============================================================
   JELSZÓ KÖVETELMÉNYEK STÍLUSOK (Regisztráció + Admin)
   ============================================================ */

.password-requirements {
    font-size: 12px;
    color: #6c757d;
    margin-top: 5px;
}

.password-requirements ul {
    margin: 5px 0 0 0;
    padding-left: 20px;
}

.password-requirements .requirement {
    color: #dc3545;
    transition: color 0.2s ease;
}

.password-requirements .requirement.valid {
    color: #28a745;
}

.password-requirements .requirement.valid::before {
    content: '\2713 ';
}

.password-requirements .requirement:not(.valid)::before {
    content: '\2717 ';
}

/* GYIK blokk (2.8.0) */
.faq-block__title { font-size: 1.5rem; margin-bottom: 1rem; }
.faq-accordion .accordion-button { font-weight: 600; }

/* Lábléc halvány szövegei (2026-10-01): a Bootstrap 5.3 óta a .text-muted fix sötétszürke
   (var(--bs-secondary-color)), sötét láblécen alig olvasható → a lábléc saját színének 75%-a,
   így világos és sötét láblécen is olvasható. Régi böngészőben a lábléc színe. */
footer .text-muted {
    color: inherit !important;
    color: color-mix(in srgb, currentColor 75%, transparent) !important;
}
footer .text-muted .text-muted {
    color: inherit !important;
}

/* =====================================================================
   DugulásService 0-24 – egyedi design (2026-10-26)
   Színek az arculatból: mélykék (banner) + jelzőpiros (szervizautó)
   ===================================================================== */
:root {
    --ds-kek: #0b2447;
    --ds-kek2: #19376d;
    --ds-kek3: #2b5aa8;
    --ds-piros: #d0101f;
    --ds-piros-sotet: #a80c19;
    --ds-halvany: #eef3f9;
    --ds-tinta: #14213d;
    --ds-szurke: #586579;
    --ds-vonal: #dbe3ee;
    --ds-r: 14px;
}
body.ds { font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: var(--ds-tinta); background: #fff; font-size: 1.02rem; line-height: 1.65; }
.ds h1, .ds h2, .ds h3, .ds h4 { color: var(--ds-kek); font-weight: 800; letter-spacing: -.01em; line-height: 1.2; }
.ds a { color: var(--ds-kek3); }
.ds a:hover { color: var(--ds-piros); }

/* --- Gombok --- */
.ds .btn { border-radius: 999px; font-weight: 700; padding: .6rem 1.35rem; }
.ds .btn-lg { padding: .85rem 1.7rem; font-size: 1.08rem; }
.ds .btn-hivas, .ds .btn-primary { background: var(--ds-piros); border: 2px solid var(--ds-piros); color: #fff !important; box-shadow: 0 6px 18px rgba(208,16,31,.25); }
.ds .btn-hivas:hover, .ds .btn-hivas:focus, .ds .btn-primary:hover, .ds .btn-primary:focus { background: var(--ds-piros-sotet); border-color: var(--ds-piros-sotet); color: #fff !important; }
.ds .btn-vilagos { background: #fff; border: 2px solid var(--ds-vonal); color: var(--ds-kek) !important; }
.ds .btn-vilagos:hover { border-color: var(--ds-kek); }

/* --- Felső sáv --- */
.ds-felso { background: var(--ds-kek); color: #dce6f5; font-size: .88rem; padding: .4rem 0; }
.ds-felso a { color: #fff; text-decoration: none; margin-left: 1.1rem; }
.ds-felso a:hover { color: #fff; text-decoration: underline; }
.ds-felso-tel { font-weight: 700; }
.ds-pont { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; background: #3ddc84; margin-right: .5rem; box-shadow: 0 0 0 3px rgba(61,220,132,.25); vertical-align: middle; }

/* --- Menüsor --- */
.ds-nav { background: #fff !important; border-bottom: 1px solid var(--ds-vonal); padding: .7rem 0; position: sticky; top: 0; z-index: 1030; box-shadow: 0 4px 16px rgba(11,36,71,.06); }
.ds-marka { display: grid !important; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: .45rem; align-items: center; text-decoration: none; max-width: none !important; }
.ds-marka-nev { font-weight: 900; font-size: 1.45rem; color: var(--ds-kek); letter-spacing: -.02em; line-height: 1; }
.ds-marka-nev span { color: var(--ds-piros); }
.ds-marka-0024 { background: var(--ds-piros); color: #fff; font-weight: 800; font-size: .85rem; border-radius: 6px; padding: .15rem .45rem; line-height: 1.2; justify-self: start; }
.ds-marka-szlogen { grid-column: 1 / 3; font-size: .78rem; color: var(--ds-szurke); text-transform: uppercase; letter-spacing: .08em; margin-top: .2rem; }
.ds-nav .nav-link { color: var(--ds-tinta) !important; font-weight: 650; padding: .5rem .85rem !important; border-radius: 8px; }
.ds-nav .nav-link:hover, .ds-nav .nav-link.active { color: var(--ds-piros) !important; }
.ds-nav .dropdown-menu { border: 1px solid var(--ds-vonal); border-radius: 12px; box-shadow: 0 14px 30px rgba(11,36,71,.12); padding: .4rem; }
.ds-nav .dropdown-item { border-radius: 8px; font-weight: 600; color: var(--ds-tinta); }
.ds-nav .dropdown-item:hover, .ds-nav .dropdown-item.active { background: var(--ds-halvany); color: var(--ds-piros); }
.ds-nav .dropdown-caret { color: var(--ds-szurke); }
.ds-nav-hivas { margin-left: .6rem; display: flex; align-items: center; }
.ds-burger { border: 0 !important; padding: .4rem; display: flex; flex-direction: column; gap: 5px; box-shadow: none !important; }
.ds-burger span { display: block; width: 26px; height: 3px; border-radius: 2px; background: var(--ds-kek); }
@media (max-width: 991.98px) {
    .ds-nav .navbar-collapse { padding-top: .8rem; }
    .ds-nav .nav-link { padding: .65rem .5rem !important; border-bottom: 1px solid var(--ds-halvany); }
    .ds-nav-hivas { margin: .8rem 0 .2rem; }
    .ds-nav-hivas .btn { width: 100%; }
    .ds-marka-nev { font-size: 1.25rem; }
}

/* --- Szakaszok (layout-sorok) --- */
.ds .sav { padding: 4.5rem 0; }
.ds .sav .module { margin-bottom: 0 !important; }
.ds .sav-halvany { background: var(--ds-halvany); }
.ds .sav-sotet { background: linear-gradient(160deg, var(--ds-kek) 0%, var(--ds-kek2) 100%); color: #dce6f5; }
.ds .sav-sotet h2, .ds .sav-sotet h3 { color: #fff; }
.ds .sav-sotet a { color: #fff; }
.ds .szekcio-felirat { color: var(--ds-piros); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .82rem; margin-bottom: .5rem; }
.ds .sav-sotet .szekcio-felirat { color: #ff8a93; }
.ds .szekcio-fej { max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.ds .szekcio-fej h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); }
.ds .szekcio-fej p { color: var(--ds-szurke); }
.ds .sav-sotet .szekcio-fej p { color: #c7d4e8; }

/* --- Hero --- */
.ds .sav-hero { padding: 4rem 0 4.5rem; background: radial-gradient(1200px 500px at 85% 0%, rgba(43,90,168,.35), transparent 60%), linear-gradient(160deg, var(--ds-kek) 0%, #0f2f5e 100%); color: #dce6f5; }
.ds .hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: center; }
.ds .hero h1 { color: #fff; font-size: clamp(2rem, 4.2vw, 3.15rem); font-weight: 900; margin-bottom: 1.1rem; }
.ds .hero-felirat { display: inline-block; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); color: #fff; border-radius: 999px; padding: .3rem .9rem; font-size: .88rem; font-weight: 700; margin-bottom: 1.2rem; }
.ds .hero-lead { font-size: 1.15rem; color: #d3deef; max-width: 36rem; }
.ds .hero-lead strong { color: #fff; }
.ds .hero-gombok { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.8rem 0 1.5rem; }
.ds .hero-gombok .btn-vilagos { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.45); }
.ds .hero-gombok .btn-vilagos:hover { border-color: #fff; }
.ds .hero-pontok { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-weight: 650; color: #fff; }
.ds .hero-pontok li::before { content: ""; display: inline-block; width: .5rem; height: .9rem; border: solid #3ddc84; border-width: 0 3px 3px 0; transform: rotate(45deg); margin-right: .6rem; position: relative; top: -2px; }
.ds .hero-kep img { width: 100%; height: auto; border-radius: 20px; box-shadow: 0 24px 50px rgba(0,0,0,.35); border: 4px solid rgba(255,255,255,.12); }

/* --- Bemutatkozás --- */
.ds .bemutat { display: grid; grid-template-columns: 1.6fr 1fr; gap: 3rem; align-items: center; }
.ds .bemutat h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); }
.ds .bemutat-kiemeles { background: var(--ds-halvany); border-left: 4px solid var(--ds-piros); padding: .9rem 1.1rem; border-radius: 0 10px 10px 0; color: var(--ds-kek); }
.ds .bemutat-kep { margin: 0; text-align: center; }
.ds .bemutat-kep img { max-width: 320px; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 16px 36px rgba(11,36,71,.18); transform: rotate(1.5deg); }
.ds .bemutat-kep figcaption { margin-top: 1rem; font-weight: 700; color: var(--ds-szurke); font-size: .92rem; }

/* --- Szolgáltatás-kártyák --- */
.ds .szolg-racs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.ds .szolg-kartya { background: #fff; border: 1px solid var(--ds-vonal); border-radius: var(--ds-r); padding: 1.5rem 1.4rem; position: relative; transition: transform .15s ease, box-shadow .15s ease; }
.ds .szolg-kartya::before { content: ""; position: absolute; left: 1.4rem; top: 0; width: 42px; height: 4px; background: var(--ds-piros); border-radius: 0 0 4px 4px; }
.ds .szolg-kartya:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(11,36,71,.1); }
.ds .szolg-kartya h3 { font-size: 1.12rem; margin: .5rem 0 .6rem; }
.ds .szolg-kartya p { color: var(--ds-szurke); font-size: .96rem; margin-bottom: 0; }
.ds .szolg-kartya-hivas { background: var(--ds-kek); border-color: var(--ds-kek); display: flex; flex-direction: column; }
.ds .szolg-kartya-hivas h3 { color: #fff; }
.ds .szolg-kartya-hivas p { color: #c7d4e8; margin-bottom: 1rem; }
.ds .szolg-kartya-hivas .btn { margin-top: auto; align-self: flex-start; }

/* --- Pipás listák --- */
.ds ul.pipas { list-style: none; padding: 0; margin: 1.2rem 0; }
.ds ul.pipas li { position: relative; padding-left: 2.1rem; margin-bottom: .85rem; }
.ds ul.pipas li::before { content: ""; position: absolute; left: 0; top: .3rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--ds-piros); }
.ds ul.pipas li::after { content: ""; position: absolute; left: .47rem; top: .52rem; width: .36rem; height: .66rem; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.ds ul.pipas-kicsi li { font-size: .94rem; margin-bottom: .5rem; padding-left: 1.8rem; }
.ds ul.pipas-kicsi li::before { width: 1.1rem; height: 1.1rem; }
.ds ul.pipas-kicsi li::after { left: .39rem; top: .47rem; width: .3rem; height: .58rem; }

/* --- Miért mi --- */
.ds .miert { display: grid; grid-template-columns: 1.15fr 1fr; gap: 3rem; align-items: center; }
.ds .miert h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); }
.ds .miert-kep img { width: 100%; height: auto; border-radius: var(--ds-r); box-shadow: 0 20px 40px rgba(11,36,71,.18); }

/* --- Árlista --- */
.ds .arlista { max-width: 900px; margin: 0 auto; border-radius: var(--ds-r); overflow: hidden; border: 1px solid var(--ds-vonal); background: #fff; }
.ds .arlista-sor { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1rem 1.4rem; border-bottom: 1px solid var(--ds-vonal); color: var(--ds-tinta); }
.ds .arlista-sor:last-child { border-bottom: 0; }
.ds .arlista-sor:nth-child(even) { background: #f7f9fc; }
.ds .arlista-nev { font-weight: 650; }
.ds .arlista-ar { font-weight: 900; color: var(--ds-piros); white-space: nowrap; font-size: 1.15rem; }
.ds .arlista-ar small { color: var(--ds-szurke); font-weight: 600; font-size: .8rem; }
.ds .arlista-egyeztetes { color: var(--ds-kek); font-size: .95rem; white-space: normal; text-align: right; }
.ds .arlista-megj { max-width: 900px; margin: 1rem auto 0; font-size: .92rem; color: var(--ds-szurke); text-align: center; }
.ds .sav-sotet .arlista { border: 0; box-shadow: 0 24px 50px rgba(0,0,0,.25); }
.ds .sav-sotet .arlista-megj { color: #c7d4e8; }
.ds .ar-kiemeles { background: var(--ds-kek); color: #fff; border-radius: var(--ds-r); padding: 1rem 1.3rem; margin: 1.5rem 0; }
.ds .ar-kiemeles p { margin: 0; }

/* --- Galéria --- */
.ds .gallery-title { display: none; }
.ds .gallery-container img, .ds [data-fancybox] img { border-radius: 12px; }

/* --- Szöveg + GYIK --- */
.ds .szoveg-blokk h2 { font-size: clamp(1.45rem, 2.4vw, 1.9rem); }
.ds .szoveg-blokk h3 { font-size: 1.25rem; margin-top: 1.6rem; }
.ds .sav-halvany .row { row-gap: 2.5rem; }
.ds .gyik .szekcio-fej, .ds .sav-halvany .col-lg-5 .szekcio-fej { text-align: left; margin-bottom: 1.2rem; }
.ds .gyik details { background: #fff; border: 1px solid var(--ds-vonal); border-radius: 12px; margin-bottom: .75rem; overflow: hidden; }
.ds .gyik summary { cursor: pointer; padding: 1rem 2.6rem 1rem 1.2rem; font-weight: 750; color: var(--ds-kek); list-style: none; position: relative; }
.ds .gyik summary::-webkit-details-marker { display: none; }
.ds .gyik summary::after { content: "+"; position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--ds-piros); font-weight: 700; }
.ds .gyik details[open] summary::after { content: "–"; }
.ds .gyik details p { padding: 0 1.2rem 1.1rem; margin: 0; color: var(--ds-szurke); }

/* --- Főoldali kapcsolat --- */
.ds .kapcs { display: grid; grid-template-columns: 1fr 1.25fr; gap: 3rem; align-items: start; }
.ds .kapcs-adatok h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); color: var(--ds-piros); }
.ds .kapcs-urlap { background: var(--ds-halvany); border-radius: var(--ds-r); padding: 2rem; }
.ds .kapcs-urlap h3 { font-size: 1.3rem; margin-bottom: 1rem; }
.ds .adat-lista { list-style: none; padding: 0; margin: 1.3rem 0 1.6rem; }
.ds .adat-lista li { display: flex; flex-direction: column; padding: .7rem 0; border-bottom: 1px solid var(--ds-vonal); }
.ds .adat-lista li span { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ds-szurke); font-weight: 700; }
.ds .adat-lista li strong { color: var(--ds-kek); }
.ds .form-control, .ds .form-select { border-radius: 10px; border-color: var(--ds-vonal); padding: .7rem .9rem; }
.ds .form-control:focus { border-color: var(--ds-kek3); box-shadow: 0 0 0 .2rem rgba(43,90,168,.15); }

/* --- Aloldalak --- */
.ds .sav-aloldal { padding: 3.5rem 0 4rem; }
.ds .sav-aloldal .row { row-gap: 2rem; }
.ds .sav-aloldal h1 { font-size: clamp(1.9rem, 3.6vw, 2.7rem); font-weight: 900; margin-bottom: 1.2rem; }
.ds .sav-aloldal h1::after { content: ""; display: block; width: 64px; height: 5px; border-radius: 3px; background: var(--ds-piros); margin-top: .8rem; }
.ds .sav-aloldal h2 { font-size: 1.55rem; margin-top: 2.3rem; margin-bottom: .9rem; }
.ds .sav-aloldal h3 { font-size: 1.25rem; margin-top: 1.8rem; }
.ds .sav-aloldal .lead { font-size: 1.18rem; color: var(--ds-tinta); }
.ds .oldal-kep { margin: 1.8rem 0; }
.ds .oldal-kep img { width: 100%; height: auto; border-radius: var(--ds-r); border: 1px solid var(--ds-vonal); }
.ds .oldal-kep figcaption { font-size: .9rem; color: var(--ds-szurke); margin-top: .6rem; }
.ds .hivo-doboz { background: var(--ds-kek); color: #dce6f5; border-radius: var(--ds-r); padding: 1.8rem 1.8rem 1.4rem; margin-top: 2.5rem; }
.ds .hivo-doboz .hivo-cim { color: #fff; font-weight: 800; font-size: 1.3rem; line-height: 1.3; }
.ds .hivo-doboz ul { list-style: none; padding: 0; margin: 1rem 0 1.3rem; }
.ds .hivo-doboz li { padding: .3rem 0; }
.ds .hivo-doboz a:not(.btn) { color: #fff; font-weight: 700; }
.ds .hivo-doboz strong { color: #fff; }
.ds .doboz { background: #fff; border: 1px solid var(--ds-vonal); border-radius: var(--ds-r); padding: 1.5rem; margin-bottom: 1.5rem !important; }
.ds .doboz .module-title { font-size: 1.1rem; font-weight: 800; color: var(--ds-kek); margin-bottom: 1rem; }
.ds .doboz-hivas { background: linear-gradient(160deg, var(--ds-kek) 0%, var(--ds-kek2) 100%); border: 0; color: #dce6f5; }
.ds .oldalsav-felirat { color: #ff8a93; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; margin-bottom: .2rem; }
.ds .oldalsav-szam a { color: #fff; font-size: 1.65rem; font-weight: 900; text-decoration: none; }
.ds .doboz-hivas .btn { margin: .4rem 0 1.2rem; }
.ds .doboz-hivas ul.pipas li { color: #fff; }
@media (min-width: 992px) { .ds .sav-aloldal .col-lg-4 > .module:first-child, .ds .sav-aloldal .col-lg-5 > .module:first-child { position: sticky; top: 100px; } }
.ds .mini-ar { list-style: none; padding: 0; margin: 0 0 .8rem; }
.ds .mini-ar li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px dashed var(--ds-vonal); font-size: .95rem; }
.ds .mini-ar strong { color: var(--ds-piros); white-space: nowrap; }
.ds .mini-ar-megj { font-size: .85rem; color: var(--ds-szurke); margin: 0; }
.ds .terulet-lista { list-style: none; padding: 0; columns: 4 170px; column-gap: 1.5rem; margin: 1rem 0 1.5rem; }
.ds .terulet-lista li { break-inside: avoid; padding: .3rem 0 .3rem 1rem; position: relative; border-bottom: 1px solid var(--ds-halvany); }
.ds .terulet-lista li::before { content: ""; position: absolute; left: 0; top: .9rem; width: .4rem; height: .4rem; border-radius: 50%; background: var(--ds-piros); }
.ds .terulet-kerulet { columns: 4 140px; }
.ds .terulet-megj { background: var(--ds-halvany); border-radius: 12px; padding: 1rem 1.2rem; }
.ds .sav-cta { padding: 0 0 4rem; }
.ds .cta-sav { display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: linear-gradient(120deg, var(--ds-piros) 0%, #a30a17 100%); color: #ffe3e5; border-radius: 20px; padding: 2rem 2.4rem; }
.ds .cta-sav .cta-cim { color: #fff; font-size: 1.5rem; font-weight: 900; margin-bottom: .3rem; }
.ds .cta-sav p { margin: 0; }
.ds .cta-sav .btn-hivas { background: #fff; border-color: #fff; color: var(--ds-piros) !important; box-shadow: none; white-space: nowrap; }
.ds .cta-sav .btn-hivas:hover { background: var(--ds-kek); border-color: var(--ds-kek); color: #fff !important; }

/* --- Lábléc --- */
.ds-lablec { background: #081a33; color: #aebbd0; padding: 3.5rem 0 1rem; font-size: .95rem; }
.ds-lablec .ds-lablec-sor { row-gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.ds-lablec .module-title, .ds-lablec h5 { color: #fff; font-size: 1rem; font-weight: 800; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: .08em; }
.ds-lablec a { color: #dce6f5; text-decoration: none; }
.ds-lablec a:hover { color: #fff; text-decoration: underline; }
.ds-lablec .lablec-marka { font-weight: 900; font-size: 1.4rem; color: #fff; margin-bottom: .8rem; }
.ds-lablec .lablec-marka span { color: #ff5a66; }
.ds-lablec .lablec-marka em { font-style: normal; background: var(--ds-piros); color: #fff; border-radius: 6px; padding: .05rem .4rem; font-size: .85rem; vertical-align: middle; }
.ds-lablec ul { list-style: none; padding: 0; margin: 0; }
.ds-lablec li { padding: .25rem 0; }
.ds-lablec-also { text-align: center; padding-top: 1.4rem; font-size: .85rem; color: #8797b0; }
.ds-lablec-also .cms-version { color: #6f809b !important; }
.ds-lablec-also a { color: #aebbd0; }
.ds-lablec-also p { color: #6f809b; }

/* --- Mobil hívássáv --- */
.ds-mobil-hivas { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1040; display: flex; gap: .5rem; padding: .6rem .75rem calc(.6rem + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); box-shadow: 0 -6px 20px rgba(11,36,71,.15); }
.ds-mobil-hivas .btn-hivas { flex: 1; }
@media (max-width: 991.98px) { body.ds { padding-bottom: 4.6rem; } }

/* --- Reszponzív --- */
@media (max-width: 991.98px) {
    .ds .sav { padding: 3.2rem 0; }
    .ds .hero, .ds .bemutat, .ds .miert, .ds .kapcs { grid-template-columns: 1fr; gap: 2rem; }
    .ds .szolg-racs { grid-template-columns: repeat(2, 1fr); }
    .ds .bemutat-kep img { max-width: 260px; }
    .ds .cta-sav { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 575.98px) {
    .ds .sav { padding: 2.6rem 0; }
    .ds .sav-hero { padding: 2.4rem 0 2.8rem; }
    .ds .szolg-racs { grid-template-columns: 1fr; }
    .ds .arlista-sor { flex-direction: column; align-items: flex-start; gap: .25rem; }
    .ds .arlista-egyeztetes { text-align: left; }
    .ds .kapcs-urlap { padding: 1.3rem; }
    .ds .cta-sav { padding: 1.6rem; }
    .ds-felso-ugyelet { font-size: .8rem; }
}

/* --- Finomítások (1. kör) --- */
.ds-nav-hivas .btn { white-space: nowrap; }
.ds .ds-nav .navbar-nav { align-items: center; }
@media (max-width: 991.98px) { .ds .ds-nav .navbar-nav { align-items: stretch; } }
.ds .contact-form-container { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.ds .contact-form-container > h4.text-success { display: none; }
.ds .gallery-description { display: none; }
.ds .gallery-container { margin-bottom: 0 !important; }
.ds .gallery-thumb { height: 300px !important; }
@media (max-width: 575.98px) { .ds .gallery-thumb { height: 220px !important; } }
.ds .sav-aloldal .row > [class*='col-'] > .module { flex-grow: 0; }
.ds .sav-aloldal .row > [class*='col-'] { display: block; }
.ds .sav-aloldal article > p.text-muted.small, .ds .sav-aloldal .text-muted.small:has(.fa-calendar-alt) { display: none; }
.ds .sav-aloldal hr { display: none; }
.ds-felso-ugyelet, .ds-felso-adatok { white-space: nowrap; }
.ds-marka { justify-content: start; }
.ds .sav-aloldal blockquote, .ds .sav-aloldal .article-excerpt { border-left-color: var(--ds-piros) !important; }
@media (max-width: 575.98px) { .ds-felso a { margin-left: .6rem; } .ds-marka-szlogen { font-size: .7rem; } }
.ds .ds-felso > .container, .ds .ds-nav > .container { padding-top: 0; padding-bottom: 0; }
.ds-lablec-also .cms-version, .ds-lablec-also .text-muted, .ds-lablec-also p, .ds-lablec-also a { color: #a9b8cd !important; }

/* --- 2. kör (2026-10-26): egységes szélesség, látható lenyíló, együtt mozgó oldalsáv --- */
/* A fejléc, a menüsor és a lábléc a tartalom szélességét követi (az alap CSS 90%-os layout-konténere; tulaj, 2026-10-26) */
.ds .ds-felso > .container, .ds .ds-nav > .container, .ds .ds-lablec > .container {
    width: 90% !important; max-width: 90% !important;
    padding-left: .75rem !important; padding-right: .75rem !important;
}
@media (min-width: 576.02px) and (max-width: 991.98px) {
    /* itt az alap CSS a tartalom konténerének belső margóját nullázza */
    .ds .ds-felso > .container, .ds .ds-nav > .container, .ds .ds-lablec > .container { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 576px) {
    .ds .ds-felso > .container, .ds .ds-nav > .container, .ds .ds-lablec > .container { width: 100% !important; max-width: 100% !important; padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
}
/* Lenyíló menü: látható nyíl (az alap aliceblue-ja fehéren láthatatlan), asztalon egérrel is nyílik */
.ds .ds-nav .dropdown-split-hover .nav-item-wrapper .dropdown-caret { color: var(--ds-kek); font-size: .7rem; padding: .5rem .35rem; margin-left: -.55rem; cursor: pointer; transition: transform .15s; }
.ds .ds-nav .dropdown-split-hover:hover .nav-item-wrapper .dropdown-caret { color: var(--ds-piros); }
@media (min-width: 992px) {
    .ds .ds-nav .dropdown-split-hover { position: relative; }
    .ds .ds-nav .dropdown-split-hover > .dropdown-menu { top: 100%; left: 0; margin-top: 0; min-width: 14rem; }
    .ds .ds-nav .dropdown-split-hover:hover > .dropdown-menu, .ds .ds-nav .dropdown-split-hover:focus-within > .dropdown-menu { display: block; }
    .ds .ds-nav .dropdown-split-hover:hover .nav-item-wrapper .dropdown-caret { transform: rotate(180deg); }
    /* a menü és a lenyíló közti rés ne zárja be hover közben */
    .ds .ds-nav .dropdown-split-hover > .dropdown-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -.6rem; height: .6rem; }
}
/* Oldalsáv: a dobozok között térköz; asztalon az egész hasáb együtt marad a képernyőn görgetéskor */
.ds .sav .module.doboz { margin-bottom: 1.25rem !important; }
.ds .sav .module.doboz:last-child { margin-bottom: 0 !important; }
.ds .sav-aloldal .col-lg-4 > .module:first-child, .ds .sav-aloldal .col-lg-5 > .module:first-child { position: static !important; }
@media (min-width: 992px) {
    .ds .sav-aloldal .row > .col-lg-4, .ds .sav-aloldal .row > .col-lg-5 { position: sticky; top: 104px; align-self: flex-start; }
}
/* Szolgáltatási oldal: 3 hasábos kártyák, lépések, területkártyák; lábléc kéthasábos lista */
.ds .szolg-racs-3 { grid-template-columns: repeat(3, 1fr); margin: 1.4rem 0 1rem; }
@media (max-width: 991.98px) { .ds .szolg-racs-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) { .ds .szolg-racs-3 { grid-template-columns: 1fr; } }
.ds ol.lepesek { list-style: none; counter-reset: lepes; padding: 0; margin: 1.2rem 0; }
.ds ol.lepesek li { counter-increment: lepes; position: relative; padding: 0 0 1rem 3.2rem; min-height: 2.4rem; }
.ds ol.lepesek li::before { content: counter(lepes); position: absolute; left: 0; top: -.1rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--ds-kek); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.ds .terulet-kartyak { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .7rem; margin: 1rem 0 1.2rem; }
.ds .terulet-kartyak a { display: block; background: var(--ds-halvany); border: 1px solid var(--ds-vonal); border-left: 4px solid var(--ds-piros); border-radius: 10px; padding: .75rem 1rem; font-weight: 700; color: var(--ds-kek); text-decoration: none; }
.ds .terulet-kartyak a:hover { background: var(--ds-kek); border-color: var(--ds-kek); color: #fff; }
.ds-lablec .lablec-ket-hasab { columns: 2; column-gap: 1.2rem; }
.ds-lablec .lablec-ket-hasab li { break-inside: avoid; }
/* Cikkek GYIK-blokkja (Bootstrap-harmonika) a főoldali GYIK kinézetével */
.ds .faq-block, .ds .faq-accordion { border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
.ds .faq-accordion { --bs-accordion-border-width: 0; --bs-accordion-btn-focus-box-shadow: none; }
.ds .faq-accordion .accordion-item { background: #fff; border: 1px solid var(--ds-vonal) !important; border-radius: 12px !important; margin: 0 0 .75rem !important; overflow: hidden; }
.ds .faq-accordion .accordion-header { margin: 0 !important; }
.ds .faq-accordion .accordion-button, .ds .faq-accordion .accordion-button:not(.collapsed) { background: #fff !important; color: var(--ds-kek) !important; font-weight: 750; font-size: 1rem; padding: 1rem 2.8rem 1rem 1.2rem; box-shadow: none !important; border-radius: 12px !important; position: relative; }
.ds .faq-accordion .accordion-button::after { content: "+"; background-image: none !important; width: auto; height: auto; position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%) !important; font-size: 1.4rem; line-height: 1; font-weight: 700; color: var(--ds-piros); transition: none; }
.ds .faq-accordion .accordion-button:not(.collapsed)::after { content: "–"; }
.ds .faq-accordion .accordion-body { padding: 0 1.2rem 1.1rem; color: var(--ds-szurke); }
/* Sütisáv: a címsorszín-szabály ne sötétítse el; az arculat színei */
.ds #cookie-banner { background: var(--ds-kek) !important; border-top-color: var(--ds-piros) !important; }
.ds #cookie-banner h2, .ds #cookie-banner h3, .ds #cookie-banner h4, .ds #cookie-banner h5 { color: #fff; }
/* --- Megamenü (Duguláselhárítás → szolgáltatási területek, 2026-10-26) --- */
.ds .ds-mega-panel { padding: 0; border: 1px solid var(--ds-vonal); border-radius: 16px; box-shadow: 0 24px 50px rgba(11,36,71,.16); overflow: hidden; }
.ds .ds-mega-racs { display: grid; grid-template-columns: repeat(3, 1fr) 1.15fr; gap: 0; }
.ds .ds-mega-oszlop { padding: 1.4rem 1.3rem 1.2rem; border-right: 1px solid var(--ds-halvany); }
.ds .ds-mega-cim { display: block; font-weight: 850; color: var(--ds-kek); text-decoration: none; font-size: 1.02rem; padding: 0 .6rem .6rem; margin-bottom: .4rem; border-bottom: 3px solid var(--ds-piros); }
.ds .ds-mega-cim:hover { color: var(--ds-piros); }
.ds .ds-mega-lista { list-style: none; padding: 0; margin: 0; }
.ds .ds-mega-lista .dropdown-item { white-space: normal; padding: .45rem .6rem; font-weight: 600; font-size: .95rem; }
.ds .ds-mega-cta { background: linear-gradient(160deg, var(--ds-kek) 0%, var(--ds-kek2) 100%); color: #c7d4e8; padding: 1.4rem 1.4rem; font-size: .9rem; }
.ds .ds-mega-cta p { margin: 0; }
.ds .ds-mega-cta-cim { color: #ff8a93 !important; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.ds .ds-mega-cta-szam { display: block; color: #fff !important; font-size: 1.35rem; font-weight: 900; text-decoration: none; margin: .25rem 0 .6rem; white-space: nowrap; }
.ds .ds-mega-also { display: block; background: var(--ds-halvany); padding: .8rem 1.9rem; font-weight: 750; color: var(--ds-kek); text-decoration: none; border-top: 1px solid var(--ds-vonal); }
.ds .ds-mega-also:hover { color: var(--ds-piros); }
@media (min-width: 992px) {
    .ds .ds-nav > .container { position: relative; }
    .ds .ds-nav .dropdown-split-hover.ds-mega { position: static; }
    .ds .ds-nav .ds-mega > .ds-mega-panel { left: .75rem; right: .75rem; top: 100%; min-width: 0; margin-top: 0; }
    .ds .ds-nav .ds-mega > .ds-mega-panel::before { top: -1.6rem; height: 1.6rem; }
}
@media (max-width: 991.98px) {
    .ds .ds-mega-panel { border-radius: 12px; box-shadow: none; margin: .3rem 0 .6rem; }
    .ds .ds-mega-racs { grid-template-columns: 1fr; }
    .ds .ds-mega-oszlop { border-right: 0; border-bottom: 1px solid var(--ds-halvany); padding: 1rem 1rem .8rem; }
    .ds .ds-mega-cta { display: none; }
    .ds .ds-mega-also { padding: .8rem 1.6rem; }
}
