/* V4 — correção forte para celular/tablet */
@media screen and (max-width: 900px) {
  html, body { width:100% !important; max-width:100% !important; overflow-x:hidden !important; min-width:0 !important; }
  body { font-size:16px !important; }
  .container { width:100% !important; max-width:100% !important; padding-left:16px !important; padding-right:16px !important; margin-left:auto !important; margin-right:auto !important; }
  .topbar .container { display:block !important; text-align:center !important; line-height:1.35 !important; }
  .header { position:relative !important; width:100% !important; }
  .header-inner { display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:12px !important; width:100% !important; }
  .brand { width:100% !important; min-width:0 !important; }
  .brand strong { font-size:1rem !important; }
  .brand span { min-width:0 !important; }
  .nav { display:flex !important; width:100% !important; max-width:100% !important; overflow-x:auto !important; gap:8px !important; flex-wrap:nowrap !important; padding:4px 0 8px !important; -webkit-overflow-scrolling:touch !important; }
  .nav a { flex:0 0 auto !important; white-space:nowrap !important; padding:9px 12px !important; border-radius:999px !important; background:#f1f5f9 !important; font-size:.84rem !important; }
  .nav .btn, .nav a.btn { background:var(--teal) !important; color:#fff !important; }
  .hero .container { padding-top:34px !important; padding-bottom:34px !important; }
  .hero-grid, .details-grid, .filters-grid, .properties-grid, .trust-grid, .steps, .contact-band, .footer-grid { display:grid !important; grid-template-columns:1fr !important; width:100% !important; max-width:100% !important; gap:16px !important; }
  .hero-card, .filters, .property-card, .panel, .contact-card, .contact-band, .trust-card, .step { width:100% !important; max-width:100% !important; min-width:0 !important; }
  .section { padding-top:34px !important; padding-bottom:34px !important; }
  .section-head { display:block !important; margin-bottom:18px !important; }
  .section-head h2 { font-size:1.65rem !important; }
  .hero h1 { font-size:2.15rem !important; line-height:1.02 !important; letter-spacing:-.04em !important; }
  .hero p { font-size:.98rem !important; }
  .hero-actions, .filters-actions, .card-actions { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; width:100% !important; }
  .btn, button.btn, a.btn { width:100% !important; max-width:100% !important; }
  .field input, .field select, .field textarea { width:100% !important; max-width:100% !important; font-size:16px !important; }
  .property-media { width:100% !important; aspect-ratio: 4 / 3 !important; }
  .property-body { padding:16px !important; }
  .features { gap:7px !important; }
  .features span { font-size:.8rem !important; }
  .price { font-size:1.15rem !important; }
  .details-wrap { padding-top:22px !important; }
  .gallery-main { width:100% !important; aspect-ratio: 4 / 3 !important; border-radius:18px !important; }
  .thumbs { max-width:100% !important; overflow-x:auto !important; }
  .thumbs img { width:76px !important; height:58px !important; flex:0 0 auto !important; }
  .spec-grid { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; }
  .map { height:240px !important; }
  .float-whatsapp { width:52px !important; height:52px !important; right:14px !important; bottom:14px !important; }
}
@media screen and (max-width: 480px) {
  .container { padding-left:12px !important; padding-right:12px !important; }
  .topbar { font-size:.72rem !important; }
  .brand img { width:40px !important; height:40px !important; }
  .brand strong { font-size:.95rem !important; }
  .brand>span>span { font-size:.68rem !important; }
  .hero h1 { font-size:1.9rem !important; }
  .hero-card, .filters, .panel, .contact-card { border-radius:18px !important; padding:14px !important; }
  .property-card { border-radius:18px !important; }
  .gallery-nav { width:36px !important; height:36px !important; font-size:1.45rem !important; }
  .gallery-prev { left:8px !important; }
  .gallery-next { right:8px !important; }
  .gallery-counter { right:8px !important; bottom:8px !important; font-size:.75rem !important; }
}


/* V7 — menu mobile/tablet sem rolagem horizontal */
@media screen and (max-width: 900px) {
  .header-inner { align-items: stretch !important; }
  .nav { display:flex !important; flex-wrap:wrap !important; overflow:visible !important; overflow-x:visible !important; gap:8px !important; width:100% !important; max-width:100% !important; padding:0 !important; }
  .nav a { flex:1 1 132px !important; min-width:0 !important; width:auto !important; max-width:100% !important; white-space:normal !important; text-align:center !important; line-height:1.15 !important; padding:10px 10px !important; }
  .nav a.btn { flex:1 1 190px !important; width:auto !important; }
}
@media screen and (max-width: 520px) {
  .nav a { flex-basis:calc(50% - 8px) !important; font-size:.82rem !important; padding:9px 8px !important; }
  .nav a.btn { flex-basis:100% !important; width:100% !important; }
}

/* V8 — reforço visual WhatsApp e botão voltar ao início */
.nav a.btn-primary,
.nav a.btn-primary:visited,
.nav a.btn-primary:hover,
#whatsapp-main,
#whatsapp-main:visited,
#whatsapp-main:hover,
.whatsapp-attention,
.whatsapp-attention:visited,
.whatsapp-attention:hover {
  color:#fff !important;
}
@media screen and (max-width: 900px) {
  .footer-top-link {
    width:100% !important;
    max-width:100% !important;
    color:#fff !important;
    text-align:center !important;
  }
}
