/* =========================================================
   RESPONSIVE — MOBILE FIRST
   Cães de Alerta Médico | v1.0
   =========================================================
   Breakpoints:
     xs:  < 480px
     sm:  480px – 639px
     md:  640px – 767px
     lg:  768px – 1023px
     xl:  1024px – 1279px
     2xl: 1280px – 1535px
     3xl: ≥ 1536px (ultrawide)
   ========================================================= */

/* =========================================================
   TABLET — max 1023px
   ========================================================= */
@media (max-width: 1023px) {

  /* Nav */
  .header__nav,
  .header__actions .btn { display: none; }
  .header__hamburger { display: flex; }

  /* About */
  .about__grid { grid-template-columns: 1fr; }
  .about__image-wrapper { max-width: 500px; margin-inline: auto; }
  .about__image-badge { right: 0; }

  /* Stats bar */
  .stats-bar__grid { grid-template-columns: repeat(2, 1fr); }

  /* Hero stats */
  .hero__stats-inner { flex-wrap: wrap; }
  .hero__stat { min-width: 50%; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .hero__stat:nth-child(2) { border-right: none; }
  .hero__stat:nth-child(3),
  .hero__stat:nth-child(4) { border-bottom: none; }

  /* Footer */
  .footer__grid { grid-template-columns: 1fr 1fr; gap: var(--space-8); }

  /* Contact */
  .contact__grid { grid-template-columns: 1fr; }

  /* Testimonials */
  .testimonials__track { grid-template-columns: repeat(2, 1fr); }

  /* Grids */
  .grid-4 { grid-template-columns: repeat(2, 1fr); }

  /* Hero scroll indicator */
  .hero__scroll { display: none; }
}

/* =========================================================
   MOBILE — max 767px
   ========================================================= */
@media (max-width: 767px) {

  /* Base */
  html { font-size: 15px; }

  /* Section */
  .section-header--center .section-label { justify-content: flex-start; }

  /* Hero */
  .hero { min-height: 100svh; }

  .hero__content { padding-block: 7rem 3rem; }

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

  .hero__actions .btn { justify-content: center; }

  .hero__stats { position: static; margin-top: var(--space-8); }
  .hero__stats-inner {
    flex-direction: column;
    border-radius: var(--radius-lg);
  }
  .hero__stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .hero__stat:last-child { border-bottom: none; }

  /* Stats bar */
  .stats-bar__grid { grid-template-columns: 1fr 1fr; }

  /* Grids */
  .grid-2,
  .grid-3,
  .grid-4 { grid-template-columns: 1fr; }

  /* About */
  .about__image-badge { position: static; margin-top: var(--space-4); border-radius: var(--radius-lg); display: inline-flex; align-items: center; gap: var(--space-3); }
  .about__image-badge-number { font-size: var(--text-3xl); }

  /* Services */
  .services__grid { grid-template-columns: 1fr; }

  /* Testimonials */
  .testimonials__track { grid-template-columns: 1fr; }

  /* Footer */
  .footer__grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .footer__bottom { flex-direction: column; text-align: center; }
  .footer__legal { gap: var(--space-4); }

  /* Form */
  .form-row { grid-template-columns: 1fr; }

  /* Media */
  .media__videos { grid-template-columns: 1fr; }

  /* CTA Banner */
  .cta-banner__actions { flex-direction: column; align-items: stretch; }
  .cta-banner__actions .btn { justify-content: center; }

  /* Dogs section */
  .dogs-section { min-height: auto; }
  .dogs-section__overlay {
    background: linear-gradient(
      180deg,
      rgba(11, 29, 58, 0.88) 0%,
      rgba(11, 29, 58, 0.80) 100%
    );
  }

  /* Contact */
  .contact__map { height: 220px; }
}

/* =========================================================
   SMALL MOBILE — max 479px
   ========================================================= */
@media (max-width: 479px) {

  html { font-size: 14px; }

  .container { padding-inline: 1rem; }

  /* Header */
  .header__logo-tagline { display: none; }

  /* Hero */
  .hero__badge { font-size: 0.625rem; }

  /* Stats bar */
  .stats-bar__grid { grid-template-columns: 1fr; }

  /* Service card */
  .service-card { padding: var(--space-6); }

  /* Testimonial */
  .testimonial-card { padding: var(--space-6); }
  .testimonial-card::before { font-size: 4rem; }

  /* FAQ */
  .faq__question { padding: var(--space-4); }
  .faq__answer-inner { padding: 0 var(--space-4) var(--space-4); }

  /* Footer social */
  .footer__social-link { width: 2.25rem; height: 2.25rem; }
}

/* =========================================================
   ULTRAWIDE — min 1536px
   ========================================================= */
@media (min-width: 1536px) {
  :root {
    --container: 1400px;
    --section-py: 8rem;
  }

  .hero__title { font-size: 5rem; }
  .footer__grid { grid-template-columns: 2.5fr 1fr 1fr 1fr; }
}

/* =========================================================
   PRINT
   ========================================================= */
@media print {
  .site-header,
  .mobile-nav,
  .hero__scroll,
  .hero__stats,
  .cta-banner { display: none; }

  body { color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
}

/* =========================================================
   REDUZIR MOTION (ACESSIBILIDADE)
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .hero__bg img { transform: none !important; }
  .animate-on-scroll { opacity: 1 !important; transform: none !important; }
}
