@import url('https://fonts.googleapis.com/css2?family=Georama:wdth,wght@150,100..900&family=Kanit:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');

/*
Theme Name: Kinetic Green - Golf Cart
Author: Neiko srl
Author URI: http://www.neiko.it/
Description: Kinetic Green - 2025 theme
Version: 1.0
License: GNU General Public License v2 or later
*/

/*  FONTS e COLORI 

	.georama {
  		font-family: "Georama", sans-serif;
		font-optical-sizing: auto;
		font-weight: <weight>;
		font-style: normal;
		font-variation-settings:
	  	"wdth" 150;
	}
	.kanit-light {
  		font-family: "Kanit", sans-serif;
  		font-weight: 300;
  		font-style: normal;
	}
 */
:root {
	
	--black: #1D1D1B; 
	--light: #E8E8E8;
	--white: #ffffff;
	--grey: #aeaeae;
	--antracite: #3E3E3E;

	--tonino-dark: var(--black);
    --tonino-dark-hover: #3E3E3E;
    --tonino-red: #e1362b;
    --tonino-gray: #aeaeae;
	--tonino-lightgray: var(--light);
	--tonino-light: #F6F5F5;
	--tonino-white: var(--white);
	
	--georama: "Georama", sans-serif;
	--georama150: "wdth" 150; 
	--kanit: "Kanit", sans-serif;
	--bs-gutter-x: 1.5rem;
	
	--14: clamp(0.778rem, 0.729vw, 0.778rem);
	--16: clamp(0.667rem, 0.833vw, 0.889rem);
	--22: clamp(1.111rem, 1.146vw, 1.222rem);
	--26: clamp(1.111rem, 1.354vw, 1.444rem);
	--44: clamp(1.778rem, 2.292vw, 2.444rem);
	--50-table: clamp(1.8rem, 2.604vw, 2.778rem);
	--50: clamp(2.222rem, 2.604vw, 2.778rem);
	--120: clamp(3.611rem, 4.688vw, 5.000rem);
	--175: clamp(5.556rem, 9.115vw, 9.722rem);
}

/* GENERAL */
html,body {  
	margin:0;
	padding:0;
	background-color:var(--white);
	color:var(--black);
	font-family: var(--kanit);
	font-weight: 300;
	line-height:1.3;
	font-size: 18px !important;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-font-smoothing:antialiased;
	-o-font-smoothing:antialiased;
}

@media (min-width: 1400px){ 
	html,body {
		font-size: 18px !important;
	}
}

@media(min-width: 1400px){
	.container-fluid{
		padding-left: 10vw;
		padding-right: 10vw;
	}
	.container-left{
		padding-left: 10vw;	
		padding-right: 0;
	}
	.container-right{
		padding-right: 10vw;	
		padding-left: 0;
	}	
}

@media (min-width: 992px){ 
	.container-fluid{
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.container-left{
		padding-left: 5vw;	
		padding-right: 0;
	}
	.container-right{
		padding-right: 5vw;	
		padding-left: 0;
	}
}

img,a img {
	border:none!important;
}

::-moz-selection {
	background:none repeat scroll 0 0 #FFF;
	color:#000;
}

* {
	outline:0!important;
}

b,strong,.bold { 
	font-weight: 600;
}

a { 
	outline-style: none !important;
	text-decoration: none !important;
	color:var(--black);
	transition: 0.3s;
}

a:visited {
	text-decoration: underline;
	color:var(--white);
}

a:hover {  
	cursor: pointer !important;
	text-decoration: underline;
}

.container-left, .container-right{
	padding-left: calc(var(--bs-gutter-x)* .5);	
	padding-right: calc(var(--bs-gutter-x)* .5);	
}

#content {
	background-color: var(--white);
	color: var(--black);
	position: relative;
}

/* Colori */

#content.black  {
	background-color: var(--black) !important;
	color: var(--white) !important;
	transition: background-color 0.4s ease, color 0.4s ease;
}

#content.white {
	background-color: var(--white) !important;
	color: var(--black) !important;
	transition: background-color 0.4s ease, color 0.4s ease;
}

#content.grey {
	background-color: var(--light) !important;
	color: var(--black) !important;
	transition: background-color 0.4s ease, color 0.4s ease;
}

/* COLORE NERO */

#content.black .opacity-dark, #content.black .opacity-dark p,#content.black p.opacity-dark{
	color: rgba(255,255,255,0.6) !important;
	transition: color 0.4s ease;
}

#content.black .opacity-dark strong, #content.black .opacity-dark p strong,#content.black p.opacity-dark strong{
	color: var(--white) !important;
	font-weight: 300 !important;
	transition: color 0.4s ease;
}

#content.black .opacity-light, #content.black .opacity-light p,#content.black p.opacity-light{
	color: rgba(255,255,255,0.6) !important;
	transition: color 0.4s ease;
}
#content.black .opacity-light strong, #content.black .opacity-light p strong,#content.black p.opacity-light strong{
	color: var(--white) !important;
	font-weight: 300 !important;
	transition: color 0.4s ease;
}

#content.black .btn-link, #content.black .btn-configuratore {
	border: 1px solid var(--white) !important;
	color: var(--white) !important;
	transition: border 0.4s ease, color 0.4s ease;
}

#content.black .btn-link:hover, #content.black .btn-configuratore:hover {
	border: 1px solid var(--black) !important;
	color: var(--black) !important;
	background-color: var(--white) !important;
	transition: background-color 0.4s ease, color 0.4s ease, border 0.4s ease;
}

#content.black .black {
	color: var(--white) !important;
	transition: color 0.4s ease;
}

#content.black .slick-dots li {
  background-color: var(--grey); /* grigio medio */
}

#content.black .slick-dots li.slick-active {
  background-color: var(--white); /* bianco */
}

/* COLORE BIANCO */

#content.white .opacity-light, #content.white .opacity-light p,#content.white p.opacity-light {
	color: rgba(0,0,0,0.6) !important;
	transition: color 0.4s ease;
}


#content.white .opacity-light strong, #content.white .opacity-light p strong,#content.white p.opacity-light strong {
	color: var(--black) !important;
	font-weight: 300 !important;
	transition: color 0.4s ease;
}

#content.white .white {
	color:var(--black) !important;
	transition: color 0.4s ease;
}

#content.white .h3 {
	color:var(--white) !important;
	transition: color 0.4s ease;
}

/* COLORE GRIGIO */

#content.grey .opacity-light, #content.grey .opacity-light p,#content.grey p.opacity-light {
	color: rgba(0,0,0,0.6) !important;
	transition: color 0.4s ease;
}


#content.grey .opacity-light strong, #content.grey .opacity-light p strong,#content.grey p.opacity-light strong {
	color: var(--black) !important;
	font-weight: 300 !important;
	transition: color 0.4s ease;
}

