.elementor-kit-9{--e-global-color-primary:#EE312E;--e-global-color-secondary:#0D0D0D;--e-global-color-text:#2B2B2B;--e-global-color-accent:#C41F1C;--e-global-color-730aa6d:#FFFFFF;--e-global-color-55bb1b1:#F4F4F4;--e-global-color-55b67b8:#6B6B6B;--e-global-color-796db92:#E2E2E2;--e-global-typography-primary-font-family:"Alfa Slab One";--e-global-typography-primary-font-size:var(--tf-fs-h1);--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-size:var(--tf-fs-h3);--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:0.5px;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-size:var(--tf-fs-body);--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65rem;--e-global-typography-accent-font-family:"Barlow Condensed";--e-global-typography-accent-font-size:var(--tf-fs-btn);--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-ba130b0-font-family:"SoccerLeague";--e-global-typography-ba130b0-font-size:var(--tf-fs-h2);--e-global-typography-ba130b0-font-weight:400;--e-global-typography-ba130b0-text-transform:uppercase;--e-global-typography-ba130b0-line-height:1.1em;--e-global-typography-ba130b0-letter-spacing:1px;--e-global-typography-6aa3fd5-font-family:"Barlow Condensed";--e-global-typography-6aa3fd5-font-size:var(--tf-fs-h4);--e-global-typography-6aa3fd5-font-weight:600;--e-global-typography-6aa3fd5-text-transform:uppercase;--e-global-typography-6aa3fd5-line-height:1.2em;--e-global-typography-6aa3fd5-letter-spacing:2px;--e-global-typography-543ca6d-font-family:"Barlow Condensed";--e-global-typography-543ca6d-font-size:1.25rem;--e-global-typography-543ca6d-font-weight:700;--e-global-typography-543ca6d-text-transform:uppercase;--e-global-typography-543ca6d-line-height:1.2em;--e-global-typography-543ca6d-letter-spacing:0.5px;--e-global-typography-ded2526-font-family:"Barlow";--e-global-typography-ded2526-font-size:0.875rem;--e-global-typography-ded2526-font-weight:400;--e-global-typography-ded2526-line-height:1.5em;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-730aa6d );padding:14px 28px 14px 28px;}.elementor-kit-9 button:hover,.elementor-kit-9 button:focus,.elementor-kit-9 input[type="button"]:hover,.elementor-kit-9 input[type="button"]:focus,.elementor-kit-9 input[type="submit"]:hover,.elementor-kit-9 input[type="submit"]:focus,.elementor-kit-9 .elementor-button:hover,.elementor-kit-9 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-730aa6d );border-radius:0px 0px 0px 0px;}.elementor-kit-9 a{color:var( --e-global-color-accent );}.elementor-kit-9 a:hover{color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:80px;--container-default-padding-right:80px;--container-default-padding-bottom:80px;--container-default-padding-left:80px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );padding:12px 22px 12px 22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:40px;--container-default-padding-right:40px;--container-default-padding-bottom:40px;--container-default-padding-left:40px;}}@media(max-width:767px){.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:32px;--container-default-padding-right:32px;--container-default-padding-bottom:32px;--container-default-padding-left:32px;}}/* Start custom CSS *//* =========================================================
   TOP FIRE – CSS personalizzato (Impostazioni sito)
   ========================================================= */

/* ---------- Variabili ---------- */
:root {
  /* Scala fluida 375px → 1440px */
    --tf-fs-h1:   clamp(1.875rem, 1.479rem + 1.690vw, 3rem);       /* 30 → 48 */
  --tf-fs-h2:   clamp(1.5rem, 1.289rem + 0.901vw, 2.125rem);     /* 24 → 34 */
  --tf-fs-h3:   clamp(1.25rem, 1.118rem + 0.563vw, 1.625rem);    /* 20 → 26 */
  --tf-fs-h4:   clamp(0.875rem, 0.853rem + 0.094vw, 0.9375rem);  /* 14 → 15 */
  --tf-fs-body: clamp(1rem, 0.978rem + 0.094vw, 1.0625rem);      /* 16 → 17 */
  --tf-fs-btn:  clamp(0.9375rem, 0.915rem + 0.094vw, 1rem);      /* 15 → 16 */

  /* Smusso angoli pulsanti e hamburger */
  --tf-cut: 8px;
}

/* ---------- Pulsanti con angoli smussati a 45° ---------- */
.elementor-button {
  border-radius: 0 !important;
  clip-path: polygon(
    var(--tf-cut) 0, calc(100% - var(--tf-cut)) 0,
    100% var(--tf-cut), 100% calc(100% - var(--tf-cut)),
    calc(100% - var(--tf-cut)) 100%, var(--tf-cut) 100%,
    0 calc(100% - var(--tf-cut)), 0 var(--tf-cut)
  );
}
.elementor-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -6px;
}

/* ---------- Icone Tabler (widget Icona, Box icona, Elenco icone) ---------- */
/* Solo tratto, niente riempimento */
.tf-icon .elementor-icon svg {
  fill: none !important;
  stroke: currentColor;
}
/* Negli elenchi il tratto usa il Principale (sovrascrivibile con --tf-list-icon) */
.tf-icon .elementor-icon-list-icon svg {
  fill: none !important;
  stroke: var(--tf-list-icon, var(--e-global-color-primary));
}
/* Social (Elenco icone): hover bianco */
.tf-social .elementor-icon-list-item a:hover {
  --tf-list-icon: #fff;
}

