/*GENERICO*/
:root {
  --petrol: #0F766E;
  --sage: #8A9F7E;
  }
body {
  font-family: 'Inter', system-ui, sans-serif;
  line-height: 1.7;
  color: #444;
  }
.heading-font {
  font-family: 'Playfair Display', sans-serif;
}
.navbar-brand {
  font-family: 'Playfair Display', sans-serif;
  font-size: 1.75rem;
}
.mceLayout {width:100% !important;}
.link:hover {background-color: #0F766E; color:#fff !important; -moz-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s;}

/* WHATSAPP */
.whatsapp-float {
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 60px;
  height: 60px;
  background-color: #25D366;
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  box-shadow: 0 4px 15px rgba(37,211,102,0.4);
  z-index: 1000;
  transition: all 0.3s;
}
.whatsapp-float:hover {
  transform: scale(1.1);
  background-color: #20c35a;
}
@media (max-width: 768px) {
  .whatsapp-float {
    width: 46px;
    height: 46px;
    bottom: 18px;
    right: 18px;
    font-size: 1.45rem;
    box-shadow: 0 3px 10px rgba(37, 211, 102, 0.3);
  }
  .whatsapp-float:hover {
    transform: scale(1.05);
  }
}

/*SEARCH BAR*/
.search-container {position: relative; max-width: 200px;}
.search-input {transition: all 0.3s ease-in-out !important; display: none !important; max-width: 200px;}
.search-input.active {display: block  !important;}
.search-toggle.hidden {display: none !important;}
.search-close {position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; display: none;}
.search-input.active + .search-close {display: block;}
.navbar-toggler:focus {box-shadow:none !important;}
.nav-link:focus, .nav-link:hover {color:#0F766E !important}
.nav-link.text-danger:focus, .nav-link.text-danger:hover {color:red !important}

@media (max-width: 991px) {
  .search-input {
      display: block !important;
      border-top: 0px solid !important;
      border-left: 0px solid !important;
      border-right: 0px solid !important;
      border-radius: 0px !important;
      padding-left: 0px !important;
  }
  .search-toggle {display: none !important;}
  .search-close {display: none !important;}
  .search-container {margin-left: 0 !important;}
}

/* FOOTER */
footer {
  background-color: #292929;
  color: #fff; 
  margin-left: -24px; 
  margin-right: -24px; 
  margin-bottom: -24px; 
  margin-top: 20px; 
}
footer a {color: #fff;}
footer a:hover {color: #ddd;}


/* HERO */
.hero {
  background: linear-gradient(rgba(15,118,110,0.65), rgba(15,118,110,0.75)), 
              url('https://picsum.photos/id/1015/2000/1200') center/cover no-repeat;
  min-height: 100vh;
  display: flex;
  align-items: center;
}

/* SEZIONI */
.section-bg-light {
  background-color: #F8F9F6;
}
.card {
  border: none;
  border-radius: 20px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.06);
  transition: all 0.3s ease;
}
.card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(138,159,126,0.15);
}
.icon-circle {
  width: 64px;
  height: 64px;
  background-color: #F0F4F1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: var(--petrol);
}
.step-circle {
  width: 34px;
  height: 34px;
  min-width: 34px;
  background-color: #F0F4F1;
  color: var(--petrol);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 600;
  flex-shrink: 0;
  box-shadow: 0 3px 8px rgba(15, 118, 110, 0.1);
}
@media (max-width: 768px) {
  .step-circle {
    width: 32px;
    height: 32px;
    min-width: 32px;
    font-size: 1rem;
  }
}
.title-with-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #dee2e6; /* Mantiene il border-bottom del titolo */
  padding-bottom: 0.5rem; /* Spazio sotto il titolo e il pulsante */
  margin-bottom: 1rem; /* Spazio sotto il contenitore */
}

/* ANIMAZIONE CARD */
@-webkit-keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@-webkit-keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
@keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}
.hvr-bob {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-bob:hover, .hvr-bob:focus, .hvr-bob:active {
  -webkit-animation-name: hvr-bob-float, hvr-bob;
  animation-name: hvr-bob-float, hvr-bob;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}

/*SCROLL TOP*/
.scrollup {width:80px; height:80px; position:fixed; bottom:100px; right:200px; display:none; text-indent:-9999px; background-image:url(../grafica/scrollTop_btn.png); background-position:center; background-repeat:no-repeat; z-index:200; overflow:hidden; opacity:.5; background-size:70%; -moz-transition:ease-in-out .2s; -webkit-transition:ease-in-out .2s; transition:ease-in-out .2s;}
.scrollup:hover {opacity:.9; background-size:100%;}

/*COLORI*/
.txt-petrol {color:#0f766e !important;}
.sf-petrol {background-color:#0f766e !important;}

/*BOTTONI*/
.btn-petrol {
  background-color: var(--petrol) !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 12px 32px !important;
}
.btn-petrol:hover {
  background-color: #0A5C57 !important;
  transform: translateY(-2px) !important;
}
.btn-outline-sage {
  border: 2px solid var(--sage) !important;
  color: var(--sage) !important;
  border-radius: 50px !important;
}


@-webkit-keyframes hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
@keyframes hvr-buzz {
  50% {
    -webkit-transform: translateX(3px) rotate(2deg);
    transform: translateX(3px) rotate(2deg);
  }
  100% {
    -webkit-transform: translateX(-3px) rotate(-2deg);
    transform: translateX(-3px) rotate(-2deg);
  }
}
.hvr-buzz {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hvr-buzz:hover, .hvr-buzz:focus, .hvr-buzz:active {
  -webkit-animation-name: hvr-buzz;
  animation-name: hvr-buzz;
  -webkit-animation-duration: 0.15s;
  animation-duration: 0.15s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.hvr-bounce-to-top {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  border: 1px solid #dee2e6 !important;
  border-radius: 0px !important;
  color:#495057  !important;
}
.hvr-bounce-to-top:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098D1;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-top:hover, .hvr-bounce-to-top:focus, .hvr-bounce-to-top:active {
  color: white  !important;
}
.hvr-bounce-to-top:hover:before, .hvr-bounce-to-top:focus:before, .hvr-bounce-to-top:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}


/*DISCLAMER*/
#wrapDisclaimer {display:none; position: fixed;  bottom: 0; left: 0; overflow-y:scroll !important;}

/*/////////////////////////////////COOKIES TABLE ///////////////////////////////////*/
.etichetteCookie {width:100%; display:table; background-color:#d3d3d3; color:#000; border-bottom:solid 3px #fff;}
.etichetteCookie>.tr {display:table-row;}
.etichetteCookie>.tr>.td {display:table-cell;}
.labelCookie {float:left; text-align:left; font-weight:bold; font-size:.8em;}
.dato {float:left;}
.contentCookiesTable {width:100%; padding:0 0 20px 0; float:left; overflow-x:auto; display: grid;}

.nomeCookie {font-weight:bold; background-color:#e0e0e0;}
.tipologiaCookie {background-color:#eee;}
.descrizioneCookie {background-color:#fff;}

.labelCookie {display:none;}
.dato {width:100%;}
.td {width:33.33%; font-weight:bold; padding:15px 10px;}
.tableCookies {display:table; width:100%;}
.trCookies {display:table-row;}
.nomeCookie, .tipologiaCookie, .descrizioneCookie {display:table-cell; width:33.33%; padding:10px; vertical-align:middle; border-bottom:solid 3px #fff;}

/*SWIPER*/
.swiper {width: 100%; height: 100%;}
.swiper-slide {font-size: 18px; background: #fff; display: flex;  justify-content: center; align-items: center;    }
.swiper-slide img {display: block; width: 100%; height: 100%; object-fit: cover;}

.swiper-pagination-bullet {width:12px !important; height:12px !important; background-color:#fff; border: 2px solid #333 !important;}
.swiper-pagination-bullet.swiper-pagination-bullet-active {background-color: #e33f40 !important}

.correlati .swiper-button-prev:after, .correlati .swiper-button-next:after  {font-size: 25px !important; font-weight: bold !important; color: #333 !important;}
.correlati .swiper-button-prev {top: 25px;}
.correlati .swiper-button-next {top: 25px;}

/*ERRORI */
.errore {display:block !important; color:#f44336;}
.errore .help-block {display:block !important; color:#f44336; margin-top:5px; margin-bottom:10px;}
.errore input {border: 2px solid #f44336 !important;}
.errore select {border: 2px solid #f44336 !important;}
.errore span.select2-selection {border: 2px solid #f44336 !important;}
.errore span.select2-selection__rendered { color:#f44336 !important; }

.errore input::-webkit-input-placeholder {color:#f44336 !important;}
.errore input:-moz-placeholder {color:#f44336 !important;} 
.errore input::-moz-placeholder {color:#f44336 !important;}
.errore input:-ms-input-placeholder {color:#f44336 !important;}
.errore select, option::-webkit-input-placeholder {color:#f44336 !important;}


/*Small devices*/
@media screen and (min-width: 0px) and (max-width: 575px) {

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}

.scrollup {right:0; background-size:50%;}

.cookiesContentSx p {padding:70px 0 30px 0; background-size:auto 40%; background-position:center top; font-size:.8em;}

}

/*Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}	

.scrollup {right:0; background-size:50%;}

.cookiesContentSx p {padding:70px 0 30px 0; background-size:auto 40%; background-position:center top; font-size:.8em;}

}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) {

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}	

.scrollup {right:0; background-size:50%;}

.cookiesContentSx p {padding:10px 0 10px 90px; background-size:auto 80%; background-position:left center; font-size:1em;}

}

/*Large devices (desktops, 992px and up)*/
@media (min-width: 992px)and (max-width: 1199px) {  

.desktop-switch {display:none !important;}
.mobile-switch {display:block !important;}

.spacing-top-bottom {
  margin-top: 16px;
  margin-bottom: 16px;
}

.scrollup {right:0; background-size:50%;}

.cookiesContentSx p {padding:10px 0 10px 90px; background-size:auto 100%;}

}

/*X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) and (max-width: 1399px) { 	

.desktop-switch {display:block !important;}
.mobile-switch {display:none !important;}	

.spacing-top-bottom {
  margin-top: 16px;
  margin-bottom: 16px;
}

.scrollup {right:0; background-size:50%;}

}

/*XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) { 

.desktop-switch {display:block !important;}
.mobile-switch {display:none !important;}		

.spacing-top-bottom {
  margin-top: 16px;
  margin-bottom: 16px;
}

}