/**
 * =====================================================
 * Colores Institucionales - Gobierno de México 2024-2030
 * Guía de Identidad Gráfica
 * =====================================================
 */

/* =====================================================
 * Botones sin esquinas redondeadas
 * ===================================================== */
.btn,
.btn-lg,
.btn-sm,
.btn-xs,
.btn-group > .btn,
.btn-group-lg > .btn,
.btn-group-sm > .btn,
.btn-group-xs > .btn,
.input-group-btn > .btn {
    border-radius: 0 !important;
}

:root {
    /* Colores principales */
    --gob-negro: #161a1d;           /* Pantone Neutral Black C */
    --gob-guinda: #9b2247;          /* Pantone 7420 C - Principal */
    --gob-verde: #1e5b4f;           /* Pantone 626 C */
    --gob-dorado: #a57f2c;          /* Pantone 1255 C */
    
    /* Colores secundarios */
    --gob-gris: #98989A;            /* Pantone Cool Gray 7 C */
    --gob-guinda-oscuro: #611232;   /* Pantone 7421 C */
    --gob-verde-oscuro: #002f2a;    /* Pantone 627 C */
    --gob-beige: #e6d194;           /* Pantone 7402 C */
    
    /* Variantes para hover/active */
    --gob-guinda-hover: #7a1b38;
    --gob-guinda-active: #611232;
    --gob-verde-hover: #174840;
    --gob-verde-active: #0f3530;
    --gob-dorado-hover: #8a6a24;
    --gob-dorado-active: #6f561d;
}

/* =====================================================
 * BOTÓN PRIMARIO - Guinda (acción principal)
 * ===================================================== */
.btn-primary {
    background-color: var(--gob-guinda) !important;
    background-image: none !important;
    border-color: var(--gob-guinda) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--gob-guinda-hover) !important;
    border-color: var(--gob-guinda-hover) !important;
    color: #ffffff !important;
}

.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    background-color: var(--gob-guinda-active) !important;
    border-color: var(--gob-guinda-active) !important;
    color: #ffffff !important;
}

.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary {
    background-color: var(--gob-guinda) !important;
    border-color: var(--gob-guinda) !important;
    opacity: 0.65;
}

/* =====================================================
 * BOTÓN SUCCESS - Verde institucional
 * ===================================================== */
.btn-success {
    background-color: var(--gob-verde) !important;
    background-image: none !important;
    border-color: var(--gob-verde) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

.btn-success:hover,
.btn-success:focus {
    background-color: var(--gob-verde-hover) !important;
    border-color: var(--gob-verde-hover) !important;
    color: #ffffff !important;
}

.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
    background-color: var(--gob-verde-active) !important;
    border-color: var(--gob-verde-active) !important;
    color: #ffffff !important;
}

.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success {
    background-color: var(--gob-verde) !important;
    border-color: var(--gob-verde) !important;
    opacity: 0.65;
}

/* =====================================================
 * BOTÓN DANGER - Guinda oscuro
 * ===================================================== */
.btn-danger {
    background-color: var(--gob-guinda-oscuro) !important;
    background-image: none !important;
    border-color: var(--gob-guinda-oscuro) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: #4f0f2a !important;
    border-color: #4f0f2a !important;
    color: #ffffff !important;
}

.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
    background-color: #3e0c21 !important;
    border-color: #3e0c21 !important;
    color: #ffffff !important;
}

.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger {
    background-color: var(--gob-guinda-oscuro) !important;
    border-color: var(--gob-guinda-oscuro) !important;
    opacity: 0.65;
}

/* =====================================================
 * BOTÓN WARNING - Dorado
 * ===================================================== */
.btn-warning {
    background-color: var(--gob-dorado) !important;
    background-image: none !important;
    border-color: var(--gob-dorado) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

.btn-warning:hover,
.btn-warning:focus {
    background-color: var(--gob-dorado-hover) !important;
    border-color: var(--gob-dorado-hover) !important;
    color: #ffffff !important;
}

.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
    background-color: var(--gob-dorado-active) !important;
    border-color: var(--gob-dorado-active) !important;
    color: #ffffff !important;
}

.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning {
    background-color: var(--gob-dorado) !important;
    border-color: var(--gob-dorado) !important;
    opacity: 0.65;
}

/* =====================================================
 * BOTÓN INFO - Guinda (para Regresar a la lista)
 * ===================================================== */
.btn-info {
    background-color: var(--gob-guinda) !important;
    background-image: none !important;
    border-color: var(--gob-guinda) !important;
    color: #ffffff !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

.btn-info:hover,
.btn-info:focus {
    background-color: var(--gob-guinda-oscuro) !important;
    border-color: var(--gob-guinda-oscuro) !important;
    color: #ffffff !important;
}

.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
    background-color: var(--gob-guinda-oscuro) !important;
    border-color: var(--gob-guinda-oscuro) !important;
    color: #ffffff !important;
}

