/*
Theme Name: TailPress
Theme URI: https://github.com/tailpress/tailpress
Author: Jeffrey van Rossum
Author URI: https://tailpress.io
Description: TailPress is a simple boilerplate WordPress theme with Tailwind CSS.
Version: 5.0.2
License: MIT
License URI: https://github.com/tailpress/tailpress/blob/master/LICENSE
Text Domain: tailpress
*/


@font-face {
  font-family: "Inter";
  src: url("fonts/inter/InterVariable.ttf") format("truetype");
  font-weight: 100 900;            /* range pesi */
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: "Inter";
  src: url("fonts/inter/InterItalicVariable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

p {
  margin: 0 0 25px 0;
}
a{
  text-decoration:none!important;
}
#mobile-menu-overlay {
  z-index: 9999;
  background-color: #FAC12E;
  overflow: hidden;
  overflow-y: visible;
}
#mobile-menu-overlay::after {
  content: "";
  position: absolute;
  bottom: -215px;
  right: -215px;
  width: 450px;
  height: 450px;
  background: white;
  border-radius: 50%;
  opacity: 0.25;
}
#menu-mobile-menu .sub-menu{
  padding-left:15px;
}
#menu-mobile-menu  li a{
  font-weight:600;
}
#menu-mobile-menu .sub-menu li a{
  font-size:18px;
}
.text-base {
  font-size:1.08rem;
}

/* Stack font consigliato */
:root {
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

/* Applica globalmente */
body { font-family: var(--font-sans); }

.container-small{
  max-width:700px;
}
a.text-cta{
  text-decoration:none;
  font-weight:600;
  color:#000000;
}

a.main-cta {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #fff;
  background: #436ab1;
  padding: 20px 30px;
  border-radius: 20px;
  font-weight: 600;
  overflow: hidden;
  z-index: 1;
}

a.main-cta::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
 
  background: #FAC12E;
  transition: width 0.4s ease;
  z-index: 0;
}

a.main-cta:hover::before {
  width: 100%;
}

a.main-cta span {
  position: relative;
  z-index: 2;
  transition: color 0.4s ease;
}

a.main-cta:hover span {
  color: #000;
  transition: all 0.2s ease;
}
@keyframes shake {
  0% { transform: rotate(0deg); }
  20% { transform: rotate(10deg); }
  40% { transform: rotate(-10deg); }
  60% { transform: rotate(10deg); }
  80% { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}

.shaky-shaky:hover {
  animation: shake 0.6s ease-in-out;
}

.herosimplecta a {
  position: relative;
  display: inline-block;
  color: #000;
  text-decoration: none;
}

/* Linea invisibile inizialmente */
.herosimplecta a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: black;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-out;
}

/* Hover: attiva l’animazione */
.herosimplecta a:hover::after {
  transform: scaleX(1);
}
.home-hero-banner .herosimplecta a,
.flexible-banner .herosimplecta a{
  color: #fff;
}
.home-hero-banner .herosimplecta a::after,
.flexible-banner .herosimplecta a::after {
  background-color: #fff;
}


.swiper-slide img {
  width: 100%;
}
.swiper.herobanner {
  max-height: 870px;
  position: relative;
}
.swiper.herobanner:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #0000007a;
  z-index: 20;
}
.home-hero-banner{
  position:relative;
}
.hero-claim {
  position: absolute;
  top: 0;
  z-index: 50;
  width: 100%;
  height: 100%;
  display:flex;
  align-items:center;
}
.hero-claim h1{
  padding-right:95px;
}
.hero-claim h1 span{
  color:#FAC12E;
}
span.yellow{
  color:#FAC12E;
}
/** FORM **/
.one-col{
  flex: 0 0 100%;
}
.two-col{
  flex:0 0 48%;
}
.roundinputlabel {
  border: 1px solid #000;
  border-radius: 10px;
  position: relative;
  padding:15px;
}
.roundinputlabel label{
  position: absolute;
  background:#ffffff;
  top:-20px;
  left:20px;
  padding:5px;
}
.negative-margin{
  margin-top: -44%;
}
.home-quote {
  background: #ffffff;
  border: 1px solid #ccc;
  padding: 5rem 3rem;
  border-radius: 38px;
  z-index: 80;
  position: relative;
}

