* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Hacer que el body ocupe el 100% de la pantalla */
body, html {
	height: 100%;
}

/* Contenedor principal para el contenido de la página */
.main-content {
	flex: 1;
	flex-grow: 1;
    padding: 20px;
}

.wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
}

/* Estilo para el footer */
footer {
	width: 100%;
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 20px;
}
		
.mensaje-validacion {
        color: #721c24; /* Color rojo oscuro */
        background-color: #f8d7da; /* Color de fondo rojo claro */
        padding: 0.75rem 1.25rem; /* Espaciado interno */
        border: 1px solid #f5c6cb; /* Borde rojo */
        border-radius: 0.25rem; /* Bordes redondeados */
        margin-top: 5px; /* Margen superior */
        font-size: 0.9rem; /* Tamaño de la fuente */
    }
	
.success-message {
    color: #155724; /* Color verde oscuro */
    background-color: #d4edda; /* Color de fondo verde claro */
    border: 1px solid #c3e6cb; /* Borde verde */
    border-radius: 0.25rem; /* Bordes redondeados */
    padding: 0.75rem 1.25rem; /* Espaciado interno */
    margin-top: 5px; /* Margen superior */
    font-size: 0.9rem; /* Tamaño de la fuente */
}

div {
        margin-top: 10px; /* Ajusta el valor según tu preferencia */
        margin-bottom: 10px; /* Ajusta el valor según tu preferencia */
    }
	
.mensaje-respuesta {
    background-color: #dff0d8; /* Color de fondo verde claro */
    color: #3c763d; /* Color de texto verde oscuro */
    border: 1px solid #d6e9c6; /* Borde verde */
    padding: 5px;
    margin-top: 5px;
    border-radius: 4px;
    display: inline-block;
    /* No se necesita position: absolute aquí ya que se añade dinámicamente con jQuery */
}

.mensaje-error {
    background-color: #f8d7da; /* Color de fondo verde claro */
    color: #721c24; /* Color de texto verde oscuro */
    border: 1px solid #f5c6cb; /* Borde verde */
    padding: 5px;
    margin-top: 5px;
    border-radius: 4px;
    display: inline-block;
    /* No se necesita position: absolute aquí ya que se añade dinámicamente con jQuery */
}

.btn-success{color:#fff;background-color:#198754;border-color:#198754}
.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}

.info-icon {
        cursor: pointer;
        margin-left: 10px;
        font-size: 24px;  /* Aumenta el tamaño del ícono */
        background-color: #198754;  /* Color de fondo azul */
        color: white;  /* Color del símbolo en blanco */
        border-radius: 50%;  /* Bordes redondeados (círculo) */
        width: 30px;  /* Ancho del icono */
        height: 30px;  /* Alto del icono */
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);  /* Sombra */
        transition: background-color 0.3s ease, transform 0.2s ease;  /* Transiciones suaves */
    }

    /* Efecto hover: Cambia de color al pasar el ratón */
    .info-icon:hover {
        background-color: #157347;  /* Color de fondo más oscuro al pasar el mouse */
        transform: scale(1.1);  /* Aumenta ligeramente el tamaño al pasar el mouse */
    }

.aclaraciones {
	margin-top: 10px;
	padding: 10px;
	background-color: #f9f9f9;
	border: 1px solid #ccc;
	border-radius: 5px;
	font-size: 14px;
}

/* Estilos para las etiquetas (label) */
label {
    color: #2c3e50; /* Un tono oscuro y elegante */
    font-weight: bold; /* Hacer que el texto de la etiqueta sea más grueso */
    font-size: 1rem; /* Ajustar el tamaño de la fuente */
    margin-bottom: 0.5rem; /* Separación entre la etiqueta y el input */
    letter-spacing: 0.05em;
}

/* Estilos para los inputs */
input, select, textarea {
    color: #555; /* Color del texto dentro de los inputs */
    font-size: 1rem; /* Tamaño de la fuente para los inputs */
    font-weight: normal; /* Texto normal (no en negrita) */
    padding: 0.5rem; /* Añadir relleno dentro de los inputs para más espacio */
    border: 1px solid #ccc; /* Bordes suaves */
    border-radius: 4px; /* Bordes redondeados */
    box-shadow: none; /* Eliminar sombras alrededor del input */
    margin-bottom: 1rem; /* Separación entre inputs */
}

