/* html {
  scroll-behavior: smooth;
  #764638
} */

.wrapper {
	overflow-x: hidden;
}

#logo {
	height: 65px;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.scorre #logo {
	opacity: 1;
}

.main-content-section p {
  font-size: 1.4rem;
  text-align: justify;
}

.featured-image-container {
  height: 500px;
  overflow: hidden;
  position: relative;
}

.featured-image-container .featured-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
} 

/* Hero Section */
.hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
}

.hero-content {
  position: relative;
  z-index: 2;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  padding: 2rem;
}

.hero-content h1,
.hero-content h2,
.hero-content p {
  color: white;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.hero-content h1 {
  font-size: 3.5rem;
  margin-bottom: 1.5rem;
  font-family: 'Noto Sans', sans-serif;
}

.hero-content h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  font-family: 'Noto Sans', sans-serif;
}

.hero-content h1 {
  font-size: 3rem;
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.8;
  display: block;
  margin-bottom: 1.5rem;
  text-align: center;
}



.linee {
    position: relative;
}

.linee::after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 20%;
    height: 3px;
    background-color: #764638;
}

.cardServizio {
    text-align: center;
    padding: 2rem;
    border: none;
    transition: all 0.3s ease;
    height: 100%;
}

.cardServizio:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.iconaServizio {
    width: 80px;
    height: 80px;
    background-color: #e6f3ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
}

.iconaServizio i {
    font-size: 2rem;
    color: #764638;
}

.titoloServizio {
    font-family: 'Noto Sans';
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 1rem;
}

.testoServizio {
    font-family: 'Noto Sans';
    color: #666;
    font-size: 1rem;
    line-height: 1.6;
}



.headerCentrale {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: transparent;
}

.scorre {
    background-color: #764638;
    background: rgb(118,70,56);
    background: -moz-linear-gradient(90deg, rgba(118,70,56,1) 15%, rgba(118,70,56,1) 70%);
    background: -webkit-linear-gradient(90deg, rgba(118,70,56,1) 15%, rgba(118,70,56,1) 70%);
    background: linear-gradient(90deg, rgba(118,70,56,1) 15%, rgba(118,70,56,1) 70%);
    border-bottom: 1px solid #ccc;
    padding-bottom: 0.5rem;
    height: 80px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}


.bordoSezione {
	border: 1px solid #c0c0c0; 
}

.altezzaIcona {
	height: 110px;
} 


.altezzaLogoRegione {
	height: 120px;
} 

.bloccoIconaInterno {
background-color:#143508;
background: rgb(20,53,8);
background: -moz-linear-gradient(90deg, rgba(20,53,8,1) 15%, rgba(111,123,13,1) 70%);
background: -webkit-linear-gradient(90deg, rgba(20,53,8,1) 15%, rgba(111,123,13,1) 70%);
background: linear-gradient(90deg, rgba(20,53,8,1) 15%, rgba(111,123,13,1) 70%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#143508",endColorstr="#6f7b0d",GradientType=1);
border-radius: 30px 29px 0px 0px;
  -webkit-border-radius: 30px 29px 0px 0px;
  -moz-border-radius: 30px 29px 0px 0px;
  padding: 2.5rem;
}

.bloccoDettaglio {
	border: 1px solid #c0c0c0;
	box-shadow: 7px 8px 5px 0px rgba(192,192,192,0.55);
-webkit-box-shadow: 7px 8px 5px 0px rgba(192,192,192,0.55);
-moz-box-shadow: 7px 8px 5px 0px rgba(192,192,192,0.55);
}

.strisciaGrigia {
	background-color: #f3f3f3;
	padding: 2rem;
} 

.linkStriscia {
	font-family: "Noto Sans";
	color: #303310;
	font-size: 2rem;
}

.linkStriscia:hover {
	color: #303310;
	text-decoration: underline;
}

.coloreVerde {
	color: #764638; 
}


/* sezione prodotti */

.sezioneProdotti {
    display: flex;
    flex-direction: column;
  padding-bottom: 2rem;
}

.strisciaProdotto {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.altre-piscine .strisciaProdotto {
	display: block;
}

.strisciaProdotto:hover {
    height: 350px;
}

.strisciaProdotto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center center;
}

.strisciaProdotto:hover img {
    transform: scale(1.1);
}

.titoloProdotto {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    text-transform: uppercase;
    font-family: 'Noto Sans';
    font-size: 2.5rem;
    text-align: center;
    width: 100%;
    padding: 1rem;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    z-index: 2;
}

.altre-piscine .titoloProdotto {
	font-size: 1.7rem;
}

.overlayProdotto {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.3));
    z-index: 1;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.strisciaProdotto:hover .overlayProdotto {
    background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.3));
}

.bottoneAttivo {
	border: 1px solid white;
	padding:.5rem;
	font-size: 1.2rem;
	color: white;
	margin-right: 2rem;
}

.titoloInterno {
	color:#bfcd3c;
}

.bloccoInterna {
	height: 45rem;
}

.testoBiancoInterno {
	color: white;
   font-size: 1rem;
   text-align: center;
}

.bloccoLineaSezioni {
	margin-top: -12%;
}

.bloccoCardInterna {
	position: relative;
}

.sfondoSezioneInterna {
	background-color: #303310;
	border-radius: 15px;
	position: absolute;
  width: 100%;
  top: 54%;
  padding-top: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 2rem;
}

.iconaInterna {
	height: 100px;
	display: block;
	margin: auto;
	z-index: 99999;
	position: relative;
}

.btn-collap {
	background-color: #764638;
	color:white;
	border:1px solid #764638;
	border-radius: 0px;
	font-size: 1.3rem;
	font-family: "Noto Sans";
	text-transform: uppercase;
}

.bloccoTestatina {
	text-transform: uppercase;
}



.btn-collap:hover {
	background-color: #764638;
	color:white;
	border:1px solid #764638;
}

.menuInterno {
	list-style: none;
	padding: 1rem;
	margin-top: 2rem;
}

#menuMobile {
	min-width: 300px;
	max-width: 300px;
	height: 100vh;
	position: fixed;
	top: 0;
	left: -300px;
	/* top layer */
	z-index: 9999;
	transition: all 0.3s;
	background: #fff;
	overflow-y: hidden;
  }

#menuMobile.active {
	left:0;
}

.menuInterno .nav-link {
	font-family: "Noto Sans";
  color: #1c1c1c !important;
  font-size: 1rem;
  position: relative;
  padding: 1rem;
  border-bottom: 2px solid white;
}

.overlay {
	display: none;
	position: fixed;
	/* full screen */
	width: 100vw;
	height: 100vh;
	/* transparent black */
	background: rgba(0, 0, 0, 0.7);
	/* middle layer, i.e. appears below the sidebar */
	z-index: 998;
	opacity: 0;
	/* animate the transition */
	transition: all 0.5s ease-in-out;
  }
  /* display .overlay when it has the .active class */
  .overlay.active {
	display: block;
	opacity: 1;
  }

  #dismiss {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    background: #caa866;
    border-radius: 100%;
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    color:white;
}

.imgCorta {
	width: 92%;
	margin: auto;
}

#mappa {
  height: 500px;
  width: 100%;
}

.centraleFlex {
	  display: flex;
      align-items: center;
      justify-content: center;
}

.margineAltoMio {
	margin-top: 4rem;
}

.altezzaLogo {
	height: 70px;
}

.paddingNo {
	padding-left: 0px!important;
  padding-right: 0px!important;
}

.no-bg {
	background-color: transparent !important;
	border: none !important;
}

.rigaRossaLeggera {
	height: .2rem;
  background-color: #764638;
  width: 100%;
  opacity: 1;
}

.altezzaCardCitta {
	height: 600px;
}

.bg-rosso-opaco {
	position: absolute;
  width: 100%;
  height: 100%;
  background: #764638;
  opacity: .4;
}

.internoCitta {
	position: absolute;
	bottom: -30px;
	right: 0;
	background-color: white;
	padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 260px;
  text-align: center;
  -webkit-box-shadow: 5px 5px 10px 5px #B7B7B7; 
  box-shadow: 5px 5px 10px 5px #B7B7B7;
}

.linkCitta {
	color: #764638;
	font-family: 'BarlowCondensedBold';
	text-decoration: none;
}

.rigaCitta {
	height: .2rem;
  background-color: #764638;
  width: 40%;
  opacity: 1;
  display: block;
  margin: auto;
}

.widget {
	  margin-bottom: 1rem;
	  margin-top: 1rem;
}

.fissato {
	position: fixed;
  z-index: 9998;
  background: #f8f6f6;
  width: 100%;
  height: 80px;
  top:0;
  transition: height 0.5s;
  -webkit-transition: height 0.5s;
  -moz-transition: height 0.5s;
  }

  .fissato .logoMobile {
	height: 80px;
	transition: height 0.5s;
	-webkit-transition: height 0.5s;
	-moz-transition: height 0.5s;
  }

  .linkBianco {
	color: white;
  }

  .linkBianco:hover {
	color: white;
	text-decoration: underline;
  }

  .sidebar img {
	width: 100%;
  }

  


/* LOADER RICERCA */

#loader-wrapper {
	display: none;
}

#loader-wrapper {
	background-color: rgba(255, 255, 255, 0.5);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
  }

  #loader {
	display: block;
	position: relative;
	left: 50%;
	top: 50%;
	width: 150px;
	height: 150px;
	margin: -75px 0 0 -75px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #202326;
	-webkit-animation: spin 2s linear infinite;
	/* Chrome, Opera 15+, Safari 5+ */
	animation: spin 2s linear infinite;
	/* Chrome, Firefox 16+, IE 10+, Opera */
  }

  #loader:before {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #202326;
	-webkit-animation: spin 3s linear infinite;
	/* Chrome, Opera 15+, Safari 5+ */
	animation: spin 3s linear infinite;
	/* Chrome, Firefox 16+, IE 10+, Opera */
  }

  #loader:after {
	content: "";
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	border-radius: 50%;
	border: 3px solid transparent;
	border-top-color: #202326;
	-webkit-animation: spin 1.5s linear infinite;
	/* Chrome, Opera 15+, Safari 5+ */
	animation: spin 1.5s linear infinite;
	/* Chrome, Firefox 16+, IE 10+, Opera */
  }

  @-webkit-keyframes spin {
	0% {
	  -webkit-transform: rotate(0deg);
	  /* Chrome, Opera 15+, Safari 3.1+ */
	  -ms-transform: rotate(0deg);
	  /* IE 9 */
	  transform: rotate(0deg);
	  /* Firefox 16+, IE 10+, Opera */
	}
	100% {
	  -webkit-transform: rotate(360deg);
	  /* Chrome, Opera 15+, Safari 3.1+ */
	  -ms-transform: rotate(360deg);
	  /* IE 9 */
	  transform: rotate(360deg);
	  /* Firefox 16+, IE 10+, Opera */
	}
  }
  @keyframes spin {
	0% {
	  -webkit-transform: rotate(0deg);
	  /* Chrome, Opera 15+, Safari 3.1+ */
	  -ms-transform: rotate(0deg);
	  /* IE 9 */
	  transform: rotate(0deg);
	  /* Firefox 16+, IE 10+, Opera */
	}
	100% {
	  -webkit-transform: rotate(360deg);
	  /* Chrome, Opera 15+, Safari 3.1+ */
	  -ms-transform: rotate(360deg);
	  /* IE 9 */
	  transform: rotate(360deg);
	  /* Firefox 16+, IE 10+, Opera */
	}
  }

body {
  font-family: 'Noto Sans', sans-serif;
  color: #5b5b5b;
  font-size: 1.1rem;
}

.paddingPagina {
	padding-top: 48px;
}

.container {
  max-width: 88%;
}

.paginaInterna {
  text-align: justify;
  font-size: 1rem;
}

.testoSlider h1 {
  font-family: 'Noto Sans';	
  font-size: 1.5rem;
  color: white;
}    

.contenutoSlider {
 font-family: 'Noto Sans';
 color:white;
}

.sottoTitoloPagina {
  font-family: 'Noto Sans';
  color: #303310;
}

.titoloPagina {
	color: #303310;
	font-family: 'Noto Sans';
}

.titoloPagina2 {
	color: #303310;
	font-family: 'Noto Sans';
}

.altezzaItinerari {
  height: 80px;
}

.itinerariGiallo {
	color:#2e4909;
	font-family: "Noto Sans";
	font-size: 1.5rem;
}

.vertical-center {
	display: flex;
	align-items: center;
	justify-content: center;
  }

.sfondoMarrone {
  background-color: #3b1508;
}

.paddingStriscia {
	padding: 1.9rem !important;
}


.titoloCeramista {
	font-family: 'Noto Sans';
	color: #764638;
}

.titoloItinerario {
   font-family: 'Noto Sans';
	color: white;
}


.dueColonne {
  column-count: 2;
  column-gap: 40px;
}

.bloccoSfondoRosso {
	background-color: #764638;
}

.bg-img {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.bottega {
  font-family: 'Noto Sans';
  color: #764638;
  font-style: italic;
  font-weight: lighter!important;
}

.card-title {
	font-family: 'Noto Sans';
	color: #764638;
	font-size: 1.5rem;
	text-align: center;
	margin-top: 1rem;
	margin-bottom: 1.3rem;
}

.altezzaCard {
  height: 300px;
}

.box p {
 margin-bottom: 0px;
} 

.titoloSito {
	color: #764638;
  border-bottom: 4px solid white;
  text-decoration: none;
  font-size: 1.4rem;
  padding-bottom: .5rem;
  font-family: "Noto Sans";
} 

.titoloSito:hover {
	color: #2e4909;
  border-bottom: 4px solid #2e4909;
  text-decoration: none;
}

.navbar-light .navbar-nav .nav-link {
  font-family: "Oswald";
  color:white;
  font-size: 1rem;
  position: relative;
  text-transform: uppercase;
}


.navbar-light .navbar-nav li {
	padding-left: .5rem;
	padding-right: .5rem;
	position: relative;
}

.navbar-light .navbar-nav .current_page_item > .nav-link {
  color: white;
}

.navbar-light .navbar-nav .nav-link:hover {
  color:white;
  text-decoration: underline;
}

.navbar-light .navbar-nav .nav-link:hover:before {
	width: 100%;
}

.navbar-light .navbar-nav .current_page_item > .nav-link:before {
	width: 100%;
}

.navbar-expand-xl .navbar-nav .nav-link {
  padding-right: .9rem;
  padding-left: .9rem;
}

.navbar-light .navbar-nav .show > .nav-link {
  color:white;
  opacity: 1;
}

.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #764638;
  z-index: 9999;
  width: 100%;
  list-style: none;
  padding-left: 0rem;
} 

.sub-menu li {
  display: block;
  text-align: left;
}

.sub-menu li a {
  color: white;
  font-family: 'Noto Sans';
  text-transform: uppercase;
  padding: 1rem;
}

.sub-menu li a:hover {
  color: #2e4909;
}

.menu-item-has-children > a:after {
  content: "\f107";
  font-family: FontAwesome;
  padding-left: 10px;
}

.menu-item-has-children:hover > .sub-menu {
  display: block;
}



.dropdown-menu {
  background-color: white;
  border: 1px solid black;
}

.dropdown-item {
  color: black;
  font-family: 'Noto Sans';
  text-transform: uppercase;
}

.linkAzzurro {
	  color: #764638;
	  font-family: 'Noto Sans';
}


.dropdown-item:hover {
  color:#2e4909;
  background-color: #169f1d;
}

.active {
  color: #764638!important;
}

.navbar .divider {
	background-color: white;
  border-right: 1px solid white;
  height: 25px;
  margin-top: 10%;
}

.active > .dropdown-item {
  color:#764638;
}


.page-item.active .page-link {
  z-index: 1;
  color: #fff;
  background-color: #764638;
  border-color: #764638;
}

.pagination {
  font-size: 1rem;
}
.page-link {
  font-size: 1rem;
  color: #764638;
}

a {
  color: #764638;
  text-decoration: none;
}

a:hover {
  color: #764638;
  text-decoration: underline;
}


.bloccoCardFrantoio {
  border: 1px solid #764638;
  box-shadow: 7px 8px 5px 0px rgba(192,192,192,0.55);
  -webkit-box-shadow: 7px 8px 5px 0px rgba(192,192,192,0.55);
  -moz-box-shadow: 7px 8px 5px 0px rgba(192,192,192,0.55);
}

.bloccoInternoFrantoio {
  background-color: #303310;
  color: #5b5b5b;
  padding: 1rem;
  font-family: 'Noto Sans';
  padding:3rem;
  height: 230px;
}

.testoCardFrantoio {
	padding: 3rem;	
}

.titoloVerde {
	color: #bfcd3c;
  font-family: 'Noto Sans';
}
.coloreVerdeNormal {
	color: #bfcd3c;
	font-size: 1.5rem;
}

.altezzaTestaBase {
  height: 500px;
}

.altezzaLogoCitta {
	height: 250px;
}