#content.grey .grey {
	color:var(--black);
	transition: color 0.4s ease;
}

#content.grey .white {
	color:var(--black);
	transition: color 0.4s ease;
}

.opacity-light, .opacity-light p, p.opacity-light{
	color: rgba(255,255,255,0.6) !important;
}

.opacity-light strong, .opacity-light p strong, p.opacity-light strong{
	color: var(--white) !important;
	font-weight: 300 !important;
}

.opacity-dark, .opacity-dark p, p.opacity-dark{
	color: rgba(0,0,0,0.6) !important;
}

.opacity-dark strong, .opacity-dark p strong, p.opacity-dark strong{
	color: var(--black) !important;
	font-weight: 300 !important;
}


/* Margini */

.m-fluid {
	margin: clamp(1rem, 3vw, 2rem);
}

.mx-fluid {
	margin-left: clamp(1rem, 3vw, 2rem);
	margin-right: clamp(1rem, 3vw, 2rem);
}

.my-fluid {
	margin-top: clamp(1rem, 3vw, 2rem);
	margin-bottom: clamp(1rem, 3vw, 2rem);
}

.mt-fluid {
	margin-top: clamp(1rem, 3vw, 2rem);
}

.mb-fluid {
	margin-bottom: clamp(1rem, 3vw, 2rem);
}

.m2-fluid {
	margin: clamp(2rem, 6vw, 4rem);
}

.mt2-fluid {
	margin-top: clamp(2rem, 6vw, 4rem);
}

.mb2-fluid {
	margin-bottom: clamp(2rem, 6vw, 4rem);
}

.mx2-fluid {
	margin-left: clamp(2rem, 6vw, 4rem);
	margin-right: clamp(2rem, 6vw, 4rem);
}

.my2-fluid {
	margin-top: clamp(2rem, 6vw, 4rem);
	margin-bottom: clamp(2rem, 6vw, 4rem);
}

.no-margin-footer {
	margin-left: -120px;
	margin-right: -120px; 
}

@media (max-width: 991.99px) {
	.no-margin-footer {
		margin-left: -60px;
		margin-right: -60px; 
	}
}

@media (max-width: 575.99px) {
	.no-margin-footer {
		margin-left: -30px;
		margin-right: -30px; 
	}
}


/* Padding */

.p-fluid {
	padding: clamp(1rem, 3vw, 2rem);
}

.px-fluid {
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
}

.py-fluid {
	padding-top: clamp(1rem, 3vw, 2rem);
	padding-bottom: clamp(1rem, 3vw, 2rem);
}

.pt-fluid {
	padding-top: clamp(1rem, 3vw, 2rem);
}

.pb-fluid {
	padding-bottom: clamp(1rem, 3vw, 2rem);
}

.p2-fluid {
	padding: clamp(2rem, 6vw, 4rem);
}

.px2-fluid {
	padding-left: clamp(2rem, 6vw, 4rem);
	padding-right: clamp(2rem, 6vw, 4rem);
}

.py2-fluid {
	padding-top: clamp(2rem, 6vw, 4rem);
	padding-bottom: clamp(2rem, 6vw, 4rem);
}

.pt2-fluid {
	padding-top: clamp(2rem, 6vw, 4rem);
}

.pb2-fluid {
	padding-bottom: clamp(2rem, 6vw, 4rem);
}


/* TYPO */

.big{
	font-size: 1.1rem;  
}

.small{
	font-size: 0.85rem;	
}

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{ 
	font-family: var(--georama);
	font-variation-settings: var(--georama150);	 
	font-weight: 400;
	color:var(--black);
}

h1,.h1{
	font-weight: 500;
	font-size: 2.5rem;
}

h2,.h2{
	font-weight: 400;
	font-size: 2rem;
	line-height: 1.3;
}

h3,.h3{
	font-weight: 400;
	font-size: clamp(1.1rem, 1.667vw, 1.778rem);
	line-height: 1.3;
}

h4,.h4{
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.3;
}

h5,.h5{
	font-weight: 400;
	font-size: 1.1rem;
	line-height: 1.3;
}

h1.white{
	color:#fff;
}

@media(max-width:991px){
	h1,.h1{
		font-size: 1.75rem;
	}
	
	h2,.h2{
		font-size: 1.4rem;
	}
}

.p,p {
	margin: 0 !important;
}

.extra-light {
	font-weight: 100;
}

/* ANIMAZIONE TESTI */

.animated-text {
	overflow: hidden;
	display: block;
}

.animated-text span {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
	transition: transform 1.5s cubic-bezier(0.08,0.82,0.17,1), opacity 1s cubic-bezier(0.08,0.82,0.17,1);
}

.animated-text.visible span {
	transform: translateY(0);
	opacity: 1;
}


/* LOADER */

.loading-before {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 997;
	background-color: var(--blu);
	transition: .7s cubic-bezier(0.86, 0, 0.07, 1);
}

.loading-before.out {
	transform: translateY(-100%);
	transition-delay: .3s;
}

#loading {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 998;
	background-color: var(--black);
	transition: .7s cubic-bezier(0.86, 0, 0.07, 1);
	transition-delay: .3s;
}

#loading::after {
	content: '';
	position: absolute;
	bottom: -30%; 
	left: 0;
	width: 100%;
	height: 30%; 
	background-color: var(--tonino-red);
	z-index: -1;
}

#loading.out {
	transform: translateY(-130%);
	transition-delay: 0s;
}

#Layer_1 {
	width: clamp(15.625rem, 31.250vw, 37.500rem);
	height: auto;
}

.logo-animation-container {
	overflow: hidden;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: fadeInDown 1.2s ease-out forwards;
}

@keyframes fadeInDown {
	0% {
		opacity: 0;
		transform: translate(-50%, -100%);
	}
	
	100% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

/* HEADER */

#header {
	position: absolute;
	z-index:99;
	top:0;
	left:0;
	width: 100%;
	height: auto;
	background-color: transparent;
	transition: 0.4s;
	
}
#header .navbar-brand{
	height:85px;
	width:auto;
	display: block;
}
#header .navbar-brand img{
	width:auto;
	height: 100%;
}
#header .navbar {
	padding: 15px 50px;
	z-index:10;
}

#menu-header-menu li a{
	position: relative;
	padding-top:2px !important;
	padding-bottom:2px !important;
}


