/* 
	Theme Name: Hello Elementor Child
	Theme URI: https://github.com/elementor/hello-theme-child/
	Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
	Author: Elementor Team
	Author URI: https://elementor.com/
	Template: hello-elementor
	Version: 2.0.0
	Text Domain: hello-elementor-child
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/**** TIPOGRAFIA *******/

:root {
	--blu: #1d1d37;
	--rosso: #f53631;
	
}
/*
body {
	padding-top:40px;
	
	}
*/
.rosso {color: var(--rosso);}

img {border-radius:3px;}

h1 {
    font-size: 34px;
	font-weight: 500;
}

h2 {
    font-size: 22px;
}

h3 {
	
    font-weight: 500;
	color: #1A2B48;
	margin-bottom: 20px;
	font-family: Montserrat;
	font-size: 20px;
}

h4 {	font-size: 18px;}
h5 {	font-size: 17px;}

a {
	color: var(--blu);
    font-weight: 600;
}

a:hover {
	color: var(--rosso);
    transition:0.5s;
}

#divider {
    border-top: 1px solid #1d1d37 !important;
    width: 20%;
	margin:15px auto !important;
	
}

#top-bar-text span{color:#fff !important;}




.section-custom {
    max-width: 1200px; /* larghezza boxata */
    margin: 0 auto;    /* centra il contenuto */

	margin-bottom:50px;
}


.header-section {
    text-align: center;
    margin-bottom: 50px;
}

@media screen and (max-width: 992px) {
	
	
	/********* dropdown menu mobile *******/

nav.hfe-nav-menu__layout-horizontal.hfe-nav-menu__submenu-arrow.hfe-dropdown.menu-is-active {
    margin-top: 25px;
}
	
	.section-custom {    padding: 0 20px;   /* un po' di respiro ai lati */}
	

	
	.container-listing-tour,
	.container_cataloghi,
	.search-parameters,
	.header-section {padding: 0 20px !important;}  
}

.header-section h2 {
	font-weight: 600;
	font-size: 28px;
	color: var(--rosso);
	margin-bottom: 0;
	text-transform:uppercase;
}

@media screen and (max-width: 992px) {
.header-section h2 {font-size: 25px;}    
}

.header-section span {
	font-weight: 500;
	font-size: 22px;
	
}


.header-section-chi-siamo h2{
	color: var(--rosso);
	font-size: 22px;
	font-weight: 500;
}


.button {
	background-color: #1d1d37;
    font-family: "Montserrat", Sans-serif;
    color: #fff;
    font-weight: 400;
    width: 100% ;
    text-transform: uppercase;
	padding: 9px 30px;
    border: 1px solid #1d1d37;
    border-radius: 3px;
    font-size: 13px;
    cursor: pointer;
    display: block;
    text-align: center;
	width: fit-content;
}

.button:focus {
background-color: #424258;
    border: 1px solid #424258;
}



a.button:hover,
.button:hover,
.button_cataloghi:hover
{
	background-color: #fff;
	border: 1px solid #1d1d37;
	color: #1d1d37;
}

.button i,
.button-listing i
{
	margin-right:10px;
}


.button-listing {
	background-color: #1d1d37;
    font-family: "Montserrat", Sans-serif;
    color: #fff;
    font-weight: 400;
    width: 100%;
    text-transform: uppercase;
	padding: 9px 3px;
    border: 1px solid #1d1d37;
    border-radius: 3px;
    font-size: 13px;
    cursor: pointer;
    display: block;
    text-align: center;
    width: auto;
}


.button-listing:hover {
	background-color: #fff;
	border: 1px solid #1d1d37;
	color: #1d1d37;
}


.pagination {
    display: flex;
    justify-content: center;
    margin: 20px auto;
	gap: 10px;
}


.img-responsive {
    width: 100%;
}

@media screen and (max-width: 992px) {
.img-responsive {
    width: 100%;
    height: 306px;
    object-fit: cover;
}
}


h3.widgettitle {font-size: 18px;}



