/* --- ZMIENNE I RESET --- */
   :root {
       --bg-color: #FFFBF5;
       --primary-green: #6B7038;
       --light-green: #A7AF87;
       --accent-gold: #D2A679;
       --text-dark: #2F3325;
       --text-light: #F9F9F9;
       --blob-color: #E8EEDC;
       --max-width: 1300px;
   }

   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }

   body {
       font-family: 'Nunito', sans-serif;
       background-color: var(--bg-color);
       color: var(--text-dark);
       line-height: 1.6;
       overflow-x: hidden;
       padding-top: 80px;
       font-size: 18px;
   }

   h1,
   h2,
   h3,
   h4 {
       font-family: 'Quicksand', sans-serif;
       font-weight: 600;
   }

   a {
       text-decoration: none;
       color: inherit;
   }

   ul {
       list-style: none;
   }

   /* --- NOWY KONTENER --- */
   .container {
       max-width: var(--max-width);
       width: 100%;
       margin: 0 auto;
       padding: 0 20px;
   }

   /* --- ELEMENTY GRAFICZNE (KLEKSY) --- */
   .blob-bg {
       position: absolute;
       z-index: -1;
       opacity: 0.6;
   }

   .blob-shape {
       border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
       transition: all 5s ease-in-out infinite alternate;
   }

   /* --- HEADER & NAV --- */
   header {
       position: fixed;
       width: 100%;
       top: 0;
       left: 0;
       background-color: rgba(255, 251, 245, 0.98);
       backdrop-filter: blur(5px);
       z-index: 1000;
       box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
       height: 80px;
       display: flex;
       align-items: center;
   }

   .header-inner {
       display: flex;
       justify-content: space-between;
       align-items: center;
       width: 100%;
   }

   .logo {
       font-size: 1.8rem;
       font-weight: 700;
       color: var(--primary-green);
       display: flex;
       align-items: center;
       gap: 10px;
   }

   .logo span {
       background: var(--accent-gold);
       color: white;
       padding: 2px 10px;
       border-radius: 20px;
       font-size: 1rem;
   }

   /* Menu Desktop */
   .nav-menu {
       display: flex;
       gap: 30px;
       align-items: center;
   }

   .nav-link {
       font-weight: 700;
       font-size: 0.9rem;
       text-transform: uppercase;
       letter-spacing: 1px;
       transition: color 0.3s;
   }

   .nav-link:hover {
       color: var(--accent-gold);
   }

   .cta-btn {
       background-color: var(--primary-green);
       color: white;
       padding: 10px 25px;
       border-radius: 50px;
       font-weight: 400;
       transition: transform 0.3s, background 0.3s;
       text-transform:uppercase;
       font-size: 14px;
       letter-spacing: 1px;
   }

   .cta-btn:hover {
       background-color: var(--accent-gold);
       transform: scale(1.05);
   }

   /* Hamburger Icon (domyślnie ukryty) */
   .hamburger {
       display: none;
       cursor: pointer;
       font-size: 1.5rem;
       color: var(--primary-green);
   }

   /* --- HERO SECTION --- */
   #hero {
       min-height: 85vh;
       display: flex;
       align-items: center;
       position: relative;
       overflow: hidden;
       padding: 50px 0;
   }

   .hero-inner {
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 50px;
   }

   .hero-content {
       flex: 1;
       max-width: 600px;
       z-index: 2;
   }

   .hero-content h1 {
       font-size: 3.5rem;
       line-height: 1.1;
       margin-bottom: 20px;
       color: var(--primary-green);
   }

   .hero-content p {
       font-size: 18px;
       margin-bottom: 30px;
       color: #555;
   }

   .hero-image {
       flex: 1;
       position: relative;
       display: flex;
       justify-content: center;
   }

   .hero-img-blob {
       width: 550px;
       height: 550px;
       background: url('img/logo.png') center/cover;
       border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
       box-shadow: 20px 20px 0px var(--accent-gold);
       animation: morph 8s ease-in-out infinite;
   }

           .features-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            margin-top: 30px;
        }

        .feature-item {
            background: white;
            padding: 15px;
            border-radius: 20px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            display: flex;
            align-items: center;
            gap: 15px;
            border-left: 5px solid var(--accent-gold);
        }

        .feature-item i {
            color: var(--primary-green);
            font-size: 1.5rem;
        }

   @keyframes morph {
       0% {
           border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
       }

       50% {
           border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
       }

       100% {
           border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
       }
   }

   .hero-decor-1 {
       position: absolute;
       top: 10%;
       left: -5%;
       width: 300px;
       height: 300px;
       background-color: var(--blob-color);
       border-radius: 50%;
       z-index: 1;
   }

   /* --- O NAS --- */
   #o-nas {
       padding: 80px 0;
       position: relative;
   }

   .about-inner {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 60px;
       align-items: center;
       margin-bottom: 50px; /* Odstęp przed rozwinięciem tekstu */
   }

   .about-img-container {
       position: relative;
   }

   .about-img {
       width: 100%;
       height: auto;
       border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
       border: 5px solid white;
       box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
   }

   .blob-backdrop {
       position: absolute;
       top: -20px;
       left: -20px;
       width: 100%;
       height: 100%;
       background-color: var(--primary-green);
       border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
       z-index: -1;
       transform: rotate(-5deg);
   }

   .about-content h2 {
       font-size: 2.5rem;
       color: var(--primary-green);
       margin-bottom: 20px;
   }



           .features-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            margin-top: 30px;
        }

        .feature-item {
            background: white;
            padding: 15px;
            border-radius: 20px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            display: flex;
            align-items: center;
            gap: 15px;
            border-left: 5px solid var(--accent-gold);
        }


   /* --- NOWE STYLE DLA O NAS (ROZSZERZONE) --- */
   .about-extended {
               display: grid;
            grid-template-columns: 1fr 1fr;
            gap:80px;
   }
   