.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info {
    background-color: var(--gob-verde-oscuro) !important;
    border-color: var(--gob-verde-oscuro) !important;
    opacity: 0.65;
}

/* =====================================================
 * BOTÓN DEFAULT - Gris con borde
 * ===================================================== */
.btn-default {
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: var(--gob-gris) !important;
    color: var(--gob-negro) !important;
    text-shadow: none !important;
}

.btn-default:hover,
.btn-default:focus {
    background-color: #f5f5f5 !important;
    border-color: #7a7a7c !important;
    color: var(--gob-negro) !important;
}

.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
    background-color: #e8e8e8 !important;
    border-color: #6c6c6e !important;
    color: var(--gob-negro) !important;
}

/* =====================================================
 * BOTONES OUTLINE - Estilo borde
 * ===================================================== */
.btn-outline-primary {
    background-color: transparent;
    border: 2px solid var(--gob-guinda);
    color: var(--gob-guinda);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--gob-guinda);
    border-color: var(--gob-guinda);
    color: #ffffff;
}

.btn-outline-success {
    background-color: transparent;
    border: 2px solid var(--gob-verde);
    color: var(--gob-verde);
}

.btn-outline-success:hover,
.btn-outline-success:focus {
    background-color: var(--gob-verde);
    border-color: var(--gob-verde);
    color: #ffffff;
}

.btn-outline-danger {
    background-color: transparent;
    border: 2px solid var(--gob-guinda-oscuro);
    color: var(--gob-guinda-oscuro);
}

.btn-outline-danger:hover,
.btn-outline-danger:focus {
    background-color: var(--gob-guinda-oscuro);
    border-color: var(--gob-guinda-oscuro);
    color: #ffffff;
}

/* =====================================================
 * BOTÓN INSTITUCIONAL (para modales y CTAs)
 * ===================================================== */
.btn-institucional {
    background-color: var(--gob-guinda);
    border-color: var(--gob-guinda);
    color: #ffffff;
    border-radius: 6px;
    padding: 12px 24px;
    font-weight: 600;
    text-shadow: none;
}

.btn-institucional:hover,
.btn-institucional:focus {
    background-color: var(--gob-guinda-hover);
    border-color: var(--gob-guinda-hover);
    color: #ffffff;
}

.btn-institucional:active {
    background-color: var(--gob-guinda-active);
    border-color: var(--gob-guinda-active);
    color: #ffffff;
}

/* =====================================================
 * BOTONES DE ACCIÓN (Continuar/Cancelar)
 * ===================================================== */
.btn-continuar {
    background-color: #ffffff;
    border: 2px solid var(--gob-guinda);
    color: var(--gob-guinda);
    padding: 8px 20px;
    font-weight: 500;
}

.btn-continuar:hover,
.btn-continuar:focus,
.btn-continuar:active {
    background-color: var(--gob-guinda) !important;
    color: #ffffff !important;
    border-color: var(--gob-guinda) !important;
}

.btn-cancelar {
    background-color: var(--gob-guinda);
    border: 2px solid var(--gob-guinda);
    color: #ffffff;
    padding: 8px 20px;
    font-weight: 500;
}

.btn-cancelar:hover,
.btn-cancelar:focus,
.btn-cancelar:active {
    background-color: var(--gob-guinda-hover) !important;
    color: #ffffff !important;
    border-color: var(--gob-guinda-hover) !important;
}

/* =====================================================
 * BOTÓN GUARDAR / CONFIRMAR (verde)
 * ===================================================== */
.btn-guardar,
.btn-confirmar {
    background-color: var(--gob-verde);
    border-color: var(--gob-verde);
    color: #ffffff;
    padding: 8px 20px;
    font-weight: 500;
}

.btn-guardar:hover,
.btn-guardar:focus,
.btn-confirmar:hover,
.btn-confirmar:focus {
    background-color: var(--gob-verde-hover);
    border-color: var(--gob-verde-hover);
    color: #ffffff;
}

/* =====================================================
 * BADGES y LABELS
 * ===================================================== */
.label-primary,
.badge-primary {
    background-color: var(--gob-guinda);
}

.label-success,
.badge-success {
    background-color: var(--gob-verde);
}

.label-danger,
.badge-danger {
    background-color: var(--gob-guinda-oscuro);
}

.label-warning,
.badge-warning {
    background-color: var(--gob-dorado);
    color: #ffffff;
}

