/*
Theme Name: Base
Author: KMSTUDIO
Version: 1.0
*/

:root {
	--site--first--color: #ED2C27; /*-- Rosso */
	--site--second--color: #302F2F; /*-- Grigio */
}

html { font-size: 22px; }
body {
	background-color: #fff;
	color: #000;
	font-family: "Red Hat Display", sans-serif;
	font-weight: 400;
	padding: 0;
	margin: 0;
	line-height: 1.4;
}
body.hidden {
	overflow: hidden;
}

a {
    color: var(--site--first--color);
    text-decoration: none;
    transition: color ease-in-out 350ms,
                background ease-in-out 350ms,
                border ease-in-out 350ms,
                opacity ease-in-out 350ms;
}
a:hover {
    color: var(--site--second--color);
}

figure {
    margin: 0;
}
svg {
    max-width: 100%;
    height: auto;
}

.button.button-mtb-2 {
	margin: 2rem 0;
}
.button a {
	background-color: var(--site--first--color);
	border: 2px solid var(--site--first--color);
	color: #fff;
	text-decoration: none;
	padding: 0.2rem 1rem;
	display: inline-block;
	font-weight: 600;
	font-size: 0.7rem;
}
.button a:hover {
    background-color: transparent;
    color: var(--site--first--color);
}
.button-border-white a {
	background-color: transparent;
	border: 2px solid #fff;
	color: #fff;
	text-decoration: none;
	padding: 0.1rem 0.6rem;
	display: inline-block;
	font-weight: 600;
	font-size: 0.8rem;
}
.button-border-white a:hover {
    background-color: #fff;
	border: 2px solid #fff;
    color: var(--site--second--color);
}
.button-border-black a {
	background-color: transparent;
	border: 2px solid var(--site--second--color);
	color: var(--site--second--color);
	text-decoration: none;
	padding: 0.1rem 0.6rem;
	display: inline-block;
	font-weight: 600;
	font-size: 0.8rem;
}
.button-border-black a:hover {
    background-color: var(--site--first--color);
	border: 2px solid var(--site--first--color);
    color: #fff;
}


main {
	min-height: 500px;
}

