html,
body {
  min-height: 100%;
}


body {
  background: linear-gradient(
    180deg,
    #d42c3c 0px,
    #8f232d 280px,
    #191919 750px
  );
}


*::before,
*::after { box-sizing: border-box; }

.genesis-nav-menu a {
    text-transform: uppercase;
    font-size:55px;
    padding:0;
}

/* === Menu triangle indicator (no layout shift) === */
.nav-primary .genesis-nav-menu,
.nav-primary .menu{
  position: relative;
}

.nav-primary .genesis-nav-menu .menu-triangle,
.nav-primary .menu .menu-triangle{
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:0;
  border-left:14px solid #d61f2c;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  pointer-events:none;
  opacity:0 !important;
  transform: translate3d(-9999px,-9999px,0);
  transition: transform 220ms ease, opacity 140ms ease;
}

/* usata solo durante init per evitare il “razzo” */
.nav-primary .genesis-nav-menu .menu-triangle.no-anim,
.nav-primary .menu .menu-triangle.no-anim {
  transition:none !important;
}

.nav-primary.showed .genesis-nav-menu .menu-triangle,
.nav-primary.showed .menu .menu-triangle {
    opacity: 1 !important;
}

/* =========================================================
   HEADER FULL-WIDTH (breakout dalla gabbia Genesis) — NO absolute
   ========================================================= */
.site-header { width: 100%; }

/* barra header full-bleed */
.site-header .sc-header{
  padding: 45px 60px 0;
}

/* la wrap interna deve essere neutra */
.site-header .sc-header__wrap{
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
}

/* =========================================================
   LOGO (normalizza wrapper Genesis)
   ========================================================= */
.sc-header__logo{
  justify-self: start;
  display: grid;
  align-items: center;
}

.sc-header__logo .custom-logo,
.sc-header__logo .custom-logo-link{
  display: grid;
  align-items: center;
  z-index: 90;
}

/* limita dimensione (colpisce SOLO il wrapper, non l'immagine) */
.sc-header__logo .custom-logo{ max-width: 335px; }

/* immagine */
.sc-header__logo img.custom-logo{
  display: block;
  width: 100%;
  height: auto;
}


.burger-menu{
  justify-self: end;
  width: 45px;
  height: 45px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  z-index: 200;
  position: relative;
  display: block;
  text-align: right;
}

.burger-menu span{
  display: block;
  position: absolute;
  height: 2px;
  width: 15px;
  background-color: #fff;
  opacity: 1;
  transform: rotate(0deg);
  transition: all .25s ease-in-out;
}

