/* Dichiarazione per PPAcma-Light */
@font-face {
	font-family: "PP Acma";
	src: url("../ext-libraries/fonts/pp-acma/PPAcma-Light.otf")
		format("opentype");
	font-weight: 300; /* Peso leggero */
	font-style: normal;
}

/* Dichiarazione per PPAcma-Black */
@font-face {
	font-family: "PP Acma";
	src: url("../ext-libraries/fonts/pp-acma/PPAcma-Black.otf")
		format("opentype");
	font-weight: 900; /* Peso pesante */
	font-style: normal;
}

/* Dichiarazione per PPAcma-Thin */
@font-face {
	font-family: "PP Acma";
	src: url("../ext-libraries/fonts/pp-acma/PPAcma-Thin.otf")
		format("opentype");
	font-weight: 100; /* Peso sottile */
	font-style: normal;
}

/* Dichiarazione per PPAcma-Semibold */
@font-face {
	font-family: "PP Acma";
	src: url("../ext-libraries/fonts/pp-acma/PPAcma-Semibold.otf")
		format("opentype");
	font-weight: 600; /* Peso semi-grassetto */
	font-style: normal;
}

/* Uso del font nel tuo HTML */
body {
	font-family: "PP Acma", sans-serif !important;
}
#main header .logo-t2o {
	position: absolute;
	z-index: 99;
	padding: 50px 0px 0px 50px;
}
#main header .logo-t2o a img {
	max-width: 105px;
	max-height: 60px;
	width: 100%;
	object-fit: contain;
	height: 100%;
}
.main-image-section .title-cta-container {
	color: white;
	z-index: 99;
}

.main-image-section .title-cta-container .title-content {
	font-size: 72px;
	font-weight: 600;
	text-shadow: 0px 0px 4px #ffffff;
}

.main-image-section {
	min-height: 820px;
	width: 100%;
	height: 100%;
	/* background: url("../img/image-headerv2-min.png"); */
	background-repeat: no-repeat;
	position: relative;
	background-size: cover;
	background-position: center top;
	display: flex;
	justify-content: center;
	align-items: center;
}
.main-image-section #myVideo {
	position: absolute;
}
.main-image-section::after {
	content: "";
	background-color: black;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	opacity: 0.2;
}
.main-image-section .title-cta-container {
	padding-bottom: 90px;
}
.main-image-section .title-cta-container .cta-content {
	font-size: 28px;
	display: flex;
	/* height: 70px; */
	font-weight: 500;
	justify-content: center;
	align-items: center;
	padding-top: 25px;
}
.main-image-section .title-cta-container .watch-video:hover {
	box-shadow: 1px 2px 20px 5px #c99494;
}
.main-image-section .title-cta-container .watch-video {
	background-color: #e63d3d;
	width: 100%;
	max-width: 380px;
	border-radius: 10px;
	   /*  height: 56px; */
	padding: 6px 5px;
	text-align: center;
	/* box-shadow: 0px 2px 20px #c99494; */
	cursor: pointer;
	display: flex;
    justify-content: center;
    align-items: center;
}
.fade-animation {
	animation: fadeInAnimation 1s ease-out forwards;
	animation-delay: 1.5s;
}
.animation-slide-down {
	animation: slideDown 1s ease-out forwards;
	animation-delay: 0.3s;
}
@media screen and (min-width: 769px){
.block-desk {
	display: inline-block;
}
.mobile-cta-image-container {
	display: none;
}
}
@media screen and (max-width: 768px){

.desktop-cta-image-container {
	display: none;
}
}
.video-bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background: transparent;
	object-fit: cover;
	mix-blend-mode: screen;
	pointer-events: none;
}
.ibm-font {
	font-family: "IBM Plex Mono", serif;
}
/* BACKGROUND SECTION START */
div.main-container {
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
}
.copy-year {
	text-decoration: none!important;
	cursor: text!important;
}
@media screen and (max-width: 768px) {
	#footer .content-footer .inner-footer .links,
	#footer .content-footer .inner-footer .logo {
		width: 100% !important;
		text-align: center;
	}
}
@media screen and (min-width: 768px) and (max-width: 1005px) {
	.cookie-policy,
	.privacy-policy {
		display: block;
		text-align: end;
	}
}