hr {
	border: 0;
	border-top: 1px solid #D7DCE3; /* Colore grigio chiaro che hai richiesto */
	margin: 50px 0; /* Margine sopra e sotto la linea */
}

.full-width-section {
    width: 100vw;
    margin-left: calc(50% - 50vw); /* oppure usa translate */
    background-color: #f0f0f0; /* solo per vedere il background */
    padding: 40px 20px;
}

.content-wrapper {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px; /* opzionale, padding laterale responsive */
}

a.scarica-pdf {
	border: 1px solid var(--rosso);
    color: var(--rosso);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 12px;
    padding: 5px 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    width: fit-content;
    border-radius: 5px;
}

a.scarica-pdf:hover {
    border: 1px solid var(--rosso);
	background-color: var(--rosso);
    color: #fff;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 12px;
    padding: 5px 10px;
	transition:.5s;
}

.scarica-pdf i {
	font-size: 15px;
    margin-right: 5px;
}



#accordion_luoghi_partenza .accordion-trigger {
background-color: var(--blu);
    border-bottom: 1px solid var(--blu);
    color: #fff;
}


#accordion_luoghi_partenza .accordion-trigger:hover {
background-color: #fff;
    border: 1px solid var(--blu);
    color: var(--blu);
	transition:.5s;
}

.page-content{
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden; /* evita che un figlio che sfora ti allarghi tutta la pagina */
}

@media screen and (max-width: 992px) {
  .page-content{
    padding-left: 15px;
    padding-right: 15px;
  }
}



#content {padding-top:60px;}  

@media screen and (max-width: 992px) {
	#content {padding-top:20px;}  
}


@media (min-width: 1200px) {
    .page-header .entry-title,
    .site-footer .footer-inner,
    .site-footer:not(.dynamic-footer),
    .site-header .header-inner,
    .site-header:not(.dynamic-header),
    body:not([class*=elementor-page-]) .site-main {
        max-width: 1200px !important;
    }
}


/************ Immagine featured tour *******/
.featured-image-background {
    width: 100vw; /* Larghezza intera della viewport */
    height: 500px; /* Altezza fissa di 500px */
    background-size: cover; /* Adatta l'immagine all'intero contenitore */
    background-position: center; /* Centra l'immagine */
    background-repeat: no-repeat; /* Evita ripetizione */
}

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

    .featured-image-background {
        height: 300px;
    }

}


/************ HOME ************/

.dove-andare-wrapper,
.newsletter-wrapper
{
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	width: 100vw;
	
	padding: 40px 20px;
	margin-top:-10px;
}
   

.dove-andare-wrapper {  background-color: aliceblue;}

.newsletter-wrapper {	
	background-color: var(--blu);
    color: #fff;
}



.container_box_dove-andare {
    gap: 50px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}


/* newsletter*/

.container_box_newsletter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.container_box_newsletter .box_1 {
     width: 50%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;   
	    gap: 30px;
}

.container_box_newsletter .box_2 {
    width: 50%;
}


.container_box_newsletter .box_1 i {
font-size:70px;
}


.container_box_newsletter .box_1 h4 {
    margin-bottom: 10px;

}

.container_box_newsletter .box_1 p {
color: var(--rosso);
font-weight: 400;
font-size:18px;
}

/************ CATALOGHI ************/

.container_cataloghi{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;   /* ✅ centra quando sono pochi */
  gap: 15px;
}

.box_catalogo{
  margin-top: 20px;
  text-align: center;

  /* ✅ flessibile: cresce e va a capo quando serve */
  flex: 1 1 220px;           /* base “minima” */
  max-width: 23%;            /* ✅ quando sono 4 torna come adesso */
  
  white-space: normal;
  word-wrap: break-word;
}

/* responsive: 2 per riga su tablet */
@media (max-width: 1024px){
  .box_catalogo{ max-width: 48%; }
}

/* responsive: 1 per riga su mobile */
@media (max-width: 600px){
  .box_catalogo{ max-width: 100%; }
}

.box_catalogo img{
  box-shadow: 0 1px 20px 10px rgba(0, 0, 0, .1);
  transition: all .15s ease-in-out;
  border-radius: 3px;
  width: 100%;
  margin-bottom: 20px;
}

