/*!
Theme Name: custom
Theme URI: https://www.lucalarice.com/
Author: Luca Larice
Author URI: https://www.lucalarice.com/
Description:
Version: 1.0.0
*/


/*--------------------------------------------------------------
# FONTS
--------------------------------------------------------------*/
@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("assets/fonts/Plus_Jakarta_Sans/PlusJakartaSans-VariableFont_wght.ttf") format("truetype-variations");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}



/*--------------------------------------------------------------
# UTILITY: font
--------------------------------------------------------------*/
.bold{font-weight: 600;}
b, strong{font-weight: 600;}
.full-height{height:100%;}
.uppercase{text-transform: uppercase;}
.lowercase{text-transform: lowercase;}



/*--------------------------------------------------------------
# UTILITY: colors
--------------------------------------------------------------*/
.bg-white{background-color: #fff;}
.bg-black{background-color: #000;}



.bg-lilla{background-color: #EFEAFD;}
.bg-lilla1{background-color: #9C7CF4;}
.bg-lilla2{background-color: #D5C7FA;}
.bg-green{background-color: #1A9AA2;}
.bg-light-green{background-color: #B7C9C6;}
.bg-light-green1{background-color: #94C7D0;}
.bg-white1{background-color: #FAF8FF;}


.white, .white a, .white h1, .white h2, .white h4, .white h5, .white a:hover, .white a:visited, .white h3, .white h6{color: #fff;}

.grey{color: #E3EAE9 !important;}
.green{color: #1F5645 !important;}
.light-green, a.light-green, a.light-green:visited,  .light-green a, .light-green a:visited{color: #74968E;}
.lilla{color: #9C7CF4 !important;}




/*--------------------------------------------------------------
# GENERAL SETUP
--------------------------------------------------------------*/
.container-fluid {
	width: 95%;       /* sempre il 90% dello schermo */
	max-width: 768px; /* ma non oltre i 1600px */
	margin: 0 auto;
}
.container-fluid-full{
	width: 100%;
	max-width: 100%;
}


html{
	font-size: 58.5%; /* $rembase = 10px */
}
body {
	background: #EFEAFD; /* Fallback for when there is no custom background color defined. */
}
ul, ol {
	margin: 0 0 1.5rem 1.5rem;
	padding: 0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul, li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}
hr {
	border: 0;
	height: 1px !important;
	margin-top: 1em;
	margin-bottom: 1em;
	color: #B8A1F7;
	width: 100%;
	background: #B8A1F7;
	opacity: 1;
}

.text-center hr{margin: 1em auto;}
.text-end hr{margin: 1em 0 1em auto;}

hr.white{
	color: #fff;
	background-color: #fff;
}
hr.hr-full{
	width: 100%;
}

.two-columns{
	column-count: 2;
	column-gap: 30px;
}


/*--------------------------------------------------------------
# TYPOGRAPHY
--------------------------------------------------------------*/
body, button, input, select, textarea {
	font-family: "Plus Jakarta Sans";
	font-size: 1.6rem; /* 13 ÷ $rembase */
	letter-spacing: 5%;
	font-weight: 400;
	line-height: 160%;
	color: #0E5358;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: "Plus Jakarta Sans";
	font-style: normal;
	clear: both;
}
h1, .h1{
	font-size: 3rem;
	margin-bottom: 2rem;
	color: #184334;
}
h2, .h2{
	font-size: 2.5rem;
	font-weight: 400;
	margin-bottom: 2rem;
	color: #184334;
	line-height: 121%;
}
h3, .h3{
	font-size: 2.3rem;
	margin-bottom: 2rem;
	color: #184334;
	font-weight: 400;
	line-height: 121%;
}
h3 em{
	background-image: linear-gradient(#fff 0, #fff 60%);
	background-size: 100% 1em;
	background-position: 0 90%;
	background-repeat: no-repeat;
	font-style: unset;
}
h4, .h4{
	font-size: 1.8rem;
	color: #9C7CF4;
	margin-bottom: 1rem;
	font-weight: 400;
}
h5, .h5{
	font-size: 1.2rem;
	margin-bottom: 2rem;
	text-transform: uppercase;
	color: #9C7CF4;
	letter-spacing: 15%;
}
h6, .h6{
	font-size: 1.4rem;
	margin-bottom: 1rem;
	font-weight: bold;
}

p {
	margin-bottom: 1.6rem;
}


.no-space p, .title-no-margin h4, .title-no-margin h3, .title-no-margin h2{margin-bottom: 0}

.sticky-top{z-index: 10;}

blockquote{
	color: #9C7CF4;
	font-size: 2.2rem;
	line-height: 120%;
}


/*--------------------------------------------------------------
# LINKS
--------------------------------------------------------------*/
a {
	color: #9C7CF4;
	text-decoration: underline;
}
a:visited {
	color: #9C7CF4;
}
a:hover, a:focus, a:active {
	color: #9C7CF4;
	text-decoration: none;
}
a:focus {
	outline: 0;
}
a:hover, a:active {
	outline: 0;
}


/*--------------------------------------------------------------
# GLOBAL
--------------------------------------------------------------*/
#content{
	min-height: 600px;
}

.video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	margin-top:3px;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

a.link-button, .link-button a {
	background: #1A9AA2;
    color: #fff;
    border: 1px solid #1A9AA2;
    font-size: 1.2rem;
	letter-spacing: 15%;
    padding: .5rem 3rem;
    display: inline-block;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.4s ease, background-color 0.4s ease;
    overflow: hidden;
    z-index: 1;
	-webkit-border-radius: 80px;
	-moz-border-radius: 80px;
	border-radius: 80px;
}
a.link-button:hover, .link-button a:hover {
	background-color: #9C7CF4;
	border: 1px solid #9C7CF4;
	text-decoration: none !important;
	color: #fff;
}
a.link-button-white, a.link-button-white:visited, .link-button-white a, .link-button-white a:visited{
	border: 1px solid #fff;
	background-color: #fff;
	color: #9C7CF4;
}
a.link-button-white:hover, .link-button-white a:hover{
	border: 1px solid #fff;
	color: #fff !important;
}

a.link-button-w, a.link-button-w:visited, .link-button-w a, .link-button-w a:visited{
	border: 1px solid #fff;
	background-color: transparent;
	color: #fff;
}
a.link-button-w:hover, .link-button-w a:hover{
	border: 1px solid #fff;
	background-color: #fff;
	color: #9C7CF4;
}

a.link-button-line, a.link-button-line:visited, .link-button-line a, .link-button-line a:visited{
	border: 1px solid #1A9AA2;
	background-color: transparent;
	color: #1A9AA2;
}
a.link-button-line:hover, .link-button-line a:hover{
	background: #1A9AA2;
	border: 1px solid #1A9AA2;
    color: #fff;
}

a.link-button-lilla, a.link-button-lilla:visited, .link-button-lilla a, .link-button-lilla a:visited{
	border: 1px solid #9C7CF4;
	background-color: #9C7CF4;
	color: #fff;
}
a.link-button-lilla:hover, .link-button-lilla a:hover{
	background: #fff;
	border: 1px solid #fff;
    color: #9C7CF4;
}


a.link-button-line-lilla, a.link-button-line-lilla:visited, .link-button-line-lilla a, .link-button-line-lilla a:visited{
	border: 1px solid #9C7CF4;
	background-color: transparent;
	color: #9C7CF4;
}
a.link-button-line-lilla:hover, .link-button-line-lilla a:hover{
	background: #9C7CF4;
	border: 1px solid #9C7CF4;
    color: #fff;
}

a.link-button-y, a.link-button-y:visited, .link-button-y a, .link-button-y a:visited{
	background-color: #FCEE2F;
	color: #1F5645;
}


.link-download, a.link-download:visited, a.link-download:focus{
  color: #14747B;
  text-transform: uppercase;
  font-size: 1.4rem;
}
.link-download::before{
  content: '';
  display:inline-block;
  width:20px;
  height: 20px;
  background: url('assets/images/download.svg');
  background-size: contain;
  vertical-align: sub;
  margin-right: 3px;
}



/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	width: 100%;
	position: relative;
}
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.main-navigation li {
	display: inline-block;
	position: relative;
	margin: 0px;
	text-align: left;
	padding: 0 10px;
}
.main-navigation li:first-child{
	margin-left: 0;
}
.main-navigation li:last-child{
	margin-right: 0;
}
.main-navigation a {
	display: block;
	text-decoration: none;
	font-size: 1.4rem;
	letter-spacing: 15%;
	font-weight: bold;
	padding: 0px 5px;
	color: #083235;
}

.main-navigation li:hover > a,
.main-navigation li.focus > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-page-ancestor > a,
.main-navigation .current-menu-ancestor > a {
  text-decoration: none;
}


#main-menu > li:hover > a::after,
#main-menu > li.focus > a::after,
#main-menu > .current_page_item > a::after,
#main-menu > .current-menu-item > a::after,
#main-menu > .current_page_ancestor > a::after,
#main-menu > .current-page-ancestor > a::after,
#main-menu > .current-menu-ancestor > a::after {
  content: '';
  position: absolute;
  width: 105%;
  height: 34%;
  margin-top: 1px;
  margin-left: -2%;
  background-color: #fff;
  z-index: -1;
}

#main-menu > li.menu-item-has-children > a span.menu-arr{
	content: "";
	display: inline-block;
	margin-left: 3px;
	width: 8px;
	height: 8px;
	background: url('assets/images/arr-down.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}

.main-navigation a:hover{
	text-decoration: underline;
}





/* === ANCORAGGIO === */
#header { position: relative; z-index: 50; }          /* il mega si posiziona rispetto all'header */
.main-navigation { position: static; }                /* evita che faccia da containing block */
#main-menu { display: flex; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
#main-menu > li { position: relative; }
#main-menu > li.menu-item-has-children { position: static; } /* importante per full-width */
#main-menu > li > a { position: relative; display: inline-flex; align-items: center; padding: 14px 6px; text-decoration: none; }

#main-menu > li.fw-bold > a{
	font-weight: bold;
}


/* buffer anti-flicker tra voce top e pannello */
#main-menu > li.menu-item-has-children { --hover-buffer: 20px; }
#main-menu > li.menu-item-has-children > a::before{
  content: ""; position: absolute; left: 0; right: 0; bottom: calc(-1 * var(--hover-buffer)); height: var(--hover-buffer);
}

/* === PANNELLO FULL-WIDTH === */
#main-menu > li > .sub-menu.mega-grid{
  position: absolute;
  top: calc(100% + 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  padding: 28px calc((100vw - 1320px) / 2);
  list-style: none;
  display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 24px;
  background: #EDEDED;
  box-shadow: 0 20px 40px rgba(0,0,0,.08);
  visibility: hidden; opacity: 0; pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 1000;
}



/* mostra pannello */
#main-menu > li.menu-item-has-children:hover > .sub-menu.mega-grid,
#main-menu > li.menu-item-has-children:focus-within > .sub-menu.mega-grid{
  visibility: visible; opacity: 1; pointer-events: auto;
}

/* === COLONNE (funziona sia con <li class="mega-col"> che con <div class="mega-col">) === */
#main-menu > li > .sub-menu.mega-grid > .mega-col { grid-column: span 3; }           /* 4 colonne = 12 */
#main-menu > li > .sub-menu.mega-grid > .mega-col.mega-wide { grid-column: span 6; } /* utility */
#main-menu > li > .sub-menu.mega-grid > .mega-col.mega-right { grid-column: 9 / 13;} /* utility */

#main-menu > li > .sub-menu.mega-grid .mega-title{
  font-weight: 700;
  margin: 0 0 10px;
  color: #1F5645;
  text-transform: uppercase;
}
#main-menu > li > .sub-menu.mega-grid .mega-links{ list-style: none; margin: 0; padding: 0; }
#main-menu > li > .sub-menu.mega-grid .mega-links > li > a{
  display: inline-block;
  padding: 6px 0;
  text-decoration: none;
  color: #1F5645;
  text-transform: none;
  font-size: 1.3rem;
}
#main-menu > li > .sub-menu.mega-grid .mega-links > li > a:hover{ text-decoration: underline; }

/* i “titoli” (item senza href) non devono sembrare link */
.is-title-link { cursor: default; color: inherit; }



/* === COMPAT: neutralizza i default del tema SOLO sui sottomenu NON-mega === */
.main-navigation .menu > li > .sub-menu:not(.mega-grid){ display: none; }



.main-navigation .sub-menu li{
	padding: 0;
	display: block;
}

.mega-slot img:hover{
	opacity: .8;
}







/* ===== MOBILE MENU ===== */
#mobile-menu, #mobile-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
#mobile-menu > li, #mobile-menu .sub-menu > li {
  border-bottom: 1px solid #9C7CF4;
}
#mobile-menu .is-open > a{display: none}

#mobile-menu a, #mobile-menu .sub-menu a {
  display: block;
  padding: 2rem 1.5rem;
  text-decoration: none;
  font-size: 1.5rem;
  text-transform: none;
  letter-spacing: 15%;
  font-weight: bold;
  color: #083235;
  text-align:center;
}
#mobile-menu .sub-menu a {
	color: #1F5645;
	font-size: 1.3rem;
	text-transform: none;
	font-weight: 400;
	padding: 1.5rem 1.5rem;
}
#mobile-menu .sub-menu .menu-item-type-custom a{
	font-weight: bold;
	text-transform: uppercase;
}
#mobile-menu .menu-arr{
	content: '';
	width: 10px;
	height: 10px;
	background: url('assets/images/arr-right.png') no-repeat center center;
	background-size: contain;
}



/* Nascondi sub-menu di default */
#mobile-menu .sub-menu {
  display: none;
}

/* Mostra solo quello aperto */
#mobile-menu .is-open > .sub-menu {
  display: block;
}

/* Quando apro un pannello, nascondo tutti i root tranne quello attivo */
.mobile-root-hidden > li {
  display: none;
}

.mobile-root-hidden > li.is-open {
  display: block;
}

/* ===== PANEL HEADER (barra gialla) ===== */
.mobile-panel-header {
  background: #F3EA53;
  padding: 1.5rem 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid #e6e6e6;
}

.mobile-panel-header button{
	font-size: 2.3rem;
  	line-height: 2.3rem;
}

.mobile-panel-header .panel-back {
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 1.8rem;
  padding: 1.5rem 1.5rem;
  cursor: pointer;
  color: #1f3a32;
}
.mobile-panel-header button{
	background: transparent;
	border: 0 none;
	position: absolute;
}
.mobile-panel-header .panel-title {
  font-size: 1.5rem;
  color: #091B12;
  text-align: center;
}

/* ===== TRANSIZIONE E ANIMAZIONE ===== */
#mobile-menu .sub-menu {
  animation: slideIn .3s ease forwards;
}