/*--- MENU RESPONSIVE */
.menu-responsive {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 999;
    overflow-y: auto;
    background-color: var(--site--second--color);
    transform: translateY(-100%);
    transition: transform 300ms ease-in-out,
                opacity 300ms ease-in-out;
    opacity: 0;
    pointer-events: none;
}
.menu-responsive.expanded {
    transform: translateY(0);
    opacity: 1;
    pointer-events: all;
}
.menu-responsive .top-nav {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	right: 0;
	margin: auto;
}
.menu-responsive .top-nav figure.logo {
	margin: 0 1rem 0 0;
}
.menu-responsive .top-nav figure.logo img {
	width: 120px;
}
.menu-responsive .top-nav .text-logo {
	font-size: 0.8rem;
	font-weight: 600;
	color: #fff;
}
.menu-responsive .top-nav .actions-top-menu {
	
}
.menu-responsive .top-nav .actions-top-menu .single {
	display: flex;
    flex-direction: column;
	height: 62px;
	padding-left: 1rem;
	border-left: 2px solid #fff;
}
.menu-responsive .top-nav .actions-top-menu .single:last-child {
	
}
.menu-responsive .top-nav .actions-top-menu .single > div:first-child {
    font-size: 0.8rem;
	font-weight: 600;
	color: #fff;
	margin-bottom: 0.2rem;
}
.menu-responsive .top-nav .actions-top-menu .single > *:not(div:first-child) {
    margin-top: auto;
}
.menu-responsive .top-nav .actions-top-menu .single a.menu-close-responsive svg {
	width: 25px;
}
.menu-responsive .top-nav .actions-top-menu .single a.menu-close-responsive svg line {
	stroke: var(--site--first--color);
	transition: stroke ease-in-out 350ms;
}
.menu-responsive .top-nav .actions-top-menu .single a.menu-close-responsive svg:hover line {
	stroke: #fff;
}
.menu-responsive .top-nav .nav-site {
	margin-top: 5rem;
}
.menu-responsive .top-nav .nav-site {
	margin: 5rem 0 2rem 0;
	border-bottom: 3px solid var(--site--first--color);
}
.menu-responsive .top-nav .nav-site section.navigation {
	
}
.menu-responsive .top-nav .nav-site section.navigation h2 {
	font-size: 0.9rem;
	font-weight: 600;
	color: #fff;
	margin: 0 0 1.5rem;
	padding: 0 0 0.4rem;
	border-bottom: 3px solid var(--site--first--color);
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container {
	
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container .inner-menu {
	margin-bottom: 3rem;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container h3.section-title {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 0.3rem;
	padding: 0 0 0.4rem;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container h3.section-title::after {
	content: "";
	width: 120px;
	height: 8px;
	display: block;
	background-color: var(--site--first--color);
	margin-top: 0.3rem;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu li {
	margin: 0 0 0.4rem;
	padding: 0;
	list-style-type: none;
	font-size: 0.8rem;
	font-weight: 400;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu li:last-child {
	margin-bottom: 0;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu li a {
	color: #fff;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu li a:hover {
	color: var(--site--first--color);
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu li ul.sub-menu {
	margin: 0.3rem 0 0 0;
	border-top: 1px solid #686363;
	border-bottom: 1px solid #686363;
	padding: 0.4rem 0;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu li ul.sub-menu li {
	font-size: 0.6rem;
	font-weight: 400;
	margin: 0 0 0.2rem;
}
.menu-responsive .top-nav .nav-site section.navigation .menu-container ul.sub-menu li ul.sub-menu li:last-child {
	margin-bottom: 0;
}
.menu-responsive .top-nav .actions-bottom-menu {
	margin: 0 0 2rem;
}
.menu-responsive .top-nav .actions-bottom-menu .single {
	display: flex;
    flex-direction: column;
	height: 62px;
	padding-right: 1rem;
	border-right: 2px solid #fff;
}
.menu-responsive .top-nav .actions-bottom-menu .single:last-child {
	padding-right: 0;
	border-right: none;
}
.menu-responsive .top-nav .actions-bottom-menu .single > div:first-child {
    font-size: 0.7rem;
	font-weight: 600;
	color: #fff;
	margin-bottom: 0.2rem;
}
.menu-responsive .top-nav .actions-bottom-menu .single > *:not(div:first-child) {
    margin-top: auto;
}
.menu-responsive .top-nav .actions-bottom-menu .single.search-box > *:not(div:first-child) {
	margin-bottom: 0.12rem;
}
.menu-responsive .top-nav .actions-bottom-menu .single.reserved-area-box a.login {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
.menu-responsive .top-nav .actions-bottom-menu .single.reserved-area-box a.login svg {
	width: 12px;
}
.menu-responsive .top-nav .actions-bottom-menu .single.responsive-menu-box .hamburger {
    cursor: pointer;
	margin-bottom: 0.32rem;
	transform: rotateY(180deg);
}
.menu-responsive .top-nav .actions-bottom-menu .single.responsive-menu-box .hamburger span {
	display: block;
	width: 25px;
	height: 3px;
	background-color: var(--site--first--color);
	margin-bottom: 0.25rem;
	transition: transform ease-in-out 250ms,
				background ease-in-out 250ms,
				opacity ease-in-out 250ms,
				width ease-in-out 250ms;
}
.menu-responsive .top-nav .actions-bottom-menu .single.responsive-menu-box .hamburger span:last-child {
    margin-bottom: 0;
}
.menu-responsive .top-nav .actions-bottom-menu .single.responsive-menu-box .hamburger:hover span {
    /*background-color: #fff;*/
}
.menu-responsive .top-nav .actions-bottom-menu .single.responsive-menu-box .hamburger:hover span:nth-child(2) {
	width: calc(25px / 2);
}
.menu-responsive .top-nav .actions-bottom-menu .single.responsive-menu-box .hamburger:hover span:nth-child(3) {
	width: calc(25px / 3);
}
.menu-responsive .top-nav .actions-bottom-menu .right-column .single {
	padding-left: 1rem;
	border-left: 2px solid #fff;
}
.menu-responsive .top-nav .actions-bottom-menu .right-column ul.own-socials {
    margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
}
.menu-responsive .top-nav .actions-bottom-menu .right-column ul.own-socials li {
	margin: 0 0.8rem 0 0;
	padding: 0;
	list-style-type: none;
	font-size: 1rem;
}
.menu-responsive .top-nav .actions-bottom-menu .right-column ul.own-socials li a {
	color: #fff;
}
.menu-responsive .top-nav .actions-bottom-menu .right-column ul.own-socials li a:hover {
	color: var(--site--first--color);
}
.menu-responsive .top-nav .actions-bottom-menu .right-column ul.own-socials li a span[class^="icon-"]::before {
	width: auto;
	margin: 0;
	padding: 0;
}


/*--- HEADER */
header.layout-row {
	position: relative;
	overflow: hidden;
	height: 400px;
}
header.layout-row.static-header {
	height: auto;
	background-color: var(--site--second--color);
	padding: 0 0 0.8rem;
}
header.layout-row .top-nav {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	right: 0;
	margin: auto;
}
header.layout-row.static-header .top-nav {
	position: static;
}
header.layout-row .top-nav figure.logo {
	margin: 0 1rem 0 0;
}
header.layout-row .top-nav figure.logo img {
	width: 120px;
}
header.layout-row .top-nav .text-logo {
	font-size: 0.8rem;
	font-weight: 600;
	color: #fff;
}
header.layout-row .top-nav .actions-menu {
	
}
header.layout-row .top-nav .actions-menu .single {
	display: flex;
    flex-direction: column;
	height: 62px;
	padding-right: 1rem;
	border-right: 2px solid #fff;
}
header.layout-row .top-nav .actions-menu .single:last-child {
	padding-right: 0;
	border-right: none;
}
header.layout-row .top-nav .actions-menu .single > div:first-child {
    font-size: 0.7rem;
	font-weight: 600;
	color: #fff;
	margin-bottom: 0.2rem;
}
header.layout-row .top-nav .actions-menu .single > *:not(div:first-child) {
    margin-top: auto;
}
header.layout-row .top-nav .actions-menu .single > *:not(div:first-child) a:hover {
	background-color: var(--site--first--color);
	border: 2px solid var(--site--first--color);
	color: #fff;
}
header.layout-row .top-nav .actions-menu .single.search-box > *:not(div:first-child) {
	margin-bottom: 0.12rem;
}
header.layout-row .top-nav .actions-menu .single.reserved-area-box a.login {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}
header.layout-row .top-nav .actions-menu .single.reserved-area-box a.login svg {
	width: 12px;
}
header.layout-row .top-nav .actions-menu .single.reserved-area-box a.subscrive:hover {
	
}
header.layout-row .top-nav .actions-menu .single.reserved-area-box a.login svg {
	width: 12px;
}
header.layout-row .top-nav .actions-menu .single.responsive-menu-box .hamburger {
    cursor: pointer;
	margin-bottom: 0.32rem;
	transform: rotateY(180deg);
}
header.layout-row .top-nav .actions-menu .single.responsive-menu-box .hamburger span {
	display: block;
	width: 25px;
	height: 3px;
	background-color: var(--site--first--color);
	margin-bottom: 0.25rem;
	transition: transform ease-in-out 250ms,
				background ease-in-out 250ms,
				opacity ease-in-out 250ms,
				width ease-in-out 250ms;
}
header.layout-row .top-nav .actions-menu .single.responsive-menu-box .hamburger span:last-child {
    margin-bottom: 0;
}
header.layout-row .top-nav .actions-menu .single.responsive-menu-box .hamburger:hover span {
    /*background-color: #fff;*/
}
header.layout-row .top-nav .actions-menu .single.responsive-menu-box .hamburger:hover span:nth-child(2) {
	width: calc(25px / 2);
}
header.layout-row .top-nav .actions-menu .single.responsive-menu-box .hamburger:hover span:nth-child(3) {
	width: calc(25px / 3);
}
header.layout-row .swiper {
	width: 100%;
	height: 100%;
}
header.layout-row .swiper .swiper-slide {
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-end; /* Posiziona il testo in basso */
}
/*
header.layout-row .swiper .swiper-slide::after {
	content: "";
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	background: rgba(0,0,0,0.3);
}
*/
header.layout-row .swiper .slide-content {
	position: relative;
	z-index: 5;
}
header.layout-row .swiper .slide-content .content-box h2 {
	font-size: 2.2rem;
	font-weight: 800;
	margin: 0 0 1rem 0;
	padding: 0;
	color: #fff;
}
header.layout-row .swiper .slide-content .content-box .custom-button {
	padding-bottom: 1.2rem;
	display: inline-block;
	border-bottom: 10px solid var(--site--first--color);
}
header.layout-row .swiper .pagination-container {
	position: absolute;
	bottom: 0; 
	left: 0; 
	right: 0;
	z-index: 10;
	pointer-events: none; /* Non blocca i click */
	padding-bottom: 160px; /* Altezza indicativa per stare SOPRA il titolo */
}
header.layout-row .swiper .custom-pagination {
	position: relative !important;
	text-align: left !important;
}
header.layout-row .swiper .custom-pagination .swiper-pagination-bullet {
	width: 30px;
	height: 4px;
	border-radius: 0;
	background: #fff;
	opacity: 0.5;
	margin: 0 10px 0 0;
	transition: all 0.3s;
}
header.layout-row .swiper .custom-pagination .swiper-pagination-bullet-active {
	background: var(--site--first--color);
	opacity: 1;
}


/*--- STILI GENERALI */
nav.breadcrumb-menu {
	margin: 2rem 0 1.2rem 0;
}
nav.breadcrumb-menu ol {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
nav.breadcrumb-menu ol li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	color: #aaa;
}
nav.breadcrumb-menu ol li::after {
	content: ">";
	margin: 0 0.2rem;
}
nav.breadcrumb-menu ol li:last-child::after {
	content: none;
}
nav.breadcrumb-menu ol li.active {
	color: var(--site--first--color);
}
.wordpress-content-editor {
	
}
.wordpress-content-editor h2 {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--site--second--color);
	margin: 1.5rem 0 1.5rem 0;
	padding: 0;
	text-transform: none;
}
.wordpress-content-editor h3 {
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--site--second--color);
	margin: 1.2rem 0 0.8rem 0;
	padding: 0;
	text-transform: none;
}
.wordpress-content-editor h4 {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--site--second--color);
	margin: 1rem 0 0.7rem 0;
	padding: 0;
	text-transform: uppercase;
}
.wordpress-content-editor ul {
	margin: 0 0 1rem 0;
	padding: 0;
}
.wordpress-content-editor ul li {
	margin: 0 0 0 1rem;
	padding: 0;
}
.wordpress-content-editor ol {
	margin: 0 0 1rem 0;
	padding: 0;
}
.wordpress-content-editor ol li {
	margin: 0 0 0 1rem;
	padding: 0;
}
.wordpress-content-editor .wp-block-image {
	margin: 1.2rem 0;
}
.wordpress-content-editor .wp-block-buttons {
	margin: 1.2rem 0;
}
.wordpress-content-editor .wp-block-buttons .wp-block-button {
	
}
.wordpress-content-editor .wp-block-buttons .wp-block-button a {
	background-color: var(--site--first--color);
	border: 2px solid var(--site--first--color);
	border-radius: 0;
	color: #fff;
	text-decoration: none;
	padding: 0.2rem 1rem;
	display: inline-block;
	font-weight: 600;
	font-size: 0.7rem;
}
.wordpress-content-editor .wp-block-buttons .wp-block-button a:hover {
	background-color: transparent;
	color: var(--site--first--color);
}
iframe.iframe_gmaps {
	margin: 1.5rem 0;
}
.follow-us-block {
	display: flex;
	flex-direction: column;
	margin: 1rem 0;
}
.follow-us-block div {
	font-size: 1rem;
	font-weight: 600;
	color: var(--site--second--color);
	margin-bottom: 0.6rem;
}
.follow-us-block ul {
    margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
}
.follow-us-block ul li {
	margin: 0 0.8rem 0 0;
	padding: 0;
	list-style-type: none;
	font-size: 1rem;
}
.follow-us-block ul li a {
	color: var(--site--first--color);
}
.follow-us-block ul li a:hover {
	color: var(--site--second--color);
}
.follow-us-block ul li a span[class^="icon-"]::before {
	width: auto;
	margin: 0;
	padding: 0;
}
.list-attachments {
    margin: 3rem 0;
}
.list-attachments > p {
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--site--second--color);
	margin: 0 0 1rem 0;
	padding: 0;
}
.list-attachments > p::after {
	content: "";
	width: 120px;
	height: 8px;
	display: block;
	background-color: var(--site--first--color);
	margin-top: 0.3rem;
}
.list-attachments ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.list-attachments ul li {
    position: relative;
    margin: 0 0 0.3rem 0;
    padding: 0;
	font-size: 0.9rem;
    list-style-type: none;
}
.list-attachments ul li::before {
    width: auto;
    margin: 0;
    margin-right: 0.5rem;
    color: var(--site--primary--color);
    transition: color 300ms ease-in-out;
    font-family: "sieog";
    font-style: normal;
    font-weight: normal;
    speak: never;
    display: inline-block;
    text-decoration: inherit;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    content: '\f29c';
}
.list-attachments ul li:hover::before {
	color: var(--site--second--color);
}
.list-attachments ul li a {
    color: var(--site--first--color);
}
.list-attachments ul li a:hover {
    color: var(--site--second--color);
    text-decoration: none;
}
.list-attachments ul li.pdf::before {
    content: '\e802';
}
.list-attachments ul li.zip::before {
    content: '\f1c6';
}
.list-attachments ul li.url::before {
    content: '\e801';
}
.list-attachments ul li.video::before {
    content: '\e803';
}
.list-attachments ul li.audio::before {
    content: '\f1c7';
}
.content-visible-only-subscribers {
	background-color: var(--site--first--color);
	padding: 1.5rem 1.5rem;
	color: #fff;
	border: 5px solid #fff;
	box-shadow: 0px 0px 0px 4px var(--site--first--color);
}
.content-visible-only-subscribers .title {
	font-size: 1.5rem;
	font-weight: 800;
	color: #fff;
	margin: 0 0 1rem;
	padding: 0 0 0.4rem;
	text-transform: uppercase;
}
.content-visible-only-subscribers .title::after {
	content: "";
	width: 120px;
	height: 8px;
	display: block;
	background-color: #fff;
	margin-top: 0.3rem;
}
svg.cartina-italia g[data-region] path {
	transition: fill 350ms ease; 
}
svg.cartina-italia g[data-region].select path,
svg.cartina-italia g[data-region]:hover path {
	cursor: pointer;
	fill: var(--site--first--color);
}
.region-tooltip {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.85); /* Sfondo scuro trasparente */
  color: #ffffff;                         /* Testo bianco */
  padding: 6px 12px;                      /* Spazio interno */
  border-radius: 4px;                     /* Angoli arrotondati */
  font-family: sans-serif;                /* Tipo di carattere */
  font-size: 14px;                        /* Dimensione testo */
  pointer-events: none;                   /* Il mouse la attraversa senza blocchi */
  z-index: 9999;                          /* Sta sopra a tutti gli elementi */
  
  /* Effetto di comparsa sfumato */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Classe che si attiva quando il mouse passa sopra una regione */
.region-tooltip.enabled {
  opacity: 1;
  visibility: visible;
}


/*--- HOMEPAGE */
.home-section {
	padding: 2rem 0;
}
.home-section h2.section-title {
	font-size: 2rem;
	font-weight: 800;
	color: var(--site--second--color);
	margin: 0 0 1.5rem;
	padding: 0 0 0.4rem;
}
.home-section h2.section-title::after {
	content: "";
	width: 120px;
	height: 8px;
	display: block;
	background-color: var(--site--first--color);
	margin-top: 0.3rem;
}
.home-section.section-news {
	
}
.home-section.section-news .archive-news {
	margin: 5rem 0 2rem 0;
}
.home-section.section-featured-news {
	background-color: var(--site--second--color);
}
.home-section.section-featured-news h2.section-title {
	color: #fff;
}
.home-section.section-featured-news .featured-news {
	margin: 3rem 0 0 0;
}
.home-section.section-featured-news .featured-news .single .top-title figure {
	border-right: 2px solid #fff;
}
.home-section.section-featured-news .featured-news .single .top-title div {
	color: #fff;
}
.home-section.section-featured-news .featured-news .single h3 {
	color: #fff;
}
.home-section.section-featured-news .featured-news .single .button-border-white {
    margin-top: auto; /* Spinge il pulsante in fondo al box */
}
.home-section.section-category-news {
	
}
.home-section.section-category-news .category-news {
	margin: 3rem 0 0 0;
}
.home-section.section-archive-events {
	position: relative;
}
.home-section.section-archive-events .archive-events .pagination-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
}
.home-section.section-archive-events .archive-events .pagination-container .swiper-pagination {
	position: static;
}
.home-section.section-archive-events .archive-events .pagination-container .swiper-pagination .swiper-pagination-bullet {
	width: 30px;
	height: 4px;
	border-radius: 0;
	background: #afafaf;
	opacity: 0.3;
	margin: 0 10px 0 0;
	transition: all 0.3s;
}
.home-section.section-archive-events .archive-events .pagination-container .swiper-pagination .swiper-pagination-bullet-active {
	background: #afafaf;
	opacity: 1;
}
.home-section.section-archive-events .archive-events .swiper {
	padding-top: 3rem;
}
.home-section.section-archive-events .archive-events .swiper-wrapper .swiper-slide {
	height: auto; 
}
.home-section.section-archive-events .archive-events .single .bottom {
    margin-top: auto; /* Spinge il pulsante in fondo al box */
}
.home-section.section-regional-topics {
	padding-bottom: 0;
}
/* Rimuove le impostazioni standard per questo blocco specifico */
.home-section.section-regional-topics.container-fluid {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* Allineamento finto container per i testi interni */
.home-section.section-regional-topics .content-wrapper-left {
	width: 100%;
	max-width: 380px; /* Evita che il testo si allarghi troppo sui monitor grandi */
}
.home-section.section-regional-topics .content-wrapper-right {
	width: 100%;
	max-width: 740px; /* Bilancia lo spazio con la colonna sinistra */
}
.home-section.section-regional-topics .bg-color-left {
	background-color: #D2D2D2;
}
.home-section.section-regional-topics .bg-color-right {
	background-color: #F5F5F5;
}
.home-section.section-regional-topics .content-wrapper-left ul.custom-menu-list,
.home-section.section-regional-topics .content-wrapper-right ul.regions-list {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.home-section.section-regional-topics .content-wrapper-left ul.custom-menu-list li,
.home-section.section-regional-topics .content-wrapper-right ul.regions-list li {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 0.3rem;
	padding: 0;
	list-style-type: none;
}
.home-section.section-regional-topics .content-wrapper-right ul.regions-list li {
	font-size: 0.8rem;
	margin-bottom: 0.1rem;
}
.home-section.section-regional-topics .content-wrapper-left ul.custom-menu-list li a,
.home-section.section-regional-topics .content-wrapper-right ul.regions-list li a {
	color: #302F2F;
}
.home-section.section-regional-topics .content-wrapper-left ul.custom-menu-list li a:hover,
.home-section.section-regional-topics .content-wrapper-left ul.custom-menu-list li.active a,
.home-section.section-regional-topics .content-wrapper-right ul.regions-list li a:hover {
	color: var(--site--first--color); /* Colore al passaggio del mouse o attivo */
}
.home-section.section-regional-topics .content-wrapper-right .map-selector-title {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}
.home-section.section-regional-topics .content-wrapper-right .map-selector-title svg {
	width: 24px;
	margin-right: 0.6rem;
}
.home-section.section-regional-topics .content-wrapper-right .map-selector-title span {
	font-size: 1.2rem;
	font-weight: 800;
}


/*--- STANDARD PAGE */
.static-page {
	
}
.static-page header.page-title {
	margin: 0 0 2.5rem 0;
}
.static-page header.page-title h1 {
	font-size: 2rem;
	font-weight: 800;
	color: var(--site--second--color);
	margin: 0;
	padding: 0;
}
.static-page header.page-title h1::after {
	content: "";
	width: 120px;
	height: 8px;
	display: block;
	background-color: var(--site--first--color);
	margin-top: 0.3rem;
}


/*--- ARCHIVIO NEWS */
.archive-news {
	
}
.archive-news .single {
	display: flex;
    flex-direction: column;
    height: 100%;
}
.archive-news .single figure {
	margin: 0 0 1rem 0;
}
.archive-news .single time {
	display: block;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--site--first--color);
	margin: 0 0 0.5rem 0;
	padding: 0;
}
.archive-news .single h3 {
	font-size: 1.4rem;
	font-weight: 800;
	text-transform: none;
	color: var(--site--second--color);
	margin: 0 0 1rem 0;
	padding: 0;
}
.archive-news .single p {
	font-size: 0.8rem;
	margin: 0 0 2rem 0;
}
.archive-news .single .button {
    margin-top: auto; /* Spinge il pulsante in fondo al box */
}

.category-news {
	
}
.category-news .single {
	display: flex;
    flex-direction: column;
    height: 100%;
}
.category-news .single .top-title {
	margin: 0 0 1rem 0;
}
.category-news .single .top-title div {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--site--second--color);
	padding: 0 0 0.4rem;
}
.category-news .single .top-title div::after {
	content: "";
	width: 120px;
	height: 8px;
	display: block;
	background-color: var(--site--first--color);
	margin-top: 0.3rem;
}
.category-news .single figure {
	margin: 0 0 1rem 0;
}
.category-news .single time {
	display: block;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--site--first--color);
	margin: 0 0 0.5rem 0;
	padding: 0;
}
.category-news .single h3 {
	font-size: 1.4rem;
	font-weight: 800;
	text-transform: none;
	color: var(--site--second--color);
	margin: 0 0 1rem 0;
	padding: 0;
}
.category-news .single .button {
    margin-top: auto; /* Spinge il pulsante in fondo al box */
}
.featured-news {
	
}
.featured-news .single {
	display: flex;
    flex-direction: column;
    height: 100%;
}
.featured-news .single .top-title {
	margin: 0 0 0.6rem 0;
}
.featured-news .single .top-title figure {
	margin: 0 0.5rem 0 0;
	border-right: 2px solid var(--site--second--color);
	padding-right: 0.5rem;
}
.featured-news .single .top-title figure img {
	width: 50px;
}
.featured-news .single .top-title div {
	font-size: 0.8rem;
	font-weight: 800;
	color: var(--site--second--color);
}
.featured-news .single figure {
	margin: 0 0 1rem 0;
}
.featured-news .single time {
	display: block;
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--site--first--color);
	margin: 0 0 0.5rem 0;
	padding: 0;
}
.featured-news .single h3 {
	font-size: 1.4rem;
	font-weight: 800;
	text-transform: none;
	color: var(--site--second--color);
	margin: 0 0 1rem 0;
	padding: 0;
}
.featured-news .single .button-border-black {
    margin-top: auto; /* Spinge il pulsante in fondo al box */
}


/*--- ARCHIVIO EVENTI */
.archive-events .single {
	display: flex;
    flex-direction: column;
    height: 100%;
}
.archive-events .single figure {
	margin: 0 0 1rem 0;
}
.archive-events .single time {
	display: block;
	margin: 0 0 0.5rem 0;
	padding: 0;
}
.archive-events .single time > div {
	display: inline-block;
	color: #fff;
	background-color: var(--site--first--color);
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	padding: 0.2rem 0.5rem;
}
.archive-events .single h3 {
	font-size: 1.4rem;
	font-weight: 800;
	text-transform: none;
	color: var(--site--second--color);
	margin: 0 0 1rem 0;
	padding: 0;
}
.archive-events .single .point {
    display: flex;
	align-items: center;
	margin-bottom: 0.7rem;
}
.archive-events .single .point svg {
    margin-right: 0.4rem;
}
.archive-events .single .point span {
	font-size: 0.8rem;
	font-weight: 700;
}
.archive-events .single .button-border-black {
    margin-top: auto; /* Spinge il pulsante in fondo al box */
}


/*--- ARCHIVE DOCUMENT */
.archive-documents {
	
}
.archive-documents .single {
	display: flex;
    flex-direction: column;
    height: 100%;
}
.archive-documents .single .section-title {
	margin: 0 0 1.5rem 0;
}
.archive-documents .single .section-title svg {
	margin: 0 0.5rem 0 0;
	border-right: 2px solid var(--site--second--color);
	padding-right: 0.5rem;
}
.archive-documents .single .section-title div {
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--site--second--color);
}
.archive-documents .single .document-download {
	margin: 0 0 0.8rem 0;
}
.archive-documents .single .document-download svg {
	margin: 0 0.8rem 0 0;
	width: 40px;
}
.archive-documents .single .document-download div {
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--site--second--color);
}


/*--- SINGLE (POST) */
.single-post {
	
}
.single-post header.page-title time {
	display: block;
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--site--first--color);
	margin: 1rem 0 0 0;
	padding: 0;
}
.single-post .post-preview-image {
	margin: 0 0 2rem 0;
}


