/*
Theme Name: The Space Child Theme
Theme URI: https://thespacesm.com/
Description: Tema figlio di The Space, basato su Hello Elementor. Contiene il CSS globale del sito (prima in Elementor → Codice personalizzato), il JS in assets/js/thespace.js e la favicon.
Author: The Space
Author URI: https://thespacesm.com/
Template: hello-elementor
Version: 2.10.38
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* ==========================================================================
   INDICE
   1. CSS globale del sito (classi ts-, tsh-, tsk2-, … usate dalle pagine Elementor)
   2. Revisione del 26/10/2026 (in fondo al file)
   ========================================================================== */


/* =========================
   HEADER
   ========================= */

header .header-blur {
  background-color: transparent;
}
header .header-blur::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #0000000d;
  backdrop-filter: blur(22px) saturate(1.6);
  -webkit-backdrop-filter: blur(22px) saturate(1.6);
  z-index: -1;
  pointer-events: none;
}

  header .elementor-icon-list-item a {
    display: flex;
    font-size: inherit;
    justify-content: flex-end;
    flex-flow: row-reverse;
}

  header .elementor-icon-list-icon+.elementor-icon-list-text {
    padding-inline-start: 0!important;
}

  header .elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg {
    margin-left:5px;
}

  header .elementor-icon-list-items li {
    min-height:30px;
  }

  /* HEADER SU SFONDI CHIARI */
header .e-n-menu-title-text,
header .e-n-menu-dropdown-icon svg,
header .elementor-heading-title,
header .elementor-icon-list-text,
header .elementor-icon-list-icon svg,
header .elementor-widget-image img{
  transition:color .35s ease, fill .35s ease, filter .35s ease;
}
.header-on-light header .e-n-menu-title-text,
.header-on-light header .elementor-heading-title,
.header-on-light header .elementor-icon-list-text{
  color:#0A0C10 !important;
}
.header-on-light header .e-n-menu-dropdown-icon svg,
.header-on-light header .elementor-icon-list-icon svg{
  fill:#0A0C10 !important;
}
/* logo bianco → nero */
.header-on-light header .elementor-widget-image img{
  filter:brightness(0);
}

/* Link header: righina che sottolinea da sinistra a destra
   (.ts-ul è lo span interno aggiunto dal JS, serve per i testi su due righe) */
header .e-n-menu-title-text,
header .elementor-icon-list-text .ts-ul,
header .elementor-heading-title a{
  background:linear-gradient(currentColor, currentColor) no-repeat left bottom / 0% 1px;
  padding-bottom:2px;
  transition:background-size .35s cubic-bezier(.2,.7,.2,1), color .35s ease, fill .35s ease, filter .35s ease !important;
}
header .e-n-menu-title:hover .e-n-menu-title-text,
header .elementor-icon-list-item a:hover .ts-ul,
header .elementor-heading-title a:hover{
  background-size:100% 1px;
}

/* Pagina corrente: stesso colore delle altre voci (bianco/nero in base allo sfondo) con la righina sempre sotto.
   Prima era blu #266BF6 e sulle fasce blu non si vedeva (05/11/2026). */
header .e-n-menu-title.is-current .e-n-menu-title-text,
header .e-n-menu-title.e-current .e-n-menu-title-text,
header .elementor-icon-list-item.is-current .elementor-icon-list-text,
header .elementor-heading-title.is-current a{
  font-weight:500;
}
/* nel Mega Menu di Elementor la voce attiva è bianca al 60%: qui piena come le altre (sul chiaro vale il nero sopra) */
header .e-n-menu-title.is-current,
header .e-n-menu-title.e-current{
  --n-menu-title-color-active:#FFFFFF;
  --n-menu-title-color-hover:#FFFFFF;
}
header .e-n-menu-title.is-current .e-n-menu-title-text,
header .e-n-menu-title.e-current .e-n-menu-title-text,
header .elementor-icon-list-item.is-current a .ts-ul,
header .elementor-heading-title.is-current a{
  background-size:100% 1px;
}

/* Pulsante header: bianco su sfondo scuro, nero su sfondo chiaro */
header .btn-header .elementor-button{
  background-color:#FFFFFF !important;
  color:#000000 !important;
  transition:background-color .35s ease, color .35s ease;
}
.header-on-light header .btn-header .elementor-button{
  background-color:#000000 !important;
  color:#FFFFFF !important;
}

/* Dropdown */
header .e-n-menu-content {
  background-color: #000000 !important;
  top: calc(100% + 14px) !important;
  transition: background-color .35s ease;
}
.header-on-light header .e-n-menu-content {
  background-color: #FFFFFF !important;
}

/* Header pieno quando il dropdown è aperto */
header .header-blur::before {
  transition: background-color .35s ease;
}
header .header-blur:has(.e-n-menu-content.e-active)::before {
  background-color: #000000;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.header-on-light header .header-blur:has(.e-n-menu-content.e-active)::before {
  background-color: #FFFFFF;
}

  /* Overlay pagina quando il dropdown è aperto */
body::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
  z-index:98;   /* sotto l'header sticky di Elementor (99) */
}
body:has(header .e-n-menu-content.e-active)::after{
  opacity:1;
}

/* =========================
   BASE
   ========================= */

    strong, b {
        font-weight:500;

    }
u{
  color:#266BF6;
  text-decoration:none;
}

    .ts-nowrap{
  white-space:nowrap;
}


    /* Pagina Service */

.label-service ul {
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0;
}

.label-service ul li    {
    background-color: #ffffff;
    width: fit-content;
    padding: 4px 10px;
    border-radius: 100px;
}

/* =========================
   STATEMENT
   ========================= */

.ts-statement{
  display:grid;
  gap:34px;
  font-size:clamp(26px,3.2vw,54px);
  line-height:1.36;
  letter-spacing:-.03em;
  font-weight:400;
}
.ts-statement .tsw{
  display:inline-block;
  filter:blur(6px);
  transform:translateY(8px);
  opacity:0;
  transition:color .5s ease, filter .5s ease, transform .5s ease, opacity .5s ease;
  will-change:filter, transform, opacity;
}
.ts-statement .tsw.is-active{
  filter:blur(0px);
  transform:translateY(0);
  opacity:1;
}