@keyframes slideIn {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ===== SCROLLBAR ===== */
#mobile-menu .sub-menu::-webkit-scrollbar {
  width: 6px;
}
#mobile-menu .sub-menu::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}
#mobile-menu .sub-menu::-webkit-scrollbar-track {
  background: #f8f8f8;
}







/*--------------------------------------------------------------
# MOBILE - MENU - SLIDEOUT
--------------------------------------------------------------*/
.mobile-menu-overlay {
	overflow-x: hidden;
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	height: 0;
	width: 100%;
	transition: all 0.5s ease 0s;
}
.menu-icon svg{
	fill: #1A0564;
	width: 17px;
}
.menu-icon{
	padding: 4px 8px 5px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}









/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header{
	border-bottom: 1px solid #fff;
}
.site-title{
	margin-bottom: 0;
	line-height: 0;
}
.site-title img{
	width: 90px;
}
.header-logo{
	transition: all 0.5s ease 0s;
}

.pre-header{
	font-size: 1.3rem;
	background: #D5C7FA;
	background: linear-gradient(90deg, rgba(213, 199, 250, 1) 0%, rgba(26, 154, 162, 1) 100%);
}
.pre-header a, .pre-header a:visited{
  color: #0E5358;
}

.menu-shop a{
	text-transform: uppercase;
	color: #1A9AA2;
}

.shop-icons {
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.shop-icons .icon-link {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
}
.shop-icons .icon-link img {
  width:100%;
  height:auto;
  display:block;
}
.shop-icons .cart .counter {
  position:absolute;
  top:-6px;
  right:-5px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#1A9AA2; /* colore badge */
  color:#fff;
  font-size:12px;
  line-height:1;
  border-radius:999px;
}

.box-menu img{
	width: 150px;
}



/* stato sticky del #header */
#header.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: #EFEAFD;
  transform: translateY(-100%);
  opacity: 0;
  animation: spw-slide-down .35s ease-out forwards;
}
#header.is-sticky.bg-light-green1{
  background: #94C7D0;
}
/* animazione dall’alto */
@keyframes spw-slide-down {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/* admin bar di WordPress */
body.admin-bar #header.is-sticky { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar #header.is-sticky { top: 46px; }
}
/* quando sticky nascondi la pre-header */
#header.is-sticky .pre-header {
  display: none !important;
}











