/* ========================================
   Responsive — LP Pulpito Premium v2
   4 sections: navbar · hero · reviews · orcamento · footer
   ======================================== */

/* ----------------------------------------
   Tablet (≤ 1023px)
   Orçamento: stack vertically
   ---------------------------------------- */
@media (max-width: 1023px) {

    .hero-title { font-size: 64px; }

    .orcamento-section { padding: 80px 0; }

    .orcamento-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .orcamento-img-wrap {
        max-width: 520px;
        margin: 0 auto;
    }

    .orcamento-title { font-size: 40px; }

    .reviews-wrapper { padding: 56px 0 44px; }
}

/* ----------------------------------------
   Mobile (≤ 767px)
   ---------------------------------------- */
@media (max-width: 767px) {

    .container { padding: 0 18px; }

    /* Navbar */
    .navbar { padding: 14px 0; }
    .logo img { height: 42px; }
    .navbar.scrolled { padding: 10px 0; }
    .navbar.scrolled .logo img { height: 36px; }

    /* Hero */
    .hero-section {
        height: auto;
        min-height: unset;
        align-items: flex-start;
    }

    .hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.95) 0%,
            rgba(0, 0, 0, 0.85) 45%,
            rgba(0, 0, 0, 0.20) 70%,
            transparent 85%
        );
    }

    .hero-content {
        padding-top: 80px;
        padding-bottom: 40px;
        max-width: 100%;
    }

    .hero-eyebrow,
    .hero-title,
    .hero-desc,
    .hero-cta,
    .hero-note {
        max-width: 58%;
    }

    .hero-desc {
        color: rgba(245, 237, 216, 0.92);
    }

    .hero-note {
        color: rgba(245, 237, 216, 0.75);
    }

    .stat-info span {
        color: rgba(245, 237, 216, 0.78);
    }

    .hero-eyebrow { margin-bottom: 18px; gap: 10px; }
    .hero-eyebrow > span:not(.eyebrow-dot) { font-size: 10px; letter-spacing: 3px; }
    .eyebrow-dot { display: none; }

    .hero-title {
        font-size: 38px;
        letter-spacing: -0.5px;
        margin-bottom: 16px;
        line-height: 1.05;
        word-wrap: break-word;
    }

    .hero-desc {
        font-size: 15px;
        line-height: 1.6;
        margin-bottom: 28px;
    }

    .hero-cta { margin-bottom: 14px; }

    .btn-primary {
        width: 100%;
        max-width: 360px;
        justify-content: center;
        padding: 14px 16px;
        font-size: 14px;
        display: flex;
        flex-direction: column;
        gap: 6px;
        text-align: center;
        line-height: 1.3;
    }

    .hero-note {
        font-size: 11px;
        line-height: 1.4;
        margin-bottom: 24px;
    }

    .hero-stats { gap: 8px; }

    .stat-badge {
        padding: 9px 13px;
        gap: 8px;
        flex: 1 1 calc(33.333% - 8px);
        min-width: 90px;
        justify-content: center;
    }

    .stat-icon svg { width: 18px !important; height: 18px !important; }
    .stat-icon .material-symbols-outlined { font-size: 18px !important; }

    .stat-info strong { font-size: 13px; }
    .stat-info span   { font-size: 10px; }

    .scroll-indicator { display: none; }

    /* Reviews */
    .reviews-wrapper { padding: 44px 0 36px; }

    /* Orçamento */
    .orcamento-section { padding: 64px 0; }

    .orcamento-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .orcamento-img-wrap { max-width: 100%; }

    .orcamento-title {
        font-size: 34px;
        letter-spacing: -0.3px;
    }

    .orcamento-desc { font-size: 15px; margin-bottom: 24px; }

    .btn-orcamento {
        width: 100%;
        max-width: 360px;
        justify-content: center;
        padding: 16px 28px;
        font-size: 15px;
    }

    .phone-number { font-size: 24px; }

    /* Footer */
    .footer { padding: 44px 0 28px; }
    .footer-logo { height: 40px; margin-bottom: 12px; }
    .footer-company { font-size: 12px; margin-bottom: 16px; }

    .footer-contacts {
        flex-direction: column;
        gap: 8px;
        margin-bottom: 18px;
    }

    .footer-sep { display: none; }

    .footer-trust { gap: 16px; }
    .footer-trust img { height: 22px; }
    .footer-copyright { font-size: 11px; }

    /* Back to top */
    .back-to-top {
        width: 44px;
        height: 44px;
        font-size: 16px;
        bottom: 20px;
        right: 18px;
    }
}

/* ----------------------------------------
   Mobile Pequeno (≤ 479px)
   ---------------------------------------- */
@media (max-width: 479px) {

    .container { padding: 0 14px; }

    .hero-title { font-size: 36px; }
    .hero-desc  { font-size: 14px; }

    .hero-stats { gap: 6px; }
    .stat-badge {
        flex: 1 1 calc(33.333% - 6px);
        min-width: 82px;
        padding: 8px 10px;
    }

    .orcamento-title { font-size: 30px; }

    .footer-trust img { height: 20px; }
    .footer-trust     { gap: 12px; }
}

/* ----------------------------------------
   Extra Pequeno (≤ 374px)
   ---------------------------------------- */
@media (max-width: 374px) {

    .hero-title { font-size: 30px; }
    .hero-eyebrow > span:not(.eyebrow-dot) { font-size: 9px; letter-spacing: 2px; }

    .btn-primary,
    .btn-orcamento { font-size: 14px; padding: 14px 20px; }

    .stat-badge { padding: 7px 8px; }
    .stat-info strong { font-size: 12px; }

    .orcamento-title { font-size: 28px; }
    .phone-number    { font-size: 22px; }
}

/* ----------------------------------------
   Landscape Mobile (altura < 540px)
   ---------------------------------------- */
@media (max-height: 540px) and (orientation: landscape) {
    .hero-section {
        height: auto;
        min-height: unset;
        padding: 72px 0 44px;
    }
    .hero-content {
        padding-top: 60px;
        padding-bottom: 28px;
    }
    .hero-title { font-size: 32px; margin-bottom: 12px; }
    .hero-stats { display: none; }
    .hero-note  { display: none; }
    .scroll-indicator { display: none; }
}

/* ----------------------------------------
   Reduced Motion
   ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .hero-bg    { animation: none !important; }
    .wheel      { animation: none !important; }
    .scroll-indicator { display: none; }
    .reveal-up  { opacity: 1; transform: none; transition: none; }
}

/* ----------------------------------------
   Print
   ---------------------------------------- */
@media print {
    .navbar, .scroll-indicator, .back-to-top { display: none !important; }
    body { font-size: 11pt; color: #000; background: #fff; }
    .hero-section { height: auto; }
    .hero-overlay, .hero-grain { display: none; }
    .orcamento-section { padding: 20px 0; }
}
