/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/
@import "fonts/fonts.css";
@import "includes/css/forms.css";
:root{
    --theme-color:#00b300;
    --extra-color-01:#004a00;
    --extra-color-02:#217ba8;
    --extra-color-03:;

}
/*** generic helpfull ***/

.multiply{
    mix-blend-mode: multiply !important;
}
.rotate-38{
    transform: rotate(38deg) !important;
}
.opacity-05{
    opacity: .05 !important;
}
.opacity-25{
    opacity: .25 !important;
}
.fw-3{
    font-weight: 300 !important;
}
.fw-4{
    font-weight: 400 !important;
}
.op-19{
    opacity: 0.19;
}
.uppercase{
  text-transform: uppercase;
}
.no-margin-img .img-with-aniamtion-wrap *{
  margin:0 !important
}
/*** colors ***/

.light-gray{
  color:#A3A3A3 !important;
}

/*** list style banners ***/

/* STEP LIST (come screenshot) */
.steps{
  --left-col: 360px;     /* larghezza fascia a sinistra */
  --gap: 100px;           /* spazio tra cerchio e testo */
  --stripe-h: 50px;      /* altezza fascia grigia */
  --circle: 96px;        /* diametro cerchio numero */
  --sep: #e6e6e6;        /* colore linea separatrice */
  --stripe: #A3A3A3;     /* colore fascia grigia */
  --stripe-02: #3D3D3D;     /* colore fascia grigia */
  --text: #111;          /* colore titolo */
  --body: #333;          /* colore descrizione */

  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}
@media screen and (max-width:1024px){
  .steps{
    --circle:50px;
  }
}
.steps > li{
  position: relative;
  display: grid;
  grid-template-columns: var(--left-col) 1fr;
  grid-template-areas:
    "left title"
    "left body";
  column-gap: var(--gap);
  align-items: center;

  padding: 34px 0;
  counter-increment: step;
}

/* h4 sopra, p sotto (entrambi nella colonna di destra) */
.steps > li > h4{ grid-area: title; }
.steps > li > p{  grid-area: body;  }

/* (opzionale) allinea titolo e testo bene verticalmente */
.steps > li > h4,
.steps > li > p{
  align-self: start;
}

/* fascia grigia a sinistra */
.steps > li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: var(--left-col);
  height: var(--stripe-h);
  background: var(--stripe);
  opacity: 0.21;
  border-radius: 4px;
}
.steps > li:nth-of-type(3)::before{
  background:var(--stripe-02)
}

@media screen and (max-width:1024px){
  .steps > li::before{
    content:none;
  }
}

/* cerchio con numero (a cavallo tra fascia e contenuto) */
.steps > li::after{
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: calc(var(--left-col) - (var(--circle) / 2));
  top: 50%;
  transform: translateY(-50%);

  width: var(--circle);
  height: var(--circle);
  border-radius: 999px;
  background: #fff;

  display: grid;
  place-items: center;

  font-weight: 700;
  font-size: 20px;
  color: #3a3a3a;

  box-shadow: 0 12px 26px rgba(0,0,0,.08);
}

/* tipografia */
.steps h4{
  margin: 0 0 10px 0;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  color: var(--text);
}

.steps p{
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--body);
}

/* linea separatrice solo sotto la colonna testo */
.steps > li:not(:last-child){
  background-image: linear-gradient(var(--sep), var(--sep));
  background-repeat: no-repeat;
  background-size: calc(100% - (var(--left-col) + var(--gap))) 1px;
  background-position: calc(var(--left-col) + var(--gap)) 100%;
}
@media screen and (max-width:1024px){
  .steps-custom.steps > li{
    display: inherit;
  }
  .steps.steps-custom > li > *{
    padding-left: 90px;
  }
  .steps.steps-custom::after{
    content:none
  }
}
/* Riga extra sotto l’ultimo step */
.steps{
  padding-bottom: 34px; /* stessa aria verticale degli altri step */
  position: relative;
}

.steps::after{
  content: "";
  display: block;
  height: 65px; /* stessa distanza tra righe (come padding step) */
  position: relative;
}

/* la fascia grigia della riga extra */
.steps::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: 34px; /* allinea al centro della “riga extra” */
  width: var(--left-col);
  height: var(--stripe-h);
  transform: translateY(50%);
  background: #A3A3A3;
  border-radius: 2px;
  opacity: 0.21;
}
@media screen and (max-width:1024px){
  .steps::before{
    content:none;
  }
}
/* responsive: su schermi piccoli impila */
@media (max-width: 768px){
  .steps{
    --left-col: 100%;
    --gap: 20px;
  }

  .steps > li{
    grid-template-columns: 1fr;
    padding: 26px 0;
  }

  .steps > li::before{
    width: 100%;
  }

  .steps > li::after{
    left: 18px;               /* cerchio a sinistra */
    top: 50%;
    transform: translateY(-50%);
  }

  .steps > li > *{
    padding-left: calc(var(--circle) + 22px); /* lascia spazio al cerchio */
  }

  .steps > li:not(:last-child){
    background-size: 100% 1px;
    background-position: 0 100%;
  }
}

