/* Tarjeta compartida. El formulario permanece inactivo hasta conectar el proveedor. */
.newsletter-section { padding:clamp(3.5rem,7vw,6rem) 0 clamp(3rem,5vw,4.5rem); }
.newsletter-card { position:relative; isolation:isolate; overflow:hidden; border-radius:var(--radius); background:var(--teal); color:var(--cream-3); padding:clamp(2rem,5vw,4.5rem) clamp(1.4rem,5vw,4.5rem) clamp(3rem,6vw,5rem); }
.newsletter-watermark { position:absolute; z-index:-1; width:90%; max-width:none; height:auto; left:5%; bottom:-12%; opacity:.12; pointer-events:none; user-select:none; }
.newsletter-content { max-width:900px; margin-inline:auto; }
.newsletter-card h2 { color:var(--cream-3); text-align:center; font-size:clamp(2.5rem,4.4vw,4rem); line-height:1.08; }
.newsletter-intro { max-width:55ch; margin:1.3rem auto 0; text-align:center; font-size:1rem; line-height:1.75; }
.newsletter-form { margin-top:2.1rem; }
.newsletter-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.newsletter-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto; gap:1rem; align-items:end; }
.newsletter-field label { display:block; font-size:.85rem; margin-bottom:.5rem; }
.newsletter-field input { display:block; width:100%; min-width:0; min-height:50px; border:1px solid rgba(255,255,255,.5); border-radius:8px; padding:.8rem 1rem; background:var(--cream-3); color:var(--teal); font:inherit; font-size:1rem; opacity:1; -webkit-text-fill-color:var(--teal); }
.newsletter-field input::placeholder { color:var(--teal); opacity:.7; }
.newsletter-submit { min-height:50px; background:var(--cream-3); color:var(--teal); border:1px solid var(--cream-3); font-size:.92rem; margin:0; box-shadow:none; }
.newsletter-submit:disabled { cursor:not-allowed; opacity:.8; }
.newsletter-submit:disabled:hover { transform:none; }
.newsletter-consent { display:flex; align-items:flex-start; gap:.6rem; margin-top:1.2rem; font-size:.8rem; line-height:1.6; }
.newsletter-consent input { flex:none; width:16px; height:16px; margin-top:.2rem; accent-color:var(--cream-3); }
.newsletter-privacy { margin-top:.5rem; font-size:.78rem; line-height:1.6; }
.newsletter-privacy a { text-decoration:underline; text-underline-offset:3px; }
.newsletter-status { margin-top:1rem; font-size:.8rem; line-height:1.6; }
.newsletter-card :focus-visible { outline-color:var(--cream-3); }
.newsletter-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:700px) {
 .newsletter-fields { grid-template-columns:1fr; gap:1rem; }
 .newsletter-card h2 { font-size:clamp(2.15rem,9vw,3.2rem); }
 .newsletter-intro { font-size:.95rem; }
 .newsletter-submit { width:100%; margin-top:.2rem; }
 .newsletter-watermark { width:140%; left:-20%; bottom:-1%; opacity:.1; }
}
