﻿/* Newsletter Page Styles */
.newsletter-section {
    position: relative;
    width: 100%;
    min-height: 60vh; /* Reduced height to match banner style */
    display: flex;
    align-items: center;
    justify-content: center;
    /* Gradient fallback that closely matches the screenshot if image fails */
    background: linear-gradient(100deg, #242052 0%, #1a4d6e 50%, #008B8B 100%);
    background-image: url('../img/newsletter/newsletter-desktop.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 2rem;
    --newsletter-title-color: #ffffff;
    --newsletter-title-weight: 500;
    --newsletter-title-size: clamp(34px, 4.2vw, 48px);
    --newsletter-text-color: #e7ecf1;
    --newsletter-text-line-height: 1.25;
    --newsletter-fields-radius: 8px;
    --newsletter-fields-padding: 4px;
    --newsletter-fields-border: rgba(255, 255, 255, 0.95);
    --newsletter-fields-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
    --newsletter-button-padding-inline: 2.5rem;
}

/* Ultrawide: adere ao teto de 2560px do componente (newsletter-signup.css) com
   a arte desta página. A section volta a pintar o gradiente de fallback, que
   passa a preencher as sobras laterais fora do teto. */
@media (min-width: 2560px) {
    .newsletter-section {
        background-image: linear-gradient(100deg, #242052 0%, #1a4d6e 50%, #008B8B 100%);
    }

    .newsletter-section::before {
        background-image: url('../img/newsletter/newsletter-desktop.jpg');
    }
}

.newsletter-container {
    background-color: transparent;
    padding: 0;
    max-width: 980px;
    width: 100%;
    color: white;
}

.newsletter-content {
    gap: 1.125rem;
}

.newsletter-header {
    max-width: 980px;
}

.newsletter-title {
    margin-bottom: 0.25rem;
}

.newsletter-title .highlight {
    color: #ff8c00; /* Orange highlight */
    font-weight: 700;
}

.newsletter-description {
    margin-bottom: 0.35rem;
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 300;
}

.newsletter-form {
    max-width: 752px;
    margin: 0 auto;
}

.newsletter-optin {
    margin-top: 18px;
}

.newsletter-optin .form-check-label {
    color: #f8f9fa !important;
    font-size: 0.95rem;
    font-weight: 300;
}

/* Mobile Responsive Background */
@media (max-width: 768px) {
    .newsletter-section {
        background-image: url('../img/newsletter/newsletter-mobile.jpg');
        --newsletter-title-size: clamp(28px, 7.2vw, 36px);
    }
    
    .newsletter-description {
        font-size: 1rem;
    }
}
