/* ==========================================================
   SpaMaster 360 v30.3 — Compact New Reservation Modal
   Reduce alto y espacios en Nueva Reserva sin tocar lógica.
   ========================================================== */

/* Modal más eficiente */
.agenda-v221-modal,
.sm360-clean-reservation-modal{
    max-width:760px!important;
}

.agenda-v221-modal-body{
    padding:10px 14px 14px!important;
    gap:10px!important;
}

/* Header más compacto */
.agenda-v221-modal-header{
    min-height:48px!important;
    padding:10px 16px!important;
}

.agenda-v221-modal-header h2,
.agenda-v221-modal-title{
    font-size:18px!important;
    line-height:1.1!important;
    margin:0!important;
}

/* Tarjetas del formulario más delgadas */
.agenda-v221-form-card,
.agenda-v221-card,
.sm360-real-card{
    border-radius:20px!important;
    padding:12px 14px!important;
    margin-bottom:10px!important;
}

/* Quitar aire extra de sección fecha/hora */
.agenda-v221-form-card:has(#arDate),
.agenda-v221-form-card:has(#arStartTime),
.agenda-v221-form-card:has(#arEndTime){
    padding:10px 14px!important;
}

/* Compactar títulos/labels */
.agenda-v221-form-card label,
.agenda-v221-field label,
.agenda-v221-label,
.agenda-v221-form-card > label,
.agenda-v221-form-card .section-label{
    font-size:11px!important;
    letter-spacing:.055em!important;
    line-height:1.1!important;
    margin:0 0 5px!important;
    color:#64748B!important;
}

/* Fecha: un solo campo delgado */
#arDate{
    height:44px!important;
    min-height:44px!important;
    padding:0 14px!important;
    border-radius:15px!important;
}

/* Caja Horario más compacta */
.agenda-v221-time-card,
.agenda-v221-form-card:has(#arStartTime):has(#arEndTime){
    padding:10px 14px!important;
    border-radius:18px!important;
}

/* Ocultar badge Ajustable innecesario */
.agenda-v221-time-card .badge,
.agenda-v221-time-card .pill,
.agenda-v221-time-card [class*="badge"],
.agenda-v221-time-card [class*="pill"],
.agenda-v221-form-card:has(#arStartTime):has(#arEndTime) [class*="badge"],
.agenda-v221-form-card:has(#arStartTime):has(#arEndTime) [class*="pill"]{
    display:none!important;
}

/* Inputs de hora más bajos */
#arStartTime,
#arEndTime{
    height:42px!important;
    min-height:42px!important;
    padding:0 14px!important;
    border-radius:15px!important;
}

/* Grid de fecha/hora más pegado */
.agenda-v221-time-grid,
.agenda-v221-row:has(#arStartTime),
.agenda-v221-row:has(#arEndTime){
    gap:10px!important;
}

/* Cliente: tarjeta más compacta */
.agenda-v221-form-card:has(#arClientSearch){
    padding:10px 14px 12px!important;
}

/* Barra búsqueda cliente más baja */
.agenda-client-search-wrap{
    min-height:48px!important;
    height:48px!important;
    grid-template-columns:48px 1fr 48px!important;
    border-radius:17px!important;
}

.agenda-client-search-wrap #arClientSearch{
    height:48px!important;
    min-height:48px!important;
    font-size:14px!important;
}

.agenda-client-search-wrap .sm360-clean-search-icon,
.agenda-client-search-wrap > span:first-child{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
}

.agenda-client-search-wrap .sm360-clean-search-icon::before,
.agenda-client-search-wrap > span:first-child::before{
    width:20px!important;
    height:20px!important;
}

#arClientClear,
.agenda-client-clear,
.sm360-clean-client-clear{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    border-radius:0 17px 17px 0!important;
}

/* Resultados siguen visibles pero más compactos */
#arClientResults{
    top:calc(100% + 7px)!important;
    max-height:245px!important;
    border-radius:17px!important;
    padding:6px!important;
}

#arClientResults .agenda-v221-client-option{
    min-height:50px!important;
    padding:9px 12px!important;
    border-radius:14px!important;
}

#arClientResults .agenda-v221-client-option strong{
    font-size:13.5px!important;
}

#arClientResults .agenda-v221-client-option small{
    font-size:11.5px!important;
}

/* Campos de cliente más delgados */
#arClientName,
#arNombre,
#arNuevoNombre,
#arClientLastName,
#arApellido,
#arPhone,
#arClientPhone,
#arTelefono,
#arDocument,
#arClientDoc,
#arCedula,
#arEmail,
#arClientEmail,
.agenda-v221-form-card:has(#arClientSearch) input:not(#arClientSearch){
    height:42px!important;
    min-height:42px!important;
    padding:0 13px!important;
    border-radius:15px!important;
    font-size:14px!important;
}

/* Menos separación entre filas de datos cliente */
.agenda-v221-form-card:has(#arClientSearch) .agenda-v221-grid,
.agenda-v221-form-card:has(#arClientSearch) .agenda-v221-row,
.agenda-v221-form-card:has(#arClientSearch) [class*="grid"],
.agenda-v221-form-card:has(#arClientSearch) [class*="row"]{
    gap:9px 10px!important;
}

/* Campo teléfono con prefijos más compacto */
.agenda-v221-phone-wrap,
.phone-input-wrap,
[class*="phone"]:has(input){
    min-height:42px!important;
}

.agenda-v221-phone-wrap input,
.phone-input-wrap input{
    height:42px!important;
    min-height:42px!important;
}

/* Servicio también un poco más compacto para aprovechar el modal */
.agenda-v221-form-card:has(.agenda-v221-service-card),
.agenda-v221-form-card:has(.agenda-package-card){
    padding:10px 14px!important;
}

.agenda-v221-service-card,
.agenda-package-card,
.agenda-v221-service-option{
    min-height:64px!important;
    padding:9px 11px!important;
    border-radius:16px!important;
}

.agenda-v221-service-card img,
.agenda-package-card img,
.agenda-v221-service-option img{
    width:48px!important;
    height:48px!important;
    border-radius:12px!important;
}

.agenda-v221-service-card strong,
.agenda-package-card strong,
.agenda-v221-service-option strong{
    font-size:13.5px!important;
}

.agenda-v221-service-card small,
.agenda-package-card small,
.agenda-v221-service-option small{
    font-size:11.5px!important;
}

/* Compactar sección de precio/estado/adicionales/notas */
.agenda-v221-form-card input,
.agenda-v221-form-card select,
.agenda-v221-form-card textarea{
    border-radius:15px!important;
}

.agenda-v221-form-card input,
.agenda-v221-form-card select{
    min-height:42px!important;
    height:42px!important;
}

.agenda-v221-form-card textarea{
    min-height:72px!important;
}

/* Footer del modal más compacto y sticky más limpio */
.agenda-v221-modal-footer{
    padding:10px 14px!important;
    gap:10px!important;
}

.agenda-v221-modal-footer button{
    min-height:42px!important;
    padding:0 18px!important;
    border-radius:15px!important;
}

/* Responsive */
@media (max-width: 820px){
    .agenda-v221-modal,
    .sm360-clean-reservation-modal{
        max-width:calc(100vw - 18px)!important;
    }

    .agenda-v221-modal-body{
        padding:8px 10px 12px!important;
    }

    .agenda-v221-form-card{
        padding:10px!important;
    }
}