.testoVedi {
  font-family: 'Noto Sans';
  color: #764638;
  font-size: 1.1rem;
  text-transform: uppercase;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.boxtag {
	border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
padding: 1rem;
text-align: center;
}

.linkTag {
  color: #2e4909;
  font-family: 'Noto Sans';
  margin-right: 1rem;
}

.sfondoEsperienza {
	background: #e39b5c;
  padding: 1rem;
  
}

.bold {
	font-family: 'Noto Sans';
}

.controlloMuseo {
	  font-family: 'Noto Sans';
  color: #764638;
  cursor: pointer;
  font-weight: bold;
}

.controlloMuseo:hover {
	color: #764638;
	text-decoration: underline;
}

.circle-with-title {
    display: flex; /* Utilizza flexbox per allineare i figli */
    align-items: center; /* Centra verticalmente i figli */
}

.circle {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	color: white;
	font-size: 11px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 10px;
	padding: 0.3rem;
}

.coloreMarrone {
	background-color: #764638;
}
.coloreGrigio {
	background-color: #adbfc1;
}

.coloreAzzurro {
	background-color: #764638;
}

.altezzaPrimo {
	height: 500px;
}


.linkCeramista {
	color: #764638;
	cursor: pointer;
}
.linkCeramista:hover {
	color: #764638;
	text-decoration: underline;
}

.fontPiccolo {
	font-size: 1.2rem;
	padding: .6rem;
}

.bloccoTestoGuida p {
	margin-bottom: .3rem;
}

.sottotitoloOpera {
	font-family: 'Noto Sans';
  color: white;
  font-style: italic;
  font-weight: lighter !important;
  text-transform: none!important;
}

.sottotitoloNormale {
	font-family: 'Noto Sans';
  color: #764638;
  font-style: italic;
  font-weight: lighter !important;
  text-transform: none!important;
}

.sfondoPrenota {
	background: #764638;
	padding: .6 rem;
	text-transform: uppercase;
	font-family: 'Noto Sans';
}

.imgCerchio {
  border: 7px solid #764638;
  border-radius: 50%;
  height: 200px;
  width: 200px;
  display: block;
  margin: auto;
}

.altezzaImgEsperienze {
	height: 500px;
}

.bloccoNomeFoto {
	background-color: #e39b5c;
	color:white;
	font-family: 'Noto Sans';
	padding: 1rem;
	text-align: center;
}

.bloccoDescrizioneFoto {
	font-family: 'Noto Sans';
}

.altezzaInterna {
	  height: 400px;
}

.popupItinerario {
  position: relative;
}

.bloccoInterno {
	background-color: #764638;
  color: white;
  padding: 1rem;
  font-family: 'Noto Sans';
  position: absolute;
}

.videoIntero {
	object-fit: cover;
}

.pulsante {
	font-size: .9rem;
	text-transform: uppercase;
}

strong, b {
	color: #764638;
}

.linea {
  position: relative;
}

.linea::after {
content: '';
width: 45px;
height: 2px;
position: absolute;
left: 0;
right: 0;
bottom: -10px;
background: #2e4909;
}

footer {
  background-color: #f3f3f3;
}



.btn:disabled {
  background-color: #764638;
  color:white;
  border:1px solid #764638;
}

footer {
	font-size: 1rem;
}

footer p {
  padding-top: .2rem;
  padding-bottom: .2rem;
  margin-bottom: 0px;
  font-size: 1rem;
  color:#303310;
  font-family: "Noto Sans";
}

.footerFinale {
	background-color: black;
	color:white;
}

.footerFinale p {
	color:white;
	font-size: .9rem;
	margin-bottom: 1rem;
	margin-top: 1rem;
}

.form-control::placeholder {
	color: #6c757d;
	opacity: 1;
	font-family: "Noto Sans";
}

.textarea {
	height: 130px;
}

.testoCittaCanino {
	color:#9f9d9d;
}

.linkVerde {
  color: #303310;
}

.linkVerde:hover {
  color: #303310;
  text-decoration: underline;
}

.biancoFooter {
  width: 80%;
  background-color: white;
  height: 2px;
}

.titoloFooter {
  font-family: 'Noto Sans';
  letter-spacing: 1px;
  padding-bottom: 1.3rem;
}

.altezzaComuni {
  height: 100px;
} 

.altezzaSlider {
  height: 500px;
  margin: 0 0 0rem;
  border-radius: 40px;
}
.bg-grigio {
  background-color: #ebeded;
} 

.prefooter{
  background-color: #ebeded;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.imgLogoCna {
	display: block;
	margin: auto;
}

.rigaRossa {
	height: .2rem;
	background-color: #764638;
	width: 100%;
	opacity: 1;
	color: #764638;
} 

.rigaBlu {
	height: .3rem;
	background-color: #764638;
	width: 100%;
	opacity: 1;
	color:#764638;
}

.chiudiMuseo {
	font-size: 3rem;
	color:white;
}
.chiudiMuseo:hover {
	color: #2e4909;
}

.footer-title {
	font-family: 'Noto Sans';
  font-size: 1.2rem;
  text-transform: uppercase;
  color: white;
}

.social {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.social a {
    color: white;
    font-size: 1.5rem;
    transition: all 0.3s ease;
}

.social a:hover {
    color: #764638;
    transform: translateY(-2px);
}

.btn-primary {
	background-color: #764638;
	color:white;
	border:1px solid #764638;
	padding-left: 2.3rem;
  padding-right: 2.3rem;
}

.btn-primary:hover, .btn-primary:active, .btn-primary:focus, .btn:first-child:active {
	background-color: white;
	color: #764638;
	border:1px solid #764638;
}


.btn-social {
	background-color: #764638;
	color:white;
	border:1px solid #764638;
	font-size: 1.4rem;
	margin-right: .5rem;
	margin-left: .5rem;
}

.btn-social:hover {
	background-color: white;
	color: #764638;
	border:1px solid #764638;
}


.btn-normale {
  background-color: #764638;
  color: white;
  border: 1px solid #764638;
  font-family: 'Noto Sans';
  text-transform: uppercase;
border-radius: 0px;
padding-top: 1rem;
padding-bottom: 1rem;
padding-right: 2rem;
padding-left: 2rem;
margin-left: 2rem;
margin-right: 2rem;
}



.btn-normale:hover {
  background-color: white;
  color: #764638;
  border: 1px solid #764638;
}

.btn-filtro {
	background-color: white;
  color: #764638;
  border: 1px solid #764638;
  font-family: 'Noto Sans';
  text-transform: uppercase;
  border-radius: 0px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-right: 2rem;
  padding-left: 2rem;
}

.btn-filtro:hover {
	background-color: #764638;
  color: white;
  border: 1px solid #764638;
}


.attivo {
	background-color: #764638;
	color:white;
	border:1px solid #764638;
}



.marrone {
  color: #764638;
}
.giallo {
	  color: #d68644;
}
.rosso {
	color: #a44f2c;
}

.marronescuro {
   color: #5b2f2d;
}

h1, h2, h3, h4 {
  color: #333;
  font-family: 'Oswald', sans-serif;
}

.titoloSito {
	font-size: 3rem;
}

.altroTestoColore {
  color: #764638;
} 

.card-body h3 {
	text-align: left;
}

.altezzaProgetti {
	height: 400px;
}

.linkNero {
	color:black;
}

.linkNero:hover {
	color:#2e4909;
	text-decoration: underline;
}

.linkCategoria {
	background: black;
	padding: .5rem;
	display: inline-block;
	margin-bottom: 1rem;
	color: white;
	font-size: .8rem;
	text-transform: uppercase;
}

.linkCategoria:hover {
	background: #2e4909;
	color: white;
}

.linkRosso {
	color: #303310;
text-decoration: none;
}

.linkRosso:hover {
	color: #303310;
text-decoration: underline;
}

.vertical-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

strong {
	font-family: 'Noto Sans';
}


.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
  background-color: white;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::after, .hamburger.is-active .hamburger-inner::before {
    background-color: white;
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}


.griglia {
	width:100%;
}

.gridElement, .grid-sizer {
	width: 33.33333333%;
}


.altezzaLogoFooter {
	height: 50px;
	margin-top: 1rem;
  margin-bottom: 1rem;
}



.galleria-img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center;
}

.strisciaMarrone {
	background-color: #e6f3ff;
	padding: 4rem 0;
	color: #764638;
	position: relative;
}

.strisciaMarrone::before,
.strisciaMarrone::after {
	content: "\f10d";
	font-family: FontAwesome;
	font-size: 6rem;
	position: absolute;
	color: rgba(118, 70, 56, 0.1);
	line-height: 1;
}

.strisciaMarrone::before {
	top: 1rem;
	left: 2rem;
}

.strisciaMarrone::after {
	bottom: 0;
	right: 2rem;
	transform: rotate(180deg);
}

.strisciaMarrone p {
	font-family: 'Noto Sans';
	font-size: 1.3rem;
	margin-bottom: 0;
	text-align: center;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 768px) {
	.strisciaMarrone::before,
	.strisciaMarrone::after {
		font-size: 5rem;
	}
	
	.strisciaMarrone::before {
		left: 1rem;
	}
	
	.strisciaMarrone::after {
		right: 1rem;
	}
}

.cta-section {
    background: linear-gradient(135deg, #764638 0%, #764638 100%);
    padding: 4rem 0;
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
    pointer-events: none;
}

.cta-section h2 {
    color: white;
    font-size: 2.5rem;
    margin-bottom: 1rem;
    font-weight: 600;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.cta-section p {
    color: white;
    font-size: 1.2rem;
    margin-bottom: 0;
    opacity: 0.9;
}

.cta-section .btn-normale {
    background-color: white;
    color: #764638;
    border: 2px solid white;
    padding: 0.8rem 1.5rem;
    font-weight: 600;
    transition: all 0.3s ease;
}

.cta-section .btn-normale:hover {
    background-color: transparent;
    color: white;
    border-color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

@media screen and (max-width: 768px) {
    .cta-section {
        padding: 3rem 0;
        text-align: center;
    }
    
    .cta-section h2 {
        font-size: 2rem;
    }
    
    .cta-section .btn-normale {
        margin: 0.5rem;
    }
}


@media screen and (min-width:1300px) {
	

}

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

	.navbar-light .navbar-nav .nav-link {
		font-size: 1.3rem;
	}
}

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

	.navbar-light .navbar-nav .nav-link {
		font-size: 1.3rem;
	}

}

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

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

  .main-content-section p {
     text-align: center;
     font-size: 1.2rem;
  }
  
	.logo {
		margin-top: .5rem;
		height: 35px!important;
	}

	.scorre {
		height: 68px;
	}

  .titoloFooter {
	text-align: center;
	margin-top: 2rem;
  }

  .altezzaComuni {
	height: auto;
  }

  .altezzaCardCitta {
	height: 400px;
  }

  .margineAltoMio {
	margin-top: 0px;
}

.dueColonne {
	  column-count: 1;
}

.altezzaSlider {
	height: 230px;
}

.altezzaInterna {
	height: 250px;
}

.bloccoInterno {
  left: 0;
  margin-left: -27px;
}

.margineMenu {
	justify-content: flex-end !important;
  margin-right: 1rem;
}

.menuLingue {
	flex-direction: row;
}

.sub-menu {
	position: static;
	margin-left: 1rem;
	width: 80%;
}

.nav-link {
	text-transform: uppercase;
}

.nav-link:hover {
	color: white;
}

.sfondoSezioneInterna {
	position: static;
}

.bloccoInterna {
	height: auto;
}

.bloccoLineaSezioni {
	margin-top: auto;
}


}

@media screen and (max-width: 768px) {
    .fullscren-video {
        height: 60vh;
    }
    
    #video-background {
        object-position: center center;
    }


    .bottoneAttivo {
        font-size: 1.2rem;
        padding: 0.5rem;
        margin: 0 0.5rem;
    }
}

@media screen and (max-width: 480px) {
    .fullscren-video {
        /*height: 50vh;*/
		height: 32vh;
    }
}



@media screen and (max-width: 768px) {
    .hero-section {
        height: 80vh; /* Riduce l'altezza su mobile */
    }

    .hero-content {
        height: 80vh;
        padding: 0rem;
    }

    .hero-content h1 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }
    
    .hero-content h2 {
        font-size: 1.5rem;
        margin-bottom: 0.8rem;
    }
    
    .hero-content p {
        font-size: 1rem;
        line-height: 1.4;
        padding: 0 1rem;
    }

    .hero-overlay {
        background: rgba(0, 0, 0, 0.5); /* Overlay più scuro su mobile per migliore leggibilità */
    }
}

@media screen and (max-width: 480px) {
    .hero-section {
        height: 70vh; /* Ancora più corto su schermi molto piccoli */
    }

    .hero-content {
        height: 70vh;
    }

    .hero-content h1 {
        font-size: 1.8rem;
    }
    
    .hero-content h2 {
        font-size: 1.3rem;
    }
    
    .hero-content p {
        font-size: 0.9rem;
        padding: 0 0.5rem;
    }
}

.lavorazioni-section {
  padding: 4rem 0;
}

.lavorazioni-section h1 {
  color: #764638;
  font-size: 2.5rem;
  margin-bottom: 3rem;
  font-weight: 600;
}

.panel {
  background: white;
  padding: 1.5rem;
  border: 1px solid #e0e0e0;
  transition: all 0.3s ease;
  height: 100%;
}

.panel:hover {
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transform: translateY(-5px);
}

.panel h3 {
  color: #764638;
  font-size: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.panel p {
  color: #666;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  min-height: 4.5rem;
}

.panel .btn-primary {
  width: 100%;
  padding: 0.8rem;
  font-size: 1rem;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.altezzaPrimo {
  height: 300px;
  overflow: hidden;
}

.altezzaPrimo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.panel:hover .altezzaPrimo img {
  transform: scale(1.05);
}

@media screen and (max-width: 768px) {
  .lavorazioni-section {
      padding: 2rem 0;
  }

  .lavorazioni-section h1 {
      font-size: 2rem;
      margin-bottom: 2rem;
  }

  .panel {
      padding: 1rem;
  }

  .panel h3 {
      font-size: 1.3rem;
      min-height: 3rem;
  }

  .panel p {
      font-size: 0.9rem;
      min-height: 4rem;
  }

  .altezzaPrimo {
      height: 250px;
  }
}





/* ============ HERO ============ */
.hero-section{ position:relative; overflow:hidden; }

.hero-background{
  position:relative;
  min-height:clamp(520px, 80vh, 860px);
  overflow:hidden;
  --zoom-duration: 8s;        /* cambia qui la velocità dello zoom */
  display:flex;
  align-items:center;          /* centra verticalmente i contenuti */
}

/* immagine di sfondo con zoom */
.hero-background::before{
  content:"";
  position:absolute; inset:0;
  background-image: var(--hero-bg);
  background-size:cover;
  background-position:center;
  transform:scale(1);
  animation: heroZoom var(--zoom-duration) ease-in-out forwards;
  z-index:0;                   /* sotto overlay e contenuti */
}

@keyframes heroZoom{
  from{ transform:scale(1); }
  to{   transform:scale(1.15); }
}

/* overlay sopra la foto, sotto i contenuti */
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(
    180deg,
    rgba(70,108,170,0.51) 50%,
    rgba(18,27,42,0.90) 100%
  );
  z-index:1;
}

/* griglia contenuti */
.hero-grid{
  margin-top: 100px;
  position:relative; z-index:2; /* sopra overlay */
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(24px, 5vw, 64px);
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:clamp(48px, 8vh, 96px) 20px;
  color:#fff;
}

/* titolo */
.hero-title{
  margin-top: 100px;
  font-family:'Space Grotesk', sans-serif;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-0.02em;
  margin:0;
  font-size:clamp(36px, 7vw, 86px);
  color:#fff;
  max-width:16ch;
}
.hero-highlight{
  background:linear-gradient(90deg, #f66f2b, #466caa);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* ============ COLONNA DESTRA ============ */
.hero-col--right{ justify-self:end; max-width:620px; width:100%; }

.hero-avatars-metric{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;          /* tienile su una riga */
  gap:10px;
  min-width:0;
}

/* blocco icona + numero + suffisso */
.hero-item{
  display:inline-flex;
  align-items:center;
  gap:8px;                   /* spazio tra cerchio e numero */
  white-space:nowrap;
  flex:0 0 auto;
}

/* CERCHIO icona FA centrata */
.hero-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;                /* diametro cerchio */
  height:40px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 4px 10px rgba(0,0,0,.25);
  color:#ffffff;             /* colore dell’icona */
  background: rgba(70,108,170,.35); /* leggero fondo blu */
  font-size:18px;            /* dimensione icona FA */
  line-height:1;
}

/* numeri */
.hero-counter{
  font-weight:800;
  color:#fff;
  font-size:18px;
  line-height:1;
}
.hero-counter-suffix{
  font-weight:600;
  color:#fff;
  opacity:.9;
  margin-left:2px;
}

/* CTA */
.cta-pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:700; text-decoration:none;
  color:#0c0d10; background-color:#f66f2b;
  box-shadow:0 16px 30px rgba(0,0,0,.25), inset 0 0 0 1px rgba(0,0,0,.1);
  transition:transform .18s ease, box-shadow .18s ease;
}
.cta-pill:hover{ transform:translateY(-2px); box-shadow:0 20px 40px rgba(31,31,31,.35); }
.cta-arrow{ display:block; }

/* responsive */
@media (max-width:1200px){
  .hero-avatars-metric{ gap:8px; }
  .hero-item{ gap:6px; }
  .hero-counter{ font-size:17px; }
  .hero-icon{ width:36px; height:36px; font-size:16px; }
}
@media (max-width:992px){
  .hero-grid{ grid-template-columns:1fr; text-align:center; }
  .hero-col--right{ justify-self:center; max-width:100%; }
  .hero-title{ margin-bottom:24px; }
  .hero-avatars-metric{ flex-wrap:wrap; justify-content:center; }
}
@media (max-width:560px){
  .hero-icon{ width:34px; height:34px; font-size:15px; }
}



/* ===== HEADER BASE ===== */
header {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  z-index: 1000;
}

.headerCentrale {
  background:#466caa;
  transition: background-color 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease;
  padding: 0;   /* tolto il padding verticale, gestiamo con flex */
  height: 100px;  /* altezza fissa dell’header */
  display: flex;
  align-items: center;   /* centra logo + nav verticalmente */
}

/* quando scrolli */
.headerCentrale.scrolled {
  background-color: #2f4b7d;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  height: 80px;   /* header più compatto */
}

/* ===== LOGO ===== */
.logo {
  max-height: 70px;
  transition: max-height 0.3s ease;
}
.headerCentrale.scrolled .logo {
  max-height: 55px;
}

/* ===== NAV MENU ===== */
.navbar-nav .nav-link {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  color: #fff !important;
  padding: 8px 16px;   /* padding solo orizzontale */
  transition: color 0.3s ease;
  line-height: 1;      /* evita di spostare verticalmente */
  display: flex;
  align-items: center; /* centra testo all’interno */
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: #f66f2b !important;
}
.navbar-nav .current-menu-item .nav-link {
  color: #f66f2b !important;
}

/* ===== HAMBURGER ===== */
.navbar-toggler .hamburger-inner,
.navbar-toggler .hamburger-inner::before,
.navbar-toggler .hamburger-inner::after {
  background-color: #fff;
}

/* ===== MENU MOBILE ===== */
#menuMobile {
  background-color: #f2e4d3;
  position: fixed;
  width: 100% !important;
  height: 100% !important;
  z-index: 1100;
  padding: 20px;
}
#menuMobile.active { right: 0; }
#menuMobile .nav-link {
  display: block;
  color: #fff !important;
  padding: 14px 0;
  font-size: 18px;
}
#menuMobile .nav-link:hover {
  color: #f66f2b !important;
}





