/*
	Theme Name: Digitalia
	Theme URI: https://www.dolomitivipes.it/
	Description: 
	Version: 1.6.8
	Author: Jacopo Zane
	Author URI: https://www.digitalia.srl
	Tags: PHP, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-smooth: antialiased;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	text-rendering:optimizeLegibility;
	margin: 0;
	padding: 0;
}

/* html element 62.5% font-size for REM use */
html.lenis,
html.lenis body {
	height: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}
.lenis.lenis-stopped {
	overflow: clip;
}
.lenis.lenis-smooth iframe {
	pointer-events: none;
}
body {
	overflow-y: scroll;
}
body.navmenu_open {
	overflow-y: hidden;
}
section {
	overflow: hidden;
}
/* clear */
.clear:before,
.clear:after {
    display:table;
}

aside {
	max-width: 100%;
}
.clear::after {
    clear:both;
}
.clear {
    zoom:1;
}
.grecaptcha-badge {
	display: none;
}
img {
	max-width:100%;
	width: 100%;
	height: auto;
}
picture {
	display: grid;
}
.parallax {
	background-attachment: fixed;
}
.ios .parallax {
	background-attachment: scroll !important;
}
a {
	color:#000;
	text-decoration:none;
	cursor: pointer;
	font-family: 'Poppins';
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
}
ul {
	list-style-type: none;
}
html {
    font-size: 10px;
}
h1,h2,h3,h4,h5,h6,p {
    padding: 0;
    margin: 0;
    font-weight: normal;
    letter-spacing: 0.03em;
    font-family: 'Poppins', sans-serif;
	color: var(--black);
}
h1 {
    font-weight: 700;
    font-size: 4.6rem;
	color: var(--white);
}
h2 {
    font-weight: 600;
    font-size: 3.6rem;
    margin-bottom: 2rem;
    line-height: 1.35;
}
h3 {
    font-weight: 600;
    font-size: 3.2rem;
    color: var(--white);
    padding-bottom: 4rem;
    line-height: 1.3;
}
h4 {
    font-weight: 600;
    font-size: 2.0rem;
    line-height: 1.3;
}
h5 {
    font-weight: normal;
    font-size: 2.4rem;
    line-height: 1.3;
}
h6 {
    font-weight: normal;
}
strong, b {
    font-weight: bold;
}
p {
    font-weight: normal;
    font-size: 1.8rem;
    line-height: 1.6;
}
a {
    font-size: 1.8rem;
}
.white {
    color: var(--white);
}
.black {
	color: var(--black);
}
/* wrapper */
.wrapper {
	width:100%;
	margin: 0 auto;
	max-width: 100vw;
	overflow: hidden;
	overflow-y: auto;
	opacity: 0.0;
	transition: opacity 0.66s ease;
}
.pagina_caricata .wrapper {
	opacity: 1;
}
.content {
	max-width:1600px;
	width:90%;
	margin:0 auto;
	position:relative;
}

.divider {
    padding: unset;
}
.pulsante {
    padding: unset;
}
.pulsante:hover {
    padding: unset;
}
.load_more {
	background-color: #E20019;
	color: #fff;
	border-radius: 20px;
	border: none;
	padding: 5px 15px;
}
.pagination {
	text-align: center;
}
.blocco {
	position: relative;
	overflow: hidden;
	display: flex;
}
.text {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.ancora {
	position: relative;
	top: -70px;
	overflow: hidden;
}
/* go up button */
.up-button {
	position: fixed;
	bottom: 2%;
	right: 1%;
	display: none;
	z-index: 2;
	background-color: transparent;
	color: #fff;
	padding: 5px 10px;
	border: none;
}
.up-button img {
	max-width: 30px;
}
.scroll .up-button {
	display: block;
}
/* Cursor */

.cursor-follower {
	position: fixed;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	border-radius: 100%;
	background-color: #888888;
	opacity: 0;
	z-index: 10000;
	user-select: none;
	pointer-events: none;
}
/* bottone filtro */
.btn-filtro {
	display: inline-block;
	margin-right: 5px;
	font-size: 18px;
	padding: 10px 5px;
	background-color: #fff;
	border: 1px solid #999;
	cursor: pointer;
	user-select: none;
}
.btn-filtro.active {
	background-color: #999;
}

/* spinner */
spinner {
	display: inline-block;
	width: 80px;
	height: 80px;
}
spinner::after {
	content: " ";
	display: block;
	width: 64px;
	height: 64px;
	margin: 8px;
	border-radius: 50%;
	border: 6px solid #fff;
	border-color: #fd175b transparent #fff transparent;
	animation: dg_loader_animation 1.2s linear infinite;
}


/*------------------------------------*\
    ELEMENTI
\*------------------------------------*/

/* SLIDE */
.slick-dots {
	position: absolute;
    right: 0;
    bottom: 5%;
    z-index: 1;
    width: 100%;
    text-align: center;
}
.slick-dots .slick-active {
    background-color: var(--green);
}
.slick-dots li {
    display: inline-block;
    width: 10px;
    height: 10px;
    overflow: hidden;
    background-color: var(--white);
    border-radius: 50%;
    margin: 20px 5px 0;
    border: none;
}
.slick-dots button {
	color: transparent;
	background-color: transparent;
	display: contents;
}
.slick-prev {
	background-image: url(img/header/left.svg);
	background-repeat: no-repeat;
	background-color: transparent;
	border: none;
	color: transparent;
	position: absolute;
	top: 45%;
	left: 2%;
	z-index: 1;
	outline: none;
	width: 20px;
	height: 30px;
}
.slick-next {
	background-image: url(img/header/right.svg);
	background-repeat: no-repeat;
	background-color: transparent;
	border: none;
	color: transparent;
	position: absolute;
	top: 45%;
	right: 2%;
	z-index: 1;
	outline: none;
	width: 20px;
	height: 30px;
}

.slick-prev,
.slick-next {
    filter: brightness(0) invert(1);
}

.slide-contatore .slick-dots li {
	border: none;
	width: auto;
	height: auto;
	display: none;
}
.slide-contatore .slick-dots .slick-active {
	background-color: transparent;
	color: #fff;
	display: block;
    width: fit-content;
}
.slide-contatore .slick-dots a {
	color: #fff;
	font-size: 14px;
}
.variable .slick-slide img {
	padding: 0 5px;
	height: clamp(220px, 33.854vw, 650px);
	width: auto;
}
.variable .slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	padding-left:8px;
	padding-right: 8px;
}
/* FORM */
label {
	font-size: inherit;
}

.wpcf7-form p {
	color: var(--white);
}

input,
textarea {
	outline: none;
	padding-left: 10px;
	color: var(--black);
	height: 50px;
	margin-top: 10px;
	margin-bottom: 30px;
	background-color: var(--white);
	border: 1px solid var(--blue);
	border-radius: 5px;
	width: 100%;
}
::placeholder {
	color: #000;
}
.wpcf7-form .wpcf7-acceptance input {
	height: auto;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid var(--white);
	background-color: transparent;
	padding: 8px;
	margin-bottom: 0;
	max-width: 8px;
	margin-right: 8px;
    cursor: pointer;
}
.wpcf7-form .wpcf7-acceptance input:checked {
	background-color: var(--green);
}

.home-form .wpcf7-form .wpcf7-acceptance input {
	border: 1px solid var(--blue);
	background-color: var(--white);
}

.home-form .wpcf7-form .wpcf7-acceptance input:checked {
	background-color: var(--blue);
}

.wpcf7-form a {
	color: var(--white);
	text-transform: lowercase;
	text-decoration: underline;
	font-weight: 600;
}
span.wpcf7-list-item {
	margin: 0;
}
.cf7-submit {
	display: flex;
	justify-content: center;
	align-items: center;
}
.wpcf7-submit {
	margin-top: 6rem;
	border: 1px solid var(--green);
	background-color: var(--green);
	color: var(--white);
	padding: 0 40px;
    height: 50px;
    line-height: 35px;
    margin-bottom: 0;
    max-width: 230px;
    border-radius: 50px;
	display: flex;
	font-weight: 600;
	letter-spacing: 0.03em;
}
.wpcf7-submit:hover {
	background-color: var(--white);
	color: var(--green);
	border: 1px solid var(--green);
}
.wpcf7-spinner {
	height: 0;
}
div.wpcf7-response-output {
	padding: 0;
}
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	border: none;
	color: #000;
}
/** TABS **/

.tabulator {
    position: relative;
    margin: 10px 0px;
}
.tabulator header,
.tabulator content {
    position: relative;
}