.home .burger-menu span{ background-color: #fff; }

.burger-menu span:nth-child(even){ right: 10px; }
.burger-menu span:nth-child(odd){ left: 10px; }

.burger-menu span:nth-child(1),
.burger-menu span:nth-child(2){ top: 13px; }

.burger-menu span:nth-child(3),
.burger-menu span:nth-child(4){ top: 21px; }

.burger-menu span:nth-child(5),
.burger-menu span:nth-child(6){ top: 29px; }

.burger-menu.active-menu span:nth-child(1),
.burger-menu.active-menu span:nth-child(6){ transform: rotate(45deg); }

.burger-menu.active-menu span:nth-child(2),
.burger-menu.active-menu span:nth-child(5){ transform: rotate(-45deg); }

.burger-menu.active-menu span:nth-child(1){ top: 13px; }
.burger-menu.active-menu span:nth-child(2){ top: 13px; }

.burger-menu.active-menu span:nth-child(3){ opacity: 0; }
.burger-menu.active-menu span:nth-child(4){ opacity: 0; }

.burger-menu.active-menu span:nth-child(5){ top: 23px; }
.burger-menu.active-menu span:nth-child(6){ top: 23px; }

.burger-menu.active-menu span{ background-color: #fff; }

/* =========================================================
   BODY LOCK (menu aperto)
   ========================================================= */
body.opened-menu{ overflow: hidden; }

/* =========================================================
   MODAL MENU — TUTTO GRID
   (pilotato dal tuo JS: .modal-menu.active-modal)
   ========================================================= */
.modal-menu{
  position: fixed;
  inset: 0;
  background-color: #191919;
  display: none;
  z-index: 120;

  /* grid per centratura contenuto */
  place-items: center;
}

.modal-menu.active-modal{
  display: flex; /* attivo */
  width: 100%;
  align-items: center;
  flex-direction: column;
  padding: 80px 0;
}

/* backdrop opzionale (se vuoi overlay scuro sopra lo sfondo) */
.modal-menu::before{
  content:'';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  opacity: 1;
}

/* contenitore menu sopra al backdrop */
.mobile-menu{
  position: relative;
  z-index: 91;
  width: min(720px, 92vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  gap: 100px;
}


nav.nav-primary{
  z-index: 100;
  padding: 0;
}

/* ul */
nav.nav-primary .genesis-nav-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  row-gap: 25px;
  justify-items: left; /* menu centrato, stile overlay */
}

.genesis-nav-menu a {
  font-size: 30px;
}

/* link */
nav.nav-primary .genesis-nav-menu > .menu-item > a{
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .02em;
  display: inline-block;
}

/* sub-menu */
nav.nav-primary .sub-menu{
  list-style: none;
  margin: 8px 0 0;
  padding: 0;

  display: grid;
  row-gap: 10px;
  justify-items: center;
}

nav.nav-primary .sub-menu a{
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-weight: 600;
}

nav.nav-primary a:hover{ opacity: .85; }

section.hero-slide {
    margin-top: -125px;
}

.hero-slide{
    position: relative;
    min-height: 100vh;
    width: 100%;
    display: grid;
    place-items: flex-end;
    overflow: hidden;
    justify-content: center;    
}



.hero-bg{
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image: url('images/bg-hero.png');
    background-position: center 37%;
    background-repeat: no-repeat;
}


.slide-content{
    position: relative;
    z-index: 2;
    text-align: center;
    display: grid;
    row-gap: 40px;
}

.hero-claim{
    font-size: 72px;
    text-transform: uppercase;
    color: #fff;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    margin: 0;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.6);
}

.red-text{
    color: #d72c3c;
}

.button-div{
    display: flex;
    justify-content: center;
}

.button-start {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 60px;
    background-color: #d72c3c;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 15px;
    font-weight: 700;
    z-index: 1;
    overflow: hidden;
    transition: transform .2s ease, background-color .2s ease;
}

/* bordo animato */
.button-start::before {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: inherit;
    background: conic-gradient(from 0deg, #ff5a6a, #ffffff, #ff5a6a);
    animation: rotateBorder 3s linear infinite;
    z-index: -1;
    pointer-events: none; /* NON blocca hover */
}

/* maschera interna */
.button-start::after {
    content: "";
    position: absolute;
    inset: 2px;
    background: #d72c3c;
    border-radius: inherit;
    z-index: -1;
    pointer-events: none; /* NON blocca hover */
}

/* animazione */
@keyframes rotateBorder {
    to { transform: rotate(360deg); }
}

/* Hover sul bottone */
.button-start:hover {
    transform: scale(1.05);
    color: #fff;
}



.scroll-down svg {
    max-width: 15px;
    fill: #fff;
}

.scroll-text {
    text-transform: uppercase;
    font-weight: bold;
    color: #fff;
}

.wrap.small-wrap {
    max-width: 700px;
}

.intro-site {
    padding: 140px 0;
}

.dby {
    text-align: center;
    padding: 0 0 20px;
}

.dby img {
    max-width: 325px;
}

.button-with-arrow svg {
    max-width: 11px;
    fill: #d72c3c;
}

.button-with-arrow {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

a.button-content {
    text-transform: uppercase;
    color: #fff;
    font-weight: 500;
}

h2.title-custom {
    font-size: 90px;
    font-weight: bold;
    color: #fff;
    margin: 0;
    text-align: center;
    display: inline-block;
    background-image: url('images/bg-title.png');
    background-repeat: no-repeat;
    padding-top: 28px;
    padding-left: 50px;
}

.clearboth {
    clear: both
}

.number-service{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.number{  
  font-weight: 800;
  font-size: 60px;         /* scala a gusto */
  line-height: 1;
  letter-spacing: .02em;
  color: transparent;      /* niente riempimento */
  -webkit-text-stroke: 2px #a4082b; /* contorno rosso */
  text-stroke: 2px #a4082b;         /* non standard, ma harmless */
}

.title-service {
    text-transform: uppercase;
    font-size: 60px;
    line-height: 1;
    font-weight: bold;
    margin-top: 50px;
}

.content-service-home .button-with-arrow {
    justify-content: flex-start;
    margin-top: 50px;
}

.single-service-home {
    display: flex;
    gap: 40px;
    align-items: center;
}

.services-home {
    padding-top: 100px;
}

.single-service-home {
    padding-top: 50px;
}

.column-service {
    width: 50%;
}

/* ==============================
   HOME PRODUCTS CAROUSEL (HPC)
   ============================== */

.hpc-section{
  padding:150px 0;
  overflow:hidden;
}

.hpc-swiper,
.hpc-swiper .swiper-wrapper,
.hpc-swiper .swiper-slide{
  overflow: visible !important;
}

.hpc-swiper{
  width:100%;
  padding:14px 0 26px;
}

.hpc-slide{
  height:auto;
  display:flex;
  justify-content:center;
}

.hpc-card{
  position:relative;
  width:100%;
  display:block;
  text-decoration:none;
  overflow:visible;
  transform:scale(.88);
  opacity:.85;
  transition:transform .35s ease, opacity .35s ease;
}

.swiper-slide-active .hpc-card{
  transform:scale(1);
  opacity:1;
}

.hpc-card__frame{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  background:#d61f2c;
  overflow:hidden;
}

.hpc-card__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.06);
  filter: grayscale(1) contrast(1.05) brightness(.85);
}

.hpc-card__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.55) 100%);
}

.hpc-card__content{
  position:absolute;
  inset:0;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  z-index:5;
}

