/* =====================================================
   ORDERFIX - ESTILO UNIVERSAL DE VENTANAS (MODALES)
   Se carga después de plantilla.css y afecta a todos los
   modales "Agregar / Editar ..." del sistema.
   Azul universal: #2563eb (hover #1d4ed8)
===================================================== */

/* Tarjeta de la ventana */
.modal .modal-content {
    border: 0 !important;
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .25) !important;
}

/* Encabezado: blanco, título a la izquierda, sin colores por tipo (warning/info/primary) */
.modal .modal-header,
.modal .modal-header.bg-warning,
.modal .modal-header.bg-info,
.modal .modal-header.bg-primary,
.modal .modal-header.bg-success,
.modal .modal-header.bg-white {
    background: var(--c-card,#ffffff) !important;
    color: var(--c-tx,#172033) !important;
    border-bottom: 1px solid var(--c-bd,#edf0f4) !important;
    padding: 18px 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: left !important;
    border-radius: 0 !important;
}
.modal .modal-header .modal-title {
    width: auto !important;
    flex: 1 1 auto;
    text-align: left !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -.2px;
    color: var(--c-tx,#172033) !important;
    line-height: 1.3;
}
.modal .modal-header .close {
    float: none;
    margin: 0 0 0 12px !important;
    padding: 0 !important;
    width: 34px;
    height: 34px;
    border-radius: 9px;
    color: var(--c-mut,#64748b) !important;
    opacity: 1 !important;
    text-shadow: none !important;
    font-size: 24px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.modal .modal-header .close:hover { background: var(--c-bg3,#f1f5f9); color: var(--c-tx,#172033) !important; }

/* Cuerpo */
.modal .modal-body {
    padding: 22px 24px 8px !important;
}
.modal .modal-body.mx-2,
.modal .modal-body.mx-3 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.modal .modal-body label {
    color: var(--c-tx,#495057);
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 8px;
}

/* Campos: alto 45px, borde #d9e0e8, radio 9px, foco azul */
.modal .modal-body .form-control:not(textarea):not([type="file"]),
.modal .modal-body .custom-select {
    height: 45px !important;
    border: 1px solid var(--c-bd,#d9e0e8);
    border-radius: 9px;
    font-size: 14px;
    color: var(--c-tx,#495057);
    box-shadow: none;
}
.modal .modal-body textarea.form-control {
    border: 1px solid var(--c-bd,#d9e0e8);
    border-radius: 9px;
    font-size: 14px;
    color: var(--c-tx,#495057);
    box-shadow: none;
}
.modal .modal-body .form-control:focus,
.modal .modal-body .custom-select:focus {
    border-color: var(--acc,#2563eb) !important;
    box-shadow: 0 0 0 .15rem rgba(var(--acc-rgb,37,99,235),.12) !important;
}
.modal .modal-body .form-control[readonly],
.modal .modal-body .form-control:disabled { background: var(--c-bg2,#f8fafc); }

/* Ícono unido al campo (sin división), en azul */
.modal .modal-body .input-group-prepend .input-group-text {
    height: 45px;
    min-width: 48px;
    justify-content: center;
    background: var(--c-card,#ffffff);
    border: 1px solid var(--c-bd,#d9e0e8);
    border-right: 0;
    border-radius: 9px 0 0 9px;
    color: var(--acc-t,#2563eb);
    font-size: 16px;
}
.modal .modal-body .input-group > .input-group-prepend + .form-control,
.modal .modal-body .input-group > .input-group-prepend + .custom-select {
    border-left: 0 !important;
    border-radius: 0 9px 9px 0 !important;
}
.modal .modal-body .input-group-prepend + .select2-container { flex: 1 1 auto; width: 1% !important; min-width: 0; }
.modal .modal-body .input-group > .select2-container--default .select2-selection--single {
    height: 45px !important;
    border: 1px solid var(--c-bd,#d9e0e8) !important;
    border-left-width: 0 !important;
    border-radius: 0 9px 9px 0 !important;
    display: flex;
    align-items: center;
}
.modal .modal-body .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 43px !important; font-size: 14px; color: var(--c-tx,#495057); }
.modal .modal-body .select2-container--default .select2-selection--single .select2-selection__arrow { height: 43px !important; }

/* Pie: botones centrados, mismo alto y radio */
.modal .modal-footer {
    border-top: 1px solid var(--c-bd,#edf0f4) !important;
    padding: 16px 24px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center;
    gap: 10px;
}
.modal .modal-footer > .btn,
.modal .modal-footer .btn {
    height: 46px;
    min-width: 130px;
    margin: 0 !important;
    padding: 0 20px;
    border-radius: 9px !important;
    font-weight: 700;
    float: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}
/* Cancelar / Salir */
.modal .modal-footer .btnDefault,
.modal .modal-footer .btn-default,
.modal .modal-footer .btn-light,
.modal .modal-footer .btn-secondary {
    background: var(--c-card,#ffffff) !important;
    color: var(--c-mut,#475569) !important;
    border: 1px solid var(--c-bd,#d9e0e8) !important;
    box-shadow: none !important;
    transform: none !important;
}
.modal .modal-footer .btnDefault:hover,
.modal .modal-footer .btn-default:hover,
.modal .modal-footer .btn-light:hover,
.modal .modal-footer .btn-secondary:hover { background: var(--c-bg3,#f1f5f9) !important; }
/* Guardar */
.modal .modal-footer .btnPrimary,
.modal .modal-footer .btn-primary {
    background: var(--acc,#2563eb) !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
.modal .modal-footer .btnPrimary:hover,
.modal .modal-footer .btn-primary:hover,
.modal .modal-footer .btnPrimary:focus,
.modal .modal-footer .btn-primary:focus {
    background: var(--acc-d,#1d4ed8) !important;
    box-shadow: 0 0 0 .2rem rgba(var(--acc-rgb,37,99,235),.25) !important;
}

/* Móvil: botones apilados a todo el ancho */
@media (max-width: 575.98px) {
    .modal .modal-header { padding: 16px 18px !important; }
    .modal .modal-body { padding: 18px 18px 6px !important; }
    .modal .modal-footer { padding: 14px 18px !important; flex-direction: column-reverse; align-items: stretch; }
    .modal .modal-footer .btn { width: 100%; }
}

/* Móvil: los botones del pie ocupan todo el ancho con su altura completa.
   (plantilla.css les daba "flex: 1 1 100%", que en columna los aplastaba a ~21px de alto) */
@media (max-width: 575.98px) {
    .modal .modal-footer .btn,
    .mo-modal .modal-footer .btn {
        flex: 0 0 auto !important;
        width: 100%;
        height: 46px;
        min-height: 46px;
    }
}