.tabulator header {
    background: unset;
    padding: 0;
    margin: 0;
}
.tabulator button {
    background-color: white;
    border: 2px solid grey;
    color: grey;
    border-radius: 5px 5px 0px 0px;
    border-bottom: 0px;
    position: relative;
    top: 2px;
    margin-right: 1px;
}

.tabulator tab {
    width: 100%;
    display: block;
    background-color: white;
    border: 2px solid black;
    display: none;
    padding: 10px;
}

.tabulator tab.active {
    display: block;
}
.tabulator button.active {
    z-index: 2;
    font-weight: 750;
    border-color: black;
    color: black;
}
/* Style the buttons that are used to open and close the accordion panel */
.accordions {
	margin-top: 30px;
}
.accordion {
	background-color: transparent;
	cursor: pointer;
	width: 100%;
	text-align: left;
	border: none;
	outline: none;
	border-bottom: 1px solid #666;
    transition: all 0.4s ease;
}
.accordion .accordion-header {
    background-color: transparent;
    width: 100%;
    border: unset;
	padding: 20px 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.accordion-header::after {
	content: "+";
	color: #fff;
	font-size: 30px;
	font-weight: 200;
	width: 20%;
	text-align: right;
}
.accordion-header h3 {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.accordion.active .accordion-header{
	background-color: rgb(226,0,25,0.5);
	border-radius: 10px 10px 0 0;
} 
.accordion-header:hover {
	background-color: rgb(226,0,25,0.25);
}
.accordion .accordion-header::after {
	content: "-";
}

/* Style the accordion panel. Note: hidden by default */
.accordion .panel {
	padding: 0 20px;
	max-height: 0;
	overflow: hidden;
	transition: 0.44s max-height ease-out, 0.8s opacity ease;
	color: #fff;
	text-align: left;
	border-radius: 0 0 10px 10px;
}
.accordion.active .panel {
    max-height: 600px;
	background-color: rgb(226,0,25,0.5);
}
.accordion .panel p {
	margin: 30px auto;
}
/*------------------------------------*\
	LIGHTBOX
\*------------------------------------*/

.lightbox-wrapper {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0px;
    left: 0px;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    opacity: 0;
}
.lightbox-wrapper[aria-visible="true"] {
    display: flex;
}
.lightbox-wrapper img {
    max-width: 100%;
}
.lightbox-wrapper .lightbox-background {
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.72);
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: -1;
}
.lightbox-wrapper.striped .lightbox-background {
    background: repeating-linear-gradient(
        45deg,
        rgba(0,0,0,0.66),
        rgba(0,0,0,0.66) 10px,
        rgba(0,0,0,0.64) 10px,
        rgba(0,0,0,0.64) 20px
    );
}
.lightbox-wrapper .lightbox-container {
    width: calc(100% - 40px);
    height: auto;
    z-index: 10;
    position: relative;
    color: white;
    user-select: none;
    pointer-events: none;
}
.lightbox-wrapper .lightbox-content {
    width: 80%;
    height: auto;
    z-index: 10;
    margin: 0 auto;
}
.lightbox-wrapper .lightbox-content * {
    margin: 0;
    padding: 0;
}
.lightbox-arrows {
    position: absolute;
    top: 0px;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0px 10px;
}
.lightbox-arrows.left {
    left: 0px;
}
.lightbox-arrows.right {
    right: 0px;
}
.lightbox-wrapper .lightbox-header {
    text-align: right;
}
.lightbox-wrapper .lightbox-header .close {
    max-width: 25px;
    position: fixed;
    top: 30px;
    right: 30px;
}
.lightbox-wrapper .close {
	cursor: pointer;
}
.lightbox-wrapper .lightbox-body {
    margin: 0 auto;
    width: fit-content;
    overflow: hidden;
    color: #fff;
    height: auto;
}
.lightbox-wrapper i.fa {
    cursor: pointer;
    position: relative;
}
.lightbox-wrapper .lightbox-popup {
    padding: 15px;
}
.lightbox-wrapper .lightbox-footer {
    display: none;
}
.lightbox-wrapper .lightbox-footer-sx {
    width: calc(100% - 90px);
    font-size: 1.2em;
}
.lightbox-wrapper .lightbox-footer-dx {
    width: 90px;
    text-align: right;
}
.lightbox-wrapper .lightbox-footer h6 {
    font-weight: 400;
    font-size: 14px;
}
.lightbox-wrapper .lightbox-footer h5 {
	color: #fff;
	font-size: 16px;
}
.lightbox-wrapper .lightbox-footer-dx h5{
    font-weight: 200;
    font-size: 14px;
    color: #fff;
}
.lightbox-wrapper .lightbox-container h5,
.lightbox-wrapper .lightbox-container h3,
.lightbox-wrapper .lightbox-container h6,
.lightbox-wrapper .lightbox-container img,
.lightbox-wrapper .lightbox-container i.fa {
    pointer-events: initial;
    color: #fff;
}	
.lightbox-wrapper .lightbox-container img {
	display: block;
    margin: 0 auto;
    cursor: pointer;
}
.lightbox-wrapper .lightbox-container .lightbox-body img {
    width: unset;
    height: unset;
    max-width: 85vw;
    max-height: 70vh;
	display: block;
    object-fit: cover;
}
.lightbox-wrapper.singolo .lightbox-arrows,
.lightbox-wrapper.singolo .lightbox-footer-dx h5 {
    display: none;
}
.lightbox-wrapper .lightbox-container a {
    color: inherit;
    text-decoration: none;
}
.lightbox-wrapper .lightbox-container .hover {
	padding: 10px;
}
.lightbox-wrapper .close {
	cursor: pointer;
}
.lightbox-wrapper .next, 
.lightbox-wrapper .prev {
	width: 20px;
	cursor: pointer;
}

/*------------------------------------*\
	ANIMAZIONI
\*------------------------------------*/

.zoom {
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	-o-transform: scale(1,1);
	-ms-transform: scale(1,1);
	-moz-transform: scale(1,1);
}
.zoom:hover {
	transition-duration: 2s;
	-webkit-transition-duration: 2s;
	-o-transition-duration: 2s;
	-moz-transition-duration: 2s;
	-ms-transition-duration: 2s;
	transform: scale(1.1,1.1);
	-webkit-transform: scale(1.1,1.1);
	-o-transform: scale(1.1,1.1);
	-ms-transform: scale(1.1,1.1);
	-moz-transform: scale(1.1,1.1);
}
.szoom {
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
	transform: scale(1,1);
	-webkit-transform: scale(1,1);
	-o-transform: scale(1,1);
	-ms-transform: scale(1,1);
	-moz-transform: scale(1,1);
}
.szoom:hover {
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
	transform: scale(0.9,0.9);
	-webkit-transform: scale(0.9,0.9);
	-o-transform: scale(0.9,0.9);
	-ms-transform: scale(0.9,0.9);
	-moz-transform: scale(0.9,0.9);
}

.rotation {
	transform: rotateZ(0deg);
	-moz-transform: rotateZ(0deg);
	-webkit-transform: rotateZ(0deg);
	-ms-transform: rotateZ(0deg);
	-o-transform: rotateZ(0deg);
	transition-duration: 0.8s;
	-webkit-transition-duration: 0.8s;
	-moz-transition-duration: 0.8s;
	-ms-transition-duration: 0.8;
	-o-transition-duration: 0.8s;
}
.rotation:hover {
	transform: rotateZ(360deg);
	-moz-transform: rotateZ(360deg);
	-webkit-transform: rotateZ(360deg);
	-ms-transform: rotateZ(360deg);
	-o-transform: rotateZ(360deg);
	transition-duration: 0.8s;
	-webkit-transition-duration: 0.8s;
	-moz-transition-duration: 0.8s;
	-ms-transition-duration: 0.8;
	-o-transition-duration: 0.8s;
}
.rotation-inverse {
	animation-name: rotation-inverse;
	-ms-animation-name: rotation-inverse;
	-moz-animation-name: rotation-inverse;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	-ms-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-duration: 6s;
	-webkit-animation-duration: 6s;
	-ms-animation-duration: 6s;
	-moz-animation-duration: 6s;
}
.lampeggio {
	position: fixed;
	max-width: 50px;
	bottom: 2%;
	right: 2%;
	opacity: 0;
	animation-name: lampeggio;
	-ms-animation-name: lampeggio;
	-moz-animation-name: lampeggio;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	-ms-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-duration: 3s;
	-webkit-animation-duration: 3s;
	-ms-animation-duration: 3s;
	-moz-animation-duration: 3s;
}
.pulsazione {
	animation-name: pulsazione;
	-ms-animation-name: pulsazione;
	-moz-animation-name: pulsazione;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
	-ms-animation-timing-function: linear;
	-moz-animation-timing-function: linear;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	-ms-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-duration: 5s;
	-webkit-animation-duration: 5s;
	-ms-animation-duration: 5s;
	-moz-animation-duration: 5s;
}

@keyframes rotation-inverse {
	0% {transform: rotateZ(0);}
	25% {transform: rotateZ(-90deg);}
	50% {transform: rotateZ(-180deg);}
	75% {transform: rotateZ(-270deg);}
	100% {transform: rotateZ(-360deg);}
}

@keyframes lampeggio {
	0% {opacity:0;}
	25% {opacity:0.5;}
	50% {opacity:1;}
	75% {opacity:0.5;}
	100% {opacity:0;}
}

@keyframes pulsazione {
	0% {transform: scale(0.5,0.5);}
	25% {transform: scale(0.65,0.65);}
	50% {transform: scale(0.75,0.75);}
	75% {transform: scale(0.65,0.65);}
	100% {transform: scale(0.5,0.5);}
}

@keyframes dg_loader_animation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/* Animations */


/* Fade */
.fade {
    opacity: 0;
    transition: 1.7s all cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.fade.in-page {
    opacity: 1;
}
.fade-in {
    transform: translateY(50px);
    opacity: 0;
    transition: 1s all cubic-bezier(0.53, 0.03, 0.01, 0.46);
}
.fade-in.delay-200 {
	transition-delay: 200ms;
}
.fade-in.delay-300 {
	transition-delay: 300ms;
}
.fade-in.delay-400 {
	transition-delay: 400ms;
}
.fade-in.delay-500 {
	transition-delay: 500ms;
}
.fade-in.delay-600 {
	transition-delay: 600ms;
}
.fade.delay-200 {
	transition-delay: 200ms;
}
.fade.delay-300 {
	transition-delay: 400ms;
}
.fade.delay-400 {
	transition-delay: 400ms;
}
.fade.delay-500 {
	transition-delay: 500ms;
}
.fade.delay-600 {
	transition-delay: 600ms;
}
.fade-in.in-page {
    transform: translateY(0);
    opacity: 1;
}

.fade-in-left {
    transform: translateX(-50px); /* Parte più a sinistra */
    opacity: 0;
    transition: 1s all cubic-bezier(0.53, 0.03, 0.01, 0.46);
}
.fade-in-left.in-page {
    transform: translateX(0); /* Torna al centro */
    opacity: 1;
}

.fade-in-right {
    transform: translateX(50px); /* Parte più a destra */
    opacity: 0;
    transition: 1s all cubic-bezier(0.53, 0.03, 0.01, 0.46);
}
.fade-in-right.in-page {
    transform: translateX(0); /* Torna al centro */
    opacity: 1;
}


.reveal-from-left img, .reveal-from-left .overlay, .reveal-all.reveal-from-left * {
    clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
    transition: 1.7s all cubic-bezier(0.22, 0.61, 0.36, 1);
}
.reveal-from-left.in-page img, .reveal-from-left.in-page .overlay, .reveal-all.reveal-from-left.in-page * {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.reveal-from-right img, .reveal-from-right .overlay {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    transition: 1.7s all cubic-bezier(0.22, 0.61, 0.36, 1);
}

.reveal-from-right.in-page img, .reveal-from-right.in-page .overlay {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.animated-text .word {
  white-space: nowrap;
  display: inline-block;
}
.animated-text .letter {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
}
/* --------------------- MASONRY ------------------------------ */
.masonry_gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.masonry_gallery > .masonry-item {
    display: block;
    width: 32.23333%;
    padding: 10px;
}
/* --------------------- POPUP INFORMATIVO ------------------------------ */
.popup-info {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    padding: 10px;
    justify-content: center;
    align-items: center;
}
.popup-info .overlay {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.5);
}
.popup-info .popinfo-content {
    width: 100%;
    max-width: 400px;
    display: block;
    position: relative;
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 1001;
    height: fit-content;
}
.popup-info .popinfo-content h2 {
    margin-top: 0;
}
.popup-info .popinfo-content button {
    display: block;
    margin: 10px auto;
    padding: 10px 20px;
    background-color: red;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}
.popup-info .popinfo-content.with-x-close button {
    position: absolute;
    right: 20px;
    top: 20px;
    background: unset;
    padding: 0;
    margin: 0;
}
.popup-info .popinfo-content.with-x-close button svg {
    fill: #000;
    width: 25px;
    height: 25px;
}
/*--------------POPUP------------------*/
.popup-content {
	display: none;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 100;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.40);
}
.popup-content .sfondo {
	background-color: #4D4D4D;
	width: 80%;
	height: auto;
	max-width: 800px;
	text-align: left;
	position: relative;
}
.popup-content .sfondo .testo {
	padding: 30px;
}
.popup-content .sfondo p {
	color: #fff;
	font-size: 14px;
}
.popup-content .sfondo h5 {
	color: #fff;
	padding-bottom: 10px;
}
.popup-content .sfondo h4 {
	text-align: right;
	font-size: 30px;
}
.popup-content .sfondo .close {
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	margin-top: -40px;
	color: #fff;
}

/*--------------BLOG------------------*/
.pagina-del-blog {
	display: flex;
}
.pagina-del-blog > main {
	width: 70%;
}
.pagina-del-blog > aside.sidebar {
	width: 30%;
}
/*--------------GDPR------------------*/
.page-template-template-gdpr section h2 {
	padding-bottom: 20px;
	padding-top: 60px;
}
.page-template-template-gdpr section p {
	max-width: 1640px;
}

#cmplz-document a {
    font-size: 14px;
}

#cmplz-document h3 {
    color: var(--black);

}