.button_cataloghi{
  background: var(--blu);
  color: #FFF;
  width: 100%;
  font-size: 16px;
  padding: 10px 20px;
  text-transform: uppercase;
  border: 1px solid var(--blu);
  border-radius: 3px;
}

.catalogo-info1{ font-size: 10px; }
.catalogo-info2{ font-size: 8px; margin-left: 5px; }

/************ FORM RICERCA ************/

.container_search_form {
	text-align:center;
}

#tour-search-form,
#tour-search-form-dove,
#tour-search-form-quando
{
	background-color: #fff;
	padding: 20px;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
	max-width: 800px;
	margin: 0 auto;
}

.search-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	flex-direction: row;
}

.search-field {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1 1 200px;
	background-color: #fafafa;
	border: 1px solid #ddd;
	padding: 10px 12px;
	border-radius: 8px;
}


	@media screen and (max-width: 992px) { 
		
		.search-field {flex:auto !important;}
		.search-button {width:100%;}
		
		#tour-search-form,
#tour-search-form-dove,
#tour-search-form-quando
{ margin: 10px auto;
}
		
		}


.search-field input,
.search-field select {
	border: none;
	background: transparent;
	outline: none;
	width: 100%;
	font-size: 14px;
}

.search-button {
	background-color: #1d1d37;
	color: #fff;
	padding: 12px 24px;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	font-weight: bold;
	transition: background-color 0.3s;
}

.search-button:hover {
	background-color: #333355;
}

/* Esempio di icone: sostituire con vere icone svg o font icons */
.icon-location::before {
	content: "📍";
}

.icon-calendar::before {
	content: "📅";
}

.icon-price::before {
	content: "💶";
}

.icon-type::before {
	content: "🚶";
}


/************ PAGINA RISULTATI RICERCA ************/

.box_parametri_ricerca {
background-color: #eeeeee;
    padding: 20px;
    border-radius: 5px;
    width: fit-content;
    margin-bottom: 30px;
}


.box_parametri_ricerca ul {
    list-style: none;
    padding: 0;
}

.box_parametri_ricerca ul li {
    margin: 5px 0;
}



/********* LISTING TOUR *********/

.container-listing-tour {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    position: relative;
    justify-content: center;
}



.box-listing-tour {
	display: flex;
	flex-direction: column;
	width: 23%;
	margin-bottom: 30px;
	background-color: #ffffff;
	border-radius: 5px;
	box-shadow: 12px 12px 60px 0 rgba(0, 0, 0, .1);
	overflow: hidden; /* IMPORTANTE per evitare che i figli escano */
	box-sizing: border-box; /* Assicura che padding e border non vadano oltre la width dichiarata */
	animation: fadeUp 0.5s forwards;
}


@media screen and (max-width: 992px) {
.box-listing-tour { width: 100%;  }  
}

.box-listing-tour:hover {

    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.13);
	animation-delay: 0.05s;
}


.img-listing-tour {
	position: relative;
	overflow: hidden;
}

.img-listing-tour::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, transparent 55%);
}


.box-listing-tour:hover .img-listing-tour img {
    transform: scale(1.06);
}


.img-listing-tour img {
	border-radius: 3px;
	display: block;
	width: 100%; /* NON 100vw */
	height: 30vh;
	object-fit: cover;
	transition: transform 0.6s ease;
}


.etichetta_confermato {
    position: absolute;
    top: 25px;
    right: -57px;
    background-color: #1d1d37;
    color: #fff;
    text-align: center;
    font-size: 10px;
    font-weight: bold;
    padding: 5px 0;
    z-index: 98;
    width: 195px;
    transform: rotate(45deg);
    transform-origin: center;
	
}

.etichetta_confermato span {
	font-weight: 600;
	color:#fff;
	text-transform: uppercase;
}


.etichetta_superpromo {
    position: absolute;
    bottom: 0%;
    right: 5%;
    padding-top: 15px;
    background-color: var(--rosso);
    text-align: center;
    z-index: 98;
    height: 60px;
    width: calc(60px * 2);
    border-top-left-radius: calc(60px * 2);
    border-top-right-radius: calc(60px * 2);
}