.hpc-card__title{
  margin:0;
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.5px;
  line-height:1.05;
  font-size:34px;
  max-width:92%;
  text-shadow:0 6px 18px rgba(0,0,0,.45);
}

.hpc-card__price{
  align-self:flex-end;
  color:#fff;
  font-weight:900;
  font-size:48px;
  line-height:1;
  text-shadow:0 10px 22px rgba(0,0,0,.55);
}

.hpc-card__price del{
  opacity:.75;
  font-weight:700;
  font-size:20px;
  margin-right:10px;
}

.hpc-card__price ins{
  text-decoration:none;
}

.hpc-card__cutout{
    position: absolute;
    right: 10%;
    bottom: 0;
    width: 100%;
    height: auto;
    z-index: 1;
    pointer-events: none;
}


.hpc-card__cta-icon{
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:8px solid #d61f2c;
  filter:drop-shadow(0 0 6px rgba(0,0,0,.4));
}

.hpc-nav{
  margin-top:18px;
  display:flex;
  justify-content:center;
  gap:12px;
}

.hpc-nav__btn{
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  cursor:pointer;
  position:relative;
}

.hpc-nav__btn::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:10px;
  height:10px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(135deg);
  top:1px;
}

.hpc-next::before{
  transform:rotate(-45deg);
}

@media (max-width: 768px){
  .hpc-card__title{ font-size:26px; }
  .hpc-card__price{ font-size:40px; }
  .hpc-card__cutout{ right:-10%; bottom:-6%; width:92%; }
}

/* =========================
   PT ABOUT + SKILLS SECTION
   ========================= */

.pt-about{
  padding:80px 0;
  color:#fff;
}

.wrap-about {
    max-width: 1050px;
}

.pt-about__grid{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap:52px;
  align-items:center;
}

.pt-about__photo{
  position:relative;
  width:100%;
  display:flex;
  justify-content:center;
}

.pt-about__redbox{
  position:absolute;
  left:18px;
  top:28px;
  width: 250px;
  height: 520px;
  background:#d61f2c;
  z-index:1;
}

.pt-about__img{
  position:relative;
  z-index:2;
  width: 420px;
  height:auto;
  display:block;
  filter: grayscale(1) contrast(1.05);
  left: -10%;
  margin-top: 30px;
}

.pt-about__img--placeholder{
  width:420px;
  height:520px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  position:relative;
  z-index:2;
}

.pt-about__title{
  margin:0 0 14px;
  font-size:18px;
  font-weight:700;
  color:rgba(255,255,255,.9);
}

.pt-about__p{
  margin:0 0 12px;
  font-size:15px;
  line-height:1.55;
  color:rgba(255,255,255,.78);
}

.pt-skills{
  margin-top:26px;
  display:flex;
  flex-direction:column;
  gap:16px;
  max-width: 450px;
}

.pt-skill__top{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}

.pt-skill__name{
  font-size:14px;
  color:rgba(255,255,255,.85);
}

.pt-skill__value{
  font-size:14px;
  font-weight:800;
  color:rgba(255,255,255,.95);
}

.pt-skill__bar{
  position:relative;
  height: 30px;
  background:#fff;
  overflow:hidden;
  border-radius:2px;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}

.pt-skill__fill{
  height:100%;
  width:0%;
  background:#d61f2c;
  transition: width 1100ms cubic-bezier(.2,.8,.2,1);
}

.pt-about.is-visible .pt-skill__fill{
  will-change: width;
}

@media (max-width: 1024px){
  .pt-about__grid{
    grid-template-columns: 360px 1fr;
    gap:38px;
  }
  .pt-about__img{ width:360px; }
  .pt-about__redbox{ width:280px; height:470px; }
}

@media (max-width: 820px){
  .pt-about{ padding:60px 0; }
  .pt-about__grid{
    grid-template-columns: 1fr;
    gap:28px;
  }
  .pt-about__photo{ justify-content:flex-start; }
  .pt-about__img{ width:min(420px, 92vw); }
  .pt-about__redbox{
    left:10px;
    top:20px;
    width:min(320px, 78vw);
    height:min(520px, 92vw);
  }
}

/* =========================
   WHY STEPCORE
   ========================= */

.why{
  padding: 90px 0 80px;
}

.why__head{
  margin-bottom: 54px;
}

