/* =====================================================
   NEWSLETTER
====================================================== */

.newsletter-section {

    background: #32511b;

    padding: 60px 20px;

}

.newsletter-content {

    max-width: 1200px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 60px;

}


/* -----------------------------------------------------
   TEXT
------------------------------------------------------ */

.newsletter-text {

    font-family: 'akipertoFont', sans-serif;

    flex: 1;

}

.newsletter-label {

    display: inline-block;

    margin-bottom: 10px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1.5px;

    color: #FFC107;

}

.newsletter-text h2 {

    margin: 0 0 15px;

    font-size: 32px;

    line-height: 1.2;

    color: #ffffff;

}

.newsletter-text p {

    max-width: 600px;

    margin: 0;

    font-size: 16px;

    line-height: 1.6;

    color: rgba(255, 255, 255, 0.9);

}


/* -----------------------------------------------------
   FORM
------------------------------------------------------ */

.newsletter-form {

    font-family: 'akipertoFont', sans-serif;

    flex: 0 1 500px;

}

.newsletter-form form {

    display: flex;

    flex-direction: column;

    gap: 10px;

}

.newsletter-form input[type="tel"] {

    flex: 1;

    min-width: 0;

    padding: 15px 18px;

    border: none;

    border-radius: 5px;

    font-family: inherit;

    font-size: 15px;

    background: #ffffff;

    color: #333333;

    outline: none;

}

.newsletter-form input[type="tel"]::placeholder {

    color: #777777;

}

.newsletter-form input[type="tel"]:focus {

    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.35);

}

.newsletter-form button {

    padding: 15px 24px;

    border: none;

    border-radius: 5px;

    background: #FFC107;

    color: #333333;

    font-family: inherit;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;

}

.newsletter-form button:hover {

    background: #ffca28;

    transform: translateY(-1px);

}


/* -----------------------------------------------------
   CONSENT
------------------------------------------------------ */

.newsletter-consent {

    margin-top: 4px;

}

.newsletter-consent label {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    font-size: 12px;

    line-height: 1.5;

    color: rgba(255, 255, 255, 0.8);

    cursor: pointer;

}

.newsletter-consent input[type="checkbox"] {

    flex-shrink: 0;

    width: 16px;

    height: 16px;

    margin-top: 2px;

    cursor: pointer;

}

.newsletter-consent a {

    color: #ffffff;

    text-decoration: underline;

}

.newsletter-consent a:hover {

    color: #FFC107;

}


/* -----------------------------------------------------
   ACCESSIBILITY
------------------------------------------------------ */

.sr-only {

    position: absolute;

    width: 1px;

    height: 1px;

    padding: 0;

    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .newsletter-section {

        padding: 45px 20px;

    }

    .newsletter-content {

        flex-direction: column;

        align-items: stretch;

        gap: 30px;

    }

    .newsletter-text {

        text-align: center;

    }

    .newsletter-text h2 {

        font-size: 27px;

    }

    .newsletter-text p {

        margin: 0 auto;

    }

    .newsletter-form {

        flex: none;

        width: 100%;

    }

    .newsletter-form input[type="tel"],

    .newsletter-form button {

        width: 100%;

        box-sizing: border-box;

    }

    .newsletter-consent label {

        text-align: left;

    }

}


/* =====================================================
   NEWSLETTER PAGE
====================================================== */

.newsletter-page {

    background: #f8f9fa;

    padding: 80px 20px;

}

.newsletter-page-content {

    max-width: 900px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    align-items: center;

}


/* -----------------------------------------------------
   INTRO
------------------------------------------------------ */

.newsletter-page-intro {

    font-family: 'akipertoFont', sans-serif;

}

.newsletter-page-intro h1 {

    margin: 0 0 20px;

    font-size: 42px;

    line-height: 1.15;

    color: #32511b;

}

.newsletter-page-intro p {

    margin: 0;

    font-size: 17px;

    line-height: 1.7;

    color: #555555;

}


/* -----------------------------------------------------
   FORM CARD
------------------------------------------------------ */

.newsletter-page-form {

    padding: 35px;

    background: #ffffff;

    border-radius: 8px;

    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);

    font-family: 'akipertoFont', sans-serif;

}