.etichetta_superpromo span {
	font-weight: 600;
	color:#fff;
	text-transform: uppercase;
}

.container_info_tour {
	padding: 15px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	/*height: 100%;*/
}

/*
	.container_title {
	min-height: 50px;
	}
*/

.container_info_tour h3 {margin-bottom: 10px;}

.box-listing-tour .sottotitolo {
	font-weight: 400;
	font-size: 14px;
	
}

.container_title {
    min-height: 60px;
}

.container_excerpt {
display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.4;
    max-height: calc(1.4em * 2);
    margin-bottom: 16px;
}

.container_button {
	min-height: 60px;
}  


.container_prezzo {
	text-align: right;
	/*margin-top: auto;*/
	
}

.container_prezzo .label {
	font-weight: 700;
	color: #5E6D77;
	margin-bottom: 0;
}

.container_prezzo .value {
	font-weight: 600;
	color: var(--rosso);
}


.tour-category-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	z-index: 2;
}

/* Colori categoria */
.badge-aereo {
	background-color: #00aaff;
}

.badge-autobus {
	background-color: #ff7b00;
}



/********* CONTINENTI *********/

.container_continenti {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	
}

.item_continenti {
	position: relative;
	text-align: center;
	width: 30%;
	margin-bottom: 30px;
}

.item_continenti a { text-decoration: none;}

/*  come era prima delle modifiche
	.item_continenti img {
	box-shadow: 0 1px 20px 10px rgb(0 0 0 / 10%);
	transition: all .15s ease-in-out;
	border-top-left-radius: 3px;
	border-top-right-radius: 3px;
	width: 100%;
	}
*/

.item_continenti img {
	box-shadow: 0 1px 20px 10px rgb(0 0 0 / 10%);
	transition: all .15s ease-in-out;
	border-radius: 3px;
	width: 100%;
}


.item_continenti img:hover { box-shadow: 0px 31px 40px 0px #1a2b4887;}


.item_continenti:hover img {
	transform: scale(1.02);
	transition: all .5s ease-in-out;
	
	
}



.item_continenti:hover .testo_continenti  {
	transition: all .5s ease-in-out;
	font-size: 19px;
}




.testo_continenti {
	
	color: #FFF;
	width: 100%;
	font-size: 17px;
	font-weight: 600;
	margin-top: -5px;
	padding: 10px 25px;
	text-transform: uppercase;
	
	position: absolute;
	bottom: 0;
}

@media screen and (max-width: 992px) {
	.item_continenti {    width: 100%;}
}








/********* SINGLE TOUR *********/

.page-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 20px;
}

@media screen and (max-width: 992px) {
.page-header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 20px;
}
}

.container-title {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: flex-start;
}

.entry-title {
	font-size: 30px;
	color: #1A2B48;
	margin-top:0;
	margin-bottom: 10px;
	font-family: Montserrat;
	font-weight: 700;
}

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

.container-title {
    display: flex;
    flex-direction: column;
}

h1.entry-title {font-size: 20px;   
	padding: 0 !important;
	margin:20px 0;
	}

}


.sottotitolo {
	font-weight: 500;
	font-size: 20px;
}


.etichetta-aereo {
	background-color: #00aaff;
	padding: 4px 10px;
	margin: 5px 20px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 500;
	color: #fff;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	width: 100px;
	justify-content: space-around;
}

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

.etichetta-aereo {	margin: 5px 0px;}
}


.etichetta-autobus {
	background-color: #ff7b00;
	padding: 4px 10px;
	margin: 5px 20px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 500;
	color: #fff;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	width: 100px;
	justify-content: space-around;
}

.etichetta-aereo i,
.etichetta-autobus i

{
	margin-right: 5px;
	font-size: 14px;
}


.container-etichette-single {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
	margin-top: 10px;
}

