        /* =================================
   1. Téma és Stílus Változók
   ================================= */
:root {
    /* --- Színek --- */
    --szin-hatter: var(--bg, #f0f0f0);
    --szin-menusav: var(--card-bg, #ffffff);
    --szin-almenu: var(--card-bg, #ffffff);
    --szin-kiemeles-menusav: var(--bg, #f0f0f0);
    --szin-kiemeles-almenu: var(--bg, #f0f0f0);

    --szin-szoveg-elsodleges: var(--fg, #121212);
    --szin-szoveg-masodlagos: #555;
    --szin-szoveg-alap: var(--fg, #121212);
    --szin-szoveg-halvany: #888;
    --szin-szoveg-kiemeles: var(--accent, #e6880e);
    --szin-szoveg-kiemeles-hover: var(--accent-hover, #fd9b1b);
    --szin-szoveg-gomb: #ffffff;

    --szin-border-fo: #dddddd;
    --szin-border-menu: #eeeeee;
    --szin-border-almenu: #f5f5f5;
    --szin-border-dashed: #cccccc;

    --szin-arnyek-oldalsav: 2px 0 10px rgba(0,0,0,0.05);
    --szin-arnyek-elvalaszto-le: 0 2px 4px rgba(0,0,0,0.06);
    --szin-arnyek-elvalaszto-fel: 0 -2px 4px rgba(0,0,0,0.06);
    --szin-arnyek-kartya: 0 4px 10px rgba(0,0,0,0.05);
    --szin-arnyek-kiemelt: 0 6px 15px rgba(0,0,0,0.08);

    /* --- Formázás --- */
    --betucsalad-alap: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --menusav-szelesseg: 280px;
    --navbar-fuggoleges-szelesseg: 180px;
    --border-vastagsag: 1px;
    --border-radius-alap: 8px;

    /* --- Behúzás (Padding) --- */
    --padding-fejlec: 1.0rem;
    --padding-tartalom: 2.5rem;
    --padding-navbar-vizszintes: 1rem 2rem;
    --padding-navbar-fuggoleges: 1rem;
    --padding-menu-elem: 1rem 0;
    --padding-menu-header: 0.2rem 0.75rem;
    --padding-almenu-elem: 0.75rem 1.5rem 0.75rem 2.5rem;
    --padding-gomb: 0.7rem 1.5rem;
    --padding-kartya: 1.5rem;
    
    --margin-h3: 0.5rem; 

    /* --- Betűméret --- */
    --meret-fejlec: 1.1rem;
    --meret-menu-elem: 1rem;
    --meret-almenu-elem: 0.9rem;
    --meret-h2: 1.8rem;
    --meret-h3: 1.3rem;
    --meret-gomb: 1rem;
    --suly-kiemelt: 500;

    /* --- Animáció --- */
    --ido-animacio: 0.3s;
    --ido-hover: 0.2s;

    --sidebar-width: 280px;
}

/* =================================
   2. Alapbeállítások és Görgetés
   ================================= */
html {
    scroll-padding-top: 5rem;
}

body {
    margin: 0;
    font-family: var(--betucsalad-alap);
    background-color: var(--szin-hatter);
    color: var(--szin-szoveg-alap);
}

ul { list-style: none; padding: 0; margin: 0; }
a { text-decoration: none; color: var(--szin-szoveg-kiemeles); cursor: pointer; }
a:hover { color: var(--szin-szoveg-kiemeles-hover); }
button { cursor: pointer; }
h1, h2, h3, h4 { color: var(--szin-szoveg-kiemeles); }
h2 { font-size: var(--meret-h2); text-align: center; margin: 0 0 2rem 0; }
h3 { font-size: var(--meret-h3); margin: 0 0 1rem 0; }

/* Egységes gomb stílus */
.button-style {
    display: inline-block;
    padding: var(--padding-gomb);
    font-size: var(--meret-gomb);
    font-weight: var(--suly-kiemelt);
    color: var(--szin-szoveg-gomb);
    background-color: var(--szin-szoveg-kiemeles);
    border: none;
    border-radius: var(--border-radius-alap);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--ido-hover);
    text-align: center;
}
.button-style:hover {
    background-color: var(--szin-szoveg-kiemeles-hover);
    color: var(--szin-szoveg-gomb);
}
/* --- Téma váltó gomb stílusa --- */
.theme-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--szin-szoveg-elsodleges); /* A demó változóit használjuk */
  transition: transform 0.3s ease, color 0.3s ease;
}

.theme-btn:hover {
  transform: scale(1.1);
  color: var(--szin-szoveg-kiemeles-hover);
}

.theme-btn svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

/* =========================================
   NAVBAR TÉMAVÁLTÓ GOMB STÍLUS
   ========================================= */

.theme-toggle-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--szin-szoveg-elsodleges);
    transition: background 0.3s, color 0.3s;
    
    /* JOBBRA IGAZÍTÁS TRÜKKJE: */
    /* A flex konténerben a margin-left: auto mindentől eltolja jobbra */
    margin-left: auto; 
}

.theme-toggle-btn:hover {
    background-color: var(--szin-menusav);
    color: var(--szin-szoveg-kiemeles);
}

/* KIVÉTEL: Függőleges menüben (bal/jobb) */
/* Ott nem a jobb szélre kell, hanem középre vagy alulra */
#navbar.navbar-bal .theme-toggle-btn,
#navbar.navbar-jobb .theme-toggle-btn {
    margin-left: 0;
    margin-top: 1rem; /* Kis hely a linkek alatt */
}
        
        html { scroll-behavior: smooth; }
        :root { --sidebar-width: 0px !important; }
        .main-content { margin-left: 0 !important; width: 100% !important; }
        #navbar.navbar-bal { left: 0 !important; }

/* =========================================
   TÉMAVÁLTÓ POZÍCIONÁLÁS (DESKTOP vs MOBIL)
   ========================================= */

/* 1. ALAPBEÁLLÍTÁS (ASZTALI NÉZET) */

/* Mobilos váltót elrejtjük */
.mobile-theme-wrapper {
    display: none;
}

/* Asztalit mutatjuk */
.desktop-theme-wrapper {
    display: block;
}

/* 2. MOBIL NÉZET (Max 768px) */
@media (max-width: 768px) {

    /* FENTI gomb elrejtése (hogy csak a hamburger maradjon) */
    .desktop-theme-wrapper {
        display: none !important;
    }

    /* MENÜBEN lévő gomb megjelenítése */
    .mobile-theme-wrapper {
        display: flex !important;
        align-items: center;
        gap: 1rem;
        margin-top: 2rem; /* Távolság a linkektől */
        padding-top: 2rem;
        border-top: 1px dashed var(--szin-border-dashed);
        width: 80%; /* Hogy ne érjen végig */
        justify-content: center;
        color: var(--szin-szoveg-masodlagos);
        font-weight: 500;
    }

    /* Kicsit nagyobbra vesszük mobilon az ikont */
    .mobile-theme-wrapper .theme-toggle-btn {
        width: 44px;
        height: 44px;
        background: var(--szin-menusav);
        border-radius: 50%;
        margin-left: 0; /* Reseteljük az auto margin-t */
    }
}


/* =========================================
   KÉP MÉRETEZÉS JAVÍTÁSA (OBJECT-FIT FIX)
   ========================================= */

/* Ez a szabály vonatkozik az összes eddig létrehozott képre */
.team-img, 
.blog-img, 
.main-blog-img, 
.main-about-img, 
.c-img-1, .c-img-2, .c-img-3,
.placeholder-img,
.featured-img,
.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* A KULCS: Kitölti a keretet, levágja a felesleget */
    object-position: center; /* Mindig a kép közepét mutatja */
    display: block; /* Eltünteti a kép alatti kis üres csíkot */
}

/* Ha a felhasználó simán egy <img> taget illeszt be a 
   <div class="placeholder-img"> helyére, akkor a wrapper
   magassága fog dominálni. 
*/

/* Biztosítjuk, hogy a wrappereknek (kereteknek) legyen fix magassága */
/* (Ezeket már korábban definiáltuk, de itt egy emlékeztető/megerősítés) */

/* Munkatársak képkeret */
.team-img-wrapper {
    overflow: hidden; /* Ami kilóg, azt elrejtjük */
    /* A magasságot már a team szekció CSS-e beállította (pl. 250px vagy 300px) */
}

/* Blog képkeret */
.blog-img-wrapper {
    overflow: hidden;
}

/* Rólunk képkeretek */
.about-image-side, 
.collage-grid div { /* A kollázs elemei */
    overflow: hidden;
}

/* Megjegyzés stílus*/
 .note { text-align: center; margin-top: 1.5rem; font-size: var(--meret-almenu-elem); color: var(--szin-szoveg-masodlagos); }


/* =================================
   3. Fő Elrendezés (Oldalsáv + Tartalom)
   ================================= */

.main-content {
    margin-left: var(--sidebar-width) !important; /* Eltoljuk a sidebar szélességével */
    width: calc(100% - var(--sidebar-width)) !important; /* A maradék helyet töltse ki */
    box-sizing: border-box;
    position: relative;
    min-height: 100vh;
    background-color: var(--szin-hatter); /* Egy kis háttérszín, hogy elváljon */
}


.demo-permanent-footer {
    padding: 1.5rem var(--padding-tartalom);
    background-color: var(--szin-menusav);
    color: var(--szin-szoveg-elsodleges);
    text-align: center;
    font-size: 0.9rem;
    flex-shrink: 0; /* Nem zsugorodik */
    margin-top: auto; /* Alulra tolja magát */
    box-sizing: border-box; 
    border-top: 3px solid var(--szin-szoveg-kiemeles);
    transition: padding 0.3s ease, border-top 0.2s;
}

.demo-permanent-footer:hover{
    border-top: 3px solid var(--szin-szoveg-kiemeles-hover);
}

.demo-permanent-footer p { margin: 0; }
.demo-permanent-footer a {
    color: var(--szin-szoveg-elsodleges);
    transition: color 0.2s;
}

.demo-permanent-footer a:hover {
    color: var(--szin-szoveg-kiemeles-hover);
    text-decoration: underline;
}

@media (max-width: 900px) {

    .main-content {
        margin-left: 0 !important; /* Mobilon nincs eltolás */
        width: 100% !important;
    }
}
/* =========================================
   FOOTER ELTOLÁS (HA VAN OLDALSÓ MENÜ)
   ========================================= */


/* Ugyanazok a szabályok, mint a main-content-nél */
.demo-permanent-footer.has-left-navbar {
    padding-left: 180px !important; /* A menü szélessége */
}

.demo-permanent-footer.has-right-navbar {
    padding-right: 180px !important;
}

/* MOBILON: Reseteljük, mert ott nincs oldalsó sáv */
@media (max-width: 900px) {
    .demo-permanent-footer.has-left-navbar,
    .demo-permanent-footer.has-right-navbar {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* =================================
   6. DEMÓ SZEKCIÓK ÁLTALÁNOS
   ================================= */
.demo-section {
    padding: var(--padding-tartalom);
    position: relative; 
}

/* Egységes gomb stílusok a demóban */
.demo-section button,
.demo-section .button-style,
.demo-section .holiday-link-button {
    display: inline-block;
    padding: var(--padding-gomb);
    font-size: var(--meret-gomb);
    font-weight: var(--suly-kiemelt);
    color: var(--szin-szoveg-gomb);
    background-color: var(--szin-szoveg-kiemeles);
    border: none;
    border-radius: var(--border-radius-alap);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--ido-hover);
}
.demo-section button:hover,
.demo-section .button-style:hover,
.demo-section .holiday-link-button:hover {
    background-color: var(--szin-szoveg-kiemeles-hover);
    color: var(--szin-szoveg-gomb);
}

/* =================================
   7. NAVBAR ELRENDEZÉSEK (JAVÍTOTT)
   ================================= */

/* --- ALAP BEÁLLÍTÁSOK --- */
#navbar {
    display: flex;
    align-items: center;
    background: var(--szin-menusav);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    width: 100%;
    z-index: 1000;
    box-sizing: border-box;
    /* Fontos: A demóban section, élesben header lehet, de az ID=navbar összeköti őket */
}

/* --- KÖZÖS BELSŐ ELEMEK --- */
#navbar .brand {
    font-weight: bold;
    font-size: 1.5rem;
    color: var(--szin-szoveg-kiemeles);
    text-decoration: none;
    white-space: nowrap;
    margin-right: 1rem;
    cursor: pointer;
    transition: color 0.2s;
}

#navbar .brand:hover {
    color: var(--szin-szoveg-kiemeles-hover);

}  

