/* =========================================================
   RESPONSIVIDADE
========================================================= */

@media (max-width: 1100px) {

    .nav {
        gap: 0;
    }

    .nav-link {
        padding-left: 7px;
        padding-right: 7px;
        font-size: 12px;
    }

    .btn-matricula {
        padding: 11px 13px;
    }

}


@media (max-width: 900px) {

    .nav {

        position: absolute;

        top: 82px;

        left: 0;

        width: 100%;

        padding: 15px;

        display: none;

        flex-direction: column;

        align-items: stretch;

        background: var(--chumbo);

        border-bottom:
            1px solid var(--borda);

    }

    .nav.active {
        display: flex;
    }

    .nav-link {

        width: 100%;

        padding: 14px;

        justify-content: space-between;

    }

    .nav-dropdown {
        width: 100%;
    }

    .dropdown-menu {

        position: static;

        display: none;

        width: 100%;

        opacity: 1;

        visibility: visible;

        transform: none;

        box-shadow: none;

        border: none;

        background: #0b0d12;

    }

    .nav-dropdown:hover .dropdown-menu {
        display: none;
    }

    .nav-dropdown.open .dropdown-menu {
        display: block;
    }

    .menu-toggle {
        display: block;
    }

    .btn-matricula {
        display: none;
    }

    .footer-container {

        grid-template-columns: 1fr 1fr;

    }

}