/*--- ARCHIVE PERSON */
.archive-person {
	background-color: #f5f5f5;
	padding: 2rem 1rem;
}
.archive-person h2 {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--site--first--color);
	margin: 2rem 0 2rem 0;
	padding: 0;
}
.archive-person h2:first-child {
	margin-top: 0;
}
.archive-person .single {
	display: flex;
}
.archive-person .single figure {
	width: 30%;
	margin: 0 1rem 0 0;
}
.archive-person .single figure img {
	border-radius: 100%;
}
.archive-person .single .data {
	width: 70%;
}
.archive-person .single .data h3 {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
	padding: 0;
}
.archive-person .single .data .region {
	font-size: 0.6rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--site--first--color);
	margin: 0;
	padding: 0;
}
.archive-person .single .data .city {
	font-size: 0.6rem;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
	padding: 0;
}
.archive-person .single .data ul.icon-links {
	display: flex;
	align-items: center;
	list-style-type: none;
	margin: 0.5rem 0 0 0;
	padding: 0;
}
.archive-person .single .data ul.icon-links li {
	list-style-type: none;
	margin: 0 0.7rem 0 0;
	padding: 0;
}
.archive-person .single .data ul.icon-links li:last-child {
	margin: 0;
}
.archive-person .single .data ul.icon-links li a {
	color: #a5a5a5;
}
.archive-person .single .data ul.icon-links li a:hover {
	color: var(--site--first--color);
}
.archive-person .single .data ul.icon-links li a span[class^="icon-"]::before {
	width: auto;
	margin: 0;
	padding: 0;
}