#navbar .links {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

#navbar .links a {
    text-decoration: none;
    color: var(--szin-szoveg-elsodleges);
    font-weight: 500;
    transition: color 0.2s;
}

#navbar .links a:hover {
    color: var(--szin-szoveg-kiemeles-hover);
}

#navbar .links a.demo-builder{
    color: var(--szin-szoveg-kiemeles);
    transition: color 0.2s;
}

#navbar .links a.demo-builder:hover {
    color: var(--szin-szoveg-kiemeles-hover);
}

#navbar.navbar-kozep {
    position: sticky; top: 0;
    padding: 1rem 0; /* Padding a szélétől függ, a wrap intézi */
    border-bottom: 3px solid var(--szin-szoveg-kiemeles);
    transition: border-bottom 0.2s;
}
#navbar.navbar-kozep .wrap {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 2rem;
    box-sizing: border-box;
}
#navbar.navbar-kozep .links {
    margin-left: auto; margin-right: auto; /* Középre húzás */
}

/* =========================================
   NAVBAR KÖZÉPRE IGAZÍTÁS JAVÍTÁSA (ASZTALI)
   ========================================= */

/* Csak asztali nézetben (769px felett), 
   mert mobilon már megoldottuk a hamburgerrel */
@media (min-width: 769px) {
    .navbar-kozep,
    .navbar-kozep .wrap {
        min-height: 31px; /* Állítsd tetszőleges méretre (pl. 70px, 90px) */
        box-sizing: border-box;
    }
    
    /* Ha a navbar típusa "közép" */
    .navbar-kozep .wrap {
        position: relative; /* Ez a referencia pont */
        justify-content: center; /* A linkeket középre kényszerítjük */
        padding: 0 2rem;
    }

    /* 1. A Logó "kiszögezése" balra */
    .navbar-kozep .brand {
        position: absolute;
        left: 2rem; /* Bal szél + kis távolság */
        top: 50%;
        transform: translateY(-50%); /* Függőleges közép */
        margin: 0;
    }

    /* 2. A Gombok "kiszögezése" jobbra */
    .navbar-kozep .nav-right-controls {
        position: absolute;
        right: 2rem; /* Jobb szél + kis távolság */
        top: 50%;
        transform: translateY(-50%); /* Függőleges közép */
        margin: 0;
    }
    
    /* Biztosítjuk, hogy a linkek ne csússzanak rá a logóra, ha kicsi a képernyő */
    .navbar-kozep .links {
        margin: 0 auto;
        padding: 0 150px; /* Helyet hagyunk a logónak és a gomboknak */
    }
}

