/* =========================================================
   FIT Innovation – CSS globale (caricato dal plugin FIT Core)
   Palette: navy #0D1A3A · blu #2E3192 · azzurro #1B7FC4/#4DABE4 · magenta #ED008C · giallo #FFDD00
   ========================================================= */
:root{
  --fit-navy:#0D193A; --fit-blue:#2E3192; --fit-az:#1B7FC4; --fit-azl:#4DABE4;
  --fit-mag:#ED008C; --fit-gia:#FFDD00; --fit-ink:#16213A; --fit-muted:#56607A;
  --fit-paper:#F4F7FB; --fit-line:#DCE3EE;
}

/* ---------- HEADER TRASPARENTE + STICKY ----------
   Il container dell'header ha classe "fit-header" e Effetti di movimento > Sticky: In alto,
   Offset effetti: 60. Parte trasparente sopra l'immagine dell'hero e, dopo 60px di scroll,
   Elementor aggiunge .elementor-sticky--effects → sfondo blu notte, ombra, altezza ridotta. */
.fit-header:not(.elementor-sticky--active){ position:absolute; top:0; left:0; right:0; width:100%; }
.fit-header{
  background-color:transparent;
  transition:background-color .35s ease, box-shadow .35s ease, padding .35s ease;
}
body.admin-bar .fit-header:not(.elementor-sticky--active){ top:32px; }
@media (max-width:782px){ body.admin-bar .fit-header:not(.elementor-sticky--active){ top:46px; } }
/* Lo spacer creato dallo sticky spingerebbe giù la pagina: lo nascondiamo così l'header resta sovrapposto all'hero */
.fit-header.elementor-sticky__spacer{ display:none !important; }
.fit-header.elementor-sticky--effects{
  background-color:rgba(13,26,58,.96) !important;
  box-shadow:0 8px 30px rgba(5,12,30,.25);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  padding-top:10px !important; padding-bottom:10px !important;
}
/* Logo: marchio 64px + "FIT Innovation" (Sora 700 15px) + "MOBILITY INNOVATION" (Figtree 500 11px maiuscolo) */
.fit-lockup .fit-logo img{ height:64px; max-height:64px; width:auto; }
.fit-lockup .fit-brandname .elementor-heading-title, .fit-lockup .fit-brandtag .elementor-heading-title{ white-space:nowrap; }
.fit-lockup .fit-brandname a{ color:inherit; }
.fit-header .fit-logo img{ transition:height .35s ease, max-height .35s ease; }
.fit-header.elementor-sticky--effects .fit-logo img{ height:44px; max-height:44px; }
.fit-footer .fit-lockup .fit-logo img{ height:72px; max-height:72px; }
@media (max-width:767px){ .fit-header .fit-lockup .fit-logo img{ height:48px; max-height:48px; } .fit-header.elementor-sticky--effects .fit-logo img{ height:40px; max-height:40px; } }