/*** text + icons ***/

.iwithtext{
  display: flex;
  align-items: center;
  column-gap: 20px;
}
.iwithtext .iwt-icon{
  position: relative;
}
.iwithtext .iwt-icon img{
  margin-bottom: 0;
}
.iwithtext .iwt-text{
  padding-left: 0;
}
.iwith-text-big .iwithtext .iwt-icon img{
  width: 60px !important;
}
@media screen and (max-width:1024px){
  .iwith-text-big .iwithtext .iwt-icon img{
    min-width: 50px;
    max-width: 50px;
  }
}
/*** box product ***/

.box-product ul li:before{
  content:'';
  position: absolute;
  width:20px;
  height:8px;
  top:9px;
  left:0;
  background-color:#CFCFCF;
}
.box-product ul li{
  padding-left:32px !important
}

/*** border ***/

.border-dark-gray > .row-bg-wrap{
  border:1px solid rgba(112,112,112,.67)
}

/*** toggles ***/

.toggles.accordion{
  display: flex;
  gap: 10px 40px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.toggles.accordion .toggle{
  width:calc(50% - 20px)
}
div[data-style="animated_circle"]{
  --toggle-spacing: 15px;
}
  div[data-style="animated_circle"] .toggle > .toggle-title a .nectar-toggle-icon-circle{
    fill:#B4B4B4;
  }

  @media screen and (max-width:1024px){
    .toggles.accordion .toggle{
      width:100%;
    }
  }
/*** custom button ***/

body.material .custom-button .nectar-button.large{
  padding-left:80px;
  padding-right:80px
}

/*** flow ***/

.flow{
  position:relative;
  padding: 70px 20px 40px;
  background:#111;          /* solo per demo */
  color:#fff;
  overflow:hidden;
  margin: 0 auto;           /* opzionale */
}

/* SVG linea */
.flow__line{
  position:absolute;
  inset: 0 0 auto 0;
  width: 86%;
  height: 160px;
  pointer-events: none;
  transform: translateY(35px);
  text-align: center;
  margin-left: 6%;
}

/* Dots: 3 colonne */
.flow__dots{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items:start;
  position:relative;
  z-index:2;
  margin-top: 0;
}

/* cerchi */
.dot{
  width:72px;
  height:72px;
  border-radius:999px;
  background:#fff;
  color:#222;
  display:grid;
  font-size: 1.4em;
  place-items:center;
  font-weight:700;
  letter-spacing:.5px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

/* posizionamento pallini in alto come nello screenshot */
.dot--1{ justify-self:center; transform: translateY(-10px);}
.dot--2{ justify-self:center; transform: translateY(35px); } /* un po’ più giù */
.dot--3{ justify-self:center; transform: translateY(-10px);}

/* Labels: 3 colonne */
.flow__labels{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  margin-top: 20px;
  position:relative;
  z-index:2;
}

/* allineamenti testo */
.label--left{ text-align:left; }
.label--center{ text-align:center; }
.label--right{ text-align:right; }

.label--center:nth-of-type(2){
  transform: translateY(35px);
}

/* tipografia stile “salient-ish” */
.title{
  font-size: clamp(26px, 3vw, 30px);
  font-weight: 800;
  letter-spacing: .5px;
  opacity: .92;
}
.desc{
  font-size: clamp(16px, 1.6vw, 20px);
  opacity: .82;
  margin-top: 6px;
  line-height: 1.35;
}

/* Mobile: impila */
@media (max-width: 700px){
  .flow{ padding-top: 40px; }
  .flow__line{ display:none; } /* su mobile puoi anche tenerla, ma spesso è meglio toglierla */
  .flow__dots, .flow__labels{
    grid-template-columns: 1fr;
    text-align:left;
  }
  .dot--2{ transform:none; }
  .label--right{ text-align:left; }
}

/*** sgvs ***/

.sgvs:before{
  content: '';
  position: absolute;
  background-image: url('/wp-content/uploads/2026/02/logo-marchio.png');
  z-index: -1;
  width:600px;
  height:650px;
  top:0;
  opacity: 0.07;
  background-repeat: no-repeat;
  background-size: contain;
}
.sgvs-right:before{
  right:-200px;
} 
.sgvs-left:before{
  left:-300px;
} 
.sgvs.small:before{
  width:300px;
  height:350px
}
.sgvs.zi-10:before{
  z-index: 100;
  opacity: 0.7;
}

.sgvs-single:before{
  content: '';
  position: absolute;
  background-image: url('/wp-content/uploads/2026/02/sgvs-single.png');
      z-index: 1000;
    width: 800px;
    height: 100px;
    bottom: -130px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
}
.sgvs-single.sgvs-left:before{
  left:-200px;
}
.sgvs-single.bottom-70:before{
  bottom: -70px;
}
.sgvs-single.sgvs-right:before{
  right:-400px;
  top: 50px;
  bottom: auto;
}

@media screen and (max-width:1024px){
  .sgvs:before,
  .sgvs-single:before{
    content:none;
  }
}