/* --- 3. MOBIL (HAMBURGER) --- */
.demo-hamburger-toggle {
    display: none; /* Alapból rejtve, kivéve ha a HTML kéri */
    background: none;
    border: none;
    cursor: pointer;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 24px;
    padding: 0;
}
.demo-hamburger-toggle .bar {
    width: 100%; height: 3px; background: var(--szin-szoveg-elsodleges); border-radius: 2px;
}

/* --- TARTALOM ELTOLÁS (Fix menükhöz) --- */
main.main-content {
    transition: padding 0.3s ease;
    width: 100%;
    box-sizing: border-box;
    padding: 0; /* Alapértelmezett */
}
main.main-content.has-left-navbar { padding-left: 180px !important; }
main.main-content.has-right-navbar { padding-right: 180px !important; }

/* =========================================
   MOBIL NAVBAR & HAMBURGER (RESPONSIVE)
   ========================================= */

/* 1. ALAPBEÁLLÍTÁS (ASZTALI NÉZET) */
/* Alapból elrejtjük a hamburger gombot, csak mobilon kell */
.demo-hamburger-toggle {
    display: none; 
}

/* A jobb oldali vezérlők (Téma + Hamburger) legyenek egymás mellett */
.nav-right-controls {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto; /* Ez tolja őket jobbra asztali nézetben is */
}

