/* ═══════════════════════════════════════════════════════════════
   FOOTER SHARED — blocco footer condiviso tra home, V1 e V2:
   #form-sec → .ft-nav → .ed-divider-wrap → #footer-hero → .ed-divider-wrap → footer

   Estratto da index.html. L'effetto glitch di #footer-hero è guidato da
   hero-fx.js (initFooterGlitch) → IDENTICO su tutte le pagine.
   Le basi .hero-title/.hw/.hw-i + chromatic split arrivano da titles-shared.css
   (già linkata in ogni pagina). Includere con:
     <link rel="stylesheet" href="./footer-shared.css">
   e caricare hero-fx.js + chiamare initFooterGlitch() (vedi index/V1/V2).
═══════════════════════════════════════════════════════════════ */

/* Fallback token scoped al footer: V1/V2 non definiscono --ease/--bacc/--FB. */
#form-sec, .ft-nav, .footer-hero, footer {
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --bacc: rgba(242, 199, 0, 0.25);
  --FB: var(--FD);
}

/* Section tag (usata dall'header del form) */
.sec-tag { font-family:var(--RS); font-size:14px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:36px; display:flex; align-items:center; gap:14px; padding-top:60px; }
.sec-tag::before { content:''; width:28px; height:1px; background:var(--accent); flex-shrink:0; }

/* ── FORM ─────────────────────────────────────────────────── */
/* niente border-top grigio: la separazione dallo spotlight la fa il divider
   giallo magnetico (.ed-divider-wrap) messo prima di #form-sec in V1/V2.
   Niente glow ::before: su V1/V2 il fondo è piatto var(--bg), quindi il
   radial-gradient risalterebbe come una macchia → lo lasciamo uniforme. */
#form-sec { padding:120px 80px; position:relative; z-index:1; }
.fw { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.fh { text-align:left; }
.fh .sec-tag { justify-content:flex-start; }
.f-ttl { font-family:var(--FD); font-size:clamp(36px,5.5vw,72px); text-transform:uppercase; letter-spacing:-.025em; line-height:.95; margin-bottom:20px; }
.f-sub { font-size:28px; color:var(--muted); line-height:1.6; }
.f-sub strong { color:var(--text); }
.f-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-bottom:2px; }
.ff { position:relative; }
.ff.full { grid-column:1/-1; }
.ff label { position:absolute; top:20px; left:22px; font-family:var(--FM); font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); transition:top .25s,font-size .25s,color .25s; pointer-events:none; z-index:1; }
.ff input:focus~label,.ff input:not(:placeholder-shown)~label,
.ff select:focus~label,.ff textarea:focus~label,.ff select.hasv~label { top:9px; font-size:8px; color:var(--accent); }
.ff input,.ff select,.ff textarea {
  width:100%; background:var(--bg2); border:1px solid var(--border);
  color:var(--text); font-family:var(--FB); font-size:15px;
  padding:30px 22px 14px; outline:none; transition:border-color .3s;
  -webkit-appearance:none; appearance:none; resize:none;
}
.ff input:focus,.ff select:focus,.ff textarea:focus { border-color:var(--bacc); }
.ff input::placeholder { color:transparent; }
.ff textarea { min-height:130px; }
.ff select option { background:var(--bg2); }
.f-sub-btn { margin-top:36px; text-align:center; }
.btn-sub {
  display:inline-flex; align-items:center; gap:14px;
  font-family:var(--FD); font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--bg); background:var(--text); border:none;
  padding:22px 64px; cursor:none; position:relative; overflow:hidden; transition:color .4s var(--ease);
}
.btn-sub::before { content:''; position:absolute; inset:0; background:var(--accent); transform:translateX(-101%); transition:transform .4s var(--ease); }
.btn-sub:hover::before { transform:translateX(0); }
.btn-sub span { position:relative; z-index:1; }
.f-note { margin-top:16px; font-family:var(--FM); font-size:14px; letter-spacing:.1em; color:var(--muted); }
#f-ok { display:none; text-align:center; padding:60px 0; }
.f-ok-tag { font-family:var(--FM); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:20px; }
.f-ok-ttl { font-family:var(--FD); font-size:32px; margin-bottom:12px; }
.f-ok-txt { color:var(--muted); font-size:15px; line-height:1.6; }