@media(max-width:991px){
	#header .navbar-brand{
		height:70px;
		z-index: 10;
	}
	#header .navbar {
		padding: 15px 20px;
	}
	
	#header .btn-link-light{
		display: none;
	}
	
	.navbar-toggler{
		color:#fff !important;
		border:none;
		z-index: 10;
	}
	
	.navbar-toggler:hover, .navbar-toggler:active, .navbar-toggler:focus{
		box-shadow:none;
	}
	
	.navbar-toggler-icon{
		width:28px;
		height:28px;
	}
	
	#navbarNavMobile {
		background-color: var(--black);
		position: absolute;
		top: -70vh;
		left: 0;
		height: 70vh;
		width: 100%;
		display: flex;
		align-items: center; 
		justify-content: center !important; 
		flex-wrap: wrap;
		z-index: 3;
		transition: 0.3s;
	}
	#navbarNavMobile.show{
		top:0;
		transition: 0.3s;
	}
	
	#navbarNavMobile ul{
		padding:0;
		margin:0;
		text-align: center;
	}
	
	#navbarNavMobile ul li{
		margin-top:8px;
		margin-bottom:8px;
	}
	
	
	
	#navbarNavMobile .dropdown-menu{
		background-color: transparent;
		trasition:0.3s;
	}
}


.header-menu-open #header{
	background-color: var(--black);
	transition: 0.4s;
}

.header-menu-open #header .navbar-nav .nav-link, #header .navbar-nav .nav-link{
	color: var(--white);
} 

.nav-link {
	color: var(--white);
	font-variation-settings: var(--georama150);
	text-transform: uppercase;
	font-family: var(--georama);
	font-size: var(--14);
	padding: 0 !important;
	margin-left: 30px;
	margin-right: 30px;
	position: relative;
	display: inline-block;
	text-decoration: none;
	overflow: hidden;
}

@media(min-width:1200.99px) and (max-width:1450px){
	.nav-link{
		margin-left:15px;
		margin-right:15px;
		font-size: 12px;
	}
	
	#header .navbar{
		padding:15px 30px;
	}
	
	#header .navbar-brand{
		height:75px;
	}
	
	#header .btn-link-light{
		padding:16px 13px;
		font-size: 12px;
	}
}
@media(min-width:991.99px) and (max-width:1200px){
	.nav-link{
		margin-left:15px;
		margin-right:15px;
		font-size: 10px;
	}
	
	#header .navbar{
		padding:15px 30px;
	}
	
	#header .navbar-brand{
		height:70px;
	}
	
	#header .btn-link-light{
		padding:16px 13px;
		font-size: 10px;
	}
}

.nav-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: transparent;
	transition: 0.3s;
}

.nav-link:hover::after {
	background-color:var(--white);
	transition: 0.3s;
} 


.current-menu-item .nav-link::after{
	background-color:var(--white);
}

.nav-link:visited {
	color: var(--white) !important;	
}

#prodotti-menu ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

#prodotti-menu{
	background-color: var(--black);
	display: none;
}


#prodotti-menu a{
	color: var(--white);
}

.submenu_prodotti-toggle::after {
	display: none;
}

.navbar-nav .submenu_prodotti-icon {
	width: 12px;
	height: auto;
	margin-left: 8px;
	transition: transform 0.2s ease;
}

.nav-item.submenu_prodotti.show > a > .submenu_prodotti-icon {
	transform: rotate(45deg);
}

.submenu_prodotti-menu {
	background-color: var(--antracite);
	border: none;
	border-radius: none;
	padding: 20px 30px;
	width: 100%;
}

.submenu_prodotti-menu .nav-link {
	color: var(--white);
	padding: 8px 0;
	margin: 0;
	text-transform: uppercase;
}

.nav-item.submenu_prodotti.show > a > .submenu_prodotti-icon {
	transform: rotate(45deg);
}

.page-template-page-configurator-set #header{
	position: relative;
	background-color:var(--black);
}

.submenu_prodotti .nav-link svg {
	transition: transform 0.25s ease;
	transform-origin: center;
}

/* stile attivo: se lo svg ha classe .rotated */
.submenu_prodotti .nav-link svg.rotated {
	transform: rotate(90deg);
}

/* FOOTER */

#footer {
	width: 100%;
	background-color: var(--black);
	padding: 70px 120px 0px 120px;
}

.right-text {
	font-family: var(--kanit);
	font-weight: 100;
}

.border-top-dark {
	width: calc(100% + 240px);
	height: 1px;
	background-color: var(--antracite);
}

.big-text-container {
	width: calc(100% + 240px);
	margin-left: -120px;
	overflow-x: hidden; /* Nasconde il testo che esce dai bordi */
	padding-top: 15px;
}

.sub-footer {
	font-size: var(--26);
	font-family: var(--kanit);
}

.footer-reveal-container {
	position: relative;
	overflow: hidden;
	width: 100%;
	text-align: center;
	padding: 100px 0;
}

.footer-reveal-text {
  position: relative;
  font-family: var(--georama);
  font-size: 8.8vw;
  font-variation-settings: var(--georama150);
  font-weight: 600;
  width: 100%;
  white-space: nowrap;
  background: radial-gradient(
	 circle at center,
	 rgba(255, 255, 255, 0.9) 0%,
	 rgba(255, 255, 255, 0.6) 15%,
	 rgba(255, 255, 255, 0.2) 35%,
	 rgba(255, 255, 255, 0.05) 55%,
	 transparent 70%
   );
   background-clip: text;
   -webkit-background-clip: text;
   color: transparent;
   -webkit-text-fill-color: transparent;
   background-repeat: no-repeat;
  transition: background 0.1s ease;
  background-size: 1200px 1200px;
  background-position: -9999px -9999px; /* nasconde la luce inizialmente */
}

@media (max-width: 991.99px) {
	#footer {
		width: 100%;
		padding: 50px 60px 0px 60px;
	}
	
	.border-top-dark {
		width: calc(100% + 120px);
		height: 1px;
		background-color: var(--antracite);
	}
	
	.big-text-container {
		width: calc(100% + 120px);
		margin-left: -60px;
		overflow-x: hidden; /* Nasconde il testo che esce dai bordi */
		padding-top: 0px;
	}
	
	.footer-reveal-container {
		padding: 30px 0px;
	}
	
	.footer-reveal-text {
		background: none !important;
		color: var(--grey);
		opacity: 0.2;
		-webkit-text-fill-color: initial;
		text-fill-color: initial;
	  }
}

@media (max-width: 575.99px) {
	#footer {
		width: 100%;
		padding: 30px 30px 0px 30px;
	}
	
	.border-top-dark {
		width: calc(100% + 60px);
		height: 1px;
		background-color: var(--antracite);
	}
	
	.big-text-container {
		width: calc(100% + 60px);
		margin-left: -30px;
		overflow: hidden; /* Nasconde il testo che esce dai bordi */
		padding-top: 15px;
	}
	
	.right-text {
		font-family: var(--kanit);
		font-weight: 100;
		font-size: var(--14);
	}
	
	.footer-reveal-container {
		padding: 30px 0px;
	}
	
	.footer-reveal-text {
		background: none !important;
		color: var(--grey);
		opacity: 0.2;
		-webkit-text-fill-color: initial;
		text-fill-color: initial;
	  }
}