@media (max-width: 600px) {

    .header-container {
        min-height: 72px;
    }

    .logo-icon {
        width: 40px;
        height: 40px;
    }

    .logo-text strong {
        font-size: 18px;
    }

    .hero-placeholder {
        min-height: 560px;
    }

    .hero-placeholder h1 {
        font-size: 44px;
    }

    .hero-placeholder p {
        font-size: 16px;
    }

    .hero-buttons {

        flex-direction: column;

        align-items: stretch;

    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
    }

    .footer-container {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   RESPONSIVIDADE — HOME
========================================================= */


@media (max-width: 900px) {

    .trust-grid {

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

    }


    .categories-grid {

        grid-template-columns: 1fr;

    }


    .category-card.has-media {

        display: grid;

        grid-template-columns: 1fr 1fr;

        align-items: stretch;

    }


    .category-card.has-media .category-media {

        aspect-ratio: auto;

        height: 100%;

        min-height: 230px;

        border-bottom: 0;

        border-right:
            1px solid rgba(255,255,255,0.07);

    }


    .category-body {

        padding: 24px 24px 26px;

    }


    .differences-container {

        grid-template-columns: 1fr;

        gap: 40px;

    }


    .process-grid {

        grid-template-columns: 1fr;

        gap: 30px;

    }


    .process-line {

        display: none;

    }


    .services-grid {

        grid-template-columns: 1fr;

    }


    .structure-container {

        grid-template-columns: 1fr;

    }


    .testimonials-grid {

        grid-template-columns: 1fr;

    }


    .final-cta-container {

        flex-direction: column;

        align-items: flex-start;

    }

}


@media (max-width: 600px) {

    .section {

        padding: 70px 0;

    }


    .category-card.has-media {

        display: flex;

    }


    .category-card.has-media .category-media {

        aspect-ratio: 3 / 2;

        min-height: 0;

        border-right: 0;

        border-bottom:
            1px solid rgba(255,255,255,0.07);

    }


    .category-body {

        padding: 22px 22px 24px;

    }


    .category-body h3 {

        font-size: 21px;

    }


    .category-badge {

        top: 12px;
        left: 12px;

        padding: 6px 11px;

        font-size: 9px;

    }


    .hero {

        min-height: 650px;

    }


    .hero-content {

        padding: 60px 0;

    }


    .hero h1 {

        font-size: 45px;

        letter-spacing: -1px;

    }


    .hero p {

        font-size: 15px;

    }


    .hero-trust {

        flex-wrap: wrap;

        gap: 15px;

    }


    .trust-grid {

        grid-template-columns: 1fr;

    }


    .trust-item {

        border-right: none;

        border-bottom:
            1px solid rgba(255,255,255,0.06);

    }


    .trust-item:last-child {

        border-bottom: none;

    }


    .differences-grid {

        grid-template-columns: 1fr;

    }


    .service-card {

        grid-template-columns:
            48px 1fr;

    }


    .service-card .arrow {

        display: none;

    }


    .structure-highlight {

        min-height: 240px;

    }


    .final-cta {

        padding: 65px 0;

    }


    .final-cta-buttons {

        width: 100%;

        flex-direction: column;

    }


    .final-cta-buttons a {

        width: 100%;

    }


    .whatsapp-float {

        width: 52px;
        height: 52px;

        padding: 0;

        justify-content: center;

        border-radius: 50%;

    }


    .whatsapp-float span {

        display: none;

    }

}


/* =========================================================
   RESPONSIVIDADE — QUEM SOMOS
========================================================= */


@media (max-width: 900px) {

    .page-banner {

        padding: 90px 0;

    }


    .about-container {

        grid-template-columns: 1fr;

        gap: 30px;

    }


    .about-visual {

        min-height: 330px;

    }


    .mvv-grid {

        grid-template-columns: 1fr;

    }


    .about-difference-grid {

        grid-template-columns: 1fr;

    }


    .team-grid {

        grid-template-columns: 1fr;

    }

}


@media (max-width: 600px) {

    .page-banner {

        padding: 75px 0;

    }


    .page-banner h1 {

        font-size: 43px;

    }


    .page-banner p {

        font-size: 15px;

    }


    .about-photo {

        width: 280px;

        height: 280px;

    }


    .about-photo figcaption {

        bottom: 34px;

    }


    .about-photo figcaption strong {

        font-size: 13px;

        letter-spacing: 1.4px;

    }


    .about-photo figcaption span {

        font-size: 12px;

    }


    .about-content h2 {

        font-size: 34px;

    }


    .mvv-card {

        padding: 27px;

    }


    .about-difference {

        flex-direction: column;

    }

}


/* ============================================================
   FASE 04 — NOSSA ESTRUTURA — RESPONSIVO
============================================================ */

@media (max-width: 1100px) {

    .structure-intro-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .technology-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .security-content {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .structure-card {
        gap: 35px;
        padding: 40px;
    }

}


@media (max-width: 800px) {

    .inner-page-banner {
        padding: 120px 0 65px;
    }

    .structure-intro,
    .structure-section,
    .technology-section,
    .security-section,
    .structure-cta {
        padding: 70px 0;
    }

    .structure-card,
    .structure-card-reverse {
        grid-template-columns: 1fr;
    }

    .structure-card-reverse .structure-card-visual {
        order: 0;
    }

    .structure-card-visual {
        min-height: 280px;
    }

    .visual-photo {
        min-height: 280px;
    }

    .visual-photo figcaption {
        left: 16px;
        bottom: 14px;
        font-size: 13px;
    }

    .structure-card-icon {
        font-size: 35px;
        top: 25px;
        right: 25px;
    }

}


@media (max-width: 600px) {

    .inner-page-banner h1 {
        font-size: 42px;
    }

    .inner-page-banner p {
        font-size: 15px;
    }

    .structure-highlight {
        grid-template-columns: 1fr;
    }

    .structure-card {
        padding: 30px 22px;
        border-radius: 18px;
    }

    .structure-card-content h2 {
        font-size: 32px;
    }

    .technology-grid {
        grid-template-columns: 1fr;
    }

    .technology-card {
        padding: 30px 22px;
    }

    .security-item {
        padding: 20px;
    }

    .structure-cta-content {
        padding: 50px 22px;
    }

    .structure-cta h2 {
        font-size: 36px;
    }

    .cta-buttons {
        flex-direction: column;
    }

    .cta-buttons a {
        width: 100%;
        justify-content: center;
    }

    .floating-whatsapp {
        right: 18px;
        bottom: 18px;
        width: 54px;
        height: 54px;
    }

}


/* ============================================================
   FASE 05 — INSTRUTORES — RESPONSIVO
============================================================ */

@media (max-width: 1100px) {

    .instructors-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .instructor-differentials-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .methodology-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

}


@media (max-width: 800px) {

    .instructors-intro,
    .instructors-section,
    .methodology-section,
    .instructor-differentials {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .instructors-grid {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
    }

    .instructor-photo,
    .instructor-placeholder {
        min-height: 300px;
        height: 300px;
    }

    .methodology-content h2 {
        font-size: 38px;
    }

}


@media (max-width: 600px) {

    .instructors-intro {
        padding-top: 60px;
    }

    .instructor-content {
        padding: 23px;
    }

    .instructor-content h3 {
        font-size: 25px;
    }

    .instructor-differentials-grid {
        grid-template-columns: 1fr;
    }

    .methodology-step {
        padding: 20px;
    }

    .step-number {
        width: 44px;
        height: 44px;
    }

}


/* ============================================================
   FASE 06 — DIFERENCIAIS — RESPONSIVO
============================================================ */

@media (max-width: 1100px) {

    .differentials-intro-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .differentials-intro-content {
        text-align: center;
    }

    .differentials-intro-content .section-tag {
        justify-content: center;
    }

    .differentials-intro-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .main-differentials-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .journey-line {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 45px;
    }

    .journey-line::before {
        display: none;
    }

    .commitment-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

}


@media (max-width: 800px) {

    .differentials-intro,
    .main-differentials,
    .differential-journey,
    .commitment-section {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .main-differentials-grid {
        grid-template-columns: 1fr;
        max-width: 550px;
        margin-left: auto;
        margin-right: auto;
    }

    .journey-line {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 600px) {

    .number-card {
        width: 240px;
        height: 240px;
    }

    .number-card strong {
        font-size: 72px;
    }

    .differentials-intro-content h2 {
        font-size: 36px;
    }

    .journey-line {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .journey-item p {
        max-width: 240px;
    }

    .commitment-item {
        padding: 19px;
    }

}


/* =========================================================
   RESPONSIVO — HEADER/FOOTER RENOVA (FASES 04-06)
========================================================= */

@media (max-width: 1100px) {

    .renova-nav {
        gap: 0;
    }

    .renova-nav > a,
    .renova-nav .nav-dropdown > button {
        padding-left: 7px;
        padding-right: 7px;
        font-size: 12px;
    }

    .btn-header {
        padding: 11px 13px;
    }

}


@media (max-width: 900px) {

    .renova-nav {

        position: absolute;

        top: 82px;

        left: 0;

        width: 100%;

        max-height: calc(100vh - 82px);

        overflow-y: auto;

        padding: 15px;

        display: none;

        flex-direction: column;

        align-items: stretch;

        background: var(--chumbo);

        border-bottom:
            1px solid var(--borda);

    }

    .renova-nav.active {
        display: flex;
    }

    .renova-nav > a,
    .renova-nav .nav-dropdown > button {

        width: 100%;

        padding: 14px;

        justify-content: space-between;

        font-size: 13px;

    }

    .renova-nav .nav-dropdown {
        width: 100%;
    }

    .renova-nav .dropdown-menu {

        position: static;

        display: none;

        width: 100%;

        opacity: 1;

        visibility: visible;

        transform: none;

        box-shadow: none;

        border: none;

        background: #0b0d12;

    }

    .renova-nav .nav-dropdown:hover .dropdown-menu {
        display: none;
    }

    .renova-nav .nav-dropdown.open .dropdown-menu {
        display: block;
    }

    .mobile-menu-button {
        display: block;
    }

    .btn-header {
        display: none;
    }

    .renova-footer .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

}


@media (max-width: 600px) {

    .renova-header .header-content {
        min-height: 72px;
    }

    .renova-logo .logo-icon {
        width: 40px;
        height: 40px;
    }

    .renova-logo strong {
        font-size: 11px;
    }

    .renova-logo b {
        font-size: 17px;
    }

    .renova-footer .footer-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   RESPONSIVO — HEADER SITE (PRIMEIRA HABILITAÇÃO)
========================================================= */

@media (max-width: 1100px) {

    .main-nav a {
        padding-left: 7px;
        padding-right: 7px;
        font-size: 12px;
    }

    .main-nav .nav-cta {
        padding: 11px 13px;
    }

}


@media (max-width: 900px) {

    .main-nav {

        position: absolute;

        top: 82px;

        left: 0;

        width: 100%;

        max-height: calc(100vh - 82px);

        overflow-y: auto;

        padding: 15px;

        display: none;

        background: var(--chumbo);

        border-bottom:
            1px solid var(--borda);

    }

    .main-nav.active {
        display: block;
    }

    .main-nav > ul {

        flex-direction: column;

        align-items: stretch;

        gap: 0;

    }

    .main-nav li {
        width: 100%;
    }

    .main-nav a {

        width: 100%;

        padding: 14px;

        justify-content: space-between;

        font-size: 13px;

    }

    .main-nav .dropdown {

        position: static;

        min-width: 0;

        width: 100%;

        padding: 0;

        opacity: 1;

        visibility: visible;

        transform: none;

        box-shadow: none;

        border: none;

        border-radius: 10px;

        background: #0b0d12;

        display: none;

    }

    .main-nav .has-dropdown:hover .dropdown {
        display: none;
    }

    .main-nav .has-dropdown.open .dropdown {
        display: block;
    }

    .main-nav .dropdown a {
        padding-left: 26px;
    }

    .main-nav .nav-cta {

        margin-left: 0;

        margin-top: 12px;

        justify-content: center;

    }

}


@media (max-width: 600px) {

    .site-header .header-container {
        min-height: 72px;
    }

    .site-header .logo img,
    .site-footer .logo img {
        width: 40px;
        height: 40px;
    }

    .site-header .logo strong,
    .site-footer .logo strong {
        font-size: 17px;
    }

}


/* =========================================================
   FASE 07 — PRIMEIRA HABILITAÇÃO — RESPONSIVO
========================================================= */

@media (max-width: 1000px) {

    .first-license-intro-grid {

        grid-template-columns: 1fr;

    }

    .first-license-highlight {

        max-width: 600px;

        margin: auto;

    }

    .license-category-grid {

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

    }

    .license-steps-grid {

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

    }

    .license-learning-grid {

        grid-template-columns: 1fr;

    }

    .license-renova-grid {

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

    }

}


@media (max-width: 700px) {

    .first-license-intro,
    .license-categories,
    .license-steps,
    .license-learning,
    .license-renova,
    .license-faq {

        padding: 70px 0;

    }

    .license-category-grid,
    .license-steps-grid,
    .license-renova-grid {

        grid-template-columns: 1fr;

    }

    .learning-card {

        padding: 30px 25px;

    }

    .license-step {

        min-height: auto;

    }

    .first-license-highlight {

        padding: 40px 25px;

    }

    .first-license-highlight strong {

        font-size: 2.4rem;

    }

    .faq-item summary {

        padding: 18px 20px;

        font-size: 0.95rem;

    }

    .faq-answer {

        padding: 0 20px 20px;

    }

    .license-final-cta {

        padding: 80px 0;

    }

}


/* =========================================================
   FASE 08 — CATEGORIAS A, B E AB — RESPONSIVO
========================================================= */

@media (max-width: 1000px) {

    .categories-intro-grid {

        grid-template-columns: 1fr;

    }

    .category-choice-card {

        max-width: 600px;

        margin: auto;

    }

    .category-detail-grid {

        grid-template-columns: 1fr;

        gap: 45px;

    }

    .comparison-grid {

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

    }

    .choice-steps {

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

    }

}


@media (max-width: 700px) {

    .categories-intro,
    .category-detail,
    .category-comparison,
    .category-choice,
    .categories-faq {

        padding: 70px 0;

    }

    .category-detail-grid.reverse-mobile .category-detail-content {

        order: 2;

    }

    .category-detail-grid.reverse-mobile .category-visual {

        order: 1;

    }

    .category-visual {

        min-height: 320px;

        padding: 40px 25px;

    }

    .category-large-icon {

        width: 85px;

        height: 85px;

        font-size: 2.1rem;

    }

    .ab-icons i {

        width: 68px;

        height: 68px;

        font-size: 1.6rem;

    }

    .category-big-letter {

        font-size: 9rem;

    }

    .category-choice-card {

        padding: 40px 25px;

    }

    .category-choice-card > strong {

        font-size: 2rem;

        letter-spacing: 5px;

    }

    .comparison-grid,
    .choice-steps {

        grid-template-columns: 1fr;

    }

    .choice-step {

        padding: 25px 22px;

    }

    .categories-final-cta {

        padding: 80px 0;

    }

}


/* =========================================================
   FASE 09 — ADIÇÃO DE CATEGORIA — RESPONSIVO
========================================================= */

@media (max-width: 1000px) {

    .addition-intro-grid {

        grid-template-columns: 1fr;

    }

    .addition-highlight {

        max-width: 600px;

        margin: auto;

    }

    .addition-about-grid,
    .addition-options-grid,
    .addition-steps-grid {

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

    }

    .addition-renova-grid {

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

    }

    .difference-grid {

        grid-template-columns: 1fr;

    }

    .difference-divider {

        transform: rotate(90deg);

    }

}


@media (max-width: 700px) {

    .addition-intro,
    .addition-about,
    .addition-options,
    .addition-steps,
    .addition-difference,
    .addition-renova,
    .addition-faq {

        padding: 70px 0;

    }

    .addition-about-grid,
    .addition-options-grid,
    .addition-steps-grid,
    .addition-renova-grid {

        grid-template-columns: 1fr;

    }

    .addition-highlight {

        padding: 40px 25px;

    }

    .addition-highlight > strong {

        font-size: 2rem;

        letter-spacing: 4px;

    }

    .addition-step,

    .addition-option-card {

        padding: 25px 22px;

    }

    .difference-card {

        padding: 30px 24px;

    }

    .difference-divider {

        margin: 5px 0;

    }

    .addition-final-cta {

        padding: 80px 0;

    }

}

/* =========================================================
   COMPONENTES DE PAGINAS (css/pages.css)
   ========================================================= */

@media (max-width: 1000px) {

    .card-grid.cols-4 {

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

    }

    .card-grid.cols-3,

    .steps-grid,

    .letter-grid,

    .link-cards {

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

    }

    .stat-grid {

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

    }

    .split,

    .split.reverse {

        grid-template-columns: 1fr;
        gap: 34px;

    }

}

@media (max-width: 700px) {

    .page-section {

        padding: 65px 0;

    }

    .card-grid.cols-2,

    .card-grid.cols-3,

    .card-grid.cols-4,

    .steps-grid,

    .letter-grid,

    .link-cards,

    .check-list,

    .form-grid {

        grid-template-columns: 1fr;

    }

    .card-grid .span-2 {

        grid-column: auto;

    }

    .form-card {

        padding: 26px 20px;

    }

    .form-block-title {

        gap: 12px;

    }

    .cta-band {

        padding: 50px 0;

    }

    .cta-band-inner {

        gap: 24px;

    }

    .cta-band .cta-actions {

        width: 100%;

    }

    .cta-band .cta-actions a {

        flex: 1 1 auto;

        justify-content: center;

    }

    .notice {

        padding: 22px 20px;

        gap: 14px;

    }

    .info-card,

    .step-card {

        padding: 26px 22px;

    }

    .info-number {

        font-size: 28px;

    }

}

@media (max-width: 560px) {

    .stat-grid {

        grid-template-columns: 1fr;

    }

    .form-actions {

        flex-direction: column;
        align-items: stretch;

    }

    .form-actions .btn-primary,

    .form-actions .btn-secondary {

        justify-content: center;

    }

}


/* =========================================================
   RESPONSIVO - COMPONENTES DE CONTEUDO
   ========================================================= */

@media (max-width: 900px) {

    .process-flow > li {

        padding: 20px 22px 20px 66px;

    }

    .process-flow > li::before {

        top: 20px;
        left: 22px;
        font-size: 21px;

    }

    .process-flow > li::after {

        top: 26px;
        right: 22px;

    }

    .quiz-card {

        padding: 26px 22px;

    }

    .form-block-title {

        flex-direction: column;
        align-items: flex-start;
        gap: 12px;

    }

}

@media (max-width: 600px) {

    .process-flow > li {

        padding: 18px 18px 18px 20px;

    }

    .process-flow > li::before {

        position: static;
        display: block;
        margin-bottom: 6px;
        font-size: 18px;

    }

    .process-flow > li::after {

        content: none;

    }

    .process-flow > li:hover {

        transform: none;

    }

    .quiz-question {

        font-size: 15px;

    }

    .quiz-option {

        padding: 12px 14px;
        font-size: 14px;

    }

    .quiz-result {

        padding: 20px 18px;

    }

    .quiz-result .quiz-score {

        font-size: 26px;

    }

    .form-group.full {

        grid-column: auto;

    }

}