/* Estilo al pasar el ratón por encima del input */
input:focus, select:focus, textarea:focus {
    border-color: #007bff; /* Cambiar el borde del input cuando está enfocado */
    outline: none; /* Eliminar el contorno predeterminado del navegador */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Agregar un efecto de sombra sutil al enfocar */
}

body {
    background-color: #f7f9fc; /* Fondo claro */
	font-family: 'Montserrat', sans-serif;
}

.form-control {
    border-radius: 6px;
    border: 1px solid #d1d1d1;
    padding: 10px;
}

.form-group {
    display: block;
    text-align: left; /* Asegurar que todo el bloque esté alineado a la izquierda */
}

.texto-izquierda {
    text-align: left;
}

/* Opcional: Bordes o sombras */
.form-section {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);  /* Sombra suave */
}

/* Fondo ligeramente gris */
.form-section:nth-child(even) {
    background-color: #f9f9f9;  /* Gris claro */
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 8px;
}

/* Fondo blanco */
.form-section:nth-child(odd) {
    background-color: #ffffff;  /* Blanco */
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 8px;
}

.enlace-recuperar-codigo {
    color: #007bff; /* Azul como el de los enlaces */
    cursor: pointer;
    text-decoration: underline;
}
.enlace-recuperar-codigo:hover {
    color: #0056b3; /* Color más oscuro en hover */
}

.carrito {
	padding: 20px;
	margin-top: 20px;
	max-width: 400px;
}

table td {
	padding: 0 10px;
}

tfoot tr:first-child td {
    border-top: 2px solid #000; /* Línea negra de 2px en las celdas */
}

tfoot tr.total-equipo-row td {
    border-top: 2px solid #000; /* Línea negra adicional para la fila "Total equipo" */
}

#contenedor_mensaje_certificado_no_valido {
    background-color: #ff4d4d; /* Rojo intenso */
    color: white;
    font-weight: bold;
    font-size: 1.2em;
    padding: 1rem;
    border-radius: 8px;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 0.5rem; /* Espacio entre el icono y el texto */
    margin-bottom: 1rem; /* Espacio inferior */
    border: 2px solid #cc0000; /* Borde para dar contraste */
}

.mantenimiento {
    text-align: center;
    margin: 20vh auto;
    max-width: 600px;
    padding: 20px;
    font-family: 'Arial', sans-serif;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-color: #f9f9f9;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.mantenimiento h1 {
    font-size: 1.8rem;
    color: #ff6b6b;
}
.mantenimiento p {
    font-size: 1rem;
    color: #333;
}
#confirmacion_eliminar {
    background-color: #f8d7da;
    padding: 15px;
    border: 1px solid #f5c2c7;
    border-radius: 5px;
    margin-top: 10px;
}
.grecaptcha-badge iframe {
    width: 100% !important; /* Asegura que el ancho se ajuste al contenedor */
    height: 100% !important; /* Asegura que la altura se ajuste al contenedor */
    display: block !important; /* Evita espacios extra alrededor del iframe */
    position: absolute !important; /* Alinea correctamente dentro del contenedor */
    bottom: 0; /* Asegura que quede dentro del contenedor */
    right: 0;
}

#contenedor-contador {
    text-align: center;
    margin-top: 20px;
}

#contenedor-contador p {
    font-size: 0.9em;
    margin: 0;
    padding: 10px;
    color: #2b2d42;
}

@keyframes parpadeo {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

#contador {
    font-size: 1.2em;
    font-weight: bold;
    color: #e63946;
    animation: parpadeo 1s infinite; /* El contador parpadea */
}

#enlace-sms {
    background-color: #d90429;
    color: white;
    font-weight: bold;
    border: none;
    border-radius: 5px;
    padding: 5px 10px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#enlace-sms:hover {
    background-color: #ef233c;
}

#enlace-sms.aparecer {
    display: inline;
    animation: aparecer 0.5s ease;
}

#contenedor-contador div {
    background-color: #edf2f4;
    border: 2px solid #8d99ae;
    border-radius: 10px;
    padding: 15px;
    display: inline-block;
    max-width: 400px;
}