/* =========================================================
   Responsive layout rules — public site
   ========================================================= */

@media (max-width: 1024px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; max-width:420px; margin:0 auto; }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
  .steps-grid{ grid-template-columns:repeat(2,1fr); }
  .benefits-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .doctor-profile-grid{ grid-template-columns:260px 1fr; gap:1.75rem; }
}

@media (max-width: 900px){
  .doctor-profile-grid{ grid-template-columns:1fr; }
  .doctor-profile-photo-card{ position:static; max-width:320px; margin:0 auto 1.5rem; }
}

@media (max-width: 860px){
  .nav-actions .btn span.hide-mobile{ display:none; }
}

@media (max-width: 768px){
  h1{ margin-bottom:.6em; }
  .section{ padding:var(--space-8) 0; }
  .grid-4, .grid-3, .grid-2{ grid-template-columns:1fr; }
  .steps-grid, .benefits-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:2rem; text-align:left; }
  .form-row{ grid-template-columns:1fr; }
  .filter-row-3{ grid-template-columns:1fr; }
  .wizard-steps .wz-label{ display:none; }
  .wizard-steps{ margin-bottom:2rem; }
  .time-slots-grid{ grid-template-columns:repeat(3,1fr); }
  .cta-banner{ padding:2.5rem 1.5rem; }
  .contact-grid{ gap:1.5rem; }
  .success-actions{ flex-direction:column; }
  .success-actions .btn{ width:100%; }
  .wizard-actions{ flex-wrap:wrap; }
  .floating-card{ display:none; }
  .date-grid{ gap:.3rem; }
}

@media (max-width: 480px){
  .time-slots-grid{ grid-template-columns:repeat(2,1fr); }
  .navbar{ height:68px; }
  .hero{ padding:var(--space-8) 0 var(--space-6); }
}