.etichetta_superpromo_single {
	position:relative;
	z-index:1;
    padding: 5px 10px;
    margin: 0 20px 0 0;
    background-color: var(--rosso);
    text-align: center;
    z-index: 100;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 500;
	
	
}

.etichetta_superpromo_single span {
	font-weight: 600;
	color:#fff;
	text-transform: uppercase;
}


.etichetta_confermato_single {
	
    padding: 5px 10px;
    margin: 0 20px 0 0;
    background-color: var(--blu);
    text-align: center;
    z-index: 100;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 500;
}

.etichetta_confermato_single span {
	font-weight: 600;
	color:#fff;
	text-transform: uppercase;
}


.box-date {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
}


@media screen and (max-width: 992px) {
.box-date {
    display: flex;
    justify-content: flex-start;
    padding: 0 20px;
}
}



.box-date button {
	background-color: #1d1d37;
	font-family: "Montserrat", Sans-serif;
	color: #fff;
	font-weight: 400;
	
	text-transform: uppercase;
	padding: 9px 20px;
	border: 1px solid #1d1d37;
	border-radius: 3px;
	font-size: 16px;
	cursor: pointer;
	display: block;
	text-align: center;
	width: auto;
}

/** featured **/

.st-tour-feature {
	margin-top:30px;
	padding-top: 25px;
	padding-bottom: 15px;

	/*border-bottom: 1px solid #D7DCE3;*/
	margin-bottom: 30px;
}

.tour-feature-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-around;
	background-color: aliceblue;
	padding: 20px;
	border-radius: 10px;
}

.tour-feature-item {
	width: calc(25% - 20px); /* 4 colonne, con margine */
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.tour-feature-item .icon {
	margin-bottom: 10px;
}

.tour-feature-item .info .name {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
}

.tour-feature-item .info .value {
	font-size: 14px;
	color: #666;
}


.location-header {
	display: flex;
	align-items: center;
	gap: 10px; /* spazio tra icona e titolo */
}

.location-header i {
	font-size: 25px; /* o la dimensione che preferisci */
	color: var(--blu);  /* colore coerente col tuo tema */
}

.location-header h3 {
	margin: 0;
	
}

.location_section .container_box {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}



.location_section .container_box .box_one {
	width:50%;
}

.location_section .container_box .box_two {
	width:50%;
}

.img_location {width:75%;    mix-blend-mode: multiply;}  


@media screen and (max-width: 992px) {
.location_section .container_box {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.location_section .container_box .box_one,
.location_section .container_box .box_two
{
    width: 100%;
	}
	
	.img_location {
    width: 100%;
	margin: 20px 0;
	}


}

#incl_escl_lista  li {
	margin-bottom: 15px;
	font-size: 16px;
	line-height: 1.5;
	display: flex;
	gap: 15px;
	align-items: center;
}

#incl_escl_lista  li .fa-check{
	color: #2eea67;
}

#incl_escl_lista  li .fa-x{
	color: #ff5050;
	font-size: 12px;
}


#messaggio_nessuna_partenza {
    background-color: antiquewhite;
    text-align: center;
    padding: 30px;
    border-radius: 10px;
}

#messaggio_nessuna_partenza h3 {margin:0;}

/* Responsività per schermi più piccoli */
@media (max-width: 768px) {
	.tour-feature-item {
		width: calc(50% - 20px); /* 2 colonne per schermi medi */
	}
}

@media (max-width: 480px) {
	.tour-feature-item {
		width: 100%; /* Una colonna per schermi piccoli */
	}
}


/*** accordion single tour ***/

.accordion,
.accordion_itinerario
{
	background-color: #FCFCFC !important;
	border-top: none;
	 white-space: normal;        
	border-right: none;
	border-bottom: none;
	border-left: 6px solid #2ECC71; /* Solo il bordo sinistro */
	color: #444;
	cursor: pointer;
	padding: 18px;
	width: 100%;
	text-align: left;
	outline: none;
	font-size: 15px;
	transition: 0.4s;
	border-radius: 0;
	
}