/* CSS SEZIONE COWORKING */ 
/* Sezione info coworking */
.info-section { 
  background:#fff; 
  border-radius: 25%;
}

.kicker{
  display:inline-block; 
  font-weight:700; 
  font-size:12px; 
  letter-spacing:.6px;
  color:#466caa;
  background:#eef2fb; 
  padding:6px 10px; 
  border-radius:999px; 
  margin-bottom:10px;
}

.info-title{
  font-family:'Space Grotesk',system-ui,sans-serif;
  font-weight:800; 
  line-height:1.1; 
  margin:6px 0 10px;
  font-size:clamp(26px, 2.8vw, 40px); 
  color:#1c1c1c;
}

.info-title .hl{
  background: linear-gradient(90deg, #f66f2b, #466caa);
  -webkit-background-clip:text; 
  background-clip:text; 
  color:transparent;
}

.info-lead{ color:#444; 
  font-size:17px; 
  line-height:1.6; 
  margin-bottom:10px; 
  text-align: justify;
}
.info-bullets{ margin:0 0 6px 0; 
  padding-left:18px; 
  color:#555; 
}

.info-bullets li{ 
  margin-bottom:6px;
}

/* immagine destra */
.info-image{
  margin:0; 
  border-radius:18px; 
  overflow:hidden;
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}

.info-image img{ 
  display:block; 
  width:100%; 
  height:auto; 
}

/* Bottoni in stile brand se non usi Bootstrap utility */
.btn-primary{
  background:#f66f2b; 
  border-color:#f66f2b; 
  color:#111; 
  font-weight:700; 
  border-radius:999px;
}

.btn-primary:hover{ 
  background:#e66326; 
  border-color:#e66326; 
}
.btn-outline-primary{
  border-color:#466caa; 
  color:#466caa; 
  font-weight:700; 
  border-radius:999px; 
  background:#fff;
}

.btn-outline-primary:hover{ 
  background:#466caa; 
  color:#fff; 
}

/* Mobile: inverti ordine (testo sopra, immagine sotto) già fatto con mb-4 */
@media (max-width: 767.98px){
  .info-image{ border-radius:14px; }
}




/* Sezione SPAZI */
.spazi-simple{
  padding: clamp(40px,6vw,90px) 16px;
  background:#f7f8fb;
}
.spazi-simple .container{
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

/* Titolo + sottotitolo */
.spazi-head{
  text-align:center;
  margin:0 auto 28px;
  max-width:820px;
}
.spazi-title-sec{
  font-family:'Space Grotesk',sans-serif;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.02em;
  font-size: clamp(28px,3.2vw,44px);
  color:#1c1c1c;
  margin:0 0 8px;
}
.hero-highlight{
  background:linear-gradient(90deg,#f66f2b,#466caa);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.spazi-sub{
  margin:0;
  color:#666;
  font-size:16px;
}

/* Griglia box */
.spazi-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
}

/* Card */
.spazio-card{
  background:#fff;
  border-radius:16px;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  padding:20px;
  text-align:center;
}
.spazio-card img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:12px;
  margin-bottom:16px;
}
.spazio-card h3{
  margin:0 0 8px;
  font:700 20px/1.2 'Space Grotesk',sans-serif;
  color:#1c1c1c;
}
.spazio-card p{
  margin:0 0 16px;
  color:#555;
  font-size:15px;
  line-height:1.5;
}
.spazio-card .btn{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:#f66f2b;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

/* Responsive */
@media (max-width: 992px){
  .spazi-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){
  .spazi-grid{ grid-template-columns: 1fr; }
}



/* ===== Sezione Vantaggi ===== */
.vantaggi{
  padding: clamp(40px,6vw,90px) 16px;
  background:#fff;
}
.vantaggi .container{
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

/* Titolo */
.vantaggi-head{
  text-align:center;
  margin:0 auto 40px;
  max-width:820px;
}
.vantaggi-title{
  font-family:'Space Grotesk',sans-serif;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.02em;
  font-size: clamp(28px,3.2vw,44px);
  color:#1c1c1c;
  margin:0 0 12px;
}
.vantaggi-sub{
  margin:0;
  color:#666;
  font-size:16px;
}

/* Griglia vantaggi */
.vantaggi-grid{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap: 28px;
}

/* Card vantaggio */
.vantaggio-card{
  background:#f7f8fb;
  border-radius:16px;
  padding:28px 20px;
  text-align:center;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.vantaggio-card:hover{
  transform: translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.vantaggio-card i{
  font-size:36px;
  color:#466caa;
  margin-bottom:14px;
}
.vantaggio-card h3{
  font:700 18px/1.2 'Space Grotesk',sans-serif;
  margin:0 0 10px;
  color:#1c1c1c;
}
.vantaggio-card p{
  font-size:15px;
  color:#555;
  margin:0;
  line-height:1.5;
}

/* Responsive */
@media (max-width: 992px){
  .vantaggi-grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px){
  .vantaggi-grid{ grid-template-columns: 1fr; }
}




/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
.hero-section.hero-section--slider {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  color: #fff;
}

/* Slider di sfondo */
.hero-slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity 0.7s ease-in-out;
}

.hero-slide.is-active {
  opacity: 1;
}

.hero-slide--zoom {
  animation: none;
}

/* zoom-in solo su prima slide */
.hero-slide--zoom.is-active {
  animation: heroZoomIn 8s ease-out forwards;
}

@keyframes heroZoomIn {
  from {
    transform: scale(1.02);
  }
  to {
    transform: scale(1.12);
  }
}


.hero-background-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(360deg,rgba(0, 0, 0, 0.2) 30%, rgba(21, 21, 23, 0.2) 100%),
              linear-gradient(360deg,rgba(0, 0, 0, 0) 30%, rgba(21, 21, 23, 1) 100%);
}

/* Contenuto centrale */
.hero-inner {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.5rem;
}

.hero-content {
  margin-top: 400px !important;
  max-width: 100% !important;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:0px;
}

.hero-title {
  margin-top: 100px;
  font-size: 110px !important;
  font-weight: 700;
  font-family: 'Tangerine', sans-serif !important;
  line-height: 90px !important;
}

.hero-subtitle {
  margin-top: -0px;
  font-size: 25px;
  line-height: 1.4;

  font-family: 'Raleway', sans-serif !important;
}

@media (max-width:992px){
  .hero-section.hero-section--slider {
    position: relative;
    width: 100%;
    height: 650px;
    min-height: 650px;
    overflow: hidden;
    color: #fff;
  }

  .hero-background-overlay{
    background: linear-gradient(
      to top,
      rgba(0,0,0,0.85) 0%,
      rgba(0,0,0,0.65) 30%,
      rgba(0,0,0,0.35) 55%,
      rgba(0,0,0,0.0) 85%
    );
  }

  .hero-content{
    margin-top: 100px;
    margin-bottom: 45px;
  }

  .hero-title {
    
    font-size: 80px !important;
    font-weight: 700;
    font-family: 'Tangerine', sans-serif !important;
    line-height: 65px !important;
  }
  
  .hero-subtitle {
    margin-top: -0px;
    font-size: 30px;
    line-height: 1.4;
    font-weight: 600;
    font-family: 'Raleway', sans-serif !important;
  }
}

/* CTA affiancate */
.hero-cta-group {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.9rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  border: 1px solid transparent;
  white-space: nowrap;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.15s ease,
    box-shadow 0.15s ease;
}

.hero-cta--primary {
  background-color: #caa866;
  color: #1b1b1b;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}

.hero-cta--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

.hero-cta--secondary {
  background-color: transparent;
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.85);
}

.hero-cta--secondary:hover {
  background-color: rgba(255, 255, 255, 0.12);
}

/* ---------------------------------------------------------------------------------------------------------------------- */
/* CATEGORIE */
.labsg-moments-section {
  padding: 3rem 1.5rem 3.5rem;
  margin-bottom: 70px !important;
  background-color: #f2e4d3;
}
.labsg-category-section {
  padding: 3rem 1.5rem 3.5rem;
  margin-top: -30px !important;
  margin-bottom: 70px !important;
  background-color: #f2e4d3;
}
  
  
  .labsg-categories-header {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
    max-width: 1200px;
    margin: 0 auto 1.5rem;
  }
  
  .labsg-title{
    font-size: 40px;
    text-align: center;
    color: #caa866;
    font-weight: 500;
    font-family: "Kanit", sans-serif;
    margin-bottom: 35px;
  }
  
  /* Griglia 4x1 */
  .labsg-categories-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
  }
  
  /* Card categoria */
  .labsg-category-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
  }
  
  /* Wrapper 16:9 */
  .labsg-category-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;       /* proporzione 16:9 */
    border-radius: 20px;
    overflow: hidden;
  }
  
  /* Background immagine */
  .labsg-category-bg {
    position: absolute;
    inset: 0;
    background-image: var(--labsg-cat-bg);
    background-size: cover;
    background-position: center center;
    transform: scale(1.05);
    transition: transform 0.4s ease;
  }
  
  /* Effetto glass che svanisce verso l'alto */
  .labsg-category-glass {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding: 1.2rem 1.4rem;
    background: linear-gradient(
      to top,
      rgba(15, 23, 42, 0.8),
      rgba(15, 23, 42, 0.15),
      rgba(15, 23, 42, 0.0)
    );
  }
  
  /* Contenuto dentro la glass */
  .labsg-category-content {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }
  
  .labsg-category-name {
    font-size: 1rem;
    font-weight: 400;
    margin: 0;
    font-family: "Kanit", sans-serif !important;
    color: #fff;
  }
  
  .labsg-category-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background-color: rgba(250, 250, 250, 0.92);
    color: #111827;
    font-family: 'Raleway', sans-serif !important;
    text-align: center;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    transition: all 0.2s ease;
  }
  
  /* Icona centrata perfetta */
  .labsg-category-cta i {
    font-size: 0.8rem;
    display: flex;
    align-items: center;
  }
  
  /* HOVER elegante */
  .labsg-category-cta:hover {
    text-decoration: none;
    background-color: #caa866;
    color: #fff;
    border-color: rgba(139, 94, 60, 0.35);
  }
  
  
  /* Hover card */
  .labsg-category-card:hover .labsg-category-bg {
    transform: scale(1.1);
  }
  
  .labsg-category-card:hover .labsg-category-cta {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
  }
  
  /* Responsive */
  @media (max-width: 1024px) {
    .labsg-categories-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  
  @media (max-width: 640px) {
    .labsg-categories-section {
      padding: 2.5rem 1rem 3rem;
    }
  
    .labsg-categories-grid {
      grid-template-columns: 1fr;
    }
  
    .labsg-category-glass {
      padding: 1rem 1rem;
    }

.labsg-category-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  width: 85%;
  margin: 0 auto;   /* centra orizzontalmente */
}

  }


/* ---------------------------------------------------------------------------------------------------------------------------------------------- */
/* HEADER */
.labsg-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, backdrop-filter 0.25s ease;
  background-color: transparent;
}

.labsg-header.header-scrolled {
  background-color: #f2e4d3;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(8px);
}

/* contenitore interno */
.labsg-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.9rem 0;
}

/* logo sinistra */
.labsg-header-left {
  flex: 0 0 auto;
}

.labsg-logo-link img {
  max-height: 54px;
  width: auto;
  display: block;
}

/* menu centro */
.labsg-header-center {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;              /* ✅ centra verticalmente */
}

.labsg-main-nav .labsg-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.5rem;
  align-items: center;              /* ✅ centra voci sulla stessa linea */
}

/* link */
.labsg-main-nav .labsg-menu > li > a,
.labsg-main-nav .labsg-menu > li > .nav-link {
  font-family: "Lora", serif;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  color: #111827;
  position: relative;
  padding-bottom: 0.25rem;

  display: inline-flex;             /* ✅ evita baseline “ballerina” */
  align-items: center;              /* ✅ centratura verticale testo */
  line-height: 1;                   /* ✅ stesso allineamento bianco/nero */
}

.labsg-header.header-transparent .labsg-main-nav .labsg-menu > li > a,
.labsg-header.header-transparent .labsg-main-nav .labsg-menu > li > .nav-link {
  color: #ffffff;
}

.labsg-main-nav .labsg-menu > li > a::after,
.labsg-main-nav .labsg-menu > li > .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #f3e3d3;
  transition: width 0.2s ease;
}

.labsg-header.header-transparent .labsg-main-nav .labsg-menu > li > a::after,
.labsg-header.header-transparent .labsg-main-nav .labsg-menu > li > .nav-link::after {
  background-color: #ffffff;
}

.labsg-main-nav .labsg-menu > li > a:hover::after,
.labsg-main-nav .labsg-menu > li > .nav-link:hover::after {
  width: 100%;
}

/* ✅ ancoraggio per il centraggio assoluto del menu */
.labsg-header-inner{
  position: relative;
}

/* ✅ menu centro: sempre CENTRATO nel header (non tra logo e pulsante) */
.labsg-header-center{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 50%;
  transform: translate(-50%, -50%);

  display: flex;
  justify-content: center;
  width: max-content;
  max-width: calc(100% - 320px); /* spazio di sicurezza per logo + cerca */
  z-index: 2;
}

/* ✅ lista menu centrata bene */
.labsg-main-nav .labsg-menu{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* link invariati, ma allineati */
.labsg-main-nav .labsg-menu > li > a,
.labsg-main-nav .labsg-menu > li > .nav-link{
  display: inline-flex;
  align-items: center;
}

/* ✅ mobile: come già hai (menu centrale nascosto) */
@media (max-width: 991.98px){
  .labsg-header-center{
    position: static;
    transform: none;
    max-width: none;
  }
}


/* lato destro: cerca + hamburger */
.labsg-header-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* pulsante cerca (desktop) */
.labsg-search-toggle {
  border: none;
  border-radius: 999px;
  padding: 0.45rem 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  color: #111;
}

.labsg-header.header-transparent .labsg-search-toggle {
  background-color: #caa96600;
  color: #fff;
}

.labsg-search-toggle i {
  font-size: 0.9rem;
}

.labsg-search-toggle:hover {
  transform: translateY(0px);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0);
}

/* hamburger allineato a destra, ma visibile solo mobile */
#attivaMenuMobile {
  border: none;
  background: transparent;
  padding: 0;
}

/* a desktop nascondo hamburger, tengo cerca */
@media (min-width: 992px) {
  #attivaMenuMobile {
    display: none;
  }
}

/* a mobile nascondo il menu centrale e il pulsante cerca, mostro hamburger */
@media (max-width: 991.98px) {
  .labsg-header-inner {
    padding: 0.7rem 0;
  }

  .labsg-header-center {
    display: none;
  }

  .labsg-search-toggle {
    display: none;
  }

  .labsg-header-left {
    flex: 0 0 auto;
  }

  .labsg-header-right {
    margin-left: auto;
  }

  .labsg-logo-link img {
    max-height: 42px;
  }
}

/* Evita scroll quando overlay aperto */
body.no-scroll {
  overflow: hidden;
}

/* ===== OVERLAY RICERCA FULLSCREEN ===== */
.labsg-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: rgba(28, 28, 28, 0.3); /* hover #1c1c1c con opacità 30% */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.labsg-search-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.labsg-search-overlay-inner {
  position: relative;
  max-width: 720px;
  width: 100%;
  margin-inline: 1.5rem;
  background-color: #f2e4d3;
  border-radius: 24px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
  padding: 2.5rem 2.25rem 2rem;
  color: #caa866;
}

/* pulsante chiudi */
.labsg-search-close {
  position: absolute;
  top: 1rem;
  right: 1.1rem;
  border: none;
  background: transparent;
  color: #e5e7eb;
  font-size: 1.3rem;
  cursor: pointer;
}

