/* ================================
   ALERTAS BOOTSTRAP
   ================================ */

.alert {
  position: relative;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ALERTA PRIMARIA */
.alert-primary {
  color: #084298;
  background-color: #cfe2ff;
  border-color: #b6d4fe;
}

/* ALERTA SECUNDARIA */
.alert-secondary {
  color: #41464b;
  background-color: #e2e3e5;
  border-color: #d3d6d8;
}

/* ALERTA ÉXITO */
.alert-success {
  color: #0f5132;
  background-color: #d1e7dd;
  border-color: #badbcc;
}

/* ALERTA PELIGRO */
.alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

/* ALERTA ADVERTENCIA */
.alert-warning {
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
}

/* ALERTA INFORMACIÓN */
.alert-info {
  color: #055160;
  background-color: #cff4fc;
  border-color: #b6effb;
}

/* ALERTA CLARA */
.alert-light {
  color: #636464;
  background-color: #fefefe;
  border-color: #fdfdfe;
}

/* ALERTA OSCURA */
.alert-dark {
  color: #141619;
  background-color: #d3d3d4;
  border-color: #bcbebf;
}

/* ================================
   ALERTA CON ENLACES
   ================================ */

.alert a {
  font-weight: 600;
  color: inherit;
  text-decoration: underline;
}

/* ================================
   BOTÓN CERRAR ALERTA
   ================================ */

.alert-dismissible {
  padding-right: 3rem;
}

.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1.25rem 1rem;
  background: transparent;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
}

.btn-close::before {
  content: "×";
}

/* ================================
   ANIMACIÓN DE CIERRE
   ================================ */

.alert.fade {
  transition: opacity 0.15s linear;
}

.alert.fade:not(.show) {
  opacity: 0;
}
