/* Cruzial · producción: formularios reales, avisos de envío y páginas legales */
.cz-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cz-envio-error{margin:14px 0 0;padding:12px 16px;border-radius:14px;border:1px solid #c4271b;background:#fdf1f0;color:#8a1c13;font-size:14px;line-height:1.5}
.cz-envio-error:focus{outline:2px solid #c4271b;outline-offset:2px}
[aria-busy=true]{opacity:.7;cursor:progress}
.cz-priv{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;font-size:14px;line-height:1.45;color:#3a3a3c;text-align:left}
.cz-priv input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--azul)}
.cz-priv label{font-weight:500}
.cz-priv a{color:var(--azul);text-decoration:underline}
.cz-priv input[aria-invalid=true]{outline:2px solid #c4271b;outline-offset:2px}
.cz-priv-info{font-size:12px;color:#6e6e73;margin:-8px 0 18px;text-align:left}
.cz-form .field select{width:100%;min-height:48px;padding:10px 14px;border:1px solid #c7c7cc;border-radius:12px;font:16px var(--sans);color:#1d1d1f;background:#fff}
.cz-form{margin-left:auto;margin-right:auto;text-align:left}
.cta-band .cz-form{margin-top:36px}
.cta-band .cz-form h3{color:#1d1d1f}
.cz-form-done{max-width:980px;margin:36px auto 0;padding:28px 32px;border-radius:26px;background:#fff;color:#1d1d1f;text-align:left}
.cz-form-done h3{margin:0 0 8px;font-size:24px;color:#1d1d1f}
.cz-form-done p{margin:0;color:#3a3a3c}
.cz-form-done:focus{outline:3px solid #8fb8ff;outline-offset:3px}
.contact-section .cz-form{margin-top:48px;border:1px solid rgba(10,26,74,.08)}
.contact-section .cz-form-done{border:1px solid rgba(10,26,74,.08)}
.co-intro{max-width:760px;margin:0 0 36px;font-size:16px;line-height:1.55;color:#3a3a3c}
.co-done-msg{font-size:17px}
.co-aviso-pago{max-width:760px;padding:14px 18px;border-radius:14px;background:#eef4ff;color:#0b2a66;font-size:15px;margin:0 0 28px}
/* Páginas legales */
.legal{max-width:820px}
.legal h1{margin:8px 0 18px}
.legal h2{font-size:22px;margin:36px 0 10px;letter-spacing:-.01em}
.legal p,.legal li{font-size:16px;line-height:1.65;color:#3a3a3c}
.legal ul{padding-left:20px}
.legal a{color:var(--azul)}
.legal-aviso{padding:14px 18px;border-radius:14px;background:#fff4e0;color:#5c3900!important;font-size:15px!important}
.legal-datos{margin:0;display:grid;gap:0;border-top:1px solid #d2d2d7}
.legal-datos div{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #d2d2d7}
.legal-datos dt{font-weight:600;color:#1d1d1f}.legal-datos dd{margin:0;color:#3a3a3c}
.legal-tabla{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}
.legal-tabla th,.legal-tabla td{text-align:left;vertical-align:top;padding:10px 8px;border-bottom:1px solid #d2d2d7}
.legal-tabla th{font-weight:600;color:#1d1d1f}
.pend{display:inline-block;padding:1px 8px;border-radius:6px;background:#ffe9a8;color:#5c3900;font-size:.88em;font-weight:600}
.legal-fecha{margin-top:36px;font-size:14px!important}
.e404{text-align:center;padding:12vh 0}
.e404 h1{font-size:clamp(40px,7vw,76px);margin:8px 0 12px}
.e404 .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.foot-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:640px){
  .legal-datos div{grid-template-columns:minmax(0,1fr);gap:2px}
  .legal-tabla,.legal-tabla tbody,.legal-tabla tr,.legal-tabla td{display:block;width:100%}
  .legal-tabla thead{display:none}
  .legal-tabla tr{border-bottom:1px solid #d2d2d7;padding:8px 0}
  .legal-tabla td{border:0;padding:3px 0}
  .legal-tabla td:first-child{font-weight:600;color:#1d1d1f}
  .cz-form-done{padding:22px 18px}
}