/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.moove-gdpr-branding-cnt{display: none}
.site-footer{
	font-size: 1.1rem;
}
.site-footer h5{
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 50%;
	font-size: .9rem;
}
.site-footer ul{
	list-style-type: none;
	margin-left: 0;
}
.site-footer a, .site-footer a:visited{
	color: #fff;
	text-decoration: none;
}
.site-footer a:hover{
	text-decoration: underline;
}
.footer-navigation a{
	font-size: 1.1rem;
	text-transform: uppercase;
	line-height: 220%;
	letter-spacing: 15%;
	font-weight: bold;
}
.footer-logo{
	filter: brightness(0) invert(1);
	width: 150px;
}
.line-top-footer{
	border-top: 1px solid #fff;
}

.social img{
	width: 1.5rem;
	margin: 0 5px;
	filter: invert(100%);
}
.social a:hover{
	text-decoration: none;
}

.social-side{
	position: fixed;
	top: 30%;
	right: 0;
  z-index: 999;
}
.social-side a{
	display: block;
	background-color: #9C7CF4;
	padding: 3px 2px 6px 8px;
	-webkit-border-top-left-radius: 16px;
	-webkit-border-bottom-left-radius: 16px;
	-moz-border-radius-topleft: 16px;
	-moz-border-radius-bottomleft: 16px;
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
	margin-bottom: 5px;
}
.social-side img{
	width: 1.5rem;
}

#sb_instagram #sbi_images{
  padding: 0;
}

.logo-box {
  height: 100px; /* fondamentale */
  display: flex;
  align-items: center;
  justify-content: center;
}

.collaboratori-img {
  max-height: 70px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
}

#newsletterForm{
  max-width: 700px;
}


/*--------------------------------------------------------------
# LINGUA
--------------------------------------------------------------*/
.lag-top{
}
.wpml-ls-legacy-dropdown, .wpml-ls-legacy-dropdown-click{
	width: auto;
	margin-top: 0px;
	margin-left: 0px;
	border: 0 none;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;

}
.wpml-ls-legacy-dropdown a, .lang-top .wpml-ls-legacy-dropdown-click a{
	color: #fff !important;
	font-size: 1.1rem;
	text-decoration: none;
	background-color: transparent !important;
	border: 0 none !important;
	padding-top: 12px;
	padding-bottom: 11px;
	padding-left: 12px;
	text-align: left;
}
.wpml-ls-legacy-dropdown-click a{
	border: 0 none !important;
	background-color: transparent;
}
.header-small .lang-top .wpml-ls-legacy-dropdown-click a{
	font-size: .9rem;
	padding-top: 10px;
  	padding-bottom: 9px;
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .lang-top .wpml-ls-legacy-dropdown-click a:hover{
	background-color: transparent !important;
	text-decoration: none;
}
.wpml-ls-legacy-list-horizontal a, .wpml-ls-legacy-dropdown-click a{
	color: #fff !important;
	font-size: 1.3rem;
	line-height: 1.3rem;
	text-align: center;
}
.wpml-ls-current-language:hover a, .wpml-ls-current-language a{
	text-decoration: none;
}
.wpml-ls-sub-menu{
	border: 1px solid rgba(70, 74, 78, .7) !important;
	margin-top: 6px !important;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	background-color: rgba(51, 57, 60, .7);
}
.wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a, .wpml-ls-legacy-dropdown-click a:focus, .wpml-ls-legacy-dropdown-click a:hover{
	background-color: transparent;
}
.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
	border: 0 none;
	background-image: url('assets/images/down.svg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	top: calc(30%);
	width: 20px;
  	height: 15px;
}




/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
.video-hero{
	min-height: 70vh;
}


.dots .slick-dots{
	top: 10px;
	text-align: right;
	padding-right: 20px;
}
.slick-dots li{
	margin: 0 1px;
}
.slick-dots li.slick-active button::before {
	color: #CAD1E1;
	font-size: 10px;
}
.slick-dots li button::before{
	color: #fff;
	opacity: 1;
	font-size: 10px;
}
.slick-dotted.slick-slider{
	margin-bottom: 0;
}
.slick-slider.no-dots .slick-dots {
	display: none !important;
}

.rank-math-breadcrumb{
	text-transform: uppercase;
	font-size: 1.3rem;
}
.rank-math-breadcrumb a{
	color: #0E5358;
}
.rank-math-breadcrumb p{
	margin-bottom: 0;
}


/* SLIDESHOW */
.slideshow { position: relative; }
.slideshow-slide {
	position: relative;
	overflow: hidden;
}
.slideshow-img {
	display:block;
	height: calc(100vh - 152px);
	object-fit: cover;
}

@media (max-width: 768px){
	.slideshow-img {
		height: calc(80vh - 152px);
	}
}
.slideshow-overlay {
	position: absolute;
	inset: 0;
	display: grid;
	align-items: end;
  z-index:100;
}
.slideshow-text {
	max-width: 720px;
}
.slideshow-text h2{
  font-size: 5rem;
  font-weight: 300;
}


.slideshow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0px;
  transform: translateX(-50%);
  width: 60px;
  height: 55px;
  background: url('assets/images/scroll-down.png') no-repeat center;
  background-size: contain;
  z-index: 20;
}



@media (min-width: 992px) {
  #popup-24h .popup-left {
    min-height: 500px;
  }
}
#popup-24h .popup-left {
  background-size: cover;
  background-position: center;
 }
#popup-24h{
	padding: 0;
}

.service-icon-wrap{
	position: relative;
	height: 90px;
	overflow: hidden;
	background-color: #d4d4e9;
	border-radius: 30px;
	display: inline-block;
}
.service-icon{
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	transition: transform 0.6s ease;
	padding: 20px;
}
.service-icon-wrap:hover .service-icon{
	transform: scale(1.1);
}

.service-img-wrap {
	position: relative;
	height: 230px;
	overflow: hidden;
	border-radius: 9999px 9999px 0 0;
}
.service-img-wrap-small{
  height: 200px;
}
.service-img-wrap-no-radius{
	border-radius: 0;
}
.service-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
}
.service-img-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.25);
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
}
.service-img-wrap:hover .service-img {
	transform: scale(1.06);
}
.service-img-wrap:hover .service-img-overlay {
	opacity: 1;
}

.service-link, .service-link:visited{
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 2rem;
	line-height: 121%;
	color: #083235;
	text-decoration: none;
}
.service-link-text {
	flex: 1;
}
.service-link-arrow {
	width: 18px;
	height: 18px;
	background: url("assets/images/r-arrr.png") no-repeat center center;
	background-size: contain;
	margin-top: 2px;
	transition: transform 0.35s ease;
}
.service-link:hover .service-link-arrow {
	transform: translateX(8px);
}

/* NUVOLE */
.bg-nuvole {
	position: relative;
	padding-top: 50px;
}
.bg-nuvole::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 45px;
	background-color: #efeafd;
	background-image: url("assets/images/nuvola.svg");
	background-repeat: repeat-x;
	background-position: top center;
	background-size: auto 100px;
}

/* NUVOLE BOTTOM */
.bg-nuvole-btm {
	position: relative;
	padding-bottom: 50px;
}
.bg-nuvole-btm::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 45px;
	background-color: #FAF8FF;
	background-image: url("assets/images/nuvola-btm.svg");
	background-repeat: repeat-x;
	background-position: bottom center;
	background-size: auto 100px;
}


.numeri-count{
	font-weight: 700;
	line-height: 121%;
	font-size: 4rem;
}
.numeri-text{
	text-transform: uppercase;
	font-size: 1.8rem;
}

.titolo-formazione{
  color: #9C7CF4;
  font-size: 2.5rem;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  line-height: 1.1;
}

.titolo-formazione-w{
  color: #fff;
}

.titolo-formazione span{
  background-image: url("assets/images/nuvola-lilla.svg");
  color: #fff;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  padding: 25px 23px 0;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  width: 65px;
  min-width: 65px;
  flex-shrink: 0;
  margin-right: 0;
}
@media (max-width: 991.98px) {
  .titolo-formazione span{
    padding: 12px 12px 0;
  }
}

