html {
  min-height: 100%;
}
body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  background: #fff;
  min-height: 100%;
  padding-bottom: 5rem;
}
.titulo {
  font-weight: bold;
  font-size: 1cm;
  text-transform: uppercase;
  color: #333;
}
.container {
    background-color: #f1f1f1;
}
header {
  margin-top: 3rem;
}
header h1 {
  color: #f1f1f1;
}
.lista-citas .cita {
  border-bottom: 1px solid #e1e1e1;
  padding: 2rem;
  padding-bottom: 3rem;
  
}
.lista-citas .cita:last-of-type {
  border-bottom: 0;
}

.lista-citas .cita p {
  margin:0;
}
.lista-citas .cita button {
  margin-top: 1rem!important;
}
.lista-citas .cita span {
  font-weight: bold;
}
textarea {
    height: 200px!important;
}

svg {
  width: 21px;
}

.mi-boton {
  background-color: #558A67; /* Color personalizado */
  border-color: #558A67; /* Opcional, para que coincidan los bordes */
  color: #f1f1f1; /* Color del texto */
  margin-bottom: 40px; /* ajusta el valor a tu preferencia */
}

.login {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vh; /* ajusta la altura según sea necesario */
}
.img-fluid
 {
    max-width: 100%;
    height: auto;
    display: block;
    padding: 0;
    margin: 0;
}

.center-text {
  text-align: center;
  font-weight: bold;
}

.alert {
  background-color: #3f5d7c; /* Color de fondo de la alerta */
  color: #ffffff; /* Color del texto */
  padding: 15px 20px; /* Espaciado interno */
  border-radius: 4px; /* Bordes redondeados */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* sombra suave */
  font-family: Arial, sans-serif; /* fuente */
  font-size: 16px; /* tamaño de letra */
  position: relative; /* posición relativa para elementos adicionales si es necesario */
  margin: 10px 0; /* margen superior e inferior */
  display: flex; /* para alinear icono y texto */
  align-items: center; /* centrar verticalmente */
}

.alert .btn-close {
  margin-left: auto; /* lo empuja a la derecha */
  position: absolute;
  top: 10px;
  right: 10px;
}

/* Estilo para un botón secundario */
.btn-secundario {
  background-color: #455056; /* color de fondo suave */
  color: #f1f1f1; /* color del texto */
  border: 2px solid #ccc; /* borde gris claro */
  padding: 10px 20px; /* espaciado interno */
  border-radius: 4px; /* esquinas redondeadas */
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  position: relative;
}

table {
  width: 100%; /* O fija un ancho específico si lo prefieres */
  border-collapse: collapse; /* Para que las celdas compartan bordes */
  border: 1px solid #333; /* Borde de la tabla */
  table-layout: fixed; 
}

/* Estilo para las cabeceras */
th {
  width: 14.28%; 
  background-color: #5a1236; /* Color de fondo */
  color: #f1f1f1; /* Color del texto */
  padding: 8px;
  text-align: center;
  word-wrap: break-word;
  /* Para que todas las columnas tengan el mismo ancho */
  width: 25%; /* ajusta este valor según el número de columnas */
}

tr {
  border: 1px solid #f1f1f1;
  padding: 8px;
  text-align: center;
  background-color:  #fff;
  word-wrap: break-word;
  /* Para que todas las columnas tengan el mismo ancho */
}

/* Estilo para las celdas */
td {
  width: 14.28%; 
  border: 1px solid #f1f1f1;
  border-collapse: collapse;
  padding: 8px;
  text-align: center;
  /* Para que todas las columnas tengan el mismo ancho */
}

.mi-nav {
  background-color: #333 !important;
}

.navbar-brand {
  color: #F1f1f1;
  padding: 0;
}

div {
  margin: 0;
  padding: 0;
  display: block;
}

.no-margin {
  display: block;
  margin: 0;
  padding: 0;
}

#calendar {
    display: block;  /* debe ser visible */
    max-width: 100%;
    margin: 30px auto;
    height: 900px; /* agrega altura si no hay suficiente */
}

.alert-custom {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    border-radius: 10px;
    margin-top: 15px;
    font-weight: 500;
    box-shadow: 0 8px 15px rgba(0,0,0,.1);
    animation: slideDown .4s ease;
}

.alert-custom.success {
    background: #e6fffa;
    color: #065f46;
    border-left: 6px solid #10b981;
}

.alert-custom.danger {
    background: #ffe4e6;
    color: #9f1239;
    border-left: 6px solid #ef4444;
}

.alert-custom.warning {
    background: #fff7ed;
    color: #92400e;
    border-left: 6px solid #f59e0b;
}

.alert-custom .icon {
    font-size: 22px;
    margin-right: 12px;
}

.alert-custom .close {
    margin-left: auto;
    cursor: pointer;
    font-size: 22px;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
}