.newsletter-page-form h2 {

    margin: 0 0 10px;

    font-size: 25px;

    color: #32511b;

}

.newsletter-page-form > p {

    margin: 0 0 25px;

    font-size: 14px;

    line-height: 1.6;

    color: #666666;

}


/* -----------------------------------------------------
   FORM
------------------------------------------------------ */

.newsletter-page-form form {

    display: flex;

    flex-direction: column;

    gap: 12px;

}

.newsletter-page-label {

    font-size: 14px;

    font-weight: 700;

    color: #333333;

}

.newsletter-page-form input[type="tel"] {

    width: 100%;

    box-sizing: border-box;

    padding: 15px;

    border: 1px solid #dddddd;

    border-radius: 5px;

    font-family: inherit;

    font-size: 15px;

    color: #333333;

    outline: none;

    transition: border-color 0.2s ease,
                box-shadow 0.2s ease;

}

.newsletter-page-form input[type="tel"]:focus {

    border-color: #32511b;

    box-shadow: 0 0 0 3px rgba(50, 81, 27, 0.15);

}


/* -----------------------------------------------------
   CONSENT
------------------------------------------------------ */

.newsletter-page-form .newsletter-consent {

    margin-top: 5px;

}

.newsletter-page-form .newsletter-consent label {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    font-size: 12px;

    line-height: 1.5;

    color: #666666;

    cursor: pointer;

}

.newsletter-page-form .newsletter-consent input {

    flex-shrink: 0;

    width: 16px;

    height: 16px;

    margin-top: 2px;

}

.newsletter-page-form .newsletter-consent a {

    color: #32511b;

    text-decoration: underline;

}


/* -----------------------------------------------------
   BUTTON
------------------------------------------------------ */

.newsletter-page-form button {

    margin-top: 8px;

    padding: 15px 24px;

    border: none;

    border-radius: 5px;

    background: #FFC107;

    color: #333333;

    font-family: inherit;

    font-size: 15px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;

}

.newsletter-page-form button:hover {

    background: #ffca28;

    transform: translateY(-1px);

}


/* -----------------------------------------------------
   NOTE
------------------------------------------------------ */

.newsletter-page-note {

    margin: 20px 0 0 !important;

    font-size: 11px !important;

    text-align: center;

    color: #888888 !important;

}


/* =====================================================
   BENEFITS
====================================================== */

.newsletter-benefits {

    padding: 70px 20px;

    background: #ffffff;

}

.newsletter-benefits-content {

    max-width: 1100px;

    margin: 0 auto;

}

.newsletter-benefits-heading {

    margin-bottom: 45px;

    text-align: center;

    font-family: 'akipertoFont', sans-serif;

}

.newsletter-benefits-heading h2 {

    margin: 0 0 12px;

    font-size: 30px;

    color: #32511b;

}

.newsletter-benefits-heading p {

    margin: 0;

    font-size: 16px;

    color: #666666;

}

.newsletter-benefits-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

}

.newsletter-benefit {

    padding: 25px;

    text-align: center;

    font-family: 'akipertoFont', sans-serif;

}

.newsletter-benefit-icon {

    margin-bottom: 15px;

    font-size: 32px;

}

.newsletter-benefit h3 {

    margin: 0 0 10px;

    font-size: 20px;

    color: #32511b;

}

.newsletter-benefit p {

    margin: 0;

    font-size: 14px;

    line-height: 1.6;

    color: #666666;

}


/* =====================================================
   MOBILE
====================================================== */

@media (max-width: 768px) {

    .newsletter-page {

        padding: 55px 20px;

    }

    .newsletter-page-content {

        grid-template-columns: 1fr;

        gap: 40px;

    }

    .newsletter-page-intro {

        text-align: center;

    }

    .newsletter-page-intro h1 {

        font-size: 32px;

    }

    .newsletter-page-intro p {

        font-size: 15px;

    }

    .newsletter-page-form {

        padding: 25px;

    }

    .newsletter-benefits {

        padding: 50px 20px;

    }

    .newsletter-benefits-heading h2 {

        font-size: 27px;

    }

    .newsletter-benefits-grid {

        grid-template-columns: 1fr;

        gap: 10px;

    }

}