.titolo-formazione-w span{
  background-image: url("assets/images/nuvola.svg");
  color: #1A9AA2;
}
@media (max-width: 991.98px) {
  .titolo-formazione-w span{
    font-size: 2rem;
  }
}

.testo-formazione{
  padding-left: 77px;
}

.nuvola-lila{
	background-image: url("assets/images/nuvola-lilla.svg");
	background-size: contain;
	background-position: right bottom -40px;
	background-repeat: no-repeat;
}
@media (max-width: 991.98px) {
  .nuvola-lila{
    background-size: 200px;
  }
}
.nuvola-lila2{
	background-image: url("assets/images/nuvola-lilla2.svg");
	background-size: contain;
	background-position: right bottom -40px;
	background-repeat: no-repeat;
}
@media (max-width: 991.98px) {
  .nuvola-lila2{
    background-size: 200px;
  }
}

.box-footer{
	min-height: 250px;
}
@media (max-width: 991.98px) {
  .box-footer{
    min-height: 190px;
  }
}



/*--------------------------------------------------------------
# IMAGES
--------------------------------------------------------------*/
.img-4-3 {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.img-4-3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*--------------------------------------------------------------
# HOME
--------------------------------------------------------------*/
.news-link-home a{
	display: block;
	border-bottom: 1px solid #1A9AA2;
	padding: 10px 60px 10px 0;
	text-decoration: none;
	color: #0E5358;
	background: url("assets/images/arr-r.png") no-repeat center right 10px;
	background-size: 35px;
	margin-top: 2px;
	transition: background-position 0.35s ease;
	font-size: 1.8rem;
	line-height: 160%;
}
.news-link-home a:hover{
	background-position: calc(100%) center;
}









/*--------------------------------------------------------------
# EVENTO
--------------------------------------------------------------*/
.border-grey{
	border: 1px solid #F2F2F2;
}
.event-icon::before{
	content: '';
	width: 20px;
	height: 20px;
	background-size: contain;
	display: inline-block;
	margin-right: 10px;
	vertical-align: sub;
}
.event-clock::before{
	background-image: url('assets/images/time.png');
}
.event-map::before{
	background-image: url('assets/images/map.png');
}
.event-map-lilla::before{
	background-image: url('assets/images/map-lilla.png');
}
.event-baby::before{
	background-image: url('assets/images/baby.png');
}
.event-calendario::before{
	background-image: url('assets/images/cal.png');
}

.event-btn{
	background: #B8A1F7;
	color: #fff;
	padding: 5px 15px;
	border-radius: 8px;
	display: inline-block;
	text-transform: uppercase;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 15%;
  margin-bottom:5px;
}
.event-btn::before{
	content: '';
	width: 20px;
	height: 20px;
	background-size: contain;
	display: inline-block;
	margin-right: 10px;
	vertical-align: text-bottom;
}
.event-posti::before{
	background-image: url('assets/images/fuoco.png');
}
.event-dote::before{
	background-image: url('assets/images/fam.png');
}
.event-gift::before{
	background-image: url('assets/images/gift.png');
}

.event-news-date{
	background: #9C7CF4;
	color: #fff;
	font-size: 300;
	position: absolute;
	text-align: center;
	padding: 10px 10px 5px 10px;
	left: 20px;
}
.news-date-day{
	font-size: 3.5rem;
}
.news-date-month{
	font-size: 1rem;
}
.caratteristiche{
  min-height:44px;
}
.event-caratt{
	background-color: #fff;
	color: #9C7CF4;
	text-transform: uppercase;
	padding: 0 10px;
	font-size: .8rem;
	display: inline-block;
	border-radius: 4px;
}
@media (max-width: 991.98px) {
  .event-caratt{
    font-size: 1rem;
  }
}

#form-prenotazione, #lista-attesa{
	max-width: 900px;
}
.repeat_btn svg{
	fill:#B8A1F7;
}



.collab-filters{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.collab-name{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  background:transparent;
  border:0;
  padding:0;
  text-align:left;
  cursor:pointer;
  text-transform: uppercase;
  font-size: 1.2rem;
}
.collab-name::before{
  content:"";
  width:14px;
  height:14px;
  border:1px solid #bbb;
  border-radius:3px;
  display:inline-block;
}
.collab-name.is-active::before{
  background:#9C7CF4; /* viola tipo screenshot */
  border-color:#9C7CF4;
}
.collab-panel[hidden]{
  display:none !important;
}



.evento-label-icon{
  position: relative;
  padding-left: 32px;
  text-transform: uppercase;
}
.evento-label-icon::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 25px;
  height: 25px;
  background-size: contain;
  background-repeat: no-repeat;
}
.evento-label-icon-data::before {
  background-image: url("assets/images/cal.png");
}
.evento-label-icon-ora::before {
  background-image: url("assets/images/time.png");
}
.evento-label-icon-ticket::before {
  background-image: url("assets/images/ticket.png");
}

.slot-btn{
  border: 1px solid #D7D7D7;
  padding: 10px 15px;
}
.slot-btn:active, .slot-btn:focus-visible{
  color: initial;
  background: transparent;
  box-shadow: none;
  border: 1px solid #D7D7D7;
}
.slot-btn:hover{
  background: #9C7CF4;
  color: #fff;
}
.slot-btn:hover .slot-btn-time{
  color: #fff;
}
.slot-btn-time{
  color: #000;
  font-size: 1.4rem;
  font-weight: 600;
}
.slot-btn-price{
  font-size: 1.4rem;
}

#children-fields input{
  padding: 10px 10px;
  font-size: 1.3rem;
}

.btn-primary{
	background-color: #9C7CF4 !important;
  border: 0 none;
	color: #fff !important;
	border-radius: 80px !important;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.4rem;
	padding: 14px 50px
}
.btn-primary:hover{
  background-color: #1a9aa2 !important;
}
.btn-light{
  background-color: #9C7CF4 !important;
  color: #fff !important;
  border-radius: 0 none;
}
.border-viola{border-color:#9C7CF4 !important;}

/* Chrome, Safari, Edge */
input[type="number"].event-number-bambini::-webkit-outer-spin-button,
input[type="number"].event-number-bambini::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type="number"].event-number-bambini {
  -moz-appearance: textfield;
}
.event-number-bambini{
  border: 0 none;
  font-weight: bold;
  font-size: 1.4rem;
  width: 20px;
  padding: 0;
  text-align: center !important;
}

#ora-summary{
  color: #000;
}
#form-dati-ecom, .popup-box{
  max-width: 90%;
  max-height: 90%;
}

.slot-btn-note{
  display: block;
  padding: 5px 0;
  font-size: 1.3rem;
}
.child-cf{text-transform:uppercase;}



/*--------------------------------------------------------------
# CREAALCUBO
--------------------------------------------------------------*/
.gallery-slideshow-cut .slide {
    aspect-ratio: 1 / 1; /* proporzione immagine */
    overflow: hidden;
}

.gallery-slideshow-cut .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* riempie e taglia in modo elegante */
    display: block;
}

.gallery-slideshow {
    position: relative;
}
.gallery-slideshow .slick-prev:before,
.gallery-slideshow .slick-next:before {
    display: none;
}
.gallery-slideshow .slick-prev,
.gallery-slideshow .slick-next {
    top: auto;
    bottom: 60px;
    transform: none;
    z-index: 10;
}
.gallery-slideshow .slick-prev {
    right: 60px;
    left: auto;
}
.gallery-slideshow .slick-next {
    right: 20px;
}
.gallery-slideshow .custom-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.gallery-slideshow .custom-arrow img {
    width: 30px;
    height: auto;
}
.gallery-slideshow .slick-prev, .gallery-slideshow .slick-next{
    width: 30px;
}


/* NUVOLE */
.bg-nuvole-slideshow {
	position: relative;
	padding-top: 0px;
}
.bg-nuvole-slideshow::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 55px;
	background-image: url("assets/images/nuvola-w-btm.svg");
	background-repeat: repeat-x;
	background-position: bottom center;
	background-size: auto 100px;
  z-index:10;
}

@media (max-width: 991.98px) {
  .bg-nuvole-slideshow::before {
    height: 35px;
    background-size: auto 55px;
  }
}



/* NUVOLE BOTTOM */
.bg-nuvole-slideshow-btm {
	position: relative;
	padding-bottom: 10px;
}
.bg-nuvole-slideshow-btm::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 55px;
	background-image: url("assets/images/nuvola-green.svg");
	background-repeat: repeat-x;
	background-position: top center;
	background-size: auto 100px;
}