/* PAGINE */

.georama{
	font-family: var(--georama);
	font-size:0.85rem;
	font-weight: 400;
}
.white{
	color: var(--light);
}

.absolutewhite{
	color:#fff;
}

.white-background {
	background-color:var(--light);
}

.black{
	color: var(--black);
}

.black-background{
	background-color: var(--black);
	color: var(--light);
}

.z-index{
	position: relative;
	z-index:2;
}

.opacity-light, .opacity-light p, p.opacity-light{
	color: rgba(255,255,255,0.6) !important;
}

.opacity-light strong, .opacity-light p strong, p.opacity-light strong{
	color: var(--white) !important;
	font-weight: 300 !important;
}

.opacity-dark, .opacity-dark p, p.opacity-dark{
	color: rgba(0,0,0,0.6) !important;
}

.opacity-dark strong, .opacity-dark p strong, p.opacity-dark strong{
	color: var(--black) !important;
	font-weight: 300 !important;
}

.light-background{
	background-color: var(--light);
	color: #F7F6EB;
}

.btn-link {	 
	border: 1px solid var(--black);
	border-radius:30px;
	font-family: var(--georama);
	color: var(--black) !important;
	text-decoration: none;
	font-size: 0.8rem;
	font-weight:400;
	display: inline-flex;
	padding: 16px 30px;
	align-items: center;
	transition: 0.3s;
	width: fit-content;
}

.btn-link-light {	 /* da sistemare */
	border: 1px solid var(--white);
	border-radius:30px;
	font-family: var(--georama);
	text-decoration: none;
	display: inline-flex;
	font-weight:400;
	padding: 16px 30px;
	align-items: center;
	font-size: 0.8rem;
	transition: 0.3s;
	color: var(--white);
	width: fit-content;
	background-color:transparent;
}

.btn-tag {	
	border: 1px solid var(--white);
	border-radius:30px;
	font-family: var(--georama);
	font-size: 0.6rem;
	text-decoration: none;
	display: inline-flex;
	padding: 7px 20px;
	font-weight:300;
	margin-right:7px;
	align-items: center;
	transition: 0.3s;
}

.btn-configuratore {
	border: 1px solid var(--black) !important;
	border-radius:50px;
	font-family: var(--georama);
	color: var(--black);
	background-color: transparent;
	font-size: var(--44);
	text-decoration: none;
	text-transform: uppercase;
	display: inline-flex;
	padding: 15px 20px;
	font-weight:400;
	width:100%;
	display: flex;
	align-items:center;
	justify-content: center;
	align-items: center;
	transition: 0.3s;
}

@media(max-width:1200px){
	.btn-configuratore{
		font-size: 1.15rem;
	}
}

.btn-configuratore:hover{
	color: var(--white) !important;
	background-color: var(--black);
}

.btn-configuratore:visited{
	color: var(--black);
}

.btn-link-light:hover {	
	background-color:var(--white);
	color:var(--black);
}

.btn-tag:hover{
	cursor: initial;
}

.btn-social-footer {
	width:60px;
	height: 60px;
	border: 1px solid var(--white);
	border-radius: 100%;
	text-decoration: none;
	display: inline-flex;
	padding: var(--16);
	align-items: center;
	justify-content: center;
	transition: 0.3s;
	color: var(--white);
}

.btn-social-footer img {
	display: flex;
	align-content: center;
	justify-content: center;
}

.btn-social-footer:hover {
	box-shadow: 0px 4px 22px 8px rgba(255, 255, 255, 0.16);
}

.border-right{
	border-right: 1px solid rgba(255,255,255,0.3);
}

#features_cart .col-lg-4{
	position: relative;
	z-index:5;
}


@media(min-width:991.99px) and (max-width: 1200px){
 	#features_cart .border-right{
	 	border-right: 1px solid rgba(255,255,255,0.3);
	 	border-bottom: 1px solid rgba(255,255,255,0.3);
 	}
}
@media(max-width:991px){
	#features_cart .border-right{
		border-right: none;
		border-bottom: 1px solid rgba(255,255,255,0.3);
	}
}
@media(min-width:991.99px) and (max-width:1570px){
#features_cart .cella h5{
	height:55px;
}
}

/* homepage */

.overlay{
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	background: #1D1D1B;
	background: linear-gradient(0deg, rgba(29, 29, 27, 0.1) 0%, rgba(29, 29, 27, 0.2) 65%, rgba(29, 29, 27, 0.9) 100%);
}

.overlay-light{
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	background: #E8E8E8;
	background: linear-gradient(270deg, rgba(232, 232, 232, 0.4) 0%, rgba(232, 232, 232, 0.2) 60%, rgba(232, 232, 232, 0.05) 100%)
}


.ellisse-overlay{
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	background: #1D1D1B;
	background: radial-gradient(radial-gradient, rgba(29, 29, 27, 0) 0%, rgba(29, 29, 27, 0.4) 50%, rgba(29, 29, 27, 1) 100%);
}


.superbig,.bigger{
	font-family: var(--georama);
	font-size: var(--120);
	line-height: 1;
	font-weight: 600;
}

@media(max-width:991px){
	.superbig,.bigger{
	font-size: clamp(1.900rem, 2.800vw, 3.800rem);;
	}
}

#hero_section{
	background-repeat: no-repeat; 
	background-position: center;
	background-size: cover; 
	height:100vh;
}

.hero_image{
	width:100%;
	height:100vh;
	position: absolute;
	top:0;
	left:0;
	object-fit: cover;
}

.single-feature .feature-image{
	height:65px;
	width: auto;
	margin-bottom:20px;
	opacity:0.8;
}

#banner_centrale{
	background-repeat: no-repeat; 
	background-position: center bottom;
	background-size: cover; 
	height:100vh;
	min-height:800px;
}

@media(max-width:1200px){
	#banner_centrale{
	aspect-ratio: 16/9;
	height:auto;
	min-height: 450px;
	}
}

#banner_centrale::after{
	content:"";
	top:0;
	left:0;
	width:100%;
	height:100%;
	position: absolute;
	background: #1D1D1B;
	background: linear-gradient(0deg, rgba(29, 29, 27, 1) 0%, rgba(29, 29, 27, 0.17) 20%, rgba(29, 29, 27, 0.17) 80%, rgba(29, 29, 27, 0.9) 100%);
}

/* SLICK SLIDER */

.slider-wrapper {
  overflow: hidden;  
  width: 100%;
  position: relative;
}

.slider-nav {
  max-width: 100%;
  position: relative;
}

.slider-nav .slick-list {
  overflow: visible !important; 
}

