/* Capa responsive de accesibilidad para la web pública. Mantiene el diseño de escritorio. */
@media screen and (max-width: 767px) {
  html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
  body { min-width: 320px; overflow-x: hidden; font-size: 16px !important; line-height: 1.6; }
  body p, body li, body a, body label, body input, body select, body textarea, body button { font-size: 16px; }
  .hint, .form-text, small { font-size: 14px !important; line-height: 1.5; }
  img { max-width: 100%; height: auto; }
  .container, .container-fluid { max-width: 100%; }

  header { position: relative; z-index: 5000; min-height: 70px; }
  header > .container-fluid { min-height: 70px; }
  header .row { display: flex; min-height: 70px; align-items: center; }
  header .da-header-logo-container { width: 100%; height: 66px; margin: 0; }
  header .da-header-logo-container a { height: 66px; }
  header .da-header-logo-container img { max-height: 54px; width: auto; }
  header .da-menu-button { display: inline-flex; width: 52px; height: 52px; padding: 12px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.28); border-radius: 8px; }
  header .da-menu-button img { width: 28px; height: 28px; object-fit: contain; }

  .da-mobile-menu { z-index: 9999; width: 100%; padding-bottom: 30px; background: #1f2225; }
  .da-mobile-menu .container { width: 100%; }
  .da-mobile-menu ul { width: 100%; margin: 0; }
  .da-mobile-menu ul li { min-height: 56px; padding: 0 !important; border-bottom: 1px solid rgba(255,255,255,.16); font-size: 18px !important; }
  .da-mobile-menu ul li a { display: flex; min-height: 56px; padding: 16px 24px; color: #fff; align-items: center; font-size: 18px !important; font-weight: 700; line-height: 1.3; }
  .da-mobile-menu ul li i { top: 18px; right: 22px; font-size: 20px; }
  .da-mobile-menu .da-submenu li, .da-mobile-menu ul ul li { min-height: 50px; padding: 0 !important; }
  .da-mobile-menu .da-submenu a, .da-mobile-menu ul ul a { min-height: 50px; padding: 13px 32px; font-size: 16px !important; }

  h1, .h1 { font-size: 30px !important; line-height: 1.2 !important; }
  h2, .h2 { font-size: 25px !important; line-height: 1.25 !important; }
  h3, .h3 { font-size: 21px !important; line-height: 1.3 !important; }
  h4, .h4 { font-size: 18px !important; line-height: 1.35 !important; }
  .da-details, .da-information, .da-review-text p, .da-text-news, footer p, footer a { font-size: 16px !important; line-height: 1.65 !important; }
  .da-information { padding-right: 20px; padding-left: 20px; }

  input, select, textarea, .form-control { min-height: 48px; padding: 12px 14px !important; font-size: 16px !important; }
  textarea, textarea.form-control { min-height: 110px; }
  button, .btn, .da-btn, .da-booking-btn { min-height: 48px; padding: 12px 18px; font-size: 16px !important; touch-action: manipulation; }

  .da-main-title { width: calc(100% - 30px); padding-right: 15px; padding-left: 15px; }
  .da-main-title h1 { max-width: 100%; font-size: 30px !important; line-height: 1.2; }
  .da-btn-container { width: 100%; }
  .da-btn-container .da-btn { display: inline-flex; align-items: center; justify-content: center; }

  .da-booking-date-container { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
  .da-booking-day-container { display: none !important; }
  .da-booking-date2 { min-height: 145px !important; padding: 13px !important; opacity: 1; }
  .da-booking-date-number { font-size: 20px !important; }
  .da-available-date, .da-not-available-date { font-size: 15px !important; }
  .da-booking-date2 .da-booking-btn { display: flex; width: 100%; padding: 10px 8px; align-items: center; justify-content: center; }
  .reserve-ui { font-size: 16px !important; }
  .reserve-ui .card { padding: 16px !important; }
  .reserve-ui .header-row, .header-row { align-items: stretch !important; flex-direction: column; }
  .reserve-ui .badge-date, .badge-date { display: flex; width: 100%; min-height: 48px; justify-content: center; text-align: center; }
  .slot { min-height: 64px; padding: 14px 16px !important; }
  .slot .time { font-size: 20px !important; }
  .slot .tag { font-size: 15px !important; }

  .da-accordion-title, .da-accordion-title p, .da-accordion-content, .da-accordion-content p { font-size: 16px !important; line-height: 1.6 !important; }
  .da-accordion-title { min-height: 54px; padding: 14px 46px 14px 15px !important; }

  footer { padding-top: 35px; }
  footer .row > div { margin-bottom: 28px; }
  footer .da-footer-logo-container { max-width: 170px; }
  footer .da-form-container { display: flex; }
  footer .da-form-container input { flex: 1 1 auto; width: auto; }
  footer .da-form-container button { flex: 0 0 52px; }
}

@media screen and (max-width: 380px) {
  .da-booking-date-container { grid-template-columns: 1fr !important; }
  .da-booking-date2 { min-height: 132px !important; }
}
