 @font-face {
            font-family: Castledown;
            src: url('../../assets/fonts/Castledown/castledown-regular.otf') format('opentype')
        }

        html, body {
            font-family: Castledown;
            scroll-behavior: smooth;
        }

        p, h1, h2, h3, h4, h5 {
            margin: 0;
            padding: 0;
        }

        input, input:focus, input:hover{
            box-shadow: none !important;
            border: none;
        }

        .banner-nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    padding: 25px 0;
    background: linear-gradient(to bottom, rgba(3, 60, 68, 0.4) 0%, rgba(0,0,0,0) 100%);
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.nav-logo {
    color: #fff;
    font-weight: 700;
    font-size: 22px;
    text-decoration: none;
    letter-spacing: 1px;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    z-index: 1001;
}

.nav-links {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 35px;
    margin: 0;
    padding: 0;
}

.nav-links a {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
    transition: color 0.2s ease;
    position: relative;
}

/* Linia pod linkami */
.nav-links a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 3px;
    bottom: -6px;
    left: 0;
    background: linear-gradient(to right, #5ce1ca, #fcb033);
    border-radius: 2px;
    transition: width 0.3s ease;
}

.nav-links a:hover::after {
    width: 100%;
}

.nav-links a:hover {
    color: #5ce1ca;
}

/* Przycisk hamburgera */
.nav-toggle {
    display: none;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 1001; /* Żeby zawsze był na wierzchu */
}

.hamburger {
    display: block;
    position: relative;
    width: 26px;
    height: 3px;
    background: #fff;
    transition: background 0.2s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.hamburger::before, .hamburger::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background: #fff;
    transition: all 0.2s ease;
}

.hamburger::before { top: -8px; }
.hamburger::after { top: 8px; }

/* Animacja ikony X */
.nav-toggle.open .hamburger { background: transparent; box-shadow: none; }
.nav-toggle.open .hamburger::before { transform: rotate(45deg); top: 0; }
.nav-toggle.open .hamburger::after { transform: rotate(-45deg); top: 0; }

/* --- WERSJA MOBILNA (Sam hamburger bezpośrednio na banerze) --- */
@media (max-width: 768px) {
    .banner-nav {
        padding: 20px 0; /* Mniejszy padding na mobile */
    }

    .nav-toggle {
        display: block; /* Pokazujemy hamburger */
    }

    /* Ukryta kurtyna z menu nakładająca się na baner */
    .nav-links {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100vh;
        background: rgba(14, 169, 160, 0.95); /* Hawajski morski z lekkim prześwitem */
        backdrop-filter: blur(10px);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 30px;
        transition: left 0.4s cubic-bezier(0.1, 0.9, 0.2, 1);
        z-index: 1000;
    }

    /* Wyjeżdżanie menu */
    .nav-links.open {
        left: 0;
    }

    .nav-links a {
        font-size: 22px;
        text-shadow: none;
    }
}
.weather-widget{
    width:100%;
    max-width:900px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.2);
    border-radius:22px;
    padding:20px;
}

.weather-title{
    color:#FDF05B;
    font-size:20px;
    margin-bottom:18px;
}

.weather-hours{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scrollbar-width:none;
}

.weather-hours::-webkit-scrollbar{
    display:none;
}

.weather-hour{
    min-width:95px;
    text-align:center;
    background:rgba(255,255,255,.08);
    border-radius:16px;
    padding:15px 10px;
    transition:.2s;
}

.weather-hour:hover{
    transform:translateY(-4px);
    background:rgba(255,255,255,.15);
}

.weather-time{
    color:#82F6F2;
    font-size:15px;
}

.weather-icon{
    font-size:28px;
    margin:8px 0;
}

.weather-temp{
    color:#fff;
    font-size:24px;
}