/* titolo form */
.labsg-search-title {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

/* input + bottone */
.labsg-search-input-wrap {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.labsg-search-input {
  flex: 1 1 auto;
  border-radius: 999px;
  border: 1px solid #caa866;
  background-color: #f2e4d3;
  padding: 0.75rem 1.2rem;
  font-size: 0.95rem;
  color: #1c1c1c;
  outline: none;
}

.labsg-search-input::placeholder {
  color: #6b7280;
}

.labsg-search-input:focus {
  border-color: #caa866;
  box-shadow: 0 0 0 1px #caa866;
}

/* bottone submit */
.labsg-search-submit {
  border-radius: 999px;
  border: none;
  padding: 0.75rem 1.4rem;
  background-color: #caa866;
  color: #f2e4d3;
  font-size: 0.9rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.15s ease,
}

.labsg-search-submit:hover {
  background-color: #caa866;

}

/* Responsive overlay */
@media (max-width: 600px) {
  .labsg-search-overlay-inner {
    margin-inline: 1rem;
    padding: 2rem 1.4rem 1.6rem;
  }

  .labsg-search-input-wrap {
    flex-direction: column;
    align-items: stretch;
  }

  .labsg-search-submit {
    justify-content: center;
    width: 100%;
  }
}


/* logo sinistra */
.labsg-header-left{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

/* link logo: evita che collassi e rende cliccabile bene */
.labsg-logo-link{
  display: inline-flex;
  align-items: center;
  line-height: 0; /* evita “spazi fantasma” sotto l’immagine */
}

/* immagine logo: sempre visibile e contenuta */
.labsg-logo-link img,
.labsg-logo-link #logo{
  display: block;
  height: 60px;        /* ⬅️ prima era 54px */
  width: auto;
  max-width: 200px;    /* ⬅️ prima 180px */
  object-fit: contain;
  object-position: left center;
  filter: none;
  opacity: 1;
}


/* ✅ HOME (header trasparente): aumenta leggibilità su foto */
.labsg-header.header-transparent .labsg-logo-link img,
.labsg-header.header-transparent .labsg-logo-link #logo{
  /* se il logo è scuro, questa ombra lo stacca dal background */
  filter: drop-shadow(0 6px 14px rgba(0,0,0,.35));
}

/* ✅ quando scrolled: logo più “pulito” */
.labsg-header.header-scrolled .labsg-logo-link img,
.labsg-header.header-scrolled .labsg-logo-link #logo{
  filter: none;
}

/* mobile */
@media (max-width: 991.98px){
  .labsg-logo-link img,
  .labsg-logo-link #logo{
    height: 46px;      /* ⬅️ prima 42px */
    max-width: 170px; /* ⬅️ prima 150px */
  }
}

/* ===========================
   LOGO SIZES VIA CSS (NO JS)
   =========================== */

   :root{
    --logo-neg-h: 52px;                 /* logo su header colorato */
    --logo-light-h: 104px;  /* logo trasparente = 2x */
  }
  
  /* di base nascondo il logo chiaro e mostro il neg (per non-home e per sicurezza) */
  .labsg-logo--light{ display:none; }
  .labsg-logo--neg{ display:block; }
  
  /* quando header è trasparente (home in alto) → mostra chiaro */
  #site-header.header-transparent:not(.header-scrolled) .labsg-logo--light{ display:block; }
  #site-header.header-transparent:not(.header-scrolled) .labsg-logo--neg{ display:none; }
  
  /* dimensioni */
  .labsg-logo--neg{
    max-height: var(--logo-neg-h) !important;
    width: auto;
    height: auto;
  }
  .labsg-logo--light{
    max-height: var(--logo-light-h);
    width: auto;
    height: auto;
  }
  
  /* ✅ consenti “sbordo” se serve */
  .labsg-header,
  .labsg-header-inner,
  .labsg-header-left,
  .labsg-logo-link{
    overflow: visible !important;
  }


  /* ===========================
   LOGO: override reale + sbordo
   =========================== */

:root{
  --logo-neg-h: 52px;
  --logo-light-h: 150px;     /* qui metti 104 o quello che vuoi */
  --header-h: 72px;          /* altezza “rigida” del blocco header interno */
}

/* 1) l'header e i contenitori DEVONO permettere overflow */
.labsg-header,
.labsg-header-inner,
.labsg-header-left,
.labsg-logo-link{
  overflow: visible !important;
}

/* 2) blocca l’altezza della riga header (così il logo grande NON la fa crescere) */
.labsg-header-inner{
  position: relative;
  height: var(--header-h);
  padding: 0 !important;     /* opzionale: evita che il padding ti cambi l’altezza */
  align-items: center;
}

/* 3) base: link logo come “ancora” */
.labsg-logo-link{
  position: relative;
  display: inline-block;
  line-height: 0;
}

/* 4) IMPORTANTISSIMO: disattiva il max-height “vecchio” che lo blocca a 54px */
.labsg-logo-link img{
  max-height: none !important;
}

/* 5) regole dimensioni + swap */
.labsg-logo--neg{
  display: block;
  height: var(--logo-neg-h) !important;
  width: auto !important;
  max-height: none !important;
}

.labsg-logo--light{
  margin-top: 40px;
  display: none;
  height: var(--logo-light-h) !important;
  width: auto !important;
  max-height: none !important;

  /* sborda senza spostare layout */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

/* quando header è trasparente (home in alto) */
#site-header.header-transparent:not(.header-scrolled) .labsg-logo--light{ display: block; }
#site-header.header-transparent:not(.header-scrolled) .labsg-logo--neg{ display: none; }

/* ----------------------------------------------------------------------------------------------- */
.labsg-category-section{
  padding: 60px 0;
  background: #f2e4d3 !important;
  max-width: 100%;
}

.labsg-featured{

  background: #fff !important;
  max-width: 100%;
}

.labsg-featured-title{
  font-size: 40px;
  text-align: center;
  color: #caa866;
  font-weight: 400;
  font-family: "Kanit", sans-serif;
}

/* contenitore slider + frecce */
.labsg-featured-shell{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100% !important;
  margin: 0 auto;
  padding: 0 70px;
}


/* track scrollabile */
.labsg-track{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3*26px) / 4); /* 4 card visibili desktop */
  gap: 26px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 18px 6px 28px;
  -webkit-overflow-scrolling: touch;
}

/* nasconde scrollbar (optional) */
.labsg-track::-webkit-scrollbar{ height: 0; }

.labsg-card{
  scroll-snap-align: start;
  background: #fff;
  border-radius: 22px;
  padding: 14px 14px 16px;
  box-shadow: 0 12px 24px rgba(0,0,0,.22);
  border: 6px solid rgba(255,255,255,.95);
}

.labsg-card-img{
  display:block;
  border-radius: 16px;
  overflow:hidden;
  height: 140px;
}

.labsg-card-img img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

.labsg-card-body{
  padding: 10px 6px 0;
  text-align: center;
}

.labsg-card-name{
  margin: 6px 0 2px;
  font-family: 'Kanit', sans-serif;
  font-size: 18px;
  font-weight: 800;
}

.labsg-card-name a{
  color:#111;
  text-decoration:none;
}

.labsg-card-code{
  font-family: 'Kanit', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #7a7a7a;
  margin-bottom: 10px;
}

.labsg-card-bottom{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 6px;
}

.labsg-card-price{
  font-family: 'Raleway', sans-serif;
  font-size: 20px;
  font-weight: 900;
  color: #111;
}

/* Adatto il tuo pulsante WhatsApp (labsg_get_whatsapp_button_html) */
.labsg-whatsapp-wrap{ margin: 0; }
.labsg-whatsapp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 7px 14px;
  border-radius: 999px;
  background: #caa866;
  color: #fff;
  font-family: 'Kanit', sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-decoration:none;
  border: 1px solid rgba(0,0,0,.08);
  transition: transform .15s ease, opacity .15s ease;
}
.labsg-whatsapp-btn:hover{
  opacity: .92;
  transform: translateY(-1px);
  text-decoration:none;
}

/* frecce */
.labsg-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-35%);
  width: 56px;
  height: 56px;
  border: none;
  background: transparent;
  color: #caa866;
  cursor: pointer;
  padding: 0;
  display:grid;
  place-items:center;
  opacity: .9;
}

.labsg-nav svg{ width: 44px; height: 44px; }
.labsg-nav:hover{ opacity: 1; }

.labsg-nav-prev{ left: 0; }
.labsg-nav-next{ right: 0; }

/* responsive */
@media (max-width: 1100px){
  .labsg-track{ grid-auto-columns: calc((100% - 2*22px) / 3); gap: 22px; }
}
@media (max-width: 820px){
  .labsg-featured-shell{ padding: 0 56px; }
  .labsg-track{ grid-auto-columns: calc((100% - 16px) / 2); gap: 16px; }
}
@media (max-width: 520px){
  .labsg-featured-shell{ padding: 0 46px; }
  .labsg-track{ grid-auto-columns: 85%; }
  .labsg-featured-title{ font-size: 32px; }
}





.labsg-weekly{
  padding: 60px 0;
  background: #fff !important;
}

.labsg-weekly-title{
  text-align:center;
  font-family: 'Raleway', sans-serif;
  font-size: 44px;
  font-weight: 800;
  color: #caa866;
  margin: 0 0 22px;
}

.labsg-weekly-shell{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}

/* riuso labsg-track: qui solo un filo più “pulito” */
.labsg-weekly-track{
  padding: 18px 6px 18px;
}

/* pallini */
.labsg-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  margin-top: 18px;
}

.labsg-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(0,0,0,.18);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
  opacity: .75;
}

.labsg-dot.is-active{
  background: #000;
  opacity: 1;
  transform: scale(1.1);
}

/* sezioni */
.labsg-catalog-slider{
  padding: 52px 0;
  background:#cfcfcf; /* in evidenza: grigio */
}
.labsg-catalog-slider--white{
  background:#fff; /* novità: bianco */
}

/* shell con frecce (solo in evidenza) */
.labsg-featured-shell{
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 70px;
}

/* novità non ha frecce */
.labsg-weekly-shell{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 18px;
}

/* track orizzontale */
.labsg-track-catalog{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3*26px) / 4); /* 4 prodotti visibili desktop */
  gap: 26px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 10px 6px 10px;
  -webkit-overflow-scrolling: touch;
}
.labsg-track-catalog::-webkit-scrollbar{ height: 0; }

/* ====== ITEM stile catalogo (come screenshot) ====== */
.labsg-item{
  scroll-snap-align: start;
  text-align: center;
}

.labsg-item-img{
  display:inline-block;
  width:250px;
  aspect-ratio: 1/1;    /* ✅ 1:1 */
  overflow:hidden;
  border:3px solid #caa866;
  border-radius: 15px;
  background:#fff;
}

.labsg-item-img img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position:center;
  display:block;
}

.labsg-item-title{
  margin: 16px 0 6px;
  font-family:'Raleway',sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}
.labsg-item-title a{
  color:#1a1a1a;
  text-decoration:none;
}
.labsg-item-title a:hover{
  text-decoration: underline;
}

.labsg-item-cat{
  font-family:'Raleway',sans-serif;
  font-size: 12px;
  font-weight: 600;
  color:#8b8b8b;
  margin-bottom: 8px;
}

.labsg-item-price{
  font-family:'Raleway',sans-serif;
  font-size: 14px;
  font-weight: 700;
  color:#3a3a3a;
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  gap:10px;
}

.labsg-price-old{
  color:#9a9a9a;
  text-decoration: line-through;
  font-weight: 600;
}
.labsg-price-new{
  color:#6a6a6a;
  font-weight: 700;
}

/* frecce (solo in evidenza) */
.labsg-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-35%);
  width: 56px;
  height: 56px;
  border: none;
  background: transparent;
  color: #caa866;
  cursor: pointer;
  padding: 0;
  display:grid;
  place-items:center;
  opacity: .9;
}

.labsg-nav svg{ width:44px; height:44px; }
.labsg-nav:hover{ opacity:1; }
.labsg-nav-prev{ left:0; }
.labsg-nav-next{ right:0; }

/* dots (novità) */
.labsg-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top: 18px;
}
.labsg-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background: rgba(0,0,0,.18);
  border:0;
  padding:0;
  cursor:pointer;
  opacity:.75;
  transition: transform .15s ease, opacity .15s ease;
}
.labsg-dot.is-active{
  background:#000;
  opacity:1;
  transform: scale(1.1);
}

/* responsive */
@media (max-width: 1100px){
  .labsg-track-catalog{ grid-auto-columns: calc((100% - 2*22px) / 3); gap: 22px; }
}
@media (max-width: 820px){
  .labsg-featured-shell{ padding: 0 56px; }
  .labsg-track-catalog{ grid-auto-columns: calc((100% - 16px) / 2); gap: 16px; }
  .labsg-title{ font-size: 34px; }
}
@media (max-width: 520px){
  .labsg-featured-shell{ padding: 0 46px; }
  .labsg-track-catalog{ grid-auto-columns: 85%; }
}


/* ---------------------------------------------------------------------------------------------------------------------------- */
/* Layout pagina */
.labsg-all-products{
  margin-top: 20px;
  padding: 48px 0 60px;
  background:#fff;
}

.labsg-all-products-head{
  max-width: 1200px;
  margin: 0 auto 18px;
  padding: 0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}

.labsg-all-products-title{
  margin:0;
  font-family:'Raleway',sans-serif;
  font-size: 38px;
  font-weight: 900;
  color:#111;
}

.labsg-filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(250,250,250,.92);
  font-family:'Raleway',sans-serif;
  font-weight: 800;
  cursor:pointer;
}

/* area risultati */
.labsg-products-area{
  max-width:1200px;
  margin:0 auto;
  padding: 0 18px;
}

.labsg-catalog-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin: 6px 0 14px;
}
.labsg-catalog-count{
  font-family:'Raleway',sans-serif;
  font-size: 13px;
  font-weight: 700;
  color:#6b6b6b;
}

/* Griglia 6 colonne desktop (6x4 = 24) */
.labsg-catalog-grid-6{
  display:grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}

/* item stile catalogo */
.labsg-item{ text-align:center; }
.labsg-item-img{
  display:block;
  width:100%;
  aspect-ratio: 1/1;
  overflow:hidden;
  border-radius: 10px;
  background:#fff;
}
.labsg-item-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.labsg-item-title{
  margin: 14px 0 6px;
  font-family:'Raleway',sans-serif;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}
.labsg-item-title a{ color:#1a1a1a; text-decoration:none; }
.labsg-item-title a:hover{ text-decoration:underline; }

.labsg-item-cat{
  font-family:'Raleway',sans-serif;
  font-size: 12px;
  font-weight: 700;
  color:#8b8b8b;
  margin-bottom: 8px;
}

.labsg-item-price{
  font-family:'Raleway',sans-serif;
  font-size: 14px;
  font-weight: 800;
  color:#444;
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  gap:10px;
}
.labsg-price-old{
  color:#9a9a9a;
  text-decoration: line-through;
  font-weight: 700;
}
.labsg-price-new{ color:#666; }

/* paginazione */
.labsg-pagination{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
  margin-top: 26px;
}

.labsg-page{
  min-width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background:#fff;
  font-family:'Raleway',sans-serif;
  font-weight: 800;
  cursor:pointer;
}
.labsg-page.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.labsg-empty{
  grid-column: 1 / -1;
  padding: 26px 10px;
  text-align:center;
  font-family:'Raleway',sans-serif;
  font-weight:700;
  color:#666;
}

/* MODAL */
.labsg-filter-modal{
  position: fixed;
  inset: 0;
  display:none;
  z-index: 9999;
}
.labsg-filter-modal.is-open{ display:block; }

.labsg-filter-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45);
}

.labsg-filter-panel{
  position:absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: min(420px, 92vw);
  background:#fff;
  box-shadow: -20px 0 40px rgba(0,0,0,.2);
  padding: 18px;
  display:flex;
  flex-direction:column;
}

.labsg-filter-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.labsg-filter-title{
  font-family:'Raleway',sans-serif;
  font-size: 25px;
  font-weight: 700;
  color:#caa866;
}
.labsg-filter-sub{
  font-family:'Raleway',sans-serif;
  font-size: 12px;
  font-weight: 600;
  color:#777;
  margin-top: 4px;
}

.labsg-filter-close{
  border:none;
  background: transparent;
  font-size: 20px;
  cursor:pointer;
}

.labsg-filter-form{
  display:flex;
  flex-direction:column;
  gap: 14px;
  overflow:auto;
  padding-bottom: 16px;
}

.labsg-field span{
  display:block;
  font-family:'Raleway',sans-serif;
  font-weight: 700;
  font-size: 13px;
  color:#111;
  margin-bottom: 6px;
}
.labsg-field select,
.labsg-field input[type="number"]{
  width:100%;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.14);
  padding: 10px 12px;
  font-family:'Raleway',sans-serif;
  font-weight: 600;
}

.labsg-price-row{
  display:flex;
  align-items:center;
  gap: 10px;
}
.labsg-price-sep{
  font-family:'Raleway',sans-serif;
  font-weight: 900;
  color:#999;
}

/* ===== PREZZO: slider su UNA SOLA RIGA (doppia manopola) ===== */
.labsg-range-single{
  position: relative;
  margin-top: 10px;
  height: 34px;              /* spazio per le due manopole */
}

.labsg-range-single input[type="range"]{
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  margin: 0;
  pointer-events: none;      /* IMPORTANT: di default “passa” il click */
  background: transparent;
  height: 34px;
  -webkit-appearance: none;
  appearance: none;
}