.about-extended-col {
            display: block;

}


   .about-extended h3 {
       font-size: 1.8rem;
       color: var(--primary-green);
       margin-top: 40px;
       margin-bottom: 35px;
       border-bottom: 2px solid var(--blob-color);
       padding-bottom: 5px;
       display: inline-block;
   }

   .about-extended ul {
       list-style: disc; /* Przywracamy kropki */
       padding-left: 20px;
       margin-bottom: 20px;
       color: #444;
   }

   .about-extended li {
       margin-bottom: 8px;
   }

   .about-extended p {
       margin-bottom: 15px;
       color: #555;
   }


   /* --- OFERTA --- */
   #wydarzenia {
       padding: 80px 0;
       text-align: center;
       background-color: #F2F5EA;
       position: relative;
   }

   #wydarzenia h2 {
       font-size: 2.5rem;
       color: var(--primary-green);
       margin-bottom: 50px;
   }

   .offer-container {
       display: flex;
       flex-wrap: wrap;
       justify-content: center;
       gap: 30px;
   }

   .offer-card {
       background: white;
       border-radius: 30px;
       padding: 40px;
       width: 100%;
       max-width:1000px;
       box-shadow: 0 10px 20px rgba(107, 112, 56, 0.1);
       transition: transform 0.3s;
       position: relative;
       overflow: hidden;
   }

   .offer-card:hover {
       transform: translateY(-10px);
   }

   .offer-card h3 {
       margin-bottom: 15px;
       color: var(--text-dark);
   }

   .offer-icon {
       background-color: var(--blob-color);
       width: 80px;
       height: 80px;
       border-radius: 50%;
       display: flex;
       align-items: center;
       justify-content: center;
       margin: 0 auto 20px auto;
       color: var(--primary-green);
       font-size: 2rem;
   }

   /* --- KONTAKT --- */
   #kontakt {
       padding: 100px 0;
       text-align: center;
       position: relative;
       background: linear-gradient(180deg, var(--bg-color) 0%, #E8EEDC 100%);
   }

   .contact-box {
       max-width: 1000px;
       margin: 0 auto;
       background: white;
       border-radius: 50px;
       padding: 60px 20px;
       box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
       position: relative;
       z-index: 10;
   }

   .contact-box h2 {
       font-size: 2.5rem;
       margin-bottom: 16px;
       color: var(--primary-green);
   }

   .contact-box > p {
       margin-bottom: 36px;
       color: #555;
   }

   .contact-columns {
       display: grid;
       grid-template-columns: 1fr 1px 1fr;
       gap: 0 40px;
       align-items: center;
   }

   .contact-columns::before {
       content: '';
       display: block;
       grid-column: 2;
       grid-row: 1;
       width: 1px;
       height: 100%;
       background: #dde3c8;
       align-self: stretch;
   }

   .contact-col {
       padding: 0 10px;
   }

   .contact-col h3 {
       font-size: 1.05rem;
       font-weight: 700;
       color: var(--primary-green);
       margin-bottom: 6px;
       text-transform: uppercase;
       letter-spacing: 0.5px;
   }

   .contact-big {
       font-family: 'Quicksand', sans-serif;
       font-size: 3rem;
       font-weight: 600;
       color: var(--accent-gold);
       margin: 20px 0;
       display: block;
       word-wrap: break-word;
   }

   .contact-email {
       font-size: 1.5rem;
       color: var(--text-dark);
       text-decoration: underline;
       text-decoration-color: var(--light-green);
       word-wrap: break-word;
   }

   .decor-leaf {
       position: absolute;
       font-size: 10rem;
       color: rgba(107, 112, 56, 0.1);
       z-index: 1;
       right: 10%;
       bottom: 10%;
       transform: rotate(30deg);
   }

   /* --- STOPKA --- */
   footer {
       background-color: #d2a679;
       color: white;
       text-align: center;
       padding: 30px 0;
       font-size: 0.9rem;
   }

