/* Formulario de contacto (solo /contacto/) */
.wrap-form{max-width:760px}
.form{margin-top:var(--s5)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
fieldset{border:0;padding:0;margin:0 0 var(--s4)}
legend{font-weight:600;margin-bottom:var(--s2);padding:0}
.tipos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (min-width:640px){.tipos{grid-template-columns:repeat(4,1fr)}}
.tipo{position:relative;display:block}
.tipo input{position:absolute;opacity:0;inset:0}
.tipo span{display:block;padding:14px 12px;border:2px solid var(--line);border-radius:var(--r);text-align:center;font-weight:600;font-size:15px;cursor:pointer}
.tipo input:checked+span{border-color:var(--pink);background:var(--pink-soft);color:var(--pink-dark)}
.tipo input:focus-visible+span{outline:3px solid var(--pink);outline-offset:2px}
.f-grid{display:grid;gap:var(--s3);margin-bottom:var(--s4)}
@media (min-width:640px){.f-grid{grid-template-columns:1fr 1fr}.f-wide{grid-column:1/-1}}
.f{display:block;font-weight:600;font-size:15px}
.f input,.f select,.f textarea{display:block;width:100%;margin-top:6px;padding:14px;border:2px solid var(--line);border-radius:var(--r);font:inherit;font-weight:400;font-size:17px;color:var(--ink);background:var(--paper)}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--pink);outline:0}
.f input[aria-invalid="true"],.f select[aria-invalid="true"]{border-color:#D8322B}
.form-error{background:#FDE8E7;color:#8f1f1a;padding:12px 16px;border-radius:var(--r);margin-bottom:var(--s3);font-weight:600}
.f-alt{margin-top:var(--s3);font-size:14px}
.ok-box{margin:var(--s4) 0;padding:var(--s4);background:var(--soft);border-radius:var(--r2)}
.ok-msg{font-size:16px;padding:14px 16px;background:var(--paper);border-left:4px solid var(--wa);border-radius:var(--r);margin-bottom:var(--s3)}
.ok-box .btn{width:100%;white-space:normal;text-align:center}
