/*!
Theme Name: Kadence Child
Template: kadence
Version: 1.0.7
Text Domain: kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */

/* Colori */
:root {
    --primario: var(--global-palette1);
}
body.categoria-esperienze-weekend-tematici,
body.term-weekend-tematici{
    --global-palette1: var(--global-palette7);
}
body.categoria-esperienze-pacchetti-turistici,
body.term-pacchetti-turistici {
	 --global-palette1: var(--global-palette2);
}
body.categoria-esperienze-esperienze,
body.term-esperienze {
	 --global-palette1: var(--global-palette14);
}
body.categoria-esperienze-percorsi-didattici,
body.term-percorsi-didattici {
	 --global-palette1: var(--global-palette11);
}
body.categoria-esperienze-maestro-martino,
body.term-maestro-martino,
body.categoria-esperienze-prodotti-locali,
body.term-prodotti-locali,
body.categoria-esperienze-ricette-locali,
body.term-ricette-locali {
	 --global-palette1: var(--global-palette13);
}
p:empty {
	display: none;
}
::-webkit-input-placeholder { /* WebKit browsers */
    color: var(--secondario) !important;
    opacity: 0.3;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: var(--secondario) !important;
    opacity: 0.3;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
    color: var(--secondario) !important;
    opacity: 0.3;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
    color: var(--secondario) !important;
    opacity: 0.3;
}
* {
	box-sizing: border-box!important
}
/* Tipografia */
* p:last-child {
	margin:0;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-weight: 700!important;
    margin-top: 0!important;
}
h1, .h1, .h1 > .gspb-dynamic-title-element,
.h1.gspb_meta>* {
    font-size: clamp(40px, 6vw, 70px);
    line-height: 1.1;
}
h2, .h2, .h2 > .gspb-dynamic-title-element,
.h2.gspb_meta>*, .blog h1, .page h1, .post-type-archive-tappe h1, .archive h1  {
    font-size: clamp(30px, 4vw, 55px);
    line-height: 1.3;
}
h3, .h3, .h3 > .gspb-dynamic-title-element,
.h3.gspb_meta>* {
    font-size: clamp(26px, 4vw, 36px);
    line-height: 1.3;
}
h4, .h4, .h4 > .gspb-dynamic-title-element,
.h4.gspb_meta>* {
    font-size: clamp(20px, 3.5vw, 24px);
    line-height: 1.4;
}
h5, .h5, .h5 > .gspb-dynamic-title-element,
.h5.gspb_meta>* {
    font-size: clamp(18px, 3vw, 20px);
    line-height: 1.5;
}
h6, .h6, .h6 > .gspb-dynamic-title-element,
.h6.gspb_meta>* {
    font-size: clamp(1rem, 2.5vw, 1rem);
    line-height: 1.5;
}

body.term-pacchetti-turistici h1,
body.term-pacchetti-turistici .kadence-breadcrumb-container,
body.term-weekend-tematici h1,
body.term-weekend-tematici .kadence-breadcrumb-container {
	color: var(--global-palette12)!important
}
/* Pulsanti */
button, .button, .wp-block-button__link, .wp-element-button, input[type="button"], input[type="reset"], input[type="submit"] {
    border-radius: 10px;
    padding: 0.75rem 1rem;
    line-height: 1;
	box-shadow: none!important;
	text-align: center;
	font-weight: 700
}
.big-button {
	padding: 1rem 2rem;
}