/* ===== SEKCJA REKRUTACJA ===== */
#rekrutacja {
    padding: 80px 0;
    background: #f9f7f2;
}

#rekrutacja h2 {
    text-align: center;
    margin-bottom: 12px;
}

.rekrutacja-intro {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 40px;
    color: #555;
    font-size: 1.05rem;
}

.rekrutacja-form {
    max-width: 820px;
    margin: 0 auto;
    background: #fff;
    border-radius: 20px;
    padding: 40px 44px;
    box-shadow: 0 8px 32px rgba(107, 112, 56, 0.10);
}

.form-group {
    margin-bottom: 22px;
}

.form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #3a3a2e;
    font-size: 0.97rem;
}

.form-group input[type="email"],
.form-group input[type="number"],
.form-group input[type="tel"],
.form-group select {
    width: 100%;
    padding: 11px 16px;
    border: 2px solid #dde3c8;
    border-radius: 10px;
    font-size: 1rem;
    font-family: 'Nunito', sans-serif;
    color: #3a3a2e;
    background: #fafdf6;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.form-group select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7038' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 42px;
    cursor: pointer;
}

.form-group select option[value=""] {
    color: #aaa;
}

.form-group input[type="email"]:focus,
.form-group input[type="number"]:focus,
.form-group input[type="tel"]:focus,
.form-group select:focus {
    outline: none;
    border-color: #6B7038;
    background: #fff;
}

.phone-input-wrap {
    display: flex;
    align-items: center;
    border: 2px solid #dde3c8;
    border-radius: 10px;
    background: #fafdf6;
    overflow: hidden;
    transition: border-color 0.2s;
}

.phone-input-wrap:focus-within {
    border-color: #6B7038;
    background: #fff;
}

.phone-prefix {
    padding: 11px 12px;
    background: #eef2e0;
    color: #6B7038;
    font-weight: 700;
    font-size: 0.97rem;
    border-right: 2px solid #dde3c8;
    white-space: nowrap;
}

.phone-input-wrap input[type="tel"] {
    border: none;
    background: transparent;
    border-radius: 0;
    padding-left: 12px;
    flex: 1;
}

.phone-input-wrap input[type="tel"]:focus {
    border: none;
    background: transparent;
}

.radio-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.radio-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 400;
    color: #3a3a2e;
    font-size: 0.97rem;
    padding: 10px 14px;
    border: 2px solid #dde3c8;
    border-radius: 10px;
    background: #fafdf6;
    transition: border-color 0.2s, background 0.2s;
}

.radio-label:hover {
    border-color: #6B7038;
    background: #f3f7e8;
}

.radio-label input[type="radio"] {
    accent-color: #6B7038;
    width: 17px;
    height: 17px;
    cursor: pointer;
    flex-shrink: 0;
}

.form-group--checkbox .checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    font-weight: 400;
    color: #3a3a2e;
    font-size: 0.94rem;
    line-height: 1.5;
}

.form-group--checkbox input[type="checkbox"] {
    accent-color: #6B7038;
    width: 18px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px;
}

.polityka-link {
    color: #6B7038;
    text-decoration: underline;
}

.required {
    color: #c0392b;
    font-weight: 700;
}

.optional {
    color: #999;
    font-weight: 400;
    font-size: 0.88em;
}

.form-required-note {
    font-size: 0.88rem;
    color: #888;
    margin-bottom: 24px;
}