.form-section input[type=text],
.form-section input[type=tel],
.form-section input[type=email] {
  padding: 15px;
  border: 1px solid #000;
  border-radius: 10px;
  margin: 0 0 30px 0;
  width: 100%;
}
.form-section .wpcf7-form-control.wpcf7-select {
  width: 100%;
}
.privacycheck .wpcf7-list-item{
  margin:0!important;
}
.form-section input[type=submit]{
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #ffffff;
  background: #436ab1;
  padding: 20px 30px;
  border-radius: 20px;
  font-weight: 600;
  overflow: hidden;
  z-index: 1;
  transition:all 0.3s ease;
}

.bannerform:before{
  content:"";
  position: absolute;
  top:0;
  left:0;
  border-radius:34px;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.35);
}
.bannerform h3 span{
  color:#FAC12E;
}
/*** SPAZIATURE SEZIONI ***/
.half-top-padding{
  padding-top:75px;
}
.full-top-padding{
  padding-top:150px;
}
.half-top-margin{
  margin-top:75px;
}
.full-top-margin{
  margin-top:150px;
}
.half-btm-padding{
  padding-bottom:75px;
}
.full-btm-padding{
  padding-bottom:150px;
}
.half-btm-margin{
  margin-bottom:75px;
}
.full-btm-margin{
  margin-bottom:150px;
}



/*** YELLOW CARDS ***/
a.yell-card,
.yell-card{
  text-decoration:none!important;
  transition: all 0.3s ease;
  transform:scale(1);
  display: block;
  height:100%;
}
a.yell-card:hover{
  transition: all 0.3s ease;
  transform:scale(1.1);
}
a.yell-card svg{
  transition: all 0.3s ease;
  transform:rotate(0);
}
a.yell-card:hover svg{
  transition: all 0.3s ease;
  transform:rotate(135deg);
}

/** DOUBLE BANNER ***/
.mega-margin{
  margin-top:380px;
}

.negative-banner {
  position: absolute;
  top: -49%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

/* ACCORDION FAQ */
.accordion-wrap h4{cursor:pointer}
.accordion-wrap .riposta{
  max-height:0; overflow:hidden;
  opacity:0; transition:max-height .3s ease, opacity .3s ease;
}
.accordion-wrap.is-open .riposta{
  opacity:1;
}

.accordion-wrap.is-open h4{ color:#1d1d1d; }
.accordion-wrap .riposta{
  max-height:0; overflow:hidden;
  opacity:0; transition:max-height .3s ease, opacity .3s ease;
}
.accordion-wrap.is-open .riposta{
  opacity:1;
}
.accordion-wrap.is-open .chevron{
  transform: rotate(180deg);
}

.reviews .swiper-slide {

  height: auto; 
}
/** LOCATION CUSTOM CSS **/
.ls-service-locations{
  padding:50px 0;
}
.ls-service-locations h3{
  text-align: center;
  color:#414141;
  font-size:2.25rem;
  font-weight:700;
}
.ls-locations-list,
.ls-services-list  {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding:50px 0 0 0;
}

.ls-location-item a {
  color: #ffffff;
  text-decoration: none;
  text-transform: uppercase;
  padding: 5px 15px;
  border: 1px solid #fff;
  margin: 10px 5px;
  border-radius: 25px;
  background-color: #1f1f1f;
  transition: all 0.3s ease;
  display: inline-block;
}
.ls-location-item a:hover{
  background-color:#ffffff;
  color: #1f1f1f;
  transition:all 0.3s ease;
}

.ls-services-list li a {
  color: #1f1f1f;
  text-decoration: none;
  text-transform: uppercase;
  padding: 13px 25px;
  border: 1px solid #1f1f1f;
  margin: 10px 5px;
  border-radius: 25px;
  background-color: #ffffff;
  transition: all 0.3s ease;
  display: inline-block;
}
.ls-services-list li a:hover,
.ls-locations-list li a:hover{
  background-color:#1f1f1f;
  color: #ffffff;
  transition:all 0.3s ease;
}
.ls-locations-list li a {
  color: #1f1f1f;
  text-decoration: none;
  text-transform: uppercase;
  padding: 7px 20px;
  border: 1px solid #1f1f1f;
  margin: 5px 5px;
  border-radius: 25px;
  background-color: #ffffff;
  transition: all 0.3s ease;
  display: inline-block;
  font-size: 0.85rem;
}

/*** MENU **/
nav.main-nav {
  background: #eee;
  border-radius: 25px;
  z-index:9999;
}
.primary-nav .sub-menu {
  display: block;
}
.primary-nav > li a,
.primary-nav .sub-menu > li a{
  text-decoration:none!important;
  padding:15px 25px;
  border-radius:0;
  font-weight:500;
}
.primary-nav .sub-menu > li {
  margin: 0;
  list-style: none;
}

.primary-nav .sub-menu > li > a {
  display: block;
  width: 100%;
  @apply px-3 py-2 text-sm rounded;
  @apply hover:bg-gray-100;
}
.primary-nav > li a:hover, .primary-nav .sub-menu > li a:hover,
.primary-nav > li.current-menu-item a, .primary-nav .sub-menu > li.current-menu-item a {
  background: #fac12e;
}
.primary-nav > li:first-child a:hover, 
.primary-nav > li.current-menu-item:first-child a{
 border-top-left-radius: 25px;
 border-bottom-left-radius: 25px;
}
.primary-nav > li:last-child a:hover, 
.primary-nav > li.current-menu-item:last-child a{ 
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
 }

.primary-nav li.group > ul.sub-menu::before {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: -8px;
  height: 8px;
}

.primary-nav li.group > ul.sub-menu ul.sub-menu::before {
  content: "";
  position: absolute;
  top: 0; 
  left: -8px;
  width: 8px; height: 100%;
}
.primary-nav li ul.sub-menu li:first-child a,
.primary-nav li ul.sub-menu li:last-child a{
  border-radius:0!important;
}
.icocard{
  border-right:1px solid #202020;
}
.icocard:last-child{
  border-right:0px solid #202020;
}

/*** PAGINE SERVIZI ***/
.page-banner{}

.page-banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0,0,0,0.35);
  width: 100%;
  height: 100%;
  z-index: 8;
  border-radius:1.5rem;
}
.banner-bread .ls-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  background: rgba(255,255,255,0.85);
  display: inline-block;
  padding: 3px 15px;
  border-radius: 15px;
}
.wp-block-image.rounded-3xl img{
  border-radius:1.5rem;
}
.wpcf7-response-output {
    background: rgba(255,255,255,0.8)!important;
}
/** RESPONSIVE ***/