.button-outline-gray {
	background: transparent;
	border: 1px solid var(--global-palette6);
	color: var(--global-palette6)!important;
}
.button-outline-gray:hover {
	background: var(--global-palette6);
	color: white!important;
}
.button-outline-blue {
	background: transparent!important;
	border: 1px solid var(--global-palette12);
	color: var(--global-palette12)!important;
}
.button-outline-blue:hover {
	background: var(--global-palette12)!important;
	color: white!important;
}
.button-outline-white,
body.categoria-esperienze-esperienze .card-esperienza .button-outline-blue,
body.categoria-esperienze-percorsi-didattici .card-esperienza .button-outline-blue,
body.term-esperienze .card-esperienza .button-outline-blue,
body.term-percorsi-didattici .card-esperienza .button-outline-blue,
body.categoria-esperienze-maestro-martino .card-esperienza .button-outline-blue,
body.term-maestro-martino .card-esperienza .button-outline-blue,
body.categoria-esperienze-prodotti-locali .card-esperienza .button-outline-blue,
body.term-prodotti-locali .card-esperienza .button-outline-blue,
body.categoria-esperienze-ricette-locali .card-esperienza .button-outline-blue ,
body.term-ricette-locali .card-esperienza .button-outline-blue {
	background: transparent;
	border: 1px solid white;
	color: white!important
}
.button-outline-white:hover,
body.categoria-esperienze-esperienze .card-esperienza .button-outline-blue:hover,
body.term-esperienze .card-esperienza .button-outline-blue:hover,
body.categoria-esperienze-percorsi-didattici .card-esperienza .button-outline-blue:hover,
body.term-percorsi-didattici .card-esperienza .button-outline-blue:hover,
body.categoria-esperienze-maestro-martino .card-esperienza .button-outline-blue:hover,
body.term-maestro-martino .card-esperienza .button-outline-blue:hover,
body.categoria-esperienze-prodotti-locali .card-esperienza .button-outline-blue:hover,
body.term-prodotti-locali .card-esperienza .button-outline-blue:hover,
body.categoria-esperienze-ricette-locali .card-esperienza .button-outline-blue:hover ,
body.term-ricette-locali .card-esperienza .button-outline-blue:hover {
	background: white!important;
	border: 1px solid white;
	color: var(--global-palette4)!important
}
.button-giallo,
#pacchettiTuristici .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn {
	border: 1px solid var(--global-palette2);
	background: var(--global-palette2)!important;
	color: var(--global-palette12);
	transition: 0.3s;
}
.button-giallo:hover,
#pacchettiTuristici .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn:hover {
	background: transparent!important;
}
.button-azzurro,
#weekendTematici .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn {
	border: 1px solid var(--global-palette7);
	background: var(--global-palette7)!important;
	color: var(--global-palette12);
	transition: 0.3s;
}
.button-azzurro:hover,
#weekendTematici .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn:hover {
	background: transparent!important;
}
.button-viola,
#esperienze .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn {
	border: 1px solid var(--global-palette14);
	background: var(--global-palette14)!important;
	color: white;
	transition: 0.3s;
}
.button-viola:hover,
#esperienze .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn:hover {
	background: transparent!important;
	color: var(--global-palette14)
}
.button-verde,
#percorsiDidattici .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn  {
	border: 1px solid var(--global-palette11);
	background: var(--global-palette11)!important;
	color: white;
	transition: 0.3s;
}
.button-verde:hover,
#percorsiDidattici .gspb_ajax_pagination.gspb_ajax_pagination_outer .gspb_ajax_pagination_btn:hover {
	background: transparent!important;
	color: var(--global-palette11)
}
.small-button {
	font-size: 1rem;
}
.swiper .button-outline-white {
	font-size: 1rem;
	padding: 0.75rem 1rem;
}
.mb-0 {
	margin-bottom: 0!important
}
.slider-button {
	min-height: 50px;
	line-height: 1.2;
}
.slider-custom .swiper-button-next,
.slider-custom .swiper-button-prev {
	border-radius: 10px;
	background: var(--global-palette12);
	color: white;
}
footer ul {
	list-style: none;
	font-weight: bold;
	text-transform: uppercase;
}
.menu-header ul {
	list-style: none;
	padding: 0;
	 font-size: clamp(26px, 4vw, 36px);
	text-transform: uppercase;
	font-weight: bold;
	margin: 0;
}
.double-text strong {
	color: var(--global-palette6)
}
.fw-normal {
	font-weight: 500!important
}
.icone-tax {
    display: flex;
    width: 100%;
    gap: 8px;
}
.tappa-mezzi .icone-tax img {
    width: 35px;
}
.tappa-poi .icone-tax img {
     width: 20px;
}
.tappe-correlate-title {
	color: var(--global-palette1);
	text-transform: none;
	margin-bottom: 2rem;
}
.card-tappa {
	color: var(--global-palette3)!important
}
.card-tappa__image {
	transition: 0.3s;
}
.card-tappa:hover .card-tappa__image {
	transform: scale(1.1)
}
.tappe-correlate .swiper-wrapper {
    align-items: stretch;
}

