#footer {
    position: relative;
    z-index: 1;
}

#social {
    position: relative;
    z-index: 10000;
    visibility: hidden;
}

#social.is-ready {
    visibility: visible;
}

/* BOLETÍN MAILCHIMP: aparece antes del footer en todas las páginas compartidas. */
.newsletter {
    position: relative;
    z-index: 2;
    padding: clamp(56px, 8vw, 92px) 24px;
    background: #f4f8ff;
}

.newsletter__contenido {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: center;
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: clamp(30px, 5vw, 58px);
    border: 1px solid rgba(92, 147, 255, .35);
    border-radius: 26px;
    background: #14243d;
    box-shadow: 0 22px 45px rgba(20, 36, 61, .16);
    color: #fff;
}

.newsletter__etiqueta {
    margin: 0 0 12px;
    color: #86b0ff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.newsletter h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.8rem, 3.3vw, 2.75rem);
    line-height: 1.12;
}

.newsletter__descripcion {
    max-width: 500px;
    margin: 18px 0 0;
    color: #dce8ff;
    line-height: 1.65;
}

.newsletter__formulario {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.newsletter__campo {
    display: grid;
    gap: 7px;
}

.newsletter__campo--correo {
    grid-column: 1 / -1;
}

.newsletter__campo label {
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
}

.newsletter__opcional {
    color: #b9cff9;
    font-size: .78rem;
    font-weight: 400;
}

.newsletter__campo input {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid rgba(173, 202, 255, .55);
    border-radius: 10px;
    outline: 0;
    background: #fff;
    color: #14243d;
    font: inherit;
}

.newsletter__campo input:focus {
    border-color: #0a58ff;
    box-shadow: 0 0 0 4px rgba(10, 88, 255, .28);
}

.newsletter__formulario button {
    grid-column: 1 / -1;
    min-height: 50px;
    border: 0;
    border-radius: 10px;
    background: #0a58ff;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    transition: background .2s ease, transform .2s ease;
}

.newsletter__formulario button:hover,
.newsletter__formulario button:focus-visible {
    background: #2670ff;
    transform: translateY(-2px);
}

.newsletter__trampa {
    position: absolute;
    left: -5000px;
}

@media (max-width: 720px) {
    .newsletter { padding-inline: 16px; }
    .newsletter__contenido { grid-template-columns: 1fr; border-radius: 20px; }
}

@media (max-width: 440px) {
    .newsletter__formulario { grid-template-columns: 1fr; }
    .newsletter__campo--correo,
    .newsletter__formulario button { grid-column: auto; }
}