/* Riquadro icone con angoli smussati (12px standard, 8px per icone piccole) */
.tf-icon .elementor-icon {
  --tf-c: 12px;
  clip-path: polygon(
    var(--tf-c) 0, calc(100% - var(--tf-c)) 0,
    100% var(--tf-c), 100% calc(100% - var(--tf-c)),
    calc(100% - var(--tf-c)) 100%, var(--tf-c) 100%,
    0 calc(100% - var(--tf-c)), 0 var(--tf-c)
  );
  border-radius: 0 !important;
}
.tf-icon--sm .elementor-icon { --tf-c: 8px; }

/* Variante B: base rossa */
.tf-icon--b .elementor-icon {
  box-shadow: inset 0 -4px 0 var(--e-global-color-primary);
}

/* Widget Icone social con icone Tabler e riquadro smussato */
.tf-icon .elementor-social-icon svg {
  fill: none !important;
  stroke: var(--e-social-icon-icon-color, currentColor);
}
.tf-icon .elementor-social-icon {
  border-radius: 0 !important;
  clip-path: polygon(
    var(--tf-cut) 0, calc(100% - var(--tf-cut)) 0,
    100% var(--tf-cut), 100% calc(100% - var(--tf-cut)),
    calc(100% - var(--tf-cut)) 100%, var(--tf-cut) 100%,
    0 calc(100% - var(--tf-cut)), 0 var(--tf-cut)
  );
}

/* ---------- Header ---------- */
/* Hamburger: angoli smussati (su desktop resta nascosto da Elementor) */
.tf-nav .elementor-menu-toggle {
  border-radius: 0 !important;
  clip-path: polygon(
    var(--tf-cut) 0, calc(100% - var(--tf-cut)) 0,
    100% var(--tf-cut), 100% calc(100% - var(--tf-cut)),
    calc(100% - var(--tf-cut)) 100%, var(--tf-cut) 100%,
    0 calc(100% - var(--tf-cut)), 0 var(--tf-cut)
  );
}

/* Header mobile: dimensioni hamburger + allineamento con il telefono */
@media (max-width: 767px) {
  .tf-nav .elementor-menu-toggle {
    width: 48px;
    height: 48px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .tf-icon--sm .elementor-icon-wrapper {
    line-height: 0;
    display: flex;
  }
  .tf-nav .elementor-widget-container {
    display: flex;
    align-items: center;
  }
}

/* ---------- Hero pagine: icona ACF nel Box immagine (classe tf-icon-img) ---------- */
/* Riquadro rosso smussato sul contenitore dell'icona */
.tf-icon-img .elementor-image-box-img {
  width: 64px !important;
  height: 64px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--e-global-color-primary);
  clip-path: polygon(
    12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px),
    calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px
  );
}
/* Icona: qualsiasi colore diventa bianco */
.tf-icon-img .elementor-image-box-img img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
}

/* ---------- Metodo: linea tratteggiata tra i passaggi (solo desktop) ---------- */
.tf-step {
  position: relative;
}
@media (min-width: 1025px) {
  .tf-steps .tf-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 32px;            /* metà dell'icona da 64px */
    left: 80px;           /* icona 64px + 16px di respiro */
    right: -16px;         /* si ferma a metà del gap */
    border-top: 2px dashed var(--e-global-color-primary);
    opacity: .5;
  }
}

/* ---------- Utility ---------- */
.glass {
  background: rgb(255 255 255 / .3);
  box-shadow: 0 4px 20px 0 rgb(0 0 0 / .1);
  backdrop-filter: blur(11.5px);
}

/* Metodo: freccia / spunta dopo "Fase N" (icone Tabler via mask) */
.tf-fase .elementor-divider__text::after {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-left: .4em;
  vertical-align: -.2em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 18l6-6'/%3E%3Cpath d='M13 6l6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 18l6-6'/%3E%3Cpath d='M13 6l6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.tf-fase--end .elementor-divider__text::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10-10'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10-10'/%3E%3C/svg%3E");
}


/* Pagina Servizi: card del Query Loop */
.tf-servizi-loop .wp-block-post {
  background: var(--e-global-color-f4f4f4, #F4F4F4);
  padding: 32px;
  box-shadow: inset 0 -4px 0 var(--e-global-color-primary);
  clip-path: polygon(
    12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px),
    calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px
  );
  transition: background .2s ease;
}
.tf-servizi-loop .wp-block-post:hover {
  background: #EDEDED;
}
.tf-servizi-loop .wp-block-post-title {
  margin: 0 0 12px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  font-size: var(--tf-fs-h3);
  text-transform: uppercase;
}
.tf-servizi-loop .wp-block-post-title a {
  color: var(--e-global-color-secondary);
  text-decoration: none;
}
.tf-servizi-loop .wp-block-post-title a:hover {
  color: var(--e-global-color-primary);
}
.tf-servizi-loop .wp-block-post-excerpt__more-link {
  display: inline-block;
  margin-top: 8px;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--e-global-color-primary);
  text-decoration: none;
}
.tf-servizi-loop .wp-block-post-excerpt__more-link::after {
  content: " →";
}
@media (max-width: 1024px) {
  .tf-servizi-loop .wp-block-post-template { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 767px) {
  .tf-servizi-loop .wp-block-post-template { grid-template-columns: 1fr !important; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Alfa Slab One';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/alfa-slab-one-v21-latin-regular.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Barlow Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/barlow-condensed-v13-latin-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow Condensed';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/barlow-condensed-v13-latin-700.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/barlow-v13-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/barlow-v13-latin-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/barlow-v13-latin-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/barlow-v13-latin-700.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'SoccerLeague';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/SoccerLeague.woff2') format('woff2');
}
@font-face {
	font-family: 'SoccerLeague';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.topfire.it/wp-content/uploads/2026/09/SoccerLeague-Italic.woff2') format('woff2');
}
/* End Custom Fonts CSS */