/*--- FAQ */
/* Blocco principale (Parent) - Espanso al 100% */
.faq-accordion-container {
    width: 100%;
    margin: 2rem 0;
    font-family: system-ui, -apple-system, sans-serif;
}

/* Titolo della Categoria sopra le FAQ (Dipendente da Parent) */
.faq-accordion-container h2.faq-category-title {
    font-size: 1.2rem;               /* Dimensione del titolo proporzionata */
    font-weight: 600;
    color: var(--site--second--color); /* Usa il grigio scuro del tuo sito */
    margin: 0 0 0.8rem 0;
    padding: 0;
}
.faq-accordion-container h2.faq-category-title::after {
    content: "";
    width: 100%;
    height: 4px;
    display: block;
    background-color: var(--site--first--color);
    margin-top: 0.3rem;
}

/* Elemento Singolo (Dipendente da Parent) */
.faq-accordion-container .faq-item {
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;           /* Equivalente a 8px */
    margin-bottom: 0.2rem;           /* Layout compatto */
    background-color: #ffffff;
    overflow: hidden;
    position: relative;              /* Aggiunto per gestire correttamente le ombre */
    z-index: 1;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Hover dell'elemento - Il bordo prende il grigio scuro del tuo sito */
.faq-accordion-container .faq-item:hover {
    border-color: var(--site--second--color);
    z-index: 2;                      /* Porta l'elemento in primo piano durante l'hover */
}

/* Stato aperto dell'elemento - Il bordo prende il rosso del tuo sito */
.faq-accordion-container .faq-item.is-open {
    border-color: var(--site--first--color);
    box-shadow: 0 0.25rem 0.75rem rgba(237, 44, 39, 0.08); 
    z-index: 2;                      /* Mantiene l'elemento aperto sopra gli altri per non tagliare l'ombra */
}

/* Pulsante Titolo (Dipendente da Parent) */
.faq-accordion-container .faq-trigger {
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    padding: 0.7rem 1rem;
    font-size: 0.8rem;                 /* Equivalente a 16px */
    font-weight: 600;
    color: var(--site--second--color);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;                       /* Equivalente a 16px */
    transition: color 0.2s ease;
}

/* Hover del titolo - Diventa rosso */
.faq-accordion-container .faq-trigger:hover {
    color: var(--site--first--color);
}

/* Icona + / - Geometrica (Dipendente da Parent) */
.faq-accordion-container .faq-icon {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #f1f5f9;
    border-radius: 50%;
    transition: background-color 0.2s ease, transform 0.3s ease;
    flex-shrink: 0;
}

/* Linea Orizzontale del più (Centrata matematicamente) */
.faq-accordion-container .faq-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.5rem;
    height: 2px;
    background-color: var(--site--second--color);
    transform: translate(-50%, -50%);
    transition: background-color 0.2s ease;
}