/* =========================
   RANGE BASE
   ========================= */
   .labsg-range-single input[type="range"]{
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 18px; /* area di hit */
    background: transparent;
    pointer-events: none; /* cliccabile solo il thumb */
  }
  
  /* =========================
     TRACK (barra)
     ========================= */
  .labsg-range-single input[type="range"]::-webkit-slider-runnable-track{
    height: 6px;
    border-radius: 999px;
    background: rgba(0,0,0,.12);
  }
  
  .labsg-range-single input[type="range"]::-moz-range-track{
    height: 6px;
    border-radius: 999px;
    background: rgba(0,0,0,.12);
  }
  
  /* =========================
     THUMB (pallina)
     ========================= */
  .labsg-range-single input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance: none;
    appearance: none;
    pointer-events: auto;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #caa866;
    border: 2px solid #fff;
    box-shadow: 0 6px 14px rgba(0,0,0,.18);
    cursor: pointer;
  
    /* 🎯 CENTRATURA PERFETTA SULLA TRACK */
    margin-top: -6px; /* (thumb - track) / 2 = (18 - 6) / 2 */
  }
  
  .labsg-range-single input[type="range"]::-moz-range-thumb{
    pointer-events: auto;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #caa866;
    border: 2px solid #fff;
    box-shadow: 0 6px 14px rgba(0,0,0,.18);
    cursor: pointer;
  }
  
  /* =========================
     FOCUS (opzionale ma pulito)
     ========================= */
  .labsg-range-single input[type="range"]:focus{
    outline: none;
  }
  


.labsg-hint{
  margin-top: 8px;
  font-family:'Raleway',sans-serif;
  font-size: 12px;
  font-weight: 700;
  color:#777;
}

.labsg-filter-actions{
  margin-top: 6px;
  display:flex;
  gap: 10px;
}

.labsg-filter-reset{
  flex:1;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.14);
  background:#fff;
  padding: 12px;
  font-family:'Raleway',sans-serif;
  font-weight: 700;
  cursor:pointer;
}

.labsg-filter-apply{
  flex:1.2;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background:#caa866;
  color:#fff;
  padding: 12px;
  font-family:'Raleway',sans-serif;
  font-weight: 700;
  cursor:pointer;
}

body.labsg-modal-open {
  overflow: hidden;
}


/* responsive */
@media (max-width: 1200px){
  .labsg-catalog-grid-6{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}

@media (max-width: 820px){
  .labsg-catalog-grid-6{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .labsg-all-products-title{
    font-size: 30px;
  }
}

/* MOBILE: SEMPRE 2 PER RIGA */
@media (max-width: 480px){
  .labsg-catalog-grid-6{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}


/* -------------------------------------------------------------------------------------------- */
.labsg-single{padding:40px 0;background:#fff}
.labsg-wrap{max-width:1200px;margin:0 auto;padding:0 18px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
@media(max-width:900px){.labsg-wrap{grid-template-columns:1fr}}

.labsg-gallery-main{position:relative;border-radius:18px;overflow:hidden;background:#f3f3f3}
.labsg-gallery-stage{aspect-ratio:1/1;position:relative}
.labsg-g-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:.25s}
.labsg-g-img.is-active{opacity:1}

.labsg-g-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #ddd;font-size:28px;cursor:pointer}
.labsg-g-prev{left:12px}
.labsg-g-next{right:12px}

.labsg-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.labsg-thumb{border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer}
.labsg-thumb.is-active{border-color:#111}
.labsg-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover}

.labsg-info{position:sticky;top:90px}
@media(max-width:900px){.labsg-info{position:static}}

.labsg-cat{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid #ddd;font-weight:700;font-size:12px;margin-bottom:8px}
.labsg-price{display:flex;gap:10px;font-size:22px;font-weight:900;margin-bottom:14px}
.labsg-old{text-decoration:line-through;color:#999;font-size:16px}
.labsg-buy{display:block;width:100%;text-align:center;padding:14px;border-radius:999px;background:#111;color:#fff;font-weight:900;text-decoration:none;margin-bottom:8px}

.labsg-code{font-size:12px;color:#666;margin-bottom:16px}

.labsg-acc{border:1px solid #ddd;border-radius:14px;overflow:hidden;margin-bottom:14px}
.labsg-acc-head{width:100%;background:#fafafa;border:none;padding:14px;font-weight:900;display:flex;justify-content:space-between;cursor:pointer}
.labsg-acc-body{padding:14px;display:none;font-size:14px;line-height:1.6}
.labsg-acc.open .labsg-acc-body{display:block}

.labsg-box{border:1px solid #ddd;border-radius:14px;padding:14px}
.labsg-box h4{margin:0 0 10px;font-size:14px;font-weight:900}
.labsg-row{display:grid;grid-template-columns:120px 1fr;font-size:13px;margin-bottom:6px}

.labsg-related{max-width:1200px;margin:40px auto 0;padding:0 18px}
.labsg-related h2{font-size:26px;font-weight:900;margin-bottom:12px}
.labsg-track{display:grid;grid-auto-flow:column;grid-auto-columns:200px;gap:18px;overflow:auto}
.labsg-rel-item{text-align:center}
.labsg-rel-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px}


/* forza 3 colonne solo per questa sezione */
.labsg-categories-grid--3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
@media (max-width: 980px){
  .labsg-categories-grid--3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .labsg-categories-grid--3{ grid-template-columns: 1fr; }
}



/* 4 colonne desktop */
.labsg-categories-section{
  margin-top: 70px !important;
  margin-bottom: 70px !important;
}
.labsg-categories-grid--4{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
@media (max-width: 1100px){
  .labsg-categories-grid--4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px){
  .labsg-categories-grid--4{ grid-template-columns: 1fr; }
}



.labsg-frase-grid{ display:grid; gap:14px; max-width:900px; }
.labsg-frase-field label{ display:block; font-weight:700; margin-bottom:6px; }
.labsg-frase-field textarea{ width:100%; min-height:140px; resize:vertical; }
.labsg-frase-field input[type="text"]{ width:100%; max-width:520px; }
.labsg-frase-help{ color:#666; font-size:12px; margin-top:6px; }
.labsg-frase-tip{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:10px; padding:12px; }




/* =========================
   SEZIONE
========================= */

.labsg-quote-day {
  padding: 20px 40px;
  background: #ffffff;
  margin-bottom: 40px;
}

.labsg-quote-day__inner {
  max-width: 1200px;
  height: 850px;
  margin: 0 auto;
}

.labsg-quote-day__title {
  text-align: center;
  margin-bottom: 60px;
  font-size: 2rem;
}

/* =========================
   LAYOUT BASE
========================= */

.labsg-quote-day__layout {
  position: relative;
  margin-top:50px;
}

/* =========================
   FOTO 4:3
========================= */

.labsg-quote-day__image-wrap {
  position: relative;
  width: 75%;
  aspect-ratio: 4 / 3;   /* ✅ 4:3 corretto */
  border-radius: 28px;
  overflow: hidden;
}

.labsg-quote-day__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.labsg-quote-day__fade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center,
      rgba(255,255,255,0) 55%,
      rgba(245,246,247,0.95) 100%);
  pointer-events: none;
}

/* =========================
   CARD SOVRAPPOSTA
========================= */

/* 🔧 QUI PUOI CAMBIARE LARGHEZZA */
.labsg-quote-day__card-wrap {
  --card-width: 430px;   /* cambia questo valore quando vuoi */

  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: var(--card-width);
  z-index: 3;
}

.labsg-quote-day__card {
  background: #f2e4d3;
  color: #1c1c1c;
  border-radius: 28px;
  padding: 45px 35px;
  position: relative;
  box-shadow: 0 30px 60px rgba(0,0,0,0.2);
  transition: 0.25s ease;
}

.labsg-quote-day__text {
  font-size: 1.2rem;
  line-height: 1.6;
  margin-bottom: 20px;
  margin-top:55px;
  opacity:0.75;
  font-family:'Raleway',sans-serif;
}

.labsg-quote-day__author {
  font-size: 0.95rem;
  opacity: 0.85;
}

/* Quote decorative */
.labsg-quote-day__quote-icon {
  font-size: 4rem;
  line-height: 1;
  opacity: 0.15;
  position: absolute;
}

.labsg-quote-day__quote-icon--top {
  top: 15px;
  left: 25px;
}

.labsg-quote-day__quote-icon--bottom {
  bottom: 15px;
  right: 25px;
}


.labsg-quote-day__quote-icon {
  position: absolute;
  width: 70px;   /* 🔧 modifica se vuoi più grandi */
  opacity: 0.15;
  pointer-events: none;
}

.labsg-quote-day__quote-icon--top {
  top: 20px;
  left: 25px;
}

.labsg-quote-day__quote-icon--bottom {
  bottom: 20px;
  right: 25px;
}


/* =========================
   SHARE
========================= */

.labsg-quote-day__share {
  position: relative;
  z-index: 5;
  margin-top: 50px;
  text-align: center;
}

.labsg-quote-day__share-title {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 15px;
  letter-spacing: 0.5px;
}

/* container icone */
.labsg-quote-day__share-icons {
  display: flex;
  justify-content: center;
  gap: 15px;
}

/* base bottone */
.labsg-share-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 18px;

  transition: 0.25s ease;
  text-decoration: none;
}

/* hover animazione */
.labsg-share-btn:hover {
  transform: translateY(-4px) scale(1.08);
  text-decoration: none;
  color:#fff;
}

/* COLORI BRAND */

/* Facebook */
.labsg-share-btn--facebook {
  background: #1877f2;
}

/* WhatsApp */
.labsg-share-btn--whatsapp {
  background: #25d366;
}

/* Telegram */
.labsg-share-btn--telegram {
  background: #0088cc;
}

/* =========================
   ANIMAZIONI
========================= */

/* Stato iniziale nascosto */
.labsg-quote-day__card-wrap,
.labsg-quote-day__share {
  opacity: 0;
  transform: translateY(-50%) translateX(80px);
  transition:
    opacity 0.6s ease,
    transform 0.6s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}

/* Stato visibile */
.labsg-quote-day__card-wrap.is-visible,
.labsg-quote-day__share.is-visible {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* Stato uscita */
.labsg-quote-day__card-wrap.is-leaving,
.labsg-quote-day__share.is-leaving {
  opacity: 0;
  transform: translateY(-50%) translateX(80px);
}




/* =========================
   RESPONSIVE
========================= */

@media (max-width: 992px) {

  .labsg-quote-day__image-wrap {
    width: 100%;
  }

  .labsg-quote-day__card-wrap {
    position: relative;
    transform: none;
    margin-top: -60px;
    right: auto;
    width: 90%;
    max-width: 420px;
  }

}


/* ===========================
   LABSG - BLOG PREVIEW HOME
   Card tutte uguali
   =========================== */

.labsg-blog-preview {
  position: relative;
  padding: clamp(4rem, 8vw, 7rem) 1.5rem clamp(4.5rem, 8vw, 7rem);
  background: #f2e4d3;
  overflow: hidden;
}

.labsg-blog-preview__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}

.labsg-blog-preview__head {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.labsg-blog-preview__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
  padding: 0.45rem 1rem;
  border: 1px solid rgba(202, 168, 102, 0.42);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: #9f7b38;
  font-family: "Kanit", sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.labsg-blog-preview__title {
  margin: 0;
  color: #caa866;
  font-family: "Kanit", sans-serif;
  font-size: clamp(2.15rem, 4vw, 3.2rem);
  font-weight: 500;
  line-height: 1.05;
}

.labsg-blog-preview__subtitle {
  max-width: 560px;
  margin: 1rem auto 0;
  color: rgba(17, 17, 17, 0.62);
  font-family: "Kanit", sans-serif;
  font-size: clamp(0.98rem, 1.3vw, 1.08rem);
  font-weight: 400;
  line-height: 1.55;
}

.labsg-blog-preview__grid {
  margin-top: clamp(2.2rem, 4vw, 3.5rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

/* CARD */
.labsg-blog-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(202, 168, 102, 0.34);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 46px rgba(70, 50, 20, 0.09);
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 0.7s ease,
    transform 0.7s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.labsg-blog-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.labsg-blog-card:nth-child(2) {
  transition-delay: 0.08s;
}

.labsg-blog-card:nth-child(3) {
  transition-delay: 0.16s;
}

.labsg-blog-card:nth-child(4) {
  transition-delay: 0.24s;
}

.labsg-blog-card:hover {
  border-color: rgba(202, 168, 102, 0.68);
  box-shadow: 0 24px 62px rgba(70, 50, 20, 0.15);
  transform: translateY(-6px);
}

/* IMMAGINE */
.labsg-blog-card__media {
  position: relative;
  display: block;
  margin: 12px 12px 0;
  overflow: hidden;
  border-radius: 20px;
  background: #ead8bf;
  aspect-ratio: 4 / 3;
  text-decoration: none;
}

.labsg-blog-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform 0.55s ease;
}

.labsg-blog-card:hover .labsg-blog-card__media img {
  transform: scale(1.08);
}

.labsg-blog-card__shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, transparent 40%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.56) 0%, transparent 58%);
  opacity: 0.9;
  pointer-events: none;
}

/* BADGE SU IMMAGINE */
.labsg-blog-card__badges {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
  z-index: 2;
}

.labsg-blog-card__badge,
.labsg-blog-card__date {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0.35rem 0.72rem;
  border-radius: 999px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-family: "Kanit", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.labsg-blog-card__badge {
  max-width: 56%;
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  background: rgba(202, 168, 102, 0.9);
}

.labsg-blog-card__date {
  color: #fff;
  background: rgba(17, 17, 17, 0.42);
}

/* BODY */
.labsg-blog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.15rem 1.15rem 1.2rem;
}

.labsg-blog-card__title {
  min-height: 2.55em;
  margin: 0;
  color: #17130d;
  font-family: "Kanit", sans-serif;
  font-size: 1.18rem;
  font-weight: 600;
  line-height: 1.25;
}

.labsg-blog-card__title a {
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  transition: background-size 0.3s ease, color 0.3s ease;
}

.labsg-blog-card__title a:hover {
  color: #9f7b38;
  background-size: 100% 1px;
}

.labsg-blog-card__excerpt {
  min-height: 4.65em;
  margin: 0.85rem 0 1.15rem;
  color: rgba(17, 17, 17, 0.66);
  font-family: "Kanit", sans-serif;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.55;
}

/* CTA CARD */
.labsg-blog-card__btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  min-height: 42px;
  padding: 0 0.95rem 0 1.1rem;
  border-radius: 999px;
  background: #caa866;
  color: #fff;
  text-decoration: none;
  font-family: "Kanit", sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  box-shadow: 0 12px 24px rgba(202, 168, 102, 0.26);
  transition:
    background 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.labsg-blog-card__btn svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  transition: transform 0.3s ease;
}

.labsg-blog-card__btn:hover {
  color: #fff;
  background: #b8914e;
  box-shadow: 0 16px 28px rgba(202, 168, 102, 0.34);
  transform: translateY(-1px);
}

.labsg-blog-card__btn:hover svg {
  transform: translateX(3px);
}

/* BOTTONE TUTTI ARTICOLI */
.labsg-blog-preview__more {
  display: flex;
  justify-content: center;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.labsg-blog-preview__morebtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  min-height: 46px;
  padding: 0 1.45rem;
  border-radius: 999px;
  background: #17130d;
  color: #fff;
  text-decoration: none;
  font-family: "Kanit", sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  box-shadow: 0 16px 34px rgba(17, 17, 17, 0.16);
  transition:
    background 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.labsg-blog-preview__morebtn svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}

.labsg-blog-preview__morebtn:hover {
  color: #fff;
  background: #caa866;
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(202, 168, 102, 0.28);
}

.labsg-blog-preview__morebtn:hover svg {
  transform: translateX(3px);
}

/* TABLET */
@media (max-width: 1100px) {
  .labsg-blog-preview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .labsg-blog-card {
    min-height: 420px;
  }
}

/* MOBILE */
@media (max-width: 700px) {
  .labsg-blog-preview {
    padding: 3.5rem 1rem 4.5rem;
  }

  .labsg-blog-preview__grid {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }

  .labsg-blog-card {
    min-height: auto;
    border-radius: 24px;
  }

  .labsg-blog-card__media {
    aspect-ratio: 16 / 10;
    border-radius: 18px;
  }

  .labsg-blog-card__badges {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.45rem;
  }

  .labsg-blog-card__badge {
    max-width: 100%;
  }

  .labsg-blog-card__body {
    padding: 1rem;
  }

  .labsg-blog-card__title,
  .labsg-blog-card__excerpt {
    min-height: unset;
  }

  .labsg-blog-card__btn {
    min-height: 44px;
  }

  .labsg-blog-preview__morebtn {
    width: 100%;
    max-width: 320px;
  }
}

/* ACCESSIBILITÀ */
@media (prefers-reduced-motion: reduce) {
  .labsg-blog-card,
  .labsg-blog-card__media img,
  .labsg-blog-card__btn,
  .labsg-blog-preview__morebtn,
  .labsg-blog-card__btn svg,
  .labsg-blog-preview__morebtn svg {
    transition: none;
  }

  .labsg-blog-card {
    opacity: 1;
    transform: none;
  }
}



/* ===========================
   FOOTER – SHOP STYLE
   =========================== */

   .labsg-footer{
    background:#f2e4d3;
    padding:4rem 1.5rem 2rem;
    font-family:"Kanit", sans-serif;
  }
  
  /* TOP GRID */
  .labsg-footer__grid{
    max-width:1400px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:4rem;
  }
  
  .labsg-footer__heading{
    text-transform:uppercase;
    font-family: "Kanit", sans-serif;
    font-size:1.0rem;
    letter-spacing:0.12em;
    margin-bottom:0.5rem;
    color:#111;
  }
  
  .labsg-footer__col ul{
    list-style:none;
    font-family: "Kanit", sans-serif;
    margin:0;
    padding:0;
  }
  
  .labsg-footer__col li{
    margin-bottom:0.4rem;
    font-family: "Kanit", sans-serif;
  }
  
  .labsg-footer__col a{
    text-decoration:none;
    font-size:0.9rem;
    font-family: "Kanit", sans-serif;
    color:#6b6b6b;
  }
  
  .labsg-footer__col a:hover{
    color:#111;
    font-family: "Kanit", sans-serif;
  }
  
  /* BOTTOM BAR */
  .labsg-footer__bottom{
    margin-top:4rem;
  }
  
  .labsg-footer__bottom-inner{
    max-width:1400px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:2rem;
  }
  
  /* SOCIAL */
  .labsg-footer__social{
    display:flex;
    gap:1.2rem;
  }
  
  .labsg-footer__social a{
    color:#6b6b6b;
    font-size:0.9rem;
    text-decoration:none;
  }
  
  /* META */
  .labsg-footer__meta{
    text-align:center;
    font-size:0.85rem;
    color:#6b6b6b;
    display:flex;
    gap:1.2rem;
    justify-content:center;
  }
  
  /* PAYMENTS */
  .labsg-footer__payments{
    display:flex;
    gap:0.6rem;
    flex-wrap:wrap;
    justify-content:flex-end;
    font-size:0.75rem;
  }
  
  .labsg-footer__payments span{
    background:#fff;
    border-radius:6px;
    padding:0.35rem 0.6rem;
  }
  
  .labsg-footer__bank{
    font-weight:500;
  }

  .labsg-footer__social-link img{
    width:18px;
    height:18px;
    object-fit:contain;
    opacity:.7;
  }
  
  .labsg-footer__social-link img:hover{
    opacity:1;
  }
  
  .labsg-footer__payment img{
    height:26px;
    width:auto;
    display:block;
  }

  /* SOCIAL FONT AWESOME */
.labsg-footer__social{
  display:flex;
  gap:1.2rem;
}

.labsg-footer__social a{
  color:#6b6b6b;
  font-size:0.9rem;
  transition:color .2s ease, transform .2s ease;
}

.labsg-footer__social a:hover{
  color:#111;
  transform:translateY(-1px);
}

/* PAYMENTS */
.labsg-footer__payment img{
  height:26px;
  width:auto;
  display:block;
}

  
  /* RESPONSIVE */
  @media(max-width:900px){
    .labsg-footer__grid{
      grid-template-columns:1fr 1fr;
      gap:2rem;
    }
  
    .labsg-footer__bottom-inner{
      grid-template-columns:1fr;
      text-align:center;
    }
  
    .labsg-footer__social,
    .labsg-footer__payments{
      justify-content:center;
    }
  }
  
  @media(max-width:520px){
    .labsg-footer__grid{
      grid-template-columns:1fr;
    }
  }
  


  /* =============================================================================== 
   SEZIONE FAQ (LABSG) — pagina FAQ template (labsgfaq-*)
================================================================================ */

/* wrapper sezione */
.labsgfaq{
  background: #ffffff;
  padding: 0 0 48px;
  font-family: "Kanit", sans-serif;
  box-sizing: border-box;
}

/* container coerente con stile */
.labsgfaq-container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 12px;
  box-sizing: border-box;
}

/* ===== HERO TOP (ricerca + suggerimenti) ===== */
.labsgfaq-hero{
  padding: 28px 0 18px;
}

.labsgfaq-search{
  display:flex;
  align-items:center;
  gap: 10px;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  background: #caa96642;
  border: 2px solid #caa966;
  border-radius: 14px;
  padding: 10px 10px;
  box-shadow: 0 10px 30px rgba(16,30,66,0.10);
}

.labsgfaq-search-input{
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  color: #111;
  font-size: 1rem;
  padding: 10px 12px;
}

.labsgfaq-search-input::placeholder{
  color: #caa866;
  font-weight: 600;
}

.labsgfaq-search-btn{
  border: 0;
  cursor: pointer;
  width: 44px;
  height: 44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
  background: #caa866;
  color: #fff;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
  box-shadow: 0 8px 22px rgba(16,30,66,0.08);
}
.labsgfaq-search-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(16,30,66,0.12);
}
.labsgfaq-search-btn svg{display:block}

/* suggerimenti pill */
.labsgfaq-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
  margin-top: 14px;
}

.labsgfaq-suggestion{
  border: 0;
  background: #caa866;
  border: 2px solid #caa866;
  color: #fff;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
}
.labsgfaq-suggestion:hover{
  transform: translateY(-2px);
  border: 0;
  background: #fff;
  border: 2px solid #caa866;
  color: #caa866;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
}

/* ===== FILTRI CATEGORIE ===== */
.labsgfaq-filters-wrap{
  padding: 18px 0 10px;
}

.labsgfaq-hero-category{
  margin: 0 0 12px;
  font-size: clamp(22px, 3.2vw, 30px);
  font-weight: 800;
  line-height: 1.05;
  font-family: "Space Grotesk", sans-serif;
  color: #caa866;
  text-align: center;
}

.labsgfaq-filters{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
}

.labsgfaq-filter{
  border: 0;
  background: #caa866;
  border: 2px solid #caa866;
  color: #fff;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;

}
.labsgfaq-filter:hover{
  transform: translateY(-2px);
  border: 0;
  background: #caa866;
  border: 2px solid #caa866;
  color: #fff;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 700;
}
.labsgfaq-filter.active{
  background: #caa866;
  border-color: transparent;
  color: #fff;
}

/* ===== GRIGLIA FAQ (2 colonne desktop) ===== */
.labsgfaq-toggle-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 14px;
  padding-top: 10px;
}

/* item */
.labsgfaq-item{
  background: transparent;
}

/* toggle */
.labsgfaq-toggle{
  width: 100%;
  text-align: left;
  border: 0;
  background: #caa866;
  padding: 14px 16px;
  border-radius: 12px;
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  box-shadow: 0 6px 18px rgba(16,30,66,0.04);
  font-weight: 700;
  color: #fff;
  transition: transform .12s ease, box-shadow .12s ease;
}

.labsgfaq-toggle:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(16,30,66,0.10);
}

.labsgfaq-q{
  flex: 1;
  text-align:left;
}

/* marker "+" (stile del tuo vecchio .faq-marker) */
.labsgfaq-icon{
  display:inline-grid;
  place-items:center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #004d96;
  color: #fff;
  font-weight: 800;
  transition: transform .18s ease;
}

.labsgfaq-toggle.open .labsgfaq-icon{
  transform: rotate(45deg);
}

/* panel (hidden by default) */
.labsgfaq-panel{
  max-height: 0;
  overflow: hidden;
  transition: max-height .28s ease;
}

.labsgfaq-panel-inner{
  margin-top: 6px;
  padding: 10px 16px 16px 16px;
  background: rgba(240, 246, 255, 0.132);
  border-radius: 12px;
  color: #fff;
  font-size: 0.97rem;
  line-height: 1.5;
}

/* ===== PAGINAZIONE client-side ===== */
.labsgfaq-pagination{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content:center;
  margin-top: 18px;
}

.labsgfaq-pagination button{
  border: 0;
  cursor: pointer;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.14);
  color: #fff;
  font-weight: 800;
  transition: transform .12s ease, background-color .12s ease, border-color .12s ease;
}
.labsgfaq-pagination button:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.22);
}
.labsgfaq-pagination button.is-active{
  background: #caa866;
  border-color: transparent;
  color: #fff;
}