@media (max-width: 991.98px) {
  .bg-nuvole-slideshow-btm::after {
    height: 35px;
    background-size: auto 55px;
  }
}

.cubo-text-small p{
  margin-bottom:1rem;
}
.cubo-text-small{
  font-size: 1.2rem;
  line-height:1.6rem;
}
@media (max-width: 991.98px) {
  .cubo-text-small{
    font-size: 1.5rem;
    line-height:1.8rem;
  }
}




/*--------------------------------------------------------------
# CREACUBO WIZARD
--------------------------------------------------------------*/
.guided-wizard .wizard-box,
.guided-wizard .wizard-summary-box {
    background: #fff;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 6px 20px rgba(0,0,0,.05);
}

.guided-wizard .wizard-step-title {
    font-size: 1.8rem;
    line-height: 2rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: #2d3340;
}

.guided-wizard .wizard-step-text {
    font-size: 1.4rem;
    line-height: 1.6;
    color: #5e6470;
}

.guided-wizard .wizard-size-btn {
    border: 1px solid #d9cff3;
    background: #fff;
    color: #2d3340;
    border-radius: 18px;
    padding: 16px 20px;
    font-size: 1.1rem;
    font-weight: 700;
    transition: .2s ease;
}

.guided-wizard .wizard-size-btn.active,
.guided-wizard .wizard-size-btn:hover {
    background: #9a7cf5;
    border-color: #9a7cf5;
    color: #fff;
}

.guided-wizard .wizard-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #ece6fa;
    border-radius: 22px;
    background: #fff;
    overflow: hidden;
    transition: .2s ease;
}

.guided-wizard .wizard-product-card.is-selected {
    border-color: #9a7cf5;
    box-shadow: 0 10px 24px rgba(154, 124, 245, .18);
}

.guided-wizard .wizard-product-thumb img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.guided-wizard .wizard-product-placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f1f1f1;
}

.guided-wizard .wizard-product-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.guided-wizard .wizard-product-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #2d3340;
}

.guided-wizard .wizard-product-description {
    font-size: .95rem;
    color: #5e6470;
    line-height: 1.5;
    margin-bottom: 16px;
}

.guided-wizard .wizard-product-meta {
    margin-top: auto;
}

.guided-wizard .wizard-product-size {
    font-size: 1.3rem;
    color: #5e6470;
    margin-bottom: 8px;
}

.guided-wizard .wizard-product-price {
    font-size: 1.3rem;
    font-weight: 700;
    color: #222;
}

.guided-wizard .wizard-product-stock {
    font-size: 1.1rem;
    line-height: 1.4rem;
    margin-top: 6px;
    color: #6b7280;
}

.guided-wizard .wizard-toggle-btn {
    border-radius: 999px;
    padding: 13px 18px;
    font-weight: 700;
    border: 1px solid #9a7cf5;
    background: #fff;
    color: #9a7cf5;
    transition: .2s ease;
}

.guided-wizard .wizard-toggle-btn.is-selected,
.guided-wizard .wizard-toggle-btn:hover {
    background: #9a7cf5;
    color: #fff;
}

.guided-wizard .wizard-toggle-btn.is-disabled,
.guided-wizard .wizard-toggle-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.guided-wizard .wizard-summary {
    position: sticky;
    top: 20px;
}

.guided-wizard .wizard-summary-image img {
    border-radius: 24px;
    display: block;
    width: 100%;
    object-fit: cover;
}

.guided-wizard .wizard-summary-title {
    font-size: 2rem;
    line-height: 1.1;
    color: #1f4b43;
    font-weight: 500;
    margin: 0;
}

.guided-wizard .wizard-summary-heading {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 18px;
    color: #2d3340;
}

.guided-wizard .wizard-summary-row,
.guided-wizard .wizard-summary-product {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    font-size: 1.2rem;
    color: #374151;
}
#wizard-summary-size{
  font-size: 1.2rem;
}

.guided-wizard .wizard-summary-products-list {
    border-top: 1px solid #ece6fa;
    border-bottom: 1px solid #ece6fa;
    margin: 14px 0;
    padding: 10px 0;
}

.guided-wizard .wizard-summary-total-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 16px;
    font-size: 1.4rem;
    font-weight: 700;
    color: #2d3340;
}

.guided-wizard .wizard-summary-empty {
    color: #6b7280;
    font-size: .95rem;
    padding: 12px 0;
}

.guided-wizard .wizard-submit-btn {
    border-radius: 999px;
    padding: 16px 22px;
    font-weight: 700;
    background: #9a7cf5;
    border: 1px solid #9a7cf5;
    color: #fff;
}

.guided-wizard .wizard-submit-btn:hover {
    background: #8d6eed;
    border-color: #8d6eed;
    color: #fff;
}

.guided-wizard .wizard-feedback {
    font-size: .95rem;
}

.guided-wizard .wizard-feedback.success {
    color: #0f766e;
}

.guided-wizard .wizard-feedback.error {
    color: #b91c1c;
}
.guided-wizard .wizard-base-card img {
    width: 100%;
    border-radius: 22px;
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: #fff;
}

.guided-wizard .wizard-base-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.guided-wizard .wizard-base-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: #2d3340;
}

.guided-wizard .wizard-base-description {
    font-size: .98rem;
    line-height: 1.6;
    color: #5e6470;
}

.guided-wizard .wizard-base-price {
    font-size: 1.3rem;
    color: #2d3340;
}

.wizard-base-variation-description {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #5e6470;
}

.guided-wizard .wizard-summary-section-title {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
    margin-bottom: 6px;
}

@media (max-width: 991.98px) {
    .guided-wizard .wizard-summary {
        position: static;
    }

    .guided-wizard .wizard-summary-title {
        font-size: 1.6rem;
    }
}




/*--------------------------------------------------------------
# MYACCOUNT
--------------------------------------------------------------*/
/* Layout base */
.woocommerce-MyAccount-navigation{
  position:sticky; top:24px; align-self:start;
}
.woocommerce-MyAccount-content{
  padding: 0 24px;
}

