/* ================================================================
   RESPONSIVE.CSS — AVRA Prime · v2
   Correção crítica: menu sumia entre 681px e 1100px
   Carregar POR ÚLTIMO
   ================================================================ */

/* ══════ ≤1100px — TABLET ══════ */
@media (max-width: 1100px) {
  .statement-inner,
  .battery-inner,
  .consult-inner,
  .calc-inner,
  .eng-grid,
  .coverage-grid,
  .roi-grid,
  .scope-grid,
  .fin-grid {
    grid-template-columns: 1fr;
    gap: 64px;
  }
  .statement-left,
  .consult-left {
    position: static;
  }

  .pillars-grid,
  .roi-cards,
  .shield-grid,
  .content-grid,
  .voices-grid {
    grid-template-columns: 1fr;
  }
  .shield-head,
  .charging-head,
  .metrics-head,
  .portfolio-head {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .shield-layers,
  .metrics-grid,
  .charging-specs,
  .warranty {
    grid-template-columns: repeat(2, 1fr);
  }
  .it41-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .it41-card--art {
    grid-column: span 2;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
  .condo-split,
  .portfolio-item-row {
    grid-template-columns: 1fr;
  }
  .condo-photo {
    min-height: 300px;
  }

  /* ── NAV: drawer sobe para 1100px ── */
  .nav {
    padding: 20px 28px;
  }
  .nav.scrolled {
    padding: 14px 28px;
  }
  .nav-inner {
    gap: 20px;
  }
  .nav-cta {
    display: none;
  }
  .hamburger {
    display: flex;
  }

  .nav-links {
    display: none;
  }
  .nav-links.active {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    padding: 110px 32px 40px;
    gap: 0;
    background: rgba(11, 18, 32, 0.985);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 999;
  }
  .nav-links.active li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }
  .nav-links.active a {
    display: block;
    width: 100%;
    padding: 17px 0;
    font-size: 17px;
    letter-spacing: 0.02em;
    opacity: 1;
  }
  .nav-links.active a::after {
    display: none;
  }
  .nav-links.active .nav-drawer-cta {
    display: block;
    margin-top: 26px;
    border-bottom: 0;
  }
  .nav-links.active .nav-drawer-cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-radius: 100px;
    background: var(--champagne);
    color: var(--space);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
  }

  .hero-content {
    padding: 0 32px;
  }
  .hero-scroll {
    right: 28px;
  }
  .hero-meta {
    gap: 28px 40px;
  }

  .process-step {
    grid-template-columns: 72px 1fr;
    gap: 22px;
  }
  .process-step-body {
    grid-column: 2;
  }

  .shield-band,
  .it41-band {
    padding: 38px;
    gap: 32px;
  }
}