#cmplz-document ul li {
    line-height: 1.6;
    font-family: 'Poppins';
    color: var(--black);
}

#cmplz-cookies-overview .cmplz-dropdown summary, #cmplz-document .cmplz-dropdown summary, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary {
    margin-top: 20px;
}

#cmplz-document, 
.editor-styles-wrapper .cmplz-unlinked-mode {
	max-width: 100% !important;
}
#cmplz-cookies-overview .cmplz-dropdown summary div, 
#cmplz-document .cmplz-dropdown summary div,
#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header {
	display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}
#cmplz-cookies-overview .cmplz-dropdown summary div input[data-category="functional"], #cmplz-document .cmplz-dropdown summary div input[data-category="functional"], .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary div input[data-category="functional"] {
	width: 5% !important;
}
.page-template-template-gdpr input[type=checkbox], .page-template-template-gdpr input[type=radio] {
	height: auto;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: 1px solid var(--green);
	background-color: transparent;
	padding: 6px;
	margin: 0;
	max-width: 6px;
	margin-right: 10px;
}
.page-template-template-gdpr input[type=checkbox]:checked, .page-template-template-gdpr input[type=radio]:checked {
	background-color: var(--green);
}
.page-template-template-gdpr label {
	padding: 0;
	width: 25%;
	text-align: left;
}
#cmplz-cookies-overview .cmplz-dropdown summary div h3, #cmplz-document .cmplz-dropdown summary div h3, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary div h3 {
	width: 50%;
}
#cmplz-cookies-overview .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div p, #cmplz-document .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div p, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown.cmplz-dropdown-cookiepolicy summary div p {
	width: 15%;
	text-align: left;
}
.cmplz-category-title{
	width: 80%;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
    background-color: var(--green);
    border-color: var(--green);
}
/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------

@font-face {
	font-family:'Heebo-Light';
	src:url('fonts/Heebo-Light/Heebo-Light.eot');
	src:url('fonts/Heebo-Light/Heebo-Light.eot?#iefix') format('embedded-opentype'),
		url('fonts/Heebo-Light/Heebo-Light.woff') format('woff'),
		url('fonts/Heebo-Light/Heebo-Light.ttf') format('truetype'),
		url('fonts/Heebo-Light/Heebo-Light.svg#Heebo-Light') format('svg');
    font-weight:normal;
    font-style:normal;
}*/

/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/poppins-v24-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/poppins-v24-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/poppins-v24-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/poppins-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
/* page loader*/
loader {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0px;
	left: 0px;
	z-index: 99999;
	user-select: none;
	pointer-events: none;
}
.pagina_caricata loader {
	display: none;
}
/* main */
main {
	min-height: 640px;
}
/* header */
.header-wrapper {
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
	height: 80px;
    z-index: 1000;
    background: transparent;
	/*transition: all 1s linear;*/
}
.header {
    height: 100%;
    display: flex;
    align-items: center; 
    justify-content: space-between;
	padding-left: 5%;
    padding-right: 5%;
}
.header-widget-area {
	position: absolute;
	top: 0;
	right: 5%;
	z-index: 2;
}
.scroll .header {
	background-color: rgba(51, 51, 51, 0.6);
	height: 80px;
    transition: all 1s linear;
}