/* Menu laterale “a tile” */
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.woocommerce-MyAccount-navigation li{ margin:0; }
.woocommerce-MyAccount-navigation a{
  display:flex; align-items:center; gap:10px;
  text-decoration:none; color:#222; background:#fff;
  border:2px solid #cbcbcb !important; padding:1.5rem 14px;
  transition:box-shadow .2s, border-color .2s, background .2s;
}
.woocommerce-MyAccount-navigation a:hover{ box-shadow:0 6px 20px rgba(0,0,0,.06); border-color:#d6f3f0; background:#f7fffe; }
.woocommerce-MyAccount-navigation .is-active a{
  background:#f1fbfa; border-color:#d6f3f0; font-weight:600;
}

/* Iconcine semplici via pseudo-elemento in base all’endpoint */
.woocommerce-MyAccount-navigation-link--downloads > a::before{ content:"💾"; }
.woocommerce-MyAccount-navigation-link--orders > a::before{ content:"🛒"; }
.woocommerce-MyAccount-navigation-link--edit-address > a::before{ content:"🏠"; }
.woocommerce-MyAccount-navigation-link--payment-methods > a::before{ content:"💳"; }
.woocommerce-MyAccount-navigation-link--edit-account > a::before{ content:"👤"; }
.woocommerce-MyAccount-navigation-link--customer-logout > a::before{ content:"↩︎"; }
.woocommerce-MyAccount-navigation-link--my-points > a::before{ content:"📌"; }

/* Gruppi opzionali (se vuoi separare aree) */
.woocommerce-MyAccount-navigation li + li.spw-sep{ margin-top:6px; padding-top:6px; border-top:1px dashed #eee; }

/* Tipografia e promo */
.woocommerce-MyAccount-content h1,
.woocommerce-MyAccount-content h2{ margin-top:0; }
.spw-promo{ color:#a6652a; }

/* Responsive */
@media (max-width: 992px){
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; }
  .woocommerce-MyAccount-navigation{ position:static; }
}

.woocommerce-MyAccount-content .woocommerce-Address{
	background-color: #f5f5f5;
	padding: 20px;
	border-radius: 20px;
}
.woocommerce-MyAccount-content .woocommerce-Address h2{
	font-size: 2.5rem;
}
.woocommerce-MyAccount-content .woocommerce-Address .edit{
	margin-bottom: 20px;
}

.woocommerce-info, .woocommerce-message{
	border-top-color: #1F5645;
	background-color: #B7C9C6;
}
.woocommerce-info::before {
	color: #1F5645;
}

.content .woocommerce .woocommerce-Button, .woocommerce-page .woocommerce-message .button{
	background-color: #B8A1F7;
	color: #fff;
	border-radius: 0;
	text-transform: uppercase;
}
.content .woocommerce .woocommerce-Button:hover, .woocommerce-page .woocommerce-message .button:hover{
	background-color: #1A9AA2;
	color: #fff;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme{
  display:none;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit{
  width:100%;
  background-color: #9C7CF4;
	color: #fff !important;
	width: 100%;
	text-transform: none;
	border-radius: 80px;
	padding: 14.5px 0;
	text-decoration: none;
	font-weight: bold;
  border: 0 none;
}



/*--------------------------------------------------------------
# CHECKOUT
--------------------------------------------------------------*/
.wp-element-button{
	background-color: #9C7CF4;
	color: #fff !important;
	width: 100%;
	text-transform: none;
	border-radius: 80px;
	padding: 14.5px 0;
	text-decoration: none;
	font-weight: bold;
  border: 0 none;
}
.wp-element-button:hover{
	background-color: #1A9AA2;
	color: #fff;
}
.aruba-fe-error .css-ssb0uf.css-ssb0uf.css-ssb0uf{
  border: 1px solid #cc1818 !important;
}

.woocommerce-page .woocommerce-error .button{float:left;}

.wp-block-woocommerce-checkout .wc-block-checkout__create-account{
  font-weight: bold;
}
.wc-block-order-confirmation-additional-fields-wrapper{
  margin-top: 2em;
}
.wc-block-components-product-metadata .wc-block-components-product-metadata__description > p{
  font-size: 1.3rem;
}



/*--------------------------------------------------------------
# FAQ
--------------------------------------------------------------*/
.faq-content .accordion-item{
	border: 0 none !important;
	border-bottom: 1px solid #EBEBEB !important;
}
.faq-content .accordion-button{
	background-color: transparent; !important;
	border: 0 none !important;
	box-shadow: none !important;
}
.faq-content .accordion-collapse{
	background-color: transparent; !important;
	color: #000;
}
.faq-content .accordion-button::after {
	filter: invert(1); /* semplice inversione se era bianca */
}
.faq-content .accordion-button:not(.collapsed){
	color: #1F5645;
}





/*--------------------------------------------------------------
# CONTATTI
--------------------------------------------------------------*/
.icon-contact img{
	max-width: 40px;
}
.icona-box img{
	height: 90px;
}
.icona-box-piccola img{
	max-width: 100%;
	height: 60px;
}


















/*--------------------------------------------------------------
# WOO PRD
--------------------------------------------------------------*/
.single_add_to_cart_button{
	background-color: #1A9AA2 !important;
	color: #fff !important;
	width: 100%;
	text-transform: uppercase;
	border-radius: 80px !important;
	letter-spacing: 15%;
	font-size: 1.3rem !important;
  	padding: 14.5px 0 !important;
}

.woocommerce-variation-price, .woocommerce-variation-description{display: none;}

/* VARIATION options */
label.list-group-item{
	border: 1px solid #F2F2F2 !important;
	box-shadow: 6px 6px 10px 0 rgba(0, 0, 0, 0.04);
	color: #1F5645 !important;
	border-radius: 16px !important;
	cursor: pointer;
}
label.list-group-item.best-seller{
	border-color: #1F5645 !important;
	background-color: #E3EAE9;
}
.prd-list-desc p{
	margin-bottom: .5rem;
	font-size: 1.1rem;
}
.prd-list-name{
	font-size: 1.7rem;
}
.prd-list-risparmio{
	text-transform: uppercase;
	font-size: 1.1rem;
	margin-top: .5rem;
}
label.list-group-item ins{
	text-decoration: none;
}
label.list-group-item .price ins span.woocommerce-Price-amount, label.list-group-item .price span.woocommerce-Price-amount{
	font-size: 1.5rem;
	font-weight: 800;
}
label.list-group-item .price del span.woocommerce-Price-amount{
	font-size: 1.2rem;
	color: #74968E;
	font-weight: 400;
}
label.list-group-item.disabled{
	background-color: #ddd;
}
label.list-group-item .best-seller-label{
	position: absolute;
	right: -2px;
	top: -8px;
	padding: 3px 10px;
	color: #FCEE2F;
	background-color: #1F5645;
	text-transform: uppercase;
	font-size: 1.2rem;
	font-weight: bold;
}
label.list-group-item .out-stock-label{
	position: absolute;
	right: -2px;
	bottom: -8px;
	padding: 3px 10px;
	color: #fff;
	background-color: #102D21;
	text-transform: uppercase;
	font-size: 1.2rem;
	font-weight: bold;
}

.woocommerce-product-details__long-description{
	font-size: 1.3rem;
}
.product_meta{
	font-size: 1.1rem;
}

.type-product.product .yith-par-message, .yith-par-message-variation{
	width: 100% !important;
	background-color: #E3EAE9 !important;
	border-radius: 0 !important;
}

.image-punti-forza{
	width: 66px;
}


.spw-thumb{
	cursor:pointer;
	max-width: 50px !important;
	margin: 0 auto;
}

.spw-badges span.onsale{
  padding: 3px 10px;
  color: #fff;
  background-color: #1A9AA2;
  text-transform: uppercase;
  font-size: 1.2rem;
  border-radius: 0;
}

table{
	width: 100%;
	font-size: 1.2rem;
}
table{
	width: 100%;
}
table tr{
	border-bottom: 1px solid #ccc;
}
table td{
	padding: 5px;
}
table th[colspan="2"]{
	padding: 30px 5px 5px;
}


.out-of-stock{
	background-color: #dddddd;
	border: 2px solid #cbcbcb;
	padding: 20px 20px;
	color: #1F5645;
	text-transform: uppercase;
}
.woocommerce-simple-add-to-cart .woocommerce-Price-amount{
	font-size: 1.9rem;
	color: #1F5645;
	font-weight: 800;
}
.woocommerce-simple-add-to-cart ins{
	text-decoration: none;
}
.woocommerce-simple-add-to-cart del span.woocommerce-Price-amount {
  font-size: 1.9rem;
  color: #74968E;
  font-weight: 400;
 }



/*--------------------------------------------------------------
# WOO ARCHIVE
--------------------------------------------------------------*/
.spw-cat-hero__image{
	background-size: cover;
	background-position: center center;
	min-height: 350px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle, .woocommerce .widget_price_filter .ui-slider .ui-slider-range{
	background-color: #1F5645;
}
.woocommerce .widget_price_filter .ui-slider-horizontal {
	height: 2px;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	width: .8em;
	height: .8em;
}
.woocommerce .widget_price_filter .price_label{
	font-size: 1.2rem;
}
.woocommerce .widget_price_filter .price_slider_amount .button{
	background: none;
	text-decoration: underline;
	padding: 0;
	margin: 0;
	font-size: 1.2rem;
	text-decoration: underline;
}

.spw-media {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.spw-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.spw-media_fixed {
  width: 100%;
  max-height: 450px;
  overflow: hidden;
}

.spw-media_fixed img {
  width: 100%;
  height: 100%;
  max-height: 450px;
  object-fit: cover;
  display: block;
}

.prod-list-single .spw-media img {
  transition: transform 0.3s ease; /* animazione fluida */
}
.prod-list-single  a.spw-link:hover img {
  transform: scale(1.02); /* zoom del 5% */
}
.prod-list-single{
	display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
}
.spw-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.spw-footer {
  margin-top: auto;
}
.prod-list-single a{
	text-decoration: none;
}
.spw-link span.onsale{
	padding: 0px 10px;
	color: #fff;
	background-color: #9C7CF4;
	text-transform: uppercase;
	font-size: .8rem;
	border-radius: 30px;
	margin: 1em 1em !important;
}
.prod-list-single span.onsale{
	right: 0;
	left: auto;
	top: 1rem;
}
.prod-list-single .spw-price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price{
	font-size: 1.5rem;
	color: #1F5645;
	font-weight: bold;
	letter-spacing: 0;
}
.link-button-bag img{
	width: 20px !important;
	margin: 0 !important;
}
.link-button-bag:hover img{
	filter: invert(1);
}



.img-focus{
	background-size: cover;
	background-position: center center;
	height: 100%;
	min-height: 400px;
}

.desc-prd-list{
	min-height: 70px;
}

.spw-cat-list li a{
	padding: 5px 0;
  background: #fff;
  color: #184334;
  padding: 10px 20px;
  border-radius: 10px;
  margin-bottom: 10px;
  display: block;
  text-transform: uppercase;
  font-weight: bold;
  text-decoration: none;
}
.spw-cat-list li a:hover{
  background: #9c7cf4;
  color: #fff;
}
.spw-cat-list li .children{
	padding-top: 5px;
}
.spw-cat-list li.current-cat{
	font-weight: bold;
}


/*--------------------------------------------------------------
# CONTENUTO
--------------------------------------------------------------*/
.image-fascia{
	background-size: cover;
	background-position: center center;
	min-height: 350px;
}

.hero-banner{
	background-size: cover;
	background-position: center center;
	min-height: 400px;
	position: relative;
	z-index: 0;
}
@media (max-width: 991.98px) {
  .hero-banner{
    min-height: 230px;
  }
}
.hero-banner h2{
	color: #fff;
	font-size: 1.5rem;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 15%;
	margin-bottom: 0;
	z-index: 2;
	position: relative;
}
.hero-banner::before{
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(0,0,0,0.2); /* #000 al 20% */
	z-index: 1;
}

.hero-slideshow::before{
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(0,0,0,0.2); /* #000 al 20% */
	z-index: 1;
}

.icon-text-scorrevole img{
	height: 40px;
	width: auto;
	display: inline-block;
}
.prd-icon-list{
	width: 50px;
	height: 50px;
	padding: 10px;
	text-align: center;
	border: 1px solid #1F5645;
	border-radius: 50%;
}
.prd-icon-list img{
	height: 30px;
	width: auto;
	display: inline-block;
}



.image-small img{
	max-height: 600px;
}






.accordion{
	--bs-accordion-bg: transparent;
	--bs-accordion-active-bg: transparent;
	--bs-accordion-color: inherit;
	--bs-accordion-body-padding-x: 0;
	--bs-accordion-border-radius: 0;
	--bs-accordion-border-width: 0;
	--bs-accordion-inner-border-radius: 0;
	--bs-accordion-btn-padding-x: 0;
	--bs-accordion-btn-color: inherit;
	--bs-accordion-active-color: #FCEE2F;
	--bs-accordion-btn-icon-width: 1.6rem;
	--bs-accordion-btn-padding-y: 1.5rem;
}
.accordion-item{
	border-bottom: 1px solid #fff;
}
.accordion-button{
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
  font-size: 1.6rem;
  text-transform: none;
}
.accordion-button:hover, .accordion-button:focus, .accordion-button:active{
	background-color: transparent;
}
.accordion-button:focus{
	box-shadow: none;
}
.accordion-body{
	font-size: 1.4rem;
}







/*--------------------------------------------------------------
# POST NAVIGATION
--------------------------------------------------------------*/
.post-navigation ul{
	margin-left: 0;
}
.post-navigation li a,
.post-navigation li a:hover,
.post-navigation li.active a,
.post-navigation li.disabled {
	color: #fff;
	text-decoration:none;
}
.post-navigation li {
	display: inline;
}
.post-navigation li a,
.post-navigation li a:hover,
.post-navigation li.active a,
.post-navigation li.disabled {
	background-color: #162259;
	opacity: .7;
	border-radius: 0px;
	cursor: pointer;
	padding: 10px 12px;
}
.post-navigation li a:hover,
.post-navigation li.active a {
	opacity: 1;
}



/*--------------------------------------------------------------
# NEWS
--------------------------------------------------------------*/
.entry-meta time, .entry-tags{
	font-size: 1rem;
	text-transform: uppercase;
}
.post-footer{
	font-size: 1rem;
	padding: 10px 0;
	text-transform: uppercase;
	font-weight: bold;
}
.post-footer-formazione{
	border: 0 none;
}
.post-footer a{
	color: #18212b;
	font-size: 1.8rem;
	margin-left: 3px;
	text-decoration: none;
	transition: all 0.5s ease 0s;
}
.post-footer img{
	height: 15px;
}
.post-footer img:hover{
	opacity: 0.4;
}
.news-sidebar{
	padding: 20px 0;
}
.news-sidebar ul{
	list-style-type: none;
	margin-left: 0;
}
.news-sidebar .widget{
	margin-bottom: 2rem;
}
.tagcloud {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.tagcloud a {
	display: inline-block;
	margin: 0.125rem;
	padding: 0.4375rem;
	border: 1px solid #eee;
	transition: all 0.1s ease-in-out;
}
.tagcloud a:hover,
.tagcloud a:focus {
	transform: scale(1.1);
}
.meta-post{font-size: 1rem; text-transform: uppercase;}

.sticky-news{
	top: 100px;
}

.news-list{
	padding: 1.5rem;
}
.news-list-title{
	min-height: 55px;
	font-size: 2rem;
}
.news-list-desc{
	min-height: 120px;
}

.categories-list a{
	text-transform: uppercase;
	color: #083235;
	font-weight: bold;
	text-decoration: none;
	margin: 0 1rem;
	padding: 0px 15px;
	font-size: 1.3rem;
}
.categories-list a:hover, .categories-list a.active{
	text-decoration: underline;
}

.filter-section{
	border-top: 1px solid #1A9AA2;
	border-bottom: 1px solid #1A9AA2;
}


.post-date{
	font-size: 1rem;
}


/*--------------------------------------------------------------
# RECENSIONI
--------------------------------------------------------------*/
.recensioni {
	position: relative;
}
.recensioni .slick-prev,
.recensioni .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	width: 40px;
	height: 40px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border: none;
	text-indent: -9999px;
	overflow: hidden;
	cursor: pointer;
}
.recensioni .slick-prev {
	left: -60px;
	background-image: url("assets/images/arr-l.png");
}
.recensioni .slick-next {
	right: -60px;
	background-image: url("assets/images/arr-r.png");
}
.recensioni .slick-prev:hover,
.recensioni .slick-next:hover {
	opacity: 0.8;
}
.recensioni .slick-prev:before,
.recensioni .slick-next:before {
	display: none;
}
@media (max-width: 991.98px) {
	.recensioni .slick-prev {
		left: -40px;
	}
	.recensioni .slick-next {
		right: -40px;
	}
}
@media (max-width: 767.98px) {
	.recensioni .slick-prev {
		left: -30px;
		width: 30px;
		height: 30px;
	}
	.recensioni .slick-next {
		right: -30px;
		width: 30px;
		height: 30px;
	}
}




/*--------------------------------------------------------------
# GIFT CARD
--------------------------------------------------------------*/
.gift-card-content-editor.step-appearance{
  padding-top: 50px;
}
#ywgc-manual-amount{
  width: 100%;
  font-size: 1.2rem;
  letter-spacing: 0;
}
.gift-cards-list .ywgc-amount-buttons{
  font-size: 1.2rem;
  letter-spacing: 0;
}
.gift-cards_form .gift-card-content-editor input, .gift-cards_form .gift-card-content-editor textarea{
  border: 1px solid #1A9AA2 !important;
  color: #0E5358 !important;
  padding: 10px !important;
}
.gift-cards_form .gift-card-content-editor.step-content input, .gift-cards_form .gift-card-content-editor.step-content textarea{
  margin: .5em 0 1em 0;
}
.ywgc-label-above-input label{
  color: #9c7cf4;
}
.ywgc-message{
  clear:both;
}
.imdv-note-email{
  font-style: italic;
}
#ywgc-recipient-email{
  margin-bottom: 3px;
}



/*--------------------------------------------------------------
# CONTATTI
--------------------------------------------------------------*/
.map{line-height: 0}
.map iframe{
	width: 100%;
}
.



/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.gallery img:hover{
	opacity: 0.7;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}






/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.grecaptcha-badge {
    visibility: hidden;
}

.ff-step-header{
  display:none;
}

div.privacy{
  font-size: 1.2rem !important;
  line-height: 1.5rem;
  opacity: .8;
}

.ff-default .ff-el-form-control{
	background-color: transparent;
	border-radius: 0 !important;
	border: 0 none  !important;
	border: 1px solid #1A9AA2  !important;
	color: #0E5358 !important;
	padding: 10px !important;
}
.ff-default .ff-el-form-control:focus{
	background-color: transparent  !important;
}
.ff-el-input--content{
	font-size: 1rem;
}
.fluentform .ff-el-group{
	margin-bottom: 30px !important;
}
.fluentform .ff-btn-submit:not(.ff_btn_no_style){
	background-color: #9C7CF4 !important;
	color: #fff !important;
	border-radius: 80px !important;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.4rem;
	padding: 14px 50px
}

.text-center .fluentform{
	text-align: initial !important;
}

.fluentform .ff-step-titles li.ff_active, .fluentform .ff-step-titles li.ff_completed{
	color: #9C7CF4 !important;
}
.fluentform .ff-step-titles li.ff_active::before, .fluentform .ff-step-titles li.ff_completed::before{
	background-color: #9C7CF4 !important;
}

.ff-default .ff-btn-secondary:not(.ff_btn_no_style){
	background-color: transparent !important;
	color: #9C7CF4 !important;
	font-weight: bold;
	text-decoration: underline;
	text-transform: uppercase;
	border: 0 none !important;
	font-size: 1.4rem !important;
}
.ff-el-input--content{
	font-size: initial !important;
}
.ff-default .ff-el-input--label label{
	font-size: 1.3rem !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
}


select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('assets/images/arrow-down.png');
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: right 0.9rem center;
	border: 1px solid #9C7CF4;
	color: #000 !important;
	text-transform: none;
	border-radius: 5px;
	padding: 8px;
	padding-right: 1.5em;
	width: 100%;
	font-size: 1.3rem;
	overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

select:focus, select:hover {
	border-color: #707070;
	outline: none;
}
select:active {
	border-color: #707070;
}
select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

.css-k4pu08.css-k4pu08.css-k4pu08{
  border: 1px solid color-mix(in srgb,currentColor 80%,transparent);
	color: #000 !important;
}

.filter select{
	width: 200px;
	display: inline-block;
}


/*=====================
   SWITCH
=====================*/

.toggle-switch input[type="radio"] {
  display: none;
}

.toggle-switch label {
  padding: 10px 25px;
  cursor: pointer;
  color: #999;
  font-size: 1.2rem;
  background: #fff;
  transition: 0.25s;
}

.toggle-switch label:first-of-type {
  border-right: 0;
}

.toggle-switch input#futuri:checked + label[for="futuri"],
.toggle-switch input#passati:checked + label[for="passati"] {
  background: #9C7CF4;
  color: #fff;
}
.toggle-switch {
    display: inline-flex;
    border-radius: 5px;
    border: 1px solid #9C7CF4;
    overflow: hidden;
	  background: #fff;
}
@media (max-width: 991.98px) {
  .toggle-switch {
      display: inline-block;
  }
}

.toggle-switch button {
    border: none;
    padding: 6px 16px;
    background: #fff;
    cursor: pointer;
	color: #9F9F9F;
	font-size: 1.2rem;
}

.toggle-switch button.active {
    background: #9C7CF4;
    color: #fff;
}



/*=====================
   TIMELINE
=====================*/
.timeline-wrap{
  position: relative;
}

.event-timeline{
  display:flex;
  gap:5px;
  overflow-x:auto;
  padding: 18px 10px 34px;
}

.day{
  position:relative;
  flex: 0 0 auto;
  width: 66px;
  height: 72px;
  border: 0 none;
  background:#fff;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.day:disabled{cursor: default; }

.day .month{
  position:absolute;
  top:-26px;
  left:50%;
  color: #9C7CF4;
  font-weight: 700;
  transform:translateX(-50%);
  letter-spacing:15%;
  font-size:1rem;
  white-space:nowrap;
}

.day .dow{
  font-size:.7rem;
  letter-spacing:.2em;
  opacity:.75;
}

.day .num{
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.1;
}

.day .dots{
  position:absolute;
  bottom:-8px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
}

.day .dots i{
  display:block;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #8f79f2;
}

.day.is-active{
  box-shadow: 0 0 0 2px rgba(143,121,242,.25) inset;
  border-color: rgba(143,121,242,.45);
}

/* popup */
.event-popup{
  position:absolute;
  left:0;
  top: calc(72px + 50px);
  width:100%;
  z-index: 10000;
  padding-top: 18px;
}

.event-popup[hidden]{ display:none; }

.event-popup__inner{
  position:relative;
  max-width: 550px;
  margin: 0 auto;
  background:#9c7cf4;
  border-radius: 8px;
  padding: 30px;
  color:#fff;
}

/*.event-popup__inner::before{
  content:"";
  position:absolute;
  top:-10px;
  left: var(--arrow-left, 50%);
  transform: translateX(-50%) rotate(45deg);
  width:20px;
  height:20px;
  background:#8f79f2;
}*/

.event-popup__close{
  position:absolute;
  top:16px;
  right:16px;
  background: transparent;
  border:0;
  color:#fff;
  font-size: 28px;
  cursor:pointer;
  line-height:1;
}

.event-popup__date{
  font-weight: 600;
  letter-spacing: 15%;
  font-size: 1.2rem;
  margin-bottom: 15px;
}

/* slide content */
.event-popup__content{
  display:flex;
  gap: 15px;
  align-items: center;
}

.event-popup__media {
  width: 100%;
  max-width: 150px;
  aspect-ratio: 1 / 1; /* quadrato */
  overflow: hidden;
}
.event-popup__media img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* riempie senza deformare */
  display: block;
}

.event-popup__text h3{
	color: #fff;
	font-size: 1.6rem;
	margin-bottom: 10px;
}

.event-popup__text p{
  margin: 0 20px 20px 0;
  font-size: 1.3rem;
  line-height: 1.8rem;
}

.event-popup__link, .event-popup__link:visited{
  color:#fff;
  text-decoration:none;
  font-weight: 600;
  font-size: 1.4rem;
}

/* slick tweaks (minimi) */
.event-popup__slider .slick-prev,
.event-popup__slider .slick-next{
  z-index: 5;
}

.event-popup__slider .slick-prev{ left: -8px; }
.event-popup__slider .slick-next{ right: -8px; }

.event-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.25);
  backdrop-filter: blur(1px);
  z-index: 9990;
}
.event-overlay[hidden]{ display:none; }
.event-overlay{ z-index: 9990; }
.event-popup{ z-index: 10000; }
.event-popup[hidden]{ display:none; }