/* empty */
.labsgfaq-empty{
  color:#fff;
  opacity:.85;
  text-align:center;
  margin: 20px 0 0;
}

/* ===== responsive ===== */
@media (max-width: 992px){
  .labsgfaq-toggle-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .labsgfaq-search{
    max-width: 100%;
  }

  .labsgfaq-hero-category{
    margin: 0 0 10px;
  }

  .labsgfaq-toggle{
    font-size: 0.98rem;
    padding: 12px 14px;
  }
}






/* ================= */
/* ================= */
/* ANIMAZIONI CARD CATEORIE
/* ================= */

/* Stato iniziale */
.labsg-category-card {
  opacity: 0;
  transform: scale(0.85);
  transition:
    transform 0.7s cubic-bezier(.22,.61,.36,1),
    opacity 0.6s ease;
  will-change: transform, opacity;
}

.labsg-category-card.is-visible {
  opacity: 1;
  transform: scale(1);
}



/* =============== */
/* ANIMAZIONE BLOG
/* =============== */

/* stato iniziale */
.labsg-blog-card {
  opacity: 0;
  filter: blur(8px);
  transition:
    transform 1s cubic-bezier(.22,.61,.36,1),
    opacity .8s ease,
    filter .8s ease;
  will-change: transform, opacity, filter;
}

/* da sinistra */
.labsg-blog-card--left {
  transform: translateX(-120px);
}

/* da destra */
.labsg-blog-card--right {
  transform: translateX(120px);
}

/* quando visibile */
.labsg-blog-card.is-visible {
  opacity: 1;
  transform: translateX(0);
  filter: blur(0);
}

.labsg-blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.labsg-blog-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;        /* ⚡ questo è il punto giusto */
}

.labsg-blog-card__btn {
  margin-top: auto;
}

.labsg-blog-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}



/* =============================================================================== 
   LABSG - HERO SLIDER / QUALITÀ NEGOZIO
================================================================================ */

.labsg-hero {
  position: relative;
  overflow: hidden;
  background: #12100d;
  isolation: isolate;
  min-height: calc(100vh - 82px);
}

/* SLIDER */
.labsg-slider {
  display: flex;
  height: calc(100vh - 82px);
  min-height: 680px;
  transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.labsg-slide {
  position: relative;
  min-width: 100%;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(2rem, 5vw, 5rem) 1.5rem;
  overflow: hidden;
}

.labsg-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, 0.08), transparent 38%),
    linear-gradient(120deg, rgba(10, 8, 6, 0.46) 0%, rgba(10, 8, 6, 0.22) 48%, rgba(10, 8, 6, 0.42) 100%);
  z-index: 1;
}

.labsg-slide__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.32)),
    rgba(0, 0, 0, 0.06);
  z-index: 2;
}

.labsg-slide__glow {
  position: absolute;
  width: 34rem;
  height: 34rem;
  left: 50%;
  bottom: -18rem;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(202, 168, 102, 0.35), transparent 68%);
  filter: blur(8px);
  z-index: 3;
  pointer-events: none;
}

/* CONTENT */
.labsg-content {
  position: relative;
  z-index: 4;
  width: min(100%, 780px);
  margin-inline: auto;
  padding: clamp(1.8rem, 4vw, 3.2rem);
  text-align: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 34px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.045));
  backdrop-filter: blur(8px);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
}

.labsg-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: rgba(202, 168, 102, 0.16);
  border: 1px solid rgba(202, 168, 102, 0.38);
  color: #ead29a;
  font-family: "Raleway", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.labsg-eyebrow::before,
.labsg-eyebrow::after {
  content: "";
  width: 22px;
  height: 1px;
  background: rgba(202, 168, 102, 0.7);
}

.labsg-content h1 {
  margin: 0 0 1rem;
  color: #caa866;
  font-family: "Kanit", sans-serif;
  font-size: clamp(2.45rem, 5vw, 5rem);
  line-height: 0.98;
  font-weight: 500;
  letter-spacing: -0.045em;
  text-align: center;
}

.labsg-content p {
  width: min(100%, 620px);
  margin: 0 auto 1.8rem;
  color: rgba(255, 255, 255, 0.88);
  font-family: "Raleway", sans-serif !important;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.75;
}

/* CTA */
.labsg-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.9rem;
  flex-wrap: wrap;
}

.labsg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.9rem 1.55rem;
  border-radius: 999px;
  text-decoration: none;
  font-family: "Raleway", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}

.labsg-btn--primary {
  background: #caa866;
  color: #fff;
  border: 1px solid rgba(202, 168, 102, 0.85);
  box-shadow: 0 16px 34px rgba(202, 168, 102, 0.24);
}

.labsg-btn--primary:hover {
  color: #fff;
  background: #b8934d;
  border-color: #b8934d;
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(0, 0, 0, 0.35);
}

.labsg-btn--ghost {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.28);
}

.labsg-btn--ghost:hover {
  color: #1c1c1c;
  background: #fff;
  border-color: #fff;
  transform: translateY(-2px);
}

/* FRECCE */
.labsg-arrows {
  position: absolute;
  inset: 0;
  height: calc(100vh - 82px);
  min-height: 680px;
  pointer-events: none;
  z-index: 7;
}

.labsg-arrow {
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
  cursor: pointer;
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  transform: translateY(-50%);
  backdrop-filter: blur(8px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.25);
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease,
    color 0.25s ease;
}

.labsg-arrow:hover {
  background: #caa866;
  border-color: #caa866;
  color: #fff;
}

.labsg-prev {
  left: clamp(1rem, 3vw, 2.5rem);
}

.labsg-next {
  right: clamp(1rem, 3vw, 2.5rem);
}

/* DOTS */
.labsg-dots {
  position: absolute;
  left: 50%;
  bottom: clamp(8.5rem, 15vw, 10.5rem);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.65rem;
  z-index: 8;
}

.labsg-dots {
  position: absolute;
  left: 50%;
  bottom: clamp(10rem, 16vw, 11.8rem);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0.65rem;
  z-index: 8;
}

.labsg-dot.active {
  width: 58px;
  background: #caa866;
}

/* TRUST BAR */
.labsg-trust {
  position: absolute;
  left: 50%;
  bottom: clamp(2rem, 4vw, 3.2rem);
  transform: translateX(-50%);
  z-index: 10;
  width: min(1180px, calc(100% - 2rem));
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.labsg-trust-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 122px;
  padding: 1.25rem;
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(249, 244, 234, 0.98));
  border: 1px solid rgba(202, 168, 102, 0.22);
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.13);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.labsg-trust-item:hover {
  transform: translateY(-4px);
  border-color: rgba(202, 168, 102, 0.48);
  box-shadow: 0 28px 65px rgba(0, 0, 0, 0.17);
}

.labsg-trust-icon {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(202, 168, 102, 0.14);
  color: #caa866;
}

.labsg-trust-item i {
  font-size: 24px;
  color: inherit;
  margin: 0;
}

.labsg-trust-item h4 {
  margin: 0 0 0.25rem;
  color: #1c1c1c;
  font-family: "Kanit", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.15;
}

.labsg-trust-item p {
  margin: 0;
  color: #706a60;
  font-family: "Raleway", sans-serif;
  font-size: 0.92rem;
  line-height: 1.55;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .labsg-content {
    width: min(100%, 680px);
  }

  .labsg-trust {
    grid-template-columns: 1fr;
    margin-top: -62px;
  }

  .labsg-trust-item {
    min-height: auto;
  }
}

@media (max-width: 768px) {
  .labsg-slider,
  .labsg-arrows {
    height: 640px;
  }

  .labsg-slide {
    align-items: center;
    padding: 2rem 1rem 7rem;
  }

  .labsg-content {
    padding: 1.5rem;
    border-radius: 26px;
  }

  .labsg-content h1 {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
  }

  .labsg-content p {
    font-size: 0.98rem;
    line-height: 1.65;
  }

  .labsg-eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.08em;
  }

  .labsg-eyebrow::before,
  .labsg-eyebrow::after {
    width: 14px;
  }

  .labsg-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .labsg-btn {
    width: 100%;
  }

  .labsg-arrow {
    width: 42px;
    height: 42px;
    font-size: 18px;
  }

  .labsg-prev {
    left: 0.75rem;
  }

  .labsg-next {
    right: 0.75rem;
  }

  .labsg-dots {
    bottom: 7rem;
  }

  .labsg-dot {
    width: 26px;
  }

  .labsg-dot.active {
    width: 42px;
  }

  .labsg-trust {
    width: min(100% - 1.5rem, 520px);
    margin-top: -56px;
  }

  .labsg-trust-item {
    padding: 1rem;
    border-radius: 22px;
  }

  .labsg-trust-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .labsg-trust-item h4 {
    font-size: 1.08rem;
  }

  .labsg-trust-item p {
    font-size: 0.86rem;
  }
}

@media (max-width: 480px) {
  .labsg-slider,
  .labsg-arrows {
    height: 610px;
  }

  .labsg-content {
    padding: 1.25rem;
  }

  .labsg-trust-item {
    align-items: flex-start;
  }
}

/* ACCESSIBILITÀ */
@media (prefers-reduced-motion: reduce) {
  .labsg-slider,
  .labsg-btn,
  .labsg-arrow,
  .labsg-dot,
  .labsg-trust-item {
    transition: none;
  }
}





/* ================================= */
/* FIX WOOCOMMERCE HOMEPAGE */
/* ================================= */

.labsg-track.products{
list-style:none !important;
padding-left:0 !important;
}

.labsg-track.products li{
list-style:none !important;
}

.labsg-track.products li::before{
display:none !important;
content:none !important;
}

/* DESKTOP = 4 */
.labsg-track .product{
flex:0 0 calc((100% - 60px) / 4) !important;
max-width:calc((100% - 60px) / 4) !important;
margin:0 !important;
}

/* TABLET = 2 */
@media(max-width:1024px){
.labsg-track .product{
flex:0 0 calc((100% - 20px) / 2) !important;
max-width:calc((100% - 20px) / 2) !important;
}
}