.scroll .logo img {
    max-width: 180px;
    transition: all 0.3s ease;
}

.scroll .pagina-desktop .nav ul li a {
    font-size: 2.0rem;
}

.pre-scroll .header {
	position: fixed;
    opacity: 0.0;
    width: 100%;
}
.pre-scroll .header.visible {
    transition: opacity 0.86s ease;
}
.scroll .header {
	z-index: 5;
    opacity: 1.0;
}

.wpml-ls-legacy-list-horizontal {
	padding: 0;
}
.wpml-ls-legacy-list-horizontal a {
	padding: 10px 0 0;
}
.wpml-ls-current-language {
	padding-right: 5px !important;
}
/* logo */
.logo {
    position: relative;
    top: auto;
    left: 0;
    display: flex;
    align-items: center;
}
.logo img {
	max-width: 200px;
}
/* nav */
.nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--black);
    background-image: url(img/header/favicon.svg);
    background-size: 20% auto;
    background-repeat: no-repeat;
    background-position: 95% 95%;
    color: #fff;
    opacity: 0;
    transition: opacity 0.7s linear;
    user-select: none;
    pointer-events: none;
}
.navmenu_open .nav {
	user-select: none;
	pointer-events: unset;
	opacity: 1.0;
}
.mobile .navmenu_close .nav { 
	opacity: 0.0;  
} 

.nav a {
    color: var(--white);
    position: relative;
    text-decoration: none;
}

.nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background-color: var(--white);
    transition: width 0.3s ease;
}

.nav a:hover::after {
    width: 100%;
}
.nav .current_page_item a::after {
    width: 100%;
}
.nav .current_page_item a::after {
    transition: none;
}

.nav ul {
	list-style-type: none;
	width: 100%;
	/*height: 100%;*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.nav ul li {
	padding: 15px 0;
	line-height: 1;
}

.nav-logo {
    display: none;
}

.navmenu_open .nav-logo {
    display: block;
    max-width: 200px;
	padding-bottom: 20px;
}

.navmenu_open .nav ul {
    margin-top: 0;
}
/* closebutton */
.openclose {
	position: absolute;
	top: 35%;
	right: 5%;
	z-index: 90;
	cursor: pointer;
	display: block;
}
.navmenu_open .openclose {
	display: flex;
}
.openclose .iconbar {
	height: 2px;
	width: 20px;
	background-color: #fff;
	display: block;
	margin: 5px 0;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}
.openclose img {
	max-width: 20px;
}
.openclose .uno {
	width: 15px;
}
.openclose .tre {
	width: 12px;
}
.openclose:hover .uno {
	width: 20px;
}
.openclose:hover .tre {
	width: 20px;
}
/** MEGA MENU **/

.nav .sub-menu {
	display: none;
	padding: 10px 0 0;
}
.nav .sub-menu li {
	padding: 5px 0;
}

nav.nav ul .mega-menu {
    width: 100%;
    position: absolute;
    left: 0px;
    top: 100%;
    display: flex;
    background-color: #141414;
    color: white;
    padding: 20px;
    opacity: 0.0;
    transition: opacity 0.68s ease, color 0.68s ease;
    pointer-events: none;
}
.pagina-mobile nav.nav ul .mega-menu {
    top: 0;
    height: 100vh;
    flex-direction: column;
    padding-top: 150px;
}
nav .mega-left picture {
    display: block;
}
nav.nav.show-mega ul .mega-menu picture img {
    width: 100%;
    display: block;
    max-width: unset;
    margin: 0;
}
nav.show-mega ul .mega-menu.open {
    display: flex;
    opacity: 1.0;
    z-index: 1;
    pointer-events: initial;
}

nav ul .mega-menu .mega-left {
    width: 40%;
    padding: 20px;
}
nav ul .mega-menu .mega-right {
    width: 60%;
    padding: 20px;
}
.pagina-mobile nav ul .mega-menu .mega-left {
    width: 100%;
    position: relative;
    transition: left 0.68s ease;
    left: 100vw;
}
.pagina-mobile nav ul .mega-menu .mega-right {
    width: 100%;
    transition: left 0.68s ease;
    left: 100vw;
}
.pagina-mobile nav ul .mega-menu.open .mega-left {
    left: 0vw;
    display: none;
}
.pagina-mobile nav ul .mega-menu.open .mega-right {
    left: 0vw;
}
.nav ul .mega-menu ul.sub-menu {
    display: grid;
    grid-template-columns: 1fr;
}
.nav ul .mega-menu.open ul.sub-menu {
    display: grid;
}

/* footer */
.footer {
	text-align: left;
	background: 		linear-gradient(rgba(58, 58, 58, 0.3), rgba(58, 58, 58, 0.3)),
		url("img/footer/footer_bg.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.footer > div {
	padding: 30px 0;
}
.footer p,
.footer h4,
.footer a {
	color: var(--white);
	font-size: 1.6rem;
}
.footer h3 {
	font-size: 1.8rem;
	padding-bottom: 20px;
	font-weight: 800;
}
footer a:hover {
	text-decoration: underline;
}
.logo-center {
	display: flex;
	justify-content: center;
}
.logo-footer img {
    width: 200px;
	padding-top: 20px;
}
.footer-widget-area {
	display: flex;             
    justify-content: space-between;
    flex-wrap: wrap; 
	margin: 50px 0;
}
.social-icons {
    display: flex;
    gap: clamp(10px, 2vw, 30px);
    align-items: center;
}
.social-icons svg {
    width: auto;
    height: clamp(24px, 3vw, 32px);
    fill: var(--white);
}
.line-footer {
	width: 100%;
	height: 1px;
	background-color: var(--white);
	margin: 20px 0;
}
.footer-bottom {
    display: flex;
    align-items: center;
}
.footer-bottom,
.footer-bottom p,
.footer-bottom a,
.footer-bottom li {
    color: #fff;
    font-size: 1.6rem;
    font-family: 'Poppins', sans-serif;
}
.footer-menu ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
	flex-wrap: wrap;
}

.footer-menu ul li::after {
    content: "|";
    margin: 0 5px;
    color: #fff;
}
.footer-bottom .copyright p {
    margin-right: 6px;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

/*--------------HOME------------------*/

:root {
  --green: #006633;
  --blue: #4BA3C7;
  --white: #FAFAF8;
  --black: #20252B;
}

body,
html {
    background-color: var(--white);
}

:root {
    --spazio-sezione: 120px;
}

.spacer {
    padding: var(--spazio-sezione) 0;
}

.center {
    text-align: center;
}

.bg-blue {
    background-color: rgba(75, 163, 199, 0.4);
}

.bg-green {
    background-color: var(--green);
}

/* --- Hero Section --- */
/* --- HERO --- */

.hero-section {
    position: relative;
    height: 100vh;
    overflow: hidden;
    color: var(--white);
}

/* BACKGROUND LAYER */

.hero-slider,
.hero-media,
.hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* SLIDER / VIDEO */

.hero-slider {
    z-index: 1;
}

.hero-media {
    object-fit: cover;
    z-index: 1;
}

/* SINGOLA SLIDE */

.hero-slider .slide {
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* OVERLAY */
.hero-overlay {
    z-index: 2;
    background: rgba(75,75,75,.3);
    pointer-events: none; 
}

/* CONTENT */
.hero-content {
    position: relative;
    z-index: 10;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: clamp(200px, 12vh, 400px);
    pointer-events: none; 
}

/* TITLE */
.hero-content h1 {
    margin-bottom: clamp(30px, 5vw, 70px);
    pointer-events: auto; 
}

/* CTA */
.cta {
    display: inline-flex;
    padding: 1.5rem 3.5rem;
    background-color: var(--green);
    color: var(--white);
    border-radius: 50px;
    border: 1px solid var(--green);
    text-decoration: none;
    transition: .3s ease;
    font-weight: 500;
    pointer-events: auto; 
}

.cta:hover {
    background: transparent;
    color: var(--white);
    border: 1px solid var(--white);
}

.hero-slider .slick-dots {
    z-index: 20 !important;       
    pointer-events: auto !important; 
}

.hero-slider .slick-dots li {
    cursor: pointer !important;
}

.hero-slider .slick-dots li button {
    cursor: pointer !important;
}

.flex { 
    display: flex; 
    align-items: center; 
    gap: 60px; 
}

.info-text { 
    flex: 1; 
}

.info-text h2 { 
    margin-bottom: 50px;
}

.info-img {
    flex: 1;
    display: flex;
    justify-content: center;
    max-width: 600px;
    border-radius: 30px;
}

.info-img img {
    border-radius: 30px;
}

.valori-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 30px;
}

.valore {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
	color: var(--white);
}

.icon-img {
    width: 60px;
    height: 60px;
    object-fit: contain;
	color: var(--white);
	filter: brightness(0) invert(1);
}

.valore p {
    margin: 0;
	color: var(--white);
}

.missione-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.missione-text {
    flex: 1;
}

.missione-center {
    flex-shrink: 0;
    width: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.missione-center img {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.missione-center img {
    width: 100%;
    height: auto;
}

.missione-left {
    text-align: right;
}

.missione-right {
    text-align: left;
}

/*CONTATTI*/

.banner {
	width: 100%;
	min-height: 300px;
	height: 40vh;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: end;
	justify-content: center;
	text-align: center;
	padding-bottom: 50px;
}

.info-cards {
    display: flex;
    gap: clamp(30px, 4vw, 100px);
    margin-top: 60px;
}

.info-card {
    flex: 1 1 0;
    border: 1px solid var(--green);
    border-radius: 20px;
    padding: 4rem;
    background: rgba(0, 102, 51, 0.7);
    color: var(--black);
    display: flex;
    flex-direction: column;
}

.info-card-title {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 700;
	color: var(--white);
	padding-bottom: 25px;

}

.info-card-content {
    display: flex;
    align-items: center;
	justify-content: center;
	gap: 15px;
}

.info-card-content a:hover {
	text-decoration: underline;
}

.info-card-icon {
    flex-shrink: 0;
}

.info-card-icon img {
    width: 24px;
    height: 24px;
    object-fit: contain;
	display: block;
}

.info-card-text {
    font-size: 1.8rem;
    line-height: 3.5rem;
}

.info-card-text a {
    color: var(--white);
}

/*attività home*/

.collezioni-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(20px, 2vw, 30px);
    width: 90%;
    margin: 60px auto 0;
    justify-items: center; 
}

.collezione-card[href*="in-partenza"] {
    display: none;
}

.collezione-card {
    position: relative;
    display: block;
    border-radius: 30px;
    overflow: hidden;
    aspect-ratio: 3 / 4; 
    text-decoration: none;
    text-align: center;
    max-width: 400px; 
    width: 100%; 
}

.collezione-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.collezione-card:hover img {
  transform: scale(1.05);
}


.collezione-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #3A3A3A;
  opacity: 0.3;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.collezione-card:hover::before {
  opacity: 0;
}

.collezione-card h3 {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  padding: 0 15px;
  margin: 0;
  z-index: 2;
  color: white;
  line-height: 3.6rem;
  font-size: 3rem;

}

/*POP-UP*/
.category-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

/* stato aperto */
.category-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* overlay */
.category-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}

/* box modal */
.category-modal-box {
    position: relative;
    z-index: 2;
    width: min(700px, 90vw);
    background: var(--white);
    padding: 6rem;
    border-radius: 20px;
    transform: scale(0.92);
    opacity: 0;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

/* animazione box quando attivo */
.category-modal.active .category-modal-box {
    transform: scale(1);
    opacity: 1;
}

/* titolo */
#modalTitle {
    text-align: center;
    margin-bottom: 15px;
}

/* bottone chiusura */
.category-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    border: 0;
    background: transparent;
    font-size: 2.4rem;
    cursor: pointer;
    line-height: 1;
}

/* contenuto descrizione */
.modal-description {
    margin-top: 3rem;
    line-height: 1.6;
}

/* card cliccabili */
.collezione-card {
    cursor: pointer;
}
/*prova attività in partenza*/

.attività-grid {
    width: 90%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
	padding-top: 60px;
}

.card-attività-in-partenza {
    display: flex;
    flex-direction: column;
	height: 100%;
    border: 1px solid var(--green);
    border-radius: 20px;
    overflow: hidden;
    background: var(--white);
    position: relative;
}

.attività-in-partenza-title a::after {
    content: "";
    position: absolute;
    inset: 0; /* Equivale a top: 0; right: 0; bottom: 0; left: 0; */
    z-index: 10; /* Assicura che la patina cliccabile stia sopra tutti gli altri elementi */
}

.attività-in-partenza-img {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.attività-in-partenza-img > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
    will-change: transform;
}

.card-attività-in-partenza:hover .attività-in-partenza-img > img {
    transform: scale(1.05);
}

.attività-in-partenza-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #3A3A3A;
  opacity: 0.3;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.attività-data {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 8;
    padding: 8px 15px;
    border-radius: 30px;
    background: var(--green);
	border: 1px solid var(--white);
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--white);
	letter-spacing: 0.03em;
}