/* ── Override stile form ActiveCampaign (embed id 24) ── */
#form-sec ._form-branding { display:none !important; }
#form-sec ._form-label,
#form-sec ._checkbox-radio label,
#form-sec ._checkbox-radio span { color:#fff !important; }
#form-sec ._field-wrapper,
#form-sec ._field {
  border:0 !important;
  border-bottom:1px solid var(--accent) !important;
  background:transparent !important;
}
#form-sec input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
#form-sec textarea,
#form-sec select {
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff !important;
  box-shadow:none !important;
  outline:none !important;
}
#form-sec input::placeholder,
#form-sec textarea::placeholder { color:var(--muted) !important; }
#form-sec input:-webkit-autofill,
#form-sec input:-webkit-autofill:hover,
#form-sec input:-webkit-autofill:focus {
  -webkit-text-fill-color:#fff !important;
  -webkit-box-shadow:0 0 0 1000px var(--bg2, #141414) inset !important;
  box-shadow:0 0 0 1000px var(--bg2, #141414) inset !important;
  caret-color:#fff !important;
  transition:background-color 9999s ease-in-out 0s;
}
#form-sec ._submit,
#form-sec #_form_24_submit {
  background:var(--accent) !important;
  color:var(--bg) !important;
  border:1px solid var(--accent) !important;
  font-family:var(--FD) !important;
  font-size:13px !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  font-weight:400 !important;
}
#form-sec ._form_24 { text-align:left !important; }
#form-sec ._form_24 > form,
#form-sec ._form_24 ._form-content { margin-left:0 !important; margin-right:auto !important; max-width:none !important; }

/* ── Divider magnetico (ed-divider-fx.js) ── */
.ed-divider-wrap { padding:50px 0px 0px 0px; position:relative; z-index:1; }
.ed-divider { display:block; width:100%; height:40px; overflow:visible; cursor:crosshair; touch-action:none; }
.ed-divider-line { stroke:var(--accent); stroke-width:1; fill:none; vector-effect:non-scaling-stroke; }
.ed-divider-wrap.ed-tight { padding:6px 0; }
/* Divider subito dopo il tunnel (.spotlight, V1/V2): niente padding-top —
   tocca subito il fondo della section precedente. */
.ed-divider-wrap.ed-no-top { padding-top:0; }

/* ── Footer brand title (glitch WebGL — hero-fx.js initFooterGlitch) ── */
.footer-hero { padding:150px 80px 90px; position:relative; z-index:1; overflow:hidden; }
.footer-hero .footer-title { margin-bottom:0; }
.footer-title .hw { font-size:clamp(58px,11vw,176px); }

/* ── Footer nav (Location / Contatti / Social) ── */
.ft-nav { padding:0; position:relative; z-index:1; }
.ft-nav-row { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; padding:30px 80px; }
.ft-nav-label { font-family:var(--RS); font-size:14px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.ft-nav-content { font-family:'Poppins',sans-serif; font-size:14px; line-height:1.75; letter-spacing:.01em; color:var(--muted); }
.ft-nav-content a { color:var(--muted); text-decoration:none; transition:color .3s; }
.ft-nav-content a:hover { color:var(--accent); }
.ft-social { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }

/* ── Footer bottom — credit (sx) + copyright/privacy (dx) ── */
footer {
  padding:36px 10px;
  display:flex; justify-content:space-between; align-items:center;
  gap:16px 40px; flex-wrap:wrap;
  position:relative; z-index:1;
}
.ft-logo,
.ft-credit { font-family:var(--FD); font-size:10px; letter-spacing:.22em; text-transform:uppercase; line-height:1.7; color:var(--muted); }
.ft-credit a { color:var(--accent); text-decoration:none; transition:color .3s; }
.ft-credit a:hover { color:var(--text); }
.ft-logo a { color:inherit; text-decoration:underline; text-underline-offset:2px; transition:color .3s; }
.ft-logo a:hover { color:var(--accent); }

/* ── Mobile ─────────────────────────────────────────────────── */
@media(max-width:900px){
  .sec-tag { margin-bottom:20px; padding-top:40px; }
  #form-sec { padding-left:24px; padding-right:24px; padding-bottom:48px; }
  /* Paragrafo form: su mobile stesso stile di .about-body (Poppins 300, size ridotta) */
  .f-sub { font-family:'Poppins',sans-serif; font-weight:300; font-size:clamp(18px,4.6vw,24px); line-height:1.4; }
  .fw { grid-template-columns:1fr; gap:40px; }
  .ed-divider-wrap { padding:14px 0; }
  .footer-hero { padding:44px 20px 50px; }
  .footer-title .hw { font-size:clamp(32px,12vw,76px); }
  .ft-nav-row { grid-template-columns:1fr; gap:10px; padding:22px 20px; text-align:center; }
  .ft-social { align-items:center; }
  footer { padding:32px 20px; flex-direction:column; text-align:center; gap:14px; }
}