.tappe-correlate .swiper-slide {
    height: auto;
    display: flex;
}

.tappe-correlate .tappa-item {
    width: 100%;
    display: flex;
}
/*-----	archivio card e sidebar tappe------*/
.taxonomy-sidebar ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0;
	margin: 0;
}
.taxonomy-sidebar ul li a {
	display: flex;
	gap: 10px;
	align-items: center;
	text-decoration: none!important
}
.sidebar-percorsi li img {
	width: 16px;
}
.sidebar-macrotappe li img {
	width: 60px;
	height: 60px;
	border-radius: 10px;
	object-fit: cover
}
.card-tappa__archivio .icone-tax img {
     width: 20px;
}
.card-tappa__archivio .tappa-mezzi .icone-tax  {
     gap: 0;
}
.card-tappa__archivio .tappa-mezzi .icone-tax img {
     width: 30px;
}

.term-gastronomia .esperienze-viaggio-archive-hero-section .entry-hero-container-inner {
	background: var(--global-palette13)
}
.term-pacchetti-esperienze .esperienze-viaggio-archive-hero-section .entry-hero-container-inner {
	background: var(--global-palette2);
	color: var(--global-palette12)
}
.term-pacchetti-esperienze .esperienze-viaggio-archive-hero-section .entry-hero-container-inner h1,
.term-pacchetti-esperienze .esperienze-viaggio-archive-title .kadence-breadcrumbs{
	color: var(--global-palette12)
}
.loop-esperienze .gspb_ajax_pagination.gspb_ajax_pagination_outer {
    text-align: center;
    margin-top: 2rem;
    font-weight: bold;
}
body.categoria-esperienze-esperienze .card-esperienza h3 a,
body.term-esperienze .card-esperienza h3 a,
body.categoria-esperienze-percorsi-didattici .card-esperienza h3 a, 
body.term-percorsi-didattici .card-esperienza h3 a,
body.categoria-esperienze-maestro-martino .card-esperienza h3 a ,
body.term-maestro-martino .card-esperienza h3 a ,
body.categoria-esperienze-prodotti-locali .card-esperienza h3 a ,
body.term-prodotti-locali .card-esperienza h3 a ,
body.categoria-esperienze-ricette-locali .card-esperienza h3 a ,
body.term-ricette-locali .card-esperienza h3 a {
	color: white!important;
}

