/* Pagine moduli Techno Bridge */
.tb-moduli-hero,.tb-moduli-section,.tb-moduli-final-cta{
  font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tb-moduli-wrap{
  width:min(1240px,calc(100% - 40px));
  margin:0 auto;
}
.tb-moduli-wrap.small{width:min(920px,calc(100% - 40px));}
.tb-moduli-hero{
  padding:150px 0 58px;
  background:
    radial-gradient(circle at 20% 0%,rgba(141,124,246,.16),transparent 38%),
    linear-gradient(135deg,#f8f6ff 0%,#fff 45%,#f1edff 100%);
  text-align:center;
  border-bottom:1px solid rgba(220,228,239,.85);
}
.tb-moduli-eyebrow{
  margin-bottom:14px;
  color:#1478ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.tb-moduli-hero h1{
  margin:0 auto 18px;
  max-width:900px;
  color:#0d0a23;
  font-size:clamp(38px,5vw,66px);
  line-height:1.02;
  letter-spacing:-3.2px;
  font-weight:850;
}
.tb-moduli-hero p{
  margin:0 auto;
  max-width:760px;
  color:#686779;
  font-size:19px;
  line-height:1.72;
}
.tb-moduli-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.tb-moduli-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:14px 24px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
}
.tb-moduli-btn.primary{background:#1478ff;color:#fff;box-shadow:0 14px 34px rgba(20,120,255,.26);}
.tb-moduli-btn.secondary{background:rgba(255,255,255,.56);color:#0d0a23;border:1px solid rgba(13,10,35,.14);}
.tb-moduli-section{padding:78px 0;background:#fff;}
.tb-moduli-section:nth-of-type(odd){background:#f6f7fb;}
.tb-moduli-section-head{max-width:760px;margin:0 0 34px;}
.tb-moduli-section-head.center{text-align:center;margin:0 auto 42px;}
.tb-moduli-section-head h2{
  margin:0;
  color:#0d0a23;
  font-size:clamp(28px,3.6vw,48px);
  line-height:1.06;
  letter-spacing:-2px;
  font-weight:850;
}
.tb-moduli-section-head p{
  margin:16px auto 0;
  max-width:720px;
  color:#686779;
  font-size:18px;
  line-height:1.68;
}
.tb-moduli-step-grid,.tb-moduli-path-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.tb-moduli-path-grid{grid-template-columns:repeat(4,1fr);}
.tb-moduli-step-card,.tb-moduli-path-card,.tb-moduli-product-card,.tb-moduli-empty{
  border:1px solid rgba(220,228,239,.94);
  border-radius:30px;
  background:linear-gradient(145deg,#fff 0%,#fff 50%,rgba(247,243,255,.72) 100%);
  box-shadow:0 18px 56px rgba(7,17,31,.06);
}
.tb-moduli-step-card,.tb-moduli-path-card{padding:30px;}
.tb-moduli-step-card span{
  display:inline-flex;
  margin-bottom:34px;
  color:#8d7cf6;
  font-size:17px;
  font-weight:900;
}
.tb-moduli-step-card h3,.tb-moduli-path-card h3,.tb-moduli-product-card h3{
  margin:0 0 12px;
  color:#0d0a23;
  font-size:23px;
  line-height:1.12;
  letter-spacing:-.9px;
  font-weight:850;
}
.tb-moduli-step-card p,.tb-moduli-path-card p,.tb-moduli-product-card p{
  margin:0;
  color:#686779;
  font-size:15px;
  line-height:1.65;
}
.tb-moduli-product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.tb-moduli-product-card{
  min-height:292px;
  padding:28px;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.tb-moduli-product-card:hover{
  transform:translateY(-7px);
  border-color:rgba(141,124,246,.42);
  box-shadow:0 30px 76px rgba(103,82,210,.15);
}
.tb-moduli-product-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:22px;
}
.tb-moduli-product-icon{
  width:54px;
  height:54px;
  min-width:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#8d7cf6;
  background:linear-gradient(135deg,#f5f0ff,#eef5ff);
  border:1px solid rgba(141,124,246,.22);
  box-shadow:0 12px 30px rgba(141,124,246,.14);
  overflow:hidden;
}
.tb-moduli-product-icon img{width:100%;height:100%;object-fit:cover;display:block;}
.tb-moduli-product-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.tb-moduli-badge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  background:#0d0a23;
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.tb-moduli-link{
  display:inline-flex;
  margin-top:20px;
  color:#1478ff;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
}
.tb-moduli-empty{padding:32px;text-align:center;}
.tb-moduli-final-cta{
  padding:86px 0;
  text-align:center;
  background:linear-gradient(135deg,#f1edff 0%,#fff 48%,#e8e1ff 100%);
}
.tb-moduli-final-cta h2{
  margin:0 auto 18px;
  max-width:840px;
  color:#0d0a23;
  font-size:clamp(32px,4vw,56px);
  line-height:1.05;
  letter-spacing:-2.5px;
  font-weight:850;
}
.tb-moduli-final-cta p{
  margin:0 auto 28px;
  max-width:720px;
  color:#686779;
  font-size:18px;
  line-height:1.72;
}
@media(max-width:1120px){
  .tb-moduli-product-grid{grid-template-columns:repeat(2,1fr);}
  .tb-moduli-path-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
  .tb-moduli-hero{padding:120px 0 46px;}
  .tb-moduli-hero h1{letter-spacing:-1.8px;}
  .tb-moduli-step-grid,.tb-moduli-product-grid,.tb-moduli-path-grid{grid-template-columns:1fr;}
  .tb-moduli-section{padding:58px 0;}
}

/* Revisione pagine moduli: hero basso + piani Techno Bridge */
.tb-moduli-hero{
  padding:128px 0 38px!important;
  background:
    radial-gradient(circle at 18% 0%,rgba(141,124,246,.12),transparent 34%),
    linear-gradient(135deg,#fbfaff 0%,#fff 56%,#f5f1ff 100%)!important;
}
.tb-moduli-hero h1{
  max-width:860px!important;
  font-size:clamp(32px,4vw,50px)!important;
  line-height:1.06!important;
  letter-spacing:-2.2px!important;
  margin-bottom:14px!important;
}
.tb-moduli-hero p{
  max-width:760px!important;
  font-size:17px!important;
  line-height:1.62!important;
}
.tb-moduli-actions{margin-top:22px!important;}

.tb-moduli-entry-section{
  background:#fff!important;
  padding-top:62px!important;
}
.tb-moduli-entry-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  align-items:stretch;
}
.tb-moduli-entry-card{
  position:relative;
  min-height:360px;
  padding:26px;
  border-radius:30px;
  border:1px solid rgba(220,228,239,.96);
  background:linear-gradient(145deg,#fff 0%,#fff 52%,rgba(247,243,255,.68) 100%);
  box-shadow:0 18px 56px rgba(7,17,31,.058);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.tb-moduli-entry-card:hover{
  transform:translateY(-6px);
  border-color:rgba(141,124,246,.42);
  box-shadow:0 28px 72px rgba(103,82,210,.14);
}
.tb-moduli-entry-card.is-featured{
  background:linear-gradient(135deg,#1478ff 0%,#4b7cff 56%,#8d7cf6 100%);
  border-color:rgba(255,255,255,.38);
  color:#fff;
  box-shadow:0 28px 72px rgba(20,120,255,.22);
}
.tb-moduli-entry-label{
  margin:0 0 20px;
  color:#8d7cf6;
  font-size:11px;
  font-weight:950;
  line-height:1.2;
  letter-spacing:1px;
  text-transform:uppercase;
}
.tb-moduli-entry-card.is-featured .tb-moduli-entry-label{color:rgba(255,255,255,.82);}
.tb-moduli-entry-card h3{
  margin:0 0 16px;
  color:#0d0a23;
  font-size:23px;
  line-height:1.12;
  letter-spacing:-1px;
  font-weight:900;
}
.tb-moduli-entry-card.is-featured h3{color:#fff;}
.tb-moduli-entry-price{
  margin:0 0 20px;
  color:#0d0a23;
  font-size:28px;
  line-height:1;
  letter-spacing:-1.2px;
  font-weight:950;
}
.tb-moduli-entry-card.is-featured .tb-moduli-entry-price{color:#fff;}
.tb-moduli-entry-card p{
  margin:0 0 18px;
  color:#686779;
  font-size:14px;
  line-height:1.6;
}
.tb-moduli-entry-card.is-featured p{color:rgba(255,255,255,.82);}
.tb-moduli-entry-card ul{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  display:grid;
  gap:10px;
}
.tb-moduli-entry-card li{
  position:relative;
  padding-left:21px;
  color:#38354b;
  font-size:13px;
  line-height:1.35;
  font-weight:750;
}
.tb-moduli-entry-card li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#1478ff;
  font-weight:950;
}
.tb-moduli-entry-card.is-featured li{color:rgba(255,255,255,.92);}
.tb-moduli-entry-card.is-featured li:before{color:#fff;}
.tb-moduli-entry-link{
  display:inline-flex;
  margin-top:auto;
  color:#1478ff;
  text-decoration:none;
  font-size:13px;
  font-weight:950;
}
.tb-moduli-entry-card.is-featured .tb-moduli-entry-link{color:#fff;}

@media(max-width:1280px){
  .tb-moduli-entry-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:900px){
  .tb-moduli-entry-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
  .tb-moduli-hero{padding:112px 0 34px!important;}
  .tb-moduli-entry-grid{grid-template-columns:1fr;}
}


/* Revisione v3: hero basso e piani Techno Bridge subito evidenti */
.tb-moduli-hero{
  padding:118px 0 34px!important;
  text-align:center;
}
.tb-moduli-hero h1{
  font-size:clamp(34px,4.2vw,56px)!important;
  letter-spacing:-2.4px!important;
}
.tb-moduli-hero p{
  font-size:18px!important;
  max-width:820px!important;
}
.tb-moduli-entry-section{
  background:#fff!important;
  padding-top:70px!important;
}
.tb-moduli-entry-grid{
  align-items:stretch;
}
.tb-moduli-entry-card{
  min-height:100%;
}
@media(max-width:760px){
  .tb-moduli-hero{padding:104px 0 28px!important;}
}


/* Revisione v4: ordine pagina moduli e link percorsi */
.tb-moduli-grid-section{background:#f6f7fb!important;}
.tb-moduli-steps{background:#fff!important;}
.tb-moduli-paths{background:#fff!important;}
.tb-moduli-entry-section{background:#f6f7fb!important;}
.tb-moduli-path-card{display:flex;flex-direction:column;align-items:flex-start;}
.tb-moduli-path-link{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  color:#1478ff;
  font-size:14px;
  line-height:1.2;
  font-weight:900;
  text-decoration:none;
}
.tb-moduli-path-link:hover{text-decoration:underline;}


/* V7: lo sfondo moduli continua sotto header sticky */
.tb-moduli-hero{padding-top:190px!important;}
@media(max-width:1120px){.tb-moduli-hero{padding-top:156px!important;}}
@media(max-width:760px){.tb-moduli-hero{padding-top:132px!important;}}

/* Macropasso 3 - CTA offerta personalizzata sotto i piani */
.tb-moduli-custom-plan{margin-top:28px;padding:24px 28px;border:1px solid rgba(220,228,239,.95);border-radius:26px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 14px 44px rgba(7,17,31,.05)}
.tb-moduli-custom-plan strong{display:block;color:#0d0a23;font-family:Manrope,system-ui,sans-serif;font-size:20px;font-weight:850;margin-bottom:6px}
.tb-moduli-custom-plan p{margin:0;color:#686779;font-family:Manrope,system-ui,sans-serif;line-height:1.55}
@media(max-width:760px){.tb-moduli-custom-plan{align-items:flex-start;flex-direction:column}}