.form-submit-btn {
    width: 100%;
    justify-content: center;
    font-size: 1.05rem;
    padding: 14px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.form-success {
    max-width: 580px;
    margin: 0 auto;
    background: #eef6e6;
    border: 2px solid #6B7038;
    border-radius: 16px;
    padding: 36px 40px;
    text-align: center;
    color: #3a5a1a;
}

.form-success i {
    font-size: 2.5rem;
    color: #6B7038;
    margin-bottom: 14px;
    display: block;
}

.form-success p {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
}

.form-error {
    max-width: 580px;
    margin: 0 auto 20px;
    background: #fde8e8;
    border: 2px solid #c0392b;
    border-radius: 12px;
    padding: 14px 20px;
    color: #c0392b;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 600px) {
    .rekrutacja-form {
        padding: 28px 18px;
    }
}



   /* --- NADARZYN INFO SECTION --- */
   #nadarzyn-info {
       padding: 80px 0;
       background: #fffbf5;
       position: relative;
   }

   .nadarzyn-inner {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 60px;
       align-items: center;
   }

   .nadarzyn-badge {
       display: inline-block;
       background: var(--accent-gold);
       color: #fff;
       font-weight: 700;
       font-size: 0.85rem;
       letter-spacing: 0.5px;
       text-transform: uppercase;
       padding: 6px 16px;
       border-radius: 50px;
       margin-bottom: 18px;
   }

   .nadarzyn-content h2 {
       font-size: 2rem;
       color: var(--primary-green);
       line-height: 1.25;
       margin-bottom: 18px;
   }

   .nadarzyn-lead {
       font-size: 1.05rem;
       color: #555;
       margin-bottom: 28px;
       line-height: 1.7;
   }

   .nadarzyn-cta {
       display: inline-block;
       margin-bottom: 36px;
   }

   .nadarzyn-dla-kogo {
       background: #fff;
       border-left: 5px solid var(--primary-green);
       border-radius: 12px;
       padding: 18px 22px;
       margin-bottom: 24px;
       box-shadow: 0 4px 16px rgba(107, 112, 56, 0.07);
   }

   .nadarzyn-dla-kogo h3,
   .nadarzyn-dlaczego h3 {
       font-size: 1.1rem;
       color: var(--primary-green);
       margin-bottom: 10px;
   }

   .nadarzyn-dla-kogo p {
       font-size: 0.97rem;
       color: #3a3a2e;
   }

   .nadarzyn-dlaczego {
       background: #fff;
       border-radius: 12px;
       padding: 18px 22px;
       box-shadow: 0 4px 16px rgba(107, 112, 56, 0.07);
   }

   .nadarzyn-checklist {
       list-style: none;
       padding: 0;
       margin: 0;
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 8px 16px;
   }

   .nadarzyn-checklist li {
       font-size: 0.95rem;
       color: #3a3a2e;
       display: flex;
       align-items: center;
       gap: 8px;
   }

   .nadarzyn-checklist li i {
       color: var(--primary-green);
       font-size: 0.8rem;
       flex-shrink: 0;
   }

   .nadarzyn-image {
       position: relative;
   }

   /* --- MEDIA QUERIES (RESPONSYWNOŚĆ) --- */
   @media (max-width: 992px) {
       .hero-content h1 {
           font-size: 3rem;
       }

#nadarzyn-info {
    padding: 40px 0;
}

       .hero-img-blob {
           width: 350px;
           height: 350px;
       }
   }

   @media (max-width: 768px) {

       /* Nawigacja Mobile */
       .hamburger {
           display: block;
           z-index: 1001;
       }

       .nav-menu {
           position: fixed;
           top: 80px;
           left: 0;
           width: 100%;
           background-color: var(--bg-color);
           flex-direction: column;
           padding: 40px 0;
           box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
           transform: translateY(-150%);
           transition: transform 0.4s ease-in-out;
           z-index: 999;
       }

       .nav-menu.active {
           transform: translateY(0);
       }

       .nav-menu li {
           width: 100%;
           text-align: center;
           margin: 0px 0;
       }


       /* Reszta sekcji */
       .hero-inner {
           flex-direction: column-reverse;
           text-align: center;
       }

       .hero-content h1 {
           font-size: 2.5rem;
       }

       .hero-img-blob {
           width: 300px;
           height: 300px;
           margin-bottom: 30px;
           z-index:99
       }

       .about-inner {
           grid-template-columns: 1fr;
       }

       .nadarzyn-inner {
           grid-template-columns: 1fr;
       }

       .nadarzyn-image {
           order: -1;
       }

       .nadarzyn-checklist {
           grid-template-columns: 1fr;
       }

       .contact-columns {
           grid-template-columns: 1fr;
       }

       .contact-columns::before {
           display: none;
       }

       .contact-col:last-child {
           padding-top: 30px;
       }

       .contact-big {
           font-size: 2rem;
       }

       .contact-email {
           font-size: 1.1rem;
       }

       nav {
           position: absolute; /* Wyjmuje element z przepływu, flexbox go ignoruje */
           top: 0;
           right: 0;
       }

.about-extended {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.about-extended h3 {
    font-size: 1.4rem;

    margin-top: 0px;
    margin-bottom: 25px;
}

.hero-content p {
    font-size: 16px;
}

#o-nas {
    padding: 40px 0;
    position: relative;
}

.about-inner {
    gap: 20px;
}

body {
    font-size: 16px;
}

#wydarzenia {
    padding: 40px 0;
}

#wydarzenia h2 {
    font-size: 1.7rem;
    margin-bottom: 30px;
}

#kontakt {
    padding: 40px 0;
}

.contact-box h2 {
      font-size: 1.7rem;
    margin-bottom: 30px;
 
}

    .hero-content h1 {
        font-size: 2rem;
    }

.blob-bg.blob-shape {
    display:none
}

   }