/* dropdown mobile a tutta larghezza sotto l'header */
.fit-header .elementor-nav-menu--dropdown{ border-radius:0 0 18px 18px; }
.fit-lang{ display:flex; gap:2px; border:1px solid rgba(255,255,255,.35); border-radius:30px; padding:3px; }
.fit-lang a{ color:#fff; font:700 13px/1 "Figtree",sans-serif; padding:6px 10px; border-radius:30px; text-decoration:none; }
.fit-lang a.on, .fit-lang .current-lang a{ background:#fff; color:var(--fit-navy); }
/* Nell'editor Elementor l'header resta visibile */
.elementor-editor-active .fit-header{ position:relative !important; background:var(--fit-navy); }

/* ---------- HERO ---------- */
.fit-hero{ isolation:isolate; }
.fit-crumbs a{ color:rgba(255,255,255,.9); text-decoration:none; }
.fit-crumbs a:hover{ text-decoration:underline; }
.fit-lead{ max-width:58ch; }

/* ---------- Etichette (eyebrow) con la barra dei colori del logo ---------- */
.fit-eyebrow .elementor-heading-title{ display:flex; align-items:center; gap:12px; }
.fit-eyebrow .elementor-heading-title::before{
  content:""; flex:0 0 34px; height:8px; border-radius:8px;
  background:linear-gradient(90deg,var(--fit-mag) 0 33%,var(--fit-gia) 33% 66%,var(--fit-azl) 66%);
}

/* ---------- Card e statistiche ---------- */
.fit-card{ transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.fit-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(13,26,58,.10); border-color:transparent !important; }
.fit-stat{ border-top:1px solid var(--fit-line); padding-top:22px; }
.fit-stat .elementor-counter{ align-items:flex-start; }
.fit-stat .elementor-counter-number-wrapper{ justify-content:flex-start; }
.fit-stat .elementor-counter-title{ justify-content:flex-start; text-align:left; }
.fit-photo img{ aspect-ratio:4/3; object-fit:cover; width:100%; }
.fit-avatar img{ aspect-ratio:1; object-fit:cover; width:100%; }

/* ---------- Widget Posts (Progetti / News) ---------- */
.fit-posts .elementor-post__card{ transition:transform .2s ease, box-shadow .2s ease; box-shadow:none !important; border:1px solid var(--fit-line); }
.fit-posts .elementor-post__card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(13,26,58,.12) !important; }
.fit-posts-progetto .elementor-post__thumbnail{ background:var(--fit-navy); }
.fit-posts-progetto .elementor-post__excerpt p{ color:var(--fit-muted); font-size:14.5px; }
.fit-posts .elementor-post__badge{ font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:11px; }
.fit-posts .elementor-pagination{ margin-top:40px; }

/* ---------- Società: ancore ---------- */
.fit-anchors-wrap{ position:sticky !important; top:70px; z-index:50; border-bottom:1px solid var(--fit-line); }
.fit-anchors{ display:flex; gap:4px; overflow-x:auto; }
.fit-anchors a{ white-space:nowrap; padding:18px 14px; color:var(--fit-navy); font:600 15px/1 "Figtree",sans-serif; text-decoration:none; border-bottom:3px solid transparent; }
.fit-anchors a:hover{ border-color:var(--fit-az); }
[id="chi-siamo"],[id="competenze"],[id="mission-vision"],[id="team"],.fit-member{ scroll-margin-top:150px; }
.fit-member .elementor-toggle .elementor-tab-title{ border:0 !important; padding-left:0 !important; }
.fit-member .elementor-toggle .elementor-tab-content{ border:0 !important; padding-left:0 !important; }
.fit-member-links a{ font-weight:600; text-decoration:none; }

/* ---------- News: filtri ---------- */
.fit-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.fit-filters a{ font:600 14px/1 "Figtree",sans-serif; padding:11px 16px; border-radius:30px; border:1px solid var(--fit-line); color:var(--fit-navy); text-decoration:none; }
.fit-filters a.on, .fit-filters a:hover{ background:var(--fit-navy); color:#fff; border-color:var(--fit-navy); }

/* ---------- Scheda progetto ---------- */
/* Scheda progetto: logo in evidenza in un pannello bianco a destra del titolo.
   Funziona anche sul template già importato (usa :has, supportato dai browser attuali). */
.fit-hero .e-con:has(> .fit-plogo){ flex-wrap:nowrap !important; justify-content:space-between !important; align-items:center !important; gap:48px !important; }
.fit-hero .e-con:has(> .fit-plogo) > .e-con{ width:auto !important; flex:1 1 auto; min-width:0; }
.fit-hero .fit-plogo{ order:2; flex:0 0 400px; width:400px !important; max-width:100%; height:240px; margin:0 !important;
  background:#fff; border-radius:28px; padding:32px 40px; box-shadow:0 24px 60px rgba(5,12,30,.35);
  display:flex; align-items:center; justify-content:center; }
.fit-hero .fit-plogo > *, .fit-hero .fit-plogo a{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.fit-hero .fit-plogo img{ width:auto !important; height:auto !important; max-width:100% !important; max-height:176px !important; object-fit:contain;
  background:none !important; padding:0 !important; border-radius:0 !important; box-shadow:none !important; }
/* nessun logo caricato → il pannello non compare */
.fit-hero .fit-plogo:not(:has(img)), .fit-hero .fit-plogo:has(img[src*="placeholder"]){ display:none !important; }
@media (max-width:1024px){
  .fit-hero .e-con:has(> .fit-plogo){ flex-wrap:wrap !important; gap:28px !important; }
  .fit-hero .e-con:has(> .fit-plogo) > .e-con{ flex-basis:100%; }
  .fit-hero .fit-plogo{ order:-1; flex:0 0 auto; width:320px !important; height:190px; padding:24px 30px; }
  .fit-hero .fit-plogo img{ max-height:140px !important; }
}
@media (max-width:767px){
  .fit-hero .fit-plogo{ width:100% !important; height:160px; border-radius:22px; }
  .fit-hero .fit-plogo img{ max-height:112px !important; }
}
.fit-facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); border:1px solid var(--fit-line); border-radius:22px; overflow:hidden; margin:0; background:#fff; }
.fit-facts div{ padding:20px 22px; border-right:1px solid var(--fit-line); border-bottom:1px solid var(--fit-line); margin:0 -1px -1px 0; }
.fit-facts dt{ font:600 12px/1 "Figtree",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--fit-muted); margin-bottom:8px; }
.fit-facts dd{ margin:0; font:600 17px/1.3 "Sora",sans-serif; color:var(--fit-navy); font-variant-numeric:tabular-nums; }
.fit-box{ border:1px solid var(--fit-line); border-radius:22px; padding:24px; display:grid; gap:12px; background:#fff; }
.fit-box h4{ margin:0; font:600 14px/1 "Figtree",sans-serif; letter-spacing:.1em; text-transform:uppercase; color:var(--fit-muted); }
.fit-linkbtn{ display:flex; justify-content:space-between; align-items:center; padding:12px 14px; border-radius:12px; background:var(--fit-paper); color:var(--fit-navy); font-weight:600; text-decoration:none; }
.fit-linkbtn:hover{ background:var(--fit-navy); color:#fff; }
.fit-more{ font-weight:600; text-decoration:none; }
.fit-muted{ color:var(--fit-muted); font-size:14.5px; margin:0; }
.fit-side{ position:sticky; top:100px; }
.fit-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.fit-pill{ display:inline-block; font:600 12px/1 "Figtree",sans-serif; letter-spacing:.06em; text-transform:uppercase; padding:8px 11px; border-radius:30px; background:var(--fit-paper); color:var(--fit-navy); text-decoration:none; }
a.fit-pill:hover{ background:var(--fit-navy); color:#fff; }
.fit-news-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:22px; }
.fit-news{ display:grid; gap:10px; text-decoration:none; color:inherit; }
.fit-news-img{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:16px; background:var(--fit-paper); }
.fit-news-meta{ display:flex; gap:10px; align-items:center; font-size:13.5px; color:var(--fit-muted); }
.fit-news-title{ font:600 18px/1.3 "Sora",sans-serif; color:var(--fit-navy); }
.fit-news:hover .fit-news-title{ color:var(--fit-az); }
@media (max-width:1024px){ .fit-side{ position:static; } .fit-anchors-wrap{ top:62px; } }

/* ---------- Form ---------- */
.fit-form .elementor-field-type-acceptance label{ font-weight:400 !important; color:var(--fit-muted) !important; }
.fit-form .elementor-message-success{ background:#E3F4E8; color:#1E5E33; border-radius:12px; padding:14px 16px; }

/* ---------- Accessibilità ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{ outline:3px solid var(--fit-gia); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){ .fit-card, .fit-posts .elementor-post__card, .fit-header{ transition:none !important; } }

/* ---------- Griglie card [fit_progetti] e [fit_news] ---------- */
.fit-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
@media (max-width:1024px){ .fit-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .fit-grid{ grid-template-columns:1fr; } }

.fit-proj{ display:flex; flex-direction:column; border:1px solid var(--fit-line); border-radius:22px; overflow:hidden; background:#fff; color:inherit; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.fit-proj:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(13,26,58,.12); }
.fit-proj-top{ position:relative; height:140px; display:grid; place-items:center; background:var(--fit-navy) center/cover no-repeat; }
.fit-proj-top::after{ content:""; position:absolute; left:24px; bottom:18px; width:44px; height:8px; border-radius:8px; background:var(--c,var(--fit-azl)); }
.fit-proj-acr{ color:#fff; font:800 30px/1 "Sora",sans-serif; letter-spacing:.02em; }
.fit-proj-logo{ max-height:76px; max-width:70%; width:auto; background:#fff; border-radius:12px; padding:8px 12px; }
.fit-proj-body{ display:flex; flex-direction:column; gap:10px; padding:22px 24px 24px; flex:1; }
.fit-proj-name{ font:700 18px/1.2 "Sora",sans-serif; color:var(--fit-navy); }
.fit-proj-ttl{ font:600 16px/1.35 "Sora",sans-serif; color:var(--fit-navy); }
.fit-proj-role{ font-size:14.5px; line-height:1.5; color:var(--fit-muted); }
.fit-proj-more{ margin-top:auto; padding-top:6px; font-weight:600; font-size:15px; color:var(--fit-az); }

.fit-news-cards .fit-news{ gap:12px; }
.fit-news-img--empty{ background:linear-gradient(135deg,var(--fit-navy),#1d3a6e); }
.fit-news-rel{ font-size:14px; color:var(--fit-muted); }
.fit-pagination{ display:flex; gap:6px; margin-top:40px; flex-wrap:wrap; }
.fit-pagination .page-numbers{ min-width:42px; height:42px; display:grid; place-items:center; border-radius:30px; border:1px solid var(--fit-line); color:var(--fit-navy); text-decoration:none; font-weight:600; padding:0 12px; }
.fit-pagination .page-numbers.current, .fit-pagination a.page-numbers:hover{ background:var(--fit-navy); border-color:var(--fit-navy); color:#fff; }
.fit-news .fit-pill{ background:#fff; border:1px solid var(--fit-line); }

/* ---------- Card news [fit_news] ---------- */
.fit-ncard{ display:flex; flex-direction:column; border:1px solid var(--fit-line); border-radius:22px; overflow:hidden; background:#fff; color:inherit; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.fit-ncard:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(13,26,58,.12); }
.fit-ncard-media{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--fit-navy); }
.fit-ncard-img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.fit-ncard:hover .fit-ncard-img{ transform:scale(1.04); }
.fit-ncard-img--empty{ background:linear-gradient(135deg,var(--fit-navy),#1d3a6e); }
.fit-ncard-body{ display:flex; flex-direction:column; gap:10px; padding:20px 24px 24px; flex:1; }
.fit-ncard-title{ font:600 19px/1.3 "Sora",sans-serif; color:var(--fit-navy); }
.fit-ncard:hover .fit-ncard-title{ color:var(--fit-az); }
.fit-ncard .fit-pill{ background:var(--fit-paper); border:0; }

/* ---------- Articolo: layout con sidebar ---------- */
.fit-article-img img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:22px; }
.fit-latest ul{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.fit-latest li a{ display:grid; grid-template-columns:72px 1fr; gap:14px; align-items:center; padding:10px 0; border-bottom:1px solid var(--fit-line); text-decoration:none; }
.fit-latest li:last-child a{ border-bottom:0; }
.fit-latest-img{ display:block; width:72px; height:72px; object-fit:cover; border-radius:12px; }
.fit-latest-title{ display:block; font:600 15px/1.35 "Sora",sans-serif; color:var(--fit-navy); }
.fit-latest li a:hover .fit-latest-title{ color:var(--fit-az); }
.fit-latest-date{ display:block; margin-top:4px; font-size:13px; color:var(--fit-muted); }
.fit-article-side{ position:sticky; top:100px; }
@media (max-width:1024px){ .fit-article-side{ position:static; } }
.fit-more{ color:var(--fit-az); font-size:15px; } .fit-more:hover{ color:var(--fit-blue); }

/* ---------- Scheda progetto: dati, referenti, classificazione (v1.5) ---------- */
.fit-facts{ grid-template-columns:repeat(6,minmax(0,1fr)); }
.fit-facts .fit-f1{ grid-column:span 1; } .fit-facts .fit-f2{ grid-column:span 2; } .fit-facts .fit-f3{ grid-column:span 3; } .fit-facts .fit-f6{ grid-column:span 6; }
@media (max-width:1024px){ .fit-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); } .fit-facts .fit-f1, .fit-facts .fit-f2{ grid-column:span 1; } .fit-facts .fit-f3, .fit-facts .fit-f6{ grid-column:span 2; } }
.fit-facts .fit-facts-mono dd{ font:600 14px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.02em; word-break:break-word; }
.fit-facts dd{ font-size:16px; }
@media (max-width:640px){ .fit-facts{ grid-template-columns:1fr; } .fit-facts div{ grid-column:auto !important; } }
.fit-ref{ display:flex; flex-direction:column; gap:2px; padding:12px 14px; border-radius:12px; background:var(--fit-paper); color:var(--fit-navy); text-decoration:none; }
.fit-ref span{ font-size:14px; font-weight:600; color:var(--fit-az); }
.fit-ref:hover{ background:var(--fit-navy); color:#fff; } .fit-ref:hover span{ color:var(--fit-azl); }
.fit-class{ display:grid; gap:18px; }
.fit-class-row{ display:grid; grid-template-columns:110px 1fr; gap:14px; align-items:start; }
.fit-class-label{ font:600 12px/1.6 "Figtree",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--fit-muted); padding-top:6px; }
.fit-pill--macro{ background:var(--fit-navy); color:#fff; }
.fit-key-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:6px; }
.fit-key-col{ background:var(--fit-paper); border-radius:18px; padding:18px 20px; }
.fit-key-col .fit-class-label{ display:block; padding:0 0 8px; }
.fit-key-col ul{ margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.fit-key-col li{ position:relative; padding-left:16px; font-size:15px; line-height:1.4; color:var(--fit-ink); }
.fit-key-col li::before{ content:""; position:absolute; left:0; top:.5em; width:7px; height:7px; border-radius:50%; background:var(--fit-az); }
.fit-key-col:nth-child(1) li::before{ background:var(--fit-mag); } .fit-key-col:nth-child(2) li::before{ background:var(--fit-gia); }
@media (max-width:767px){ .fit-key-grid{ grid-template-columns:1fr; } .fit-class-row{ grid-template-columns:1fr; gap:6px; } .fit-class-label{ padding-top:0; } }

/* filtro macro temi nella pagina Progetti */
.fit-proj-filters{ margin-bottom:28px; }
.fit-filters button{ font:600 14px/1.2 "Figtree",sans-serif; padding:11px 16px; border-radius:30px; border:1px solid var(--fit-line); background:#fff; color:var(--fit-navy); cursor:pointer; }
.fit-filters button.on, .fit-filters button:hover{ background:var(--fit-navy); color:#fff; border-color:var(--fit-navy); }
.fit-proj[hidden]{ display:none !important; }

/* ---------- v1.6 – colori dei link-pulsante non sovrascritti dal Kit Elementor ---------- */
body .fit-box a.fit-linkbtn, body .fit-box a.fit-ref{ color:var(--fit-navy) !important; }
body .fit-box a.fit-linkbtn:hover, body .fit-box a.fit-linkbtn:focus-visible,
body .fit-box a.fit-ref:hover, body .fit-box a.fit-ref:focus-visible{ background:var(--fit-navy) !important; color:#fff !important; }
body .fit-box a.fit-ref span{ color:var(--fit-az) !important; }
body .fit-box a.fit-ref:hover span, body .fit-box a.fit-ref:focus-visible span{ color:var(--fit-azl) !important; }
body .fit-box a.fit-ref:hover strong{ color:#fff !important; }
body a.fit-pill{ color:var(--fit-navy) !important; }
body a.fit-pill:hover{ background:var(--fit-navy) !important; color:#fff !important; }
body .fit-pagination a.page-numbers:hover{ color:#fff !important; }
body a.fit-proj, body a.fit-ncard, body a.fit-news{ color:inherit !important; }

/* ---------- Team [fit_team] (v1.7) ---------- */
.fit-team{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 24px; }
@media (max-width:1100px){ .fit-team{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px){ .fit-team{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:480px){ .fit-team{ grid-template-columns:1fr; } }
.fit-member-card{ display:flex; flex-direction:column; gap:10px; scroll-margin-top:150px; }
.fit-member-img{ display:block; width:100%; aspect-ratio:1; object-fit:cover; object-position:center 20%; border-radius:24px; background:var(--fit-paper); }
.fit-member-img--empty{ display:grid; place-items:center; font:700 40px/1 "Sora",sans-serif; color:var(--fit-az); }
.fit-member-role{ font:600 13px/1.3 "Figtree",sans-serif; letter-spacing:.06em; text-transform:uppercase; color:var(--fit-az); margin-top:6px; }
.fit-member-name{ margin:0; font:600 20px/1.25 "Sora",sans-serif; color:var(--fit-navy); }
.fit-member-sum{ margin:0; font-size:15.5px; line-height:1.55; color:var(--fit-muted); }
.fit-member-bio summary{ cursor:pointer; font-weight:600; font-size:15px; color:var(--fit-navy); }
.fit-member-bio p{ font-size:15px; line-height:1.6; color:var(--fit-muted); margin:10px 0 0; }
.fit-member-links{ display:flex; gap:14px; flex-wrap:wrap; }
body .fit-member-links a{ font-weight:600; font-size:14.5px; color:var(--fit-az) !important; text-decoration:none; }
body .fit-member-links a:hover{ color:var(--fit-blue) !important; text-decoration:underline; }
.fit-member-proj{ display:grid; gap:8px; margin-top:2px; }
.fit-member-proj > span{ font:600 11.5px/1 "Figtree",sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--fit-muted); }
.fit-member-proj .fit-pill{ padding:7px 10px; }
.fit-member-proj .fit-pill{ background:#fff; border:1px solid var(--fit-line); }

/* ---------- Pagina 404 [fit_404] (v1.8) ---------- */
.fit-404-wrap{ max-width:1100px; margin:0 auto; padding-inline:clamp(16px,4vw,40px); }
.fit-404-hero{ background:var(--fit-navy) radial-gradient(1200px 500px at 85% 120%, rgba(77,171,228,.22), transparent 60%); color:#fff; padding:clamp(150px,18vw,200px) 0 clamp(60px,8vw,90px); }
.fit-404-code{ margin:0 0 10px; font:800 clamp(110px,20vw,220px)/.85 "Sora",sans-serif; letter-spacing:-.04em; display:flex; }
.fit-404-code span{ mix-blend-mode:screen; }
.fit-404-code span:nth-child(1){ color:var(--fit-mag); }
.fit-404-code span:nth-child(2){ color:var(--fit-gia); margin-left:-.12em; }
.fit-404-code span:nth-child(3){ color:var(--fit-azl); margin-left:-.12em; }
.fit-404-hero h1{ color:#fff; margin:0 0 14px; font:800 clamp(30px,4.4vw,50px)/1.1 "Sora",sans-serif; letter-spacing:-.02em; }
.fit-404-lead{ max-width:60ch; color:rgba(255,255,255,.85); font-size:clamp(17px,1.5vw,20px); line-height:1.6; margin:0 0 28px; }
.fit-404-search{ display:flex; gap:10px; max-width:620px; flex-wrap:wrap; }
.fit-404-search input{ flex:1 1 260px; padding:15px 20px; border-radius:40px; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.08); color:#fff; font:400 16px "Figtree",sans-serif; }
.fit-404-search input::placeholder{ color:rgba(255,255,255,.6); }
.fit-404-search button{ padding:15px 28px; border:0; border-radius:40px; background:var(--fit-az); color:#fff; font:600 16px "Figtree",sans-serif; cursor:pointer; }
.fit-404-search button:hover{ background:var(--fit-blue); }
.fit-404-body{ padding:clamp(56px,7vw,90px) 0; background:#fff; }
.fit-404-body h2{ font:700 clamp(22px,2.4vw,28px)/1.2 "Sora",sans-serif; color:var(--fit-navy); margin:0 0 20px; }
.fit-404-sugg, .fit-404-links{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:16px; margin-bottom:48px; }
body .fit-404-sugg a, body .fit-404-links a{ display:flex; flex-direction:column; gap:6px; padding:20px 22px; border:1px solid var(--fit-line); border-radius:18px; background:#fff; color:var(--fit-navy) !important; text-decoration:none; transition:transform .2s, box-shadow .2s; }
.fit-404-sugg a{ background:var(--fit-paper); border-color:transparent; }
body .fit-404-sugg a:hover, body .fit-404-links a:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(13,26,58,.1); }
.fit-404-sugg strong, .fit-404-links strong{ font:600 18px/1.25 "Sora",sans-serif; }
.fit-404-sugg span, .fit-404-links span{ font-size:14.5px; color:var(--fit-muted); }
.fit-404-help{ color:var(--fit-muted); font-size:15.5px; margin:0; }
.fit-404-search .screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
body .fit-404-help a{ color:var(--fit-az) !important; font-weight:600; }

/* News: foto aggiuntive nell'articolo (v1.9) */
.fit-news-photo{margin:28px 0}
.fit-news-photo img{display:block;width:100%;height:auto;border-radius:14px}
/* Selettore lingua come shortcode (v1.9) */
.elementor-widget-shortcode .fit-lang{display:inline-flex}