.attività-livello {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 8;
    width: auto;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.attività-livello img {
    width: 100%;
    height: auto;
    display: block;
}

.card-attività-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.attività-card-dati {
    display: flex;
    justify-content: space-between;
    align-items: center;
	margin: 10px 15px;
    max-height: 50px;
}

.dato-group {
    display: flex;
    align-items: center;
	font-size: 1.6rem;
}

.dato-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dato-item img {
    width: 35px;
    height: auto;
    object-fit: contain;
    display: block;
}

.attività-in-partenza-title {
    margin: 0;
    padding: 0 15px;
	color: var(--black);
	line-height: 2.8rem;

}

.attività-in-partenza-title a {
    text-decoration: none;
    color: inherit;
	font-size: 2rem;
}

.attività-in-partenza-title a:hover {
    color: var(--green);
	transition: 0.3s;
}

.attività-in-partenza-desc {
    padding: 0 15px;
    margin-top: 20px;
    color: var(--black);
    font-size: 1.6rem;
}

.attività-in-partenza-bottom {
    margin: 0 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
	padding-top: 20px;
    padding-bottom: 30px;
	margin-top: auto;
}

.price {
	display: flex;
	gap: 8px;
	font-size: 1.6rem;
	align-items: baseline;
}

.bold {
	font-weight: 600;
	font-size: 2rem;
}

.btn-2 {
    background: var(--green);
    color: var(--white);
    padding: 0.8rem 3.5rem;
    border-radius: 30px;
	border: 1px solid var(--green);
    text-decoration: none;
	transition: 0.3s ease;
}

.card-attività-in-partenza:hover .btn-2 {
	background: var(--white);
    color: var(--green);
	border: 1px solid var(--green);
}

.section-action-btn {
    display: flex;
    justify-content: center;
    padding-top: 60px;
}
.section-action-btn .cta:hover {
    background-color: var(--white);
    border: 1px solid var(--green);
    color: var(--green);
}

/* GUIDE HOME */
.guide-card {
  display: block;
  text-decoration: none;
}

.guide-grid {
  display: grid;
  margin: 6rem auto 0;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  width: 90%
}

.guide-image {
  position: relative;
  width: 100%;
  aspect-ratio: 5/3;
  border-radius: 20px;
  overflow: hidden;
  max-width: 650px;
}

.guide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.guide-overlay {
  position: absolute;
  inset: 0;
  background: #3A3A3A;
  opacity: 0.3;
  z-index: 1;
  transition: opacity 0.4s ease;
}

.guide-card:hover .guide-overlay {
  opacity: 0;
}

.guide-card:hover img {
  transform: scale(1.05);
}

.guide-content {
  position: absolute;
  bottom: 2rem;
  left: 4rem;
  right: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  z-index: 2;
}

.guide-title {
  font-family: 'Poppins', sans-serif;
  font-size: 3rem;
  font-weight: 500;
  color: var(--white);
  letter-spacing: 0.03em;
}

.guide-icon {
  font-size: 30px;
  color: var(--white);
  flex-shrink: 0;
}

.guida-content .btn-2:hover {
    background-color: var(--white);
    color: var(--green);
    border: 1px solid var(--green);
}

.activity-layout .btn-2:hover {
    background-color: transparent;
    color: var(--green);
    border: 1px solid var(--green);
}

/*ATTIVITA SU RICHIESTA*/
.attivita-su-richiesta {
    margin-top: 1rem;
}

.attivita-su-richiesta-item {
    border-bottom: 1px solid var(--black);
    padding: 50px 0;
}

.attivita-su-richiesta-header {
    display: grid;
    grid-template-columns: 140px 30% 1fr 35px; 
    align-items: center;
    gap: 50px;
    cursor: pointer;
}

.attivita-su-richiesta-img {
    width: 140px;
    height: 140px;
    border-radius: 20px;
    object-fit: cover;
    display: block;
    flex-shrink: 0; 
}

.attivita-su-richiesta-title {
    color: var(--black);
    padding-bottom: 0;
 
}

.attivita-su-richiesta-desc {
    margin: 0;
}

.faq-icon {
    font-size: 35px;
    transition: transform .3s ease;
    justify-self: end;
}

.attivita-su-richiesta-item.active .faq-icon {
    transform: rotate(90deg);
}

.attivita-su-richiesta-content {
    display: none;
    padding-top: 30px;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #666666;       /* Grigetto */
    font-size: 1.5rem;    /* Più piccolino del font di default */
    font-weight: normal;
    opacity: 1;           /* Fix per Firefox */
}

/*form*/
.form {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12rem 3rem;
    border-radius: 20px;
    border: 1px solid var(--blue);
	margin-top: 6rem;

    }

    .form-content {
    max-width: 1300px;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.form-content h3 {
	padding-bottom: 20px;
}

.wpcf7-form .cf7-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: clamp(20px, 4vw, 60px);
}

select {
    outline: none;
    padding-left: 10px;
    color: #666666;
    height: 50px;
    margin-top: 10px;
    margin-bottom: 30px;
    background-color: var(--white);
    border: 1px solid var(--blue);
    border-radius: 5px;
    width: 100%;
	font-style: italic;
    font-size: 1.5rem;
}
.wpcf7-textarea {
    min-height: 230px;
	padding-top: 10px;
}

.wpcf7-not-valid-tip {
    margin-top: -20px;
}

.contatti-form {
	padding-top: 40px;
}

.home-form {
    width: 80%;
    margin: 0 auto;
}

.home-form p,
.home-form a {
    color: var(--black);
}

#prenota-attivita .form {
    background-image: linear-gradient(rgba(34, 34, 34, 0.5), rgba(34, 34, 34, 0.5)), 
                      url('./img/sfondo_form.jpg');
}