/* 2. MOBIL NÉZET (Max 768px szélességig) */
@media (max-width: 768px) {

    /* --- A NAVBAR SZERKEZETE MOBILON --- */
    #navbar, 
    #navbar .wrap {
        display: flex;
        align-items: center;
        justify-content: space-between; /* Széthúzzuk a szélekre */
        position: relative; /* A pozicionáláshoz kell */
        padding: 1rem;
        height: 70px; /* Fix magasság a fejlécnek */
    }

    /* --- BRAND (LOGÓ) KÖZÉPRE IGAZÍTÁSA --- */
    #navbar .brand {
        position: absolute;
        left: 50%;
        transform: translateX(-50%); /* Tökéletesen középre húzza */
        margin: 0;
        z-index: 101; /* Hogy mindig látszódjon */
    }

    /* --- HAMBURGER GOMB MEGJELENÍTÉSE --- */
    .demo-hamburger-toggle {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 21px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 102; /* A menü felett legyen */
    }

    .demo-hamburger-toggle .bar {
        width: 100%;
        height: 3px;
        background-color: var(--szin-szoveg-elsodleges);
        border-radius: 3px;
        transition: all 0.3s ease-in-out;
    }

    /* --- ANIMÁCIÓ: AMIKOR NYITVA VAN (.is-open) --- */
    /* 1. vonal: elfordul 45 fokkal */
    .demo-hamburger-toggle.is-open .bar:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    /* 2. vonal: eltűnik */
    .demo-hamburger-toggle.is-open .bar:nth-child(2) {
        opacity: 0;
    }
    /* 3. vonal: elfordul -45 fokkal */
    .demo-hamburger-toggle.is-open .bar:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    /* --- A LENYÍLÓ MENÜ (.links) --- */
    .links {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh; /* Teljes képernyő */
        background-color: var(--szin-hatter); /* Sötét módban sötét! */
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2rem;
        
        /* Elrejtés animációval */
        opacity: 0;
        visibility: hidden;
        transform: translateY(-20px);
        transition: all 0.3s ease;
        z-index: 100; /* A tartalom felett, de a gomb alatt */
    }

    /* Amikor hozzáadjuk az .is-open osztályt (JS) */
    .links.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    /* A linkek stílusa a mobil menüben */
    .links a {
        font-size: 1.5rem;
        color: var(--szin-szoveg-elsodleges);
        font-weight: bold;
    }

    /* Témaváltó igazítása mobilon */
    /* Ha azt akarod, hogy a hamburger mellett legyen jobbra: */
    .nav-right-controls {
        z-index: 102;
        gap: 1.5rem;
    }
}

/* =================================
   8. SZEKCIÓK ELRENDEZÉSEI (A-Z)
   ================================= */
   
/* Alap kártya stílus */
.demo-section .card {
    border: var(--border-vastagsag) solid var(--szin-border-fo);
    border-radius: var(--border-radius-alap);
    box-shadow: var(--szin-arnyek-kartya);
    background: var(--szin-almenu);
    overflow: hidden;
}
.demo-section .card h3 { padding: 1rem 1rem 0.5rem 1rem; margin: 0; font-size: var(--meret-h3); }
.demo-section .card p { padding: 0 1rem 1rem 1rem; margin: 0; color: var(--szin-szoveg-masodlagos); font-size: var(--meret-almenu-elem); }

/* Alap lista elem stílus */
.demo-section .list-item {
    display: flex;
    align-items: center;
    border: var(--border-vastagsag) solid var(--szin-border-fo);
    border-radius: var(--border-radius-alap);
    background: var(--szin-almenu);
    padding: 1rem;
}
.demo-section .list-item h3 { margin: 0; font-size: var(--meret-h3); }
.demo-section .list-item p { margin: 0.25rem 0 0 0; color: var(--szin-szoveg-masodlagos); font-size: var(--meret-almenu-elem); }


/* =========================================
   RÓLUNK (ABOUT) SZEKCIÓK
   ========================================= */

.about-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
/* --- 3. KÁRTYÁS (CARDS) --- */
.about-cards-layout {
    text-align: center;
}

.about-header-center {
    max-width: 800px;
    margin: 0 auto 3rem auto;
}

.about-values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.value-card {
    background: var(--szin-almenu);
    padding: 2.5rem 2rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    transition: transform 0.3s;
    border-top: 4px solid var(--szin-szoveg-kiemeles);

}

.value-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-top: 4px solid var(--szin-szoveg-kiemeles-hover);
}

.value-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.value-card h3 {
    margin-bottom: 1rem;
    color: var(--szin-szoveg-elsodleges);
}