@media screen and (max-width: 1700px) {

  .negative-margin {
    margin-top: -22%;
  }
}
@media screen and (max-width: 1279px) {

  .negative-margin {
    margin-top: 10%;
  }
  .negative-banner {
    top: -15%;
  }
  .mega-margin {
    margin-top: 215px;
  }
  .wp-block-columns.tabletstack{
    flex-wrap:wrap !important;
  }
  .wp-block-columns.tabletstack .wp-block-column {
    flex-basis: 48% !important;
  }
}
@media screen and (max-width: 767px) {
  .swiper.herobanner {
    height: 700px;
  }
  .swiper.herobanner .swiper-slide img{
    object-fit: cover;
    height:100%;
  }
  .hero-claim h1{
    padding-right:15px;
  }
  .negative-margin {
    margin-top: 50px;
  }
  .home-quote {
    padding: 4rem 2rem;
    margin: 0 20px;
  }
  .negative-banner {
    top: -18%;
  }
  .half-top-padding{
    padding-top:50px;
  }
  .full-top-padding{
    padding-top:100px;
  }
  .half-top-margin{
    margin-top:50px;
  }
  .full-top-margin{
    margin-top:100px;
  }
  .half-btm-padding{
    padding-bottom:50px;
  }
  .full-btm-padding{
    padding-bottom:100px;
  }
  .half-btm-margin{
    margin-bottom:50px;
  }
  .full-btm-margin{
    margin-bottom:100px;
  }
  .icocard{
    border-right:0px solid #202020;
    border-bottom:1px solid #202020;
  }
  .two-col{
    flex:0 0 100%;
  }
  .negative-banner {
    position: relative;
    display: block;
  }
  .roundinputlabel {
    margin-bottom: 26px;
  }
  a.yell-card, .yell-card{
    height:auto;
  }
  .ls-location-item a {
    padding: 5px 15px;
  }
  .wp-block-columns.tabletstack .wp-block-column {
    flex-basis: 100% !important;
  }
} 