/* MAIN SECTION AND FORM SECTION START*/
div#main {
	position: relative;
	overflow: hidden;
}

.sample-tree-bg {
	background-image: url("../img/trees-bg.png");
	background-repeat: repeat-x;
	background-position: bottom center;
	background-size: contain;
	width: 100%;
	height: 100px;
	position: absolute;
	top: -98px;
	left: 0;
	z-index: 1;
}
#samples-section {
	text-align: center;
	position: relative;
	background-color: #f4f4f4;
	    padding-bottom: 40px;
}
.sample-section-bg-container {
	position: relative;
	z-index: 8;
}
.samples-section-intro {
	position: relative;
	z-index: 8;
	padding: 0px 20px 15px;
	background-color: #f4f4f4;
}
#samples-section .samples-section-title {
	font-weight: 600;
	font-size: 48px;
	line-height: 1em;
	color: #464646;
	padding-bottom: 10px;
	padding-top: 70px;
	display: flex;
	justify-content: center;
	column-gap: 35px;
	align-items: center;
}
#samples-section .samples-section-title .sample-logo-left img,
#samples-section .samples-section-title .sample-logo-right img {
	object-fit: contain;
	max-width: 77px;
	height: 16px;
	width: 100%;
}
#samples-section .sample-section-subtitle {
	font-size: 28px;
	line-height: 1.2em;
	font-weight: 200;
	color: #464646;
	max-width: 948px;
	margin: 0 auto;
	padding: 20px 10px 70px 10px;
}
#samples-section .sample-section-row {
	width: 80%;
	max-width: 300px;
	height: 2px;
	background-color: #f4f4f4;
	margin: 0 auto;
	margin-top: 40px;
	margin-bottom: 30px;
}
#samples-section .samples-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 7;
	background-color: #f4f4f4;
	padding: 0px 25px 80px;
}

#samples-section .samples-container .sample-box {
	max-width: 290px;
}
#samples-section .samples-container .sample-box div.sample-txt {
	font-size: 22px;
	font-weight: 300;
	line-height: 1.1em;
	color: #5c5c5c;
	display: flex;
	align-items: center;
	min-height: 200px;
}
#samples-section .samples-container .sample-box .sample-logo {
	padding: 30px 0px;
}
#samples-section .samples-container .sample-box .sample-logo img {
	width: 100%;
	max-width: 38px;
	height: 100%;
	max-height: 8px;
	object-fit: contain;
}
.slider-container {
	display: none;
}

/* FOOTER SECTION START */
#footer {
	position: relative;
}
#footer .pacchi-footer {
	background-image: url("../img/pacchi_v2.png");
	background-repeat: repeat-x;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 300px;
	position: absolute;
	top: -220px;
	left: 0;
	display: none;
}

.pacchi-bg .pacchi {
	background-image: url("../img/pacchi_v2.png");
	background-repeat: repeat-x;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 300px;
	z-index: -1;
	position: absolute;
	top: -252px;
	left: 0;
}
@media screen and (min-width: 1366px) {
	.pacchi-bg .pacchi {
		background-size: contain !important;
	}
}
#footer .pacchi-footer.with-response {
	display: block;
	z-index: 7;
}
@media screen and (max-width: 768px) {
	#main header .logo-t2o {
	padding: 25px 0px 0px 0px;
    transform: translateX(-50%) !important;
    left: 50%;
	}
	.mobile-db {
		display: block;
	}
	form.while-loading {
		display: none;
	}
	div#header .logo-container img {
		max-width: 270px;
		max-height: 78px;
	}
	#footer .pacchi-footer {
		height: 195px;
		top: -150px;
	}
	.main-image-section .title-cta-container .title-content {
	    font-size: 48px;
    	line-height: 1.2em;
   	 	padding: 0px 20px;
    	text-align: center;
	}
	.main-image-section .title-cta-container .cta-content {
		font-size: 20px;
	}
	.main-image-section .title-cta-container .watch-video {
		max-width: 280px;
		width: 90%;
	}
	#samples-section .samples-section-title {
		font-size: 24px;
		padding-top: 35px;
	}
	#samples-section .samples-section-title .sample-logo-left img,
	#samples-section .samples-section-title .sample-logo-right img {
		max-width: 34px;
		height: 7px;
	}
	#samples-section .sample-section-subtitle {
		font-size: 16px;
		padding-bottom: 35px;
	}

}
@media screen and (min-width: 1366px) {
	#footer .pacchi-footer {
		background-size: contain;
	}
}
#footer .footer-section-bg {
	background: linear-gradient(to bottom left, #f4f4f4 51%, #e63d3d 52%);
	height: 55px;
	position: relative;
	z-index: 7;
	display: none;
}