.why__title--white{ color: #fff; }
.why__title--red{ color: #d61f2c; }

/* Layout 3 colonne */
.why__grid{
  display: grid;
  grid-template-columns: 1fr 520px 1fr;
  gap: 34px;
  align-items: center;
  max-width: 1300px;
  margin: 0 auto;
}

.why__col{
  max-width: 320px;
}

.why__col--left{justify-self: end;text-align: right;}
.why__col--right{ justify-self: start; text-align: left; }

.why__kicker{
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}

.why__p{
  margin: 0;
  font-size: 22px;
  line-height: 1.45;
  color: rgba(255,255,255,.72);
}

/* HERO */
.why__hero{
  position: relative;
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: visible;
}

.why__tri{
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 740px;
  height: 370px;
  transform: translateX(-50%);
  background: #d61f2c;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  z-index: 1;
  filter: drop-shadow(0 22px 34px rgba(0,0,0,.35));
}

.why__img{
  position: relative;
  z-index: 2;
  width: auto;
  display: block;
}

.why__img--placeholder{
  height: 360px;
  width: 280px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  z-index: 2;
}

/* CTA */
.why__cta{
  margin-top: 34px;
  display: flex;
  justify-content: center;
}

.why__btn{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .9px;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}

.why__btn-icon{
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #d61f2c;
  filter: drop-shadow(0 0 7px rgba(0,0,0,.35));
}

/* Responsive */
@media (max-width: 1100px){
  .why__title{ font-size: 54px; }
  .why__grid{ grid-template-columns: 1fr 460px 1fr; }
  .why__tri{ width: 430px; height: 220px; }
  .why__img{ height: 330px; }
}

@media (max-width: 900px){
  .why{ padding: 70px 0 60px; }
  .why__head{ margin-bottom: 30px; }
  .why__title{ font-size: 46px; }
  .why__grid{
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .why__col{
    max-width: 520px;
    justify-self: start;
  }
  .why__hero{ height: 320px; }
  .why__tri{ width: min(520px, 92vw); height: 230px; }
  .why__img{ height: 320px; }
  .why__cta{ margin-top: 22px;}
}

/* =========================
   STEPCORE BAND (moving outline + highlight)
   ========================= */

.sc-band{
  position: relative;
  padding: 0;
  overflow: hidden;
  padding-top: 160px;
}

/* contenuto in foreground */
.sc-band__content{
  position: relative;
  z-index: 3;
  min-height: 380px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
}

/* brand */
.sc-band__brand{
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.sc-band__brand-icon{
  height: 64px;
  width: auto;
  display: block;
}

.sc-band__brand-word{
  height: 64px;
  width: auto;
  display: block;
}

.sc-band__brand-word--text{
  height: auto;
  font-weight: 900;
  font-size: 86px;
  letter-spacing: 1px;
  color: #d61f2c;
  line-height: 1;
}

/* people image */
.sc-band__people{
  justify-self: end;
  align-self: center;
  margin-left: -150px;
}

.sc-band__people-img{
  width: auto;
  display: block;
}

/* -------------------------
   BACKGROUND (outline ticker)
   ------------------------- */

.sc-band__bg{
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.sc-band__track{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  transform: translate3d(0,0,0);
  animation: scBandScroll 10s linear infinite;
}

.sc-band__row{
  width: 100%;
  text-align: center;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: 120px;
  line-height: 110px;
  color: transparent;
  opacity: .55;
}

.sc-band__glow{
  position: absolute;
  left: 0;
  top: 126px;
  width: 100%;
  height: 220px;
  background: radial-gradient(closest-side, rgba(214,31,44,.35), rgba(214,31,44,0));
  mix-blend-mode: screen;
  opacity: .9;
}

.sc-band::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background: radial-gradient(70% 60% at 50% 55%, rgba(0, 0, 0, .0) 0%, rgb(0 0 0 / 13%) 70%, rgb(0 0 0 / 14%) 100%);
}

.sc-band__track--red {
    position: relative;
    left: 170px;
    min-width: 842px;
    line-height: 0;
    top: -78px;
}

@keyframes scBandScroll{
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(0,-50%,0); }
}

.wrap-band {
    max-width: 1330px;
}


@media (max-width: 1100px){
  .sc-band__row{
    font-size: 96px;
    line-height: 90px;
  }
  .sc-band__brand-word--text{
    font-size: 70px;
  }
}

@media (max-width: 900px){
  .sc-band__row{
    font-size: 78px;
    line-height: 74px;
  }
}

/* =========================
   CONTACT / FAQ + CF7
   ========================= */

.sc-contact{
  padding: 95px 0;
}

.sc-contact__grid{
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 42px;
  align-items: start;
}

.sc-contact__title{
  margin: 0 0 28px;
  font-size: 54px;
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.6px;
  color: #fff;
}

.sc-faq{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sc-faq__item{
  border: 1px solid rgba(255,255,255,.18);
}

.sc-faq__btn{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: rgba(255,255,255,.86);
  text-align: left;
}

.sc-faq__q{
  font-size: 16px;
  line-height: 1.2;
}

.sc-faq__plus{
  width: 18px;
  height: 18px;
  position: relative;
  flex: 0 0 18px;
}

.sc-faq__plus::before,
.sc-faq__plus::after{
  content:"";
  position:absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  transform: translate(-50%,-50%);
}

.sc-faq__plus::before{ width: 14px; height: 2px; }
.sc-faq__plus::after{ width: 2px; height: 14px; transition: opacity 180ms ease; }

.sc-faq__btn[aria-expanded="true"] .sc-faq__plus::after{
  opacity: 0;
}

.sc-faq__panel{
  border-top: 1px solid rgba(255,255,255,.10);
}

.sc-faq__a{
  padding: 14px 18px 18px;
  color: rgba(255,255,255,.70);
  font-size: 14px;
  line-height: 1.5;
}

.sc-contact__formbox{
  background: #d61f2c;
  padding: 26px;
}

.sc-contact__formbox .wpcf7{
  margin: 0;
}

.sc-contact__formbox .wpcf7 form{
  margin: 0;
}

.sc-contact__formbox label{
  display: block;
  font-size: 12px;
  letter-spacing: .3px;
  color: rgba(255,255,255,.85);
  margin: 0 0 6px;
}

.sc-contact__formbox input[type="text"],
.sc-contact__formbox input[type="email"],
.sc-contact__formbox input[type="tel"],
.sc-contact__formbox select,
.sc-contact__formbox textarea{
  width: 100%;
  height: 44px;
  padding: 10px 12px;
  border: 0;
  outline: none;
  background: #fff;
  color: #111;
  font-size: 14px;
  border-radius: 0;
}

.sc-contact__formbox textarea{
  min-height: 90px;
  height: auto;
  resize: vertical;
}

.sc-contact__formbox .wpcf7-form-control-wrap{
  display: block;
  margin-bottom: 14px;
}

.sc-contact__formbox .wpcf7-list-item-label,
.sc-contact__formbox .wpcf7-acceptance{
  color: rgba(255,255,255,.85);
  font-size: 11px;
  line-height: 1.35;
}

.sc-contact__formbox input[type="checkbox"]{
  transform: translateY(1px);
  margin-right: 8px;
}

.sc-contact__formbox input[type="submit"],
.sc-contact__formbox button[type="submit"]{
  width: 100%;
  height: 46px;
  border: 0;
  cursor: pointer;
  background: #0f0f10;
  color: #fff;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.sc-contact__formbox .wpcf7-response-output{
  margin: 14px 0 0;
  padding: 10px 12px;
  border: 0;
  background: rgba(0,0,0,.16);
  color: #fff;
  font-size: 12px;
}

select[name="select-417"] option:first-child {
    color: #999;
}

span.wpcf7-not-valid-tip {
    display: none;
}

input.wpcf7-not-valid {
    border: 2px solid #5f0404 !important;
}

span.wpcf7-spinner {
    margin: 20px;
}

.wpcf7 form.invalid .wpcf7-response-output {
    margin: 0;
       border:none;
}

.wpcf7 form.sent .wpcf7-response-output {
	background-color: #00930d;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	background-color: #5f0404;
}

.wpcf7 form.spam .wpcf7-response-output {
	background-color: #f56e28;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #5f0404;
}

@media (max-width: 980px){
  .sc-contact{ padding: 70px 0; }
  .sc-contact__grid{
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .sc-contact__title{
    font-size: 42px;
  }
}

/* =========================
   TIMELINE
   ========================= */

.sc-timeline{
  padding: 110px 0;
}

.sc-timeline__inner{
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
}

/* linea centrale */
.sc-timeline__line{
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: rgba(214,31,44,.35);
}

/* singolo step */
.sc-step{
  position: relative;
  display: grid;
  grid-template-columns: 1fr 60px 1fr;
  gap: 0;
  padding: 40px 0;
  align-items: center;
  grid-auto-flow: column;
}

/* nodo centrale */
.sc-step__node{
  grid-column: 2;
  justify-self: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #d61f2c;
  position: relative;
  box-shadow: 0 18px 30px rgba(0,0,0,.35);
}

/* chevron dentro il pallino */
.sc-step__chev{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 9px solid #0f0f10;
  transform: translate(-50%,-40%);
}

/* contenuto */
.sc-step__content{
  max-width: 360px;
}

.sc-step--left .sc-step__content{
  grid-column: 1;
  justify-self: flex-end;
  text-align: right;
  padding-right: 20px;
}

.sc-step--right .sc-step__content{
  grid-column: 3;
  justify-self: start;
  text-align: left;
  padding-left: 20px;
}

/* numero outline rosso */
.sc-step__num{
  font-weight: 900;
  font-size: 42px;
  line-height: 1;
  margin-bottom: 8px;

  color: transparent;
  -webkit-text-stroke: 2px rgba(214,31,44,.6);
  text-stroke: 2px rgba(214,31,44,.6);
  letter-spacing: 1px;
}

.sc-step__title{
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}

.sc-step__desc{
  font-size: 13px;
  line-height: 1.45;
  color: rgba(255,255,255,.68);
}


.sc-step--left .sc-step__content{
  position: relative;
}


.sc-step--right .sc-step__content{
  position: relative;
}


/* Responsive: tutto a destra (o tutto a sinistra) sotto i 900px */
@media (max-width: 900px){
  .sc-timeline{ padding: 80px 0; }

  .sc-timeline__inner{
    max-width: 680px;
  }

  .sc-timeline__line{
    left: 18px; /* linea a sinistra */
    transform: none;
  }

  .sc-step{
    grid-template-columns: 36px 1fr;
    padding: 22px 0;
  }

  .sc-step__node{
    grid-column: 1;
    justify-self: start;
  }

  .sc-step__content{
    grid-column: 2 !important;
    justify-self: start !important;
    text-align: left !important;
    max-width: 100%;
    padding: 0 0 0 18px !important;
    position: relative;
  }

  .sc-step__content::after{
    left: -18px !important;
    width: 18px !important;
  }

  .sc-step__num{
    font-size: 34px;
  }
}

.title-head h1 {
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    font-size: 70px;
    font-weight: bold;
    text-shadow: 0px 0px 5px rgba(0,0,0,0.6);
}

.logo-menu {
    max-width: 320px;
    margin: 0;
}

.container-menu-info {
    display: grid;
    gap: 70px;
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.genesis-nav-menu .menu-item {}

.info-menu {
    font-size: 14px;
    color: #eee;
    margin-bottom: 10px;
}

.social svg {
    fill: #eee;
    max-width: 29px;
}

.img-head {
    text-align: center;
}

.title-head {
    margin-top: -160px;
}

.title-head.no-negative-margin {
    margin-top: 75px;
}

.breadcrumb {
    padding: 40px 60px 0;
    margin-bottom: -40px;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
}

.breadcrumb a {
    color: #fff;
}

.video-embedd { 
    position: relative; 
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
} 

.video-embedd iframe,
.video-embedd object,
.video-embedd embed { 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sc-hashtag-cta{
  padding: 120px 0 110px;
}

.sc-hashtag-cta__inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 34px;
}

/* Titolo */
.sc-hashtag-cta__title{
  margin: 0;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 0.95;
  font-size: 86px;
  display: inline-flex;
  align-items: baseline;
  gap: 0;
}

/* parte outline rossa */
.sc-hashtag-cta__outline{
  color: transparent;
  -webkit-text-stroke: 2px rgba(214,31,44,.85);
  text-stroke: 2px rgba(214,31,44,.85);
}

/* parte piena bianca */
.sc-hashtag-cta__fill{
  color: #fff;
}

.columns-personal {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 140px;
    padding: 150px 0 50px;
}

.small-title-column {
    text-transform: uppercase;
    font-size: 24px;
}

.big-title-column {
    font-size: 48px;
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.2;
}

.title-column {
    margin-bottom: 30px;
}

.red-title-personal {
    text-transform: uppercase;
    font-weight: 500;
    color: #d72c3c;
    margin-bottom: 20px;
}

.single-info-personal {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 20px;
    line-height: 1.2;
}

.single-info-personal:before {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #d61f2c;
    display: inline-block;
    border-radius: 100%;
}

@media (max-width: 1100px){
  .sc-hashtag-cta__title{ font-size: 70px; }
}

@media (max-width: 760px){
  .sc-hashtag-cta{ padding: 90px 0 80px; }
  .sc-hashtag-cta__title{ font-size: 46px; }  
}

.icon-menu-content a svg {
    width: 30px;
    fill: #fff;
}

.icon-menu-content a {
    display: inline-block;
    line-height: 0;
    position: relative; 
}

span.item-total {
    position: absolute;
    background-color: #d61f2c;
    display: flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    border-radius: 50%;
    color: #fff;
    top: -8px;
    right: -8px;
}

.icon-menu-content {
    display: flex;
    gap: 20px;
}

.gallery-hero .swiper-slide {
    max-width: 512px;
}

section.gallery-hero {
    margin-top: 150px;
}

.wrap.woo-wrap {
    background-color: #2a2a2a;
    padding: 40px;
    border-radius: 20px;
    margin-bottom: 150px;
}

.woo-product {
    margin-top: 75px;
}

h1.product_title.entry-title {
    text-transform: uppercase;
    font-weight: bold;
    color: #fff;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price {
    color: #fff;
    text-transform: uppercase;
    font-weight: bold;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
    background-color: #fff;
    color: #c52a39;
    border-radius: 10px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
    background-color: #191919;
}

.woocommerce .quantity .qty {
    border-radius: 11px;
}

body .qib-button-wrapper {margin: 0!important ;margin-right: 10px!important ;}

.qib-button-wrapper button.qib-button {
    border: none !important;
    color: #fff !important;
     background-color:transparent !important;
}

.qib-button-wrapper button.qib-button:hover {
    border: none !important;
    color: #fff !important;
    background-color:transparent !important;
}

.woocommerce .cart .button, .woocommerce .cart input.button {    
    border-radius: 10px;
}

.cart-collaterals h2,
.checkout h3 {
    color: #fff;
}

#add_payment_method table.cart td.actions .coupon .input-text, .woocommerce-cart table.cart td.actions .coupon .input-text, .woocommerce-checkout table.cart td.actions .coupon .input-text {
    padding: 11px;
    width: 180px;
    border-radius: 10px;
}

.cart_item a:hover {
    color:#fff;
}

.woocommerce table.shop_table {
    border: 1px solid rgb(78 78 78);
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th {
    border-top: 1px solid rgb(78 78 78);
}

ul.wc_payment_methods.payment_methods.methods li {
    list-style-type: none;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li {
	list-style-type: none;
	margin: 0 0 10px 0;
	padding-top: 10px;
	border-top: none;
	width: 100%;
	display: block;
	text-align: left;
	font-size: 16px;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active {
	font-size: 16px;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a {
	text-decoration: none;
	border-bottom: none;	
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce a:hover {
    color: #fff;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a::before {
    font-family: 'Font Awesome 5 Free';
    display: inline-block;
    width: 20px;
    text-align: center;
    margin: 0 10px 0 0;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="dashboard"] a::before {
    content:"\f015";
    font-weight: 900;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="orders"] a::before {
    content:"\f022";
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="subscriptions"] a::before {
    content:"\f073";
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="downloads"] a::before {
    content:"\f019";
    font-weight: 900;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="edit-address"] a::before {
    content:"\f303";
    font-weight: 900;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="payment-methods"] a::before {
    content:"\f09d";
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="edit-account"] a::before {
    content:"\f007";
    font-weight: 900;
}

.woocommerce-account nav.woocommerce-MyAccount-navigation ul li[class*="customer-logout"] a::before {
    content:"\f2f5";
    font-weight: 900;
}

.woocommerce-Address-title h2,
.woocommerce-MyAccount-content h2,
.woocommerce h2 {
    color: #fff;
}

.woocommerce-account .addresses .title .edit {
    float: left;
}

#add_payment_method #payment div.payment_box,.woocommerce-cart #payment div.payment_box,.woocommerce-checkout #payment div.payment_box {
    background-color: transparent!important;
    color:#fff!important;
    padding: 15px 2em !important;
    margin: 0!important;
    line-height: 1!important;
}

.payment_box p {
    margin: 0!important;
}

#payment .payment_methods li[class*=payment_method_woocommerce_payments] label {
    color:#fff!important;
}

#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: none!important;
    border: none!important;
    border-right-color: transparent!important;
    border-left-color: transparent!important;
    border-top-color: transparent!important;
    position: absolute!important;
    top: 0!important;
    left: 0!important;
    margin: 0!important;
}

/* Scrollbar per WebKit (Chrome, Edge, Safari) */
::-webkit-scrollbar {
    width: 12px; /* spessore verticale */
    height: 12px; /* spessore orizzontale */
}

::-webkit-scrollbar-track {
    background: #191919; /* colore dello sfondo della scrollbar */
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background-color: #d72c3c; /* colore primario */
    border-radius: 10px;
    border: 3px solid #191919; /* crea effetto "staccato" dal track */
    transition: background-color 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #ff4b5c; /* leggero cambio colore al passaggio del mouse */
}

/* Scrollbar per Firefox */
* {
    scrollbar-width: thin; /* sottile */
    scrollbar-color: #d72c3c #191919; /* thumb track */
}

.button-start {
    cursor: url('/wp-content/themes/custom/images/cursor.png') 16 16, pointer;
}

.wrap {
    padding: 0 20px;
}

section#sc-band .wrap {
    padding: 0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 768px){
  header.site-header .sc-header{ padding: 20px 18px; }
  nav.nav-primary{ padding: 22px 18px; }
  .sc-header__logo .custom-logo{ max-width: 260px; }
}



@media (max-width: 1600px){
    section.hero-slide {
        padding: 0 20px;
    }
    .hero-claim {
        font-size: 4.4vw;
    }
    .title-head h1 {
        font-size: 4.4vw;
    }
    .title-service {
        font-size: 4.4vw;
    }
}

@media (max-width: 1340px){
    .sc-band__track--red {
        display: none;
    }
    .sc-band__people {
        justify-self: center;
        align-self: center;
        margin-left:0;
    }
}

@media (max-width: 1100px){
    .sc-band__content {
        min-height: 0;
        gap: 0px;
    }
}

@media (max-width: 1120px){
    a.button-start {
        font-size: 1.5vw;
    }
    .scroll-text {
        font-size: 1.4vw;
    }
    h2.title-custom {
        font-size: 8.6vw;
    }
    .sc-contact__title {
        font-size: 4.2vw;
    }
}

@media (max-width: 1024px){
    section.hero-slide {
        margin-top: -15px;
    }
    .services-home {
        padding-top: 3vw;
    }
    .why__kicker {
        font-size: 1.9vw;
    }
    .why__p {
        font-size: 2vw;
    }
    .title-head {
        margin-top: -85px;
    }
}

@media (max-width: 900px){
    button.single_add_to_cart_button.button.alt {
        margin-top: 20px;
    }
    .why__col {
        text-align: center;
        margin: 0 auto;
        padding: 20px;
    }
    .sc-contact__title {
        font-size: 56px;
    }
    .columns-personal {
        display: grid;
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 70px 0 50px;
    }
}

@media (max-width: 876px){
    .img-head {
        margin-top: 61px;
    }
    a.button-start {
        font-size: 16px;
    }
    .scroll-text {
        font-size: 16px;
    }
    .title-service {
        margin-top: 4vw;
    }
    .column-service {
        width: 100%;
    }
    .single-service-home {
        display: flex;
        flex-direction: column;
    }
    .services-home > .single-service-home:nth-child(2) {
        flex-direction: column-reverse;
    }
    .single-service-home {
        padding-top: 20px;
    }
    .intro-site {
        padding: 50px 0;
    }
    section.feature-services {
        margin-top: 50px;
    }
    .modal-menu.active-modal {
        padding: 80px 20px;
    }
    .genesis-nav-menu a {
        font-size: 3.6vw;
    }
}

@media (max-width: 768px){
    
    .woocommerce td.product-quantity {
        min-height: 60px;
    }
    button.single_add_to_cart_button.button.alt {
        margin-top: 0px;
    }
    h1.hero-claim {
        font-size: 34px;
    }
    .woocommerce td.product-quantity {
        min-height: 60px;
    }
    .title-head h1 {
        font-size: 34px;
    }
    .why__kicker {
        font-size: 24px;
    }
    p.why__p {
        font-size: 16px;
    }
    .container-menu-info {
        display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }
    .mobile-menu {
        gap: 50px;
    }

}

@media (max-width: 576px){
    #add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
        padding: 10px 0 !important;
    }
    .woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
        width: 100%;
        overflow: visible;
    }
    .coupon button {
        margin-top: 23px!important;
    }

    p#coupon-error-notice {
        margin-top: 55px!important;
    }
    .hero-bg {
        background-position: 50.25% 37%;
    }
    .breadcrumb {
        padding: 40px 20px 0;
    }
    h2.sc-hashtag-cta__title {
        font-size: 32px;
    }
    .genesis-nav-menu a {
        font-size: 23px;
    }
    .logo-menu {
        max-width: 200px;
        margin-top: 50px;
    }
    .sc-contact__title {
        font-size: 44px;
    }
    .sc-band {
        position: relative;
        padding: 0;
        overflow: hidden;
        padding-top: 60px;
    }
    h2.title-custom {
        font-size: 36px;
        background-size: contain;
        padding-top: 15px;
        padding-left: 35px;
    }
}

@media (max-width: 512px){
    h2.sc-hashtag-cta__title {
        font-size: 28px;
    }
    .big-title-column {
        font-size: 36px;
    }
    .title-head {
        margin-top: -60px;
    }
    .entry-title {
        font-size: 34px;
    }
    h1.hero-claim {
        font-size: 34px;
    }
    .title-head h1 {
        font-size: 34px;
    }
    h2.title-custom {
        font-size: 28px;
    }
    .why__kicker {
        font-size: 20px;
    }
    .sc-contact__title {
        font-size: 38px;
    }
    .hero-slide {
        min-height: 110vh;
    }
    .hero-bg {
        background-position: 50.25% 25%;
    }
    section.hero-slide {
        margin-top: -35px;
    }
    .pt-about__img {
        left: 0%;
    }
}

@media (max-width: 460px){
    button.single_add_to_cart_button.button.alt {
        margin-top: 20px;
    }
    body .qib-button-wrapper {
        float: left!important;
    }
}

@media (max-width: 380px){
    .entry-title {
        font-size: 31px;
    }
    section.hero-slide {
        margin-top: 0px;
    }
    h1.hero-claim {
        font-size: 31px;
    }
    .title-head h1 {
        font-size: 31px;
    }
}

@media (max-width: 1024px) and (orientation: landscape) {
    .menu-triangle{
        display: none;
    }  
    .hero-slide {
        min-height: 85vw;
    }
    .mobile-menu {
          gap: 40px;
     }
     .container-menu-info {
          display: block;
     }
     ul#menu-main-menu {
          display: flex;
          gap: 20px;
     }
     nav.nav-primary .genesis-nav-menu > .menu-item > a {
          font-size: 23px;
     }
     .logo-menu {
          max-width: 250px;
     }
     .container-info {
          display: none;
     }
}

@media (max-width: 768px) and (orientation: landscape) {
  .hero-slide {
      min-height: 125vw;
  }
  ul#menu-main-menu {
        display: flex;
        gap: 15px;
   }
    nav.nav-primary .genesis-nav-menu > .menu-item > a {
        font-size: 18px;
   }
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
}

body {
  overflow-x: clip;
}

html.opened-menu {
  overflow: hidden;
}

.iub__us-widget__wrapper {
    background-color: transparent !important;
    border: none !important;
    color: #fff !important;
}

button.iub__us-widget__link.iub__us-widget__link--privacy-choices.iubenda-cs-preferences-link {
    font-size: 16px;
    text-transform: none;
    font-weight: 400;
}

a.iub__us-widget__link.iubenda-cs-uspr-link {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
}

.iub__us-widget__link:hover {
    background-color: transparent!important;
}

.second-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
    color: #fff;
    padding: 20px;
}

.second-row a{
    color: #d72c3c;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 16px;
}

.iub-contatti {
    color: #fff;
    text-decoration: underline;
}

.iub-contatti:hover {
    color: #fff;
    text-decoration: underline;
}