.slider-nav .slide {
  width: 950px;
  margin: 0 10px;
  box-sizing: border-box;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  border: none;
  cursor: pointer;
  z-index: 10;
  width: 50px;
  height: 50px;
  font-size:0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slick-prev:before, .slick-next:before{
	display: none;
}

.slick-prev {
  left: 5%;
}

.slick-next {
  right: 5%;
}

.slick-prev svg,
.slick-next svg {
  width: 35px;
  height: 35px;
  stroke: black;
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus{
	background: rgba(255,255,255,0.3);
}



@media(max-width:991px){
	.slider-nav .slide{
		width: 400px;
	}
}

@media(min-width:1800px){
	.slider-nav .slide {
	  width: 1330px;
	  
	}
}

.slider-nav .slick-slide {
  opacity: 0.5;
  transform: scale(0.9);
}

.slider-nav .slick-center {
  opacity: 1;
  transform: scale(1);
  z-index: 2;
}

.slider-nav .slide img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

.slider-nav .slide .bigger {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.slider-nav .slick-center .bigger {
  opacity: 1;
}

/* Contenitore dei dots */
.slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
  bottom: 0;
  width:90% !important;
  margin-left: 5% !important;
  gap: 2px;
}

.slick-dots li.slick-active button:before, .slick-dots li button:before{
	opacity:0;
	display: none;
}
/* Ogni dot = lineetta */
.slick-dots li {
  display: inline-block;
  width: 20%;               /* lunghezza della lineetta */
  height: 1px;               /* altezza sottile */
  background-color: var(--grey); /* grigio medio */
  border-radius: 1px;        /* leggero arrotondamento */
  transition: background-color 0.3s ease;
}

/* Dot attivo (slide corrente) */
.slick-dots li.slick-active {
  background-color: var(--black); /* bianco */
}

/* Elimina il bottone interno che crea cerchietti */
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  background: transparent;
  border: none;
  padding: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* GSAP */

.parallax-section {
  position: relative;
  height: 90vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  z-index: 1;
}

.parallax-section .parallax-text, .parallax-text{
	position: relative;
	z-index:10;
}

@media(max-width:991px){
	.parallax-section {
	  height: 80vh;
	}
	
	#carosello_shuttle .parallax-section, #carosello_golf .parallax-section {
	  height: 60vh;
	}
}

.parallax-images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; 
  z-index: 1;
}

.parallax-img {
  position: absolute;
  width: 300px; 
  height: auto;
  border-radius: 5px;
  overflow: hidden;
}

/* Posizionamento personalizzato per introduzione cart */

#introduzione_cart .img01 {
	position: absolute;
	top: 0;      
	left: 3%;    
	width: 20%;  
	height: auto;
}

#introduzione_cart .img02 {
	position: absolute;
	top: 5%;    
	right: 4%;   
	width: 18%;  
	height: auto;
}

#introduzione_cart .img03 {
	position: absolute;
	bottom: -10%;
	left: 10%;  
	width: 22%;  
	height: auto;
}

#introduzione_cart .img04 {
	position: absolute;
	bottom: -10%; 
	right: 6%;   
	width: 15%;  
	height: auto;
}

@media(max-width:991px){
	#introduzione_cart .img01 {
		position: absolute;
		top: 2%;     
		left: 5%;    
		width: 32%;   
		height: auto;
	}
	
	#introduzione_cart .img02 {
		position: absolute;
		top: 10%;    
		right: 5%;    
		width: 28%;  
		height: auto;
	}
	
	#introduzione_cart .img03 {
		position: absolute;
		bottom: -7%;  
		left: 15%;   
		width: 25%;  
		height: auto;
	}
	#introduzione_cart .img04 {
		position: absolute;
		bottom: 1%;   
		right: 10%;  
		width: 20%;  
		height: auto;
	}
}

@media(min-width:1820px){
	#introduzione_cart .img01 {
		position: absolute;
		top: 0;   
		left: 3%;     
		width: 23%;    
		height: auto;
	}
	
	#introduzione_cart .img02 {
		position: absolute;
		top: 5%;     
		right: 4%;  
		width: 20%;   
		height: auto;
	}
	
	#introduzione_cart .img03 {
		position: absolute;
		bottom: -10%;  
		left: 15%;     
		width: 20%;   
		height: auto;
	}
	
	#introduzione_cart .img04 {
		position: absolute;
		bottom: -10%;   
		right: 6%;   
		width: 16%;    
		height: auto;
	}
}


/* Posizionamento personalizzato per SLIDER GOLF */

#carosello_golf .img01 {
	position: absolute;
	top: 10%;      
	left: 3%;    
	width: 35%;  
	height: auto;
}

#carosello_golf .img02 {
	position: absolute;
	top: 27%;     
	right: 4%;   
	width: 37%;  
	height: auto;
}

#carosello_golf .img03 {
	position: absolute;
	bottom: 0%;   
	left: 15%;    
	width: 34%;   
	height: auto;
}

#carosello_golf .img04 {
	position: absolute;
	bottom: 5%;   
	right: 3%;     
	width: 25%;    
	height: auto;
}

@media (max-width: 991px) {
	#carosello_golf .img01 {
		position: absolute;
		top: 20%;     
		left: 3%;  
		width: 35%; 
		height: auto;
	}
	
	#carosello_golf .img02 {
		position: absolute;
		top: 27%;     
		right: 4%;   
		width: 37%;  
		height: auto;
	}
	
	#carosello_golf .img03 {
		position: absolute;
		bottom: 0%;  
		left: 15%;    
		width: 34%;   
		height: auto;
	}
	
	#carosello_golf .img04 {
		position: absolute;
		bottom: 2%;   
		right: 3%;    
		width: 25%;   
		height: auto;
	}
}

@media (min-width: 1820px) {
	#carosello_golf .img01 {
		position: absolute;
		top: 10%;     
		left: 3%;   
		width: 35%;  
		height: auto;
	}

	#carosello_golf .img02 {
		position: absolute;
		top: 20%;    
		right: 4%;   
		width: 37%;  
		height: auto;
	}

	#carosello_golf .img03 {
		position: absolute;
		bottom: 0%;  
		left: 15%;   
		width: 30%;   
		height: auto;
	}

	#carosello_golf .img04 {
		position: absolute;
		bottom: 10%;    
		right: 3%;     
		width: 25%;    
		height: auto;
	}
}


/* Posizionamento personalizzato per SLIDER SHUTTLE */
#carosello_shuttle .img01 {
	position: absolute;
	top: 10%;      
	left: 3%;    
	width: 35%;  
	height: auto;
}

#carosello_shuttle .img02 {
	position: absolute;
	top: 27%;     
	right: 4%;   
	width: 37%;  
	height: auto;
}

#carosello_shuttle .img03 {
	position: absolute;
	bottom: 0%;   
	left: 15%;    
	width: 34%;   
	height: auto;
}