.active, .accordion:hover {
	background-color: #ccc;
}
/*
	.panel,
	.panel_itinerario
	{
	padding: 0 18px;
	background-color: white;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
	
	border-left: 6px solid #2ECC71;
	background: #FCFCFC;
	
	overflow: hidden;
	margin-bottom: 10px;
	}
	
*/

.panel,
.panel_itinerario
{
	padding: 0 18px 18px;
	background-color: #f1f1f1;
	display: block; /* Tutti i pannelli sono visibili di default */
	overflow: hidden;
	transition: max-height 0.2s ease-out;
	border-left: 6px solid #2ECC71;
	background: #FCFCFC;
	margin-bottom: 10px;
	
}

/*********************   FAQ *****************/
.accordion-block {
	border-bottom: 1px solid #ddd;
	margin-bottom: 10px;
}

.accordion-trigger {
	background: none;
	border: none;
	font-size: 16px;
	padding: 20px;
	    white-space: normal;
	width: 100%;
	text-transform: uppercase;
	font-weight: 500;
	color: #1A2B48;
	text-align: left;
	cursor: pointer;
	font-weight: 500;
	position: relative;
}

.accordion-trigger:hover,
.accordion-trigger:focus
{
	background-color:#1A2B48;
	color:#fff;
	transition:0.5s;
}

.accordion-trigger::after {
	content: '⌄';
	position: absolute;
	right: 20px;
	transition: transform 0.3s ease;
}

.accordion-block.active .accordion-trigger::after {
	transform: rotate(180deg);
}

.accordion-body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
	background-color: #f9f9f9;
	padding: 0 20px;
}

.accordion-block.active .accordion-body {
	padding: 20px;
}


/*************** INCLUSO / ESCLUSO ************/

.include-exclude-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin: 40px 0;
}

.column {
	flex: 1 1 45%;
}

.column h3 {
	font-size: 1.4rem;
	margin-bottom: 20px;
}

.column ul {
	list-style: none;
	padding-left: 0;
}

.column li {
	margin-bottom: 15px;
	font-size: 16px;
	line-height: 1.5;
	display: flex;
	align-items: flex-start;
}

.icon-check {
	color: #4CAF50;
	margin-right: 10px;
	font-weight: bold;
	font-size: 18px;
	line-height: 1;
}

.icon-cross {
	color: #f44336;
	margin-right: 10px;
	font-weight: bold;
	font-size: 18px;
	line-height: 1;
}

/* ✅ Responsive per mobile */
@media (max-width: 768px) {
	.include-exclude-wrapper {
		flex-direction: column;
	}
	
	.column {
		flex: 1 1 100%;
	}
}


/************ PAGINA BLOCCO POSTO ************/





.evidenziato {
    background-color: aliceblue;
    padding: 5px;
    border-radius: 5px;
}

.img_tour_blocca_posto img {
	display: block;
    width: 100%;
    height: 50vh;
    object-fit: cover;
}

.info_tour_blocca_posto {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	margin-top:30px;
}

.info_tour_blocca_posto .riepilogo_tour {
    width: 35%;
	padding: 15px;
}

.info_tour_blocca_posto .form_blocca_posto {
    width: 65%;
	padding: 15px;
}

.box_prenotazione_info {
    border: 1px solid #D7DCE3;
    -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    margin-top: 20px;
    padding: 20px;
}


.box_prenotazione_info .info_prenotazione {
    background: #F5F5F5;
    border-radius: 3px;
    padding: 20px;
    width: 100%;
}

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

	
	
	.header-section-chi-siamo h1 {    font-size: 34px; }
	
	.evidenziato {
		display: block;
    font-size: 25px;
	margin-top: 10px;
		}
	
	
.info_tour_blocca_posto {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin-top: 30px;
}

.info_tour_blocca_posto .riepilogo_tour,
.info_tour_blocca_posto .form_blocca_posto
{
    width: 100%;

}




}





/************ FORM BLOCCA POSTO ************/

.form_contatti_single_tour {

    text-align: center;
}

/*form cf7*/

.container_field_form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.box_50_form {
    width: 50%;
    padding: 10px;
}

@media screen and (max-width: 992px) {
	.box_50_form {
		width: 100%;
	}
}

