.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  backdrop-filter: blur(2px);
}

.modal-contenido {
  background-color: #fff;
  padding: 30px;
  border-radius: 10px;
  max-width: 650px;
  width: 90%;
  text-align: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  max-height: 90vh;
  overflow-y: auto;
  border: 3px solid #007bff;
}

.modal-contenido h2 {
  color: #333;
  margin-bottom: 20px;
  border-bottom: 2px solid #007bff;
  padding-bottom: 10px;
}

.politicas-lista {
  background-color: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  margin: 20px 0;
  border-left: 4px solid #007bff;
}

.politicas-lista ul {
  margin-bottom: 0;
  padding-left: 20px;
}

.politicas-lista li {
  margin-bottom: 10px;
  line-height: 1.5;
}

.enlaces-politicas {
  margin: 20px 0;
}

.enlaces-politicas .btn {
  margin: 5px;
  display: inline-block;
}

.botones-politica {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #dee2e6;
}

.botones-politica button {
  margin: 0 10px;
  padding: 12px 25px;
  font-weight: 500;
}

.form-check-container .form-check {
  margin-bottom: 10px;
}

/* Animación de shake para indicar que el modal no se puede cerrar */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
  20%, 40%, 60%, 80% { transform: translateX(10px); }
}

/* Estilos para elementos bloqueados */
.blocked-element {
  pointer-events: none !important;
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* Overlay de bloqueo adicional */
.site-blocked::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 9998;
  pointer-events: none;
}

/* Estilos adicionales para las páginas de políticas */
.contact-info {
  background-color: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  border-left: 4px solid #007bff;
}

.contact-info p {
  margin-bottom: 8px;
}

.contact-info i {
  color: #007bff;
  margin-right: 8px;
  width: 20px;
}

/* Mejoras de tipografía para documentos legales */
.card-body h2 {
  color: #333;
  border-bottom: 2px solid #007bff;
  padding-bottom: 10px;
  margin-top: 30px;
  margin-bottom: 20px;
}

.card-body h3 {
  color: #555;
  margin-top: 25px;
  margin-bottom: 15px;
}

.card-body ul {
  margin-bottom: 20px;
}

.card-body li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* Estilos para resaltar información importante */
.alert h5 {
  margin-bottom: 15px;
}

.alert ul {
  margin-bottom: 0;
}

/* Responsive para dispositivos móviles */
@media (max-width: 768px) {
  .modal-contenido {
    width: 95%;
    padding: 20px;
    max-width: none;
  }
  
  .botones-politica button {
    display: block;
    width: 100%;
    margin: 5px 0;
  }
  
  .enlaces-politicas .btn {
    display: block;
    width: 100%;
    margin: 5px 0;
  }
  
  .contact-info {
    padding: 15px;
  }
  
  .politicas-lista {
    padding: 15px;
  }
}

/* Estilos adicionales para las páginas de políticas */
.contact-info {
  background-color: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  border-left: 4px solid #007bff;
}

.contact-info p {
  margin-bottom: 8px;
}

.contact-info i {
  color: #007bff;
  margin-right: 8px;
  width: 20px;
}

/* Mejoras de tipografía para documentos legales */
.card-body h2 {
  color: #333;
  border-bottom: 2px solid #007bff;
  padding-bottom: 10px;
  margin-top: 30px;
  margin-bottom: 20px;
}

.card-body h3 {
  color: #555;
  margin-top: 25px;
  margin-bottom: 15px;
}

.card-body ul {
  margin-bottom: 20px;
}

.card-body li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* Estilos para resaltar información importante */
.alert h5 {
  margin-bottom: 15px;
}

.alert ul {
  margin-bottom: 0;
}

/* Responsive para dispositivos móviles */
@media (max-width: 768px) {
  .modal-contenido {
    width: 95%;
    padding: 20px;
  }
  
  .botones-politica button {
    display: block;
    width: 100%;
    margin: 5px 0;
  }
  
  .contact-info {
    padding: 15px;
  }
}
    padding: 15px;
  }
  
  .politicas-lista {
    padding: 15px;
  }
}

/* Estilos adicionales para las páginas de políticas */
.contact-info {
  background-color: #f8f9fa;
  padding: 20px;
  border-radius: 8px;
  border-left: 4px solid #007bff;
}

.contact-info p {
  margin-bottom: 8px;
}

.contact-info i {
  color: #007bff;
  margin-right: 8px;
  width: 20px;
}

/* Mejoras de tipografía para documentos legales */
.card-body h2 {
  color: #333;
  border-bottom: 2px solid #007bff;
  padding-bottom: 10px;
  margin-top: 30px;
  margin-bottom: 20px;
}

.card-body h3 {
  color: #555;
  margin-top: 25px;
  margin-bottom: 15px;
}

.card-body ul {
  margin-bottom: 20px;
}

.card-body li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* Estilos para resaltar información importante */
.alert h5 {
  margin-bottom: 15px;
}

.alert ul {
  margin-bottom: 0;
}

/* Responsive para dispositivos móviles */
@media (max-width: 768px) {
  .modal-contenido {
    width: 95%;
    padding: 20px;
  }
  
  .botones-politica button {
    display: block;
    width: 100%;
    margin: 5px 0;
  }
  
  .contact-info {
    padding: 15px;
  }
}