/* MOBILE = 1 */
@media(max-width:600px){
.labsg-track .product{
flex:0 0 100% !important;
max-width:100% !important;
}
}


/* RESET GRID WOOCOMMERCE SOLO NELLO SLIDER */
.labsg-track.products{
display:flex !important;
flex-wrap:nowrap !important;
gap:20px;
overflow:hidden;
list-style:none;
padding:0;
margin:0;
}

.labsg-track.products li.product{
float:none !important;
clear:none !important;
width:auto !important;
margin:0 !important;
}

/* 4 PRODOTTI PER SLIDE */
.labsg-track.products li.product{
flex:0 0 calc((100% - 60px)/4) !important;
max-width:calc((100% - 60px)/4) !important;
}

/* TABLET = 2 */
@media(max-width:1024px){
.labsg-track.products li.product{
flex:0 0 calc((100% - 20px)/2) !important;
max-width:calc((100% - 20px)/2) !important;
}
}

/* MOBILE = 1 */
@media(max-width:600px){
.labsg-track.products li.product{
flex:0 0 100% !important;
max-width:100% !important;
}
}



/* =================================== */
/* CSS CARD PRODOTTO HOMEPAGE SLIDER */
/* =================================== */

/* CARD */
.labsg-featured ul.products li.product{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
height:100%;
margin:0 !important;
}

/* LINK INTERNO */
.labsg-featured ul.products li.product a.woocommerce-LoopProduct-link{
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
width:100%;
text-align:center;
}

/* IMMAGINE */
.labsg-featured ul.products li.product img{
width:95%;
height: auto;
aspect-ratio:1/1;
object-fit:cover;
object-position:center;
border-radius:16px;
margin-bottom:20px;
display:block;
transition:none;
}

/* TITOLO */
.labsg-featured .woocommerce-loop-product__title{
display:-webkit-box;
-webkit-line-clamp:3;
-webkit-box-orient:vertical;
overflow:hidden;
text-overflow:ellipsis;
line-height:1.4;
min-height:calc(1.4em * 3);
max-height:calc(1.4em * 3);

font-family:"Cormorant Garamond", serif;
font-size:22px;
font-weight:700;
color:#1c1c1c;
letter-spacing:.2px;
text-align:center;
margin-bottom:5px;
}

/* PREZZO */
.labsg-featured ul.products li.product .price{
font-family:"Montserrat", sans-serif;
margin-top:6px;
margin-bottom:5px;
font-size:20px;
font-weight:600;
color:#1c1c1c;
text-align:center;
}

/* SCONTO */
.labsg-featured ul.products li.product .price del{
color:#b9a999;
opacity:.7;
}

.labsg-featured ul.products li.product .price ins{
text-decoration:none;
color:#8b6b4a;
}

/* NASCONDO BOTTONE */
.labsg-featured ul.products li.product .button{
display:none !important;
}


/* =================================== */
/* FRECCE SLIDER */
/* =================================== */

.labsg-featured-shell{
position:relative;
height: 100%;
}

.labsg-nav-e{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:5;
width:44px;
height:44px;
display:flex;
align-items:center;
justify-content:center;
border:none;
cursor:pointer;
color:#1c1c1c;
font-size:50px;
line-height:1;
transition:none;
background-color: #004d9600;
}

.labsg-nav-e:hover{
position:absolute;
top:50%;
transform:translateY(-50%);
z-index:5;
width:44px;
height:44px;
display:flex;
align-items:center;
justify-content:center;
border:none;
cursor:pointer;
color:#1c1c1c;
font-size:50px;
line-height:1;
transition:none;
background-color: #004d9600;
}

/* POSIZIONE */
.labsg-nav-prev-e{
left:22px;
}

.labsg-nav-next-e{
right:22px;
}

/* MOBILE */
@media(max-width:768px){

.labsg-nav-prev-e{
left:5px;
}

.labsg-nav-next-e{
right:5px;
}

}


/* =================================== */
/* RESET HOVER COMPLETO CARD PRODOTTI */
/* =================================== */

/* LINK */
.labsg-featured ul.products li.product a,
.labsg-featured ul.products li.product a:hover,
.labsg-featured ul.products li.product a:focus{
color:inherit !important;
text-decoration:none !important;
box-shadow:none !important;
}

/* IMMAGINE */
.labsg-featured ul.products li.product:hover img{
transform:none !important;
filter:none !important;
opacity:1 !important;
}

/* TITOLO */
.labsg-featured ul.products li.product:hover .woocommerce-loop-product__title{
color:#5c4430 !important;
}

/* PREZZO */
.labsg-featured ul.products li.product:hover .price{
color:#1c1c1c !important;
}

/* SALE BADGE */
.labsg-featured ul.products li.product:hover .onsale{
transform:none !important;
filter:none !important;
}

/* CARD */
.labsg-featured ul.products li.product:hover{
box-shadow:none !important;
transform:none !important;
}

/* EVENTUALI TRANSITION */
.labsg-featured ul.products li.product *,
.labsg-featured ul.products li.product *:hover{
transition:none !important;
animation:none !important;
}


.labsg-nav-e:hover{
color:#5c4430 !important;
transform:translateY(-50%) !important;
}

.labsg-nav-e:active{
transform:translateY(-50%) !important;

}

/* =================================== */
/* HOVER SOLO IMMAGINE */
/* =================================== */

/* transizione SOLO sull'immagine */
.labsg-featured ul.products li.product img{
transition:transform .35s ease !important;
}

/* zoom immagine */
.labsg-featured ul.products li.product:hover img{
transform:scale(1.05) !important;
border-radius:16px !important;
}

.labsg-featured ul.products li.product a.woocommerce-LoopProduct-link{
overflow:hidden;
}

/* CONTENITORE IMMAGINE */
.labsg-featured ul.products li.product a.woocommerce-LoopProduct-link{
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
width:100%;
text-align:center;

border-radius:16px;   /* ← spostato qui */
overflow:hidden;      /* ← taglia lo zoom */
}







/* ====================================== */
.labsg-blog-archive-b{
padding:4.5rem 1.5rem 5rem;
max-width:1200px;
margin:0 auto;
background:#fff;
}

.labsg-blog-search-b{
max-width:500px;
margin:0 auto 30px;
position:relative;
}

#labsgBlogSearch-b{
width:100%;
padding:12px 20px;
}

#labsgBlogSuggestions-b{
position:absolute;
background:#fff;
width:100%;
top:110%;
left:0;
z-index:99;
box-shadow:0 4px 10px rgba(0,0,0,0.08);
display:none;
}

.labsg-blog-grid-b{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
margin-top:40px;
justify-items:center;
}

.labsg-blog-card-b{
width:100%;
max-width:280px;
background:#f2e4d3;
border-radius:25px;
overflow:hidden;
border:2px solid #caa866;
opacity:0;
transform:translateY(20px);
transition:.6s ease;
}

.labsg-blog-card-b.is-visible{
opacity:1;
transform:translateY(0);
}

.labsg-blog-card__img-b{
display:block;
padding:14px 14px 0;
}

.labsg-blog-card__img-b img{
width:100%;
height:160px;
object-fit:cover;
border-radius:14px;
}

.labsg-blog-card__body-b{
padding:14px 16px 16px;
text-align:center;
}

.labsg-blog-card__h-b{
font-family:"Kanit",sans-serif;
font-weight:600;
font-size:20px;
color:#111;
margin-bottom:5px;
}

.labsg-blog-card__h-b a{
text-decoration:none;
color:inherit;
}

.labsg-blog-card__cat-b{
font-size:14px;
font-weight:600;
color:rgba(17,17,17,.55);
margin-bottom:10px;
}

.labsg-blog-card__ex-b{
font-size:13px;
line-height:1.35;
color:#1c1c1c;
margin-bottom:14px;
}

.labsg-blog-card__btn-b{
display:flex;
align-items:center;
justify-content:center;
height:34px;
border-radius:999px;
background:#caa866;
color:#fff;
text-decoration:none;
font-family:"Kanit",sans-serif;
font-size:.85rem;
}

.labsg-blog-pagination-b{
display:flex;
justify-content:center;
margin-top:40px;
}

@media(max-width:1100px){
.labsg-blog-grid-b{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:600px){
.labsg-blog-grid-b{
grid-template-columns:1fr;
}
}











/* =========================
   SUGGERIMENTI PILL
========================= */

.labsgfaq-suggestions-b{
display:flex;
flex-wrap:wrap;
gap:10px;
justify-content:center;
margin-top:16px;
}

.labsgfaq-suggestion-b{
padding:8px 18px;
border-radius:999px;
background:#f2e4d3;
border:2px solid #caa866;
font-family:"Kanit",sans-serif;
font-size:14px;
cursor:pointer;
transition:all .25s ease;
}

.labsgfaq-suggestion-b:hover{
background:#caa866;
color:#fff;
}


/* =========================
   SUGGERIMENTI LIVE
========================= */

.labsg-blog-search-b{
position:relative;
max-width:600px;
margin:20px auto 40px;
}

#labsgBlogSuggestions-b{
position:absolute;
top:115%;
left:0;
width:100%;
background:#fff;
border-radius:25px;
border: solid 2px #f2e4d3;
box-shadow:0 8px 22px rgba(0,0,0,0.08);
z-index:10;
overflow:hidden;
display:none;
opacity: 1;
}

.labsg-blog-sug-b{
display:block;
padding:12px 18px;
font-family:"Kanit",sans-serif;
text-decoration:none;
color:#1c1c1c;
transition:background .2s ease;
}

.labsg-blog-sug-b:hover{
background:#f2e4d3;
text-decoration: none;
color: #1c1c1c;
}

.labsg-blog-card-b{
display:flex;
flex-direction:column;
height:100%;
min-height:100%;
}

.labsg-blog-card__body-b{
display:flex;
flex-direction:column;
flex:1;
padding:14px 16px 16px;
text-align:center;
}

.labsg-blog-card__ex-b{
flex-grow:0;
}

.labsg-blog-card__btn-b{
margin-top:auto;
display:inline-flex;
align-items:center;
justify-content:center;
width:100%;
height:36px;
border-radius:999px;
background:#caa866;
color:#fff;
text-decoration:none;
font-family:"Kanit",sans-serif;
font-weight:500;
font-size:0.85rem;
}

.labsg-blog-grid-b{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
align-items:stretch;
margin-top: 90px !important;
}




/* ================================================ */
/* CSS PER PAGINA DOWNLOAD */

/* ================= DOWNLOAD ================= */

.labsg-downloads-section{
  /* margin-top: 65px; */
  padding:60px 20x !important;
  margin-top: 65px; 
}

.labsg-downloads-inner{
max-width:100%;
margin:auto;
}

.labsg-downloads-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

/* CARD */

.labsg-download-card{
background:#fff;
border-radius:20px;
overflow:hidden;
display:flex;
flex-direction:column;
border:2px solid #f2e4d3;
}

.labsg-download-thumb{
height:180px;
overflow:hidden;
}

.labsg-download-thumb img{
width:100%;
height:100%;
object-fit:cover;
}

/* BODY */

.labsg-download-body{
padding:16px;
display:flex;
flex-direction:column;
flex:1;
}

.labsg-download-title{
font-family:"Kanit",sans-serif;
font-weight:600;
text-align:center;
margin-bottom:10px;
}

/* BUTTON SEMPRE IN BASSO */

.labsg-download-actions{
margin-top:auto;
}

.labsg-download-btn{
display:block;
text-align:center;
padding:10px;
border-radius:999px;
background:#caa866;
color:#fff;
text-decoration:none;
font-weight:600;
}

/* RESPONSIVE */

@media(max-width:1024px){
.labsg-downloads-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:600px){
.labsg-downloads-grid{
grid-template-columns:1fr;
}
}




/* ===========================
==============================
=========================== */

/* ==========================
   STICKY FOOTER (footer sempre in basso)
========================== */
html, body{
  overflow-x: hidden;
}

    /* ===== PAGE + SINGLE BASE (LabSG) ===== */

.labsg-single__container-b{
  max-width:1400px;
  margin:0 auto;
  padding:60px 20px;
}

/* Titolo (mancava nel tuo CSS) */
.labsg-title{
    font-size: 40px;
    text-align: center;
    color: #caa866;
    font-weight: 500;
    font-family: "Kanit", sans-serif;
    margin-bottom: 35px;
}


.labsg-single__content-b{
  font-size:16px;
  line-height:1.7;
  color:#1c1c1c;
}

/* ===== HERO immagine in alto (featured) ===== */
.labsg-page-hero{
  padding: 0;
  margin: 0;
}

.labsg-page-hero__container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 16px 0;
}

.labsg-page-hero__img{
  border-radius: 22px;
  overflow: hidden;
}

.labsg-page-hero__img-el{
  width: 100%;
  height: auto;
  display: block;
}

/* Se vuoi che l’immagine abbia un look più “banner” */
@media (min-width: 768px){
  .labsg-page-hero__img-el{
    max-height: 360px;
    object-fit: cover;
  }
}

/* Evita qualsiasi sforamento orizzontale */
.labsg-page-hero,
.labsg-page-hero__container,
.labsg-single-b,
.labsg-single__container-b{
  max-width: 100%;
  box-sizing: border-box;
}

/* Se qualche child supera, lo tagli dentro il container (safe) */
.labsg-single__container-b,
.labsg-page-hero__container{
  overflow-x: clip; /* meglio di hidden; fallback ok */
}

/* Immagini/iframe dentro il contenuto: mai oltre 100% */
.labsg-single__content-b img,
.labsg-single__content-b iframe,
.labsg-single__content-b video,
.labsg-single__content-b table{
  max-width: 100%;
}




/* Sezione può essere full width */
.labsg-quote-day{
  width:100%;
  overflow-x:hidden;
}

/* Contenitore centrale (limita la larghezza) */
.labsg-quote-day__inner{
  max-width:1200px;   /* scegli tu: 1100 / 1200 / 1300 */
  margin:0 auto;
  padding:0 20px;
}

/* Layout a due colonne resta dentro */
.labsg-quote-day__layout{
  width:100%;
}






/* =========================
   RESPONSIVE (Tablet + Mobile)
========================= */

/* Tablet */
@media (max-width: 992px){

  .labsg-quote-day{
    padding: 18px 18px;
  }

  .labsg-quote-day__inner{
    max-width: 100%;
    height: auto;            /* ✅ togli altezza fissa */
  }

  .labsg-quote-day__title{
    margin-bottom: 28px;
    font-size: 1.8rem;
  }

  .labsg-quote-day__layout{
    margin-top: 20px;
  }

  /* immagine full */
  .labsg-quote-day__image-wrap{
    width: 100%;
    border-radius: 22px;
  }

  /* card diventa "sotto" con overlap leggero */
  .labsg-quote-day__card-wrap{
    position: relative;
    top: auto;
    right: auto;
    width: min(520px, 92%);
    margin: -70px auto 0;   /* overlap */
    transform: none;        /* ✅ fondamentale */
  }

  .labsg-quote-day__card{
    padding: 38px 28px;
    border-radius: 22px;
  }

  .labsg-quote-day__text{
    font-size: 1.05rem;
    margin-top: 48px;
  }

  .labsg-quote-day__quote-icon{
    width: 58px;
  }

  /* share */
  .labsg-quote-day__share{
    margin-top: 28px;
  }

  /* ✅ Fix animazioni su tablet/mobile:
     togli translateY(-50%) che nasce per il posizionamento absolute */
  .labsg-quote-day__card-wrap,
  .labsg-quote-day__share{
    transform: translateX(40px);
  }

  .labsg-quote-day__card-wrap.is-visible,
  .labsg-quote-day__share.is-visible{
    transform: translateX(0);
  }

  .labsg-quote-day__card-wrap.is-leaving,
  .labsg-quote-day__share.is-leaving{
    transform: translateX(40px);
  }
}

/* Mobile */
@media (max-width: 576px){

  .labsg-quote-day{
    padding: 16px 12px;
    margin-bottom: 28px;
  }

  .labsg-quote-day__title{
    font-size: 1.5rem;
    margin-bottom: 20px;
  }

  .labsg-quote-day__image-wrap{
    border-radius: 18px;
    aspect-ratio: 4 / 3; /* ok, ma se vuoi più “verticale” metti 1/1 */
  }

  .labsg-quote-day__card-wrap{
    width: 100%;
    margin: -55px auto 0;
  }

  .labsg-quote-day__card{
    padding: 32px 22px;
    border-radius: 18px;
    box-shadow: 0 22px 45px rgba(0,0,0,0.18);
  }

  .labsg-quote-day__text{
    font-size: 1rem;
    line-height: 1.55;
    margin-top: 44px;
  }

  .labsg-quote-day__author{
    font-size: 0.9rem;
  }

  .labsg-quote-day__quote-icon{
    width: 50px;
  }

  /* icone share più piccole */
  .labsg-share-btn{
    width: 40px;
    height: 40px;
    font-size: 16px;
  }

  .labsg-quote-day__share-icons{
    gap: 12px;
  }
}

/* Extra small */
@media (max-width: 380px){
  .labsg-quote-day__text{
    font-size: 0.95rem;
  }
  .labsg-quote-day__card{
    padding: 28px 18px;
  }
}


















/* ---------------------------------------------------------------------------------------------------------------------- */
/* LABSG - MOMENTI SPECIALI / SACRAMENTI */
/* ---------------------------------------------------------------------------------------------------------------------- */

