/* =========================================================
   Clínica Vitrálle — responsive.css
   Breakpoints: 1200 · 1024 · 860 · 600 · 420
   ========================================================= */

@media (max-width: 1200px) {
  .nav__list { gap: 18px; }
  .nav__list a { font-size: .78rem; }
  .sobre__stat { right: -12px; }
  .map__card { left: 24px; }
}

@media (max-width: 1024px) {
  .section { padding: 90px 0; }
  .grid--gap-xl { gap: 48px; }
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .gallery { grid-template-columns: 1fr 1fr; }
  .gallery__item img, .gallery__item:first-child img { height: 300px; }
  .header__cta { display: none; }
  .hero__badges { gap: 28px; }
}

@media (max-width: 860px) {
  html { scroll-padding-top: 76px; }

  /* Navegação mobile */
  .nav {
    position: fixed; inset: 0 0 0 auto; width: min(84vw, 340px);
    background: var(--bg); padding: 104px 32px 40px;
    box-shadow: -20px 0 60px -30px rgba(0,0,0,.5);
    transform: translateX(100%); transition: transform .45s var(--ease);
    z-index: 65; overflow-y: auto;
  }
  .nav.is-open { transform: none; }
  .nav__list { flex-direction: column; gap: 6px; }
  .nav__list a { display: block; padding: 14px 0; font-size: .95rem; color: var(--ink) !important; border-bottom: 1px solid var(--line); }
  .nav-toggle { display: block; margin-left: auto; color: #fff; z-index: 70; }
  .header.is-stuck .nav-toggle, body.nav-open .nav-toggle { color: var(--ink); }
  body.nav-open { overflow: hidden; }
  body.nav-open .nav-toggle span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  body.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
  body.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  .hero { min-height: auto; padding: 132px 0 78px; }
  .hero__media::after { background: linear-gradient(180deg, rgba(15,26,22,.86) 0%, rgba(15,26,22,.80) 60%, rgba(15,26,22,.90) 100%); }

  .grid--2, .grid--3, .grid--faq { grid-template-columns: 1fr; }
  .sobre__img { order: -1; }
  .sobre__stat { right: 16px; bottom: 16px; }

  .cta-band__inner { flex-direction: column; align-items: flex-start; text-align: left; }
  .gallery { grid-template-columns: 1fr; }
  .gallery__item img, .gallery__item:first-child img { height: 260px; }

  .map iframe { height: 340px; }
  .map__card { position: static; transform: none; max-width: none; border-radius: 0; box-shadow: none; }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: 34px; }
}

@media (max-width: 600px) {
  body { font-size: 16px; }
  .container { width: calc(100% - 36px); }
  .section { padding: 72px 0; }
  .section__head { margin-bottom: 42px; }
  .title { font-size: clamp(1.75rem, 7vw, 2.2rem); }

  .hero h1 { font-size: clamp(2.1rem, 9vw, 2.7rem); }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .btn { width: 100%; }
  .hero__badges { flex-direction: column; gap: 18px; }
  .hero__badges strong { font-size: 1.6rem; }

  .grid--4 { grid-template-columns: 1fr; }
  .cards .card { padding: 30px 24px; }
  .form { padding: 26px 20px; }
  .form__grid { grid-template-columns: 1fr; }
  .quote { padding: 28px 24px; }
  .quote p { font-size: 1.12rem; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer { padding-top: 62px; }
  .footer__bottom { flex-direction: column; gap: 6px; }
  .whatsapp-float { right: 16px; bottom: 16px; width: 54px; height: 54px; }
}

@media (max-width: 420px) {
  .brand__text small { display: none; }
  .sobre__stat { position: static; margin-top: 16px; max-width: none; box-shadow: none; border: 1px solid var(--line); }
  .faq__item summary { font-size: 1.12rem; }
}

/* Impressão */
@media print {
  .header, .nav, .whatsapp-float, .map, .cta-band { display: none !important; }
  body { background: #fff; color: #000; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