#footer .footer-section-bg.bg-with-response {
	background: linear-gradient(to bottom left, transparent 51%, #e63d3d 52%);
	display: none;
}

#footer .content-footer {
	background-color: #e63d3d;
	padding: 20px 0px;
	position: relative;
	z-index: 7;
}
#footer .content-footer .inner-footer {
	width: 100%;
	max-width: 95%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
#footer .content-footer .inner-footer .logo img {
	width: 100%;
	max-width: 100px;
	height: 100%;
	max-height: 60px;
	object-fit: contain;
}
#footer .content-footer .inner-footer .copy {
	text-align: center;
	padding: 20px 5px;
}
#footer .content-footer .inner-footer .copy .copy-text {
	font-size: 9px;
	line-height: 1em;
	color: white;
}
@media screen and (max-width: 660px) {
	#footer .content-footer .inner-footer .copy .copy-text {
		padding: 0px 40px;
	}
}
#footer .content-footer .inner-footer .copy .copy-text span {
	text-decoration: underline;
	cursor: pointer;
}
#footer .content-footer .inner-footer .copy .copy-text span a, #footer .content-footer .inner-footer .copy .copy-text  a {
	color: white;
}
#footer .content-footer .inner-footer .links,
#footer .content-footer .inner-footer .logo {
	width: 20%;
}
#footer .content-footer .inner-footer .links .final-links-container {
	font-size: 10px;
	color: white;
}
#footer .content-footer .inner-footer .links .final-links-container span {
	text-decoration: underline;
	cursor: pointer;
}
@media screen and (min-width: 1006px) and (max-width: 1120px) {
	#footer .content-footer .inner-footer .links .final-links-container span {
		display: block;
	}
}
#footer .content-footer .inner-footer .links .final-links-container span a {
	color: white;
}

.pacco-response-container {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 9;
}
.pacco-response-container img {
	max-width: 200px;
	width: 100%;
	max-height: 200px;
	height: 100%;
	object-fit: contain;
	opacity: 0;
}
@media screen and (min-width: 768px) {
	.pacco-response-container img {
		max-width: 250px;
		width: 100%;
		height: 100%;
		max-height: 250px;
		object-fit: contain;
	}
	div.container-bg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.samples-container.mob {
		display: none !important;
	}
	#samples-section .sample-section-row {
		display: none;
	}

	.pacchi-bg .pacchi {
		background-image: url("../img/pacchi_v2.png");
		background-repeat: repeat-x;
		background-position: center center;
		background-size: cover;
		width: 100%;
		height: 300px;
		z-index: -1;
		position: absolute;
		top: -252px;
		left: 0;
	}
	.form-container,
	.response-container {
		padding-bottom: 280px !important;
	}
}
@media screen and (min-width: 768px) and (max-width: 955px) {
	#footer .content-footer .inner-footer {
		width: 100%;
		max-width: 95%;
		margin: 0 auto;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
	#footer .content-footer .inner-footer .logo img {
		width: 100%;
		max-width: 70px;
		height: 100%;
		max-height: 40px;
		object-fit: contain;
	}
	#footer .content-footer .inner-footer .copy .copy-text {
		font-size: 10px;
		line-height: 1em;
		color: white;
		text-align: center;
		max-width: 600px;
		padding-bottom: 10px;
	}
	#footer .content-footer .inner-footer .copy .copy-text span {
		text-decoration: underline;
		cursor: pointer;
	}
	#footer .content-footer .inner-footer .links .final-links-container {
		font-size: 10px;
		color: white;
	}
	#footer .content-footer .inner-footer .copy {
		text-align: center;
		max-width: 600px;
		padding-bottom: 10px;
	}
}
@media screen and (min-width: 956px) {
	#footer .content-footer .inner-footer {
		width: 100%;
		max-width: 95%;
		margin: 0 auto;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: end;
	}
	#footer .content-footer .inner-footer .logo img {
		width: 100%;
		max-width: 100px;
		height: 100%;
		max-height: 60px;
		object-fit: contain;
	}
	#footer .content-footer .inner-footer .copy .copy-text {
		font-size: 10px;
		line-height: 1em;
		color: white;
		text-align: center;
		padding-bottom: 10px;
	}
	#footer .content-footer .inner-footer .copy .copy-text span {
		text-decoration: underline;
		cursor: pointer;
	}
	#footer .content-footer .inner-footer .links .final-links-container {
		font-size: 10px;
		color: white;
		padding-bottom: 10px;
		text-align: end;
	}
	#footer .content-footer .inner-footer .copy {
		text-align: center;
		padding: 0px;
		max-width: 600px;
		width: 60%;
	}
}
/* 1. Contenitore Swiper */
.swiper {
	width: 100%;
	/* L'altezza deve accomodare le slide + lo spazio per la scrollbar sotto */
	height: auto;
	padding-bottom: 50px; /* Spazio extra in basso per la scrollbar */
	overflow: visible; /* Lasciamo che la scrollbar si veda bene */
}