.labsg-moments-section {
  position: relative;
  margin: clamp(2.8rem, 5vw, 4.2rem) 0;
  padding: clamp(3.2rem, 5.5vw, 5rem) 1.5rem clamp(3.5rem, 5.8vw, 5.4rem);
  margin-top: 0px !important;
  background:
    radial-gradient(circle at top left, rgba(202, 168, 102, 0.22), transparent 30rem),
    linear-gradient(135deg, #f6ebdc 0%, #f2e4d3 48%, #efe0cd 100%);
  overflow: hidden;
}

.labsg-moments-section__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}

/* HEADER */
.labsg-moments-head {
  max-width: 720px;
  margin: 0 auto clamp(1.5rem, 2.8vw, 2.15rem);
  text-align: center;
}

.labsg-moments-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
  padding: 0.32rem 0.85rem;
  border: 1px solid rgba(202, 168, 102, 0.42);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  color: #9f7b38;
  font-family: "Kanit", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.labsg-moments-title {
  margin: 0;
  color: #caa866;
  font-family: "Kanit", sans-serif;
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 600;
  line-height: 1;
}

.labsg-moments-subtitle {
  max-width: 590px;
  margin: 0.65rem auto 0;
  color: rgba(17, 17, 17, 0.62);
  font-family: "Kanit", sans-serif;
  font-size: clamp(0.92rem, 1.15vw, 1rem);
  font-weight: 500;
  line-height: 1.45;
}

/* GRID */
.labsg-categories-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}

.labsg-categories-grid--3 {
  max-width: 1200px;
  margin: 0 auto;
}

/* CARD */
.labsg-category-card {
  position: relative;
  min-height: clamp(330px, 34vw, 430px);
  border-radius: 34px;
  overflow: hidden;
  isolation: isolate;
  background: #dac4a9;
  box-shadow: 0 22px 58px rgba(70, 50, 20, 0.15);
  transform: translateY(0);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.labsg-category-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: inherit;
  pointer-events: none;
}

.labsg-category-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 72px rgba(70, 50, 20, 0.22);
}

.labsg-category-link {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: inherit;
  height: 100%;
  color: #fff;
  font-family:"Kanit",sans-serif;
  text-decoration: none;
  overflow: hidden;
}

.labsg-category-link:hover {
  color: #fff;
  text-decoration: none;
}

/* BACKGROUND */
.labsg-category-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: var(--labsg-cat-bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition:
    transform 0.7s ease,
    filter 0.7s ease;
}

.labsg-category-card:hover .labsg-category-bg {
  transform: scale(1.12);
  filter: saturate(1.08) contrast(1.04);
}

/* OVERLAY */
.labsg-category-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(
      180deg,
      rgba(17, 17, 17, 0.00) 0%,
      rgba(17, 17, 17, 0.06) 32%,
      rgba(17, 17, 17, 0.42) 66%,
      rgba(17, 17, 17, 0.9) 100%
    ),
    linear-gradient(
      135deg,
      rgba(202, 168, 102, 0.18) 0%,
      transparent 46%
    );
  transition: opacity 0.35s ease;
}

.labsg-category-card:hover .labsg-category-overlay {
  opacity: 0.94;
}

/* CONTENT */
.labsg-category-content {
  position: relative;
  z-index: 3;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-self: flex-end;
  justify-content: flex-end;
  padding: clamp(1.05rem, 1.8vw, 1.35rem);
  padding-top: 6rem;
  padding-bottom: clamp(0.75rem, 1.2vw, 1rem);
  transform: translateY(18px);
  transition: transform 0.35s ease;
}

.labsg-category-card:hover .labsg-category-content {
  transform: translateY(12px);
}

/* LABEL */
.labsg-category-label {
  width: fit-content;
  margin-bottom: 0.45rem;
  padding: 0.28rem 0.62rem;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Kanit", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.labsg-category-name {
  margin: 0;
  color: #fff;
  font-family: "Kanit", sans-serif !important;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
  font-weight: 600;
  line-height: 1;
  text-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.labsg-category-text {
  max-width: 94%;
  min-height: 3.6em;
  margin: 0.52rem 0 0.68rem;
  color: rgba(255, 255, 255, 0.84);
  font-family: "Kanit", sans-serif;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.38;
  margin-top: -10px;
}

/* CTA */
.labsg-category-cta {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 36px;
  padding: 0 0.86rem 0 1rem;
  border-radius: 999px;
  margin-bottom: 18px;
  margin-top: -10px;
  background: rgba(255, 255, 255, 0.94);
  color: #17130d;
  font-family: "Kanit", sans-serif !important;
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.labsg-category-cta svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  transition: transform 0.3s ease;
}

.labsg-category-card:hover .labsg-category-cta {
  background: #caa866;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(202, 168, 102, 0.28);
}

.labsg-category-card:hover .labsg-category-cta svg {
  transform: translateX(3px);
}

/* DOTS */
.labsg-moments-dots {
  display: none;
}

/* TABLET */
@media (max-width: 1024px) {
  .labsg-moments-section {
    padding: 3.5rem 1.25rem 4rem;
  }

  .labsg-moments-head {
    margin-bottom: 1.7rem;
  }

  .labsg-categories-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .labsg-category-card {
    min-height: 350px;
    border-radius: 28px;
  }

  .labsg-category-content {
    padding: 1rem;
    padding-top: 5rem;
    padding-bottom: 0.8rem;
    transform: translateY(16px);
  }

  .labsg-category-card:hover .labsg-category-content {
    transform: translateY(10px);
  }

  .labsg-category-name {
    font-size: 1.55rem;
  }

  .labsg-category-text {
    max-width: 100%;
    min-height: 3.4em;
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .labsg-category-cta {
    min-height: 34px;
    font-size: 0.76rem;
  }
}

/* MOBILE SLIDER NATIVO */
@media (max-width: 640px) {
  .labsg-moments-section {
    --labsg-mobile-card-width: min(80vw, 340px);
    --labsg-mobile-gap: 0.95rem;
    --labsg-mobile-side-space: calc((100vw - var(--labsg-mobile-card-width)) / 2);

    margin: 2.8rem 0;
    padding: 3rem 0 3.55rem;
    overflow: hidden;
  }

  .labsg-moments-section__inner {
    max-width: none;
    width: 100%;
    overflow: visible;
  }

  .labsg-moments-head {
    max-width: calc(100% - 2rem);
    margin-bottom: 1.5rem;
    padding: 0 1rem;
  }

  .labsg-moments-kicker {
    margin-bottom: 0.45rem;
    padding: 0.3rem 0.75rem;
    font-size: 0.64rem;
  }

  .labsg-moments-title {
    font-size: clamp(1.9rem, 8vw, 2.35rem);
    line-height: 1.02;
  }

  .labsg-moments-subtitle {
    margin-top: 0.6rem;
    font-size: 0.9rem;
    line-height: 1.42;
  }

  .labsg-categories-grid,
  .labsg-categories-grid--3 {
    display: flex;
    grid-template-columns: none;
    max-width: none;
    width: 100%;
    margin: 0;
    gap: var(--labsg-mobile-gap);

    padding: 0 var(--labsg-mobile-side-space) 0.35rem;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--labsg-mobile-side-space);
    scroll-padding-right: var(--labsg-mobile-side-space);

    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;

    transform: none !important;
    transition: none !important;
    touch-action: pan-x pan-y;
  }

  .labsg-categories-grid::-webkit-scrollbar,
  .labsg-categories-grid--3::-webkit-scrollbar {
    display: none;
  }

  .labsg-category-card {
    flex: 0 0 var(--labsg-mobile-card-width);
    width: var(--labsg-mobile-card-width);
    min-width: var(--labsg-mobile-card-width);
    max-width: var(--labsg-mobile-card-width);

    min-height: 300px;
    border-radius: 24px;

    scroll-snap-align: center;
    scroll-snap-stop: always;

    box-shadow: 0 14px 28px rgba(70, 50, 20, 0.10);
  }

  .labsg-category-card:hover {
    transform: none;
    box-shadow: 0 14px 28px rgba(70, 50, 20, 0.10);
  }

  .labsg-category-content {
    padding: 1rem;
    padding-top: 4rem;
    padding-bottom: 0.75rem;
    transform: translateY(12px);
  }

  .labsg-category-card:hover .labsg-category-content {
    transform: translateY(12px);
  }

  .labsg-category-label {
    margin-bottom: 0.42rem;
    font-size: 0.6rem;
  }

  .labsg-category-name {
    font-size: 1.65rem;
  }

  .labsg-category-text {
    max-width: 100%;
    min-height: auto;
    margin: 0.5rem 0 0.65rem;
    margin-top: -8px;
    font-size: 0.84rem;
    line-height: 1.36;
  }

  .labsg-category-cta {
    width: 100%;
    justify-content: space-between;
    min-height: 40px;
    margin-top: -6px;
    margin-bottom: 16px;
    font-size: 0.78rem;
  }

  .labsg-moments-dots {
    position: relative;
    z-index: 10;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 24px;
    margin: 0.75rem auto 0;
    padding: 0 1rem;
    width: 100%;
    pointer-events: auto;
    background: transparent !important;
  }

  .labsg-moments-dot {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 9px;
    height: 9px;
    min-width: 9px;
    min-height: 9px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(159, 123, 56, 0.32);
    box-shadow: none;
    cursor: pointer;
    opacity: 1;
    transition:
      width 0.25s ease,
      background 0.25s ease,
      transform 0.25s ease;
  }

  .labsg-moments-dot.is-active {
    width: 26px;
    background: #caa866;
  }

  .labsg-moments-dot:hover {
    background: #caa866;
    transform: translateY(-1px);
  }

  .labsg-moments-dot:focus-visible {
    outline: 2px solid rgba(202, 168, 102, 0.55);
    outline-offset: 4px;
  }
}

.labsg-moments-section .labsg-category-card {
  opacity: 1;
  visibility: visible;
}

.labsg-moments-section .labsg-category-card.is-visible {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 640px) {
  .labsg-categories-grid,
  .labsg-categories-grid--3 {
    display: flex;
    grid-template-columns: none;
    max-width: none;
    width: 100%;
    margin: 0;
    gap: var(--labsg-mobile-gap);
    padding: 0 var(--labsg-mobile-side-space) 0.35rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--labsg-mobile-side-space);
    scroll-padding-right: var(--labsg-mobile-side-space);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    transform: none !important;
    transition: none !important;
    touch-action: pan-x pan-y;
  }

  .labsg-category-card {
    flex: 0 0 var(--labsg-mobile-card-width);
    width: var(--labsg-mobile-card-width);
    min-width: var(--labsg-mobile-card-width);
    max-width: var(--labsg-mobile-card-width);
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }
}












/* =============================================================================== 
   LABSG - ULTIMI ARRIVI / PRODUCT SLIDER
================================================================================ */

.labsg-latest-products {
  position: relative;
  padding: clamp(2rem, 7vw, 4.5rem) 0;
  background: #fff;
  overflow: hidden;
}

.labsg-latest-products__inner {
  position: relative;
  z-index: 2;
  width: min(1360px, calc(100% - 2rem));
  margin: 0 auto;
}

/* HEADER */
.labsg-latest-products__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2rem, 4vw, 3.2rem);
}

.labsg-latest-products__heading {
  max-width: 760px;
}

.labsg-latest-products__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.75rem;
  padding: 0.42rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(202, 168, 102, 0.34);
  color: #8b6b4a;
  font-family: "Raleway", sans-serif;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.labsg-latest-products__title {
  margin: 0;
  color: #caa866;
  font-family: "Kanit", sans-serif;
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.045em;
}

.labsg-latest-products__subtitle {
  width: min(100%, 640px);
  margin: 1rem 0 0;
  color: #6f655b;
  font-family: "Raleway", sans-serif;
  font-size: clamp(1rem, 1.35vw, 1.1rem);
  line-height: 1.75;
}

.labsg-latest-products__view-all {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 1.35rem;
  border-radius: 999px;
  background: #1c1c1c;
  color: #fff;
  font-family: "Raleway", sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16);
  transition:
    transform 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

.labsg-latest-products__view-all:hover {
  color: #fff;
  background: #caa866;
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(202, 168, 102, 0.28);
}

/* SHELL */
.labsg-latest-products__shell {
  position: relative;
}

/* TRACK */
.labsg-latest-products__track.products {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3rem) / 4);
  gap: 1rem;
  width: 100%;
  margin: 0 !important;
  padding: 0.5rem 0.2rem 1.4rem !important;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.labsg-latest-products__track::-webkit-scrollbar {
  display: none;
}

/* CARD PRODOTTO */
.labsg-latest-products ul.products li.product {
  position: relative;
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: center;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(202, 168, 102, 0.22);
  box-shadow: 0 18px 44px rgba(45, 35, 25, 0.10);
  overflow: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.labsg-latest-products ul.products li.product:hover {
  transform: translateY(-6px);
  border-color: rgba(202, 168, 102, 0.45);
  box-shadow: 0 28px 62px rgba(45, 35, 25, 0.16);
}

/* LINK CARD */
.labsg-latest-products ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* IMMAGINE */
.labsg-latest-products ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 0;
  background: #f4eadc;
  transition:
    transform 0.45s ease,
    filter 0.45s ease;
}

.labsg-latest-products ul.products li.product:hover img {
  transform: scale(1.055);
  filter: saturate(1.04) contrast(1.02);
}

/* SALE BADGE */
.labsg-latest-products ul.products li.product .onsale {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: auto;
  min-height: auto;
  min-width: auto;
  margin: 0;
  padding: 0.42rem 0.75rem;
  border-radius: 999px;
  background: #caa866;
  color: #fff;
  font-family: "Raleway", sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  z-index: 3;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
}

/* TITOLO */
.labsg-latest-products .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: calc(1.35em * 2);
  max-height: calc(1.35em * 2);
  overflow: hidden;
  margin: 1.15rem 1.1rem 0.4rem !important;
  padding: 0 !important;
  color: #1c1c1c;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.2rem, 1.55vw, 1.45rem);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
  text-align: center;
  transition: color 0.25s ease;
}

.labsg-latest-products ul.products li.product:hover .woocommerce-loop-product__title {
  color: #8b6b4a;
}

/* PREZZO */
.labsg-latest-products ul.products li.product .price {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.45rem;
  margin: auto 1rem 1.25rem !important;
  color: #1c1c1c !important;
  font-family: "Montserrat", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
}

.labsg-latest-products ul.products li.product .price del {
  color: #b9a999;
  opacity: 0.75;
  font-size: 0.9rem;
  font-weight: 500;
}

.labsg-latest-products ul.products li.product .price ins {
  color: #8b6b4a;
  text-decoration: none;
  font-weight: 800;
}

/* NASCONDO BOTTONE WOO */
.labsg-latest-products ul.products li.product .button {
  display: none !important;
}

/* FRECCE */
.labsg-latest-products__nav {
  position: absolute;
  top: 50%;
  z-index: 8;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(202, 168, 102, 0.28);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.86);
  color: #1c1c1c;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transform: translateY(-50%);
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.15);
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease,
    opacity 0.25s ease;
}

.labsg-latest-products__nav span {
  display: block;
  transform: translateY(-2px);
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 300;
}

.labsg-latest-products__nav:hover {
  background: #caa866;
  color: #fff;
  border-color: #caa866;
  transform: translateY(-50%) scale(1.04);
}

.labsg-latest-products__nav:disabled {
  opacity: 0.28;
  cursor: default;
  pointer-events: none;
}

.labsg-latest-products__nav--prev {
  left: -1rem;
}

.labsg-latest-products__nav--next {
  right: -1rem;
}

/* HINT MOBILE */
.labsg-latest-products__mobile-hint {
  display: none;
  margin-top: 1rem;
  color: #8b8177;
  font-family: "Raleway", sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  text-align: center;
}

/* RESPONSIVE */
@media (max-width: 1180px) {
  .labsg-latest-products__track.products {
    grid-auto-columns: calc((100% - 2rem) / 3);
  }

  .labsg-latest-products__nav--prev {
    left: -0.4rem;
  }

  .labsg-latest-products__nav--next {
    right: -0.4rem;
  }
}

@media (max-width: 900px) {
  .labsg-latest-products__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .labsg-latest-products__view-all {
    align-self: flex-start;
  }

  .labsg-latest-products__track.products {
    grid-auto-columns: calc((100% - 1rem) / 2);
  }
}

@media (max-width: 640px) {
  .labsg-latest-products {
    padding: 3.8rem 0;
  }

  .labsg-latest-products__inner {
    width: min(100% - 1.2rem, 520px);
  }

  .labsg-latest-products__title {
    font-size: clamp(2.35rem, 12vw, 3.2rem);
  }

  .labsg-latest-products__subtitle {
    font-size: 0.95rem;
  }

  .labsg-latest-products__track.products {
    grid-auto-columns: 82%;
    gap: 0.85rem;
    padding-inline: 0.15rem !important;
  }

  .labsg-latest-products__nav {
    display: none;
  }

  .labsg-latest-products__mobile-hint {
    display: block;
  }

  .labsg-latest-products ul.products li.product {
    border-radius: 24px;
  }
}

@media (max-width: 420px) {
  .labsg-latest-products__track.products {
    grid-auto-columns: 88%;
  }

  .labsg-latest-products__view-all {
    width: 100%;
  }
}

/* ACCESSIBILITÀ */
@media (prefers-reduced-motion: reduce) {
  .labsg-latest-products__track.products,
  .labsg-latest-products ul.products li.product,
  .labsg-latest-products ul.products li.product img,
  .labsg-latest-products__nav,
  .labsg-latest-products__view-all {
    transition: none !important;
    scroll-behavior: auto;
  }
}