/* ============================================================
   Form contatti di sezione (Studios, Gaming).
   La pagina fornisce --line, --surface, --text, --muted, --display, --mono
   e imposta sul form --cf-accent (colore) e --cf-bar (barra superiore).
   Tutti i selettori hanno due classi per non subire le regole "section p" delle CTA.
============================================================ */
.vxf{
  --cf-accent:#F2F1EE;--cf-bar:var(--cf-accent);--cf-err:#FF4D6A;
  position:relative;max-width:820px;margin:56px auto 0;text-align:left;
  border:1px solid var(--line);background:var(--surface);
  padding:clamp(24px,3.6vw,52px);
}
.vxf::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:var(--cf-bar)}
.vxf .vxf-title{
  font-family:var(--display);font-weight:600;font-size:clamp(20px,2vw,26px);
  text-transform:uppercase;line-height:1.2;margin:0 0 6px;
}
.vxf .vxf-note{color:var(--muted);font-size:16px;max-width:none;margin:0 0 28px}
.vxf .vxf-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.vxf .vxf-row.one{grid-template-columns:1fr}
.vxf .vxf-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.vxf .vxf-field label{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
}
.vxf .vxf-field label small{font-size:inherit;text-transform:none;letter-spacing:0}
.vxf .req{color:var(--cf-accent)}
.vxf .vxf-field input,.vxf .vxf-field select,.vxf .vxf-field textarea{
  width:100%;font:inherit;font-size:16px;color:var(--text);
  background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:0;
  padding:14px 16px;transition:border-color .3s,background .3s;
}
.vxf .vxf-field textarea{resize:vertical;min-height:140px}
.vxf .vxf-field input::placeholder,.vxf .vxf-field textarea::placeholder{color:rgba(139,139,149,.6)}
.vxf .vxf-field input:hover,.vxf .vxf-field select:hover,.vxf .vxf-field textarea:hover{border-color:rgba(255,255,255,.25)}
.vxf .vxf-field input:focus-visible,.vxf .vxf-field select:focus-visible,.vxf .vxf-field textarea:focus-visible{
  outline:2px solid var(--cf-accent);outline-offset:2px;border-color:var(--cf-accent);background:rgba(255,255,255,.05);
}
.vxf .vxf-field select{
  appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238B8B95' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
}
.vxf .vxf-field select option{background:#0E0E14;color:#F2F1EE}
.vxf [aria-invalid="true"]{border-color:var(--cf-err)}
.vxf .vxf-error{color:var(--cf-err);font-size:14.5px;max-width:none;margin:0}
.vxf .vxf-error[hidden]{display:none}
.vxf .vxf-consent{display:flex;gap:14px;align-items:flex-start;margin:6px 0 4px}
.vxf .vxf-consent input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--cf-accent);cursor:pointer}
.vxf .vxf-consent input:focus-visible{outline:2px solid var(--cf-accent);outline-offset:2px}
.vxf .vxf-consent label{color:var(--muted);font-size:14.5px;cursor:pointer}
.vxf .vxf-consent a{color:var(--text);text-decoration:underline;text-underline-offset:3px;transition:color .3s}
.vxf .vxf-consent a:hover{color:var(--cf-accent)}
.vxf .vxf-consent + .vxf-error{margin:6px 0 0 34px}
.vxf .vxf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:28px}
.vxf .vxf-actions .btn{cursor:pointer}
.vxf .vxf-actions .btn:focus-visible{outline:2px solid var(--cf-accent);outline-offset:3px}
.vxf .vxf-actions .btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.vxf .vxf-required{color:var(--muted);font-size:14.5px}
.vxf .vxf-status{margin:24px 0 0;max-width:none;padding:16px 20px;border:1px solid;font-size:16px;color:var(--text)}
.vxf .vxf-status[hidden]{display:none}
.vxf .vxf-status.ok{border-color:var(--cf-accent);background:rgba(255,255,255,.04)}
.vxf .vxf-status.err{border-color:var(--cf-err);background:rgba(255,77,106,.07)}
.vxf .vxf-status a{text-decoration:underline;text-underline-offset:3px}
.vxf .vxf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.vxf .vxf-row{grid-template-columns:1fr}}