/* 2. Definizione rigida delle Slide */
.swiper-slide {
	/* DIMENSIONI RICHIESTE */
	width: 355px !important; /* Forza la larghezza */
	height: 200px !important; /* Forza l'altezza */

	border-radius: 8px;
	overflow: hidden;
	position: relative;
}

/* Immagine interna */
.swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
	cursor: pointer;
}

.swiper-slide:hover img {
	transform: scale(1.05);
}

/* 3. Personalizzazione Scrollbar */
.swiper-scrollbar, .swiper-scrollbar-2 {
	/* Posizionamento */
	width: 100%;
	height: 8px !important; /* Spessore barra */
	border-radius: 4px;
	position: relative !important;
	max-width: 300px;
	width: 100%;
	margin: 25px auto 50px;
	background-color: white !important;
}

/* Il "cursore" della scrollbar */
.swiper-scrollbar-drag, .swiper-scrollbar-drag2 {
	background-color: rgb(230, 62, 61) !important;
	border-radius: 4px;
	cursor: grab;
}
.gslide-image img {
	width: auto !important; /* Usa la larghezza naturale dell'immagine */
	height: auto !important; /* Usa l'altezza naturale */
	max-width: 90vw !important; /* Ma non uscire mai dallo schermo (lascia margine) */
	max-height: 90vh !important; /* Idem per l'altezza */
	object-fit: contain; /* Mantiene le proporzioni */
}

/* 2. Opzionale: Se vuoi dare un effetto "Cornice" o "Modale" bianco attorno alla foto */

/* 3. Opzionale: Cambiare il colore di sfondo scuro (overlay) */
.glightbox-container .goverlay {
	background: rgba(0, 0, 0, 0.8); /* Più scuro o più chiaro a piacere */
}

/* --- 1. STILE SCRITTA (Sotto il bottone) --- */
.rotate-text-toast {
    position: absolute;
    top: 130%; /* Un po' più sotto del bottone */
    left: 50%;
    transform: translateX(-50%);
    width: 100%; /* Si adatta alla larghezza del genitore */
    
    text-align: center;
    color: white; /* O il colore che preferisci */
    font-size: 0.8rem;
    font-weight: 600;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8); /* Ombra per leggere meglio */
    
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease;
    pointer-events: none;
}

/* --- 2. STILE ICONA (Alto a destra dello schermo) --- */
.rotate-icon-toast {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1060; /* Più alto del modale Bootstrap (che è 1055) */
    
    background: rgba(0, 0, 0, 0.6); /* Un pallino scuro di sfondo */
    border-radius: 50%;
    padding: 10px;
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease;
    pointer-events: none;
}

/* Animazione rotazione icona */
@keyframes simple-rotate {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(90deg); }
    100% { transform: rotate(0deg); }
}

.rotate-icon-toast svg {
    animation: simple-rotate 1.5s infinite ease-in-out;
}

/* --- CLASSE PER MOSTRARE GLI ELEMENTI --- */
.show-toast {
    opacity: 1 !important;
    visibility: visible !important;
}

/* --- NASCONDI SU DESKTOP (Opzionale) --- */
@media (min-width: 768px) {
    .rotate-text-toast, .rotate-icon-toast {
        display: none !important;
    }
}