.value-card p {
    color: var(--szin-szoveg-masodlagos);
    line-height: 1.6;
}
/* =========================================
   13. KAPCSOLAT SZEKCIÓK (JAVÍTOTT LAYOUT)
   ========================================= */

/* --- 0. Szekció Címsor Javítása (Hogy ne csússzon el) --- */
.demo-section[id="contact"] {
    display: block !important; /* Kényszerítjük, hogy ne legyen flex/grid a fő doboz */
    width: 100%;
    box-sizing: border-box;
}

.demo-section[id="contact"] h2 {
    display: block !important;
    width: 100% !important;
    text-align: center;
    margin-bottom: 2.5rem;
    clear: both; /* Biztonsági háló */
}

/* --- Közös elemek --- */
.contact-container {
    max-width: 1100px;
    width: 100% !important; /* Kényszerített teljes szélesség */
    margin: 0 auto;
    display: block; /* Alapértelmezett blokk viselkedés */
}

/* Input mezők */
.input-style {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 15px;
    border: 1px solid var(--szin-border-fo);
    border-radius: 6px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 0.95rem;
    background: var(--szin-hatter);
    color: var(--szin-szoveg-elsodleges);
    transition: border-color 0.3s, box-shadow 0.3s;
}
.input-style:focus {
    outline: none;
    border-color: var(--szin-szoveg-kiemeles);
    box-shadow: 0 0 0 3px rgba(230, 136, 14, 0.1);
}
label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--szin-szoveg-elsodleges);
    text-align: left;
}



/* =========================================
   2. Középre zárt (Centered) - KÁRTYA STÍLUS
   ========================================= */
.contact-centered {
    max-width: 700px;
    margin: 0 auto; /* Középre igazítja a kártyát */
    text-align: center;
    
    /* --- KÁRTYA STÍLUS HOZZÁADÁSA --- */
    background-color: var(--szin-almenu); /* Fehér háttér (témától függően) */
    padding: 3rem; /* Belső térköz, hogy ne érjen a széléhez a szöveg */
    border-radius: 12px; /* Lekerekített sarkok */
    border: 1px solid var(--szin-border-fo); /* Vékony keret */
    box-shadow: var(--szin-arnyek-kartya); /* Árnyék a kiemeléshez */
}

.contact-centered .intro-text {
    margin-bottom: 2rem;
    color: var(--szin-szoveg-masodlagos);
    font-size: 1.1rem;
}

.contact-centered .form-row {
    display: flex;
    gap: 1.5rem;
}

.contact-centered .form-group { 
    flex: 1; 
    text-align: left; 
}

.contact-centered button {
    width: 100%;
    padding: 12px;
    font-size: 1.1rem;
    margin-top: 1rem;
}

.contact-centered .contact-footer-info {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--szin-border-fo);
    display: flex;
    justify-content: center;
    gap: 2rem;
    color: var(--szin-szoveg-masodlagos);
    font-weight: 500;
}

/* =========================================
   MOBIL OPTIMALIZÁLÁS (KAPCSOLAT ŰRLAP)
   ========================================= */

@media (max-width: 768px) {
    
    /* 1. KEVESEBB BELSŐ HÉZAG A KÁRTYÁN */
    /* Mobilon a 3rem (48px) túl sok helyet pazarol, csökkentjük felére */
    .contact-centered {
        padding: 1.5rem; 
        width: 100%; /* Kitölti a rendelkezésre álló helyet */
        box-sizing: border-box; /* Hogy a padding ne nyomja szét az oldalt */
    }

    /* 2. MEZŐK EGYMÁS ALÁ RENDEZÉSE */
    /* A flex irányát sorról (row) oszlopra (column) váltjuk */
    .contact-centered .form-row {
        flex-direction: column; 
        gap: 1rem; /* Kicsit kisebb szünet a mezők között */
    }

    /* 3. LÁBLÉC INFO EGYMÁS ALÁ */
    /* Az email és a telefon is kerüljön egymás alá, ne zsúfolódjon */
    .contact-centered .contact-footer-info {
        flex-direction: column;
        gap: 1rem;
    }
    
    /* 4. GOMB TAPINTÁSI MÉRET */
    /* Mobilon könnyebb megnyomni, ha kicsit magasabb a gomb */
    .contact-centered button {
        padding: 15px;
    }
}

/* =========================================
   HÍRLEVÉL (NEWSLETTER) SZEKCIÓK
   ========================================= */

.newsletter-container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