/**/
.macrotappe-grid {
	display: grid;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 2rem;
	grid-template-columns: repeat(3, 1fr);
	padding-left: 0;
}
.macrotappe-grid li {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.macrotappe-grid .immagine-in-evidenza {
	width: 100%;
    min-width: 100%;
    max-width: 100%;
    aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center;
	transition: 0.3s
}
.macrotappe-grid .content-card h2 {
	font-size: clamp(20px, 3.5vw, 24px);
    line-height: 1.4;
	color: white;
	text-transform: none;
}
.macrotappe-grid .content-card {
	background-image: linear-gradient(0deg, #000 0, transparent 74%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    row-gap: 2rem;
    padding: 2rem;
}
.macrotappe-grid .card-macrotappa:hover img {
	transform: scale(1.1)
}
/* Descrizione tassonomia */
.tax-description {
	margin-bottom: 1rem;
	font-size: 16px;
}
.tax-description h2 {
	color: var(--wp--preset--color--theme-palette1, var(--global-palette1));
	font-size: clamp(26px, 4vw, 36px);
    line-height: 1.3;
	text-transform:none;
}

.percorsi-grid {
	    list-style: none;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(1, 1fr);
	margin: 0;
	padding: 0!important;
}
li.percorsi {
    display: flex;
    align-items: center;
    justify-content: space-between;
	padding-bottom: 1rem;
	border-bottom: 1px solid #ededed;
}
.percorsi-card {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.percorsi .percorsi-card img {
	height: 40px;
}
@media(max-width: 992px) {
	.macrotappe-grid {
		grid-template-columns: repeat(2, 1fr);
		padding-left: 0;
	}
	nav#kadence-breadcrumbs {
		margin: 5px 0px;
		font-size: 12px;
	}
}
@media(max-width: 768px) {
	.percorsi {
		flex-direction: column;
	}
	.macrotappe-grid {
		grid-template-columns: repeat(1, 1fr);
		padding-left: 0;
	}
}

/*-----MAPPA--------*/
.trame-mappa { 
	width: 100%; 
	height: 90vh; 
	min-height: 480px; 
	border-radius: 8px; 
	z-index: 1!important
}
.trame-mappa--singola { 
	height: auto; 
	min-height: 350px; 
		z-index: 1!important
}
.trame-marker {
	color: #fff;
	border-radius: 50%;
	width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center;
	font-weight: 700;
	border: 3px solid #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,0.35);
	font-family: system-ui, sans-serif;
	transition: transform .2s ease;
}
.trame-marker:hover { transform: scale(1.1); }
.trame-marker--current {
	width: 46px; height: 46px;
	border-width: 4px;
	font-size: 1.05em;
	animation: trame-pulse 1.8s ease-out infinite;
	z-index: 1000 !important;
}
@keyframes trame-pulse {
	0%   { box-shadow: 0 2px 8px rgba(0,0,0,0.35), 0 0 0 0 var(--trame-color); }
	70%  { box-shadow: 0 2px 8px rgba(0,0,0,0.35), 0 0 0 18px transparent; }
	100% { box-shadow: 0 2px 8px rgba(0,0,0,0.35), 0 0 0 0 transparent; }
}
.trame-popup { max-width: 240px; font-family: system-ui, sans-serif; }
.trame-popup img { 
	width: 100%;
	object-fit: cover;
	height: 100px; 
	border-radius: 4px; 
	margin-bottom: 8px; 
	display: block; }
.trame-popup .t-num { font-size: 0.75em; text-transform: uppercase; letter-spacing: 0.05em; color: #888; margin: 0; }
.trame-popup .t-title { margin: 2px 0 4px; font-size: 1em; line-height: 1.2; font-weight: 700; }
.trame-popup .t-sub { margin: 0 0 10px; font-size: 0.9em; color: #555; font-style: italic; }
.trame-popup .t-link { font-size: 0.9em; font-weight: 600; text-decoration: none; }

.trame-poi {
	background: #fff;
	color: #333;
	border-radius: 50%;
	width: 30px; height: 30px;
	display: flex; align-items: center; justify-content: center;
	border: 2px solid #555;
	box-shadow: 0 2px 6px rgba(0,0,0,0.25);
	font-size: 14px;
	line-height: 1;
	transition: transform .2s ease;
	cursor: pointer;
	overflow: hidden;
}
.trame-poi img {
	width: 18px; height: 18px;
	object-fit: contain;
}
.trame-poi:hover { transform: scale(1.15); }
.trame-poi--archeologia               { border-color: #6d4c41; }
.trame-poi--arte                      { border-color: #ad1457; }
.trame-poi--enogastronomia            { border-color: #c62828; }
.trame-poi--fiabe-e-leggende          { border-color: #6a1b9a; }
.trame-poi--natura-e-paesaggio        { border-color: #2e7d32; }
.trame-poi--spiritualita-e-fede       { border-color: #1565c0; }
.trame-poi--torri-castelli-e-fortezze { border-color: #ef6c00; }

.tax-item .tax-pallino {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    border: 2px solid #fff;
    flex-shrink: 0;
	align-self: flex-start;
	margin-top: 3px
}
.sidebar-macrotappe li a,
.sidebar-percorsi li a {
	font-size: 16px;
}



/*----- Sidebar macrotappe: termine corrente + sotto-elenco tappe -----*/
.taxonomy-sidebar .tax-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}
.taxonomy-sidebar .tax-item--current > a {
	font-weight: 700;
	color: var(--global-palette1);
}
.taxonomy-sidebar .tappe-sub {
	width: 100%;
	margin: 2px 0 4px 10px !important;
	padding-left: 14px !important;
	gap: 6px !important;
	border-left: 2px solid #ededed;
}
.taxonomy-sidebar .tappe-sub .tappa-sub-item a {
	font-size: 14px;
	gap: 8px !important;
	line-height: 1.3;
	color: var(--global-palette4);
	align-items: center;
}
.taxonomy-sidebar .tappe-sub .tappa-num {
	flex-shrink: 0;
	min-width: 1.7em;
	height: 1.7em;
	padding: 0 0.35em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	background: var(--global-palette1);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
.taxonomy-sidebar .tappe-sub .tappa-sub-item.is-current a {
	font-weight: 700;
	color: var(--global-palette1);
}
.taxonomy-sidebar .tappe-sub .tappa-sub-item a:hover .tappa-title {
	text-decoration: underline;
}

/*----- Sidebar macrotappe: fisarmonica -----*/
.tax-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 16px;
	color: inherit;
	text-align: left;
	cursor: pointer;
}
.tax-toggle .tax-name {
	flex: 1 1 auto;
}
.tax-chevron {
	flex-shrink: 0;
	width: 9px;
	height: 9px;
	margin-left: auto;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .28s ease;
	opacity: 0.6;
}
.tax-item.is-open .tax-chevron {
	transform: rotate(225deg);
}
.tax-item--current > .tax-toggle {
	font-weight: 700;
	color: var(--global-palette1);
}
.tappe-sub-wrap {
	width: 100%;
	display: grid;
	grid-template-rows: 1fr; /* default aperto: senza JS resta visibile */
	transition: grid-template-rows .28s ease;
}
html.tdm-js .tappe-sub-wrap {
	grid-template-rows: 0fr;
}
html.tdm-js .tax-item.is-open .tappe-sub-wrap {
	grid-template-rows: 1fr;
}
.tappe-sub-inner {
	overflow: hidden;
	min-height: 0;
}
.tappe-sub-inner .tax-link {
	display: inline-block;
	margin: 8px 0 2px 10px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	color: var(--global-palette1);
}
.tappe-sub-inner .tax-link:hover {
	text-decoration: underline;
}
/* Hover toggle macrotappa: solo cambio colore testo, niente stile bottone Kadence */
.taxonomy-sidebar .tax-toggle:hover,
.taxonomy-sidebar .tax-toggle:focus {
	background: none;
	box-shadow: none;
	text-decoration: none;
	color: var(--global-palette1);
}
.taxonomy-sidebar .tax-toggle:focus:not(:focus-visible) {
	outline: none;
}
.taxonomy-sidebar .tax-toggle:focus-visible {
	outline: 2px solid var(--global-palette1);
	outline-offset: 2px;
}

/* --- Evidenziazione POI corrente nella mappa singola --- */
.trame-poi--current {
	width: 44px;
	height: 44px;
	border-width: 3px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.4);
	animation: trame-poi-pulse 1.8s ease-out infinite;
	z-index: 1000 !important;
}
.trame-poi--current img {
	width: 26px;
	height: 26px;
}
@keyframes trame-poi-pulse {
	0%   { box-shadow: 0 3px 10px rgba(0,0,0,0.4), 0 0 0 0 rgba(21,101,192,0.55); }
	70%  { box-shadow: 0 3px 10px rgba(0,0,0,0.4), 0 0 0 16px rgba(21,101,192,0); }
	100% { box-shadow: 0 3px 10px rgba(0,0,0,0.4), 0 0 0 0 rgba(21,101,192,0); }
}


/* --- Frecce carosello tappe correlate (come slider Punti di interesse) --- */
.tappe-correlate { position: relative; }
.tappe-correlate .swiper-button-prev,
.tappe-correlate .swiper-button-next {
	top: 0;
	margin-top: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	background-color: var(--wp--preset--color--theme-palette1, var(--global-palette1));
	color: var(--wp--preset--color--theme-palette9, var(--global-palette9));
	border-radius: 10px;
}
.tappe-correlate .swiper-button-next { right: 0; left: auto; }
.tappe-correlate .swiper-button-prev { right: 60px; left: auto; }
.tappe-correlate .swiper-button-prev::after,
.tappe-correlate .swiper-button-next::after { font-size: 20px; }