.box_100_form {
    width: 100%;
    padding: 10px;
}

.tour-contact-form h3 {
    text-align: center;
    font-size: 1.4rem;
    color: #1d1d37;
    margin-bottom: 25px;
}

.tour-contact-form label {
    display: block;
    margin-bottom: 30px;;
}

.etichetta_form_field {
font-size: 14px;
    font-weight: 400;
    margin-bottom: 10px; 
    display: block;
    text-align: left;

}

.tour-contact-form input[type="text"],
.tour-contact-form input[type="email"],
.tour-contact-form input[type="tel"],
.tour-contact-form input[type="date"],
.tour-contact-form input[type="number"],
.tour-contact-form textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: 3px;
    border: 1px solid #f0f2f5;
    font-size: 15px;
    margin-bottom: 18px;
    background: #f0f2f5;
    transition: border-color 0.3s ease;
    padding: 6px 12px;
    color: #555;
    height: 45px;
}

.tour-contact-form textarea {
	height:150px;
}

.tour-contact-form input:focus,
.tour-contact-form textarea:focus {
background-color: #f0f2f5;
    border: 1px solid #1d1d37;
    outline: none;
    transition: all 0.5s ease-in-out;
}

.tour-contact-form .wpcf7-radio {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}

.tour-contact-form .btn-custom {
    background-color: #f63631;
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: block;
    width: 100%;
}

.tour-contact-form .btn-custom:hover {
    background-color: #1d1d37;
}


@media screen and (max-width: 992px) {
.tour-contact-form label {
    display: block;
    margin-bottom: 0px;
}
}


/************ CONTATTI ************/

#contatti-form label {
    margin-bottom: 0px;
}
   
.container_contatti {
    display: flex;
    flex-wrap: wrap;
}

.form_contatti {
    width: 55%;
    padding: 0 20px;
}


.info_contatti {
    width: 45%;
}

.box-info-contatti {
    background-color: #f5f5f5;
    padding: 20px;
    border-radius: 5px;

    text-align: center;
}

@media screen and (max-width: 992px) {
.form_contatti,
.info_contatti 
{    width: 100%; }
}



/************ FOOTER ************/

.divider_footer {
	border-top: 1px solid #1d1d37;
	width: 20%;
	margin: 0px;
	margin-top: 10px !important;
}     

.footer_vmt a {
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: 500;
	display: block;
	color: var(--blu);
	text-decoration: none;
}

.testo-piccolo-footer {
	font-size: 10px;
	font-weight: 500;
	margin: 5px 0;
	display: inline-block;
}

.box_contatti_footer {
	border-left-width: 3px;
	padding-left: 20px;
	border-left-color: #1d1d37;
	border-left-style: solid;
	margin-bottom: 20px;
}
.box_contatti_footer p {
	font-size: 12px;
}
.box_contatti_footer h4 {
	font-size: 16px;
	margin-top: 0px;
}

.icon_social_footer {
	display: flex;
	gap: 10px;
}

.icon_social_footer i{
	font-size:20px;
}