body.has-event-popup{ overflow:hidden; }






/*==========  Non-Mobile First Method  ==========*/
/* Extra small devices (portrait phones, less than 576px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	html{
		font-size: 57.5%; /* $rembase = 10px */
	}

	.site-footer-back{
		background-position: bottom 50px left;
		background-size: 40%;
	}

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	html{
		font-size: 50.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 98%;       /* sempre il 90% dello schermo */
		max-width: 768px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}

	.image-fascia{
		min-height: 400px;
	}

  .spw-thumb{
		max-width: 98% !important;
	}

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	html{
		font-size: 48.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 98%;       /* sempre il 90% dello schermo */
		max-width: 1600px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}

	.image-fascia{
		min-height: 450px;
	}



  .service-img-wrap {
    height: 400px;
  }
  .service-img-wrap-small{
      height: 300px;
  }
  a.link-button, .link-button a {
    padding: .5rem 6rem;
  }
  blockquote{
    font-size: 3rem;
  }
  h1, .h1{
    font-size: 4rem;
  }
  h2, .h2{
    font-size: 3rem;
  }
  h4, .h4{
    font-size: 2.2rem;
  }
  .ff-step-header{
    display:block;
  }

  .slot-btn-note{
    display: inline-block;
    padding: 0;
  }

}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	html{
		font-size: 61.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 95%;       /* sempre il 90% dello schermo */
		max-width: 1600px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}

	.image-fascia{
		min-height: 550px;
	}


  #form-dati-ecom, .popup-box{
    width: 80%;
  }


}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	html{
		font-size: 68.5%; /* $rembase = 10px */
	}

	/*--------------------------------------------------------------
	# GENERAL SETUP
	--------------------------------------------------------------*/
	.container-fluid {
		width: 88%;       /* sempre il 90% dello schermo */
		max-width: 1600px; /* ma non oltre i 1600px */
		margin: 0 auto;
	}
	.container-fluid-full{
		width: 100%;
		max-width: 100%;
	}


	.image-fascia{
		min-height: 800px;
	}


}

/*--------------------------------------------------------------
# COLLABORATORI GALLERY
--------------------------------------------------------------*/
.collaboratori-img {
	max-height: 100px;
	width: auto;
	object-fit: contain;
	margin: 0 auto;
	display: block;
}