html {
    scroll-behavior: smooth;
}

/* breadcrumbs */
.breadcrumbs p {
  padding-bottom: 0;
  letter-spacing: 0.03em;
}

.breadcrumbs a {
  color: var(--white);
  font-weight: 600;
  letter-spacing: 0.03em;
}

.breadcrumbs a:hover {
  color: var(--white);
  letter-spacing: 0.03em;
}

.breadcrumbs span {
  color: var(--white);
}


.banner-attivita-single {
    height: 600px;
    max-height: 600px;
}

.post-meta-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(30px, 3vw, 40px);
    gap: 12px;
    flex-wrap: wrap;
}

.meta-date, .meta-category {
    border: 1px solid var(--green);
    border-radius: 50px;
    background: #dff3ff;
    color: var(--green);
    font-size: 2.2rem;
    font-weight: 600;
    padding: 10px 20px;
    display: inline-flex;
    align-items: center;
    line-height: 1;
    white-space: nowrap;
}

.meta-category a {
    color: var(--green);
    text-decoration: none;
    font-size: 2.2rem;
}

.meta-category a:hover {
    text-decoration: underline;
}

/* --- DATI PRINCIPALI --- */
.dato-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    margin-top: 40px;
}

.dato-item {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 15px;
}

.dato-left { justify-content: flex-start; }
.dato-center { justify-content: center; }
.dato-right { justify-content: flex-end; }

.dato-item span {
    font-size: 2rem;
}

.description-label {
    font-family: 'Poppins', sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 3rem;
    letter-spacing: 0.03em;
}

.description-dettagli {
    margin-top: 25px;
}

/* --- SEZIONE COSA INCLUDE / NON INCLUDE --- */
.include-block h2 {
    margin-bottom: 4rem;
}

.include-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.include-list li {
    display: flex;
    align-items: center;
    gap: 25px;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 3rem;
}

.list-icon {
    flex-shrink: 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.list-icon--check { color: #2e9f50; }
.list-icon--cross { color: #d64545; }
.pad-top-60 { padding-top: 60px; }

/* --- STRUTTURA LAYOUT (DESKTOP) --- */
.activity-layout {
    display: grid;
    grid-template-columns: 7fr 3fr; 
    gap: clamp(50px, 5vw, 100px);
    align-items: flex-start;
}

#descrizione-attività {
    grid-column: 1;
    grid-row: 1;
    min-width: 0; 
}

#cosa-include {
    grid-column: 1;
    grid-row: 2;
    min-width: 0; 
}

/* --- STILI SIDEBAR (DESKTOP) --- */
.activity-sidebar {
    grid-column: 2;
    grid-row: 1 / span 2; 
    position: sticky;
    top: 30px;
    background: rgba(34, 123, 95, 0.15); 
    border: 1px solid var(--green);
    border-radius: 20px;
    padding: clamp(50px, 4vw, 60px) clamp(25px, 2.5vw, 40px);
    display: flex;
    flex-direction: column;
    box-sizing: border-box; 
    word-break: break-word; 
    min-width: 0; 
}
.sidebar-title {
    margin-bottom: 2rem;
    font-size: 3rem;
    color: var(--black);
    text-align: center;
}

.sidebar-info {
    display: flex;
    flex-direction: column;
    gap: clamp(15px, 2vw, 30px);
    margin-bottom: clamp(30px, 4vw, 50px);
}

.sidebar-info-item {
    display: flex;
    align-items: center;
    gap: clamp(10px, 2vw, 30px);
}

.sidebar-info-item.sidebar-location {
    align-items: flex-start; /* Icona in alto se il testo del luogo va a capo */
}

.sidebar-info-item img {
    width: 35px;
    height: auto;
    object-fit: contain;
}

.sidebar-icon {
    height: 32px;
    width: 35px;
    flex-shrink: 0;
    color: var(--green);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sidebar-icon svg {
    height: 100%;
    width: auto;
    display: block;
}

.dato-icon svg path,
.sidebar-icon svg path {
    fill: var(--green) !important;
}

.dato-icon svg [stroke],
.sidebar-icon:not(.icon-orario) svg [stroke] {
    stroke: var(--green) !important;
}

.sidebar-map-link {
    color: var(--green);
    text-decoration: underline;
}

.sidebar-price {
    font-size: 2.4rem;
    color: var(--black);
    margin-bottom: 70px;
    font-style: italic;
    font-weight: 400;
    text-align: center;
}

.activity-layout .btn-2 {
    font-size: 2.4rem;
    font-weight: 600;
    align-items: center;
    justify-content: center;
    display: inline-flex;
    width: fit-content;
    align-self: center;
    font-family: 'Poppins', sans-serif;
}

#carosello-attivita {
    position: relative;
}

#carosello-attivita .carousel-item {
    aspect-ratio: 1 / 1;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

#carosello-attivita .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#carosello-attivita .slick-slide {
    padding: 0 5px;
    box-sizing: border-box;
}

#carosello-attivita .carousel {
    display: block;
}

/* DOTS */
#carosello-attivita .slick-dots {
    position: relative;
    margin-top: 30px;
    left: 0;
    right: 0;
    margin: 0;
    text-align: center;
}

#carosello-attivita .slick-dots li {
	background-color: #3A3A3A;
}

#carosello-attivita .slick-dots .slick-active {
    background-color: var(--green);
}

/* overlay */
#carosello-attivita .carousel-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #3A3A3A;
    opacity: 0.3;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

#carosello-attivita .carousel-item:hover::after {
    opacity: 0;
}

#guida-attivita .guida-wrapper {
    display: flex;
    gap: clamp(30px, 5vw, 100px);
    align-items: center;
}

#guida-attivita .guida-img {
    flex: 0 0 auto;
    width: clamp(220px, 35vw, 450px);
}

#guida-attivita .guida-img img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    border-radius: 20px;
}

#guida-attivita .guida-content {
    flex: 1;
}

#guida-attivita .guida-content h3 {
	color: var(--black);
}

#guida-attivita .guida-desc {
    margin-bottom: 40px;
    line-height: 3rem;
}

.pad-bot-40 {
	padding-bottom: 40px;
}

/* FAQ WRAPPER */
.faq {
  width: 100%;
}

/* ITEM */
.faq-item {
  padding: 50px 0;
  border-bottom: 1px solid var(--black);
}

/* QUESTION ROW */
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  gap: 20px;
}

/* TITLE */
.faq-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 30px;
  letter-spacing: 0.03em;
  flex: 1;
}

/* ICON */
.faq-icon {
  font-size: 3.2rem;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  display: inline-block;
}

/* ANSWER */
.faq-answer {
  display: none;
  margin-top: 20px;
}

.faq-answer p {
  margin: 0;
}

/* OPEN STATE */
.faq-item.active .fa-arrow-right {
  transform: rotate(90deg);
}

/*PAGINA ATTIVITA*/

.filter-menu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 40px;
}

