/* Diseño Vibrante · V2.1 | centrado de control calendario y ventana en móvil */
@media (max-width: 630px) {
  .site-header .header-actions a.btn[data-calendar-open],
  .site-header .header-actions button.btn[data-calendar-open] {
    width:44px !important; min-width:44px !important; height:44px !important;
    min-height:44px !important; border-radius:50% !important;
    margin:0 !important; padding:0 !important; gap:0 !important;
    display:inline-flex !important; justify-content:center !important;
    align-items:center !important; line-height:1 !important; flex:0 0 44px;
  }
  .site-header .header-actions [data-calendar-open] .icon {
    position:static !important; margin:0 !important; flex:0 0 20px;
    display:block !important; width:20px !important; height:20px !important;
    transform:none !important;
  }
  .booking-backdrop:not([hidden]) {
    display:flex !important; align-items:center !important;
    justify-content:center !important; width:100%; height:100%;
    min-height:100dvh; padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) !important;
    box-sizing:border-box; overflow-y:auto; overscroll-behavior:contain;
  }
  .booking-dialog {
    box-sizing:border-box; width:100% !important; max-width:480px;
    max-height:calc(100dvh - 18px) !important;
    margin:auto !important; position:relative; overflow-y:auto; overflow-x:hidden;
    border-radius:16px;
  }
  .booking-head,.booking-body,.booking-footer{box-sizing:border-box;width:100%}
  .booking-head h2{overflow-wrap:break-word;word-break:normal}
  .booking-dates{min-width:0}
  .booking-calendar{width:100%; min-width:0; box-sizing:border-box}
  .booking-weekdays,.booking-days{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));}
  .booking-days button,.booking-days span{width:100%;min-width:0;box-sizing:border-box}
  .booking-slots{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 360px) {
  .booking-backdrop:not([hidden]){padding:4px !important}
  .booking-body{padding:10px}
  .booking-calendar{padding:9px 6px}
  .booking-days,.booking-weekdays{gap:1px}
  .booking-days button{font-size:.72rem}
  .booking-head{padding:13px}
  .booking-head h2{font-size:1.85rem}
}