#carosello_shuttle .img04 {
	position: absolute;
	bottom: 5%;   
	right: 3%;     
	width: 25%;    
	height: auto;
}

@media (max-width: 991px) {
	#carosello_shuttle .img01 {
		position: absolute;
		top: 20%;     
		left: 3%;  
		width: 35%; 
		height: auto;
	}
	
	#carosello_shuttle .img02 {
		position: absolute;
		top: 27%;     
		right: 4%;   
		width: 37%;  
		height: auto;
	}
	
	#carosello_shuttle .img03 {
		position: absolute;
		bottom: 0%;  
		left: 15%;    
		width: 34%;   
		height: auto;
	}
	
	#carosello_shuttle .img04 {
		position: absolute;
		bottom: 2%;   
		right: 3%;    
		width: 25%;   
		height: auto;
	}
}

@media (min-width: 1820px) {
	#carosello_shuttle .img01 {
		position: absolute;
		top: 10%;     
		left: 3%;   
		width: 35%;  
		height: auto;
	}

	#carosello_shuttle .img02 {
		position: absolute;
		top: 20%;    
		right: 4%;   
		width: 37%;  
		height: auto;
	}

	#carosello_shuttle .img03 {
		position: absolute;
		bottom: 0%;  
		left: 15%;   
		width: 30%;   
		height: auto;
	}

	#carosello_shuttle .img04 {
		position: absolute;
		bottom: 10%;    
		right: 3%;     
		width: 25%;    
		height: auto;
	}
}

/* pagina shuttle */

.full-height {
	height: 100vh;
	width: 100%;
}
@media(max-width:991px){
	.full-height{
		height: 60vh;
	}
	
	.full-height .hero-img, .hero-img-shuttle{
		height: 60vh !important;
	}
}
.overlay-hero {
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	background: #1D1D1B;
	background: linear-gradient(0deg, rgba(27, 27, 27, 1) 0%, rgba(27, 27, 27, 0.2) 20%, rgba(27, 27, 27, 0.2) 80%, rgba(27, 27, 27, 0.8) 100%);
	z-index:1;
}

.text-container {
	position: absolute;
	top: 150px;
	z-index: 2;
}

.hero-img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	object-position: center;
	position: relative;
	left: 0;
	top: 0;
}

.hero-img-shuttle {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	object-position: bottom right;
	position: relative;
	left: 0;
	top: 0;
}

#page-golf .hero-img-shuttle {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	object-position: left;
	position: relative;
	left: 0;
	top: 0;
}