.weather-wind{
    font-size:13px;
    opacity:.7;
    margin-top:6px;
}

        .main-header-city-content p, .main-header-city-content li {
            color: white;
        }

        .main-header-city-content ul {
            padding-left: 75px;
        }

        .was-validated .form-control:invalid,
        .was-validated .form-select:invalid {
            border-color: #dc3545 !important;
            box-shadow: 0 0 0 0.15rem rgba(255, 3, 28, 0.788) !important;
            background-image: none !important;
        }

        .was-validated .form-check-input:invalid {
            border-color: #dc3545 !important;
            box-shadow: 0 0 0 0.05rem rgba(255, 3, 28, 0.788) !important;
        }

        .was-validated .form-check-input:invalid ~ .form-check-label {
            color: #dc3545 !important;
            font-weight: 500;
        }

        label {
            color: #fff;
            letter-spacing: 1px;
        }

        #main-header {
            position: relative;
            display: flex;
            width: 100%;
            background-color: #0EA9A0;
            height: 135vh;
        }

        #logoOLX {
            position: absolute;
            top: 75px;
            right: 75px;
            object-fit: cover;
            width: 200px !important;
        }

        #main-header img {
            /* width: 100%; */
            display: block;
            object-fit: cover;
        }

        #main-header::after {
            content: "";
            position: absolute;
            width: 100%;
            height: 35%;
            bottom: 0;
            left: 0;
            background: linear-gradient(to top, rgba(14, 169, 160, 1) 0%, rgba(14, 169, 160, 0) 100%);
            pointer-events: none;
            z-index: 0;
        }

        .main-header-content {
            width: 100%;
            position: absolute;
            bottom: 75px;
            left: 0;
            z-index: 1;
        }

        .main-header-content .btn-registration {
            display: inline-block;
            font-weight: 700;
            font-size: 18px;
            text-transform: uppercase;
            text-decoration: none;
            background: linear-gradient(to right, #5ce1ca 0%, #fcb033 100%);
            color: #033c44;
            border: 3px solid transparent;
            background-image: 
                linear-gradient(to right, #5ce1ca, #fcb033), 
                linear-gradient(to right, #82F6F2, #EFF3D1, #FDF05B);
            background-origin: padding-box, border-box;
            background-clip: padding-box, border-box;
            border-radius: 50px;
            padding: 10px 35px;
            letter-spacing: 1px;
            transition: transform 0.2s ease;
        }

        .btn-send {
            display: inline-block;
            font-weight: 700;
            font-size: 18px;
            text-transform: uppercase;
            text-decoration: none;
            background: linear-gradient(to right, #5ce1ca 0%, #fcb033 100%);
            color: #033c44;
            border: 3px solid transparent;
            background-image: 
                linear-gradient(to right, #5ce1ca, #fcb033), 
                linear-gradient(to right, #82F6F2, #EFF3D1, #FDF05B);
            background-origin: padding-box, border-box;
            background-clip: padding-box, border-box;
            border-radius: 50px;
            padding: 10px 35px;
            letter-spacing: 1px;
            transition: transform 0.2s ease;
        }

        .main-header-content .btn-registration:hover, .btn-send:hover{
            transform: scale(1.03);
        }

        .main-header-content p {
            font-size: 18px;
            color: #fff;
            white-space: pre-line;
            margin-top: 50px;
            line-height: 1.6;
        }

        #main-section {
            background: rgba(14, 169, 160, 1);
        }

        #main-section p, #main-section span {
            font-size: 20px;
            color: #fff;
            letter-spacing: 1px;
        }

        #main-section input[type="text"] {
            font-size: 20px;
            height: 65px;
            width: 85%;
            padding-left: 40px;
            background: rgba(68, 193, 177, 0.6);
            border-radius: 50px;
            border: none;
            color: #fff;
        }

        .container-default {
            position: relative;
        }

        .container-default::before {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            right: 0;
            background-image: url('../../assets/maskr.png');
            background-repeat: no-repeat;
            background-size: contain;
            background-position: right center; 
            pointer-events: none;
            z-index: 0;
        }

        #main-section input[type="radio"]:checked {
            background: #044142;
         }

        #main-section input::placeholder {
            color: rgba(255, 255, 255, 0.6);
        }

        .summer-container {
            position: relative;
        }

        .summer-container::after {
            content: "";
            width: 100%;
            min-height: 900px;
            position: absolute;
            top: -100px;
            left: 0;
            background-image: url('../../assets/maskl.png');
            background-repeat: no-repeat;
            background-size: contain;
            pointer-events: none;
            z-index: 0;
        }

        .summer-container::before {
            content: "";
            position: absolute;
            inset: 0;
            min-height: 550px;
            background-image: url('../../assets/fala.svg');
            background-position: center top;
            background-size: contain;
            background-repeat: repeat-x;
            opacity: 0.9;
            z-index: 1;
        }

        .summer-container > * {
            position: relative;
            z-index: 1;
        }
        
        .summer-container > div {
            min-height: 550px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .summer-container p, .summer-container label {
            color: #044142 !important;
        }

        footer {
            width: 100%;
            height: 400px;
            background: rgba(14, 169, 160, 1);
            background-image: url('../../assets/wavy-footer.webp');
            background-repeat: no-repeat;
            background-size: cover;
        }

        footer img {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateY(-50%);
        }


        #faq {
            padding-top: 150px;
            padding-bottom: 100px;
        }

        #faq p {
            color: #fff;
            text-align: left;
        }

        #pojecia h3, .main-header-pojecia p, .main-header-map p{
            color: #18A79F;
            font-size: 32px;
        }

        .main-header-pojecia span, .main-header-map span {
            font-size: 22px;
            color: #fff;
            font-weight: 500;
            line-height: 11px;
        }

        .summer-pojecie {            
            background: #FCCC40;
        }

        .summer-pojecie i, .summer-pojecie p, .summer-pojecie h3{
            color: #000;
            font-size: 18px;
            line-height: 24px;
        }

        #main-header-faq, #main-header-map {
            position: relative;
            display: flex;
            align-items: center;
            width: 100%;
            background-color: #0EA9A0;
            min-height: 100vh; 
            overflow: hidden;
        }

        #main-header-faq .bg-image, #main-header-map .bg-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            object-fit: cover;
            z-index: 0;
            filter: blur(5px);
            transform: scale(1.05);
        }

        #main-header-faq::after, #main-header-map::after {
            content: "";
            position: absolute;
            width: 100%;
            height: 65%;
            bottom: 0;
            left: 0;
            background: linear-gradient(to top, rgba(14, 169, 160, 1) 0%, rgba(14, 169, 160, 0) 100%);
            pointer-events: none;
            z-index: 1;
        }

        .main-header-faq-content {
            width: 100%;
            position: relative;
            z-index: 2;
        }

        .main-header-faq-content .btn-registration:hover, .btn-send:hover{
            transform: scale(1.03);
        }

        .main-header-pojecia, .main-header-map, .main-header-city{
            padding-top: 150px;
        }

        .main-header-pojecia::before {
            content: "";
            position: absolute;
            bottom: 0;
            right: 0;
            background-image: url('../../assets/wianek.png');
            z-index: 9999;
            width: 600px;
            height: 600px;
            opacity: 0.7
        }

        @media (max-width: 1250px) {
            #main-header-faq .bg-image, #main-header-map .bg-image {
                height: 100%;
            }
        }

        @media (max-width: 1024px) {
            #main-header {
                flex-direction: column;
                position: relative;
                height: 100%;
            }

            #logoOLX {
                top: 50px;
                right: 50px;
                width: 100px !important;
            }

            #main-header img {
                /* width: 100%; */
                display: block;
            } 

            .main-header-content p {
                font-size: 16px;
                margin-top: 30px;
            }

            .main-header-content {
                position: relative;
                background-color: #0EA9A0; 
                padding: 0 20px; 
            }

            .main-header-content::before {
                content: "";
                position: absolute;
                left: 0;
                top: -60px;
                width: 100%;
                height: 61px;
                background: linear-gradient(to bottom, rgba(14, 169, 160, 0) 0%, rgba(14, 169, 160, 1) 100%);
                pointer-events: none;
            }

            .main-header-content .btn-registration {
                font-size: 16px;
                padding: 12px 30px;
                width: 80%; 
                max-width: 300px;
            }

            .main-header-content p {
                font-size: 15px;
                margin-top: 30px;
                white-space: normal; 
            }
            
            .summer-container::before {
                background-size: cover;
            }

            #main-header-faq {
                flex-direction: column;
                min-height: auto; 
            }

            #main-header-map {
                flex-direction: column;
            }

            .main-header-pojecia::before {
                width: 450px;
                height: 450px;
            }
        }

        @media (max-width: 768px) {

            #logoOLX {
                top: 25px;
            }

            .main-header-pojecia::before {
                display: none;
            }

            #main-section span {
                font-size: 15px;
            }
            #main-section input[type="text"] {
                width: 100%;
            }

            footer {
                height: 200px;
            }

            footer img {
                width: 60% !important;
                left: 75%;
            }

            #faq {
                padding-top: 50px;
                padding-bottom: 50px;
            }

            .footer-image {
                width: 100% !important;
            }
        }