/* ===== FORM DI CONTATTO (inc/contact-form.php) ===== */
.cf{ position:relative; color:var(--bg); padding:clamp(1.6rem,4vw,3rem); border-radius:26px;
  background:linear-gradient(160deg,#37322b 0%,#25201c 100%); border:1px solid rgba(246,244,239,.1);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.55); overflow:hidden; }
.cf::before{ content:''; position:absolute; top:-120px; right:-120px; width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle,rgba(193,105,79,.35),rgba(193,105,79,0) 70%); pointer-events:none; }
.cf > *{ position:relative; }
.cf-head{ margin-bottom:2rem; }
.cf-title{ font-family:var(--font-display); font-weight:500; font-size:clamp(1.5rem,2.6vw,2rem); letter-spacing:-.01em; color:var(--bg); }
.cf-intro{ margin-top:.5rem; color:rgba(246,244,239,.65); font-size:.98rem; max-width:34em; }
.cf-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.6rem; }
.cf-full{ grid-column:1 / -1; }
.cf-field{ position:relative; margin-bottom:1.7rem; }
.cf-field input,.cf-field textarea{ width:100%; background:rgba(246,244,239,.04); color:var(--bg); font:inherit; font-size:1rem;
  border:1px solid rgba(246,244,239,.16); border-radius:14px; padding:1.45rem 1rem .6rem; resize:none; cursor:text;
  transition:border-color .25s, background .25s, box-shadow .25s; }
.cf-field textarea{ min-height:7.5rem; }
.cf-field input:hover,.cf-field textarea:hover{ border-color:rgba(246,244,239,.3); }
.cf-field input:focus,.cf-field textarea:focus{ outline:none; border-color:var(--accent); background:rgba(246,244,239,.07); box-shadow:0 0 0 4px rgba(193,105,79,.18); }
.cf-field label{ position:absolute; left:1rem; top:1.05rem; color:rgba(246,244,239,.55); pointer-events:none; font-size:.98rem; transition:.2s; }
.cf-field input:focus + label,.cf-field input:not(:placeholder-shown) + label,
.cf-field textarea:focus + label,.cf-field textarea:not(:placeholder-shown) + label{ top:.45rem; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:#e0a08c; }
.cf-field.cf-bad input,.cf-field.cf-bad textarea{ border-color:#e5826a; }
.cf-chips{ border:0; padding:0; margin:0 0 1.7rem; min-width:0; }
.cf-chips legend{ font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(246,244,239,.55); margin-bottom:.8rem; padding:0; }
.cf-chip{ display:inline-block; margin:0 .5rem .6rem 0; position:relative; }
.cf-chip input{ position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:none; }
.cf-chip label{ display:inline-block; padding:.6rem 1.1rem; border-radius:40px; border:1px solid rgba(246,244,239,.22);
  color:rgba(246,244,239,.85); font-size:.9rem; cursor:none; transition:.25s; }
.cf-chip label:hover{ border-color:rgba(246,244,239,.5); }
.cf-chip input:checked + label{ background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 8px 22px -8px rgba(193,105,79,.7); }
.cf-chip input:focus-visible + label{ outline:2px solid #fff; outline-offset:3px; }
.cf-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cf-consent{ display:flex; gap:.7rem; align-items:flex-start; margin:0 0 1.6rem; font-size:.85rem; color:rgba(246,244,239,.7); }
.cf-consent input{ flex:none; width:18px; height:18px; margin-top:.2rem; accent-color:var(--accent); cursor:pointer; }
.cf-consent a,.cf-legal a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.cf-consent.cf-bad{ color:#f0a894; }
.cf-submit{ display:flex; align-items:center; justify-content:center; gap:.8rem; width:100%; border:0; border-radius:60px; padding:1.15rem 2rem;
  background:var(--accent); color:#fff; font:inherit; font-weight:500; font-size:1rem; letter-spacing:.03em; cursor:none; position:relative;
  transition:transform .3s, box-shadow .3s, background .3s; }
.cf-submit:hover{ transform:translateY(-2px); box-shadow:0 16px 36px -10px rgba(193,105,79,.75); background:#cf7458; }
.cf-submit:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.cf-submit-arrow{ transition:transform .3s; }
.cf-submit:hover .cf-submit-arrow{ transform:translateX(6px); }
.cf-spin{ display:none; width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; animation:cfspin .7s linear infinite; }
.cf.is-sending .cf-spin{ display:inline-block; }
.cf.is-sending .cf-submit-arrow{ display:none; }
.cf.is-sending .cf-submit{ opacity:.8; pointer-events:none; }
@keyframes cfspin{ to{ transform:rotate(360deg); } }
.cf-note{ min-height:1.3em; margin-top:1rem; font-size:.9rem; color:#f0a894; }
.cf-legal{ margin-top:.6rem; font-size:.72rem; line-height:1.5; color:rgba(246,244,239,.4); }
.cf-admin{ margin-top:.8rem; padding:.6rem .8rem; border-radius:10px; background:rgba(229,130,106,.15); color:#f0a894; font-size:.8rem; }
.cf-done{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.6rem;
  padding:2rem; background:linear-gradient(160deg,#37322b 0%,#25201c 100%); }
.cf-done[hidden]{ display:none; }
.cf-check{ color:var(--accent); animation:cfpop .6s cubic-bezier(.2,.8,.2,1) both; }
.cf-done-title{ font-family:var(--font-display); font-weight:500; font-size:1.8rem; color:var(--bg); }
.cf-done-text{ color:rgba(246,244,239,.75); max-width:26em; }
@keyframes cfpop{ from{ opacity:0; transform:scale(.6); } to{ opacity:1; transform:none; } }
.cf-wrap{ max-width:760px; margin-top:3rem; }
.entry-content .cf{ margin:2rem 0; max-width:760px; }
.lp-cta-alt{ margin-top:1.5rem; }
@media (max-width:640px){ .cf-grid{ grid-template-columns:1fr; } .cf-chip label{ font-size:.85rem; padding:.55rem .9rem; } }
@media (prefers-reduced-motion:reduce){ .cf-spin,.cf-check{ animation:none; } .cf-submit,.cf-submit-arrow{ transition:none; } }
