/* CONTENEDOR PRINCIPAL */
.formulario-cita {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: clamp(1rem, 3vw, 4rem);
    padding: clamp(2rem, 5vw, 4rem) 0;
    background: #ffffff;
    box-sizing: border-box;
}

.formulario {
    display: flex;
    flex-direction: column;
}

/* COLUMNA DE LA IMAGEN */
.formulario-cita__imagen {
    flex: 1.2;
    display: flex;
    padding: 0;
    box-sizing: border-box;
}

.formulario-cita__imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .6rem;
    display: block;
}

/* COLUMNA DEL FORMULARIO */
.formulario-cita__contenido {
    flex: 1.2;
    padding: clamp(1rem, 3vw, 2rem);
    box-sizing: border-box;
    min-width: 0; /* evita overflow lateral */
}

/* TITULOS Y TEXTOS */
.formulario-cita__contenido h1 {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    color: #003b5c;
    margin-bottom: 1rem;
}

.formulario-cita__contenido .intro {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: #4a4a4a;
    margin-bottom: 2rem;
}

/* FORMULARIO */
.formulario .grupo {
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.formulario label {
    display: block;
    font-weight: 600;
    margin-bottom: .5rem;
    color: #003b5c;
}

.formulario input,
.formulario select,
.formulario textarea {
    width: 100%;
    padding: clamp(.8rem, 2vw, 1rem);
    border: .1rem solid #cfd8dc;
    border-radius: .4rem;
    font-size: clamp(1rem, 2vw, 1.1rem);
    background: #f8fbfd;
    color: #003b5c;
    box-sizing: border-box;
}

/* SELECT */
.formulario select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='10' viewBox='0 0 14 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23003b5c' stroke-width='2' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right clamp(.8rem, 2vw, 1rem) center;
    background-size: clamp(.8rem, 2vw, 1rem);
}

/* TEXTAREA */
.formulario textarea {
    min-height: clamp(8rem, 20vw, 12rem);
}

/* CHECKBOX RGPD */
.formulario .rgpd label {
    display: flex;
    align-items: center;
    gap: clamp(.5rem, 1vw, 1rem);
    font-weight: 600;
    color: #003b5c;
}

.formulario .rgpd input[type="checkbox"] {
    width: auto;
    height: auto;
    margin: 0;
}

/* BOTÓN */
.boton-enviar {
    align-self: flex-end;
    background: #0097c7;
    color: #ffffff;
    padding: clamp(.8rem, 2vw, 1rem) clamp(1.5rem, 4vw, 2rem);
    border: none;
    border-radius: .4rem;
    font-weight: 600;
    cursor: pointer;
    transition: .3s ease;
}

.boton-enviar:hover {
    background: #007ba3;
}

/* TABLETS */
@media (max-width: 1024px) {
    .formulario-cita {
        flex-direction: column;
        text-align: center;
        gap: clamp(2rem, 4vw, 3rem);
    }

    .formulario-cita__imagen,
    .formulario-cita__contenido {
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }

    .formulario-cita__contenido {
        padding: clamp(1rem, 3vw, 2rem);
    }
}

/* MÓVILES */
@media (max-width: 768px) {
    .formulario-cita__contenido {
        width: 100%;
        padding: 0 clamp(1rem, 4vw, 2rem);
    }

    .formulario-cita__imagen {
        width: 100%;
        padding: 0 clamp(1rem, 4vw, 2rem) clamp(2rem, 5vw, 3rem) clamp(1rem, 4vw, 2rem);
    }
}
