/* =============================================
   RESPONSIVE BREAKPOINTS
   ============================================= */

@media (min-width: 480px) {
  .whatsapp-btn__label {
    display: inline;
  }
}

@media (min-width: 720px) {
  .section        { padding: 5.5rem 0; }
  .services       { padding-bottom: 1rem; }
  .booking        { padding-top: 1rem; }

  .nav                  { display: flex; }
  .topbar__phone-inline { display: inline-flex; }
  .brand__name          { display: flex; }
  .hamburger            { display: none; }

  .hero__actions { flex-direction: row; flex-wrap: wrap; }

  .trust-grid,
  .services-grid,
  .contact__grid        { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .offer-list           { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps-grid           { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .areas-grid           { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reviews-grid         { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__grid         { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .cta-card {
    grid-template-columns: 1fr auto;
    justify-content: space-between;
  }

  .footer__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

@media (min-width: 960px) {
  .hero__grid,
  .booking__layout,
  .contact__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }

  .trust-grid    { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .steps-grid    { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .areas-grid    { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .reviews-grid  { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer__grid  { grid-template-columns: 1.4fr 1fr 1fr 1fr; }

  .about__grid   { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }

  .step-card         { padding: 4.5rem 1.25rem 1.5rem; }
  .step-card__number { top: 1.25rem; left: 1.25rem; }
}

@media (max-width: 560px) {
  .topbar__inner       { gap: 0.75rem; }
  .topbar__brand-group { gap: 0.5rem; }
  .topbar__actions     { gap: 0.45rem; }

  .request-card        { padding: 1.15rem; box-shadow: 0 18px 36px rgba(16, 37, 66, 0.18); }
  .request-modal       { padding: 0.6rem; align-items: flex-end; }
  .request-modal__panel { width: 100%; max-height: calc(100vh - 1rem); }
  .request-modal__close { top: 0.8rem; right: 0.8rem; }

  .appt-form__row      { grid-template-columns: 1fr; }
  .appt-card           { padding: 1.5rem 1.1rem 1.25rem; }
  .appt-modal          { padding: 0.5rem; align-items: flex-end; }
  .appt-modal__panel   { width: 100%; max-height: calc(100vh - 0.5rem); }

  .floating-actions    { width: calc(100% - 1.2rem); justify-content: center; }
  .floating-action     { flex: 1 1 auto; min-width: 0; padding-inline: 0.8rem; font-size: 0.84rem; }

  .map-card__overlay   { align-items: stretch; flex-direction: column; }
  .map-card__link      { width: 100%; }

  .booking-emergency       { min-height: 14rem; }
  .booking-emergency__art  { min-height: 12rem; }
  .booking-emergency__logo { width: min(80%, 16rem); }
  .booking-emergency__overlay  { top: 56%; left: 55%; transform: translate(-4%, -2%); }
  .booking-emergency__subhead  { margin-left: 1rem; }

  .about__highlights   { grid-template-columns: 1fr; }

  .areas-grid          { grid-template-columns: 1fr; padding: 1.1rem; }

  .faq-item            { padding: 0.95rem 1.1rem; }
  .faq-item summary    { font-size: 0.98rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
