/**
 * DataBot — Botones unificados (UX)
 * Marca indigo #4f46e5 alineada al hero / Mapa / SweetAlert.
 * Alcance: body.bg-light main (app principal; no login glass).
 */

:root {
    --dt-btn-primary: #4f46e5;
    --dt-btn-primary-hover: #4338ca;
    --dt-btn-primary-active: #3730a3;
    --dt-btn-radius-pill: 50rem;
    --dt-btn-radius-md: 0.5rem;
    --dt-btn-fw: 600;
    --dt-btn-shadow: 0 2px 8px rgba(79, 70, 229, 0.18);
    --dt-btn-shadow-hover: 0 4px 14px rgba(79, 70, 229, 0.28);
}

/* Bootstrap: utilidades .bg-primary / rgb() alineadas a marca (evita azul default en btn bg-primary) */
body.bg-light {
    --bs-primary: #4f46e5;
    --bs-primary-rgb: 79, 70, 229;
}

/* --- Base: peso y transición --- */
body.bg-light main .btn {
    font-weight: var(--dt-btn-fw);
    letter-spacing: 0.01em;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease,
        box-shadow 0.15s ease, transform 0.12s ease;
}

body.bg-light main .btn:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(79, 70, 229, 0.35);
}

/* --- Primario = indigo (sustituye azul Bootstrap en listados) --- */
body.bg-light main .btn-primary {
    --bs-btn-bg: var(--dt-btn-primary);
    --bs-btn-border-color: var(--dt-btn-primary);
    --bs-btn-hover-bg: var(--dt-btn-primary-hover);
    --bs-btn-hover-border-color: var(--dt-btn-primary-hover);
    --bs-btn-active-bg: var(--dt-btn-primary-active);
    --bs-btn-active-border-color: var(--dt-btn-primary-active);
    border-radius: var(--dt-btn-radius-pill);
}

body.bg-light main .btn-primary:hover:not(:disabled) {
    box-shadow: var(--dt-btn-shadow-hover);
}

/* Secundario (cancelar / neutro): píldora coherente */
body.bg-light main .btn-secondary {
    border-radius: var(--dt-btn-radius-pill);
}

/* Éxito semántico (finalizar, OK): misma familia de forma */
body.bg-light main .btn-success {
    border-radius: var(--dt-btn-radius-pill);
}

body.bg-light main .btn-success:hover:not(:disabled) {
    box-shadow: 0 4px 12px rgba(25, 135, 84, 0.25);
}

/* Peligro */
body.bg-light main .btn-danger {
    border-radius: var(--dt-btn-radius-pill);
}

/* Advertencia (borrador, etc.) */
body.bg-light main .btn-warning {
    border-radius: var(--dt-btn-radius-pill);
}

/* Outlines: misma silueta y borde un poco más legible */
body.bg-light main .btn-outline-primary,
body.bg-light main .btn-outline-secondary,
body.bg-light main .btn-outline-success,
body.bg-light main .btn-outline-danger,
body.bg-light main .btn-outline-warning,
body.bg-light main .btn-outline-indigo {
    border-width: 1.5px;
    border-radius: var(--dt-btn-radius-pill);
}

body.bg-light main .btn-outline-primary {
    --bs-btn-color: var(--dt-btn-primary);
    --bs-btn-border-color: var(--dt-btn-primary);
    --bs-btn-hover-bg: var(--dt-btn-primary);
    --bs-btn-hover-border-color: var(--dt-btn-primary);
}

/* Ghost / limpiar: borde suave */
body.bg-light main .btn-outline-secondary:hover {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
    color: #334155;
}

/* “Volver” / secundarios con btn-light + border: misma silueta que outline (muchas vistas admin) */
body.bg-light main .btn.btn-light.border.shadow-sm,
body.bg-light main a.btn.btn-light.border.shadow-sm {
    border-radius: var(--dt-btn-radius-pill) !important;
    border-color: #cbd5e1 !important;
    color: #475569 !important;
    background-color: #fff !important;
    font-weight: var(--dt-btn-fw);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

body.bg-light main .btn.btn-light.border.shadow-sm:hover,
body.bg-light main a.btn.btn-light.border.shadow-sm:hover {
    background-color: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #1e293b !important;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.12) !important;
}

/* CTAs que usan .bg-primary sin .btn-primary: ya resuelto por --bs-primary; refuerzo píldora */
body.bg-light main .btn.bg-primary.text-white {
    border-radius: var(--dt-btn-radius-pill);
    font-weight: var(--dt-btn-fw);
    border: none;
}

/* --- Íconos en tabla y toolbars compactos --- */
body.bg-light main .btn-action-icon {
    background-color: var(--dt-btn-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--dt-btn-radius-md) !important;
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: 0.375rem 0.5rem !important;
    box-shadow: var(--dt-btn-shadow);
}

body.bg-light main .btn-action-icon:hover {
    background-color: var(--dt-btn-primary-hover) !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: var(--dt-btn-shadow-hover) !important;
}

body.bg-light main .btn-action-icon i {
    color: #fff !important;
}

/* Botones solo ícono cuadrados en celdas (sin .btn-action-icon) */
body.bg-light main .table .btn-sm.d-inline-flex.align-items-center.justify-content-center.p-0[style*='width'] {
    border-radius: var(--dt-btn-radius-md) !important;
}

/* --- Calidad / simulador: utilitarios morados --- */
body.bg-light main .sim-container .bg-indigo,
body.bg-light main .sim-container .btn.bg-indigo {
    background-color: var(--dt-btn-primary) !important;
    border-color: var(--dt-btn-primary) !important;
    color: #fff !important;
}

body.bg-light main .sim-container .btn-outline-indigo {
    border-radius: var(--dt-btn-radius-pill);
}

/* --- Hero gradiente (CTA claro): no forzar píldora indigo --- */
.examen-dash-hero .btn {
    border-radius: 0.65rem !important;
}

.examen-dash-hero .btn-light {
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.examen-dash-hero .btn-light:hover {
    background: #fff !important;
    color: #1e1b4b !important;
}

/* --- Grupos de botones (pocas vistas): restaurar esquinas Bootstrap --- */
body.bg-light main .btn-group > .btn {
    border-radius: 0 !important;
}

body.bg-light main .btn-group > .btn:first-child {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
}

body.bg-light main .btn-group > .btn:last-child:not(:first-child) {
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}

body.bg-light main .btn-group > .btn:only-child {
    border-radius: 0.375rem !important;
}

/* Input group: no píldora en medio */
body.bg-light main .input-group > .btn {
    border-radius: 0 !important;
}

body.bg-light main .input-group > .btn:first-child {
    border-top-left-radius: 0.375rem !important;
    border-bottom-left-radius: 0.375rem !important;
}

body.bg-light main .input-group > .btn:last-child {
    border-top-right-radius: 0.375rem !important;
    border-bottom-right-radius: 0.375rem !important;
}
