.blx-form {
max-width: 760px;
margin-inline: auto;
}
.blx-form .is-quieto {
display: none;
}
.blx-form__cuerpo.is-quieto {
display: none;
}
.blx-form__grilla {
display: grid;
gap: var(--blx-esp-3);
grid-template-columns: 1fr;
}
@media (min-width: 600px) {
.blx-form__grilla {
grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}
.blx-form__grupo--ancho {
grid-column: 1 / -1;
}
}
.blx-form__grupo {
display: flex;
flex-direction: column;
gap: 0.35rem;
min-width: 0;
}
.blx-form__etiqueta {
font-family: var(--blx-fuente-display);
font-size: 0.875rem;
font-weight: var(--blx-peso-semibold);
color: var(--blx-tinta-suave);
letter-spacing: var(--blx-track-normal);
}
.blx-form__marca {
color: var(--blx-error);
}
.blx-form__control {
width: 100%;
padding: 0.7rem 0.85rem;
font-family: inherit;
font-size: 1rem;
line-height: 1.4;
color: var(--blx-tinta);
background: var(--blx-fondo);
border: 1px solid var(--blx-linea);
border-radius: var(--blx-radio);
box-sizing: border-box;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.blx-form__control:hover {
border-color: var(--blx-marca);
}
.blx-form__control:focus-visible,
.blx-form__consentimiento input:focus-visible,
.blx-form__boton:focus-visible {
outline: 2px solid var(--blx-marca);
outline-offset: 2px;
}
select.blx-form__control {
-webkit-appearance: none;
appearance: none;
padding-inline-end: 2.5rem;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5 7 7.5l6-6' stroke='%23197C7E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 0.9rem center;
background-size: 14px 9px;
}
select.blx-form__control:dir(rtl) {
background-position: left 0.9rem center;
}
.blx-form__control--area {
resize: vertical;
min-height: 9rem;
}
.blx-form__control[aria-invalid="true"] {
border-color: var(--blx-error);
}
.blx-form__error:empty {
display: none;
}
.blx-form__error {
margin: 0;
font-size: 0.8125rem;
color: var(--blx-error);
}
.blx-form__trampa {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
.blx-form__consentimiento {
display: grid;
grid-template-columns: auto 1fr;
gap: 0.6rem;
align-items: start;
margin-top: var(--blx-esp-3);
font-size: 0.9375rem;
line-height: 1.5;
color: var(--blx-tinta-suave);
}
.blx-form__consentimiento input {
width: 1.15rem;
height: 1.15rem;
margin: 0.15rem 0 0 0;
accent-color: var(--blx-marca);
flex-shrink: 0;
}
.blx-form__consentimiento label {
cursor: pointer;
padding: 0.25rem 0;
}
.blx-form__error {
grid-column: 1 / -1;
}
.blx-form__correo-directo {
margin: 0 0 var(--blx-esp-3);
color: var(--blx-tinta-suave);
}
.blx-form__correo-directo a {
color: var(--blx-verde-linx);
font-weight: var(--blx-peso-semibold);
overflow-wrap: anywhere;
}
.blx-form__enlace {
color: var(--blx-marca);
text-decoration: underline;
}
.blx-form__pie {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: var(--blx-esp-2);
margin-top: var(--blx-esp-4);
}
.blx-form__boton {
padding: 0.85rem 2rem;
font-family: var(--blx-fuente-display);
font-size: 1rem;
font-weight: var(--blx-peso-semibold);
color: var(--blx-blanco);
background: var(--blx-gradiente-linx);
border: 0;
border-radius: var(--blx-radio);
cursor: pointer;
transition: filter 0.15s ease;
}
.blx-form__boton:hover {
filter: brightness(1.08);
}
.blx-form__boton[disabled] {
opacity: 0.55;
cursor: progress;
}
.blx-form__nota {
margin: 0;
font-size: 0.8125rem;
color: var(--blx-tinta-suave);
}
.blx-form__aviso {
padding: var(--blx-esp-3);
border-radius: var(--blx-radio);
border-left: 3px solid;
font-size: 0.9375rem;
line-height: 1.6;
}
.blx-form__aviso p {
margin: 0.5rem 0 0 0;
}
.blx-form__aviso--ok {
border-left-color: var(--blx-menta-linx);
background: var(--blx-fondo-alt);
color: var(--blx-tinta);
margin-bottom: var(--blx-esp-3);
}
.blx-form__aviso--error {
border-left-color: var(--blx-error);
background: color-mix(in srgb, var(--blx-error) 8%, var(--blx-fondo));
color: var(--blx-error);
margin-bottom: var(--blx-esp-3);
}
@supports not (background: color-mix(in srgb, red 10%, white)) {
.blx-form__aviso--error {
background: var(--blx-fondo-alt);
}
}
.blx-form__directo {
margin-top: var(--blx-esp-3);
font-size: 0.9375rem;
color: var(--blx-tinta-suave);
}
:lang(zh) .blx-form__etiqueta {
letter-spacing: 0;
}
:lang(zh) .blx-form__control {
line-height: 1.7;
}
@media (min-width: 922px) {
.blx-form__consentimiento {
font-size: 0.75rem;
line-height: 1.45;
}
.blx-form__pie {
flex-direction: column;
align-items: flex-start;
}
}
