@import url('./variables.css?v=24');
@import url('./reset.css?v=24');
@import url('./typography.css?v=24');
@import url('./layout.css?v=24');
@import url('./components.css?v=24');
@import url('./navbar.css?v=26');
@import url('./footer.css?v=24');
@import url('./hero.css?v=24');
@import url('./animations.css?v=24');
@import url('./data-viz.css?v=24');
@import url('./forms.css?v=24');
@import url('./pages.css?v=24');

/* Preloader */
.bp-preloader{position:fixed;inset:0;z-index:var(--z-preloader);background:#FFFFFF;display:flex;align-items:center;justify-content:center;transition:opacity 600ms ease-out;}
.bp-preloader__video{max-width:900px;width:70%;height:auto;}
.bp-preloader.is-done{opacity:0;pointer-events:none;}

/* Stats */
.bp-section--navy .bp-stat__num{color:var(--color-white);}

/* Global typography normalization: single family (Basel Grotesk) + single weight (400).
   I selettori generici (p,a,li,span,div,...) escludono #wpadminbar *, così l'admin bar resta vanilla.
   NB: l'elemento <i> NON è incluso: è usato come wrapper di icon font (FontAwesome, Eicon, Dashicons) e deve mantenere la sua font-family nativa. */
html,body,button,input,select,textarea,
h1,h2,h3,h4,h5,h6,
p:not(#wpadminbar *),a:not(#wpadminbar *):not([class*="eicon"]):not([class*="fa-"]):not(.fa):not(.fab):not(.far):not(.fas):not(.fal),li:not(#wpadminbar *),strong:not(#wpadminbar *),b:not(#wpadminbar *),em:not(#wpadminbar *),small:not(#wpadminbar *),label:not(#wpadminbar *),
.elementor-widget-container,
[class^="bp-"]{font-family:'Basel Grotesk','Inter','DM Sans',sans-serif !important;font-weight:400 !important;}

/* Preserva font-family nativa per tutti gli icon font. Imposto esplicitamente ciascuna famiglia
   perché `revert` torna allo UA stylesheet (perdendo eicons/dashicons/etc.). */
[class^="eicon-"],[class*=" eicon-"],[class^=eicon]{font-family:eicons !important;font-weight:400 !important;font-size:inherit !important;line-height:1 !important;}
.dashicons,[class^="dashicons-"],[class*=" dashicons-"]{font-family:dashicons !important;font-weight:400 !important;}
[class^="fa-"],[class*=" fa-"],.fa,.fab,.far,.fas,.fal,.fad,.fak{font-family:"Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome",sans-serif !important;}
.fab,.fa-brands{font-family:"Font Awesome 6 Brands","Font Awesome 5 Brands" !important;}
/* Elementor SVG icons — lascia che renderino via <svg>, non forzare font-family. */
.e-font-icon-svg,.e-font-icon-svg-container svg,.elementor-icon svg{font-family:initial !important;}

/* Scala tipografica ufficiale — responsive con clamp (mobile 375px = desktop × 1/φ, desktop ≥1440px = valori design)
   Line-height unitless per preservare i rapporti originali (H1 97/103, H2 42/53, SUB 36/34, Body 21/21, Small 13/13).
   Anche qui i tag generici escludono l'admin bar. */
html,body,
p:not(#wpadminbar *),a:not(#wpadminbar *):not([class*="eicon"]):not([class*="fa-"]):not(.fa):not(.fab):not(.far):not(.fas):not(.fal):not(.elementor-nav-menu--dropdown *):not(.bp-nav__menu *),li:not(#wpadminbar *):not(.elementor-nav-menu--dropdown *):not(.bp-nav__menu *),strong:not(#wpadminbar *),b:not(#wpadminbar *),em:not(#wpadminbar *),label:not(#wpadminbar *),
button,input,select,textarea,
.elementor-widget-text-editor,.elementor-widget-text-editor *,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-button .elementor-button,
.elementor-widget-container p,
.elementor-widget-container li,
.elementor-widget-container a,
[class^="bp-"]{font-size:clamp(16px, calc(14.24px + 0.47vw), 21px) !important;line-height:1 !important;}

h1,.bp-h1,.bp-h-display,
h1.elementor-heading-title,
.elementor-widget-heading h1.elementor-heading-title{font-size:clamp(64px, calc(50.28px + 3.66vw), 103px) !important;line-height:0.9417 !important;}

h2,.bp-h2,
h2.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title{font-size:clamp(33px, calc(25.95px + 1.88vw), 53px) !important;line-height:0.7925 !important;}

h3,h4,.bp-h3,.bp-h4,.bp-eyebrow,
h3.elementor-heading-title,h4.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title{font-size:clamp(21px, calc(16.43px + 1.22vw), 34px) !important;line-height:1.0588 !important;}

small:not(#wpadminbar *),.bp-small,.bp-caption,.bp-card__date,.bp-stat__label,.bp-pill-chart__label,
.bp-doclist span,.bp-specs dt,
.elementor-widget-container small{font-size:clamp(11px, calc(10.29px + 0.19vw), 13px) !important;line-height:1 !important;}

/* Footer — tutto il testo alla scala Small (13px desktop → 11px mobile, line-height 1).
   Specificità boostata con body + :not(#wpadminbar *) per battere le regole generiche tipografiche sopra. */
body footer.elementor-location-footer:not(#wpadminbar *),
body footer.elementor-location-footer p:not(#wpadminbar *),
body footer.elementor-location-footer a:not(#wpadminbar *):not([class*="eicon"]):not([class*="fa-"]):not(.fa):not(.fab):not(.far):not(.fas):not(.fal),
body footer.elementor-location-footer li:not(#wpadminbar *),
body footer.elementor-location-footer span:not(#wpadminbar *),
body footer.elementor-location-footer div:not(#wpadminbar *),
body footer.elementor-location-footer strong:not(#wpadminbar *),
body footer.elementor-location-footer em:not(#wpadminbar *),
body footer.elementor-location-footer small:not(#wpadminbar *),
body footer.elementor-location-footer h1:not(#wpadminbar *),
body footer.elementor-location-footer h2:not(#wpadminbar *),
body footer.elementor-location-footer h3:not(#wpadminbar *),
body footer.elementor-location-footer h4:not(#wpadminbar *),
body footer.elementor-location-footer h5:not(#wpadminbar *),
body footer.elementor-location-footer h6:not(#wpadminbar *),
body footer.elementor-location-footer .elementor-widget-container:not(#wpadminbar *),
body footer.elementor-location-footer .elementor-widget-container *:not(#wpadminbar *),
body footer.elementor-location-footer .elementor-heading-title:not(#wpadminbar *){font-size:clamp(11px, calc(10.29px + 0.19vw), 13px) !important;line-height:1 !important;}

/* Bottoni CTA — desktop 122×52 / testo 21px (riferimento "Discover"); scaling responsive fino a 76×44 su mobile 375px.
   Scoped al solo .bp-btn (bottoni del tema) + submit form. I bottoni Elementor mantengono le loro dimensioni
   per evitare di rompere widget che usano .elementor-button per icone / social / scroll-to-top. */
.bp-btn,
a.bp-btn,button.bp-btn,
.wpcf7 .wpcf7-submit{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:clamp(44px, calc(41.18px + 0.75vw), 52px) !important;
  min-width:clamp(76px, calc(59.8px + 4.32vw), 122px) !important;
  padding:0 clamp(8px, calc(3.07px + 1.31vw), 22px) !important;
  font-size:clamp(16px, calc(14.24px + 0.47vw), 21px) !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}

/* Informativa privacy in calce ai moduli (Contatti / Lavora con noi) — fine print 13px.
   Hook = classe .bp-form-informativa nel contenuto HTML del widget (<p> per Contatti, <div> per Lavora con noi).
   Specificità boostata con `body … :not(#wpadminbar *)` per battere la scala tipografica del tema
   (p:not(#wpadminbar *) e .elementor-widget-text-editor * → 21px !important, specificità 1,0,1). */
body .bp-form-informativa:not(#wpadminbar *){margin-top:var(--sp-6, 1.25rem) !important;}
body .bp-form-informativa:not(#wpadminbar *),
body .bp-form-informativa p:not(#wpadminbar *),
body .bp-form-informativa div:not(#wpadminbar *),
body .bp-form-informativa span:not(#wpadminbar *),
body .bp-form-informativa strong:not(#wpadminbar *),
body .bp-form-informativa a:not(#wpadminbar *),
body .bp-form-informativa li:not(#wpadminbar *){
  font-size:13px !important;
  line-height:1.55 !important;
  color:var(--color-text-muted, #6b7280) !important;
}
body .bp-form-informativa p:not(#wpadminbar *){margin:0 0 var(--sp-2, .5rem) !important;}
body .bp-form-informativa strong:not(#wpadminbar *){font-weight:600 !important;color:var(--color-navy, #1E2A4A) !important;}
/* Link interni all'informativa: replico l'intera catena :not() del tema (specificità 1,9,1)
   anteponendo .bp-form-informativa → 1,10,2, così i link scendono anch'essi a 13px. */
body .bp-form-informativa a:not(#wpadminbar *):not([class*="eicon"]):not([class*="fa-"]):not(.fa):not(.fab):not(.far):not(.fas):not(.fal):not(.elementor-nav-menu--dropdown *):not(.bp-nav__menu *){
  font-size:13px !important;
  line-height:1.55 !important;
  color:var(--color-blue, #5B6BF5) !important;
  text-decoration:underline !important;
}
