/* --- Estilos para Section 02 --- */
.section02 {
    position: relative;
    padding: 80px 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff; /* Color de texto principal blanco para contraste */
}

/* Capa oscura opcional */
.section02-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(140, 0, 255); /* Azul noche semi-transparente (ajusta opacidad) */
    z-index: 1;
}

.section02-container {
    position: relative; /* Para que el contenido esté sobre el overlay */
    z-index: 2;
    max-width: 1140px; /* Ajusta según necesidad */
}

.section02-content {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Centra verticalmente si tienen alturas diferentes */
    gap: 40px;
    flex-wrap: wrap; /* Para que se apilen en pantallas pequeñas */
}

.section02-info {
    flex: 1; /* Ocupa el espacio disponible */
    min-width: 300px; /* Ancho mínimo */
    text-align: left;
}

.section02-title {
    font-size: 2.8em;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.2;
}

.section02-features {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    font-size: 1.1em;
}

.section02-features li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px; /* Espacio para posible icono */
}

/* Opcional: Añadir un checkmark o icono antes de cada feature */
.section02-features li::before {
    content: '\f00c'; /* Código Font Awesome para check */
    font-family: 'Font Awesome 6 Free'; /* Asegúrate que coincida con la versión FA */
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: #2ecc71; /* Verde acento */
}


.section02-phone {
    font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 10px;
    color: #ffffff; /* Asegurar blanco */
}

.section02-hours {
    font-size: 1em;
    color: #f1f5f9; /* Gris muy claro */
}

.section02-hours .status-closed {
    color: #e74c3c; /* Naranja/Rojo para 'Closed' */
    font-weight: bold;
}

.section02-form-container {
    flex: 0 0 400px; /* Ancho fijo para el formulario */
    background-color: rgba(30, 41, 59, 0.85); /* Fondo azul grisáceo semi-transparente */
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.section02-form h3 {
    color: #ffffff;
    text-align: center;
    margin-bottom: 25px;
    font-size: 1.5em;
}

.section02-form .form-group {
    margin-bottom: 15px;
}

.section02-form label {
    display: block;
    margin-bottom: 5px;
    font-size: 0.9em;
    color: #cbd5e1; /* Gris claro para labels */
}

.section02-form input[type="text"],
.section02-form input[type="tel"],
.section02-form input[type="email"],
.section02-form select,
.section02-form textarea { /* Añadido textarea aquí */
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #4b5563; /* Borde gris oscuro */
    background-color: #f1f5f9; /* Fondo gris muy claro para campos */
    color: #1e293b; /* Texto azul grisáceo oscuro */
    border-radius: 4px;
    font-size: 1em;
    box-sizing: border-box; /* Importante para que padding no aumente el tamaño */
    line-height: 1.4; /* Ajuste para textarea */
    font-family: inherit; /* Asegura que use la misma fuente */
}

.section02-form textarea {
    resize: vertical; /* Permite redimensionar solo verticalmente */
}


.section02-form select {
    appearance: none; /* Quitar estilo por defecto del navegador */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234b5563'%3E%3Cpath fill-rule='evenodd' d='M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z' clip-rule='evenodd' /%3E%3C/svg%3E"); /* Flecha SVG */
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
    padding-right: 35px; /* Espacio para la flecha */
}

.section02-form .recaptcha-notice {
    font-size: 0.8em;
    color: #94a3b8; /* Gris azulado claro */
    text-align: center;
    margin-top: 10px;
    margin-bottom: 20px;
}

.section02-form .cta-button {
    width: 100%;
    padding: 12px 20px;
    font-size: 1.1em;
    background-color: #9b59b6; /* Púrpura de la paleta */
    border-color: #9b59b6;
    color: #ffffff;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.section02-form .cta-button:hover {
    background-color: #8e44ad; /* Púrpura más oscuro */
    border-color: #8e44ad;
}

/* --- Responsive para Section 02 --- */
@media (max-width: 991.98px) {
    .section02-info {
        text-align: center; /* Centrar texto en pantallas medianas */
        margin-bottom: 30px; /* Espacio antes del formulario */
    }
    .section02-features {
        display: inline-block; /* Para centrar la lista */
        text-align: left; /* Alinear texto de la lista a la izquierda */
    }
    .section02-form-container {
        flex: 1 1 100%; /* Ocupa todo el ancho */
        max-width: 500px; /* Limita el ancho máximo del form */
        margin: 0 auto; /* Centra el formulario */
    }
}

@media (max-width: 767.98px) {
    .section02 {
        padding: 60px 0;
    }
    .section02-title {
        font-size: 2.2em;
    }
    .section02-phone {
        font-size: 1.5em;
    }
}