/* Linea Verticale del più (Centrata matematicamente) */
.faq-accordion-container .faq-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 0.5rem;
    background-color: var(--site--second--color);
    transform: translate(-50%, -50%);
    transition: background-color 0.2s ease;
}

/* Apertura: il cerchio diventa rosso e ruota di 45 gradi */
.faq-accordion-container .faq-item.is-open .faq-icon {
    background-color: var(--site--first--color);
    transform: rotate(45deg);
}

/* Le linee interne diventano bianche alla chiusura/apertura */
.faq-accordion-container .faq-item.is-open .faq-icon::before,
.faq-accordion-container .faq-item.is-open .faq-icon::after {
    background-color: #ffffff;
}

/* Contenitore della descrizione (Dipendente da Parent) */
.faq-accordion-container .faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Spaziatura interna della risposta (Dipendente da Parent) */
.faq-accordion-container .faq-content-inner {
	padding: 0 1rem 1rem;
	font-size: 0.8rem;
	color: #475569;
}

/* Reset dei paragrafi generati da WordPress */
.faq-accordion-container .faq-content-inner p:last-child {
    margin-bottom: 0;
}


/*--- WIDGETS */
.panel-widgets {
	
}
.panel-widgets .single-widget {
	margin-bottom: 2rem;
}
.panel-widgets .single-widget h2.title-widget {
	font-size: 2rem;
	font-weight: 800;
	color: var(--site--second--color);
	padding: 0 0 0.4rem;
	margin: 0 0 1rem 0;
}
.panel-widgets .single-widget h2.title-widget::after {
	content: "";
	width: 120px;
	height: 8px;
	display: block;
	background-color: var(--site--first--color);
	margin-top: 0.3rem;
}
.panel-widgets .single-widget .archive-news .swiper {
	
}
.panel-widgets .single-widget .archive-news .pagination-container {
	position: static;
	margin: 0 0 1rem 0;
}
.panel-widgets .single-widget .archive-news .pagination-container .swiper-pagination {
	position: static;
	text-align: left;
}
.panel-widgets .single-widget .archive-news .pagination-container .swiper-pagination .swiper-pagination-bullet {
	width: 30px;
	height: 4px;
	border-radius: 0;
	background: #afafaf;
	opacity: 0.3;
	margin: 0 10px 0 0;
	transition: all 0.3s;
}
.panel-widgets .single-widget .archive-news .pagination-container .swiper-pagination .swiper-pagination-bullet-active {
	background: #afafaf;
	opacity: 1;
}
.panel-widgets .single-widget .featured-news .swiper {
	
}
.panel-widgets .single-widget .featured-news .pagination-container {
	position: static;
	margin: 0 0 1rem 0;
}
.panel-widgets .single-widget .featured-news .pagination-container .swiper-pagination {
	position: static;
	text-align: left;
}
.panel-widgets .single-widget .featured-news .pagination-container .swiper-pagination .swiper-pagination-bullet {
	width: 30px;
	height: 4px;
	border-radius: 0;
	background: #afafaf;
	opacity: 0.3;
	margin: 0 10px 0 0;
	transition: all 0.3s;
}
.panel-widgets .single-widget .featured-news .pagination-container .swiper-pagination .swiper-pagination-bullet-active {
	background: #afafaf;
	opacity: 1;
}
.panel-widgets .single-widget .category-news .swiper {
	
}
.panel-widgets .single-widget .category-news .pagination-container {
	position: static;
	margin: 0 0 1rem 0;
}
.panel-widgets .single-widget .category-news .pagination-container .swiper-pagination {
	position: static;
	text-align: left;
}
.panel-widgets .single-widget .category-news .pagination-container .swiper-pagination .swiper-pagination-bullet {
	width: 30px;
	height: 4px;
	border-radius: 0;
	background: #afafaf;
	opacity: 0.3;
	margin: 0 10px 0 0;
	transition: all 0.3s;
}
.panel-widgets .single-widget .category-news .pagination-container .swiper-pagination .swiper-pagination-bullet-active {
	background: #afafaf;
	opacity: 1;
}
.panel-widgets .single-widget .regional-widget figure.map-italy {
	margin: 0 0 2rem 0;
}
.panel-widgets .single-widget .regional-widget .box-select-region {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	background-color: var(--site--first--color);
	padding: 1rem 1rem;
	color: #fff;
	user-select: none;
}
.panel-widgets .single-widget .regional-widget .box-select-region svg {
	width: 24px;
	margin-right: 0.6rem;
}
.panel-widgets .single-widget .regional-widget .box-select-region svg rect {
	fill: #fff;
}
.panel-widgets .single-widget .regional-widget .box-select-region svg path {
	fill: #fff;
}
.panel-widgets .single-widget .regional-widget .box-select-region span {
	font-size: 1.2rem;
	font-weight: 800;
}
.panel-widgets .single-widget .regional-widget ul.regions-list {
	margin: 0 0 2rem 0;
	padding: 0;
	list-style-type: none;
}
.panel-widgets .single-widget .regional-widget ul.regions-list li {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 0.3rem;
	padding: 0;
	list-style-type: none;
}
.panel-widgets .single-widget .regional-widget ul.regions-list li {
	font-size: 0.8rem;
	margin-bottom: 0.1rem;
}
.panel-widgets .single-widget .regional-widget ul.regions-list li a {
	color: #302F2F;
}
.panel-widgets .single-widget .regional-widget ul.regions-list li a:hover {
	color: var(--site--first--color);
}
.panel-widgets .single-widget .regional-widget ul.regions-list li.current a {
	color: var(--site--first--color);
}
.panel-widgets .single-widget .list-widget ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.panel-widgets .single-widget .list-widget ul li {
	font-size: 1rem;
	font-weight: 400;
	margin: 0 0 0.3rem;
	padding: 0;
	list-style-type: none;
}
.panel-widgets .single-widget .list-widget ul li {
	font-size: 0.8rem;
	margin-bottom: 0.1rem;
}
.panel-widgets .single-widget .list-widget ul li a {
	color: #302F2F;
}
.panel-widgets .single-widget .list-widget ul li a:hover {
	color: var(--site--first--color);
}
.panel-widgets .single-widget .list-widget ul li.current {
	font-weight: 600;
}
.panel-widgets .single-widget .list-widget ul li.current a {
	color: var(--site--first--color);
}


