:root { 
    --p: #00ced1; /* Élénk Türkizkék (a sárga helyett) */
    --d: #073b3c; /* Sötét Türkiz (az alap sötét szín) */
    --l: #f0f7f7; /* Világos türkizes háttér */
    --w: #fff; 
    --s: 0 10px 30px rgba(0,0,0,0.1); 
}

/* 1. ALAPBEÁLLÍTÁSOK ÉS RESZPONZÍV ALAPOK */
* { 
    box-sizing: border-box; 
    font-family: 'Segoe UI', sans-serif; 
    scroll-behavior: smooth; 
}

body { 
    margin: 0; 
    padding-top: 70px; 
    background: var(--l); 
    color: #333; 
    overflow-x: hidden; 
    width: 100%;
}

/* Kényszerített elrejtés */
.hidden { 
    display: none !important; 
}

/* 2. NAVIGÁCIÓ */
nav { 
    background: var(--d); 
    padding: 15px 5%; 
    position: fixed; 
    top: 0; 
    width: 100%; 
    z-index: 2000; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.3); 
}

.logo { color: var(--p); font-size: 1.5rem; font-weight: 900; text-decoration: none; }
.nav-links { display: flex; list-style: none; gap: 20px; margin: 0; }
.nav-links a { 
    color: white; 
    text-decoration: none; 
    font-size: 0.8rem; 
    font-weight: 600; 
    text-transform: uppercase; 
    transition: 0.3s; 
}
.nav-links a:hover { color: var(--p); }

/* 3. KONTÉNER ÉS CÍMEK */
.container { 
    width: 100%; 
    max-width: 1100px; 
    margin: 0 auto; 
    padding: 2rem 15px; 
}

.sec-t { 
    text-align: center; 
    margin-bottom: 3rem; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    font-weight: 800; 
    color: var(--d); 
}

/* 4. BOOKING FORM */
.bk-c { 
    background: var(--w); 
    padding: clamp(15px, 5%, 40px); 
    border-radius: 25px; 
    box-shadow: var(--s); 
    border-top: 10px solid var(--p); 
    width: 100%;
}

.form-g { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 20px; 
    align-items: end; 
}

.f-grp { display: flex; flex-direction: column; width: 100%; }

.f-grp label { 
    font-weight: 700; 
    font-size: 1.1rem; 
    margin-bottom: 8px; 
    display: flex; 
    align-items: flex-end; 
    min-height: 2.5em; 
    line-height: 1.2; 
}

.f-grp input, .f-grp select { 
    padding: 14px; 
    border: 1px solid #ddd; 
    border-radius: 10px; 
    background: #fafafa; 
    font-size: 1.1rem; 
    width: 100%; 
    outline: none; 
}

.f-grp input:focus, .f-grp select:focus {
    border-color: var(--p);
}

.sec-h { 
    grid-column: 1 / -1; 
    background: #e0f9f9; /* Nagyon világos türkiz háttér a szekcióknak */
    padding: 12px; 
    border-left: 5px solid var(--p); 
    font-weight: 800; 
    margin: 25px 0 10px 0; 
    border-radius: 0 8px 8px 0; 
    font-size: 1.1rem;
    color: var(--d);
}

.pax-r { 
    grid-column: 1 / -1; 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); 
    gap: 15px; 
    align-items: end; 
}

.price-box { 
    grid-column: 1 / -1; 
    background: var(--d); 
    color: white; 
    padding: 30px; 
    border-radius: 15px; 
    text-align: center; 
    margin-top: 30px; 
}
.price-box span { font-size: clamp(2rem, 8vw, 3.5rem); color: var(--p); font-weight: 900; }

.btn { 
    background: var(--p); 
    color: var(--d); /* Türkizen a sötét szöveg jobban olvasható */
    border: none; 
    padding: 20px 40px; 
    border-radius: 50px; 
    font-size: 1.3rem; 
    font-weight: 800; 
    cursor: pointer; 
    display: block; 
    margin: 30px auto; 
    transition: 0.3s; 
}
.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 206, 209, 0.4);
}

/* 5. SERVICES & FLEET GRID */
.srv-g { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
    gap: 25px; 
    margin-bottom: 4rem;
}
.srv-c { 
    background: var(--w); padding: 30px; border-radius: 15px; 
    text-align: center; box-shadow: var(--s); border-bottom: 5px solid var(--p); 
}
.srv-c i { font-size: 2.5rem; color: var(--p); margin-bottom: 15px; }

.fl-g { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 30px; 
}
.fl-c { background: var(--w); border-radius: 20px; overflow: hidden; box-shadow: var(--s); }
.fl-c img { width: 100%; height: 250px; object-fit: cover; }
.fl-i { padding: 25px; }