.label-info,
.badge-info {
    background-color: var(--gob-verde-oscuro);
}

/* =====================================================
 * PROGRESS BARS
 * ===================================================== */
.progress-bar-success {
    background-color: var(--gob-verde);
}

.progress-bar-info {
    background-color: var(--gob-verde-oscuro);
}

.progress-bar-warning {
    background-color: var(--gob-dorado);
}

.progress-bar-danger {
    background-color: var(--gob-guinda-oscuro);
}

/* =====================================================
 * ALERTS
 * ===================================================== */
.alert-success {
    background-color: rgba(30, 91, 79, 0.1);
    border-color: var(--gob-verde);
    color: var(--gob-verde-oscuro);
}

.alert-info {
    background-color: rgba(0, 47, 42, 0.1);
    border-color: var(--gob-verde-oscuro);
    color: var(--gob-verde-oscuro);
}

.alert-warning {
    background-color: rgba(165, 127, 44, 0.15);
    border-color: var(--gob-dorado);
    color: #6f561d;
}

.alert-danger {
    background-color: rgba(155, 34, 71, 0.1);
    border-color: var(--gob-guinda);
    color: var(--gob-guinda-oscuro);
}

/* =====================================================
 * PANELS
 * ===================================================== */
.panel-primary > .panel-heading {
    background-color: var(--gob-guinda);
    border-color: var(--gob-guinda);
}

.panel-primary {
    border-color: var(--gob-guinda);
}

.panel-success > .panel-heading {
    background-color: var(--gob-verde);
    border-color: var(--gob-verde);
}

.panel-success {
    border-color: var(--gob-verde);
}

.panel-info > .panel-heading {
    background-color: var(--gob-verde-oscuro);
    border-color: var(--gob-verde-oscuro);
}

.panel-info {
    border-color: var(--gob-verde-oscuro);
}

.panel-warning > .panel-heading {
    background-color: var(--gob-dorado);
    border-color: var(--gob-dorado);
    color: #ffffff;
}

.panel-warning {
    border-color: var(--gob-dorado);
}

.panel-danger > .panel-heading {
    background-color: var(--gob-guinda-oscuro);
    border-color: var(--gob-guinda-oscuro);
}

.panel-danger {
    border-color: var(--gob-guinda-oscuro);
}

/* =====================================================
 * LINKS
 * ===================================================== */
a {
    color: var(--gob-guinda);
}

a:hover,
a:focus {
    color: var(--gob-guinda-hover);
}

/* =====================================================
 * FORM FOCUS
 * ===================================================== */
.form-control:focus {
    border-color: var(--gob-guinda);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(155, 34, 71, 0.3);
}

/* =====================================================
 * NAV TABS
 * ===================================================== */
.nav-tabs > li > a {
    color: #333 !important;
}

.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
    color: var(--gob-guinda) !important;
    background-color: #f5f5f5 !important;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    background-color: var(--gob-verde) !important;
    color: #fff !important;
    border-color: var(--gob-verde) !important;
}

/* Íconos dentro de tabs activos deben ser blancos */
.nav-tabs > li.active > a .glyphicon,
.nav-tabs > li.active > a .fa,
.nav-tabs > li.active > a i,
.nav-tabs > li.active > a span {
    color: #fff !important;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
    background-color: var(--gob-guinda);
}

/* =====================================================
 * MODALES - Sin esquinas redondeadas
 * ===================================================== */
.modal-content {
    border-radius: 0 !important;
}

.modal-header,
.modal-footer {
    border-radius: 0 !important;
}

/* =====================================================
 * CHECKBOX y RADIO custom
 * ===================================================== */
input[type="checkbox"]:checked + label::before,
input[type="radio"]:checked + label::before {
    background-color: var(--gob-guinda);
    border-color: var(--gob-guinda);
}

/* =====================================================
 * DROPDOWN
 * ===================================================== */
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background-color: rgba(155, 34, 71, 0.1);
    color: var(--gob-guinda);
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
    background-color: var(--gob-guinda);
    color: #ffffff;
}

/* =====================================================
 * PAGINACIÓN
 * ===================================================== */
.pagination > li > a,
.pagination > li > span {
    color: var(--gob-guinda);
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
    color: var(--gob-guinda-hover);
    background-color: rgba(155, 34, 71, 0.1);
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
    background-color: var(--gob-guinda);
    border-color: var(--gob-guinda);
}

/* =====================================================
 * LIST GROUP
 * ===================================================== */
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
    background-color: var(--gob-guinda);
    border-color: var(--gob-guinda);
}

a.list-group-item:hover,
a.list-group-item:focus {
    color: var(--gob-guinda);
}