/*--- FOOTER */
footer.layout-row {
	background-color: var(--site--second--color);
	padding: 3rem 0 1.5rem;
}
body:not(.home) footer.layout-row {
	margin-top: 5rem;
}
footer.layout-row figure.logo {
	margin: 0 1rem 0 0;
}
footer.layout-row figure.logo img {
	width: 95px;
}
footer.layout-row .text-logo {
	font-size: 0.8rem;
	font-weight: 600;
	color: #fff;
}
footer.layout-row .text-other {
	font-size: 0.8rem;
	font-weight: 600;
	color: #fff;
	margin-left: 2rem;
}
footer.layout-row .actions-menu {
	margin: 2rem 0 0 0;
}
footer.layout-row .actions-menu .single {
	display: flex;
    flex-direction: column;
	padding-left: 1rem;
	border-left: 2px solid #fff;
}
footer.layout-row .actions-menu .single:last-child {
	
}
footer.layout-row .actions-menu .single > div:first-child {
    font-size: 0.7rem;
	font-weight: 600;
	color: #fff;
	margin-bottom: 0.6rem;
}
footer.layout-row .actions-menu .single *:nth-child(2) {
    margin-top: auto !important;
}
footer.layout-row .actions-menu .single.follow-us ul {
    margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
}
footer.layout-row .actions-menu .single.follow-us ul li {
	margin: 0 0.8rem 0 0;
	padding: 0;
	list-style-type: none;
	font-size: 1rem;
}
footer.layout-row .actions-menu .single.follow-us ul li:last-child {
	margin: 0;
}
footer.layout-row .actions-menu .single.follow-us ul li a {
	color: #fff;
}
footer.layout-row .actions-menu .single.follow-us ul li a:hover {
	color: var(--site--first--color);
	background: none;
	border: none;
}
footer.layout-row .actions-menu .single.follow-us ul li a span[class^="icon-"]::before {
	width: auto;
	margin: 0;
	padding: 0;
}
footer.layout-row .actions-menu .single.partner img {
	width: 150px;
}
footer.layout-row ul.link-bottom {
	margin: 4rem 0 0 0;
	padding: 0;
	list-style-type: none;
}
footer.layout-row ul.link-bottom li {
	margin: 0 1rem 0 0;
	padding: 0;
	list-style-type: none;
	font-size: 0.7rem;
	font-weight: 600;
}
footer.layout-row ul.link-bottom li a {
	color: #fff;
}
footer.layout-row ul.link-bottom li a:hover {
	color: var(--site--first--color);
}