@media (max-width: 767.99px) {
	.text-container {
		position: absolute;
		top: 150px;
		z-index: 2;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* pagina about us*/

. {
	object-fit: cover;
	object-position: center;
	width: 50vw;
	
}

.btn-link-dark {
	border: 2px solid var(--black);
	background-color: var(--black);
	color: var(--white);
	border-radius: 30px;
	text-decoration: none;
	display: inline-flex;
	padding: 16px 30px;
	align-items: center;
	transition: 0.3s;
	font-size: 0.8rem;
	font-family: var(--georama);
	font-variation-settings: var(--georama150);
}

.btn-link-dark:hover {
	border: 2px solid var(--black);
	background-color: var(--white);
	color: var(--black);
}

.container-write {
	position: absolute;
	right: 50px;
	top: 0;
	z-index: 2;
	width: auto;
}

.container-write img {
	width: fit-content;
}

.quote-container {
	position: relative;
	height: 100vh;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.citazione-text {
	font-family: var(--geroma);
	font-variation-settings: var(--georama150);
	position: absolute;
	left: 0;
	bottom: 100px;
	z-index: 2;
}

.quote-container img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
	object-position: top;
}

@media (max-width: 575.99px) {
	.container-write {
	display: none !important;
	}
}


/* pagina contatti */

#page-contacts {
	background-color: var(--black);
}
/* CONTACT FORM 7 */

.wpcf7 {
	justify-items: center;
}

.wpcf7-form {
	width: calc(100% - 45px);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 15px;
}

.half-label {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.half-label p {
	display: flex;
	width: 100%;
}

.total-label {
	width: 100%;
}

.total-label label {
	display: block !important;
	margin-right: 0 !important;
	width: 100% !important;
}

.wpcf7-form label {
	width: 100%;
	display: block;
	height: fit-content;
	color: rgba(255,255,255,0.6);
}

.wpcf7-form .wpcf7-form-control-wrap {
	width: 100%;
	display: block;
	margin-top: 10px;
}

::placeholder{
	color:#333;
}

.wpcf7-form .wpcf7-form-control {
	width: 100%;
	box-shadow: border-box;
	border: 1px solid var(--white);
	border-radius: 0;
	padding: 10px;
	color: var(--black) !important;
}

.wpcf7-form .wpcf7-form-control:focus {
	border-color: red;
	outline: none;
	color: var(--white);
}

.consent-container p {
	display: flex;
	flex-direction: column;
}

.wpcf7-form .wpcf7-acceptance {
	border: none !important;
	padding: 0;
	background: transparent;
}


.wpcf7 input.wpcf7-submit {
	border: 1px solid var(--white) !important;
	background-color: var(--black) !important;
	color: var(--white) !important;
	border-radius: 30px;
	margin-top: 30px;
	padding: 16px 30px;
	font-weight: 400;
	display: inline-flex;
	align-items: center;
	font-size:0.8rem;
	font-family: var(--georama);
	font-variation-settings: var(--georama150);
	transition: 0.3s ease;
	cursor: pointer;
	width: fit-content;
	text-transform: uppercase;
}

.wpcf7 input.wpcf7-submit:hover {
	background-color: var(--white) !important;
	color: var(--black) !important;
}

@media (max-width: 575.99px) {
	.half-label {
		flex: auto;
		display: flex;
		flex-direction: column;
	}
	
	.wpcf7-form {
		width: calc(100% - 40px);
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0px;
	}
}


/* Altre classi di posizione, se vuoi */
.img-top-left {
  top: 5%;
  left: 5%;
}
.img-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

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

/* MAPS */

.gmap-container {
	display: flex;
	height: 100vh;
}

/* Sidebar */
.sidebar {
	width: 33.33%;
	max-width: 500px;
	background: var(--tonino-lightgray);
	display: none;
	flex-direction: column;
	transition: transform 0.3s ease;
    position: relative;
	&.visible {
		display: flex;
	}
}

.sidebar.hidden {
	transform: translateX(-100%);
}

.sidebar-header {
	background: #2c3e50;
	color: var(--tonino-white);
	padding: 20px;
	text-align: center;
}

.sidebar-header h2 {
	margin-bottom: 10px;
	font-size: 1.2em;
}

/* Search Section */

.search-section {
	padding: 20px;
	border-bottom: 1px solid var(--tonino-gray);
    position: relative;
}

.search-group label {
	display: block;
	margin-bottom: 10px;
	font-weight: bold;
	color: #2c3e50;
}

.search-label {
    display: flex;
    align-items: center;
    flex-direction: row;
    position: relative;
	z-index: 1001;
    & .sr-only {
        display: none;
    }
    & i {
        position: absolute;
		top: 0;
		right: 0;
        height: 100%;
		aspect-ratio: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: transparent;
		border-radius: 50%;
    }
}

.search-group input[type="text"] {
	width: 100%;
	padding: 8px 15px;
	background-color: var(--tonino-white);
	border-radius: 50px;
	font-size: 14px;
    margin: 0;
	border: 1px solid var(--tonino-lightgray);
	font-family: "Kanit", sans-serif;
	&.searching {
		border-radius: 19px 19px 0 0;
	}
	&:focus, &:focus-visible {
		outline: 0px solid var(--tonino-dark-hover);
		outline-offset: 0px;
	}
}

/* Search Suggestions Dropdown */
.suggestions-dropdown {
    position: absolute;
    top: 30px;
    left: 20px;
    right: 20px;
    background: var(--tonino-white);
    /* border: 1px solid var(--tonino-lightgray); */
    border-radius: 0 0 20px 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    max-height: 300px;
    overflow-y: auto;
    margin-top: 5px;
	padding-top: 20px;
	display: none;
	&.show {
		display: block;
	}
}

.suggestion-item {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    cursor: pointer;
    border-bottom: 1px solid var(--tonino-lightgray);
    transition: background-color 0.2s ease;
}

.suggestion-item:last-child {
    border-bottom: none;
}

.suggestion-item:hover {
    background-color: var(--tonino-light);
}

.suggestion-icon {
    margin-right: 12px;
    color: var(--tonino-red);
    font-size: 16px;
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.suggestion-content {
    flex: 1;
    min-width: 0;
}

.suggestion-main {
    font-weight: 500;
    color: var(--tonino-dark);
    font-size: 14px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.suggestion-sub {
    font-size: 12px;
    color: var(--tonino-gray);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#buttonsContainer {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.btn {
	background: #3498db;
	color: white;
	border: none;
	padding: 10px;
	border-radius: 50px;
	cursor: pointer;
	flex: 1;
	font-size: 14px;
	transition: background 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	font-family: "Georama", sans-serif;
	text-transform: uppercase;
	font-weight: 300;
	font-variation-settings:
	"wdth" 150;
}

.btn:hover {
	background: #2980b9;
}

.btn-secondary {
	background: var(--tonino-gray);
    max-width: 36px;
    aspect-ratio: 1 / 1;
}

.btn-secondary:hover {
	background: var(--tonino-dark-hover);
}

#gpsButtonContainer {
    flex-grow: 1;
}

.btn-gps {
    font-family: "Georama", sans-serif;
    flex: 1;
	text-transform: uppercase;
	background: var(--tonino-dark);
    & i {
        color: var(--tonino-red);
    }
}

.btn-gps:hover {
	background: var(--tonino-dark-hover);
}

.btn-gps:disabled {
	background: var(--tonino-gray);
	cursor: not-allowed;
}

.btn-directions {
	border: 1px solid var(--tonino-red);
	background-color: transparent;
	font-size: 12px;
	padding: 10px 15px;
	color: var(--tonino-dark);
	font-weight: 300;
	margin-top: 15px;
	& i {
		font-size: 14px;
		color: var(--tonino-red);
	}
	&:hover {
		background-color: var(--tonino-red);
		color: white;
		& i {
			color: var(--tonino-light);
		}
	}
}

/* Dealers List */
.dealers-list {
	flex: 1;
	overflow-y: auto;
	padding: 20px;
}

.dealer-item {
	background: var(--tonino-light);
	border-radius: 3px;
    border-left: 2px solid transparent;
	padding: 15px;
	margin-bottom: 15px;
	cursor: pointer;
	transition: all 0.3s;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.dealer-item:hover {
	background-color: #FFF;
	box-shadow: 0 4px 8px rgba(157, 169, 177, 0.2);
	transform: translateY(-3px);
}

.dealer-item.selected {
	border-color: var(--tonino-dark);
	background: var(--tonino-white);
}

.dealer-name {
	font-family: "Georama", sans-serif;
	font-weight: 500;
	font-variation-settings: "wdth" 150;
	text-transform: uppercase;
	color: var(--tonino-dark);
	font-size: 16px;
	margin-bottom: 10px;
}

.dealer-states {
	color: var(--tonino-dark);
	font-size: 14px;
	font-weight: 300;
}

.dealer-location {
	color: #7f8c8d;
	font-size: 13px;
}

.dealer-website {
	font-size: 13px;
}

.dealer-distance {
    display: none;
	font-size: 12px;
}

.dealer-extra-info {
	border-top: 1px solid #ecf0f1;
	font-size: 12px;
}

.dealer-extra-item {
	color: #34495e;
}

.dealer-extra-label {
	font-weight: bold;
	color: #2c3e50;
}

/* Map container */
.map-container {
	flex: 1;
	position: relative;
}

#map {
	width: 100%;
	height: 100vh;
}

/* Toggle button */
.toggle-sidebar {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 1000;
	background: white;
	border: none;
	padding: 10px;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	cursor: pointer;
	width: 45px;
	height: 45px;
	display: none;
	align-items: center;
	justify-content: center;
}

/* Custom InfoWindow */

.gm-style .gm-style-iw-c {
    background: var(--tonino-light);
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    padding: 0;
    font-size: 14px;
    font-family: "Kanit", "Arial", sans-serif !important;
    overflow: unset;
}

.gm-style .gm-style-iw-d {
    overflow: unset !important;
}

.gm-style-iw-chr {
    padding: 0;
    position: absolute;
    top: 5px;
    right: 5px;
    & .gm-style-iw-ch {
        display: none;
    }
}

.gm-ui-hover-effect {
    background: #E8E8E8 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    & > span {
        margin: 0 !important;
        width: 20px !important;
        height: 20px !important;
    }
}

.custom-popup {
	font-family: "Kanit", Arial, sans-serif;
	max-width: 350px;
}

.popup-header {
	color: #3E3E3E;
	padding: 20px;
    border-bottom: 1px solid #d4d4d4;
}

.popup-title {
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 5px;
}

.popup-states {
	font-size: 12px;
	opacity: 0.9;
}

.popup-content {
	padding: 20px;
}

.popup-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
	margin-bottom: 10px;
	font-size: 14px;
	&:last-of-type {
		margin-bottom: 0;
	}
}

.popup-label {
	font-weight: 500;
	color: #3E3E3E;
}

.popup-value {
	color: #5f5f5f;
    text-wrap: pretty;
}

.popup-website {
	color: #e1362b;
	text-decoration: none;
}

.popup-website:hover {
	text-decoration: underline;
}

.popup-extra-section {
	margin-top: 12px;
	padding-top: 8px;
	border-top: 1px solid #ecf0f1;
}

.popup-extra-item {
	margin-bottom: 6px;
	font-size: 13px;
}

/* Status messages */
#statusMessage {
    position: absolute;
    width: calc(100% - 40px);
    left: 20px;
    bottom: 20px;
    box-sizing: border-box;
    transform: translateY(150%);
    transition: transform 0.5s cubic-bezier(0.23,1,0.32,1);
}
#statusMessage.show-status {
    transform: translateY(0);
}
.status-message {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 5px;
	padding: 10px;
	border-radius: 4px;
	font-size: 12px;
	& i {
		font-size: 14px;
	}
}