.sub_footer {color:#fff;}

.sub_footer a{color:#fff;font-weight: 400;}


.sub_footer a:hover {color:#f53631;}







/*************** Utility ***************/
.m0auto {    margin: 0 auto;}
.font-italic {font-style:italic;}
.m20{margin:20px}
.mt0{margin-top:0!important}
.mt5{margin-top:5px}
.mt10{margin-top:10px}
.mt15{margin-top:15px}
.mt20{margin-top:20px}
.mt25{margin-top:25px}
.mt30{margin-top:30px}
.mt50{margin-top:50px}
.mt70{margin-top:70px}
.mt100{margin-top:100px}
.mt150{margin-top:150px}
.mr10{margin-right:10px}
.mr20{margin-right:20px}
.mr50{margin-right:50px}
.mr100{margin-right:100px}
.ml10{margin-left:10px}
.ml20{margin-left:20px}
.ml50{margin-left:50px}
.ml100{margin-left:100px}
.mb0{margin-bottom:0}
.mb5{margin-bottom:5px}
.mb10{margin-bottom:10px}
.mb15{margin-bottom:15px}
.mb20{margin-bottom:20px!important}
.mb25{margin-bottom:25px}
.mb30{margin-bottom:30px}
.mb50{margin-bottom:50px!important}
.mb100{margin-bottom:100px}
.mb250{margin-bottom:250px}
.mx50{margin-left:50px;margin-right:50px}
.my50{margin-top:50px;margin-bottom:50px}
.mx100{margin-left:100px;margin-right:100px}
.my100{margin-top:100px;margin-bottom:100px}
.pt50{padding-top:50px}
.pt30{padding-top:30px}
.pt100{padding-top:100px}
.pt150{padding-top:150px}
.pl0{padding-left:0!important}
.pl15{padding-left:15px}
.pb5{padding-bottom:5px}
.pb20{padding-bottom:20px}
.pb50{padding-bottom:50px}
.pb100{padding-bottom:100px}
.pb150{padding-bottom:150px}
.p0{padding:0!important}
.p5{padding:5px}
.p20{padding:20px}
.p50{padding:50px}
.px15{padding-left:15px;padding-right:15px}
.px50{padding-left:50px;padding-right:50px}
.py50{padding-top:50px;padding-bottom:50px}
.px100{padding-left:100px;padding-right:100px}
.py100{padding-top:100px;padding-bottom:100px}
.py150{padding-top:150px;padding-bottom:150px}
.min-h20{min-height:20px!important}
.min-h25{min-height:25px!important}
.min-h30{min-height:30px!important}
.min-h40{min-height:40px!important}
.min-h45{min-height:45px!important}
.min-h50{min-height:50px}
.min-h70{min-height:70px}
.min-h90{min-height:90px}
.min-h100{min-height:100px}
.min-h150{min-height:150px}
.min-h200{min-height:200px}
.w75{width:75%}
.w100{width:100%!important}
.nomarginx{margin-left:0!important;margin-right:0!important}
.nopadding{padding:0!important}
.nopaddingx{padding-right:0!important;padding-left:0!important}
.fs10{font-size:10px}
.fs12{font-size:12px}
.fs13{font-size:13px}
.fs15{font-size:15px!important}
.fs16{font-size:16px}
.fs18{font-size:18px!important}
.fs20{font-size:20px}
.fs25{font-size:25px}
.fs28{font-size:28px}
.fs30{font-size:30px}
.fs40{font-size:40px}
.text-center {text-align:center;}
.text-left {text-align:left;}
.text-right {text-align:right;}
.position-relative{position:relative;}
.fweight600{font-weight:600}
.fweight700{font-weight:700}
.fweight800{font-weight:800}
.d-none{display:none !important;}
.d-block{display:block}
.d-inline{display:inline}
.d-inline-block{display:inline-block}
}
.container-fluid{padding-right:0;padding-left:0;margin-right:auto;margin-left:auto}
.text-xs-left{text-align:left!important}
.text-xs-right{text-align:right!important}
.text-xs-center{text-align:center!important}
.text-xs-justify{text-align:justify!important}
.mb25-xs{margin-bottom:25px}
.mt20-xs {margin-top:20px;}
@media (min-width: 768px) {
	.text-sm-left{text-align:left!important}
	.text-sm-right{text-align:right!important}
	.text-sm-center{text-align:center!important}
	.text-sm-justify{text-align:justify!important}
	.mb0-sm-up{margin-bottom:0}
	
}
@media (min-width: 992px) {
	.text-md-left{text-align:left!important}
	.text-md-right{text-align:right!important}
	.text-md-center{text-align:center!important}
	.text-md-justify{text-align:justify!important}
}
@media (min-width: 1200px) {
	.text-lg-left{text-align:left!important}
	.text-lg-right{text-align:right!important}
	.text-lg-center{text-align:center!important}
	.text-lg-justify{text-align:justify!important}
}

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

    .d-none-mobile {
        display: none !important;
    }

}

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

    .d-none-desktop {
        display: none !important;
    }

}