/* 6. HOTEL GRID */
.ht-g { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); 
    gap: 12px; 
    max-height: 400px; 
    overflow-y: auto; 
    padding: 20px; 
    background: #e8f4f4; 
    border-radius: 15px; 
    border: 1px solid #ddd;
}
.ht-i { 
    background: var(--w); 
    padding: 12px; 
    border-radius: 8px; 
    font-size: 0.85rem; 
    font-weight: 600; 
    border: 1px solid #ccc; 
    cursor: pointer; 
    text-align: center;
}
.ht-i:hover { background: var(--p); color: var(--d); border-color: var(--d); }

/* 7. REVIEWS (VÉLEMÉNYEK) */
.rev-wrapper { 
    position: relative; 
    max-width: 950px; 
    margin: 40px auto; 
    padding: 0 55px; 
}
.rev-v { 
    display: flex; 
    overflow-x: auto; 
    scroll-snap-type: x mandatory; 
    scrollbar-width: none; 
    border-radius: 20px; 
    gap: 15px; 
}
.rev-v::-webkit-scrollbar { display: none; }
.rev-c { 
    min-width: 100%; 
    scroll-snap-align: start; 
    background: var(--w); 
    padding: 40px; 
    text-align: center; 
    border: 1px solid #eee; 
    border-radius: 20px; 
}
/* Vélemény lapozó gombok */
.s-btn { 
    position: absolute; top: 50%; transform: translateY(-50%); 
    background: var(--d); color: var(--p); border: none; width: 45px; height: 45px; 
    border-radius: 50%; cursor: pointer; z-index: 10; display: flex; justify-content: center; align-items: center; 
}
.s-btn:hover { background: var(--p); color: var(--d); }

.prev { left: 0; } .next { right: 0; }

/* 8. KAPCSOLAT ÉS LÁBÉR */
.ct-c { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 30px; 
    background: var(--d); 
    color: white; 
    padding: 40px; 
    border-radius: 25px; 
}
#map { height: 350px; border-radius: 20px; border: 2px solid var(--p); width: 100%; }

.whatsapp-float { 
    position: fixed; bottom: 20px; right: 20px; 
    background: #25d366; color: white; 
    width: 60px; height: 60px; 
    border-radius: 50%; 
    display: flex; justify-content: center; align-items: center; 
    font-size: 30px; z-index: 3000; text-decoration: none; 
}

footer { background: #052627; color: #78a1a1; text-align: center; padding: 40px; margin-top: 50px; }

/* 9. MEDIA QUERIES */
@media (max-width: 850px) { 
    .nav-links, .s-btn { display: none !important; }
    .rev-wrapper { padding: 0 10px; }
    .form-g, .pax-r, .fl-g, .ct-c { grid-template-columns: 1fr; }
    .ht-g { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
    .f-grp label { min-height: auto; margin-top: 10px; }
}

/* MMENU */
/* ASZTALIN MINDENT ELREJTÜNK */
#final-mobile-bar, #final-side-menu, #final-overlay {
    display: none !important;
}

/* MOBIL NÉZET (768px alatt) */
@media screen and (max-width: 768px) {
    /* Az eredeti menüd elrejtése - ezt a részt ellenőrizd! */
    nav, .navbar, header ul { display: none !important; }

    #final-mobile-bar {
        display: flex !important;
        position: fixed; top: 0; left: 0; width: 100%; height: 60px;
        background: #073b3c !important; /* Sötét türkiz */
        padding: 0 20px; align-items: center; justify-content: space-between;
        z-index: 999999 !important; box-sizing: border-box;
    }

    .atb-logo { color: #00ced1 !important; font-weight: bold; font-size: 20px; }

    #final-hamburger { width: 30px; height: 20px; display: flex; flex-direction: column; justify-content: space-between; cursor: pointer; }
    #final-hamburger span { display: block; height: 3px; width: 100%; background: #00ced1 !important; border-radius: 3px; }

    #final-side-menu {
        display: flex !important; position: fixed; top: 0; right: -280px;
        width: 280px; height: 100vh; background: #073b3c !important;
        z-index: 1000000 !important; flex-direction: column; padding-top: 80px;
        transition: 0.3s ease; box-shadow: -5px 0 15px rgba(0,0,0,0.5);
    }

    #final-side-menu.active { right: 0; }

    #final-side-menu a { color: white !important; padding: 15px 25px; text-decoration: none; font-size: 18px; border-bottom: 1px solid rgba(255,255,255,0.05); }
    
    .final-call { background: #00ced1 !important; color: #073b3c !important; text-align: center; margin: 20px; font-weight: bold; border-radius: 5px; }

    #final-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 999999; }
    #final-overlay.active { display: block !important; }
}