.filter-item {
    font-size: 2.4rem;
    font-weight: 600;
    padding: 6px 20px;
    border: 1px solid var(--black);
    border-radius: 30px;
    text-decoration: none;
    color: var(--black);
    display: inline-flex;
    cursor: pointer;
    transition: all 0.25s ease; 
}


.filter-item:hover {
    background: #cfe9ff; 
    color: var(--black);
}

.filter-item.active {
    background: #dff3ff; 
    border-color: var(--black);
}

.filter-item.active:hover {
    background: #dff3ff; 
}

.tutte-le-attività-grid {
    width: 90%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(50px, 4vw, 100px);
    padding-top: 120px;
    box-sizing: border-box;
}

.is-hidden {
    display: none;
}

.btn-show-more {
    background: none;
    border: none;
    color: var(--green);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 700; 
    font-size: 2.2rem;
    font-family: 'Poppins';
    margin: 40px auto 0;  
    width: max-content;   
    transition: all 0.25s ease-in-out;
}

.btn-show-more i {
    transition: transform 0.25s ease-in-out;
}

.tutte-le-attività-grid:not(.is-expanded) .card-attività-in-partenza.is-hidden {
    display: none;
}


/* ==========================================================================
   EFFETTO GSAP H1 HERO
   ========================================================================== */
.hero-title-animated {
    perspective: 1000px;
}

.hero-title-animated .word {
    display: inline-block;
    white-space: nowrap;
}

.hero-title-animated .letter {
    display: inline-block; 
    transform-origin: 50% 50% -20px;
    opacity: 0; 
}
.newsletter-inline {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%; /* Segue categoricamente la larghezza della colonna del footer */
    margin-bottom: 15px;
    margin-top: 25px;
    gap: 10px; /* Spazio nativo tra input e bottone */
}

.newsletter-inline p {
    display: contents !important;
}

/* L'input si stringerà fino al minimo possibile pur di stare nella colonna */
.newsletter-inline .wpcf7-form-control-wrap {
    flex: 1; 
    min-width: 0; /* Permette il restringimento estremo in Flexbox */
}

.newsletter-inline input[type="email"] {
    width: 100%;
    height: 4.5rem; /* Leggermente più basso per schermi compatti */
    border-radius: 20px; 
    padding: 0 15px;   
    box-sizing: border-box;
    margin: 0;
    font-size: 1.4rem;
}

/* Placeholder proporzionato */
.newsletter-inline input[type="email"]::placeholder { font-size: 1.3rem; opacity: 0.7; }
.newsletter-inline input[type="email"]::-webkit-input-placeholder { font-size: 1.3rem; }
.newsletter-inline input[type="email"]::-moz-placeholder { font-size: 1.3rem; }
.newsletter-inline input[type="email"]:-ms-input-placeholder { font-size: 1.3rem; }

/* Bottone più stretto (65px invece di 80px) per salvare spazio prezioso nelle 3 colonne */
.newsletter-inline .cta-newsletter {
    width: 65px; 
    height: 4.5rem;   
    border-radius: 20px; 
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--green);
    border: 1px solid var(--green);
    cursor: pointer;
    transition: .3s ease;
    padding: 0; 
    margin: 0; 
    flex-shrink: 0; /* Impedisce al bottone di sparire */
}

.newsletter-inline .cta-newsletter:hover {
    background-color: #ffffff !important; 
    border: 1px solid var(--green) !important; 
}

.newsletter-inline .cta-newsletter i {
    font-size: 20px; 
    line-height: 1;
    display: block;
    color: var(--white);
    transition: .3s ease;
}

.newsletter-inline .cta-newsletter:hover i {
    color: var(--green) !important;
}

/* --- COSTRETTI A PORTATA DI MANO: PRIVACY --- */
.footer-newsletter .wpcf7-acceptance {
    margin-top: 15px;
}

.footer-newsletter .wpcf7-acceptance label,
.footer-newsletter .wpcf7-acceptance label span {
    font-size: 1.3rem !important; /* Resetta lo span gigante del tema */
    white-space: normal !important; /* Impedisce al testo di restare su una riga sola */
}

.footer-newsletter .wpcf7-acceptance label {
    display: inline-flex;
    width: 100%; 
    gap: 10px;
    font-style: italic;
    line-height: 1.4;
    align-items: flex-start; 
    text-align: left;
}

.footer-newsletter .wpcf7-acceptance input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
}

/* --- PRIVACY E COMPORTAMENTO A CAPO --- */
.footer-newsletter .wpcf7-acceptance {
    /* Rimosso il display: block come richiesto */
    margin-top: 15px;
}

.footer-newsletter .wpcf7-acceptance label,
.footer-newsletter .wpcf7-acceptance label span {
    font-size: 1.3rem !important; 
}

.footer-newsletter .wpcf7-acceptance label {
    display: inline-flex;
    width: 100%; 
    gap: 10px;
    font-style: italic;
    line-height: 1.4;
    align-items: center;
    text-align: left;
}

.footer-newsletter .wpcf7-acceptance input[type="checkbox"] {
    margin-top: 0; 
    flex-shrink: 0;
}

/*pagina guide*/

/* Sezione Presentazione Guida */

.presentazione-flex {
    display: flex;
    align-items: center;
    gap: clamp(30px, 6vw, 100px);
    width: 90%;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 40px;
}

.presentazione-img {
    flex: 1;
    max-width: 350px; 
}

.presentazione-img img {
    width: 100%;
    aspect-ratio: 1 / 1; 
    object-fit: cover;    
    border-radius: 50%;   
}

.presentazione-testo {
    flex: 1.5;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.presentazione-testo h1 {
    color: var(--black);
    margin-bottom: 40px;
    line-height: 1.2;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/


@media (max-width: 1550px) and (min-width: 1281px) {
    #attività-in-partenza .content {
        width: 100%; 
    }

    .price {
        flex-direction: column;   
        align-items: flex-start;  
        gap: 2px;                 
    }
    
    .bold {
        line-height: 1;           
    }
}

@media screen and (max-width: 1280px) {
    :root {
        --spazio-sezione: 80px;
    }

    h1 { font-size: 4.2rem; line-height: 4.8rem;}
    h2 { font-size: 3.0rem; line-height: 3.6rem; margin-bottom: 1.8rem; }
    h3, .info-card-title { font-size: 2.4rem; padding-bottom: 3.5rem; line-height: 3.6rem; }
    h4 { font-size: 1.9rem; }
    h5 { font-size: 2.0rem; }
    span { font-size: 1.8rem; line-height: 2.4rem; }
    .hero-title-animated span { font-size: 4.4rem; }
    p, a { font-size: 1.8rem; line-height: 2.4rem; }
    #showMoreBtn span { font-size: 2.2rem; }
    .filter-item { font-size: 2.0rem; }
    .meta-date, .meta-term { font-size: 2.2rem; }
    .faq-title { font-size: 2.4rem; }

    .filter-menu {
        gap: 20px;
        margin-bottom: 0;
    }

    .newsletter-inline {
        margin-bottom: 10px;
        margin-top: 15px;
    }

    .faq-title { font-size: 2.6rem; }


    /*.hero-title-animated span { font-size: 3.6rem; }*/

  
    .missione-wrapper {
        gap: 50px;
    }

    .missione-center img {
        width: 90%;
        height: auto; 
    }

    .guide-title {
        font-size: 2.6rem;
    }

    .info-cards {
        gap: 25px;
    }

    .info-card {
        padding: 30px 20px;
    }

    .info-card-title {
        padding-bottom: 20px;
    }

    .attivita-su-richiesta-header {
        grid-template-columns: 140px 1fr 35px;
        grid-template-areas: 
            "img title arrow"
            "img desc arrow";
        gap: 6px 40px; 
        align-items: center;
    }

    .attivita-su-richiesta-img { 
        grid-area: img; 
    }

    .attivita-su-richiesta-title { 
        grid-area: title; 
        align-self: end; 
    }

    .attivita-su-richiesta-desc { 
        grid-area: desc; 
        align-self: start; 
    }

    .faq-icon { 
        grid-area: arrow; 
        justify-self: end;
    }

    .activity-layout {
        grid-template-columns: 1fr 320px;
        gap: 40px;
    }

    .attività-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        justify-items: center;
    }

    .tutte-le-attività-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;      
        padding-top: 8rem; 
        justify-items: center;
    }

    .card-attività-in-partenza {
        max-width: 420px; 
        width: 100%; 
    }

    .newsletter-inline input[type="email"] {
        height: 4.5rem;
        padding: 0 15px;
        font-size: 1.4rem;
    }

    .newsletter-inline input[type="email"]::placeholder {
        font-size: 1.3rem;
    }

    .newsletter-inline .cta-newsletter {
        height: 4.5rem;
        width: 60px;
    }

    .footer-newsletter .wpcf7-acceptance label,
    .footer-newsletter .wpcf7-acceptance label span {
        font-size: 1.4rem !important;
    }

    .footer-newsletter {
        max-width: 380px;
    }
}

