/* Ajustes responsive finales. Las reglas principales están en main.css. */
@media (max-width: 980px) {
  .nav-inner { grid-template-columns: 140px auto; }
  .menu { position: absolute; left: 32px; right: 32px; top: calc(100% + 1px); }
  .burger { display: block; }
}
@media (max-width: 740px) {
  .section-shell, .hero, .home-reviews-inner, .home-cta, .admin-nav, .admin-shell, .footer-inner { width: calc(100% - 36px); }
  .nav-inner { width: calc(100% - 36px); }
  .hero { grid-template-columns: 1fr; }
  .home-service-grid, .home-process-list { grid-template-columns: 1fr; }
  .section-heading { grid-template-columns: 1fr; }
  .home-reviews-inner { grid-template-columns: 1fr; }
  .booking-stage, .contact-stage { grid-template-columns: 1fr; }
  .account-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .actions { flex-direction: column; align-items: stretch; }
  .actions .btn-primary { width: 100%; }
  .date-grid, .slot-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .field-grid { grid-template-columns: 1fr; }
}

/* Ajustes finales en pantallas pequeñas: el desplazamiento horizontal queda
   limitado a tablas que lo necesitan y cada control conserva un área táctil. */
img, svg, video, canvas { max-width: 100%; height: auto; }
main, section, article, form, .section-shell, .account-grid, .account-card { min-width: 0; }
input, select, textarea, button { max-width: 100%; }
@media (max-width: 740px) {
  .menu { max-height: calc(100dvh - 86px); overflow-y: auto; overscroll-behavior: contain; }
  .menu-links, .nav-actions, .auth-area { min-width: 0; }
  .nav-actions { flex-wrap: wrap; gap: 10px 14px; }
  .account-summary span:last-child { max-width: 14ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .account-panel { max-width: calc(100vw - 36px); }
  .account-grid { gap: 30px; }
  .account-card, .account-card form, #account-contracts { width: 100%; max-width: 100%; }
  .account-data > div { min-width: 0; }
  .account-service { max-width: 100%; overflow-wrap: anywhere; }
  .account-service button, .account-card .btn-primary { min-height: 44px; white-space: normal; }
  .contact-form, .auth-panel, .checkout-panel, .demo { min-width: 0; max-width: 100%; }
  .contact-form input, .contact-form select, .contact-form textarea,
  .auth-panel input, .checkout-panel input, .checkout-panel select { width: 100%; min-width: 0; }
  .admin-table-wrap { max-width: 100%; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  dialog, [role="dialog"] { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow: auto; }
}
@media (max-width: 380px) {
  .section-shell, .hero, .home-reviews-inner, .home-cta, .admin-nav, .admin-shell, .footer-inner, .nav-inner { width: calc(100% - 28px); }
  .menu { left: 14px; right: 14px; }
  .logo { width: 122px; }
  .nav-inner { grid-template-columns: 122px auto; }
  .account-summary { gap: 6px; }
  .auth-panel, .checkout-panel, .contact-form { padding-inline: 16px; }
  .admin-content { padding-inline: 10px; }
}
