/* ========================================
   RESPONSIVIDADE - GALFIX
   ======================================== */

/* ---------- TABLET ---------- */

@media (max-width: 900px) {

    :root {
        --section-padding: 60px;
    }

    /* HEADER */

    .header-container {
        min-height: 70px;
        gap: 20px;
    }

    .nav-list {
        gap: 20px;
    }

    .header-cta {
        display: none;
    }

    /* HERO */

    .hero {
        min-height: 560px;
    }

    .hero h1 {
        font-size: 3.2rem;
    }

    /* SOBRE */

    .about-home-container {
        grid-template-columns: 1fr 260px;
        gap: 40px;
    }

    /* SOLUÇÕES */

    .solutions-grid {
        gap: 16px;
    }

    /* QUALIDADE */

    .quality-home-container {
        gap: 40px;
    }

    /* PORTFÓLIO */

    .portfolio-item {
        height: 220px;
    }

    /* FOOTER */

    .footer-grid {
        gap: 40px;
    }

}


/* ---------- CELULAR ---------- */

@media (max-width: 700px) {

    :root {
        --section-padding: 50px;
    }

    .container {
        width: min(100% - 30px, var(--container-width));
    }

    /* HEADER */

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

    .main-nav {
        display: none;
    }

    .menu-toggle {
        display: flex;
    }

    .header-logo img {
        width: 130px;
    }

    /* HERO */

    .hero {
        min-height: 620px;
    }

    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(23, 16, 74, 0.94),
                rgba(23, 16, 74, 0.65)
            );
    }

    .hero h1 {
        font-size: 2.6rem;
    }

    .hero p {
        font-size: 1.05rem;
    }

    .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-buttons .btn {
        width: 100%;
    }

    /* TÍTULOS */

    .section-title {
        font-size: 2rem;
    }

    .section-subtitle {
        font-size: 1rem;
    }

    /* SOBRE */

    .about-home-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .about-home-highlight {
        min-height: 200px;
    }

    .about-home-highlight strong {
        font-size: 4rem;
    }

    /* SOLUÇÕES */

    .solutions-grid {
        grid-template-columns: 1fr;
        margin-top: 35px;
    }

    .solution-card {
        min-height: auto;
        padding: 30px;
    }

    /* QUALIDADE */

    .quality-home-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .quality-home-features {
        grid-template-columns: 1fr 1fr;
    }

    .quality-feature {
        min-height: 130px;
        padding: 22px;
    }

    /* PORTFÓLIO */

    .portfolio-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 35px;
    }

    .portfolio-item {
        height: 180px;
    }

    /* CTA */

    .cta-home-container {
        flex-direction: column;
        align-items: flex-start;
    }

    .cta-home .btn {
        width: 100%;
    }

    /* FOOTER */

    .footer-main {
        padding: 50px 0 30px;
    }

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

    .footer-bottom-container {
        flex-direction: column;
        align-items: flex-start;
    }

}


/* ---------- CELULARES PEQUENOS ---------- */

@media (max-width: 450px) {

    .hero {
        min-height: 650px;
    }

    .hero h1 {
        font-size: 2.3rem;
    }

    .quality-home-features {
        grid-template-columns: 1fr;
    }

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

    .portfolio-item {
        height: 240px;
    }

}

/* ---------- MENU MOBILE ABERTO ---------- */

@media (max-width: 700px) {

    .main-nav.is-open {
        display: block;
        position: absolute;
        top: 65px;
        left: 0;
        width: 100%;
        background-color: var(--color-white);
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        box-shadow: var(--shadow);
    }

    .main-nav.is-open .nav-list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 10px 20px 20px;
    }

    .main-nav.is-open .nav-link {
        display: block;
        padding: 15px 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    }

    .main-nav.is-open .nav-link::after {
        display: none;
    }

}

/* ---------- AJUSTES MOBILE ---------- */

@media (max-width: 700px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .header {
        width: 100%;
    }

    .header-container {
        width: 100%;
    }

    .hero,
    .section,
    .cta-home,
    .footer {
        width: 100%;
    }

    .portfolio-grid,
    .solutions-grid,
    .quality-home-container,
    .about-home-container,
    .footer-grid {
        width: 100%;
        max-width: 100%;
    }

}

/* ========================================
   INSTITUCIONAL - RESPONSIVIDADE
   ======================================== */

@media (max-width: 900px) {

    .institutional-about-container,
    .institutional-structure-container {
        gap: 40px;
    }

    .institutional-history-content {
        grid-template-columns: 230px 1fr;
        gap: 40px;
    }

    .institutional-values-grid {
        gap: 16px;
    }

    .institutional-value-card {
        padding: 28px;
    }

}


@media (max-width: 700px) {

    .hero-internal {
        min-height: 520px;
    }

    .institutional-about-container,
    .institutional-structure-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .institutional-about-image {
        order: 2;
    }

    .institutional-about-image img,
    .institutional-structure-image img {
        height: 300px;
    }

    .institutional-history-content {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 35px;
    }

    .institutional-history-year {
        min-height: 180px;
    }

    .institutional-history-year strong {
        font-size: 4rem;
    }

    .institutional-values-grid {
        grid-template-columns: 1fr;
        margin-top: 35px;
    }

    .institutional-value-card {
        min-height: auto;
    }

    .institutional-structure-image {
        order: 2;
    }

}

/* ========================================
   SOLUÇÕES - RESPONSIVIDADE
   ======================================== */

@media (max-width: 900px) {

    .solutions-intro-container,
    .solution-detail-container {
        gap: 40px;
    }

    .solution-detail-image img {
        height: 400px;
    }

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

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

}


@media (max-width: 700px) {

    .solutions-intro-container,
    .solution-detail-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .solution-detail-image img {
        height: 300px;
    }

    .solution-rotary .solution-detail-image {
        order: 2;
    }

    .solution-specs {
        grid-template-columns: 1fr;
    }

    .solution-list {
        grid-template-columns: 1fr;
    }

    .finishes-grid {
        grid-template-columns: 1fr;
        margin-top: 35px;
    }

    .finish-card {
        min-height: auto;
    }

    .benefits-grid {
        grid-template-columns: repeat(4, 1fr);
        margin-top: 35px;
    }

}

/* ========================================
   QUALIDADE - RESPONSIVIDADE
   ======================================== */

@media (max-width: 900px) {

    .quality-about-container,
    .quality-lab-container,
    .quality-improvement-container {
        gap: 40px;
    }

    .quality-controls-grid {
        grid-template-columns: 1fr 1fr;
    }

    .quality-iso-container {
        grid-template-columns: 1fr 260px;
        gap: 40px;
    }

}


@media (max-width: 700px) {

    .quality-about-container,
    .quality-lab-container,
    .quality-improvement-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .quality-about-image img,
    .quality-lab-image img,
    .quality-improvement-image img {
        height: 300px;
    }

    .quality-lab-image {
        order: 2;
    }

    .quality-controls-grid {
        grid-template-columns: 1fr;
        margin-top: 35px;
    }

    .quality-control-card {
        min-height: auto;
    }

    .quality-iso-container {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .quality-iso-highlight {
        min-height: 220px;
    }

    .quality-iso-highlight strong {
        font-size: 4rem;
    }

    .quality-improvement-image {
        order: 2;
    }

}