/* =====================================================
   NEWCASTLE IDIOMAS — REFINOS VISUAIS v2.0.3

   Ajustes finais de tipografia, formulários e camadas.
   Este arquivo deve permanecer por último no <head>.
===================================================== */

body,
button,
input,
select,
textarea {
    font-synthesis: none;
    font-kerning: normal;
}

/*
   Os títulos estavam visualmente comprimidos por tracking negativo.
   O peso 600 preserva presença sem o aspecto excessivamente grosso.
*/
h1,
.h1,
.hero-copy h1,
.page-hero h1,
.page-title {
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: .006em !important;
}

h2,
.h2,
.section-heading h2,
.page-section h2,
.method-copy h2,
.exam-band h2,
.cta-panel h2,
.faq-intro h2,
.franchise-copy h2,
.lead-form-card h2,
.lead-panel h2,
.modal-card h2,
.modal-box h2,
.legal-modal h2,
.cookie-modal h2,
.coffee-break-content h2,
.nci-promo-content h2 {
    font-weight: 600 !important;
    line-height: 1.12 !important;
    letter-spacing: .005em !important;
}

h3,
h4,
h5,
h6,
.course-card h3,
.course-card-body h3,
.course-detail-text h3,
.course-showcase-body h3,
.advantage-card h3,
.exam-card h3,
.exam-choice-body h3,
.feature-card h3,
.timeline-card h3,
.timeline-modern h3,
.module-card h3,
.unit-card h3,
.unit-card-top h3,
.unit-mini-card h3,
.benefit-strip h3,
.info-pill-grid h3,
.partner-card h3,
.franchise-support-grid h3,
.footer h3,
.modal-box h3,
.faq-question span {
    font-weight: 600 !important;
    line-height: 1.28 !important;
    letter-spacing: .004em !important;
}

/* Ritmo horizontal discreto para textos corridos, sem alterar sua altura. */
p,
li,
dd,
dt {
    letter-spacing: .004em;
}

/* Consentimento: frase normal, idêntica em todos os formulários. */
.form-check.full > label,
label.form-consent > span,
.form-field label.form-consent,
.form-field.full > label.form-consent,
.form-consent,
.form-consent span {
    color: #666666 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: .003em !important;
    text-transform: none !important;
}

/*
   Dropdowns desktop: todas as opções ficam visíveis, sem barra interna.
   A seção do formulário permite que a lista passe sobre a seção seguinte.
*/
@media (min-width: 768px) {
    .nci-select.is-open {
        z-index: 10040;
    }

    .nci-select-menu {
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: auto;
        scrollbar-width: none;
    }

    .nci-select-menu::-webkit-scrollbar {
        display: none;
    }

    .page-hero {
        z-index: 2;
        overflow: visible !important;
    }

    .page-hero + .page-section {
        position: relative;
        z-index: 1;
    }

    .lead-panel,
    .form-field,
    .form-field.full {
        overflow: visible;
    }

    .form-field:has(.nci-select.is-open) {
        position: relative;
        z-index: 10050 !important;
    }

    /* A fotografia termina junto do bloco de suportes, sem o vão invisível. */
    #franquia .franchise-image-card picture {
        display: flex !important;
        align-items: flex-end;
        height: 100% !important;
    }
}

@media (max-width: 767px) {
    h1,
    .h1,
    .hero-copy h1,
    .page-hero h1,
    .page-title {
        line-height: 1.10 !important;
        letter-spacing: .004em !important;
    }

    h2,
    .h2,
    .section-heading h2,
    .page-section h2,
    .method-copy h2,
    .exam-band h2,
    .cta-panel h2,
    .faq-intro h2,
    .franchise-copy h2,
    .lead-form-card h2,
    .lead-panel h2 {
        line-height: 1.14 !important;
        letter-spacing: .004em !important;
    }
}