/* --- KÖZÖS ŰRLAP ELEMEK --- */
.newsletter-form {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.newsletter-input {
    padding: 0.8rem 1rem;
    border: 1px solid var(--szin-border-fo);
    border-radius: 6px;
    font-size: 1rem;
    flex-grow: 1; /* Kitölti a helyet */
    
    /* Sötét mód támogatás: */
    background-color: var(--szin-hatter); 
    color: var(--szin-szoveg-elsodleges);
    transition: border-color 0.3s;
}

.newsletter-input:focus {
    outline: none;
    border-color: var(--szin-szoveg-kiemeles);
}

.nl-note {
    display: block;
    margin-top: 1rem;
    color: var(--szin-szoveg-masodlagos);
    font-size: 0.8rem;
    opacity: 0.8;
}

/* --- 2. KIEMELT DOBOZ (CARD) --- */
.newsletter-card-wrapper {
    background: var(--szin-menusav); /* Kicsit elüt a háttértől */
    border: 1px solid var(--szin-border-fo);
    border-radius: 16px;
    padding: 3rem;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.nl-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.newsletter-card-wrapper h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: var(--szin-szoveg-elsodleges);
}

.newsletter-card-wrapper p {
    color: var(--szin-szoveg-masodlagos);
    margin-bottom: 2rem;
}

/* =========================================
   MOBIL OPTIMALIZÁLÁS (HÍRLEVÉL KÁRTYA)
   ========================================= */

@media (max-width: 768px) {

    /* 1. KÁRTYA BELSŐ KERET CSÖKKENTÉSE */
    /* 3rem (48px) helyett csak 1.5rem (24px) legyen, 
       hogy kiférjen a szöveg a kis képernyőn */
    .newsletter-card-wrapper {
        padding: 1.5rem;
        width: 100%;
        box-sizing: border-box;
    }

    /* 2. ŰRLAP MEZŐK EGYMÁS ALÁ */
    /* A flex irányát megfordítjuk: oszlop elrendezés */
    .newsletter-form {
        flex-direction: column;
        gap: 1rem; /* Kicsit nagyobb szünet a gomb és input között */
        width: 100%;
    }

    /* 3. INPUT MEZŐ */
    /* Biztosítjuk, hogy kitöltse a rendelkezésre álló helyet */
    .newsletter-input {
        width: 100%;
        box-sizing: border-box; /* Hogy a padding ne nyomja szét */
    }

    /* 4. GOMB TELJES SZÉLESSÉGBEN */
    /* Mobilon jobban néz ki és könnyebb megnyomni, ha faltól-falig ér */
    .newsletter-form .button-style {
        width: 100%;
        margin-left: 0; /* Ha esetleg volt margin, azt levesszük */
    }

    /* 5. SZÖVEGMÉRETEK FINOMHANGOLÁSA (Opcionális) */
    /* Ha a cím túl nagy lenne mobilon */
    .newsletter-card-wrapper h3 {
        font-size: 1.5rem;
    }
}


/* =========================================
   GYIK (FAQ) SZEKCIÓK - SÖTÉT MÓD BARÁT
   ========================================= */

.faq-container {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.faq-container h2 {
    text-align: center;
    margin-bottom: 1rem;
}

.faq-intro {
    text-align: center;
    color: var(--szin-szoveg-masodlagos);
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* --- 1. HARMONIKA (ACCORDION) --- */
.accordion-wrapper {
    max-width: 900px;
    margin: 0 auto;
    border-top: 1px solid var(--szin-szoveg-kiemeles);
}

.faq-item {
    border-bottom: 1px solid var(--szin-border-fo);
    transition: border-bottom 0.3s, background-color 0.3s, box-shadow 0.3s;
}

.faq-item[open] {
    border-bottom: 2px solid var(--szin-szoveg-kiemeles-hover);
    background-color: var(--szin-almenu);
    box-shadow: var(--szin-arnyek-kartya);
}

.faq-item summary {
    padding: 1.5rem 1.5rem;
    cursor: pointer;
    font-weight: 600;
    list-style: none; /* Alap nyíl eltüntetése */
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--szin-szoveg-elsodleges);
    transition: color 0.3s;
}

.faq-item[open] summary {
    color: var(--szin-szoveg-kiemeles);
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary:hover {
    color: var(--szin-szoveg-kiemeles-hover);
}

.faq-answer {
    padding: 0.5rem 1.5rem;
    color: var(--szin-szoveg-masodlagos);
    line-height: 1.6;
    font-size: 0.95rem;
}

/* --- A TÖKÉLETES FORGÓ IKON --- */

/* 1. A KONTÉNER (A doboz) */
.faq-item summary .icon {
    position: relative; /* Hogy a vonalakat ehhez igazítsuk */
    display: inline-block;
    width: 24px;       /* Fix méret */
    height: 24px;      /* Fix méret */
    flex-shrink: 0;    /* Ne nyomódjon össze */
    
    /* Forgás beállítása */
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center center;
}

/* 2. A VONALAK MEGRAJZOLÁSA (Pszeudo-elemekkel) */
/* Közös tulajdonságok a két vonalnak */
.faq-item summary .icon::before,
.faq-item summary .icon::after {
    content: "";
    position: absolute;
    background-color: var(--szin-szoveg-halvany); /* A te színed */
    border-radius: 2px;
    
    /* Pontosan középre tesszük őket */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Vízszintes vonal */
.faq-item summary .icon::before {
    width: 18px;
    height: 2px;
}

/* Függőleges vonal */
.faq-item summary .icon::after {
    width: 2px;
    height: 18px;
}

/* 3. FORGATÁS NYITÁSKOR */
.faq-item[open] summary .icon {
    /* 1 teljes kör (360) + 135 fok (hogy X legyen) = 495 fok */
    /* Vagy simán 45deg, ha nem akarsz pörgést */
    transform: rotate(315deg); 
}

/* Opcionális: Ha X-et akarsz úgy, hogy a szín is változzon */
.faq-item[open] summary .icon::before,
.faq-item[open] summary .icon::after {
    background-color: var(--szin-szoveg-kiemeles-hover); /* Vagy más szín nyitva */
}
/* =================================
   9. HERO SZEKCIÓK (TÖBB ELRENDEZÉS)
   ================================= */

.demo-section[id="hero"] .hero-content h1 { margin-top: 0; font-size: 2.5rem; }
.demo-section[id="hero"] .hero-content p { font-size: 1.1rem; margin-bottom: 1.5rem; }
.demo-section[id="hero"] .hero-image { width: 100%; }

/* ==================================================
   ÚJ OPCIÓ: Osztott, rózsaszín, gomb a kép alatt
   (A te eredeti kódod alapján másolva)
   ================================================== */

/* A konténer: Ez határozza meg a méretet */
.hero-bg-overlay {
    position: relative; /* Fontos: ez a viszonyítási pont */
    min-height: 60vh;   /* Minimum magasság */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-bottom: none;
    overflow: hidden;   /* Ha a kép kilógna, levágjuk */
    padding: 2rem;      /* Hogy a szöveg ne érjen a széléig mobilon */
}

/* 1. RÉTEG: A Kép (Legalul) */
.hero-bg-overlay .hero-image {
    position: absolute; /* Kivesszük a szövegfolyamból */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;  /* Kitölti a teret torzítás nélkül */
    object-position: center;
    z-index: 0;         /* Legalulra kerül */
}

/* 2. RÉTEG: A Sötétítés (Középen) */
.hero-bg-overlay::before {
    content: '';
    position: absolute;
    inset: 0;           /* Ugyanaz mint top:0; left:0; right:0; bottom:0; */
    background-color: rgba(0, 0, 0, 0.65); /* Sötétítés mértéke */
    z-index: 1;         /* A kép felett */
}

/* 3. RÉTEG: A Szöveg/Tartalom (Legfelül) */
.hero-bg-overlay .hero-content {
    position: relative; /* Hogy működjön a z-index */
    z-index: 2;         /* Mindenki felett */
    max-width: 800px;
    width: 100%;
}

/* Szövegformázás */
.hero-bg-overlay h1 {
    color: var(--szin-szoveg-gomb, #fff); /* Fehér szöveg */
    margin-bottom: 1rem;
}

.hero-bg-overlay p {
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2rem;
    font-size: 1.2rem;
}

.hero-bg-overlay button {
    background-color: var(--szin-szoveg-kiemeles);
    color: var(--szin-szoveg-gomb);
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 1rem;
    border-radius: 5px;
}

.hero-bg-overlay button:hover {
    background-color: var(--szin-szoveg-kiemeles-hover);
}
/* =========================================
   BEMUTATKOZÁS (INTRO) SZEKCIÓ
   ========================================= */


.intro-container {
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
    padding: 2rem 0;
}

/* --- 1. KIEMELT KÁRTYA NÉZET --- */
.intro-card-wrapper {
    background: var(--szin-menusav);
    border: 2px solid var(--szin-border-fo);
    border-radius: 16px;
    padding: 3rem 4rem;
    text-align: center;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.intro-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: inline-block;
    animation: wave 2s infinite;
    transform-origin: 70% 70%;
}

@keyframes wave {
    0% { transform: rotate( 0.0deg) }
    10% { transform: rotate(14.0deg) }
    20% { transform: rotate(-8.0deg) }
    30% { transform: rotate(14.0deg) }
    40% { transform: rotate(-4.0deg) }
    50% { transform: rotate(10.0deg) }
    60% { transform: rotate( 0.0deg) }
    100% { transform: rotate( 0.0deg) }
}

.intro-card-wrapper h2 {
    color: var(--szin-szoveg-elsodleges);
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.intro-divider {
    width: 60px;
    height: 4px;
    background: var(--szin-szoveg-kiemeles);
    margin: 0 auto 2rem auto;
    border-radius: 2px;
}

.intro-card-wrapper p {
    color: var(--szin-szoveg-masodlagos);
    font-size: 1.1rem;
    line-height: 1.7;
    margin-bottom: 1rem;
}

.intro-card-wrapper strong {
    color: var(--szin-szoveg-elsodleges);
    font-weight: 600;
}

.intro-highlight {
    font-weight: 500;
    color: var(--szin-szoveg-kiemeles) !important;
    font-style: italic;
}
/* =========================================
   12. VIDEÓ SZEKCIÓK (YOUTUBE STÍLUS)
   ========================================= */


/* A videó placeholder kinézete (YouTube stílus) */
.placeholder-video {
    width: 100%;
    aspect-ratio: 16 / 9; /* Fix videó arány */
    background-color: black; /* Fekete alap */
    border-radius: var(--border-radius-alap);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    transition: transform 0.3s, box-shadow 0.3s;
}
.placeholder-video:hover {
    transform: scale(1.03);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
/* "Lejátszás" gomb a közepére */
.placeholder-video::before {
    content: '▶'; 
    color: #fff;
    font-size: 2rem;
    width: 50px;
    height: 50px;
    border: 3px solid #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 5px; /* Kis optikai igazítás */
    opacity: 0.8;
}
/* Felirat a placeholderre */
.placeholder-video::after {
    content: 'YouTube Videó';
    position: absolute;
    bottom: 10px;
    color: var(--szin-szoveg-halvany);
    font-size: 0.8rem;
}


/* --- Profil alapú elrendezések --- */
.video-profile-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 2rem;
}

/* Rács elrendezések */
.video-grid {
    display: grid;
    gap: 1.5rem;
    max-width: 1000px;
    margin: 0 auto;
}

/* 1 Videó: Középre, korlátozott szélességgel */
.video-grid.grid-1 {
    grid-template-columns: 1fr;
    max-width: 700px;
}

/* =========================================
   FIGYELMEZTETŐ POPUP (DESKTOP WARNING)
   ========================================= */

/* A sötét háttér (Overlay) */
.custom-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Sötétítés */
    backdrop-filter: blur(5px); /* Divatos homályosítás */
    z-index: 9999; /* Minden felett legyen! */
    display: none; /* Alapból rejtve (JS kapcsolja be) */
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Ha aktív, akkor látszik */
.custom-modal-overlay.show {
    display: flex;
    opacity: 1;
}

/* A doboz (Popup) */
.custom-modal-box {
    background-color: var(--szin-hatter);
    border: 1px solid var(--szin-border-fo);
    padding: 2.5rem;
    border-radius: 16px;
    max-width: 500px;
    width: 90%;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    transform: translateY(20px);
    transition: transform 0.3s ease;
}

/* Animáció beúszáshoz */
.custom-modal-overlay.show .custom-modal-box {
    transform: translateY(0);
}

.modal-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.custom-modal-box h3 {
    margin-bottom: 1rem;
    color: var(--szin-szoveg-elsodleges);
    font-size: 1.5rem;
}

.custom-modal-box p {
    color: var(--szin-szoveg-masodlagos);
    margin-bottom: 1rem;
    line-height: 1.6;
}

.custom-modal-box .modal-hint {
    background-color: var(--szin-menusav);
    padding: 1rem;
    border-radius: 8px;
    font-size: 0.9rem;
    border: 1px dashed var(--szin-border-dashed);
    margin-bottom: 2rem;
}

.custom-modal-box .button-style {
    margin-top: 0; /* Felülírjuk az alap stílust */
    cursor: pointer;
}

/* =========================================
   MOBIL NÉZET ÉS RESZPONZIVITÁS (Max 768px)
   ========================================= */
@media screen and (max-width: 768px) {

    /* 1. GLOBÁLIS VÁLTOZÓK FELÜLÍRÁSA
       Itt csökkentjük a térközöket és méreteket az egész oldalon */
    :root {
        /* Kisebb belső margó a szekcióknak (2.5rem helyett) */
        --padding-tartalom: 1.5rem 1rem; 
        
        /* Kisebb gombok mobilon */
        --padding-gomb: 0.8rem 1.2rem;
        
        /* Kisebb címsorok */
        --meret-h2: 1.5rem; 
        --meret-h3: 1.2rem;
        
        /* A kártyák paddingjának csökkentése */
        --padding-kartya: 1rem;
    }

    /* 2. HERO SZEKCIÓ (Főoldal teteje) */
    .hero-content h1 {
        font-size: 1.8rem !important; /* Kisebb főcím */
        line-height: 1.3;
    }
    
    .hero-bg-overlay {
        min-height: 50vh; /* Ne foglalja el a teljes képernyőt, ha nincs tartalom */
        padding: 4rem 1rem; /* Helyet hagyunk a navbar alatt */
    }

    /* 3. INTRO KÁRTYA (Bemutatkozás) */
    .intro-container {
        padding: 1rem 0;
    }
    
    .intro-card-wrapper {
        /* A desktop 3rem 4rem paddingja túl sok mobilon */
        padding: 2rem 1.5rem; 
    }
    
    .intro-icon {
        font-size: 2.5rem; /* Kisebb integető kéz */
    }

    /* 4. GRID RENDSZEREK (Rólunk, Videó) 
       A "minmax(300px...)" desktopon jó, de régi kis telefonokon (320px) kilóg.
       Itt kényszerítjük az 1 oszlopos megjelenést. */
    .about-values-grid,
    .video-grid {
        grid-template-columns: 1fr !important; /* Mindig 1 oszlop */
        gap: 1.5rem;
    }

    /* 5. GYIK (FAQ) */
    .faq-item summary {
        padding: 1rem; /* Kisebb kattintható terület */
        font-size: 0.95rem;
    }
    
    .faq-intro {
        margin-bottom: 1.5rem;
    }

    /* 6. HÍRLEVÉL ÉS KAPCSOLAT FIXEK 
       (Bár a kódodban volt már rájuk szabály, itt pontosítjuk) */
    .newsletter-card-wrapper,
    .contact-centered {
        padding: 1.5rem !important; /* Felülírja a desktop nagy paddingot */
    }
    
    .form-row {
        flex-direction: column; /* Egymás alá kerüljön a Név és Email */
        gap: 1rem;
    }

    /* 7. MODAL (Pop-up) */
    .custom-modal-box {
        padding: 1.5rem;
        width: 85%; /* Hogy legyen kis hely a szélén */
    }
}

/* =========================================
   EXTRA KICSI MOBILOKRA (Max 380px)
   Pl. régebbi iPhone SE, Galaxy S kistestvérek
   ========================================= */
@media screen and (max-width: 380px) {
    .hero-content h1 {
        font-size: 1.5rem !important;
    }
    
    /* Ha a menü gombok nem férnek el a logó mellett */
    #navbar .brand {
        font-size: 1.2rem;
    }
}