/* ══════ ≤900px — desliga efeitos caros ══════ */
@media (max-width: 900px) {
  body::before {
    display: none;
  }
  .nav.scrolled {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(11, 18, 32, 0.97);
  }
  .hero-bloom {
    filter: blur(30px);
  }
  .hero-badge,
  .pillar,
  .calc-panel {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* ══════ ≤680px — MOBILE ══════ */
@media (max-width: 680px) {
  /* ── HERO ── */
  .hero {
    min-height: auto;
    padding: 104px 0 44px;
  }
  .hero-content {
    padding: 0 22px;
    justify-content: flex-start;
  }
  .hero-bg img {
    object-position: center 45%;
  }
  .hero-lines,
  .hero-scroll {
    display: none;
  }

  .hero-badges {
    gap: 8px;
    margin-bottom: 18px;
  }
  .hero-badge:not(.hero-badge--offer) {
    display: none;
  }
  .hero-badge--offer {
    font-size: 10.5px;
    padding: 6px 14px;
  }

  .hero-title {
    font-size: clamp(29px, 8.4vw, 40px);
    line-height: 1.15;
    letter-spacing: -0.012em;
    margin-bottom: 18px;
  }
  .hero-title .line > span {
    animation-duration: 480ms;
    transform: translateY(14px);
  }

  .hero-sub {
    font-size: 15px;
    line-height: 1.68;
    margin-bottom: 26px;
  }
  .hero-actions {
    flex-direction: column;
    gap: 11px;
  }
  .hero-actions .btn {
    width: 100%;
    justify-content: center;
    min-height: 52px;
  }

  .hero-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 14px;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
  }
  .meta-label {
    font-size: 9.5px;
    letter-spacing: 0.12em;
  }
  .meta-value {
    font-size: 19px;
  }

  /* ── PADDING DAS SEÇÕES ── */
  .statement,
  .pillars,
  .calc,
  .roi,
  .metrics,
  .battery,
  .charging,
  .it41,
  .shield,
  .scope,
  .process,
  .cta-band,
  .eng,
  .portfolio,
  .voices,
  .content,
  .finance,
  .coverage,
  .faq,
  .consult {
    padding-left: 22px;
    padding-right: 22px;
    padding-top: 84px;
    padding-bottom: 84px;
  }
  .group-band,
  .footer-inner {
    padding-left: 22px;
    padding-right: 22px;
  }
  .nav {
    padding: 18px 22px;
  }
  .nav.scrolled {
    padding: 13px 22px;
  }

  h2 {
    font-size: clamp(25px, 6.6vw, 32px) !important;
    line-height: 1.2;
  }
  .statement-left h2,
  .pillars-head h2,
  .calc-left h2,
  .it41-head h2 {
    margin-top: 20px;
  }

  /* ── GRIDS EM 1 COLUNA ── */
  .metrics-grid,
  .shield-layers,
  .charging-specs,
  .warranty,
  .footer-grid,
  .it41-grid,
  .form-row {
    grid-template-columns: 1fr;
  }
  .it41-card--art {
    grid-column: span 1;
  }
  .calc-results,
  .fin-out {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .statement-inner,
  .battery-inner,
  .consult-inner,
  .calc-inner,
  .eng-grid,
  .coverage-grid,
  .roi-grid,
  .scope-grid,
  .fin-grid {
    gap: 48px;
  }

  .sindico-highlight {
    padding: 28px 22px;
    margin-top: 56px;
  }
  .fin-panel,
  .calc-panel,
  .pillar {
    padding: 30px 22px;
  }

  /* ── PROCESSO ── */
  .process-step {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .process-step-dot,
  .process-line {
    display: none;
  }
  .process-step-body,
  .process-step-meta {
    grid-column: 1;
  }
  .process-step-meta {
    gap: 20px;
  }

  /* ── CONDOMÍNIO ── */
  .condo-photo {
    min-height: 240px;
  }
  .condo-photo-tag {
    left: 22px;
    bottom: 22px;
  }
  .condo-photo-tag strong {
    font-size: 22px;
  }
  .condo-panel {
    padding: 30px 22px;
  }
  .condo-brand {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  /* ── BANDAS ── */
  .cta-band-inner,
  .shield-band,
  .it41-band {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 32px 22px;
  }
  .cta-band-inner .btn,
  .shield-band .btn,
  .it41-band .btn {
    width: 100%;
    justify-content: center;
  }

  /* ── FORMULÁRIO ── */
  .form-field.full {
    grid-column: span 1;
  }
  .form-submit {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 16px;
  }
  .btn-submit {
    width: 100%;
    justify-content: center;
    min-height: 54px;
  }

  /* ── MAPA ── */
  .map-facade {
    min-height: 260px;
  }

  /* ── RODAPÉ ── */
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .footer-legal {
    flex-wrap: wrap;
    gap: 16px;
  }
  .group-band-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .group-band-partners {
    flex-wrap: wrap;
    gap: 8px;
  }
  .group-band-partner {
    white-space: normal;
  }

  /* ── FIXOS ── */
  .smart-cta-bar {
    display: flex;
  }
  .wa-float {
    bottom: 84px !important;
    right: 16px;
    width: 52px;
    height: 52px;
  }
  .wa-float svg {
    width: 25px;
    height: 25px;
  }

  .cookie-banner {
    padding: 16px 20px calc(20px + env(safe-area-inset-bottom));
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .cookie-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .cookie-btn {
    min-height: 46px;
  }
}

/* ══════ ≤380px ══════ */
@media (max-width: 380px) {
  .hero-title {
    font-size: 27px;
  }
  .hero-meta,
  .calc-results,
  .fin-out {
    grid-template-columns: 1fr;
  }
  .fin-terms {
    flex-wrap: wrap;
  }
}

/* ══════ Landscape baixo ══════ */
@media (max-height: 520px) and (orientation: landscape) {
  .hero {
    min-height: auto;
    padding: 92px 0 36px;
  }
  .hero-meta,
  .hero-scroll {
    display: none;
  }
}