@media (max-width: 1280px) and (min-width: 992px) {
    .collezione-card h3 {
        font-size: 2.4rem;
        line-height: 2.8rem;
    }
}

@media (max-width: 991px) {
    .flex {
        flex-direction: column;
        text-align: center;
    }

    .info-text { order: 1; }
    .info-img { order: 2; }    

    .valori-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .missione-wrapper {
        flex-direction: column;
        text-align: center;
        gap: 5rem;
    }

    .missione-left,
    .missione-right {
        text-align: center;
    }

    .missione-center {
        width: 180px;
    }
    
    .info-cards {
        flex-direction: column;
    }

    .info-card {
        width: 100%;
    }

    .info-card-title {
        padding-bottom: 10px;
    }

    .collezioni-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .collezione-card {
        max-width: 350px;
    }

    .wpcf7-form .cf7-row {
        grid-template-columns: 1fr;
        gap: 0px;
    }

    .form {
        padding: 70px 30px;
        margin-top: 80px;
    }

    .guide-title {
        font-size: 2.2rem;
    }

    .activity-layout {
        display: flex;
        flex-direction: column;
        gap: 50px; 
    }

    #descrizione-attività,
    #cosa-include,
    .activity-sidebar {
        grid-column: auto;
        grid-row: auto;
    }

    .activity-sidebar {
        width: 100%;
        max-width: 100%;
        position: static; 
        padding: 40px 30px;
    }

    .sidebar-price {
        margin-bottom: 30px;
    }

    .sidebar-title {
        margin-bottom: 0;
    }

    .presentazione-flex {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }
    
    .presentazione-img {
        max-width: 250px;
        margin: 0 auto;
    }
    
    .presentazione-testo h1 {
        font-size: 3.6rem;
        margin-bottom: 20px;
    }
    

    .newsletter-inline {
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
        max-width: 480px; 
    }

    .footer-newsletter .wpcf7-acceptance label {
        justify-content: center;
        text-align: left; 
    }

    /* Footer */
    .footer-widget-area {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 40px;
        margin: 40px 0;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
    }

    .footer-menu ul {
        justify-content: center;
    }

    .footer h3 {
        padding-bottom: 15px;
    }

    .wpcf7 input::placeholder,
    .wpcf7 textarea::placeholder,
    select {
        font-size: 1.3rem;
    }

}

@media (max-width: 768px) {
    :root {
        --spazio-sezione: 60px;
    }

    h1 { font-size: 3.6rem; line-height: 4.2rem;}
    h2 { font-size: 2.8rem; line-height: 3.4rem; margin-bottom: 1.5rem; }
    h3, .info-card-title { font-size: 2.2rem; padding-bottom: 2.5rem; line-height: 3.1rem; }
    h4 { font-size: 1.8rem; }
    h5 { font-size: 1.8rem; }
    span { font-size: 1.6rem; line-height: 2.2rem; }
    p, a { font-size: 1.6rem; line-height: 2.2rem; }
    .hero-title-animated span { font-size: 3.6rem; }
    .filter-item { font-size: 1.8rem; }
    #showMoreBtn span { font-size: 2.0rem; }
    .meta-date, .meta-term { font-size: 1.8rem; }
    .faq-title { font-size: 2rem; }
    .sidebar-title { font-size: 2.4rem; }


    .dato-item {
        gap: 6px;
    }

    .dato-item span {
        font-size: 1.8rem;
    }

    .missione-center img {
        max-width: 150px;
    }

    .include-list {
        gap: 2rem;
    }

    .btn-show-more {
        margin: 0 auto;
    }

    .filter-menu {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
        margin-bottom: 10px;
    }

    .attività-grid,
    .guide-grid,
    .tutte-le-attività-grid {
        grid-template-columns: 1fr;
    }

    .tutte-le-attività-grid {
        gap: 30px;          
        padding-top: 50px;  
        width: 92%;          
    }

    .collezione-card h3 {
        font-size: 2.2rem;
    }

    .attivita-su-richiesta-header {
        grid-template-columns: 0px 1fr 30px;
        grid-template-areas:         "img title arrow"        "img desc arrow";
        gap: 5px 10px;
        align-items: center;
    }

    .attivita-su-richiesta-img {
        grid-area: img;
        width: 80px;
        height: 80px;
        display: none;
    }

    .attivita-su-richiesta-title {
        grid-area: title;
        padding-bottom: 15px;
        align-self: end; 
    }

    .attivita-su-richiesta-desc {
        grid-area: desc;
        align-self: start; 
    }

    .faq-icon {
        grid-area: arrow;
        font-size: 25px; 
        justify-self: end;
        align-self: center;
    }

    /* Guida Attività */
    #guida-attivita .guida-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }

    #guida-attivita .guida-img {
        width: 100%;
        max-width: 100%;
    }

    /* Modale Categoria */
    .category-modal-box {
        padding: 4rem;
        max-width: 600px;
    }
}

@media (max-width: 576px) {

    .valori-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 16px;
    }

    .icon-img {
        width: 48px;
        height: 48px;
    }

	.collezioni-wrapper {
		grid-template-columns: 1fr;
		gap: 40px; 
		width: 80%;
	}


}

@media only screen and (min-width:768px) {
	.touch .parallax {
		background-attachment: scroll !important;
	}
	.wpcf7-form label {
		font-size: inherit;
	}
	.wpcf7-form .flex {
		display: flex;
	    flex-direction: row;
	    flex-wrap: wrap;
	    justify-content: space-between;
	    align-items: flex-start;
	    align-content: center;
	}
	.wpcf7-form .flex div {
		width: 48%;
	}
	.nav ul li {
		padding: 15px 0;
	}
	.nav a {
		font-size: 25px;
	}
}
@media only screen and (min-width:1024px) {
	.touch .parallax {
		background-attachment: scroll !important;
	}
	.lightbox-wrapper .next, .lightbox-wrapper .prev {
	    width: 20px;
	}	
	.lightbox-wrapper .lightbox-header .close {
	    max-width: 30px;
	}
	.lightbox-wrapper .lightbox-body {
	    height: 100%;
	    max-height: 800px;
	}
/*--------------HOME------------------*/



}
@media only screen and (min-width:1280px) {
	.parallax {
		background-attachment: fixed !important;
	}
	.logo img {
	    max-width: 180px;
	}
	.popup-content .sfondo {
	    max-width: 1100px;
    }
	/*------------------------------------*\
		RESPONSIVE - layout desktop
	\*------------------------------------*/
	
	/* header */
	.header {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
	}
	/* nav */
	.pagina-desktop .nav {
		display: block;
		background-color: transparent;
		height: auto;
		width: 100%;
		position: relative;
		background-image: none;
		opacity: 1.0;
		pointer-events: unset;
		user-select: unset;
		left: auto;
		right: 5%;
	}
	.pagina-desktop .nav ul {
		margin-top: 0;
		text-align: center;
		display: inline-block;
	}
	.pagina-desktop .nav ul li {
		padding: 0 0 0 100px;
		display: inline-block;
		text-transform: none;
	}
	.pagina-desktop .nav ul li a {
		height: 30px;
		/*line-height: 50px;*/
		font-size: 2.2rem;
		letter-spacing: 0.03em;
		font-weight: 400;
		font-family: 'Poppins', sans-serif;
	}
    #menu-item-20 {
        padding-left: 0px;
    }
	.pagina-desktop .openclose {
		display: none;
	}
	.pagina-desktop .logo {
		max-width: 180px;
		width: 100%;
		position: relative;
	}
	.wpml-ls-legacy-list-horizontal a {
		padding: 0;
	}
	.header-widget-area {
		position: relative;
		top: auto;
		right: auto;
		display: flex;
		align-items: center;
	}

	.nav .sottomenu .sub-menu {
		width: 220px;
		margin-top: 74px;
	}
	.nav .sub-menu {
		padding: 0;
	}
	.nav .sub-menu li {
		width: 100%;
	}
	.nav .sub-menu li a {
		height: 40px;
		line-height: 40px;
	}
	.nav .sottomenu {
		position: relative;
		cursor: pointer;
	}
	.nav .sottomenu .sub-menu {
		flex-direction: column;
		justify-content: flex-start;
		background-color: #F3F8F0;
		position: absolute;
		top: 0;
		left: 0;
		text-align: left;
		width: 220px;
		margin-top: 50px;
		z-index: 2;
		padding: 20px 0;
	}

}
@media only screen and (min-width:1600px) {
	

}