/* SOLO colore, in base alla variante */
.ts-statement-black .tsw{ color:rgba(0,0,0,.28); }
.ts-statement-black .tsw.is-active{ color:#000000; }
.ts-statement-black .tsw.tsw-accent{ color:#4C83F3; }
.ts-statement-black .tsw.tsw-accent.is-active{ color:#266BF6; }

.ts-statement-white .tsw{ color:rgba(255,255,255,.28); }
.ts-statement-white .tsw.is-active{ color:#FFFFFF; }
.ts-statement-white .tsw.tsw-accent{ color:#4C83F3; }
.ts-statement-white .tsw.tsw-accent.is-active{ color:#266BF6; }


/* =========================
   MARQUEE
   ========================= */

.tsmq-track{ overflow:hidden; padding:6px 0; }
.tsmq-row{ display:flex; gap:12px; width:max-content; }
.tsmq-row.tsmq-dir-normal{ animation:tsmq-scroll 60s linear infinite; }
.tsmq-row.tsmq-dir-reverse{ animation:tsmq-scroll 74s linear infinite reverse; }
.tsmq-pill{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:12px 24px;
  border-radius:999px;
  border:1px solid rgba(11,13,16,.12);
  background:#F7F9FC;
  font-size:16px;
  font-weight:500;
  color:rgba(11,13,16,.72);
  white-space:nowrap;
}
.tsmq-pill .tsmq-dot{
  width:7px; height:7px; border-radius:50%;
  background:rgba(11,13,16,.22);
  flex:none;
}
.tsmq-pill .tsmq-logo{
  width:20px; height:20px; object-fit:contain; flex:none;
}
@keyframes tsmq-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(calc(-1 * var(--tsmq-shift, 50%))); }
}


/* =========================
   DOT
   ========================= */

.ts-dot-label{
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.ts-dot-label::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#266BF6;
  display:inline-block;
  flex:none;
}
.ts-dot-label.green::before{
  background:#37bd32;
  position:relative;
  animation:ts-pulse-dot 1.6s ease-in-out infinite;
}
.ts-dot-label p{
  padding-top:3px;
}
@keyframes ts-pulse-dot{
  0%{ transform:scale(1); box-shadow:0 0 0 0 rgba(55,189,50,.6); }
  50%{ transform:scale(1.25); box-shadow:0 0 0 6px rgba(55,189,50,0); }
  100%{ transform:scale(1); box-shadow:0 0 0 0 rgba(55,189,50,0); }
}


/* =========================
   RADIAL BG
   ========================= */

.radial-bg{
  position:relative;
  z-index:1;
  overflow:visible;
}
.radial-bg::before{
  content:"";
  position:absolute;
  width:100%;
  height:130vh;
  top:0;
  left:0;
  background:radial-gradient(
    ellipse 100% 90%  at center top,
    #000000 40%,
    #266BF6 70%,
    #FFFFFF00 100%
  );
  z-index:-1;
  pointer-events:none;
}

.radial-bg-reverse{
  position:relative;
  z-index:1;
  overflow:visible;
}
.radial-bg-reverse::before{
  content:"";
  position:absolute;
  width:100%;
  height:auto;
  bottom:0;
  left:0;
  background:radial-gradient(
    ellipse 100% 90% at center bottom,
    #000000 40%,
    #266BF6 70%,
    #FFFFFF00 100%
  );
  z-index:-1;
  pointer-events:none;
}


/* =========================
   GRADIENT TEXT
   ========================= */

.gradient-text{
  background:linear-gradient(
    90deg,
    #266bf62e 3%,
    #FFFFFF 30%,
    #FFFFFF 70%,
    #266bf62e 97%
  );
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}


/* =========================
   PALLINO + INDICATORE SCORRIMENTO
   ========================= */

/* Pallino */
.tsh-dot{
  color:#266BF6;
  position:relative; display:inline-block; vertical-align:middle;
  width:7px; height:7px; border-radius:50%; background:currentColor;
}
.tsh-dot::before,
.tsh-dot::after{
  content:""; position:absolute; inset:0;
  border-radius:50%; border:1.5px solid currentColor;
  animation: tsh-pulse 2.8s cubic-bezier(.2,.6,.3,1) infinite;
}
.tsh-dot::after{ animation-delay:1.4s; }
@keyframes tsh-pulse{
  0%       { transform:scale(1);   opacity:.75; }
  70%,100% { transform:scale(3.6); opacity:0; }
}

/* Inicatore scorrimento */
.tsh-scroll{
  color:#fff;
  position:relative; display:block; overflow:hidden;
  width:2px; height:64px; margin:0 auto 30px;
  border-radius:1px; background:rgba(255,255,255,0.16);
}
.tsh-scroll::after{
  content:""; position:absolute; left:0; right:0;
  height:20px; border-radius:1px; background:currentColor;
  animation: tsh-run 2.4s cubic-bezier(.55,0,.35,1) infinite;
}
@keyframes tsh-run{
  0%   { transform:translateY(-24px); opacity:0; }
  18%  { opacity:1; }
  72%  { opacity:1; }
  100% { transform:translateY(64px);  opacity:0; }
}


/* =========================
   CARD IMPILATE
   ========================= */

 /* CARD IMPILATE: classe ts-stack sul contenitore generale */
  .ts-stack{
    --ts-stack-top:110px;   /* distanza dall'alto: altezza header + respiro */
    --ts-stack-step:18px;   /* quanto sporge ogni card sopra la successiva */
    --ts-stack-tail:35vh;   /* scroll extra a fine gruppo: l'ultima si rimpicciolisce e tutto resta fermo */
  }
  .ts-stack > .e-con-inner > .e-con,
  .ts-stack > .e-con{
    position:sticky;
    top:calc(var(--ts-stack-top) + var(--i, 0) * var(--ts-stack-step));
    transform-origin:center top;
    will-change:transform;
  }
  /* spazio finale per tenere il mazzo fermo */
  .ts-stack > .e-con-inner::after{
    content:"";
    display:block;
    flex:none;
    height:var(--ts-stack-tail);
  }

  /* Card impilate dentro un Loop Grid */
  .ts-stack .elementor-loop-container{
    display:flex !important;          /* da griglia a colonna, altrimenti lo sticky non funziona */
    flex-direction:column;
    gap:var(--grid-row-gap, 20px);
  }
  .ts-stack .elementor-loop-container > .e-loop-item{
    position:sticky;
    top:calc(var(--ts-stack-top) + var(--i, 0) * var(--ts-stack-step));
    transform-origin:center top;
    will-change:transform;
  }
  .ts-stack .elementor-loop-container::after{
    content:"";
    display:block;
    flex:none;
    height:var(--ts-stack-tail);
  }
    /* Overlay nero sulle card coperte (opacità --ts-shade calcolata dal JS) */
.ts-stack > .e-con-inner > .e-con::after,
.ts-stack > .e-con::after,
.ts-stack .elementor-loop-container > .e-loop-item > .e-con::after{
  content:"";
  position:absolute;
  inset:0;
  background:#000000;
  opacity:var(--ts-shade, 0);
  border-radius:inherit;
  pointer-events:none;
  z-index:5;
}


/* =========================
   REVEAL TESTI E BLOCCHI (classi aggiunte dal JS)
   ========================= */

/* Testi: ogni riga sale dal basso, le righe più in basso partono più distanti */
.tsr-text{
  --tsr-base:.5em;   /* distanza di partenza della prima riga */
  --tsr-step:.3em;   /* distanza in più per ogni riga successiva */
  --tsr-max:1.4em;   /* tetto: nessuna riga parte più in basso di così (evita sovrapposizioni) */
  clip-path:inset(-.3em -.3em -.25em -.3em);   /* le parole emergono dal proprio blocco invece di finire sopra quello sotto */
}
/* stesso ritaglio fatto con overflow:clip (05/11/2026): molto più leggero di clip-path con tante parole che si muovono,
   lo scorrimento resta fluido anche sui computer lenti. Dove overflow-clip-margin non c'è (Safari) resta il clip-path sopra. */
@supports (overflow-clip-margin: 1px){
  .tsr-text{clip-path:none;overflow:clip;overflow-clip-margin:.3em}
}
.tsr-text .tsr-w{
  display:inline-block;
  opacity:0;
  transform:translateY(min(calc(var(--tsr-base) + var(--l, 0) * var(--tsr-step)), var(--tsr-max)));
  /* prima compare (opacità veloce) con le righe ancora larghe, poi si avvicinano piano */
  transition:transform 1.8s cubic-bezier(.3,.1,.1,1), opacity .7s ease;
  transition-delay:calc(.25s + var(--l, 0) * 90ms), calc(.15s + var(--l, 0) * 150ms);
}
.tsr-text.tsr-in .tsr-w{
  opacity:1;
  transform:none;
}
    .tsr-text.tsr-now .tsr-w,
.tsr-fade.tsr-now{
  transition:none !important;
}


/* Blocchi (immagini, icone, pulsanti) e testi con gradiente: salgono in dissolvenza */
.tsr-fade{
  opacity:0;
  transform:translateY(48px);
  transition:transform 1.2s cubic-bezier(.16,.8,.2,1), opacity 1s ease;
}
.tsr-fade.tsr-in{
  opacity:1;
  transform:none;
}


/* =========================
   STEPS (classe ts-steps sulla griglia dei passaggi)
   Ogni passaggio è un container; il primo widget è il Titolo col numero.
   Desktop: un passaggio alla volta si accende, la linea blu avanza (5 passaggi, 2s l'uno).
   Tablet: stesso effetto senza linea. Mobile: carosello da sfogliare, uno alla volta.
   ========================= */

.ts-steps{
  --ts-steps-bleed:20px;   /* padding laterale della sezione su mobile: il carosello arriva al bordo dello schermo */
  position:relative;
}

/* numero nel cerchietto */
.ts-steps > .e-con > .elementor-widget-heading:first-child{position:relative;z-index:1}
.ts-steps > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{
  width:44px;height:44px;border-radius:50%;
  background:#FFFFFF;border:1px solid rgba(11,13,16,.1);color:#266BF6;
  display:flex;align-items:center;justify-content:center;
  clip-path:none;overflow:visible!important;   /* il reveal ritaglia i titoli: qui taglierebbe l'alone */
}

/* linea grigia di base */
.ts-steps::before{content:"";position:absolute;top:22px;left:22px;right:22px;height:1px;background:rgba(11,13,16,.1);z-index:0}

/* linea blu che avanza di un passaggio alla volta */
.ts-steps::after{content:"";position:absolute;top:22px;left:22px;width:0;height:1px;background:#266BF6;z-index:0;animation:ts-step-line 10s ease-in-out .4s infinite}
@keyframes ts-step-line{
  0%,20%{width:0;opacity:1}
  24%,40%{width:calc((100% - 44px) * .25)}
  44%,60%{width:calc((100% - 44px) * .5)}
  64%,80%{width:calc((100% - 44px) * .75)}
  84%,96%{width:calc(100% - 44px);opacity:1}
  100%{width:calc(100% - 44px);opacity:0}
}

/* passaggio attivo: fondo grigino e leggero sollevamento (la sezione è trasparente)
   (l'ombra piena fa da "padding" senza spostare il layout) */
.ts-steps > .e-con{border-radius:6px;position:relative;z-index:1;animation:ts-step-card 10s ease-in-out infinite}
@keyframes ts-step-card{
  0%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 10px rgba(255,255,255,0);transform:none}
  3%,18%{background-color:#F2F4F7;box-shadow:0 0 0 10px #F2F4F7;transform:translateY(-4px)}
  22%,100%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 10px rgba(255,255,255,0);transform:none}
}

/* numero attivo: blu pieno con alone */
.ts-steps > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{animation:ts-step-num 10s ease-in-out infinite}
@keyframes ts-step-num{
  0%{background-color:#FFFFFF;color:#266BF6;border-color:rgba(11,13,16,.1);box-shadow:0 0 0 0 rgba(38,107,246,0)}
  3%,18%{background-color:#266BF6;color:#FFFFFF;border-color:#266BF6;box-shadow:0 0 0 6px rgba(38,107,246,.14)}
  22%,100%{background-color:#FFFFFF;color:#266BF6;border-color:rgba(11,13,16,.1);box-shadow:0 0 0 0 rgba(38,107,246,0)}
}

/* pallini del carosello (aggiunti dal JS): solo tablet e mobile */
.ts-steps-dots{display:none}

/* 2 secondi a passaggio (fino a 6 passaggi) */
.ts-steps > .e-con:nth-child(1),.ts-steps > .e-con:nth-child(1) > .elementor-widget-heading:first-child .elementor-heading-title{animation-delay:.4s}
.ts-steps > .e-con:nth-child(2),.ts-steps > .e-con:nth-child(2) > .elementor-widget-heading:first-child .elementor-heading-title{animation-delay:2.4s}
.ts-steps > .e-con:nth-child(3),.ts-steps > .e-con:nth-child(3) > .elementor-widget-heading:first-child .elementor-heading-title{animation-delay:4.4s}
.ts-steps > .e-con:nth-child(4),.ts-steps > .e-con:nth-child(4) > .elementor-widget-heading:first-child .elementor-heading-title{animation-delay:6.4s}
.ts-steps > .e-con:nth-child(5),.ts-steps > .e-con:nth-child(5) > .elementor-widget-heading:first-child .elementor-heading-title{animation-delay:8.4s}
.ts-steps > .e-con:nth-child(6),.ts-steps > .e-con:nth-child(6) > .elementor-widget-heading:first-child .elementor-heading-title{animation-delay:10.4s}


/* Variante a 6 passaggi: classi "ts-steps ts-steps--6" (ciclo di 12s, la linea avanza di 1/5 alla volta) */
.ts-steps--6::after{animation-name:ts-step-line-6;animation-duration:12s}
.ts-steps--6 > .e-con,
.ts-steps--6 > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{animation-duration:12s}
@keyframes ts-step-line-6{
  0%,16%{width:0;opacity:1}
  19%,33%{width:calc((100% - 44px) * .2)}
  36%,50%{width:calc((100% - 44px) * .4)}
  53%,66%{width:calc((100% - 44px) * .6)}
  69%,83%{width:calc((100% - 44px) * .8)}
  86%,97%{width:calc(100% - 44px);opacity:1}
  100%{width:calc(100% - 44px);opacity:0}
}


/* Variante a 4 passaggi: classi "ts-steps ts-steps--4" (ciclo di 8s, la linea avanza di 1/3 alla volta) */
.ts-steps--4::after{animation-name:ts-step-line-4;animation-duration:8s}
.ts-steps--4 > .e-con,
.ts-steps--4 > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{animation-duration:8s}
@keyframes ts-step-line-4{
  0%,22%{width:0;opacity:1}
  27%,47%{width:calc((100% - 44px) * .333)}
  52%,72%{width:calc((100% - 44px) * .667)}
  77%,96%{width:calc(100% - 44px);opacity:1}
  100%{width:calc(100% - 44px);opacity:0}
}
.ts-steps--4 > .e-con{animation-name:ts-step-card-4}
.ts-steps--4 > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{animation-name:ts-step-num-4}
@keyframes ts-step-card-4{
  0%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 10px rgba(255,255,255,0);transform:none}
  4%,22%{background-color:#F2F4F7;box-shadow:0 0 0 10px #F2F4F7;transform:translateY(-4px)}
  27%,100%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 10px rgba(255,255,255,0);transform:none}
}
@keyframes ts-step-num-4{
  0%{background-color:#FFFFFF;color:#266BF6;border-color:rgba(11,13,16,.1);box-shadow:0 0 0 0 rgba(38,107,246,0)}
  4%,22%{background-color:#266BF6;color:#FFFFFF;border-color:#266BF6;box-shadow:0 0 0 6px rgba(38,107,246,.14)}
  27%,100%{background-color:#FFFFFF;color:#266BF6;border-color:rgba(11,13,16,.1);box-shadow:0 0 0 0 rgba(38,107,246,0)}
}


/* =========================
   CAROSELLO ORIZZONTALE (classe ts-hscroll su una griglia/container)
   Desktop: resta la griglia di Elementor. Tablet e mobile: si sfoglia col dito.
   ========================= */
.ts-hscroll{ --ts-hscroll-bleed:40px; }   /* = padding laterale della sezione su tablet */


/* =========================
   COLORI PER PAGINA
   ========================= */

/* Radial verde solo pagina 1389 */
.ts-pagina-shopify u{
  color:#88B339;
}
.ts-pagina-shopify .radial-bg::before{
  background:radial-gradient(
    ellipse 100% 90% at center top,
    #000000 40%,
    #88B339 70%,
    #FFFFFF00 100%
  );
}
.ts-pagina-shopify .radial-bg-reverse::before{
  background:radial-gradient(
    ellipse 100% 90% at center bottom,
    #000000 40%,
    #88B339 70%,
    #FFFFFF00 100%
  );
}
.ts-pagina-shopify .ts-dot-label::before{
  background:#88B339;
}
.ts-pagina-shopify .tsh-dot{
  color:#88B339;
}

/* Radial arancione solo pagina 1671 */
.ts-pagina-magento u{
  color:#F46F25;
}
.ts-pagina-magento .radial-bg::before{
  background:radial-gradient(
    ellipse 100% 90% at center top,
    #000000 40%,
    #F46F25 70%,
    #FFFFFF00 100%
  );
}
.ts-pagina-magento .radial-bg-reverse::before{
  background:radial-gradient(
    ellipse 100% 90% at center bottom,
    #000000 40%,
    #F46F25 70%,
    #FFFFFF00 100%
  );
}
.ts-pagina-magento .ts-dot-label::before{
  background:#F46F25;
}
.ts-pagina-magento .tsh-dot{
  color:#F46F25;
}

/* Radial viola solo pagina 1859 (WooCommerce) */
.page-id-1859 u{
  color:#720EEC;
}
.page-id-1859 .radial-bg::before{
  background:radial-gradient(
    ellipse 100% 90% at center top,
    #000000 40%,
    #720EEC 70%,
    #FFFFFF00 100%
  );
}
.page-id-1859 .radial-bg-reverse::before{
  background:radial-gradient(
    ellipse 100% 90% at center bottom,
    #000000 40%,
    #720EEC 70%,
    #FFFFFF00 100%
  );
}
.page-id-1859 .ts-dot-label::before{
  background:#720EEC;
}
.page-id-1859 .tsh-dot{
  color:#720EEC;
}


/* Pagine AI (Landing One 1962, Sami 3028, Integrazioni AI 3301): parole evidenziate con la sfumatura
   viola → blu dell'etichetta "AI" (anche quelle con l'animazione parola per parola .tsr-w). Revisione 27/10/2026.
   AI Operations (3058) dal 28/10 ha il blu pieno del sito, come le altre pagine. */
:is(.ts-pagina-landing-one,.ts-pagina-sami,.ts-pagina-integrazione-ai) :is(u,u .tsr-w,u .ts-nowrap){background-image:linear-gradient(90deg,#7A2BEF 0%,#266BF6 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
:is(.ts-pagina-landing-one,.ts-pagina-sami,.ts-pagina-integrazione-ai) .ts-dot-label::before{background:linear-gradient(90deg,#7A2BEF,#266BF6)!important}

/* Colore della pagina anche nel modulo contatti (pulsante e campo selezionato), revisione 27/10/2026 */
.ts-pagina-shopify .elementor-field-type-submit .elementor-button{background-color:#88B339!important}
.ts-pagina-shopify .elementor-field-textual:focus{border-color:#88B339!important;box-shadow:0 0 0 4px rgba(136,179,57,.16)!important}
.ts-pagina-shopify .elementor-field-type-acceptance input{accent-color:#88B339}
.ts-pagina-magento .elementor-field-type-submit .elementor-button{background-color:#F46F25!important}
.ts-pagina-magento .elementor-field-textual:focus{border-color:#F46F25!important;box-shadow:0 0 0 4px rgba(244,111,37,.16)!important}
.ts-pagina-magento .elementor-field-type-acceptance input{accent-color:#F46F25}
.page-id-1859 .elementor-field-type-submit .elementor-button{background-color:#720EEC!important}
.page-id-1859 .elementor-field-textual:focus{border-color:#720EEC!important;box-shadow:0 0 0 4px rgba(114,14,236,.16)!important}
.page-id-1859 .elementor-field-type-acceptance input{accent-color:#720EEC}


/* =========================
   MEDIA QUERY
   ========================= */

/* Radial circle da 1024px in giù */
@media (max-width:1024px){
  .radial-bg::before{
    background:radial-gradient(
      circle 200vw at center top,
      #000000 40%,
      #266BF6 70%,
      #FFFFFF00 100%
    );
  }
  .radial-bg-reverse::before{
    background:radial-gradient(
      circle 300vw at center bottom,
      #000000 40%,
      #266BF6 70%,
      #FFFFFF00 100%
    );
  }

  .ts-pagina-shopify .radial-bg::before{
    background:radial-gradient(
      circle 200vw at center top,
      #000000 40%,
      #88B339 70%,
      #FFFFFF00 100%
    );
  }
  .ts-pagina-shopify .radial-bg-reverse::before{
    background:radial-gradient(
      circle 300vw at center bottom,
      #000000 40%,
      #88B339 70%,
      #FFFFFF00 100%
    );
  }

  .ts-pagina-magento .radial-bg::before{
    background:radial-gradient(
      circle 200vw at center top,
      #000000 40%,
      #F46F25 70%,
      #FFFFFF00 100%
    );
  }
  .ts-pagina-magento .radial-bg-reverse::before{
    background:radial-gradient(
      circle 300vw at center bottom,
      #000000 40%,
      #F46F25 70%,
      #FFFFFF00 100%
    );
  }

  .page-id-1859 .radial-bg::before{
    background:radial-gradient(
      circle 200vw at center top,
      #000000 40%,
      #720EEC 70%,
      #FFFFFF00 100%
    );
  }
  .page-id-1859 .radial-bg-reverse::before{
    background:radial-gradient(
      circle 300vw at center bottom,
      #000000 40%,
      #720EEC 70%,
      #FFFFFF00 100%
    );
  }

  /* Steps: carosello automatico (lo fa avanzare ts-steps.js), stile come da desktop */
  .ts-steps{ --ts-steps-bleed:40px; }   /* = padding laterale della sezione su tablet */
  .ts-steps::before,
  .ts-steps::after{ display:none; }
  .elementor .ts-steps{
    --display:flex;
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--ts-steps-bleed);
    /* esce dal padding della sezione e arriva ai bordi dello schermo:
       margine negativo a sinistra + larghezza allargata dei due padding
       (Elementor fissa la larghezza al 100%, col solo margine resterebbe un vuoto a destra) */
    --width:calc(100% + var(--ts-steps-bleed) * 2);
    width:calc(100% + var(--ts-steps-bleed) * 2) !important;
    max-width:none !important;
    margin-inline:calc(var(--ts-steps-bleed) * -1) !important;
    padding:8px var(--ts-steps-bleed) !important;   /* 8px sopra: spazio per il sollevamento */
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .ts-steps::-webkit-scrollbar{ display:none; }
  .elementor .ts-steps > .e-con{
    flex:0 0 44% !important;
    max-width:44%;
    scroll-snap-align:start;
    padding:24px !important;
    border-radius:16px;
    animation:none;
    background-color:rgba(255,255,255,0);
    box-shadow:none;
    transform:none;
    transition:background-color .5s ease, transform .5s ease;
  }
  .elementor .ts-steps > .e-con.is-active{
    background-color:#F2F4F7;
    transform:translateY(-4px);
  }
  .ts-steps > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{
    animation:none;
    transition:background-color .5s ease, color .5s ease, border-color .5s ease, box-shadow .5s ease;
  }
  .ts-steps > .e-con.is-active > .elementor-widget-heading:first-child .elementor-heading-title{
    background-color:#266BF6;
    color:#FFFFFF;
    border-color:#266BF6;
    box-shadow:0 0 0 6px rgba(38,107,246,.14);
  }
  /* pallini: quello attivo diventa un trattino blu */
  .ts-steps-dots{ display:flex; justify-content:center; gap:4px; margin-top:-16px; }   /* avvicina i pallini al carosello (il container della sezione ha il suo gap) */
  .ts-steps-dots button{
    all:unset;
    box-sizing:border-box;
    min-width:24px; height:24px;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
  }
  .ts-steps-dots button::before{
    content:"";
    width:8px; height:8px; border-radius:999px;
    background:rgba(11,13,16,.18);
    transition:width .4s ease, background-color .4s ease;
  }
  .ts-steps-dots button.is-active::before{ width:28px; background:#266BF6; }
  .ts-steps-dots button:focus-visible{ outline:2px solid #266BF6; outline-offset:2px; border-radius:6px; }
  /* il tema colora di rosa i pulsanti al tocco/focus: sui pallini niente sfondo */
  .ts-steps-dots button,
  .ts-steps-dots button:hover,
  .ts-steps-dots button:focus,
  .ts-steps-dots button:active{ background:transparent !important; color:inherit !important; border:0 !important; box-shadow:none !important; -webkit-tap-highlight-color:transparent; }

  /* Carosello orizzontale */
  .elementor .ts-hscroll{
    --display:flex;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--ts-hscroll-bleed);
    --width:calc(100% + var(--ts-hscroll-bleed) * 2);
    width:calc(100% + var(--ts-hscroll-bleed) * 2) !important;
    max-width:none !important;
    margin-inline:calc(var(--ts-hscroll-bleed) * -1) !important;
    padding-inline:var(--ts-hscroll-bleed) !important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .ts-hscroll::-webkit-scrollbar{ display:none; }
  .elementor .ts-hscroll > .e-con{
    flex:0 0 44% !important;
    max-width:44%;
    scroll-snap-align:start;
  }
}

/* Card impilate da 767px in giù */
  @media (max-width:767px){
    .ts-stack{
      --ts-stack-top:80px;   /* header mobile più basso: regola sull'altezza reale */
      --ts-stack-step:12px;
      --ts-stack-tail:25vh;
    }
  }

/* Steps da 767px in giù: un passaggio alla volta, si vede il bordo del successivo */
@media (max-width:767px){
  .ts-steps{ --ts-steps-bleed:20px; }   /* = padding laterale della sezione su mobile */
  .ts-hscroll{ --ts-hscroll-bleed:20px; }
  .elementor .ts-hscroll > .e-con{ flex-basis:85% !important; max-width:85%; }
  .elementor .ts-steps > .e-con{
    flex-basis:85% !important;
    max-width:85%;
  }
}

@media (prefers-reduced-motion: reduce){
  .tsh-dot::before,
  .tsh-dot::after{ display:none; }
  .tsh-scroll::after{ animation:none; }
  .ts-steps::after,
  .ts-steps > .e-con,
  .ts-steps > .e-con > .elementor-widget-heading:first-child .elementor-heading-title{ animation:none !important; }
}


/* ==========================================================================
   NUOVE PAGINE 2026 — aggiunto il 08/10/2026
   ========================================================================== */

/* --------------------------------------------------------------------------
   MODULI (Contatti, Lavora con noi): domande a pillole + campi sottolineati
   Classe "tsk-form" sul widget Form (Avanzate → Classi CSS)
   -------------------------------------------------------------------------- */
.elementor-widget-form.tsk-form .elementor-form-fields-wrapper{row-gap:28px}
.elementor-widget-form.tsk-form .elementor-field-group{margin-bottom:0!important;flex-wrap:wrap}
.elementor-widget-form.tsk-form .elementor-field-group>.elementor-field-label{flex-basis:100%;display:block;width:100%}
.elementor-widget-form.tsk-form .elementor-field-label{font-family:"Poppins",sans-serif!important;font-size:13px!important;font-weight:500!important;color:rgba(11,13,16,.6)!important;margin-bottom:6px!important}
.elementor-widget-form.tsk-form .elementor-field-type-checkbox>.elementor-field-label,.elementor-widget-form.tsk-form .elementor-field-type-radio>.elementor-field-label{font-size:22px!important;font-weight:500!important;letter-spacing:-.3px;color:#0B0D10!important;margin-bottom:16px!important}
.elementor-widget-form.tsk-form .elementor-field-type-checkbox .elementor-field-subgroup,.elementor-widget-form.tsk-form .elementor-field-type-radio .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:10px}
.elementor-widget-form.tsk-form .elementor-field-type-checkbox .elementor-field-option,.elementor-widget-form.tsk-form .elementor-field-type-radio .elementor-field-option{position:relative;margin:0!important;padding:0!important}
.elementor-widget-form.tsk-form .elementor-field-type-checkbox .elementor-field-option input,.elementor-widget-form.tsk-form .elementor-field-type-radio .elementor-field-option input{position:absolute;opacity:0;pointer-events:none}
.elementor-widget-form.tsk-form .elementor-field-type-checkbox .elementor-field-option label,.elementor-widget-form.tsk-form .elementor-field-type-radio .elementor-field-option label{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;background:#FFFFFF;border:1px solid rgba(11,13,16,.12);font-family:"Poppins",sans-serif;font-size:15px;font-weight:500;color:#0B0D10;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.elementor-widget-form.tsk-form .elementor-field-type-checkbox .elementor-field-option label:before,.elementor-widget-form.tsk-form .elementor-field-type-radio .elementor-field-option label:before{content:"";width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(11,13,16,.3);transition:all .2s;flex:none}
.elementor-widget-form.tsk-form .elementor-field-option input:checked+label{background:#0B0D10!important;color:#FFFFFF!important;border-color:#0B0D10!important}
.elementor-widget-form.tsk-form .elementor-field-option input:checked+label:before{background:#266BF6;border-color:#266BF6;box-shadow:inset 0 0 0 3px #0B0D10}
.elementor-widget-form.tsk-form .elementor-field-option input:focus-visible+label{outline:2px solid #266BF6;outline-offset:2px}
.elementor-widget-form.tsk-form .elementor-field-type-checkbox,.elementor-widget-form.tsk-form .elementor-field-type-radio{margin-bottom:16px!important}
.elementor-widget-form.tsk-form .elementor-field-textual{font-family:"Poppins",sans-serif!important;font-size:20px!important;line-height:1.4!important;color:#0B0D10!important;background:transparent!important;border:0!important;border-bottom:1.5px solid rgba(11,13,16,.2)!important;border-radius:0!important;padding:10px 0!important;min-height:0!important;height:auto!important;box-shadow:none!important;transition:border-color .2s}
.elementor-widget-form.tsk-form textarea.elementor-field-textual{min-height:120px!important}
.elementor-widget-form.tsk-form .elementor-field-textual:focus{border-bottom-color:#266BF6!important}
.elementor-widget-form.tsk-form .elementor-field-textual::placeholder{color:rgba(11,13,16,.32)!important}
.elementor-widget-form.tsk-form .elementor-field-type-upload .elementor-field{width:100%;padding:34px 20px!important;border:1.5px dashed rgba(11,13,16,.25)!important;border-radius:16px!important;background:#FFFFFF!important;font-family:"Poppins",sans-serif;font-size:15px!important;color:rgba(11,13,16,.66)!important;cursor:pointer}
.elementor-widget-form.tsk-form .elementor-field-type-upload .elementor-field:hover{border-color:#266BF6!important}
.elementor-widget-form.tsk-form .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:10px;align-items:flex-start}
.elementor-widget-form.tsk-form .elementor-field-type-acceptance label{font-family:"Poppins",sans-serif;font-size:14px!important;line-height:1.45;color:rgba(11,13,16,.66)!important}
.elementor-widget-form.tsk-form .elementor-acceptance-field{accent-color:#266BF6;width:18px;height:18px;margin-top:2px}
.elementor-widget-form.tsk-form .elementor-field-type-submit{margin-top:12px}
.elementor-widget-form.tsk-form .elementor-button{height:64px;padding:0 36px!important;border-radius:999px!important;background:#266BF6!important;color:#FFFFFF!important;font-family:"Poppins",sans-serif!important;font-size:17px!important;font-weight:500!important;transition:background-color .25s,transform .25s}
.elementor-widget-form.tsk-form .elementor-button:hover{background:#0B0D10!important;transform:translateY(-2px)}
.elementor-widget-form.tsk-form .elementor-button-text:after{content:"";display:inline-block;width:18px;height:18px;margin-left:12px;vertical-align:-3px;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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor-widget-form.tsk-form .elementor-message{font-family:"Poppins",sans-serif;font-size:16px;margin-top:16px}
@media (max-width:767px){
.elementor-widget-form.tsk-form .elementor-field-type-checkbox>.elementor-field-label,.elementor-widget-form.tsk-form .elementor-field-type-radio>.elementor-field-label{font-size:19px!important}
.elementor-widget-form.tsk-form .elementor-field-option label{padding:11px 16px!important;font-size:14px!important}
.elementor-widget-form.tsk-form .elementor-field-textual{font-size:17px!important}
.elementor-widget-form.tsk-form .elementor-field-type-submit .elementor-button{width:100%}
}

/* --------------------------------------------------------------------------
   CONTATTI: righe link (email, telefono, modulo) nella hero
   Classe "tsk2-row" sul container-link
   -------------------------------------------------------------------------- */
.tsk2-row,.tsk2-row *{text-decoration:none!important}
.tsk2-row{transition:padding .35s cubic-bezier(.2,.8,.2,1)}
.tsk2-row:hover{padding-left:14px!important}
.tsk2-row:after{content:"";position:absolute;right:0;top:50%;width:56px;height:56px;margin-top:-28px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");transition:transform .35s,background-color .3s,border-color .3s}
.tsk2-row:hover:after{transform:rotate(-45deg);background-color:#266BF6;border-color:#266BF6}
.tsk2-row{position:relative;padding-right:76px!important}
@media (max-width:767px){.tsk2-row:after{width:42px;height:42px;margin-top:-21px;background-size:16px}.tsk2-row{padding-right:56px!important}}

/* --------------------------------------------------------------------------
   EXPERIENCE: parete dei clienti
   Classi "tsk2-wall" (griglia) e "tsk2-cell" (celle)
   -------------------------------------------------------------------------- */
.tsk2-wall{border-top:1px solid rgba(11,13,16,.12);border-left:1px solid rgba(11,13,16,.12)}
.tsk2-cell{border-right:1px solid rgba(11,13,16,.12);border-bottom:1px solid rgba(11,13,16,.12);transition:background-color .3s}
.tsk2-cell:hover{background:#0B0D10}
.tsk2-cell:hover .elementor-heading-title{color:#FFFFFF!important}

/* --------------------------------------------------------------------------
   CARD SCURE CHE SI SOLLEVANO (Experience, Lavora con noi)
   Classe "tsk2-card"
   -------------------------------------------------------------------------- */
.tsk2-card{transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s}
.tsk2-card:hover{transform:translateY(-6px)}

/* --------------------------------------------------------------------------
   STAFF: filtro per area, foto e badge "Online"
   Classi "tsk2-f" / "tsk2-fb" (filtro), "tsk2-person" + "tsk2-a-<area>" (card persona)
   Il badge "Online" compare sulle card con la classe "tsk2-on" (la aggiunge lo script della hero, persona per persona)
   -------------------------------------------------------------------------- */
.tsk2-f{display:flex;flex-wrap:wrap;gap:10px}
.tsk2-fb{appearance:none;border:1px solid rgba(11,13,16,.14);background:#FFFFFF;color:#0B0D10;border-radius:999px;padding:12px 20px;font:500 15px/1.2 "Poppins",sans-serif;cursor:pointer;transition:all .2s}
.tsk2-fb:hover{border-color:#0B0D10}
.tsk2-fb[aria-pressed="true"]{background:#0B0D10;border-color:#0B0D10;color:#FFFFFF}
.tsk2-person .elementor-widget-image{position:relative}
.tsk2-person img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
/* "Online" a destra, stessa altezza dell'etichetta dell'area a sinistra (28px, 24px su mobile).
   tsk2-on sulla card lo mette lo script della hero, in base allo stato su Discord (endpoint thespace/v1/team-online) */
.tsk2-person .ts-no-reveal{height:28px;display:flex!important;align-items:center}
.tsk2-person .ts-no-reveal .elementor-heading-title{display:block;line-height:1!important}
.tsk2-person.tsk2-on .elementor-widget-image:after{content:"Online";position:absolute;left:auto;right:14px;top:14px;height:28px;display:flex;align-items:center;box-sizing:border-box;padding:0 12px 0 26px;border-radius:999px;background:rgba(11,13,16,.72) no-repeat 11px 50%/8px 8px radial-gradient(circle,#3DDC84 60%,transparent 62%);color:#FFFFFF;font:500 12.5px/1 "Poppins",sans-serif}
.tsk2-person.tsk2-hide{display:none!important}
/* stato da Discord (27/10): Online verde, Inattivo giallo, Non disturbare rosso, Offline grigio; i pallini degli avatar nella hero seguono gli stessi colori */
.tsk2-person.tsk2-idle .elementor-widget-image:after,.tsk2-person.tsk2-dnd .elementor-widget-image:after,.tsk2-person.tsk2-off .elementor-widget-image:after{position:absolute;left:auto;right:14px;top:14px;height:28px;display:flex;align-items:center;box-sizing:border-box;padding:0 12px 0 26px;border-radius:999px;background:rgba(11,13,16,.72) no-repeat 11px 50%/8px 8px radial-gradient(circle,#3DDC84 60%,transparent 62%);color:#FFFFFF;font:500 12.5px/1 "Poppins",sans-serif}
.tsk2-person.tsk2-idle .elementor-widget-image:after{content:"Inattivo";background-image:radial-gradient(circle,#F5B83D 60%,transparent 62%)}
.tsk2-person.tsk2-dnd .elementor-widget-image:after{content:"Non disturbare";background-image:radial-gradient(circle,#F04848 60%,transparent 62%)}
.tsk2-person.tsk2-off .elementor-widget-image:after{content:"Offline";background-image:radial-gradient(circle,#9AA0AA 60%,transparent 62%);background-color:rgba(11,13,16,.55)}
.tskc-a.tskc-idle:after{background:#F5B83D!important}
.tskc-a.tskc-dnd:after{background:#F04848!important}
@media (max-width:767px){.tsk2-person img{border-radius:14px}.tsk2-fb{padding:10px 14px;font-size:14px}}
/* Staff: su mobile "Online" diventa un tondo con il pallino, alto come l'etichetta */
@media (max-width:767px){.tsk2-person .ts-no-reveal{height:24px}.tsk2-person.tsk2-on .elementor-widget-image:after{content:"";right:10px;top:10px;width:24px;height:24px;padding:0;background-position:center;background-size:9px 9px}}

/* ==========================================================================
   STAFF — banner nero "Vuoi lavorare con il nostro team?" (classe tsk2-banner), con il pulsante "Lavora con noi"
   ========================================================================== */
.tsk2-banner .elementor-button{white-space:nowrap}



/* =========================================================================
   PROVA 09/10/2026 — solo AI Operations: FAQ stile Apple e modulo su card scura
   Se piacciono si estendono alle altre pagine.
   ========================================================================= */

/* ---------- FAQ (classe ts-faq2 sul widget Interruttore, ts-faq2-wrap sul suo container) */
.ts-faq2-wrap{width:100%;max-width:880px;margin:0 auto}
.ts-faq2 .elementor-toggle-item{border-bottom:1px solid rgba(11,13,16,.1)}
.ts-faq2 .elementor-toggle-item:first-child{border-top:1px solid rgba(11,13,16,.1)}
.ts-faq2 .elementor-tab-title,
.ts-faq2 .elementor-tab-content{border:0 !important}
.ts-faq2 .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer}
.ts-faq2 .elementor-toggle-title{order:-1;transition:color .25s ease}
.ts-faq2 .elementor-tab-title:hover .elementor-toggle-title{color:#266BF6 !important}
/* + sottile disegnato in CSS: ruota e diventa × quando la risposta è aperta */
.ts-faq2 .elementor-toggle-icon{position:relative;flex:none;width:32px !important;height:32px !important;min-width:32px;padding:0 !important;background:transparent;border-radius:50%;border:1px solid rgba(11,13,16,.16);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),background-color .3s ease,border-color .3s ease}
.ts-faq2 .elementor-toggle-icon > span{display:none !important}
.ts-faq2 .elementor-toggle-icon::before,
.ts-faq2 .elementor-toggle-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;border-radius:2px;background:#0B0D10;transform:translate(-50%,-50%);transition:background-color .3s ease}
.ts-faq2 .elementor-toggle-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.ts-faq2 .elementor-tab-title:hover .elementor-toggle-icon{border-color:#266BF6}
.ts-faq2 .elementor-tab-title.elementor-active .elementor-toggle-icon{transform:rotate(45deg);background:#0B0D10;border-color:#0B0D10}
.ts-faq2 .elementor-tab-title.elementor-active .elementor-toggle-icon::before,
.ts-faq2 .elementor-tab-title.elementor-active .elementor-toggle-icon::after{background:#FFFFFF}
.ts-faq2 .elementor-tab-content{max-width:760px}
.ts-faq2 .elementor-tab-content p:last-child{margin-bottom:0}
.ts-faq2 .elementor-tab-title:focus-visible{outline:2px solid #266BF6;outline-offset:4px;border-radius:8px}

/* ---------- Modulo (classe ts-form2 sul widget Modulo, ts-form2-side sulla colonna di testo) */
/* il contenitore del menu a tendina ha anch'esso la classe elementor-field: lo stile va solo sui campi veri */
.ts-form2 .elementor-field-group:not(.elementor-field-type-acceptance) .elementor-field:not(.elementor-select-wrapper){min-height:54px;padding:14px 16px !important;border:1px solid transparent !important;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.ts-form2 textarea.elementor-field{min-height:128px;resize:vertical}
.ts-form2 .elementor-field:not(.elementor-select-wrapper):hover{background-color:#ECEFF3 !important}
.ts-form2 .elementor-field:not(.elementor-select-wrapper):focus{background-color:#FFFFFF !important;border-color:#266BF6 !important;box-shadow:0 0 0 4px rgba(38,107,246,.14) !important;outline:0}
.ts-form2 .elementor-select-wrapper{padding:0 !important;background:transparent !important;border:0 !important}
.ts-form2 .elementor-field-group:not(.elementor-field-type-acceptance) select.elementor-field:not(.elementor-select-wrapper){padding-right:44px !important;height:54px}
.ts-form2 .elementor-field-type-acceptance label{font-size:13px;color:rgba(11,13,16,.6)}
.ts-form2 .elementor-field-type-acceptance input{accent-color:#266BF6}
.ts-form2 .e-form__buttons{margin-top:8px}
.ts-form2 .elementor-button{min-height:56px;transition:background-color .25s ease,transform .25s ease}
.ts-form2 .elementor-button:hover{transform:translateY(-2px)}
.ts-form2-side a{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35);transition:text-decoration-color .2s}
.ts-form2-side a:hover{text-decoration-color:#FFFFFF}


/* ==========================================================================
   HEADER MOBILE E TABLET (≤1024px) — aggiunto il 09/10/2026
   Il Mega Menu si nasconde, compare l'hamburger (.ts-mnav-btn nel widget HTML .ts-mnav-w).
   Il pannello a livelli (#ts-mnav) lo crea il JS leggendo le voci del Mega Menu.
   ========================================================================== */
@media (max-width:1024px){
  header .btn-header{margin-left:auto}
}
.ts-mnav-w{width:auto;line-height:0}
.ts-mnav-w .ts-mnav-btn{position:relative;width:44px;height:44px;margin-right:-8px;padding:0;border:0;background:transparent!important;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ts-mnav-btn span{position:absolute;left:11px;width:22px;height:1.5px;border-radius:2px;background:#FFFFFF;transition:transform .35s cubic-bezier(.2,.7,.2,1),top .35s cubic-bezier(.2,.7,.2,1),background-color .35s ease}
.ts-mnav-btn span:first-child{top:18px}
.ts-mnav-btn span:last-child{top:25px}
.ts-mnav-open .ts-mnav-btn span:first-child{top:21.5px;transform:rotate(45deg)}
.ts-mnav-open .ts-mnav-btn span:last-child{top:21.5px;transform:rotate(-45deg)}
.header-on-light .ts-mnav-btn span{background:#0A0C10}

/* menu aperto: header sempre scuro, anche sopra le sezioni chiare */
.ts-mnav-open header .header-blur::before{background-color:#0A0C10;backdrop-filter:none;-webkit-backdrop-filter:none}
.ts-mnav-open.header-on-light .ts-mnav-btn span{background:#FFFFFF}
.ts-mnav-open.header-on-light header .elementor-widget-image img{filter:none}
.ts-mnav-open.header-on-light header .btn-header .elementor-button{background-color:#FFFFFF!important;color:#000000!important}
html.ts-mnav-lock,html.ts-mnav-lock body{overflow:hidden}

/* pannello */
.ts-mnav{position:fixed;left:0;right:0;top:var(--ts-mnav-top,64px);bottom:0;z-index:99;background:#0A0C10;color:#FFFFFF;font-family:Poppins,sans-serif;overflow:hidden;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}
.ts-mnav.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .3s ease,transform .3s ease,visibility 0s}
.ts-mnav-p{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:20px 24px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease,visibility 0s linear .45s}
.ts-mnav-p.is-on{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease,visibility 0s}
.ts-mnav-p.is-past{transform:translateX(-30%);opacity:0}
.ts-mnav-in{width:100%;max-width:560px;margin:0 auto;flex:1;display:flex;flex-direction:column}
.ts-mnav ul{list-style:none;margin:0;padding:0}
.ts-mnav li{border-bottom:1px solid rgba(255,255,255,.1)}
.ts-mnav .ts-mnav-i{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 0;border:0;background:none!important;color:#FFFFFF!important;font:500 26px/1.15 Poppins,sans-serif;letter-spacing:-.5px;text-align:left;text-decoration:none;cursor:pointer}
.ts-mnav-i small{display:block;margin-top:4px;font-size:14px;font-weight:400;letter-spacing:0;color:rgba(255,255,255,.6)}
.ts-mnav-i svg{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;opacity:.6}
.ts-mnav-i.is-current{color:#7AA3F7!important}
.ts-mnav-i.is-off{opacity:.45;cursor:default}
.ts-mnav-p[data-lv="2"] .ts-mnav-i{font-size:20px;padding:15px 0;letter-spacing:-.2px}
.ts-mnav-ic{display:inline-flex;margin-left:8px;vertical-align:middle}
.ts-mnav-ic svg,.ts-mnav-ic img{width:auto;height:18px;opacity:1;stroke:none}
.ts-mnav .ts-mnav-back{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:0 0 12px -2px;padding:8px 0;border:0;background:none!important;color:rgba(255,255,255,.7)!important;font:400 15px/1 Poppins,sans-serif;cursor:pointer}
.ts-mnav-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.ts-mnav-h{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.ts-mnav-all{display:inline-flex;align-items:center;gap:8px;margin:20px 0 0;color:#7AA3F7!important;font-size:15px;font-weight:500;text-decoration:none}
.ts-mnav-foot{margin-top:auto;padding-top:32px}
.ts-mnav-cta{display:flex;justify-content:center;padding:16px 24px;border-radius:999px;background:#FFFFFF;color:#000000!important;font-size:15.5px;font-weight:600;text-decoration:none}
.ts-mnav-i:focus-visible,.ts-mnav-back:focus-visible,.ts-mnav-cta:focus-visible,.ts-mnav-btn:focus-visible{outline:2px solid #7AA3F7;outline-offset:2px}
@media (min-width:768px){.ts-mnav-p{padding:32px 40px 48px}.ts-mnav .ts-mnav-i{font-size:30px}}
@media (min-width:1025px){.ts-mnav{display:none}}
@media (prefers-reduced-motion:reduce){.ts-mnav,.ts-mnav-p,.ts-mnav-btn span{transition:none}}


/* ==========================================================================
   PAGINE CORPORATE — revisione del 12/10/2026
   ========================================================================== */

/* ---------- MODULI CORPORATE (Contatti, Lavora con noi): campi a rettangolo bianco, come il modulo delle pagine servizio */
.elementor-widget-form.tsk-form .elementor-field-textual{min-height:54px;padding:14px 16px!important;font-size:16px!important;background:#FFFFFF!important;border:1px solid rgba(11,13,16,.1)!important;border-radius:12px!important;transition:border-color .2s ease,box-shadow .2s ease}
.elementor-widget-form.tsk-form .elementor-field-textual:hover{border-color:rgba(11,13,16,.22)!important}
.elementor-widget-form.tsk-form .elementor-field-textual:focus{border-color:#266BF6!important;box-shadow:0 0 0 4px rgba(38,107,246,.14)!important;outline:0}
.elementor-widget-form.tsk-form textarea.elementor-field-textual{min-height:128px!important;resize:vertical}
.elementor-widget-form.tsk-form .elementor-field-type-upload .elementor-field{border-radius:12px!important}

/* ---------- CONTATTI: hero con luce blu che si muove (classe tscx-hero) */
.tscx-hero{position:relative;isolation:isolate}
.tscx-hero:before,.tscx-hero:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(90px);pointer-events:none}
.tscx-hero:before{width:62vw;height:62vw;max-width:900px;max-height:900px;left:50%;top:58%;margin:-31vw 0 0 -31vw;background:radial-gradient(circle,#266BF6 0%,rgba(38,107,246,0) 68%);opacity:.75;animation:tscx-a 14s ease-in-out infinite}
.tscx-hero:after{width:34vw;height:34vw;left:12%;top:8%;background:radial-gradient(circle,#7A3CF0 0%,rgba(122,60,240,0) 70%);opacity:.45;animation:tscx-b 18s ease-in-out infinite}
@keyframes tscx-a{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,-6%) scale(1.12)}}
@keyframes tscx-b{0%,100%{transform:translate(0,0)}50%{transform:translate(30%,20%)}}
@media (max-width:767px){.tscx-hero:before{width:130vw;height:130vw;margin:-65vw 0 0 -65vw}.tscx-hero:after{width:70vw;height:70vw}}
@media (prefers-reduced-motion:reduce){.tscx-hero:before,.tscx-hero:after{animation:none}}

/* CONTATTI: mappa Google (widget nativo, classe tscx-map) con gli angoli arrotondati */
.tscx-map iframe{border-radius:24px}
@media (max-width:767px){.tscx-map iframe{border-radius:18px}}

/* CONTATTI: email, telefono e sede (card-link .tscx-way) */
.tscx-way,.tscx-way *{text-decoration:none!important}
.tscx-way{position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),background-color .35s}
.tscx-way:after{content:"";position:absolute;right:28px;top:28px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12L12 4M6 4h6v6' stroke='%23FFFFFF' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transition:transform .4s,background-color .3s,border-color .3s}
.tscx-way:hover{transform:translateY(-8px);background-color:#266BF6!important}
.tscx-way:hover:after{transform:rotate(45deg);background-color:#0B0D10;border-color:#0B0D10}
.tscx-way:hover .elementor-heading-title,.tscx-way:hover p{color:#FFFFFF!important}

/* ---------- CLIENTI: hero con i nomi che scorrono, muro di loghi con filtro e luce che segue il mouse */
.tscl-hero{position:relative;isolation:isolate}
.tscl-hero:before{content:"";position:absolute;inset:auto 0 0;height:60%;z-index:-1;background:radial-gradient(60% 80% at 50% 100%,rgba(38,107,246,.45),rgba(38,107,246,0) 70%);pointer-events:none}
.tscl-f{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.tscl-fb{appearance:none;border:1px solid rgba(255,255,255,.22);background:transparent;color:#FFFFFF;border-radius:999px;padding:12px 20px;font:500 15px/1.2 "Poppins",sans-serif;cursor:pointer;transition:all .2s}
.tscl-fb:hover{border-color:#FFFFFF}
.tscl-fb[aria-pressed="true"]{background:#FFFFFF;border-color:#FFFFFF;color:#0B0D10}
.tscl-wall{position:relative;--x:-999px;--y:-999px}
.tscl-wall:before{content:"";position:absolute;inset:-40px;z-index:0;pointer-events:none;background:radial-gradient(320px circle at calc(var(--x) + 40px) calc(var(--y) + 40px),rgba(38,107,246,.55),transparent 70%)}
.tscl-logo{position:relative;z-index:1;background:#FFFFFF;border-radius:16px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.tscl-logo img{filter:grayscale(1);opacity:.55;mix-blend-mode:multiply;max-height:70px;object-fit:contain;transition:filter .35s,opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.tscl-logo:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(38,107,246,.45)}
.tscl-logo:hover img{filter:none;opacity:1;transform:scale(1.06)}
.tscl-logo.tscl-hide{display:none!important}
.tscl-logo.tscl-in{animation:tscl-in .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes tscl-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@media (max-width:767px){.tscl-f{justify-content:flex-start}.tscl-fb{padding:10px 14px;font-size:14px}.tscl-logo img{max-height:46px;opacity:.75}.tscl-logo{border-radius:12px}}
.tscl-cta{position:relative;overflow:hidden;isolation:isolate}
.tscl-cta:before{content:"";position:absolute;z-index:-1;width:900px;height:900px;left:50%;top:50%;margin:-450px 0 0 -450px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 65%);animation:tscx-a 12s ease-in-out infinite}

/* ---------- PRESS ROOM: card del loop item (classe tspr-card) */
.tspr-card{height:100%}
.tspr-card .tspr-img img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.tspr-card .tspr-img{overflow:hidden;border-radius:20px}
.tspr-card:hover .tspr-img img{transform:scale(1.04)}
.tspr-card .elementor-widget-button{margin-top:auto}



/* ==========================================================================
   2. REVISIONE DEL 26/10/2026
   ========================================================================== */

/* Footer: sale di 400px sotto la fine della pagina (margine -400 nel template 567) per la sfumatura bianco → blu → nero.
   Il contenuto della pagina sta SOPRA il footer: resta visibile e cliccabile, la sfumatura passa dietro. */
[data-elementor-type="wp-page"],
[data-elementor-type="single-post"],
[data-elementor-type="single-page"],
[data-elementor-type="archive"],
.site-main{position:relative;z-index:2}

/* Pulsanti fatti a mano (filtri Staff e Clienti): il tema Hello li colorava di fucsia (#c36) al passaggio e al clic.
   Hover grigio chiaro, selezionato nero. */
.tsk2-fb:hover,.tsk2-fb:focus{background:#F2F4F7;color:#0B0D10;border-color:#0B0D10;outline:0}
.tsk2-fb[aria-pressed="true"],.tsk2-fb[aria-pressed="true"]:hover,.tsk2-fb[aria-pressed="true"]:focus{background:#0B0D10;color:#FFFFFF;border-color:#0B0D10}
/* Clienti: i filtri stanno su fondo scuro, quindi hover bianco trasparente e selezionato bianco */
.tscl-fb:hover,.tscl-fb:focus{background:rgba(255,255,255,.08);color:#FFFFFF;border-color:#FFFFFF;outline:0}
.tscl-fb[aria-pressed="true"],.tscl-fb[aria-pressed="true"]:hover,.tscl-fb[aria-pressed="true"]:focus{background:#FFFFFF;color:#0B0D10;border-color:#FFFFFF}
.tsk2-fb:focus-visible,.tscl-fb:focus-visible{outline:2px solid #266BF6;outline-offset:2px}

/* Clienti: loghi più grandi e leggibili nel muro (prima 55% di opacità e molto piccoli).
   I file dei loghi hanno spazio vuoto attorno: con loghi ritagliati si vedranno ancora meglio. */
.tscl-logo .elementor-widget-image,.tscl-logo .elementor-widget-container{width:100%;text-align:center}
.tscl-logo img{width:auto!important;max-width:72%!important;height:auto!important;max-height:62px;opacity:.9;filter:grayscale(1) contrast(1.15)}
@media (max-width:767px){.tscl-logo img{max-height:46px;max-width:80%!important}}

/* Footer: le voci delle colonne ora sono link (classe ts-foot-links sui testi del footer) */
.ts-foot-links a{color:inherit!important;text-decoration:none;transition:opacity .2s}
.ts-foot-links a:hover,.ts-foot-links a:focus-visible{color:#FFFFFF!important;opacity:1;text-decoration:underline;text-underline-offset:4px}
/* invito del footer (27/10): pulsante con freccia, al passaggio prende il colore della pagina */
.ts-foot-cta .elementor-button{display:inline-flex;align-items:center;gap:12px;transition:background-color .25s,color .25s,transform .25s}
.ts-foot-cta .elementor-button-text:after{content:"";display:inline-block;width:18px;height:18px;margin-left:12px;vertical-align:-3px;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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s}
.ts-foot-cta .elementor-button:hover{background-color:#266BF6!important;color:#FFFFFF!important;transform:translateY(-2px)}
.ts-foot-cta .elementor-button:hover .elementor-button-text{color:#FFFFFF}
.ts-foot-cta .elementor-button:hover .elementor-button-text:after{transform:translateX(4px)}
.ts-pagina-shopify .ts-foot-cta .elementor-button:hover{background-color:#88B339!important}
.ts-pagina-magento .ts-foot-cta .elementor-button:hover{background-color:#F46F25!important}
.page-id-1859 .ts-foot-cta .elementor-button:hover{background-color:#720EEC!important}
.ts-foot-cta-p p{max-width:440px;margin:0}


/* ==========================================================================
   3. INSIGHTS (blog) E PRESS ROOM — 27/10/2026
   Pagine /insights/ e /press-room/, template singoli di articolo e comunicato, loop item "Loop – …".
   Classi: tsb-* (articoli, parti comuni) e tsp-* (press room).
   ========================================================================== */

/* hero scuro con alone blu in basso */
.tsb-hero{background:radial-gradient(ellipse 90% 70% at 50% 120%,#266BF6 0%,#0d2c86 35%,#0B0D10 70%)!important}
.tsb-hero u,.tsb-art-head u{text-decoration:none;color:#266BF6}   /* solo Insights/Press room: le altre pagine hanno il loro colore (COLORI PER PAGINA) */

/* testi comuni */
.tsb-hero .tsb-lead{max-width:640px}
.tsb-box>.e-con{width:auto!important;flex:1 1 360px}
.tsb-filter .e-filter-item::first-letter{text-transform:uppercase}
.tsb-filter .e-filter-item[data-filter="__all"]{order:-1}
.tsb-tag .elementor-heading-title{display:inline-block;border-radius:999px;background:#F2F4F7;padding:6px 12px;font:600 12.5px/1.2 "Poppins",sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#0B0D10!important}
.tsb-date .elementor-heading-title{font:400 14px/1.5 "Poppins",sans-serif;color:rgba(11,13,16,.55)!important}
.tsb-title .elementor-heading-title{font:500 22px/1.25 "Poppins",sans-serif;letter-spacing:-.5px;color:#0B0D10!important}
.tsb-ex,.tsb-ex p{font:400 15.5px/1.6 "Poppins",sans-serif;color:rgba(11,13,16,.65);margin:0}
.tsb-more .elementor-heading-title{font:600 15px/1.3 "Poppins",sans-serif;color:#0B0D10!important}
.tsb-pill .elementor-heading-title{display:inline-flex;background:#0B0D10;color:#FFFFFF!important;border-radius:999px;padding:14px 26px;font:600 15px/1.2 "Poppins",sans-serif}
.tsb-btn-o .elementor-button{background:transparent!important;border:1px solid rgba(11,13,16,.18)!important;color:#0B0D10!important}
.tsb-btn-o .elementor-button:hover{background:#F2F4F7!important}
.tsb-crumb .elementor-heading-title,.tsb-crumb a{font:500 14px/1.4 "Poppins",sans-serif;color:rgba(11,13,16,.55)!important;text-decoration:none}
.tsb-crumb a:hover{color:#0B0D10!important}
.tsb-box{background:#F2F4F7;border-radius:20px;padding:48px!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:24px!important}
.tsb-boxh .elementor-heading-title{font:500 30px/1.2 "Poppins",sans-serif;letter-spacing:-.6px;color:#0B0D10!important}

/* card articolo (griglia) */
a.tsb-card{text-decoration:none;color:#0B0D10}
.tsb-card .tsb-img{overflow:hidden;border-radius:16px}
.tsb-card .tsb-img img,.tsb-feat .tsb-img img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.tsb-card:hover .tsb-img img{transform:scale(1.04)}

/* articolo in evidenza */
a.tsb-feat{display:grid!important;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center;background:#F2F4F7;border-radius:20px;padding:24px!important;text-decoration:none;color:#0B0D10;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
a.tsb-feat:hover{transform:translateY(-4px)}
.tsb-feat .tsb-title .elementor-heading-title{font-size:36px;letter-spacing:-1px;line-height:1.15}
.tsb-feat .tsb-ex,.tsb-feat .tsb-ex p{font-size:17px}

/* Insights: nella griglia il primo articolo diventa la card grande (anche dopo aver scelto una categoria) */
.tsb-grid-feat .elementor-loop-container>.e-loop-item:first-of-type{grid-column:1/-1;margin-bottom:24px}
.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card{display:grid!important;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr auto auto auto auto 1fr;column-gap:56px;row-gap:16px;background:#F2F4F7;border-radius:20px;padding:24px!important;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card:hover{transform:translateY(-4px)}
.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card>.tsb-img{grid-column:1;grid-row:1/-1;align-self:center}
.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card>:not(.tsb-img){grid-column:2}
.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card>:nth-child(2){grid-row:2}.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card>:nth-child(3){grid-row:3}.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card>:nth-child(4){grid-row:4}.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card>:nth-child(5){grid-row:5;margin-top:10px}
.tsb-grid-feat .e-loop-item:first-of-type .tsb-title .elementor-heading-title{font-size:36px;letter-spacing:-1px;line-height:1.15}
.tsb-grid-feat .e-loop-item:first-of-type .tsb-ex,.tsb-grid-feat .e-loop-item:first-of-type .tsb-ex p{font-size:17px}
.tsb-grid-feat .e-loop-item:first-of-type .tsb-more .elementor-heading-title{display:inline-flex;background:#0B0D10;color:#FFFFFF!important;border-radius:999px;padding:14px 26px}
.tsb-grid-feat .e-loop-item:first-of-type .tsb-card:hover .tsb-img img{transform:none}
@media (max-width:1024px){.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card{grid-template-columns:1fr;grid-template-rows:none}.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card>*{grid-column:1!important;grid-row:auto!important}}
@media (max-width:767px){.tsb-grid-feat .e-loop-item:first-of-type>a.tsb-card{padding:14px!important}.tsb-grid-feat .e-loop-item:first-of-type .tsb-title .elementor-heading-title{font-size:26px}}

/* filtro categorie (widget Filtro tassonomia) */
.tsb-filter .e-filter{gap:8px!important;justify-content:flex-start}
.tsb-filter .e-filter-item{border:1px solid rgba(11,13,16,.14)!important;background:#FFFFFF!important;border-radius:999px!important;padding:11px 20px!important;font:500 15px/1.2 "Poppins",sans-serif!important;color:#0B0D10!important;text-transform:none!important}
.tsb-filter .e-filter-item:hover,.tsb-filter .e-filter-item:focus{background:#F2F4F7!important;color:#0B0D10!important}
.tsb-filter .e-filter-item[aria-pressed="true"]{background:#0B0D10!important;color:#FFFFFF!important;border-color:#0B0D10!important}

/* articolo singolo */
.tsb-art-head>.e-con-inner{max-width:1000px!important}
.tsb-art-body>.e-con-inner{max-width:760px!important}
.tsb-cover{max-width:1120px;margin:0 auto}
.tsb-cover img{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:20px}
.tsb-content{font:400 18px/1.75 "Poppins",sans-serif;color:rgba(11,13,16,.82)}
.tsb-content p{margin:0 0 22px}
.tsb-content a{color:#266BF6;text-decoration:underline;text-underline-offset:3px}
.tsb-content h2,.tsb-content h3,.tsb-content h4{font:500 28px/1.25 "Poppins",sans-serif;letter-spacing:-.6px;color:#0B0D10;margin:48px 0 16px}
.tsb-content ol>li>h2,.tsb-content ol>li>h3{display:inline}
.tsb-content ol,.tsb-content ul{padding-left:22px;margin:0 0 22px}
.tsb-content li{margin-bottom:8px}
.tsb-content ol li::marker{color:#266BF6;font-weight:600}
.tsb-content img{border-radius:16px;margin:28px 0;height:auto}
.tsb-content strong{color:#0B0D10}
.tsb-share{justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:16px!important;border-top:1px solid rgba(11,13,16,.1);padding-top:28px!important}

/* press room: comunicato in evidenza e pagina singola */
.tsp-top,.tsp-com{display:grid!important;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.tsp-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.tsp-kick .elementor-heading-title{font:600 13px/1.4 "Poppins",sans-serif;letter-spacing:1px;text-transform:uppercase;color:rgba(11,13,16,.6)!important}
.tsp-sub .elementor-heading-title{font:600 12.5px/1.4 "Poppins",sans-serif;letter-spacing:1px;text-transform:uppercase;color:#266BF6!important}
.tsp-title-big .elementor-heading-title{font:500 40px/1.15 "Poppins",sans-serif;letter-spacing:-1px;color:#0B0D10!important}
.tsb-lead-dark,.tsb-lead-dark p{font:400 20px/1.55 "Poppins",sans-serif;color:rgba(11,13,16,.68);margin:0}
.tsp-btn-pdf .elementor-button-text:before,.tsp-pdf .elementor-heading-title:before{content:"";display:inline-block;width:15px;height:15px;margin-right:8px;vertical-align:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v8M4.5 6.5 8 10l3.5-3.5M3 13h10'/%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 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v8M4.5 6.5 8 10l3.5-3.5M3 13h10'/%3E%3C/svg%3E") center/contain no-repeat}

/* press room: elenco comunicati */
.tsp-list .elementor-loop-container{gap:0!important;border-bottom:1px solid rgba(11,13,16,.1)}
a.tsp-row{display:grid!important;grid-template-columns:150px 1fr 120px auto;gap:32px;align-items:center;padding:26px 0!important;border-top:1px solid rgba(11,13,16,.1);text-decoration:none;color:#0B0D10}
.tsp-date .elementor-heading-title{font:400 14px/1.4 "Poppins",sans-serif;color:rgba(11,13,16,.55)!important}
.tsp-title .elementor-heading-title{font:500 20px/1.3 "Poppins",sans-serif;letter-spacing:-.3px;color:#0B0D10!important}
.tsp-thumb img{width:120px;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.tsp-pdf .elementor-heading-title{display:inline-flex;align-items:center;font:600 14px/1 "Poppins",sans-serif;border:1px solid rgba(11,13,16,.16);border-radius:999px;padding:11px 16px;color:#0B0D10!important;white-space:nowrap;transition:background .2s,color .2s}
a.tsp-row:hover .tsp-pdf .elementor-heading-title{background:#0B0D10;color:#FFFFFF!important;border-color:#0B0D10}
.tsp-year{font:600 13px/1.4 "Poppins",sans-serif;letter-spacing:1px;text-transform:uppercase;color:rgba(11,13,16,.45);padding:56px 0 10px}
.tsp-year:first-child{padding-top:0}

@media (max-width:1024px){
  a.tsb-feat,.tsp-top,.tsp-com{grid-template-columns:1fr;gap:28px}
  a.tsp-row{grid-template-columns:110px 1fr auto}
  .tsp-row .tsp-thumb{display:none}
  .tsp-title-big .elementor-heading-title{font-size:32px}
}
@media (max-width:767px){
  a.tsb-feat{padding:14px!important}
  .tsb-feat .tsb-title .elementor-heading-title{font-size:26px}
  .tsb-title .elementor-heading-title{font-size:20px}
  a.tsp-row{grid-template-columns:1fr;gap:10px}
  .tsp-row .tsp-pdf{justify-self:start}
  .tsb-content{font-size:17px}
  .tsb-content h2,.tsb-content h3,.tsb-content h4{font-size:23px}
  .tsb-cover img{aspect-ratio:16/10}
  .tsb-box{padding:28px!important}
  .tsp-title-big .elementor-heading-title{font-size:26px}
  .tsb-lead-dark,.tsb-lead-dark p{font-size:18px}
}


/* ==========================================================================
   4. EXPERIENCE, CLIENTI, CONTATTI — revisione del 27/10/2026
   ts-bg-dark / ts-bg-light sulle sezioni: lo sfondo della pagina sfuma tra nero e bianco mentre scorri (thespace.js).
   txp-* Experience · tcl-* Clienti · tct-* Contatti
   ========================================================================== */
/* il colore sta sul body (dietro a tutto): così la pagina resta trasparente e la sfumatura del footer, che sale sotto il contenuto, non viene coperta */
body.ts-bgsw{background:#0B0D10;transition:background-color .8s ease}
body.ts-bgsw.ts-bg-chiaro{background:#FFFFFF}
body.ts-bgsw [data-elementor-type="wp-page"]{background:transparent!important}
body.ts-bgsw [data-elementor-type="wp-page"] .ts-bg-dark,body.ts-bgsw [data-elementor-type="wp-page"] .ts-bg-light{background:transparent!important}
.txp-l{display:block}
.ts-rv{opacity:0;filter:blur(12px);transform:translateY(28px);transition:opacity 1.1s ease,filter 1.1s ease,transform 1.1s cubic-bezier(.2,.8,.2,1)}
.ts-rv.in{opacity:1;filter:none;transform:none}

/* ---------- EXPERIENCE: hero con zoom sul mosaico ---------- */
.txp-zoom{height:260vh!important;position:relative}
.txp-pin{position:sticky!important;top:0;height:100vh;overflow:hidden!important}
.txp-mosw{position:absolute!important;inset:0;display:grid;place-items:center;width:100%!important}
.txp-mosw>.elementor-widget-container{width:100%;height:100%;display:grid;place-items:center}
.txp-mos{display:grid;grid-template-columns:repeat(5,22vw);grid-auto-rows:26vw;gap:1.2vw;transform:scale(var(--s,4.6));transform-origin:50% 50%;will-change:transform}
.txp-mos div{border-radius:1.2vw;overflow:hidden;background:#16181D;opacity:var(--o,0)}
.txp-mos div.c{opacity:1}
.txp-mos img{width:100%;height:100%;object-fit:cover}
.txp-htxt{position:absolute!important;left:0;right:0;bottom:0;z-index:3;padding:0 80px 9vh!important}
.txp-htxt:before{content:"";position:absolute;inset:-60vh 0 0 0;background:linear-gradient(transparent,rgba(11,13,16,.85) 70%);z-index:-1;opacity:var(--g,1);pointer-events:none}
.txp-htxt .txp-sub{opacity:var(--t,1)}
.txp-title .elementor-heading-title span.txp-w{display:inline-block;opacity:0;filter:blur(14px);transform:translateY(40px);animation:txp-w 1.1s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes txp-w{to{opacity:1;filter:none;transform:none}}
.txp-scr{font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:10px}
.txp-scr i{width:1px;height:38px;background:linear-gradient(#FFFFFF,transparent);animation:txp-sc 1.8s ease-in-out infinite}
@keyframes txp-sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* mission */
.txp-card{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.txp-card:hover{transform:translateY(-6px)}
/* numeri */
.txp-nm{border-bottom:1px solid rgba(255,255,255,.1)}.txp-nm:last-child{border-bottom:0}
.txp-n .elementor-heading-title{overflow:hidden;padding-bottom:.04em}
.txp-n .elementor-heading-title>span{display:inline-block;transform:translateY(100%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.txp-n .elementor-heading-title em{font-style:normal;color:#266BF6}
.txp-nm.in .txp-n .elementor-heading-title>span{transform:none}
.txp-tx{opacity:0;transform:translateY(20px);transition:opacity .9s .25s ease,transform .9s .25s cubic-bezier(.2,.8,.2,1)}
.txp-nm.in .txp-tx{opacity:1;transform:none}
/* come lavoriamo */
.txp-stk{position:sticky!important;top:90px;aspect-ratio:1/1;border-radius:28px;overflow:hidden!important;align-self:flex-start}
.txp-stk .elementor-widget-image{position:absolute!important;inset:0;width:100%!important;height:100%;margin:0!important}
.txp-stk .elementor-widget-image .elementor-widget-container,.txp-stk .elementor-widget-image img{width:100%!important;height:100%!important;object-fit:cover;border-radius:0!important}
.txp-stk .elementor-widget-image{opacity:0;transform:scale(1.12);transition:opacity 1s ease,transform 1.6s cubic-bezier(.2,.8,.2,1)}
.txp-stk .elementor-widget-image.on{opacity:1;transform:scale(var(--z,1))}
.txp-cap{position:absolute!important;left:28px;right:28px;bottom:26px;z-index:2;width:auto!important}
.txp-capi{display:flex;justify-content:space-between;align-items:flex-end;color:#FFFFFF}
.txp-capi b{font-size:140px;font-weight:600;letter-spacing:-7px;line-height:.8;text-shadow:0 10px 40px rgba(0,0,0,.35)}
.txp-capi span{font-size:15px;font-weight:500;background:rgba(11,13,16,.5);backdrop-filter:blur(10px);border-radius:999px;padding:8px 14px}
.txp-xr{position:relative;padding-left:38px!important}
.txp-xr:before,.txp-xr:after{content:"";position:absolute;left:0;top:0;width:2px}
.txp-xr:before{bottom:0;background:rgba(255,255,255,.12)}.txp-xr:after{height:var(--p,0%);background:#266BF6}
.txp-xc{min-height:72vh;justify-content:center!important}
.txp-xc>.txp-xcard{opacity:.35;transform:scale(.96);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1),background .6s,border-color .6s}
.txp-xc.on>.txp-xcard{opacity:1;transform:none;background:rgba(38,107,246,.12)!important;border-color:rgba(38,107,246,.5)!important}
/* network */
.txp-vn{position:relative;height:440px}
.txp-vn .c{position:absolute;top:50%;width:330px;height:330px;margin-top:-165px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 54px;font-family:"Poppins",sans-serif;color:#0B0D10}
.txp-vn .a{left:50%;margin-left:-330px;border:2px solid #266BF6;transform:translateX(calc(var(--k,1)*-70px));padding-right:96px}
.txp-vn .b{left:50%;border:2px dashed rgba(38,107,246,.55);transform:translateX(calc(var(--k,1)*70px));padding-left:96px}
.txp-vn b{font-size:24px;font-weight:600;letter-spacing:-.5px;white-space:nowrap}.txp-vn small{font-size:14px;line-height:1.45;opacity:.75;margin-top:8px}
.txp-vn em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(calc(1 - var(--k,1)));font-style:normal;background:#266BF6;color:#FFFFFF;border-radius:999px;padding:12px 20px;font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 20px 50px rgba(38,107,246,.35);z-index:2}

/* ---------- CLIENTI: carosello a cilindro ---------- */
.tcl-cyl{position:relative;height:620px;perspective:1500px;perspective-origin:50% 50%;overflow:hidden}
.tcl-cyl{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.tcl-cyl.is-drag{cursor:grabbing}
.tcl-cyl video,.tcl-cyl img{pointer-events:none}
.tcl-ring{position:absolute;left:50%;top:50%;transform-style:preserve-3d}
.tcl-cd{position:absolute;width:340px;height:470px;left:-170px;top:-235px;border-radius:26px;overflow:hidden;backface-visibility:hidden;background:#16181D;will-change:transform,opacity;font-family:"Poppins",sans-serif;color:#FFFFFF}
.tcl-cd video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tcl-cd:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.5));z-index:1}
.tcl-cd .lo{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:0 30px}
.tcl-cd .lo img{max-width:80%;max-height:110px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 4px 18px rgba(0,0,0,.35))}
.tcl-cd .lo span{font-size:44px;font-weight:600;letter-spacing:-1.4px;text-align:center;line-height:1;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.tcl-cd .tg{position:absolute;left:18px;bottom:18px;z-index:2;font-size:12.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;background:rgba(11,13,16,.55);backdrop-filter:blur(8px);border-radius:999px;padding:7px 12px}
/* griglia loghi su bianco */
.tcl-grid .tscl-logo{background:#F2F4F7!important;box-shadow:none}
.tcl-grid .tscl-logo:hover{background:#FFFFFF!important;box-shadow:0 20px 50px rgba(11,13,16,.08)!important;transform:translateY(-4px)}
.tcl-grid .tscl-fb{border-color:rgba(11,13,16,.14)!important;color:#0B0D10!important;background:#FFFFFF!important}
.tcl-grid .tscl-fb:hover,.tcl-grid .tscl-fb:focus{background:#F2F4F7!important}
.tcl-grid .tscl-fb[aria-pressed="true"]{background:#0B0D10!important;color:#FFFFFF!important;border-color:#0B0D10!important}
.tcl-grid .tscl-logo{display:flex!important;align-items:center;justify-content:center}
.tcl-grid .tscl-logo.tscl-hide{display:none!important}   /* filtro E-commerce / Siti corporate */
.tcl-grid .tscl-logo .tcl-logo-img{margin:0!important}
.tcl-grid .tscl-logo .tcl-logo-img img{width:100%!important;max-width:100%!important;height:auto!important;max-height:76px;object-fit:contain}
.tcl-grid .tscl-logo .tcl-scuro img{filter:grayscale(1) brightness(.38) contrast(1.9)!important;opacity:1!important}
.tcl-grid .tscl-logo:hover .tcl-scuro img{filter:none!important}
@media (max-width:767px){.tcl-grid .tscl-logo .tcl-logo-img img{max-height:46px}}
.tcl-grid .tscl-wall:before,.tcl-grid .tscl-wall:after,.tcl-grid .tscl-logo:before,.tcl-grid .tscl-logo:after{display:none!important}
.tcl-grid .tscl-wall{gap:12px!important;background:none!important}
.tcl-grid .tscl-logo{border-radius:16px!important}
@media (max-width:767px){.tcl-grid .tscl-wall{gap:8px!important}}

/* ---------- CONTATTI: la chat ---------- */
/* overflow solo orizzontale: tagliata in basso, l'ombra della chat faceva una linea sulla sfumatura del footer */
.tct-hero{position:relative;overflow-x:clip;overflow-y:visible}
.tct-hero:before{content:"";position:absolute;left:50%;top:60%;width:1100px;height:760px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(38,107,246,.45),transparent 65%);filter:blur(20px);pointer-events:none;animation:tct-gl 8s ease-in-out infinite alternate}
@keyframes tct-gl{to{transform:translate(-50%,-48%) scale(1.08);opacity:.8}}
.tct-hero>*{position:relative;z-index:1}
/* il bagliore dietro la chat sfuma verso il basso e si fonde con la sfumatura del footer */
.tct-hero:before{-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 80%);mask-image:linear-gradient(180deg,#000 45%,transparent 80%)}
/* Contatti: il nero sta sul body e la sezione è trasparente, così la sfumatura blu del footer (che sale di 400px) nasce dal nero senza stacco */
body.ts-pagina-contatti{background:#0B0D10}
.ts-pagina-contatti [data-elementor-type="wp-page"],.ts-pagina-contatti .tct-hero{background:transparent!important}
.tct-form{position:absolute!important;width:1px!important;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.tct-chat{max-width:760px;margin:0 auto;background:#FFFFFF;color:#0B0D10;border-radius:32px;overflow:hidden;box-shadow:0 60px 140px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);text-align:left;font-family:"Poppins",sans-serif;display:flex;flex-direction:column;height:min(640px,76vh);min-height:480px}
.tct-h{display:flex;align-items:center;gap:14px;padding:20px 26px;border-bottom:1px solid rgba(11,13,16,.08)}
.tct-av{display:flex}.tct-av span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:600;color:#FFFFFF;border:3px solid #FFFFFF;margin-left:-12px}.tct-av span:first-child{margin-left:0}
/* logo tondo di The Space (S nera su bianco) al posto delle iniziali; nome e «online» più vicini (05/11/2026) */
.tct-logo{flex:none;width:44px;height:44px;border-radius:50%;background:#FFFFFF;border:1px solid rgba(11,13,16,.12);display:grid;place-items:center}
.tct-logo svg{width:64%;height:64%;display:block}
.tct-h b{display:block;font-size:17px;font-weight:600;line-height:1.15}.tct-h small{display:block;margin-top:2px;font-size:13px;line-height:1.2;color:#1E9E5E;font-weight:500}.tct-h small.off{color:rgba(11,13,16,.5)}
.tct-stp{margin-left:auto;display:flex;gap:6px}.tct-stp i{width:26px;height:4px;border-radius:2px;background:rgba(11,13,16,.1);transition:background .4s}.tct-stp i.on{background:#266BF6}
/* altezza fissa della chat: i messaggi scorrono in alto, la barra di risposta resta in basso */
/* niente overscroll-behavior:contain: con la rotella sopra la chat la pagina deve scorrere (05/11/2026) */
.tct-b{flex:1;min-height:0;padding:26px 26px 18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;scroll-behavior:smooth}
.tct-m{max-width:82%;padding:15px 20px;border-radius:22px;font-size:17px;line-height:1.5;opacity:0;transform:translateY(10px);animation:tct-in .5s ease forwards}
.tct-m.t{background:#F2F4F7;border-bottom-left-radius:6px}.tct-m.u{align-self:flex-end;background:#266BF6;color:#FFFFFF;border-bottom-right-radius:6px}
@keyframes tct-in{to{opacity:1;transform:none}}
.tct-in{border-top:1px solid rgba(11,13,16,.08);padding:14px 16px 16px;background:#FFFFFF}
.tct-idle{display:flex;align-items:center;gap:10px;height:52px;padding:0 6px 0 20px;border-radius:999px;background:#F2F4F7;color:rgba(11,13,16,.38);font-size:15.5px}
.tct-idle span{flex:1}.tct-idle i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(11,13,16,.08);color:rgba(11,13,16,.35)}
.tct-ch{display:flex;flex-wrap:wrap;gap:8px;opacity:0;animation:tct-in .45s ease forwards}
/* risposte rapide: devono sembrare pulsanti (05/11/2026): fondo azzurro leggero, bordo deciso, grassetto, scritta guida sopra */
.tct-ch{position:relative;padding-top:24px}
.tct-ch:before{content:"Scegli una risposta";position:absolute;top:0;left:2px;font:500 12px "Poppins",sans-serif;color:rgba(11,13,16,.5)}
.tct-ch button{appearance:none;border:1px solid rgba(38,107,246,.55)!important;background:rgba(38,107,246,.08)!important;color:#266BF6!important;border-radius:999px!important;padding:11px 17px!important;font:600 14.5px "Poppins",sans-serif!important;box-shadow:0 2px 0 rgba(38,107,246,.12);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.tct-ch button:hover,.tct-ch button:focus{background:#266BF6!important;color:#FFFFFF!important;transform:translateY(-1px);outline:0}
.tct-f{display:flex;flex-direction:column;gap:10px;opacity:0;animation:tct-in .45s ease forwards}
.tct-row{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 8px;border-radius:26px;background:#F2F4F7;border:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.tct-row:focus-within{border-color:#266BF6;box-shadow:0 0 0 4px rgba(38,107,246,.12)}
.tct-row input,.tct-row textarea{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;color:#0B0D10;padding:10px 12px!important;font:400 16px/1.45 "Poppins",sans-serif!important;outline:0;height:auto;resize:none}
.tct-row textarea{max-height:140px}
.tct-row input+input{border-left:1px solid rgba(11,13,16,.1)!important}
.tct-send{flex:0 0 42px;width:42px;height:42px;border-radius:50%!important;border:0!important;background:#266BF6!important;color:#FFFFFF!important;display:grid;place-items:center;padding:0!important;cursor:pointer;transition:transform .2s,background .2s}
.tct-send:hover{transform:scale(1.06);background:#1D5BDB!important}
.tct-f label{font-size:12.5px;line-height:1.45;color:rgba(11,13,16,.6);display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:0 6px}
.tct-f label input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:#266BF6;cursor:pointer}
.tct-f label a{color:#0B0D10;text-decoration:underline}
.tct-f .err{font-size:13px;color:#C62828;display:none;padding:0 6px}.tct-f.ko .err{display:block}
.tct-ty{display:flex;gap:5px;padding:18px 20px;background:#F2F4F7;border-radius:22px;width:max-content}.tct-ty i{width:7px;height:7px;border-radius:50%;background:rgba(11,13,16,.4);animation:tct-tp 1s infinite}.tct-ty i:nth-child(2){animation-delay:.15s}.tct-ty i:nth-child(3){animation-delay:.3s}
@keyframes tct-tp{50%{transform:translateY(-4px)}}

@media (max-width:1024px){
 .txp-htxt{padding:0 40px 8vh!important}
 .txp-stk{position:relative!important;top:0}.txp-xc{min-height:auto}.txp-xc>.txp-xcard{opacity:1;transform:none}
 .txp-vn{height:380px}.txp-vn .c{width:280px;height:280px;margin-top:-140px}.txp-vn .a{margin-left:-280px}
 .tcl-cyl{height:540px}.tcl-cd{width:280px;height:390px;left:-140px;top:-195px}
}
@media (max-width:767px){
 .txp-mos{grid-template-columns:repeat(5,40vw);grid-auto-rows:50vw;gap:2vw}.txp-htxt{padding:0 20px 7vh!important}
 .txp-capi b{font-size:84px;letter-spacing:-4px}
 .txp-vn{height:300px}.txp-vn .c{width:200px;height:200px;margin-top:-100px;padding:0 26px}.txp-vn .a{margin-left:-200px;padding-right:56px}.txp-vn .b{padding-left:56px}.txp-vn b{font-size:17px}.txp-vn small{font-size:11.5px}
 .tcl-cyl{height:430px;perspective:900px}.tcl-cd{width:210px;height:290px;left:-105px;top:-145px;border-radius:18px}.tcl-cd .lo span{font-size:28px}.tcl-cd .lo img{max-height:60px}
 .tct-chat{border-radius:24px}.tct-chat{height:min(580px,78vh);min-height:440px}.tct-b{padding:18px}.tct-in{padding:12px}.tct-row input+input{border-left:0!important}.tct-f .tct-row:has(input){flex-wrap:wrap}.tct-f .tct-row:has(input) input{flex-basis:100%}.tct-stp{display:none}.tct-m{max-width:92%;font-size:15.5px}.tct-f input:not([type=checkbox]){min-width:100%}
}
@media (prefers-reduced-motion:reduce){.ts-rv,.txp-title .elementor-heading-title span.txp-w,.txp-n .elementor-heading-title>span,.txp-tx{animation:none!important;transition:none!important;opacity:1!important;filter:none!important;transform:none!important}}


/* =========================
   HEADER — pallino stato del team davanti a "Staff" (27/10/2026, classi messe da thespace.js sez. 10)
   ========================= */
.ts-team-on [data-elementor-type="header"] a[href$="/staff/"] .e-n-menu-title-text::before,
.ts-team-off [data-elementor-type="header"] a[href$="/staff/"] .e-n-menu-title-text::before,
.ts-team-on .ts-mnav a[href$="/staff/"] > span::before,
.ts-team-off .ts-mnav a[href$="/staff/"] > span::before{content:"";display:inline-block;flex:none;width:7px;height:7px;margin-right:8px;border-radius:50%;vertical-align:middle;position:relative;top:-1px;background:#8A9099}
.ts-team-on [data-elementor-type="header"] a[href$="/staff/"] .e-n-menu-title-text::before,
.ts-team-on .ts-mnav a[href$="/staff/"] > span::before{background:#3DDC84;animation:ts-team-pulse 2.4s ease-out infinite}
.ts-mnav a[href$="/staff/"] > span::before{width:10px;height:10px;margin-right:12px}
@keyframes ts-team-pulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55)}70%,100%{box-shadow:0 0 0 7px rgba(61,220,132,0)}}
@media (prefers-reduced-motion:reduce){.ts-team-on [data-elementor-type="header"] a[href$="/staff/"] .e-n-menu-title-text::before,.ts-team-on .ts-mnav a[href$="/staff/"] > span::before{animation:none}}

/* =========================
   EXPERIENCE v3 (txe-) — 27/10/2026, pagina 3287 a widget nativi. Effetti in thespace.js sez. 11.
   Le regole di posizionamento valgono solo fuori dall'editor di Elementor (lì le sezioni restano impilate).
   ========================= */
/* stile che vale anche nell'editor */
.txe-s1,.txe-s2,.txe-s3,.txe-s5,.txe-s7{background:#0B0D10}
.txe-s4,.txe-s6{background:#FFFFFF}
.txe-hint-i{display:inline-flex;align-items:center;gap:12px;font:600 13px/1 Poppins,sans-serif;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.62)}
.txe-hint-i i{width:1px;height:46px;background:linear-gradient(#FFFFFF,transparent);animation:txe-hint 1.8s ease-in-out infinite}
@keyframes txe-hint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.txe-w{display:inline-block;opacity:0;filter:blur(16px);transform:translateY(.3em);animation:txe-in 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.txe-bv2 .txe-w{animation:none}
@keyframes txe-in{to{opacity:1;filter:none;transform:none}}
.txe-stm .txe-t{color:rgba(255,255,255,.14);transition:color .5s}
.txe-stm .txe-t.on{color:#FFFFFF}
.txe-stm u .txe-t.on{color:#266BF6}
.txe-reel{display:flex;align-items:flex-start;justify-content:center;font-family:Poppins,sans-serif;font-weight:500;line-height:1;color:#FFFFFF}
.txe-reel .rl{height:1em;overflow:hidden;width:.6em;transition:width .7s cubic-bezier(.2,.7,.2,1),opacity .5s;-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.txe-reel .rl.off{width:0;opacity:0}
.txe-reel .rl i{display:block;font-style:normal;will-change:transform}
.txe-reel .rl i span{display:block;height:1em;text-align:center}
.txe-reel .sf{width:0;overflow:hidden;color:#266BF6;transition:width .6s cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.txe-reel .sf.on{width:.55em}
.txe-dots i{width:34px;height:3px;border-radius:3px;background:rgba(255,255,255,.18);transition:background .4s}
.txe-dots i.on{background:#FFFFFF}
.txe-q img{display:block;width:100%!important;aspect-ratio:1;object-fit:cover;border-radius:22px;background:#E9EBEE}
.txe-cd{border-radius:30px;background:#14171D;border:1px solid rgba(255,255,255,.08);transition:background .6s}
.txe-cd.on{background:#266BF6}
.txe-cdn .elementor-heading-title{color:rgba(255,255,255,.1)!important;transition:color .6s}
.txe-cd.on .txe-cdn .elementor-heading-title{color:rgba(255,255,255,.95)!important}
.txe-pa{background:#0B0D10}
.txe-pb{background:#266BF6;align-items:flex-end!important}
.txe-pnb{width:100%!important}
.txe-sm{padding:16px 28px 16px 16px!important;border-radius:60px;background:#FFFFFF;box-shadow:0 30px 80px rgba(0,0,0,.35);align-items:center!important;gap:14px!important}
.txe-smt .elementor-heading-title{white-space:nowrap}
.txe-smt .elementor-heading-title:before{content:"+";display:inline-grid;place-items:center;vertical-align:middle;margin:-4px 14px 0 0;width:34px;height:34px;border-radius:50%;background:#266BF6;color:#FFFFFF;font:500 20px/1 Poppins,sans-serif}
.txe-s3 .ts-dot-label{justify-content:center}
.txe-pno .elementor-heading-title{text-transform:uppercase}
.txe-fc{gap:0!important;padding-left:18px!important}
.txe-face{width:96px!important;height:96px;margin-left:-18px!important;border-radius:50%;border:4px solid #0B0D10;overflow:hidden;background:#E9EBEF}
.txe-face img{width:100%!important;height:100%!important;object-fit:cover;object-position:50% 22%}
.txe-piu{width:96px!important;height:96px;margin-left:-18px!important;border-radius:50%;border:4px solid #0B0D10;background:#266BF6;display:flex!important;align-items:center;justify-content:center}
.txe-h7 .elementor-heading-title{max-width:14ch;margin:0 auto}
.txe-lk .elementor-button{border-bottom:1.5px solid rgba(255,255,255,.5)!important;border-radius:0!important;padding:3px 0!important}
@media (max-width:1024px){.txe-face,.txe-piu{width:64px!important;height:64px}}
@media (prefers-reduced-motion:reduce){.txe-w{animation:none;opacity:1;filter:none;transform:none}}
body:not(.elementor-editor-active) .txe-stk{position:sticky!important;top:0;height:100vh;overflow:hidden}
body:not(.elementor-editor-active) .txe-s1{height:320vh}
body:not(.elementor-editor-active) .txe-s1 .txe-stk{display:block!important}
body:not(.elementor-editor-active) .txe-s1 .txe-tx{position:absolute!important;left:80px;top:150px;z-index:3;width:auto!important;will-change:transform,opacity,filter}
body:not(.elementor-editor-active) .txe-s1 .txe-h1 .elementor-heading-title{max-width:11ch}
/* finestra con la foto: riquadro sempre a tutto schermo, la finestra è il clip-path calcolato dal JS (05/11/2026); qui lo stato iniziale */
body:not(.elementor-editor-active) .txe-s1 .txe-wi{position:absolute!important;inset:0;width:100%!important;height:100%;margin:0!important;overflow:hidden;z-index:2;clip-path:inset(calc(56vh - 80px) 80px 80px calc(70vw - 80px) round 30px);will-change:clip-path}
body:not(.elementor-editor-active) .txe-s1 .txe-wi img{position:absolute;left:0;top:0;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;transform-origin:0 0;will-change:transform}
body:not(.elementor-editor-active) .txe-s1 .txe-wi:after{content:"";position:absolute;inset:0;background:rgba(11,13,16,var(--dk,0));pointer-events:none}
body:not(.elementor-editor-active) .txe-s1 .txe-bv{position:absolute!important;inset:0;z-index:4;width:100%!important;justify-content:center!important;align-items:center!important;pointer-events:none}
body:not(.elementor-editor-active) .txe-s1 .txe-bv1{opacity:0}
body:not(.elementor-editor-active) .txe-s1 .txe-bv2 .txe-w{opacity:0}
body:not(.elementor-editor-active) .txe-s1 .txe-hint{position:absolute!important;left:80px;bottom:80px;z-index:3;width:auto!important}
body:not(.elementor-editor-active) .txe-s3{height:460vh}
body:not(.elementor-editor-active) .txe-s3 .txe-stk{justify-content:center!important;align-items:center!important}
body:not(.elementor-editor-active) .txe-s3 .ts-dot-label{position:absolute!important;top:120px;left:0;right:0}
body:not(.elementor-editor-active) .txe-nums{position:relative;width:auto!important;align-items:center!important;padding-bottom:170px!important;margin-top:40px}
body:not(.elementor-editor-active) .txe-num{position:absolute!important;left:50%;bottom:0;width:min(640px,80vw)!important;height:160px;transform:translate(-50%,24px);opacity:0;filter:blur(8px);transition:opacity .6s,transform .7s cubic-bezier(.2,.7,.2,1),filter .6s}
body:not(.elementor-editor-active) .txe-num.on{opacity:1;transform:translate(-50%,0);filter:none;transition-delay:.25s}
body:not(.elementor-editor-active) .txe-num .txe-nb{display:none!important}
body:not(.elementor-editor-active) .txe-dots{position:absolute;left:0;right:0;bottom:64px;display:flex;justify-content:center;gap:10px}
body:not(.elementor-editor-active) .txe-s4{height:300vh}
body:not(.elementor-editor-active) .txe-s4 .txe-stk{flex-direction:row!important;align-items:center!important;background:#FFFFFF}
body:not(.elementor-editor-active) .txe-s4tx{flex:none!important;width:40vw!important;min-width:420px;padding:0 60px 0 80px!important}   /* più larga con le 2 colonne di foto (05/11/2026) */
body:not(.elementor-editor-active) .txe-cols{flex:1 1 auto!important;height:100vh;display:grid!important;grid-template-columns:repeat(2,1fr);align-items:start!important;gap:18px!important;padding-right:80px!important;overflow:hidden}   /* due colonne (05/11/2026) */
body:not(.elementor-editor-active) .txe-col{width:auto!important;gap:18px!important;will-change:transform}
body:not(.elementor-editor-active) .txe-s5{height:420vh}
body:not(.elementor-editor-active) .txe-s5 .txe-stk{justify-content:center!important}
body:not(.elementor-editor-active) .txe-hd{padding:0 80px!important}
body:not(.elementor-editor-active) .txe-tr{flex-wrap:nowrap!important;width:max-content!important;max-width:none!important;gap:28px!important;padding:60px 80px 0!important;will-change:transform}
body:not(.elementor-editor-active) .txe-cd{flex:none!important;width:44vw!important;height:52vh;padding:46px!important;justify-content:space-between!important}
body:not(.elementor-editor-active) .txe-bar{margin:46px 80px 0;height:2px;background:rgba(255,255,255,.12);position:relative}
body:not(.elementor-editor-active) .txe-bar i{position:absolute;left:0;top:0;bottom:0;background:#FFFFFF;width:calc(var(--p,0)*100%)}
body:not(.elementor-editor-active) .txe-s6{height:280vh}
body:not(.elementor-editor-active) .txe-s6 .txe-stk{background:#FFFFFF}
body:not(.elementor-editor-active) .txe-s6 .ts-dot-label{position:absolute!important;top:110px;left:80px;width:auto!important}
body:not(.elementor-editor-active) .txe-s6 .txe-ttl{position:absolute!important;top:150px;left:80px;width:auto!important}
body:not(.elementor-editor-active) .txe-duo{position:absolute!important;left:50%;top:62%;width:calc(100vw - 160px)!important;height:54vh;transform:translate(-50%,-50%);justify-content:center!important;gap:0!important;flex-wrap:nowrap!important}
body:not(.elementor-editor-active) .txe-pn{position:relative;width:calc(50% - var(--g,40px) / 2)!important;height:100%;overflow:hidden;padding:48px!important;justify-content:space-between!important;transform:translateY(var(--y,0px)) rotate(var(--r,0deg));will-change:transform}
body:not(.elementor-editor-active) .txe-pa{margin-right:calc(var(--g,40px) / 2)!important;border-radius:30px var(--rj,30px) var(--rj,30px) 30px}
body:not(.elementor-editor-active) .txe-pb{margin-left:calc(var(--g,40px) / 2)!important;border-radius:var(--rj,30px) 30px 30px var(--rj,30px)}
body:not(.elementor-editor-active) .txe-sm{position:absolute!important;left:50%;top:30%;z-index:2;width:auto!important;transform:translate(-50%,-50%) scale(var(--k,0))}
body:not(.elementor-editor-active) .txe-s7 .txe-face,body:not(.elementor-editor-active) .txe-s7 .txe-piu{transform:scale(0);transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
body:not(.elementor-editor-active) .txe-s7.vis .txe-face,body:not(.elementor-editor-active) .txe-s7.vis .txe-piu{transform:none}
@media (max-width:1024px){
body:not(.elementor-editor-active) .txe-s1 .txe-tx{left:24px;right:24px;top:120px}
body:not(.elementor-editor-active) .txe-s1 .txe-wi{clip-path:inset(calc(66vh - 40px) 40px 40px calc(40vw - 40px) round 30px)}
body:not(.elementor-editor-active) .txe-s1 .txe-hint{left:24px;bottom:40px}
body:not(.elementor-editor-active) .txe-s3 .ts-dot-label{top:100px}
body:not(.elementor-editor-active) .txe-num{height:190px;padding:0 24px!important}
body:not(.elementor-editor-active) .txe-nums{padding-bottom:200px!important}
body:not(.elementor-editor-active) .txe-s4 .txe-stk,body:not(.elementor-editor-active) .txe-s4 .txe-stk{flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important}
body:not(.elementor-editor-active) .txe-s4tx{width:100%!important;min-width:0;padding:110px 24px 20px!important}
body:not(.elementor-editor-active) .txe-s4p{display:none}
body:not(.elementor-editor-active) .txe-s4{height:auto}
body:not(.elementor-editor-active) .txe-s4 .txe-stk{position:relative!important;height:auto}
body:not(.elementor-editor-active) .txe-cols{height:auto;padding:0 24px!important;gap:10px!important}
body:not(.elementor-editor-active) .txe-col{gap:10px!important}
body:not(.elementor-editor-active) .txe-hd{padding:0 24px!important}
body:not(.elementor-editor-active) .txe-tr{padding:40px 24px 0!important;gap:16px!important}
body:not(.elementor-editor-active) .txe-cd{width:78vw!important;height:50vh;padding:28px!important}
body:not(.elementor-editor-active) .txe-bar{margin:30px 24px 0}
body:not(.elementor-editor-active) .txe-s6 .ts-dot-label{left:24px;top:100px}
body:not(.elementor-editor-active) .txe-s6 .txe-ttl{left:24px;top:130px}
body:not(.elementor-editor-active) .txe-duo{width:calc(100vw - 48px)!important;flex-direction:column!important;height:62vh;top:60%}
body:not(.elementor-editor-active) .txe-pn{width:100%!important;height:50%;padding:26px!important}
body:not(.elementor-editor-active) .txe-pa{margin:0 0 calc(var(--g,40px) / 2)!important;border-radius:24px 24px var(--rj,24px) var(--rj,24px)}
body:not(.elementor-editor-active) .txe-pb{margin:calc(var(--g,40px) / 2) 0 0!important;border-radius:var(--rj,24px) var(--rj,24px) 24px 24px}
body:not(.elementor-editor-active) .txe-sm{top:50%}
}


/* =========================
   REVISIONE RESPONSIVE (27/10/2026 sera)
   ========================= */
/* casella privacy dei moduli: su due righe l'interlinea era 1 */
.elementor-field-type-acceptance label,.elementor-field-option label{line-height:1.45}
/* staff: su tablet e telefono lo stato diventa solo il pallino (con la scritta si sovrapponeva all'etichetta dell'area) */
@media (max-width:1024px){
  .tsk2-person.tsk2-on .elementor-widget-image:after,.tsk2-person.tsk2-idle .elementor-widget-image:after,.tsk2-person.tsk2-dnd .elementor-widget-image:after,.tsk2-person.tsk2-off .elementor-widget-image:after{content:"";left:auto;right:10px;top:10px;width:24px;height:24px;padding:0;background-position:center;background-size:9px 9px;background-repeat:no-repeat}
}
/* speed audit (tsa-): su tablet/telefono il riquadro del punteggio restava "static" e il suo alone (assoluto, -30%) allargava la pagina di 85px */
@media (max-width:1024px){.tsa-check .score{position:relative!important}}
/* card impilate (ts-stack): larghe 1600px fisse anche su tablet e schermi stretti → mai più larghe dello spazio disponibile */
.ts-stack > .e-con-inner > .e-con,.ts-stack > .e-con{max-width:100%}
/* insights, card in evidenza: il pulsante è inline-flex e le parole (divise dall'animazione) perdevano lo spazio prima della freccia */
.tsb-grid-feat .e-loop-item:first-of-type .tsb-more .elementor-heading-title{gap:.3em}
/* home, sezione servizi: la card che entra ingrandita (scale 1.2) sforava di 34px su tablet */
.tsh-svc{overflow-x:clip}
/* hero con alone (radial-bg): su telefono i pulsanti trasparenti con testo bianco finiscono sulla parte chiara dell'alone → fondo scuro semitrasparente
   (Sami "Scopri Sami AI", Progressive App "Scopri i vantaggi", Shopify "Scopri cosa facciamo") */
@media (max-width:767px){
  .elementor-element-725cde0a .elementor-button,.elementor-element-22e2ff04 .elementor-button,.elementor-element-18452045 .elementor-button{background-color:rgba(11,13,16,.55)!important;border-color:rgba(255,255,255,.55)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
}
/* Lavora con noi: hero blu, il pallino blu dell'occhiello spariva */
.elementor-element-183413d6 .ts-dot-label::before{background:#FFFFFF}

/* card impilate su telefono (28/10): l'effetto resta, ma il contenuto è più compatto per stare nello schermo sotto l'header */
@media (max-width:767px){
  .ts-stack .e-con{--row-gap:12px!important;--column-gap:12px!important;--gap:12px 12px!important}
  .ts-stack .elementor-widget-heading h2.elementor-heading-title{font-size:26px!important;line-height:1.15!important;letter-spacing:-.5px!important}
  .ts-stack .elementor-widget-heading h3.elementor-heading-title{font-size:20px!important;line-height:1.25!important;letter-spacing:-.3px!important}
  .ts-stack .elementor-widget-heading p.elementor-heading-title{font-size:15.5px!important;line-height:1.45!important;letter-spacing:0!important}
  .ts-stack .elementor-widget-text-editor,.ts-stack .elementor-widget-text-editor p{font-size:15.5px!important;line-height:1.45!important;letter-spacing:0!important}
  .ts-stack .elementor-widget-text-editor p{margin-bottom:8px}
  .ts-stack .elementor-icon-list-text{font-size:14.5px!important;line-height:1.4!important;letter-spacing:0!important}
  .ts-stack .elementor-icon-list-item{padding-bottom:4px!important;padding-top:0!important}
  .ts-stack .elementor-widget-image img{max-height:56px;width:auto!important}
  .ts-stack > .e-con-inner > .e-con,.ts-stack > .e-con,.ts-stack .elementor-loop-container > .e-loop-item > .e-con{min-height:0!important;justify-content:flex-start!important}
  :not(.tsh-svc) .ts-stack > .e-con-inner > .e-con > .e-con,:not(.tsh-svc) .ts-stack > .e-con > .e-con{--padding-top:22px!important;--padding-right:22px!important;--padding-bottom:22px!important;--padding-left:22px!important;justify-content:flex-start!important;min-height:0!important}
  :not(.tsh-svc) .ts-stack > .e-con-inner > .e-con > .e-con:not(:last-child),:not(.tsh-svc) .ts-stack > .e-con > .e-con:not(:last-child){--padding-bottom:6px!important}
  :not(.tsh-svc) .ts-stack > .e-con-inner > .e-con > .e-con + .e-con,:not(.tsh-svc) .ts-stack > .e-con > .e-con + .e-con{--padding-top:6px!important}
  .ts-stack > .e-con-inner > .e-con,.ts-stack > .e-con{--row-gap:0px!important;--gap:0px 0px!important}
  .ts-stack .elementor-button{padding:12px 20px!important;font-size:14px!important}
}


/* contatti, chat su telefono (28/10): pulsanti di scelta più piccoli, campo di scrittura leggibile, nome ed email compatti con l'invio a lato */
@media (max-width:767px){
  .tct-h{padding:14px 18px;gap:12px}.tct-av span{width:34px;height:34px;font-size:11px}.tct-logo{width:38px;height:38px}.tct-h b{font-size:16px}.tct-h small{font-size:12.5px}
  .tct-b{padding:16px 16px 12px;gap:10px}
  .tct-m{font-size:15px;line-height:1.45;padding:11px 15px;border-radius:18px}
  .tct-ch{gap:6px}
  .tct-ch button{padding:7px 12px!important;font-size:13px!important;line-height:1.2!important}.tct-ch{padding-top:22px}.tct-ch:before{font-size:11.5px}
  .tct-in{padding:10px}
  .tct-row{padding:4px 4px 4px 6px;border-radius:22px}
  .tct-row input,.tct-row textarea{font-size:15px!important;line-height:1.4!important;padding:9px 10px!important}
  .tct-row textarea{min-height:62px}
  .tct-row textarea::placeholder,.tct-row input::placeholder{font-size:14px;color:rgba(11,13,16,.45)}
  .tct-send{flex:0 0 38px;width:38px;height:38px}
  .tct-f input:not([type=checkbox]){min-width:0}
  .tct-f .tct-row:has(input){display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;column-gap:4px}
  .tct-f .tct-row:has(input) input{grid-column:1;flex-basis:auto}
  .tct-f .tct-row:has(input) input+input{border-left:0!important;border-top:1px solid rgba(11,13,16,.1)!important}
  .tct-f .tct-row:has(input) .tct-send{grid-column:2;grid-row:1 / span 2}
  .tct-f label{font-size:12px}
}

/* experience su tablet: margini laterali 40 come le altre pagine */
@media (min-width:768px) and (max-width:1024px){
body:not(.elementor-editor-active) .txe-s1 .txe-tx{left:40px;right:40px}
body:not(.elementor-editor-active) .txe-s1 .txe-hint{left:40px}
body:not(.elementor-editor-active) .txe-num{padding:0 40px!important}
body:not(.elementor-editor-active) .txe-s4tx{padding:110px 40px 20px!important}
body:not(.elementor-editor-active) .txe-cols{padding:0 40px!important}
body:not(.elementor-editor-active) .txe-hd{padding:0 40px!important}
body:not(.elementor-editor-active) .txe-tr{padding:40px 40px 0!important}
body:not(.elementor-editor-active) .txe-bar{margin:30px 40px 0}
body:not(.elementor-editor-active) .txe-s6 .ts-dot-label{left:40px}
body:not(.elementor-editor-active) .txe-s6 .txe-ttl{left:40px;right:40px}
body:not(.elementor-editor-active) .txe-duo{width:calc(100vw - 80px)!important}
}
/* experience su telefono: margini laterali 20 come il resto del sito; "Il gruppo" con testi che stanno nei pannelli */
@media (max-width:767px){
body:not(.elementor-editor-active) .txe-s1 .txe-tx{left:20px;right:20px}
body:not(.elementor-editor-active) .txe-s1 .txe-hint{left:20px}
body:not(.elementor-editor-active) .txe-num{padding:0 20px!important}
body:not(.elementor-editor-active) .txe-s4tx{padding:100px 20px 20px!important}
body:not(.elementor-editor-active) .txe-cols{padding:0 20px!important}
body:not(.elementor-editor-active) .txe-hd{padding:0 20px!important}
body:not(.elementor-editor-active) .txe-tr{padding:36px 20px 0!important}
body:not(.elementor-editor-active) .txe-bar{margin:28px 20px 0}
body:not(.elementor-editor-active) .txe-s6{height:240vh}
body:not(.elementor-editor-active) .txe-s6 .ts-dot-label{left:20px;top:96px}
body:not(.elementor-editor-active) .txe-s6 .txe-ttl{left:20px;right:20px;top:122px}
body:not(.elementor-editor-active) .txe-duo{width:calc(100vw - 40px)!important;height:min(66vh,560px);top:calc(50% + 70px)}
body:not(.elementor-editor-active) .txe-pn{padding:22px!important;gap:10px}
body:not(.elementor-editor-active) .txe-pnh .elementor-heading-title{font-size:38px!important;letter-spacing:-1.5px!important}
body:not(.elementor-editor-active) .txe-pnp,body:not(.elementor-editor-active) .txe-pnp p{font-size:14px!important;line-height:1.45!important}
body:not(.elementor-editor-active) .txe-pnb{gap:8px!important}
body:not(.elementor-editor-active) .txe-sm{top:50%;width:calc(100vw - 72px)!important;max-width:none;padding:10px 16px 10px 12px!important}
.txe-smt .elementor-heading-title{white-space:normal}
body:not(.elementor-editor-active) .txe-smt .elementor-heading-title{font-size:13.5px!important;line-height:1.3!important;position:relative;padding-left:38px;min-height:28px;display:block}
body:not(.elementor-editor-active) .txe-smt .elementor-heading-title:before{position:absolute;left:0;top:50%;width:28px;height:28px;font-size:17px;margin:-14px 0 0 0}
body:not(.elementor-editor-active) .txe-pb{padding-top:40px!important}
}

/* home, card dei servizi su telefono (28/10): 20px ai lati, etichette più piccole, testo più leggibile */
@media (max-width:767px){
  .tsh-svc .ts-stack > .e-con-inner > .e-con,.tsh-svc .ts-stack > .e-con{--padding-left:20px!important;--padding-right:20px!important;--padding-top:24px!important;--padding-bottom:24px!important}
  .tsh-svc .ts-stack > .e-con-inner > .e-con > .e-con,.tsh-svc .ts-stack > .e-con > .e-con{--padding-top:0px!important;--padding-right:0px!important;--padding-bottom:0px!important;--padding-left:0px!important}
  .tsh-svc .ts-stack .elementor-widget-text-editor,.tsh-svc .ts-stack .elementor-widget-text-editor p{font-size:16.5px!important;line-height:1.45!important;letter-spacing:-.1px!important}
  .tsh-svc .tsh-tags{--gap:6px 6px!important;--row-gap:6px!important;--column-gap:6px!important}
  .tsh-svc .tsh-tags .elementor-button{font-size:12px!important;padding:6px 10px!important;letter-spacing:0!important}
}
/* footer su tablet/telefono (28/10): l'alone blu sale fino al titolo, così il testo bianco si legge anche sulle pagine chiare */
@media (max-width:1024px){
  [data-elementor-type="footer"] .radial-bg-reverse::before{background:radial-gradient(ellipse 175% 94% at center bottom,#000000 36%,#266BF6 63%,#266BF6D9 85%,#266BF600 100%)!important}
  .ts-pagina-shopify [data-elementor-type="footer"] .radial-bg-reverse::before{background:radial-gradient(ellipse 175% 94% at center bottom,#000000 36%,#88B339 63%,#88B339D9 85%,#88B33900 100%)!important}
  .ts-pagina-magento [data-elementor-type="footer"] .radial-bg-reverse::before{background:radial-gradient(ellipse 175% 94% at center bottom,#000000 36%,#F46F25 63%,#F46F25D9 85%,#F46F2500 100%)!important}
  .page-id-1859 [data-elementor-type="footer"] .radial-bg-reverse::before{background:radial-gradient(ellipse 175% 94% at center bottom,#000000 36%,#720EEC 63%,#720EECD9 85%,#720EEC00 100%)!important}
}

/* =========================================================
   AI OPERATIONS – TEASER THE SPACE UNBOXED (tsu-)
   Pagina AI Operations fino al 10/12/2026 (classe ts-fino-10-12).
   Sigla identica alla landing unboxed.thespacesm.com: THE SPACE in mono spaziato, UNBOXED in argento spazzolato.
   ========================================================= */
.tsu{position:relative;overflow:hidden}
.tsu strong{color:#FFFFFF;font-weight:600}
.tsu-kick .elementor-heading-title{display:inline-flex;align-items:center;gap:10px}
.tsu-kick .elementor-heading-title::before{content:"";width:7px;height:7px;border-radius:50%;background:#266BF6;box-shadow:0 0 0 4px rgba(38,107,246,.22);animation:tsu-blink 1.6s ease-in-out infinite}
@keyframes tsu-blink{50%{opacity:.35}}
.tsu-small .elementor-heading-title{padding-left:.7em;animation:tsu-track 2s cubic-bezier(.2,.8,.2,1) both}
.tsu-big .elementor-heading-title{padding-left:.14em;
  background:radial-gradient(ellipse 22% 140% at 50% 30%,#ffffff 0%,#f2f2f2 35%,#8a8a8a 70%,#3e3e3e 100%);background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
  animation:tsu-big 2.2s cubic-bezier(.2,.8,.2,1) .35s both,tsu-glide 11s ease-in-out 0s infinite alternate}
@keyframes tsu-track{from{opacity:0;letter-spacing:1.6em;filter:blur(6px)}to{opacity:1;filter:none}}
@keyframes tsu-big{from{opacity:0;letter-spacing:.5em;transform:scale(1.08);filter:blur(14px)}to{opacity:1;transform:none;filter:none}}
@keyframes tsu-glide{from{background-position:0% 0}to{background-position:100% 0}}
.tsu .elementor-countdown-item{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tsu .elementor-countdown-label{margin-top:6px}
/* pagina nera fino al footer: niente stacco bianco sopra la sfumatura del footer */
body:has(.tsu){background:#020306}
body:has(.tsu) [data-elementor-type="footer"] .radial-bg-reverse::before{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 420px);mask-image:linear-gradient(180deg,transparent 0,#000 420px)}
.tsu-logo img{filter:drop-shadow(0 18px 40px rgba(38,107,246,.45));animation:tsu-in 1.4s cubic-bezier(.2,.8,.2,1) both,tsu-float 6s ease-in-out 1.4s infinite alternate}
.tsu-nome .elementor-heading-title{animation:tsu-in 1.4s cubic-bezier(.2,.8,.2,1) .15s both}
.tsu-ai{color:#2F7BFF}
.tsu-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:0!important}   /* titolo solo per Google: il nome è già nel logo */
.tsu-ai--action{background:linear-gradient(180deg,#A5B4FC 0%,#4F46E5 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}   /* «AI» come nel logo di AI Action */
@keyframes tsu-in{from{opacity:0;transform:translateY(14px) scale(.96);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes tsu-float{from{transform:translateY(0)}to{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){
  .tsu-kick .elementor-heading-title::before,.tsu-small .elementor-heading-title,.tsu-big .elementor-heading-title,.tsu-logo img,.tsu-nome .elementor-heading-title{animation:none}
}

/* AI Action: le tre regole in una fascia (Da solo / Con il nostro ok / Mai) */
.tsaa-reg{border:1px solid rgba(11,13,16,.08);border-radius:24px;overflow:hidden;background:#FFFFFF;box-shadow:0 24px 60px rgba(11,13,16,.06)}
.tsaa-reg-col{position:relative}
.tsaa-reg-col + .tsaa-reg-col{border-left:1px solid rgba(11,13,16,.08)}
.tsaa-pill .elementor-heading-title{display:inline-flex;align-items:center;gap:8px}
.tsaa-pill .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
@media (max-width:1024px){.tsaa-reg-col + .tsaa-reg-col{border-left:0;border-top:1px solid rgba(11,13,16,.08)}}

/* AI Action: casi reali a righe, nel riquadro nero */
.tsaa-casi > .e-con-inner > .tsaa-caso,.tsaa-casi > .tsaa-caso{padding:28px 0;border-top:1px solid rgba(255,255,255,.14)}
.tsaa-casi > .tsaa-caso:first-child,.tsaa-casi > .e-con-inner > .tsaa-caso:first-child{border-top:0;padding-top:0}
.tsaa-casi > .tsaa-caso:last-child,.tsaa-casi > .e-con-inner > .tsaa-caso:last-child{padding-bottom:0}
@media (max-width:767px){.tsaa-casi > .tsaa-caso,.tsaa-casi > .e-con-inner > .tsaa-caso{padding:22px 0}}

/* AI Action: elenchi delle tre regole (Da solo / Con il tuo ok / Mai) */
.tsaa-regola ul{margin:0;padding-left:1.1em}
.tsaa-regola li{margin:0 0 8px}
.tsaa-regola li:last-child{margin-bottom:0}
.tsaa-regola li::marker{color:#266BF6}


/* =========================
   BARRA UNBOXED (functions.php → thespace_barra_unboxed), fino al 10/12/2026
   Blu del sito, bassa, NON fissa: sta in cima alla pagina e scorre via; l'header fisso di Elementor resta com'è.
   Sigla come la landing /unboxed/ (THE SPACE in mono + UNBOXED), frase, Iscriviti / Prenota.
   ========================= */
.ts-unboxed-bar {
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  position: relative;
  z-index: 1000;
  display: block;
  height: 32px;
  overflow: hidden;
  background: #266BF6;
  color: #fff;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
}
.ts-unboxed-bar:hover, .ts-unboxed-bar:focus { color: #fff; }

.ts-unboxed-bar__in {
  height: 100%;
  width: calc(100% - 32px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.ts-unboxed-bar__sigla { display: flex; align-items: center; gap: 10px; line-height: 1; flex: none; }
.ts-unboxed-bar__sigla small {
  font: 600 12px/1 var(--mono);
  letter-spacing: .32em;
  text-transform: uppercase;
  color: #fff;
}
.ts-unboxed-bar__sigla b {
  font: 700 16px/1 Poppins, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
}

/* frase / data, separata da una righina */
.ts-unboxed-bar__info {
  display: flex; align-items: center; gap: 12px;
  height: 14px;
  padding-left: 24px;
  border-left: 1px solid rgba(255,255,255,.4);
  font: 600 12px/1 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #fff;
}
.ts-unboxed-bar__info i { width: 4px; height: 4px; border-radius: 50%; background: #fff; }
.ts-unboxed-bar__info strong { font-weight: 600; }

/* Iscriviti / Prenota: bottoncino bianco */
.ts-unboxed-bar__cta {
  display: inline-flex; align-items: center; gap: 6px;
  height: 22px;
  padding: 0 10px 0 12px;
  border-radius: 999px;
  background: #fff;
  color: #000;
  font: 600 12px/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: transform .25s;
}
.ts-unboxed-bar__cta svg { width: 12px; height: 12px; transition: transform .25s; }
.ts-unboxed-bar:hover .ts-unboxed-bar__cta { transform: scale(1.04); }
.ts-unboxed-bar:hover .ts-unboxed-bar__cta svg { transform: translateX(2px); }

@media (max-width: 767px) {
  .ts-unboxed-bar__in { gap: 10px; }
  .ts-unboxed-bar__sigla { gap: 7px; }
  .ts-unboxed-bar__sigla small { letter-spacing: .12em; }
  .ts-unboxed-bar__sigla b { font-size: 14px; letter-spacing: .08em; }
  .ts-unboxed-bar__cta { letter-spacing: .04em; }
  .ts-unboxed-bar__info, .ts-unboxed-bar__lungo { display: none; }   /* sul telefono: sigla + Iscriviti / Prenota */
}


/* =========================
   TIPOGRAFIA UNICA DEI TITOLI (05/11/2026)
   H1 e H2 uguali in tutte le pagine (corpo, interlinea, peso, spaziatura), qualunque cosa abbia il singolo widget.
   Escluse per ora le pagine corporate con titoli a design proprio: Home 2808, Staff 2966, Contatti 3264, Experience 3287, Clienti 3537.
   ========================= */
body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) :is(main,[data-elementor-type="archive"]) h1.elementor-heading-title{
  font-size:66px!important;line-height:1.1!important;font-weight:500!important;letter-spacing:-1.5px!important;
}
body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) :is(main,[data-elementor-type="archive"]) .elementor-widget-heading:not(.ts-card-title):not(.ts-h-libero) h2.elementor-heading-title{
  font-size:56px!important;line-height:1.1!important;font-weight:500!important;letter-spacing:-1.5px!important;
}
@media (max-width:1024px){
  body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) :is(main,[data-elementor-type="archive"]) h1.elementor-heading-title{font-size:48px!important;letter-spacing:-1.2px!important}
  body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) :is(main,[data-elementor-type="archive"]) .elementor-widget-heading:not(.ts-card-title):not(.ts-h-libero) h2.elementor-heading-title{font-size:42px!important;letter-spacing:-1.2px!important}
}
@media (max-width:767px){
  body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) :is(main,[data-elementor-type="archive"]) h1.elementor-heading-title{font-size:36px!important;letter-spacing:-.8px!important}
  body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) :is(main,[data-elementor-type="archive"]) .elementor-widget-heading:not(.ts-card-title):not(.ts-h-libero) h2.elementor-heading-title{font-size:32px!important;letter-spacing:-.8px!important}
}

/* titoli delle card (es. nome della piattaforma accanto al logo): stesso stile degli H2 ma si riducono un po' sotto i 1560px per non uscire dalla card */
@media (min-width:1025px){ main .ts-card-title .elementor-heading-title{font-size:clamp(36px,3.6vw,56px)!important} }

/* Experience: titoli giganti che si adattano alla larghezza (a 1200px uscivano dal riquadro) */
@media (min-width:1025px){
  body:not(.elementor-editor-active) .txe-s4h .elementor-heading-title{font-size:min(84px,5.4vw)!important}
  body:not(.elementor-editor-active) .txe-pnh .elementor-heading-title{font-size:min(120px,7.4vw)!important}
}

/* passaggi: su computer niente margine interno laterale (lo spazio lo dà l'ombra grigia del passaggio attivo), uguale su tutte le pagine;
   su E-commerce Growth c'erano 40px per lato e a 1200px il testo restava largo 109px (05/11/2026) */
@media (min-width:1025px){ .ts-steps > .e-con{padding-left:0!important;padding-right:0!important} }

/* articoli e comunicati: link o parole lunghissime vanno a capo invece di uscire dallo schermo */
.single main .elementor-widget-theme-post-content,.single main .entry-content{overflow-wrap:break-word}

/* SPAZI TRA LE SEZIONI SU TELEFONO (05/11/2026): erano da 100 a 450px, ora uniformi.
   Pagine servizio: ogni sezione 56px sopra e sotto (tra due sezioni ~112px). I riquadri neri (classe ts-box sulla sezione)
   vanno a filo senza strisce bianche e hanno 56px dentro. Le pagine corporate hanno spazi a design proprio. */
@media (max-width:767px){
  body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) main .elementor > .e-con:not(:first-child):not(.ts-box){--padding-top:56px!important;--padding-bottom:56px!important}
  main .elementor > .e-con.ts-box{--padding-top:0px!important;--padding-bottom:0px!important;--margin-top:0px!important;--margin-bottom:0px!important}
  main .elementor > .e-con.ts-box > .e-con-inner > .e-con,main .elementor > .e-con.ts-box > .e-con{--padding-top:56px!important;--padding-bottom:56px!important;--margin-top:0px!important;--margin-bottom:0px!important}
  .ts-stack{--ts-stack-tail:0px}
  .ts-stack > .e-con-inner::after,.ts-stack .elementor-loop-container::after{display:none}
}


/* AREE SERVIZI (/servizi/build|manage|grow|automate), 06/11/2026: pagina nera con elenco a righe grandi (anteprima manage-d.html).
   Il nero sta sul body e le sezioni sono trasparenti, come Contatti: la sfumatura del footer sale da sotto senza taglio.
   Loop item 1909: numero (contatore CSS), nome + AI, descrizione, etichette, tasto tondo. Tutta la riga è cliccabile. */
body.tax-service-category{background:#0B0D10}
.tax-service-category [data-elementor-type="archive"],.tax-service-category [data-elementor-type="archive"] .e-con{background-color:transparent!important}
.tax-service-category [data-elementor-type="archive"] h1.elementor-heading-title{color:#FFFFFF!important}
.tax-service-category [data-elementor-type="archive"] p.elementor-heading-title{color:rgba(255,255,255,.55)!important}
.tsa-intro{max-width:660px!important;margin-top:20px!important}
.tsa-intro,.tsa-intro p{font:400 18px/1.6 "Poppins",sans-serif!important;color:rgba(255,255,255,.75)!important;margin:0}
.tsa-intro strong{color:#FFFFFF;font-weight:600}
.tax-service-category .tsa-list{--padding-top:72px!important;--padding-bottom:300px!important}
.tsa-head{display:flex!important;justify-content:space-between;align-items:center;width:100%!important;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.14)}
.tsa-head .elementor-heading-title,.tsa-head::after{font:600 13px/1 "Poppins",sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase;color:rgba(255,255,255,.45)!important}
.tsa-head::after{content:attr(data-n)}
.tsa-list .elementor-widget-loop-grid{width:100%!important;max-width:100%!important}
.tsa-list .elementor-loop-container{display:block!important;counter-reset:tsa}
.tsa-list .e-loop-item{counter-increment:tsa}
.e-con.tsa-row{display:grid!important;grid-template-columns:70px minmax(0,1.3fr) minmax(0,1fr) 64px;grid-template-rows:auto auto;column-gap:32px!important;row-gap:12px!important;align-items:center!important;padding:44px 0!important;min-height:0!important;width:100%!important;max-width:100%!important;position:relative;background:transparent!important;border-radius:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;box-shadow:none!important;transition:opacity .3s}
.e-con.tsa-row > .e-con-inner,.e-con.tsa-row > .e-con-inner > .e-con{display:contents!important}
.tsa-numw{grid-column:1;grid-row:1/3}
.tsa-numw .elementor-heading-title{font-size:0!important;line-height:1!important}
.tsa-numw .elementor-heading-title::before{content:counter(tsa,decimal-leading-zero);font:600 14px/1 "Poppins",sans-serif;color:rgba(255,255,255,.4);transition:color .3s}
.e-con.tsa-row > .e-con-inner > .e-con > .e-con{grid-column:2;grid-row:1/3;display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:16px!important;width:auto!important;padding:0!important;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.tsa-name .elementor-heading-title{font-size:clamp(40px,4.6vw,76px)!important;font-weight:500!important;line-height:1.02!important;letter-spacing:-.035em!important;color:#FFFFFF!important}
.e-con.tsa-row .elementor-widget-image{display:none!important}
.e-con.tsa-row .tsa-ai{width:auto!important;background:transparent!important;align-self:center}
.tsa-ai .elementor-heading-title{display:inline-flex!important;align-items:center;gap:6px;font:700 16px/1 "Poppins",sans-serif!important;letter-spacing:.02em!important;padding:8px 14px 8px 11px;border-radius:999px;background:linear-gradient(90deg,#2F62F6 0%,#5B4BF4 55%,#8A3FF1 100%)!important;color:#FFFFFF!important}
.tsa-ai .elementor-heading-title::before{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.5 4.9 2.6 7.5 10 10-7.4 2.5-9.5 5.1-10 10-.5-4.9-2.6-7.5-10-10 7.4-2.5 9.5-5.1 10-10z'/%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'%3E%3Cpath d='M12 2c.5 4.9 2.6 7.5 10 10-7.4 2.5-9.5 5.1-10 10-.5-4.9-2.6-7.5-10-10 7.4-2.5 9.5-5.1 10-10z'/%3E%3C/svg%3E") center/contain no-repeat}
.e-con.tsa-row .tsa-txt{grid-column:3;grid-row:1;align-self:end}
.e-con.tsa-row .tsa-txt,.e-con.tsa-row .tsa-txt p{font:400 16px/1.6 "Poppins",sans-serif!important;color:rgba(255,255,255,.72)!important;opacity:1!important;margin:0;padding:0}
.e-con.tsa-row .label-service{grid-column:3;grid-row:2;align-self:start}
.e-con.tsa-row .label-service ul{display:block!important;margin:0;padding:0}
.e-con.tsa-row .label-service ul li{display:inline;background:none!important;padding:0!important;border-radius:0;font:600 12px/1.9 "Poppins",sans-serif;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.e-con.tsa-row .label-service ul li + li::before{content:" · "}
.e-con.tsa-row .label-service ul li.ts-new{color:#266BF6;font-weight:700}
.tsa-go{grid-column:4;grid-row:1/3;width:64px!important;justify-self:end}
.tsa-go .elementor-widget-container,.tsa-go{position:static!important}
.e-con.tsa-row .tsa-go .elementor-button{width:64px!important;height:64px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center;font-size:0!important;background:transparent!important;color:#FFFFFF!important;border:1px solid rgba(255,255,255,.25)!important;transition:background .3s,border-color .3s,transform .4s}
.tsa-go .elementor-button::before{content:"";width:22px;height:22px;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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.tsa-go .elementor-button::after{content:"";position:absolute;inset:0}   /* tutta la riga cliccabile */
.tsa-go .elementor-button-content-wrapper{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}   /* «Scopri di più» resta per i lettori di schermo */
.tsa-foot{margin-top:56px!important;max-width:760px!important}
.tsa-foot,.tsa-foot *{overflow-wrap:normal!important;word-break:normal!important}
.tsa-foot,.tsa-foot p{font:400 clamp(22px,2vw,30px)/1.35 "Poppins",sans-serif!important;color:rgba(255,255,255,.6)!important;margin:0}
.tsa-foot strong{font-weight:500;color:#FFFFFF}
@media (hover:hover){
  .tsa-list .elementor-loop-container:hover .e-con.tsa-row{opacity:.35}
  .tsa-list .elementor-loop-container .e-loop-item:hover .e-con.tsa-row{opacity:1}
  .e-con.tsa-row:hover > .e-con-inner > .e-con > .e-con{transform:translateX(18px)}   /* nome ed etichetta AI scivolano insieme */
  .e-con.tsa-row:hover .tsa-numw .elementor-heading-title::before{color:#266BF6}
  .e-con.tsa-row:hover .tsa-go .elementor-button{background:#266BF6!important;border-color:#266BF6!important;transform:rotate(-45deg)}
}
@media (max-width:1024px){
  .e-con.tsa-row{grid-template-columns:50px minmax(0,1fr) 56px;grid-template-rows:auto;row-gap:16px!important}
  .tsa-numw{grid-row:1}
  .e-con.tsa-row > .e-con-inner > .e-con > .e-con{grid-column:2;grid-row:1}
  .e-con.tsa-row .tsa-txt{grid-column:2;grid-row:2}
  .e-con.tsa-row .label-service{grid-column:2;grid-row:3}
  .tsa-go{grid-column:3;grid-row:1;width:52px!important}
  .e-con.tsa-row .tsa-go .elementor-button{width:52px!important;height:52px!important}
}
@media (max-width:767px){
  .tax-service-category .tsa-list{--padding-top:48px!important;--padding-bottom:240px!important}
  .tsa-intro,.tsa-intro p{font-size:16px!important}
  .e-con.tsa-row{grid-template-columns:minmax(0,1fr) 44px;column-gap:14px!important;row-gap:14px!important;padding:30px 0!important}
  .tsa-numw{grid-column:1/-1;grid-row:1}
  .e-con.tsa-row > .e-con-inner > .e-con > .e-con{grid-column:1;grid-row:2}
  .tsa-name .elementor-heading-title{font-size:34px!important}
  .tsa-go{grid-column:2;grid-row:2;width:44px!important;align-self:center}
  .e-con.tsa-row .tsa-go .elementor-button{width:44px!important;height:44px!important}
  .tsa-go .elementor-button::before{width:18px;height:18px}
  .e-con.tsa-row .tsa-txt{grid-column:1/-1;grid-row:3;align-self:start}
  .e-con.tsa-row .tsa-txt,.e-con.tsa-row .tsa-txt p{font-size:15px!important}
  .e-con.tsa-row .label-service{grid-column:1/-1;grid-row:4}
  .tsa-foot{margin-top:40px!important}
  .tsa-foot,.tsa-foot p{font-size:20px!important}
}

/* Recensioni Google (Trustindex, 06/11/2026): badge «Servizio più votato» in versione scura (impostata nel plugin), piccolo, sotto «Cookie Policy» nella colonna Link utili */
.ts-foot-rev-w pre.ti-widget{margin:0!important;padding:0!important}
.ts-foot-rev-w{margin-top:4px;width:auto!important;max-width:100%}
.ts-foot-rev-w .ti-widget.ti-goog{zoom:.62}
.ts-foot-rev-w .ti-widget.ti-goog .ti-widget-container{display:inline-flex!important;width:auto!important;max-width:100%;margin:0!important}
.ts-foot-rev-w .ti-widget.ti-goog,.ts-foot-rev-w .ti-widget.ti-goog *{font-family:"Poppins",sans-serif!important}

/* LAVORA CON NOI (06/11/2026): pagina nera con posizioni a righe grandi e riquadro blu «candidatura spontanea»;
   la sezione del modulo (ts-bg-light) fa sfumare lo sfondo al bianco. Anteprima: anteprime/servizi-aree/lavora-con-noi-v2.html */
body.ts-pagina-lavora-con-noi{background:#0B0D10}   /* nera da subito: l'header legge lo sfondo prima che parta lo script */
.lcp-dark{--padding-top:calc(110px + 6vh)!important;--padding-bottom:160px!important;--gap:0px!important}
.lcp-dark .ts-dot-label .elementor-heading-title{color:rgba(255,255,255,.55)!important}
.lcp-h1 .elementor-heading-title{color:#FFFFFF!important;max-width:1000px}
.lcp-intro{max-width:640px!important;margin-top:24px!important}
.lcp-intro,.lcp-intro p{font:400 18px/1.6 "Poppins",sans-serif!important;color:rgba(255,255,255,.72)!important;margin:0}
.lcp-grid{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px!important;align-items:start!important;margin-top:96px!important;padding:0!important}
.lcp-list{padding:0!important;gap:0!important}
.lcp-head{display:flex!important;justify-content:space-between;align-items:center;width:100%!important;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.14)}
.lcp-head .elementor-heading-title,.lcp-head::after{font:600 13px/1 "Poppins",sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase;color:rgba(255,255,255,.45)!important}
.lcp-head::after{content:attr(data-n)}
.lcp-pos{width:100%!important;counter-reset:lcp}
.lcp-pos .elementor-toggle-item{counter-increment:lcp;border:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;margin:0!important;background:transparent!important}
.lcp-pos .elementor-tab-title{position:relative;display:grid!important;grid-template-columns:60px minmax(0,1fr);align-items:center;padding:36px 80px 36px 0!important;border:0!important;background:transparent!important;cursor:pointer;transition:opacity .3s}
.lcp-pos .elementor-tab-title::before{content:counter(lcp,decimal-leading-zero);font:600 14px/1 "Poppins",sans-serif;color:rgba(255,255,255,.4);transition:color .3s}
.lcp-pos .elementor-toggle-icon{display:none!important}
.lcp-pos .elementor-tab-title::after{content:"";position:absolute;right:0;top:50%;width:56px;height:56px;margin-top:-28px;border-radius:50%;border:1px solid rgba(255,255,255,.25);box-sizing:border-box;background:no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M2 8h12' stroke='%23FFFFFF' stroke-width='1.3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");transition:background-color .3s,border-color .3s,transform .4s}
.lcp-pos .elementor-tab-title.elementor-active::after{background-color:#266BF6;border-color:#266BF6;transform:rotate(45deg)}
.lcp-pos .elementor-toggle-title{display:flex!important;flex-direction:column;gap:10px;font:500 clamp(28px,2.7vw,44px)/1.05 "Poppins",sans-serif!important;letter-spacing:-.03em;color:#FFFFFF!important;text-decoration:none!important;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.lcp-area-t{font:600 12px/1 "Poppins",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.lcp-pos .elementor-tab-content{border:0!important;padding:0 80px 40px 60px!important;background:transparent!important}
.lcp-pos .elementor-tab-content p{font:400 16px/1.65 "Poppins",sans-serif!important;color:rgba(255,255,255,.72)!important;margin:0 0 16px;max-width:640px}
.lcp-pos .elementor-tab-content ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.lcp-pos .elementor-tab-content li{position:relative;padding-left:22px;font:400 15px/1.5 "Poppins",sans-serif;color:#FFFFFF}
.lcp-pos .elementor-tab-content li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:#266BF6}
.lcp-go,.lcp-spont-b .elementor-button{display:inline-flex!important;align-items:center;gap:10px;height:48px;padding:0 22px!important;border-radius:999px!important;background:#FFFFFF!important;color:#0B0D10!important;font:600 14px/1 "Poppins",sans-serif!important;text-decoration:none!important;transition:background .25s,color .25s,gap .25s}
.lcp-go{margin-top:12px}
.lcp-go::after,.lcp-spont-b .elementor-button-text::after{content:"";width:16px;height:16px;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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.lcp-spont-b .elementor-button-text{display:inline-flex;align-items:center;gap:10px}
.lcp-go:hover{background:#266BF6!important;color:#FFFFFF!important;gap:14px}
@media (hover:hover){
  .lcp-pos:hover .elementor-tab-title{opacity:.4}
  .lcp-pos .elementor-toggle-item:hover .elementor-tab-title,.lcp-pos .elementor-tab-title.elementor-active{opacity:1}
  .lcp-pos .elementor-tab-title:hover .elementor-toggle-title{transform:translateX(14px)}
  .lcp-pos .elementor-tab-title:hover::before{color:#266BF6}
}
.lcp-spont{position:sticky!important;top:110px;background:#266BF6!important;border-radius:28px;padding:40px!important;gap:16px!important;align-items:flex-start!important}
.lcp-spont-h .elementor-heading-title{font:500 34px/1.1 "Poppins",sans-serif!important;letter-spacing:-.02em!important;color:#FFFFFF!important}
.lcp-spont-t,.lcp-spont-t p{font:400 16px/1.6 "Poppins",sans-serif!important;color:rgba(255,255,255,.88)!important;margin:0}
.lcp-spont-t strong{color:#FFFFFF;font-weight:600}
.lcp-spont-b{margin-top:12px}
.lcp-spont-b .elementor-button:hover{background:#0B0D10!important;color:#FFFFFF!important}
.lcp-light{--padding-top:140px!important;--padding-bottom:90px!important;align-items:center!important;text-align:center;scroll-margin-top:90px}
.lcp-light > .e-con-inner{align-items:center!important}
.lcp-light .ts-dot-label .elementor-heading-title{justify-content:center}
.lcp-h2 .elementor-heading-title{color:#0B0D10!important}
.lcp-intro2{max-width:640px!important;margin-top:-6px!important}
.lcp-light{--gap:14px!important;--row-gap:14px!important}
.lcp-intro2,.lcp-intro2 p{font:400 18px/1.6 "Poppins",sans-serif!important;color:#3B4049!important;margin:0}
.lcp-formbox{width:100%!important;max-width:820px!important;margin-top:48px!important;text-align:left}
.lcp-formbox .tsk2-formcard{width:100%!important}
#form-field-posizione.lcp-flash{animation:lcp-flash 1.2s ease}
@keyframes lcp-flash{0%,100%{box-shadow:0 0 0 0 rgba(38,107,246,0)}30%{box-shadow:0 0 0 4px rgba(38,107,246,.35)}}
@media (max-width:1024px){
  .lcp-dark{--padding-top:calc(90px + 4vh)!important;--padding-bottom:110px!important}
  .lcp-grid{grid-template-columns:1fr;margin-top:64px!important;gap:48px!important}
  .lcp-spont{position:relative!important;top:0}
  .lcp-pos .elementor-tab-content{padding:0 0 36px 60px!important}
  .lcp-light{--padding-top:96px!important;--padding-bottom:70px!important}
}
@media (max-width:767px){
  .lcp-dark{--padding-top:110px!important;--padding-bottom:80px!important}
  .lcp-intro,.lcp-intro p,.lcp-intro2,.lcp-intro2 p{font-size:16px!important}
  .lcp-pos .elementor-tab-title{grid-template-columns:minmax(0,1fr);padding:26px 58px 26px 0!important}
  .lcp-pos .elementor-tab-title::before{display:none}
  .lcp-pos .elementor-tab-title::after{width:44px;height:44px;margin-top:-22px;background-size:14px}
  .lcp-pos .elementor-toggle-title{font-size:24px!important}
  .lcp-pos .elementor-tab-content{padding:0 0 30px!important}
  .lcp-spont{padding:28px 22px!important;border-radius:22px}
  .lcp-spont-h .elementor-heading-title{font-size:28px!important}
  .lcp-light{--padding-top:72px!important;--padding-bottom:56px!important}
  .lcp-formbox{margin-top:36px!important}
}

/* FRECCIA UNICA (06/11/2026): stessa freccia delle pagine area (/servizi/*) anche sulle icone «freccia a destra» di Elementor */
.elementor-button .e-fas-arrow-right{fill:transparent!important;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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 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'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
/* CLIENTI — muro loghi: cella finale «e tanti altri» (06/11) */
.tcl-grid .tscl-logo.tscl-altri{background:transparent!important;border:1px dashed rgba(11,13,16,.18)}
.tcl-grid .tscl-logo.tscl-altri:hover{transform:none;box-shadow:none!important;background:transparent!important}
.tscl-altri .tscl-altri-t,.tscl-altri .tscl-altri-t .elementor-heading-title{margin:0;text-align:center;font:500 17px/1.2 "Poppins",sans-serif;color:#0B0D10}
@media (max-width:767px){.tscl-altri .tscl-altri-t .elementor-heading-title{font-size:14px}}
.tcl-grid .tscl-logo.tscl-altri{grid-column:1/-1;min-height:72px!important;height:auto!important;aspect-ratio:auto!important}
/* HOME — fascia clienti con i loghi (06/11): loghi bianchi resi grigio scuro sullo sfondo chiaro */
.tsh-cl-loghi .tsh-cl-row{gap:72px}
.tsh-cl-loghi .tsh-cl-i{height:44px}
.tsh-cl-loghi .tsh-cl-i img{height:auto!important;max-height:44px;max-width:170px;width:auto;object-fit:contain;filter:brightness(0)!important;opacity:.42!important}
.tsh-cl-loghi .tsh-cl-i:hover img{opacity:.9!important}
@media (max-width:767px){.tsh-cl-loghi .tsh-cl-row{gap:40px}.tsh-cl-loghi .tsh-cl-i{height:32px}.tsh-cl-loghi .tsh-cl-i img{max-height:32px;max-width:120px}}
/* EXPERIENCE — loghi The Space / The Strategy al posto dei titoli (06/11) */
.txe-pnlogo{width:100%!important;margin:0 0 6px!important}
.txe-pnlogo img{display:block;height:64px!important;width:auto!important;max-width:100%!important;object-fit:contain;object-position:left center}
@media (max-width:1024px){.txe-pnlogo img{height:52px!important}}
@media (max-width:767px){.txe-pnlogo img{height:40px!important}}
.txe-pnlogo-r img{margin-left:auto;object-position:right center;height:86px!important}
@media (max-width:1024px){.txe-pnlogo-r img{height:70px!important}}
@media (max-width:767px){.txe-pnlogo-r img{height:54px!important}}
/* FORM — tutti come Lavora con noi (.tsk-form); accento per pagina: Shopify verde, Magento arancione (06/11) */
.ts-pagina-shopify .elementor-widget-form.tsk-form .elementor-button{background:#88B339!important}
.ts-pagina-shopify .elementor-widget-form.tsk-form .elementor-field-textual:focus{border-color:#88B339!important;box-shadow:0 0 0 4px rgba(136,179,57,.16)!important}
.ts-pagina-shopify .elementor-widget-form.tsk-form .elementor-acceptance-field{accent-color:#88B339}
.ts-pagina-shopify .elementor-widget-form.tsk-form .elementor-mark-required .elementor-field-label:after{color:#88B339!important}
.ts-pagina-magento .elementor-widget-form.tsk-form .elementor-button{background:#F46F25!important}
.ts-pagina-magento .elementor-widget-form.tsk-form .elementor-field-textual:focus{border-color:#F46F25!important;box-shadow:0 0 0 4px rgba(244,111,37,.16)!important}
.ts-pagina-magento .elementor-widget-form.tsk-form .elementor-acceptance-field{accent-color:#F46F25}
.ts-pagina-magento .elementor-widget-form.tsk-form .elementor-mark-required .elementor-field-label:after{color:#F46F25!important}
.ts-pagina-shopify .elementor-widget-form.tsk-form .elementor-button:hover,.ts-pagina-magento .elementor-widget-form.tsk-form .elementor-button:hover{background:#0B0D10!important}
/* HOME — «Parliamone» non blocca i clic sulle card finché non è in vista (classe messa da thespace.js) */
.tsh-end:not(.tsh-end-live),.tsh-end:not(.tsh-end-live) *{pointer-events:none!important}
/* HOME — «Parliamone»: i box 1·2·3 non fanno uscire il testo sul bordo (06/11) */
.tsh-step{padding:16px 22px 16px 16px!important;gap:12px!important}
.tsh-step > .elementor-widget:not(.tsh-num){flex:1 1 0!important;min-width:0!important}
.tsh-step > .elementor-widget:not(.tsh-num) p{margin:0}
/* EXPERIENCE — via l'indicatore «Scorri» sotto il titolo (06/11) */
.txe-s1 .txe-hint{display:none!important}
/* modulo in fondo alle pagine servizio: ancora #modulo dal box «Parliamo del tuo progetto» */
html{scroll-behavior:smooth}
#modulo{scroll-margin-top:90px}
/* EXPERIENCE — La sede: le colonne di foto partono sotto l'header, non attaccate al bordo (06/11) */
@media (min-width:1025px){body:not(.elementor-editor-active) .txe-cols{padding-top:110px!important}}
/* SHOPIFY — «Per chi»: righe dell'elenco ordinate, testo leggibile, linea sotto ogni voce (06/11) */
.ts-perchi .elementor-icon-list-items{border-top:1px solid rgba(11,13,16,.1)}
.ts-perchi .elementor-icon-list-item{padding:20px 0!important;margin:0!important;border-bottom:1px solid rgba(11,13,16,.1)!important;align-items:center!important}
.ts-perchi .elementor-icon-list-item:after{display:none!important}
.ts-perchi .elementor-icon-list-text{font:500 18px/1.4 "Poppins",sans-serif!important;color:#0B0D10!important;padding-left:14px!important}
.ts-perchi .elementor-icon-list-icon svg{width:22px!important;height:22px!important}
@media (max-width:767px){.ts-perchi .elementor-icon-list-item{padding:16px 0!important}.ts-perchi .elementor-icon-list-text{font-size:16px!important}}
/* PASSAGGI (ts-steps) — il riquadro grigio del passaggio attivo aveva solo 10px a sinistra: ora 18px di spazio interno
   su computer (segnalato su Progressive App ed E-commerce Growth, vale per tutte le pagine) — 06/11 */
@media (min-width:1025px){
  .ts-steps > .e-con{padding:14px 18px 18px!important}
  @keyframes ts-step-card{
    0%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 0 rgba(255,255,255,0);transform:none}
    3%,18%{background-color:#F2F4F7;box-shadow:0 0 0 0 #F2F4F7;transform:translateY(-4px)}
    22%,100%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 0 rgba(255,255,255,0);transform:none}
  }
  @keyframes ts-step-card-4{
    0%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 0 rgba(255,255,255,0);transform:none}
    4%,22%{background-color:#F2F4F7;box-shadow:0 0 0 0 #F2F4F7;transform:translateY(-4px)}
    27%,100%{background-color:rgba(255,255,255,0);box-shadow:0 0 0 0 rgba(255,255,255,0);transform:none}
  }
  .ts-steps::before,.ts-steps::after{top:36px}
}
/* LAVORA CON NOI — nelle schede delle posizioni il pulsante si stacca dall'elenco sopra (06/11) */
.lcp-pos .elementor-tab-content .lcp-go{margin-top:28px!important}
.lcp-pos .elementor-tab-content p:has(> .lcp-go){margin-top:28px!important;margin-bottom:0}
.lcp-pos .elementor-tab-content p:has(> .lcp-go) .lcp-go{margin-top:0!important}
/* FORM — il link all'informativa nella spunta prende il colore del testo, sottolineato (non il rosa dei link) — 06/11 */
.elementor-widget-form .elementor-field-type-acceptance a,.elementor-widget-form .elementor-field-type-acceptance a:visited{color:inherit!important;text-decoration:underline!important;text-underline-offset:2px;text-decoration-thickness:1px}
.elementor-widget-form .elementor-field-type-acceptance a:hover{color:#266BF6!important}
.ts-pagina-shopify .elementor-widget-form .elementor-field-type-acceptance a:hover{color:#88B339!important}
.ts-pagina-magento .elementor-widget-form .elementor-field-type-acceptance a:hover{color:#F46F25!important}
/* CLIENTI — «e tanti altri» occupa le celle rimaste nell'ultima riga (52 loghi: 4 + 2) */
.tcl-grid .tscl-logo.tscl-altri{grid-column:span 2!important}
/* LOGHI — niente angoli arrotondati: la regola generale sulle immagini (10px) tagliava i bordi dei loghi ritagliati stretti (GF, Kaizen…) — 06/11 */
.tscl-logo img,.tsh-cl-i img,.tcl-cyl img,.txe-pnlogo img,.tcl-logo-img img{border-radius:0!important;overflow:visible!important}

/* 06/11 — clienti: tolto Pillola, il riquadro «e tanti altri» chiude sempre l'ultima riga (51 loghi: 6 col → span 3, 4 e 2 col → span 1) */
.tcl-grid .tscl-logo.tscl-altri{grid-column:span 3!important}
@media (max-width:1024px){.tcl-grid .tscl-logo.tscl-altri{grid-column:span 1!important}}

/* 06/11 — moduli: Elementor dà un margine negativo sotto ai campi che mangiava lo spazio sotto il pulsante */
.elementor-widget-form.tsk-form .elementor-form-fields-wrapper{margin-bottom:0!important}

/* 06/11 — experience su tablet/telefono: foto della sede in numero pari (12) e spazio sotto l'ultima riga */
@media (max-width:1024px){
body:not(.elementor-editor-active) .txe-cols{padding-bottom:64px!important}
.elementor-element-0df543d.txe-q{display:none!important}
}

/* 06/11 — experience, Il gruppo: pulsante verso il sito The Strategy */
.txe-tsbtn{width:auto!important;margin-top:6px}
.txe-pb .txe-tsbtn{align-self:flex-end!important;text-align:right}
.txe-tsbtn .elementor-button{display:inline-flex;align-items:center;gap:10px;padding:12px 22px!important;border-radius:999px!important;background:#FFFFFF!important;color:#266BF6!important;border:0!important;font:500 14px/1.2 "Poppins",sans-serif!important;transition:transform .25s,box-shadow .25s}
.txe-tsbtn .elementor-button .elementor-button-text{color:#266BF6!important}
.txe-tsbtn .elementor-button:after{content:"→";font-size:15px;line-height:1;transition:transform .25s}
.txe-tsbtn .elementor-button:hover{box-shadow:0 10px 30px rgba(0,0,0,.18)}
.txe-tsbtn .elementor-button:hover:after{transform:translateX(3px)}

/* 06/11 — experience su telefono, Il gruppo: testo del pulsante centrale centrato e più distante dai testi dei pannelli */
@media (max-width:767px){
body:not(.elementor-editor-active) .txe-smt .elementor-heading-title{text-align:center;padding-right:38px}
body:not(.elementor-editor-active) .txe-pa{padding-bottom:44px!important}
body:not(.elementor-editor-active) .txe-pb{padding-top:46px!important;padding-bottom:20px!important;flex-wrap:nowrap!important}
body:not(.elementor-editor-active) .txe-pb .txe-pnb{gap:6px!important}
body:not(.elementor-editor-active) .txe-pb .txe-pnlogo-r img{max-height:42px!important;width:auto!important}
.txe-tsbtn{margin-top:2px}
.txe-tsbtn .elementor-button{padding:8px 16px!important;font-size:13px!important}
}


/* 06/11 — pagine servizio su telefono: sezione con lo stesso sfondo della precedente (classe dal JS) → niente 56px sopra, ne resta uno solo */
@media (max-width:767px){
  body:not(.ts-pagina-home):not(.ts-pagina-team):not(.ts-pagina-contatti):not(.ts-pagina-experience):not(.ts-pagina-clienti) main .elementor > .e-con.ts-stesso-sfondo:not(:first-child):not(.ts-box){--padding-top:0px!important}
}

/* 06/11 — marketing automation, Soluzioni: i grafici animati (widget HTML .tsfw*) non si schiacciano nella card → i titoli non ci finiscono sopra */
.elementor-widget-html:has([class^="tsfw"]){width:100%!important;flex-shrink:0!important}   /* senza larghezza esplicita Chrome misurava lo SVG a 300px e il riquadro restava più basso del grafico */

/* 06/11 — clienti: «e tanti altri» con lo stesso fondo dei loghi (trasparente spariva sullo sfondo che sfuma) */
.tcl-grid .tscl-logo.tscl-altri,.tcl-grid .tscl-logo.tscl-altri:hover{background:#F2F4F7!important;border:0!important}


/* 06/11 — home, card dei servizi su telefono/tablet: tremavano durante lo scroll per il contenitore (.tsh-svc) con ritaglio
   laterale (overflow-x:clip), livello z-index e ombra. Senza, l'aggancio delle card è fermo come su Magento (verificato col «prova 11»). */
@media (max-width:1024px){
  .tsh-svc{overflow:visible!important;box-shadow:none!important}
  .tsh-svc,.tsh-svc .ts-stack,.tsh-svc .ts-stack > .e-con,.tsh-svc .ts-stack > .e-con-inner > .e-con{z-index:auto!important}
}

/* 06/11 — contatti: a richiesta inviata la chat si chiude (separatore + barra «Chat chiusa» con il pulsantino per ricominciare) */
.tct-fine{display:flex;align-items:center;gap:12px;margin:6px 0 2px;font:500 12px/1.3 "Poppins",sans-serif;color:rgba(11,13,16,.45);opacity:0;animation:tct-in .45s ease forwards}
.tct-fine:before,.tct-fine:after{content:"";flex:1;height:1px;background:rgba(11,13,16,.1)}
.tct-chiusa{display:flex;align-items:center;gap:10px;height:52px;padding:0 6px 0 20px;border-radius:999px;background:#F2F4F7;color:rgba(11,13,16,.45);font:500 15px "Poppins",sans-serif;opacity:0;animation:tct-in .45s ease forwards}
.tct-chiusa span{flex:1}
.tct-chiusa .tct-riapri{appearance:none;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px!important;border:1px solid rgba(11,13,16,.14)!important;border-radius:999px!important;background:#FFFFFF!important;color:#0B0D10!important;font:600 13.5px "Poppins",sans-serif!important;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tct-chiusa .tct-riapri:hover,.tct-chiusa .tct-riapri:focus{background:#0B0D10!important;color:#FFFFFF!important;border-color:#0B0D10!important;outline:0}
.tct-chat.is-chiusa .tct-h small{color:rgba(11,13,16,.45)!important}
@media (max-width:767px){.tct-chiusa{height:48px;padding-left:16px;font-size:14px}.tct-chiusa .tct-riapri{height:36px;padding:0 13px!important;font-size:12.5px!important}}

/* 06/11 — contatti: footer senza il blocco «Conosci le potenzialità del tuo progetto?» (la pagina è già il contatto) e senza sfumatura blu */
.ts-pagina-contatti [data-elementor-type="footer"] .elementor-element-1294332{display:none!important}
.ts-pagina-contatti [data-elementor-type="footer"] .radial-bg-reverse::before{display:none!important}
.ts-pagina-contatti [data-elementor-type="footer"] .radial-bg-reverse{background:#0B0D10!important}   /* niente bordo: il footer sale dietro la chat e la linea passava dietro il modulo */

/* 06/11 — team su telefono: gli avvisi «X è online» coprivano «22 persone nel team» (su schermi stretti ne salivano due).
   Ora uno alla volta, dentro il riquadro, in uno spazio riservato sotto il conteggio */
@media (max-width:767px){
  .tskc .tskc-card{padding-bottom:92px!important}
  .tskc .tskc-chat{left:16px!important;right:16px!important;width:auto!important;bottom:16px!important}
  .tskc .tskc-msg:nth-last-child(n+2){display:none!important}
}

/* 06/11 — team su telefono: l'etichetta dell'area (in alto a sinistra) toccava il pallino «online» e le teste nelle foto.
   Su telefono va in basso a sinistra sulla foto, più piccola, e se è lunga si accorcia invece di sovrapporsi */
@media (max-width:767px){
  .tsk2-ph .tsk2-lab{top:auto!important;bottom:8px!important;left:8px!important;right:auto!important;max-width:calc(100% - 16px);height:22px!important;padding:0 9px!important;font-size:10.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block!important;line-height:22px!important}
}

/* 06/11 — card video dei clienti (caroselli): etichetta come quelle del Team (dimensioni e carattere), al posto della pillola scura in maiuscolo */
.tcl-cd .tg{left:14px!important;bottom:14px!important;height:28px;display:flex!important;align-items:center;padding:0 12px!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;color:#0B0D10!important;font:500 12.5px/1 "Poppins",sans-serif!important;letter-spacing:-.01em!important;text-transform:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
@media (max-width:767px){.tcl-cd .tg{left:10px!important;bottom:10px!important;height:24px;padding:0 10px!important;font-size:11.5px!important}}

/* =========================================================================
   06/11 — EXPERIENCE su schermi piccoli (iPhone SE ecc.) + loghi del gruppo
   ========================================================================= */
/* contenitori con altezza fissa: mai «a capo in colonne» (il contenuto finiva accanto al numero o tagliato a destra) */
body:not(.elementor-editor-active) .txe-pn,body:not(.elementor-editor-active) .txe-cd{flex-wrap:nowrap!important}

/* «Come lavoriamo» su telefono: card alte quanto serve (minimo mezzo schermo, la fila le pareggia), numero sopra e testo sotto */
body:not(.elementor-editor-active) .txe-cd{height:auto!important;min-height:52vh}
@media (max-width:1024px){body:not(.elementor-editor-active) .txe-cd{min-height:50vh}}
@media (max-width:767px) and (max-height:700px){
  .txe-cdn .elementor-heading-title{font-size:72px!important;line-height:1!important}
}

/* «Il gruppo»: il logo The Space è più basso di quello The Strategy → si abbassa della differenza,
   così le basi dei loghi e i testi sotto partono alla stessa altezza */
body:not(.elementor-editor-active) .txe-pa .txe-pnlogo img{margin-top:22px!important}
@media (max-width:1024px){body:not(.elementor-editor-active) .txe-pa .txe-pnlogo img{margin-top:18px!important}}
@media (max-width:767px){body:not(.elementor-editor-active) .txe-pa .txe-pnlogo img{margin-top:2px!important}}

/* «Il gruppo» su telefoni bassi: pannelli compatti, così logo, testo e pulsante The Strategy ci stanno */
/* tablet (pannelli impilati, bassi in orizzontale): logo e testi un po' più compatti */
@media (min-width:768px) and (max-width:1024px){
  .txe-pnlogo img{height:44px!important}
  body:not(.elementor-editor-active) .txe-pa .txe-pnlogo img{margin-top:0!important}
  body:not(.elementor-editor-active) .txe-pnp,body:not(.elementor-editor-active) .txe-pnp p{font-size:14.5px!important;line-height:1.45!important}
  body:not(.elementor-editor-active) .txe-pn .txe-pnb{gap:6px!important}
}
@media (max-width:767px) and (max-height:700px){
  body:not(.elementor-editor-active) .txe-pa{padding:18px 20px 40px!important}
  body:not(.elementor-editor-active) .txe-pb{padding:30px 20px 14px!important}
  body:not(.elementor-editor-active) .txe-pno .elementor-heading-title{font-size:10.5px!important}
  body:not(.elementor-editor-active) .txe-pn .txe-pnb{gap:4px!important}
  .txe-pnlogo img{height:30px!important}
  body:not(.elementor-editor-active) .txe-pb .txe-pnlogo-r img{max-height:30px!important}
  body:not(.elementor-editor-active) .txe-pnp,body:not(.elementor-editor-active) .txe-pnp p{font-size:12.5px!important;line-height:1.35!important}
  .txe-tsbtn{margin-top:2px!important}
  .txe-tsbtn .elementor-button{padding:7px 14px!important;font-size:12px!important}
  body:not(.elementor-editor-active) .txe-pa .txe-pnlogo img{margin-top:2px!important}
}

/* badge di reCAPTCHA (moduli Contact Form 7 delle pagine vecchie) nascosto: il controllo antispam resta attivo */
.grecaptcha-badge{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* 06/11 — «Il gruppo»: dentro il blocco logo+testo niente margini automatici di Elementor tra i widget (su tablet spingevano
   il pulsante fuori dal pannello); la distanza la dà solo il gap del blocco */
body:not(.elementor-editor-active) .txe-pnb > .elementor-element{margin:0!important;--kit-widget-spacing:0px}
body:not(.elementor-editor-active) .txe-pnb > .txe-tsbtn{margin-top:6px!important}
/* … e sempre in colonna: su tablet il blocco di The Strategy era «in riga» (logo e testo affiancati, pulsante a capo) */
body:not(.elementor-editor-active) .txe-pnb{flex-direction:column!important;flex-wrap:nowrap!important}
/* «Il gruppo» su telefoni bassi: etichetta e titolo un po' più in alto, il titolo non tocca più i pannelli */
@media (max-width:767px) and (max-height:700px){
  body:not(.elementor-editor-active) .txe-s6 .ts-dot-label{top:78px!important}
  body:not(.elementor-editor-active) .txe-s6 .txe-ttl{top:100px!important}
}

/* 06/11 — iPhone/iPad (Safari 26): la zona dell'ora prende il colore di un elemento fisso in cima con sfondo pieno.
   L'header resta «a vetro»; il colore lo dà una striscia fissa di 1px in cima (.ts-barra-ios, aggiunta dal tema),
   nera o bianca come l'header, così il sito non si vede più passare sotto l'ora. */
.ts-barra-ios{display:none}
@supports (-webkit-touch-callout:none){
  .ts-barra-ios{display:block;position:fixed;top:0;left:0;right:0;height:2px;background-color:#0B0D10;z-index:100000;transition:background-color .35s ease}   /* niente pointer-events:none: Safari la trova «toccando» il bordo in alto */
  .header-on-light .ts-barra-ios{background-color:#FFFFFF}
}

/* 06/11 — card impilate (pagine servizio) su telefoni bassi (iPhone SE ecc.): con le barre di Safari restano ~470px sotto l'header
   e le card da 550px finivano sotto la barra prima di essere coperte dalla successiva (Magento non si leggeva tutta). Compatte. */
@media (max-width:767px) and (max-height:760px){
  :not(.tsh-svc) > .ts-stack,.ts-stack{--ts-stack-top:72px;--ts-stack-step:8px}
  body:not(.ts-pagina-home) .ts-stack .elementor-widget-image img{max-height:40px!important}
  body:not(.ts-pagina-home) .ts-stack .elementor-widget-heading h2.elementor-heading-title{font-size:22px!important}
  body:not(.ts-pagina-home) .ts-stack .elementor-widget-heading h3.elementor-heading-title{font-size:17px!important;line-height:1.25!important}
  body:not(.ts-pagina-home) .ts-stack .elementor-widget-text-editor,body:not(.ts-pagina-home) .ts-stack .elementor-widget-text-editor p{font-size:13.5px!important;line-height:1.42!important}
  body:not(.ts-pagina-home) .ts-stack .elementor-icon-list-text{font-size:13px!important;line-height:1.35!important}
  body:not(.ts-pagina-home) .ts-stack .elementor-icon-list-item{padding-bottom:2px!important}
  body:not(.ts-pagina-home) .ts-stack .e-con{--row-gap:8px!important;--gap:8px 8px!important}
  body:not(.ts-pagina-home) .ts-stack > .e-con-inner > .e-con > .e-con,body:not(.ts-pagina-home) .ts-stack > .e-con > .e-con{--padding-left:18px!important;--padding-right:18px!important}
  body:not(.ts-pagina-home) .ts-stack > .e-con-inner > .e-con > .e-con:first-child,body:not(.ts-pagina-home) .ts-stack > .e-con > .e-con:first-child{--padding-top:18px!important}
  body:not(.ts-pagina-home) .ts-stack > .e-con-inner > .e-con > .e-con:last-child,body:not(.ts-pagina-home) .ts-stack > .e-con > .e-con:last-child{--padding-bottom:18px!important}
  body:not(.ts-pagina-home) .ts-stack .elementor-button{padding:9px 16px!important;font-size:13px!important}
}

/* 06/11 — casella della privacy nei moduli Elementor: disegnata dal tema (la casella di sistema era piccola e su iPhone
   risultava disallineata dal testo). 20×20, allineata alla prima riga, colore della pagina (blu; Shopify verde; Magento arancione). */
.elementor-widget-form{--ts-acc:#266BF6}
.ts-pagina-shopify .elementor-widget-form{--ts-acc:#88B339}
.ts-pagina-magento .elementor-widget-form{--ts-acc:#F46F25}
.elementor-widget-form .elementor-field-type-acceptance .elementor-field-option{display:flex!important;align-items:flex-start!important;gap:10px!important}
.elementor-widget-form .elementor-field-type-acceptance input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:none;width:20px!important;height:20px!important;min-width:20px;margin:0!important;padding:0;border:1.5px solid rgba(11,13,16,.3);border-radius:6px;background:#FFFFFF no-repeat center/13px 13px;cursor:pointer;transition:background-color .2s,border-color .2s;vertical-align:top}
.elementor-widget-form .elementor-field-type-acceptance input[type=checkbox]:checked{background-color:var(--ts-acc);border-color:var(--ts-acc);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.elementor-widget-form .elementor-field-type-acceptance input[type=checkbox]:focus-visible{outline:2px solid var(--ts-acc);outline-offset:2px}
.elementor-widget-form .elementor-field-type-acceptance label{margin:0!important;padding:0!important;line-height:20px!important}
.elementor-widget-form .elementor-field-type-acceptance .elementor-field-option label{display:block}



/* 09/11 — Speed Audit Magento e WooCommerce: tutto ciò che altrove è blu prende il colore della pagina (come /magento/): parole sottolineate,
   pallini dei titoletti, pulsante e casella del modulo, sfumatura del footer */
.ts-pagina-magento-speed-audit u,.ts-pagina-magento-speed-audit u .tsr-w,.ts-pagina-magento-speed-audit .tsh-dot{color:#F26322!important}
.ts-pagina-magento-speed-audit .ts-dot-label::before,.ts-pagina-magento-speed-audit .elementor-widget-heading.ts-dot-label::before{background:#F26322!important}
.ts-pagina-magento-speed-audit .elementor-widget-form{--ts-acc:#F26322}
.ts-pagina-magento-speed-audit .elementor-field-type-submit .elementor-button,.ts-pagina-magento-speed-audit .elementor-widget-form .elementor-button{background-color:#F26322!important}
.ts-pagina-magento-speed-audit .elementor-widget-form .elementor-button:hover{background-color:#0B0D10!important}
.ts-pagina-magento-speed-audit .elementor-field-textual:focus{border-color:#F26322!important;box-shadow:0 0 0 4px rgba(242,99,34,.16)!important}
.ts-pagina-magento-speed-audit .elementor-field-type-acceptance input{accent-color:#F26322}
.ts-pagina-magento-speed-audit .elementor-widget-form .elementor-field-type-acceptance a:hover,.ts-pagina-magento-speed-audit .elementor-mark-required .elementor-field-label:after{color:#F26322!important}
.ts-pagina-magento-speed-audit .radial-bg::before{background:radial-gradient(ellipse 100% 90% at center top,#000000 40%,#F26322 70%,#FFFFFF00 100%)!important}
.ts-pagina-magento-speed-audit .radial-bg-reverse::before{background:radial-gradient(ellipse 100% 90% at center bottom,#000000 40%,#F26322 70%,#FFFFFF00 100%)!important}
.ts-pagina-magento-speed-audit .ts-foot-cta .elementor-button:hover{background-color:#F26322!important}
@media (max-width:1024px){.ts-pagina-magento-speed-audit [data-elementor-type="footer"] .radial-bg-reverse::before{background:radial-gradient(ellipse 175% 94% at center bottom,#000000 36%,#F26322 63%,#F26322D9 85%,#F2632200 100%)!important}}
.ts-pagina-woocommerce-speed-audit u,.ts-pagina-woocommerce-speed-audit u .tsr-w,.ts-pagina-woocommerce-speed-audit .tsh-dot{color:#720EEC!important}
.ts-pagina-woocommerce-speed-audit .ts-dot-label::before,.ts-pagina-woocommerce-speed-audit .elementor-widget-heading.ts-dot-label::before{background:#720EEC!important}
.ts-pagina-woocommerce-speed-audit .elementor-widget-form{--ts-acc:#720EEC}
.ts-pagina-woocommerce-speed-audit .elementor-field-type-submit .elementor-button,.ts-pagina-woocommerce-speed-audit .elementor-widget-form .elementor-button{background-color:#720EEC!important}
.ts-pagina-woocommerce-speed-audit .elementor-widget-form .elementor-button:hover{background-color:#0B0D10!important}
.ts-pagina-woocommerce-speed-audit .elementor-field-textual:focus{border-color:#720EEC!important;box-shadow:0 0 0 4px rgba(114,14,236,.16)!important}
.ts-pagina-woocommerce-speed-audit .elementor-field-type-acceptance input{accent-color:#720EEC}
.ts-pagina-woocommerce-speed-audit .elementor-widget-form .elementor-field-type-acceptance a:hover,.ts-pagina-woocommerce-speed-audit .elementor-mark-required .elementor-field-label:after{color:#720EEC!important}
.ts-pagina-woocommerce-speed-audit .radial-bg::before{background:radial-gradient(ellipse 100% 90% at center top,#000000 40%,#720EEC 70%,#FFFFFF00 100%)!important}
.ts-pagina-woocommerce-speed-audit .radial-bg-reverse::before{background:radial-gradient(ellipse 100% 90% at center bottom,#000000 40%,#720EEC 70%,#FFFFFF00 100%)!important}
.ts-pagina-woocommerce-speed-audit .ts-foot-cta .elementor-button:hover{background-color:#720EEC!important}
@media (max-width:1024px){.ts-pagina-woocommerce-speed-audit [data-elementor-type="footer"] .radial-bg-reverse::before{background:radial-gradient(ellipse 175% 94% at center bottom,#000000 36%,#720EEC 63%,#720EECD9 85%,#720EEC00 100%)!important}}


/* 09/11 — Clienti: titolo e testo a tutta larghezza, sotto i filtri (Tutti / E-commerce / Siti corporate), poi i loghi */
.ts-pagina-clienti .elementor-element-ffe0a5a1{--flex-direction:column!important;flex-direction:column!important;--align-items:flex-start!important;align-items:flex-start!important;--gap:28px;gap:28px!important}
.ts-pagina-clienti .elementor-element-f64d98bc{--width:100%!important;width:100%!important;max-width:100%!important}
.ts-pagina-clienti .elementor-element-46ae8a62{--width:auto!important;width:auto!important;justify-content:flex-start!important}
.ts-pagina-clienti .elementor-element-46ae8a62 .tscl-f{justify-content:flex-start!important}
.tscl-intro{max-width:none!important;margin-top:-10px!important}
.tscl-intro p{margin:0;font-size:18px;line-height:1.6;color:rgba(11,13,16,.6)}
.tscl-intro p+p{margin-top:12px}
.tscl-intro strong{font-weight:600;color:#0B0D10}
.ts-pagina-clienti .tscl-wall{margin-top:24px!important}
@media (max-width:767px){
  .ts-pagina-clienti .elementor-element-ffe0a5a1{--gap:20px;gap:20px!important}
  .tscl-intro{margin-top:-6px!important} .tscl-intro p{font-size:16px}
  .ts-pagina-clienti .tscl-wall{margin-top:16px!important}
}

/* 09/11 — Press room: riquadro «Chi è The Space» (il paragrafo che i giornalisti riprendono) sopra «Contatti stampa» */
.tsb-box-chi{margin-bottom:-24px}   /* più vicino al riquadro «Contatti stampa» */
.tsb-boiler{max-width:860px}
.tsb-box .tsb-boiler p,.tsb-boiler p{margin:0;font-size:17px!important;line-height:1.65!important;color:rgba(11,13,16,.72)!important}
@media (max-width:767px){ .tsb-box .tsb-boiler p,.tsb-boiler p{font-size:15.5px!important} }


/* 09/11 — Home, hero su telefono: «Scopri cosa facciamo» con un fondo scuro, leggibile anche sopra la luce del pianeta */
@media (max-width:767px){
  .ts-pagina-home .tsh-hero .elementor-element-53abc366 .elementor-button{background-color:rgba(11,13,16,.6)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  /* schermi bassi: senza questo la hero andava a capo in due colonne (pulsanti sopra il titolo) */
  .ts-pagina-home .tsh-hero,.ts-pagina-home .tsh-hero > .e-con-inner{--flex-wrap:nowrap!important;flex-wrap:nowrap!important}
}
@media (max-width:767px) and (max-height:620px){
  .ts-pagina-home .tsh-hero{padding-top:calc(76px + 2vh)!important}   /* telefoni bassi (iPhone SE con le barre di Safari): i due pulsanti restano nello schermo */
}

/* 09/11 — casella privacy dei moduli: lo stile dei campi di Elementor (sfondo grigio, bordo trasparente) copriva il nostro → da spuntata non si vedeva niente */
.elementor-widget-form .elementor-field-group .elementor-field-type-acceptance input[type=checkbox],.elementor-widget-form .elementor-field-type-acceptance input[type=checkbox].elementor-field{background-color:#FFFFFF!important;border:1.5px solid rgba(11,13,16,.35)!important;border-radius:6px!important;box-shadow:none!important}
.elementor-widget-form .elementor-field-group .elementor-field-type-acceptance input[type=checkbox]:checked,.elementor-widget-form .elementor-field-type-acceptance input[type=checkbox].elementor-field:checked{background-color:var(--ts-acc,#266BF6)!important;border-color:var(--ts-acc,#266BF6)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:13px 13px!important}
/* …e il testo accanto resta com'è: la regola delle pillole di scelta (input:checked+label nero) non vale per la privacy */
.elementor-widget-form.tsk-form .elementor-field-type-acceptance .elementor-field-option input:checked+label,.elementor-widget-form .elementor-field-type-acceptance input:checked+label{background:none!important;color:rgba(11,13,16,.66)!important;border-color:transparent!important}

/* 09/11 — Contatti: sottotitolo più lungo, su due righe centrate invece di una riga a tutta larghezza */
.ts-pagina-contatti .elementor-element-24a07b0{max-width:780px!important;margin-left:auto!important;margin-right:auto!important}