.status-success {
	background: #d5edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.status-error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.status-info {
	background: #d1ecf1;
	color: #0c5460;
	border: 1px solid #bee5eb;
}

/* Responsive */
@media (max-width: 768px) {
    .toggle-sidebar {
        display: flex;
    }

	.sidebar {
		width: 100%;
		position: absolute;
		z-index: 999;
		height: 100%;
	}

	.container {
		flex-direction: column;
	}

    /* Adattamenti per suggestions dropdown su mobile */
    .suggestions-dropdown {
        left: 10px;
        right: 10px;
    }

    .suggestion-item {
        padding: 10px 12px;
    }

    .suggestion-main {
        font-size: 13px;
    }

    .suggestion-sub {
        font-size: 11px;
    }
}

/* Filter bar when search is active */
.filter-bar {
	background: var(--tonino-lightgray);
	padding: 10px 20px;
	border-bottom: 1px solid var(--tonino-gray);
	font-size: 12px;
	color: #2c3e50;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

#filterText {
	display: flex;
	align-items: center;
	gap: 5px;
	& i {
		font-size: 14px;
	}
}

.filter-clear {
	display: flex;
	align-items: center;
	gap: 5px;
	color: #e74c3c;
	cursor: pointer;
}

/* Scrollbar personalizzata per suggestions dropdown */
.suggestions-dropdown::-webkit-scrollbar {
    width: 6px;
}

.suggestions-dropdown::-webkit-scrollbar-track {
    background: var(--tonino-lightgray);
}

.suggestions-dropdown::-webkit-scrollbar-thumb {
    background: var(--tonino-gray);
}

.suggestions-dropdown::-webkit-scrollbar-thumb:hover {
    background: var(--tonino-dark);
}

/* Table pagina shuttle e Golf */

.table tbody tr th {
	padding: 15px 20px;
}

.table tbody td {
	vertical-align: middle;
}

@media (max-width: 575.99px) {
	.table-container {
		overflow-x: scroll;
	}
	
	.table thead tr th {
		font-size: 14px;
	}
	
	.table tbody tr th {
		padding: 20px 15px;
		font-size: 14px;
	}
	
	.table tbody td {
	vertical-align: middle;
	font-size: 14px;
	}
}


.icon {
	width: var(--50-table);
	height: auto;
}

.info-text {
	text-transform: uppercase;
	rotate: -90deg;
	transform: translate(0%, -100%);
	font-family: var(--georama);
	font-variation-settings: var(--georama150);
	font-weight: 400;
}

.technical-text {
	text-transform: uppercase;
	rotate: -90deg;
	transform: translate(-100%, -100%);
	font-family: var(--georama);
	font-variation-settings: var(--georama150);
	font-weight: 400;
}

.container-btr {
	position: relative;
	width: 100%;
	min-height: 100vh;
}

.space-holder {
	position: relative;
	width: 100%;
}

.sticky {
	position: sticky;
	top: 50px;
	padding-left: 50px;
	width: 100%;
	height: auto;
	overflow: hidden;
	display: flex;
	flex-flow: column;
	box-sizing: border-box;
	padding-bottom: 20px;	
}

.horizontal {
	position: relative;
	height: 50%;
	will-change: transform;
}

.cards {
	position: relative;
	height: 100%;
	padding-left: 100px;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: start;
}

.sample-card {
	position: relative;
	width: 40vw;
	height: 100%;
	margin-right: 30px;
	flex-shrink: 0;
	border-radius: 2px;
}

.sample-card img {
	width: 100%;
	height: auto;
}

.details-title {
	width: fit-content;
}

@media (max-width: 1600px) {
	
	.sticky {
		position: sticky;
		top: 30px;
		padding-left: 30px;
		width: 100%;
		height: auto;
		overflow: hidden;
		display: flex;
		flex-flow: column;
		box-sizing: border-box;
		padding-bottom: 20px;	
	}
	.sample-card {
		position: relative;
		width: 32vw;
		height: 100%;
		margin-right: 30px;
		flex-shrink: 0;
		border-radius: 2px;
	}
}

@media (max-width: 991.99px) {
	
	.sticky {
		position: sticky;
		top: 100px;
		padding-left: 30px;
		width: 100%;
		height: auto;
		overflow: hidden;
		display: flex;
		flex-flow: column;
		box-sizing: border-box;
		padding-bottom: 20px;	
	}
	
	.cards {
		padding-left: 30px;
		height: 57vh;
	}
	
	.sample-card {
		position: relative;
		width: 60vw;
		height: 100%;
		margin-right: 30px;
		flex-shrink: 0;
		border-radius: 2px;
	}
}

@media (max-width: 575.99px) {
	
	.sticky {
	  position: sticky;
	  top: 20px;
	  padding: 0 30px;
	  width: 100%;
	  height: auto;
	  overflow: hidden;
	  display: flex;
	  flex-flow: column;
	  box-sizing: border-box;
	  padding-bottom: 20px;
	}
	
	.horizontal {
		height: 50%;
	}
	
	.cards {
		padding-left: 20px;
		height: 49vh;
	}
	
	.sample-card {
		width: 85vw;
		margin: 30px 30px 30px 0px;
	}
	
	.sample-card img {
		height: 35vh;
		object-fit: cover;
		border-radius: 2px;
	}
}

/* Cover elisse homepage */

@media(min-width:991.99px){
	.container-ellisse{
		position: relative;
		/* left:-10%;
		width:120%; */
	}
	
}


.cover-ellisse{
	position: absolute;
	top:0;
	left:-1px;
	width:calc(100% + 2px);
	height:100%;
}

.cover-ellisse img {
	object-fit: cover;
	height:100%;
}

/* Cookies */

#nk-cookie-page-page .nk-cookie-page-logo{
	height: 65px !important;
}

#nk-cookie-banner-banner .nk-cookie-banner-h1{
	padding-bottom:10px !important;
}

/* captcha */

.grecaptcha-badge{
	display: none !important;
}

.page-template-page-contatti .grecaptcha-badge{
	display: flex !important;
}