/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/



/* AVADA fix */
.checkout .payment_methods .payment_box, .fusion-body blockquote, .post-content blockquote, .review blockquote q {
    margin:0;
    padding:0;
}

/* Uniforma le miniature mostrate nei risultati della ricerca live di Avada. */
.fusion-live-search .fusion-search-result .fusion-search-image {
	width: 46px;
	height: 46px;
	max-width: none;
	flex: 0 0 46px;
	padding: 0;
	margin-inline-end: 12px;
	overflow: hidden;
	border-radius: 4px;
	background-color: #f3f3f6;
}

.fusion-live-search .fusion-search-result .fusion-search-image-tag {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

/* Top Level Menu Spacing */
#menu-spacing {letter-spacing:1px;}

/* header custom */
.fusion-tb-header {
    position:relative;
    z-index:10000;
    background-color:transparent !important;
}




/* css custom // Lorenzo */

/* Aumenta il distacco dei titoli che seguono un paragrafo nel contenuto. */
#main .post-content p + :is(h1, h2, h3, h4, h5, h6) {
	margin-top: 60px;
}

/* Gestisce anche il contenuto dinamico inserito dai template Avada Layout. */
#main .post-content .fusion-content-tb p + :is(h1, h2, h3, h4, h5, h6) {
	margin-top: 60px !important;
}

#main blockquote {
	font:inherit;
	margin-left:0;
	margin-right:0;
}

#main blockquote.warning {
    border-left: 5px solid #ffc400;
    background-color: #fff2a6;
    padding: 15px 15px 8px 20px;
}
#main blockquote.danger {
	border-left: 5px solid #ff3800;
	background-color: #ffcfcf;
    padding: 15px 15px 8px 20px;
}
#main blockquote.info {
    border-left: 5px solid #17a2b8; 
    background-color: #d1ecf1; 
    padding: 15px 15px 8px 20px;
}
#main blockquote.success {
    border-left: 5px solid #28a745; 
    background-color: #d4edda; 
    padding: 15px 15px 8px 20px;
}
#main blockquote.primary {
    border-left: 5px solid #007bff; /* Blu Bootstrap */
    background-color: #cce5ff; /* Azzurro chiaro */
    padding: 15px 15px 8px 20px;
}
#main blockquote.secondary {
    border-left: 5px solid #6c757d; /* Grigio Bootstrap */
    background-color: #e2e3e5; /* Grigio chiaro */
    padding: 15px 15px 8px 20px;
}
#main blockquote.light {
    border-left: 5px solid #f8f9fa; /* Bianco sporco */
    background-color: #fefefe; /* Bianco */
    padding: 15px 15px 8px 20px;
}
#main blockquote.dark {
    border-left: 5px solid #343a40; /* Grigio scuro */
    background-color: #d6d8d9; /* Grigio chiaro */
    padding: 15px 15px 8px 20px;
}
#main blockquote.muted {
    border-left: 5px solid #b0b3b8; /* Grigio neutro */
    background-color: #f5f5f5; /* Grigio chiarissimo */
    padding: 15px 15px 8px 20px;
}
#main blockquote.important {
    border-left: 5px solid #ff851b; /* Arancione acceso */
    background-color: #ffe8cc; /* Arancione chiaro */
    padding: 15px 15px 8px 20px;
}
#main blockquote.neon {
    border-left: 5px solid #39ff14; /* Verde neon */
    background-color: #d4fcb0; /* Verde chiaro */
    padding: 15px 15px 8px 20px;
}
#main blockquote.royal {
    border-left: 5px solid #4169e1; /* Blu Royal */
    background-color: #d0e1ff; /* Blu chiaro */
    padding: 15px 15px 8px 20px;
}
/* ☕ Coffee: Toni caldi e avvolgenti */
#main blockquote.coffee {
    border-left: 5px solid #b38b6d; /* Marrone caffè latte */
    background-color: #f3e5d8; /* Beige chiaro */
    padding: 15px 15px 8px 20px;
}

/* 🌊 Navy Pastel: Blu profondo ma delicato */
#main blockquote.navy {
    border-left: 5px solid #5b7aa3; /* Blu navy smorzato */
    background-color: #d6e2f0; /* Azzurro polvere */
    padding: 15px 15px 8px 20px;
}

/* 🌿 Olive: Verde tenue e rilassante */
#main blockquote.olive {
    border-left: 5px solid #8e9775; /* Verde oliva pastello */
    background-color: #eaf0e4; /* Verde pallido */
    padding: 15px 15px 8px 20px;
}

/* 🍑 Peach: Tocco morbido e accogliente */
#main blockquote.peach {
    border-left: 5px solid #e8a87c; /* Pesca pastello */
    background-color: #ffe6d5; /* Arancio chiarissimo */
    padding: 15px 15px 8px 20px;
}

/* 🩰 Blush: Rosa tenue per un effetto elegante */
#main blockquote.blush {
    border-left: 5px solid #de8a9a; /* Rosa antico pastello */
    background-color: #fce4e9; /* Rosa chiarissimo */
    padding: 15px 15px 8px 20px;
}

/* 🌾 Sand: Neutro e raffinato */
#main blockquote.sand {
    border-left: 5px solid #c2b280; /* Beige sabbia */
    background-color: #f5f3e7; /* Crema pastello */
    padding: 15px 15px 8px 20px;
}

/* Sistema condiviso per i blockquote informativi. */
#main blockquote.warning,
#main blockquote.danger,
#main blockquote.info,
#main blockquote.success,
#main blockquote.primary,
#main blockquote.secondary,
#main blockquote.light,
#main blockquote.dark,
#main blockquote.muted,
#main blockquote.important,
#main blockquote.neon,
#main blockquote.royal,
#main blockquote.coffee,
#main blockquote.navy,
#main blockquote.olive,
#main blockquote.peach,
#main blockquote.blush,
#main blockquote.sand {
	margin: 24px 0;
	padding: 16px 20px;
	box-shadow: none !important;
	font-style: normal;
	line-height: 1.55;
}

#main blockquote.warning {
	--aivpafe-blockquote-accent: #ffc400;
	border-left-color: #ffc400;
	background-color: #fff2a6;
}

#main blockquote.danger {
	--aivpafe-blockquote-accent: #e34b35;
	border-left-color: #e34b35;
	background-color: #fde3df;
}

#main blockquote.info {
	--aivpafe-blockquote-accent: #17a2b8;
	border-left-color: #17a2b8;
	background-color: #e1f3f6;
}

#main blockquote.success {
	--aivpafe-blockquote-accent: #28a745;
	border-left-color: #28a745;
	background-color: #e1f3e6;
}

#main blockquote.primary {
	--aivpafe-blockquote-accent: #278ed1;
	border-left-color: #278ed1;
	background-color: #e2f1fb;
}

#main blockquote.secondary {
	--aivpafe-blockquote-accent: #7b8288;
	border-left-color: #7b8288;
	background-color: #edf0f2;
}

#main blockquote.light {
	--aivpafe-blockquote-accent: #c5cbd1;
	border-left-color: #c5cbd1;
	background-color: #fff;
}

#main blockquote.dark {
	--aivpafe-blockquote-accent: #343a40;
	border-left-color: #343a40;
	background-color: #e1e3e5;
}

#main blockquote.muted {
	--aivpafe-blockquote-accent: #aeb4bb;
	border-left-color: #aeb4bb;
	background-color: #f5f6f7;
}

#main blockquote.important {
	--aivpafe-blockquote-accent: #e8892c;
	border-left-color: #e8892c;
	background-color: #fff0df;
}

#main blockquote.neon {
	--aivpafe-blockquote-accent: #68c93c;
	border-left-color: #68c93c;
	background-color: #eaffdf;
}

#main blockquote.royal {
	--aivpafe-blockquote-accent: #4169e1;
	border-left-color: #4169e1;
	background-color: #e4eafe;
}

#main blockquote.coffee {
	--aivpafe-blockquote-accent: #a47c5d;
	border-left-color: #a47c5d;
	background-color: #f5e9df;
}

#main blockquote.navy {
	--aivpafe-blockquote-accent: #5b7aa3;
	border-left-color: #5b7aa3;
	background-color: #e3ebf4;
}

#main blockquote.olive {
	--aivpafe-blockquote-accent: #849064;
	border-left-color: #849064;
	background-color: #edf2e8;
}

#main blockquote.peach {
	--aivpafe-blockquote-accent: #dc9568;
	border-left-color: #dc9568;
	background-color: #ffeadc;
}

#main blockquote.blush {
	--aivpafe-blockquote-accent: #d47f90;
	border-left-color: #d47f90;
	background-color: #fae8ec;
}

#main blockquote.sand {
	--aivpafe-blockquote-accent: #b7a76d;
	border-left-color: #b7a76d;
	background-color: #f6f3e5;
}

/* Mantiene il colore specifico della variante sopra il border-color globale di Avada. */
#wrapper #main blockquote.warning,
#wrapper #main blockquote.danger,
#wrapper #main blockquote.info,
#wrapper #main blockquote.success,
#wrapper #main blockquote.primary,
#wrapper #main blockquote.secondary,
#wrapper #main blockquote.light,
#wrapper #main blockquote.dark,
#wrapper #main blockquote.muted,
#wrapper #main blockquote.important,
#wrapper #main blockquote.neon,
#wrapper #main blockquote.royal,
#wrapper #main blockquote.coffee,
#wrapper #main blockquote.navy,
#wrapper #main blockquote.olive,
#wrapper #main blockquote.peach,
#wrapper #main blockquote.blush,
#wrapper #main blockquote.sand {
	border-left-color: var(--aivpafe-blockquote-accent);
}

/* Fascia laterale e icone dei blockquote informativi. */
#main blockquote.warning,
#main blockquote.danger,
#main blockquote.info,
#main blockquote.success,
#main blockquote.primary,
#main blockquote.secondary,
#main blockquote.light,
#main blockquote.dark,
#main blockquote.muted,
#main blockquote.important,
#main blockquote.neon,
#main blockquote.royal,
#main blockquote.coffee,
#main blockquote.navy,
#main blockquote.olive,
#main blockquote.peach,
#main blockquote.blush,
#main blockquote.sand {
	position: relative;
	border-left-width: 46px;
	padding: 16px 20px;
}

#main blockquote.warning::before,
#main blockquote.danger::before,
#main blockquote.info::before,
#main blockquote.success::before,
#main blockquote.primary::before,
#main blockquote.secondary::before,
#main blockquote.light::before,
#main blockquote.dark::before,
#main blockquote.muted::before,
#main blockquote.important::before,
#main blockquote.neon::before,
#main blockquote.royal::before,
#main blockquote.coffee::before,
#main blockquote.navy::before,
#main blockquote.olive::before,
#main blockquote.peach::before,
#main blockquote.blush::before,
#main blockquote.sand::before {
	position: absolute;
	top: 16px;
	left: -33px;
	display: flex;
	width: 20px;
	height: 20px;
	align-items: center;
	justify-content: center;
	color: #fff;
	content: '\f05a';
	font-family: 'Font Awesome 5 Free';
	font-size: 18px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

#main blockquote.warning::before {
	content: '\f071';
}

#main blockquote.danger::before {
	content: '\f057';
}

#main blockquote.success::before {
	content: '\f058';
}

/* Nei telefoni più stretti sposta la fascia con l'icona sopra al contenuto. */
@media only screen and (max-width: 400px) {
	#wrapper #main blockquote:is(
		.warning,
		.danger,
		.info,
		.success,
		.primary,
		.secondary,
		.light,
		.dark,
		.muted,
		.important,
		.neon,
		.royal,
		.coffee,
		.navy,
		.olive,
		.peach,
		.blush,
		.sand
	) {
		border-top: 42px solid var(--aivpafe-blockquote-accent);
		border-left-width: 0;
	}

	#main blockquote:is(
		.warning,
		.danger,
		.info,
		.success,
		.primary,
		.secondary,
		.light,
		.dark,
		.muted,
		.important,
		.neon,
		.royal,
		.coffee,
		.navy,
		.olive,
		.peach,
		.blush,
		.sand
	)::before {
		top: -31px;
		left: 18px;
	}
}

#main blockquote > :first-child {
	margin-top: 0;
}

#main blockquote > :last-child {
	margin-bottom: 0;
}

#main blockquote > p:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Compatta il form PPWP nei blockquote e rimuove il paragrafo vuoto generato dopo lo shortcode. */
#main blockquote .ppw-pcp-password-form .ppw-input {
	margin-top: 20px;
	margin-bottom: 0;
}

#main blockquote .ppw-pcp-password-form .ppw-pcp-pf-submit-btn {
	height: 36px;
	min-height: 36px;
	padding: 7px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--button_gradient_top_color, #32286f) !important;
	box-shadow: none;
	color: var(--button_accent_color, #fff) !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#main blockquote .ppw-pcp-password-form .ppw-pcp-pf-submit-btn:hover,
#main blockquote .ppw-pcp-password-form .ppw-pcp-pf-submit-btn:focus {
	background: var(--button_gradient_top_color_hover, #29256d) !important;
	color: var(--button_accent_hover_color, #fff) !important;
}

#main blockquote .ppw-pcp-password-form .ppw-pcp-pf-submit-btn:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* Organizza il campo password su due livelli negli schermi mobili. */
@media only screen and (max-width: 600px) {
	#main blockquote .ppw-pcp-password-form .ppw-input {
		display: flex;
		width: 100%;
		box-sizing: border-box;
		align-items: flex-end;
		gap: 12px;
	}

	#main blockquote .ppw-pcp-password-form .ppw-pcp-password-label {
		display: flex;
		min-width: 0;
		flex: 1 1 auto;
		flex-direction: column;
		align-items: stretch;
		gap: 7px;
	}

	#main blockquote .ppw-pcp-password-form .ppw-pcp-pf-password-input {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
		margin: 0;
	}

	#main blockquote .ppw-pcp-password-form .ppw-pcp-pf-submit-btn {
		flex: 0 0 auto;
	}
}

@media only screen and (max-width: 340px) {
	#main blockquote .ppw-pcp-password-form .ppw-input {
		flex-wrap: wrap;
	}

	#main blockquote .ppw-pcp-password-form .ppw-pcp-password-label,
	#main blockquote .ppw-pcp-password-form .ppw-pcp-pf-submit-btn {
		width: 100%;
		flex-basis: 100%;
	}
}

#main blockquote .ppw-restricted-content + p:empty {
	display: none;
}

/* Presenta i PDF PPWP sbloccati come schede ordinate e responsive. */
#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
	font-size: 0;
}

#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > br,
#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > img,
#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p:empty,
#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p:has(> img):not(:has(> a[href*='.pdf' i])) {
	display: none;
}

#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	font-size: var(--body_typography-font-size, 16px);
}

#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p:has(> a[href*='.pdf' i]) {
	/* width: calc(50% - 6px); */
	width: 100%;
	text-align: left !important;
}

#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p > a[href*='.pdf' i] {
	display: flex;
	min-height: 72px;
	box-sizing: border-box;
	align-items: center;
	padding: 12px 14px;
	border: 1px solid rgba(41, 37, 109, 0.14);
	border-radius: 6px;
	background-color: rgba(255, 255, 255, 0.56);
	color: #29256d;
	font-size:16px;
	font-weight: 400;
	line-height: 1.35;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p > a[href*='.pdf' i]::before {
	display: inline-flex;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	align-items: center;
	justify-content: center;
	margin-right: 12px;
	color: #d71920;
	content: '\f1c1';
	font-family: 'Font Awesome 5 Free';
	font-size: 30px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p > a[href*='.pdf' i]:hover,
#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p > a[href*='.pdf' i]:focus {
	border-color: var(--aivpafe-blockquote-accent);
	box-shadow: 0 4px 12px rgba(41, 37, 109, 0.1);
	transform: translateY(-1px);
}

@media only screen and (max-width: 767px) {
	#main blockquote .ppw-restricted-content:has(> p > a[href*='.pdf' i]) > p:has(> a[href*='.pdf' i]) {
		width: 100%;
	}
}

#main blockquote > :is(h1, h2, h3, h4, h5, h6):only-child {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

#main blockquote > p:first-child {
	display: block;
	margin-bottom: 7px;
	color: #29256d;
	font-weight: 700;
}



/* fix altri elementi */
.fusion-disable-outline .post-password-form input[type=submit]
{
	border-width: var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);
	border-color: var(--form_border_color);
	border-radius: var(--form_border_radius);
	border-style:solid;
	height: var(--form_input_height);
	padding-left:15px;
	padding-right:15px;
}

/* Titolo riutilizzabile per le sezioni principali della pagina. */
.aivpafe-section-title {
	position: relative;
	margin-bottom: 32px !important;
	padding-bottom: 12px;
	border-bottom: 1px solid #dfe1e8;
}

.aivpafe-section-title::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 72px;
	height: 3px;
	background: #29256d;
	content: '';
}

.aivpafe-section-title > :is(h1, h2, h3, h4, h5, h6) {
	margin: 0 !important;
}

.aivpafe-section-title + .fusion-events-shortcode {
	margin-top: 0 !important;
}

.aivpafe-section-title + .fusion-recent-posts {
	margin-top: 10px !important;
}

/* Spaziatura uniforme tra gli aggiornamenti recenti della home page. */
.home .fusion-recent-posts .fusion-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
	margin-right: 0;
	margin-left: 0;
}

.home .fusion-recent-posts .fusion-columns > article.post {
	float: none !important;
	width: 100% !important;
	margin-bottom: 0 !important;
	padding-right: 0;
	padding-left: 0;
}

@media only screen and (max-width: 767px) {
	.home .fusion-recent-posts .fusion-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================
   HOME PAGE - PROSSIMI EVENTI
   ========================================================= */

/* Maggiore respiro attorno alla sezione eventi */
.fusion-events-shortcode {
	margin-top: 10px;
	margin-bottom: 55px;
}

/* Allineamento delle card */
.fusion-events-shortcode .fusion-events-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

/* Singola colonna evento */
.fusion-events-shortcode .fusion-events-post {
	display: flex;
}

/* Sposta sotto alle card lo spazio verticale aggiunto inline da Avada. */
.home .fusion-events-shortcode .fusion-events-post {
	padding-top: 0 !important;
	padding-bottom: 40px !important;
}

/* Card evento */
.fusion-events-shortcode .fusion-events-post > .fusion-column-wrapper {
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.05) !important;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(35, 31, 94, 0.1);
	transition:
		transform 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

/* Effetto hover */
.fusion-events-shortcode .fusion-events-post:hover > .fusion-column-wrapper {
	transform: translateY(-5px);
	border-color: rgba(0, 0, 0, 0.05) !important;
	box-shadow: 0 14px 32px rgba(35, 31, 94, 0.18);
}

/* Area immagine */
.fusion-events-shortcode .fusion-events-thumbnail {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 235px;
	padding: 18px;
	background:#fff;
	border-bottom: 1px solid #e8e8ee;
}

/* Link immagine */
.fusion-events-shortcode .fusion-events-thumbnail > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* Immagine interamente visibile, senza ritagli */
.fusion-events-shortcode .fusion-events-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.25s ease;
}

.fusion-events-shortcode .fusion-events-post:hover .fusion-events-thumbnail img {
	transform: scale(1.02);
}
/*
.fusion-layout-column .fusion-column-wrapper.hover, .fusion-layout-column .fusion-column-wrapper:hover {
    border-color: transparent;
}*/

/* Contenuto testuale */
.fusion-events-shortcode .fusion-events-content-wrapper {
	display: flex;
	flex: 1;
	padding: 24px !important;
}

/* Rimuove l'altezza minima inserita dal tema */
.fusion-events-shortcode .fusion-events-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 0 !important;
	height: auto !important;
}

/* Titolo evento */
.fusion-events-shortcode .fusion-events-meta h2 {
	margin: 0 !important;
	font-size: 21px !important;
	line-height: 1.25 !important;
	font-weight: 700;
}

/* Link titolo */
.fusion-events-shortcode .fusion-events-meta h2 a {
	color: #29256d;
	text-decoration: none;
}

.fusion-events-shortcode .fusion-events-meta h2 a:hover {
	color: #d71920;
}

/* Data e orario in evidenza */
.fusion-events-shortcode .fusion-events-meta h4 {
	order: -1;
	display: inline-flex;
	align-items: center;
	margin: 0 0 17px !important;
	padding: 7px 11px;
	color: #fff;
	background: #29256d;
	border-radius: 3px;
	font-size: 13px !important;
	line-height: 1.3 !important;
	font-weight: 600;
}

/* Evita separazioni sgradevoli nella data */
.fusion-events-shortcode .fusion-events-meta h4 span {
	white-space: nowrap;
}

.aivpafe-event-date,
.aivpafe-single-event-date {
	white-space: nowrap;
}

/* Data e categorie nelle card evento della homepage. */
.home .fusion-events-shortcode .fusion-events-content-wrapper {
	padding-top: 5px !important;
}

.home .fusion-events-shortcode .fusion-events-meta h4 {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	padding: 0;
	background: transparent;
	text-transform: uppercase;
}

.aivpafe-event-date,
.aivpafe-event-categories 
.home .fusion-events-shortcode .aivpafe-event-date,
.home .fusion-events-shortcode .aivpafe-event-categories {
	display: inline-flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 6px 10px;
	margin: 0;
	border-radius: 3px;
	box-sizing: border-box;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}

.home .fusion-events-shortcode .aivpafe-event-date {
	color: #fff;
	background: #29256d;
}

.home .fusion-events-shortcode .aivpafe-event-categories {
	margin-top: 0;
	color: #29256d;
	background: var(--awb-color3);
}

.home .fusion-events-shortcode .aivpafe-event-categories a {
	color: #29256d;
	text-decoration: none;
}

.home .fusion-events-shortcode .fusion-events-post a,
.home .fusion-events-shortcode .fusion-events-post a:hover,
.home .fusion-events-shortcode .fusion-events-post a:focus {
	border-bottom: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* Estende a tutta larghezza l'elemento Archives nei tag degli eventi. */
.aivpafe-event-tag-archive .fusion-layout-column:has(.fusion-archives-tb) {
	--awb-width-large: 100% !important;
	--awb-width-medium: 100% !important;
	--awb-spacing-right-large: 1.92% !important;
	--awb-spacing-left-large: 1.92% !important;
	--awb-spacing-right-medium: 1.92% !important;
	--awb-spacing-left-medium: 1.92% !important;
	width: 100% !important;
}

/* Archivi completi delle categorie e dei tag evento. */
.aivpafe-event-category-archive .fusion-blog-archive .fusion-posts-container {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	height: auto !important;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 16px;
	overflow: hidden;
	border: 1px solid #29256d2e !important;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(35, 31, 94, 0.1);
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events:hover {
	transform: translateY(-5px);
	box-shadow: 0 14px 32px rgba(35, 31, 94, 0.18);
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-post-slideshow {
	width: 100% !important;
	margin: 0 0 18px !important;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-image-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #fff;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-post-content {
	order: 2;
	margin: 0;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .blog-shortcode-post-title {
	margin: 0 0 12px;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 1.25 !important;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .blog-shortcode-post-title a {
	color: #29256d;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-post-content-container {
	display: none !important;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info {
	display: contents;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft,
.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignright {
	float: none;
	width: auto;
	font-size: 0;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft {
	order: 1;
	margin: 0 0 16px;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignright {
	order: 3;
	margin-left: 0 !important;
	margin-top: auto;
	padding-top: 16px;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events > .fusion-clearfix {
	display: none;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft > span:not(.vcard):not(.updated):not(.fusion-inline-sep):not(.meta-tags) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 7px 11px;
	border-radius: 3px;
	background: #29256d;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft > a,
.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-inline-sep {
	display: none !important;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-read-more {
	display: none !important;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-read-more::after {
	display: none;
}

body:not(.single-tribe_events) article.tribe_events .meta-tags,
body:not(.single-tribe_events) article.tribe_events .meta-tags + .fusion-inline-sep {
	display: none !important;
}

.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events a,
.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events a:hover,
.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events a:focus {
	border-bottom: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* Uniforma il markup grid di Avada usato negli archivi tag evento. */
.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-post-wrapper,
.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-post-content-wrapper {
	display: flex;
	flex: 1;
	flex-direction: column;
	width: 100%;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-post-content-wrapper {
	padding: 0 !important;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-post-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	order: 1;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-single-line-meta {
	order: 1;
	margin: 0 0 16px;
	font-size: 0;
	line-height: 0;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-single-line-meta > span:not(.vcard):not(.updated):not(.fusion-inline-sep):not(.meta-tags) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 7px 11px;
	border-radius: 3px;
	background: #29256d;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-single-line-meta .vcard,
.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-single-line-meta > a,
.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-single-line-meta .fusion-inline-sep,
.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-content-sep {
	display: none !important;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .blog-shortcode-post-title {
	order: 2;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-meta-info {
	display: block;
	order: 2;
	margin: auto 0 0;
	padding-top: 16px;
	border: 0;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft {
	display: block;
	margin: 0;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft > .fusion-read-more {
	display: none !important;
}

.aivpafe-event-tag-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignright {
	display: none !important;
}

.aivpafe-event-taxonomy-archive .fusion-blog-archive .pagination {
	justify-content: flex-start;
}

.aivpafe-events-section #main {
	padding-top: 20px;	
}
.aivpafe-filtered-events-archive #main {
	padding-top: 0;
}

/* =========================================================
   SINGOLO EVENTO
   ========================================================= */

.single-tribe_events {
	--aivpafe-event-content-width: 70%;
}

.single-tribe_events #content {
	float: none !important;
	width: 100% !important;
	margin-right: auto;
	margin-left: auto;
}

.single-tribe_events #main {
	overflow: visible;
	padding-top: 60px;
	padding-bottom: 60px;
}

.single-tribe_events .tribe-events-notices.fusion-alert {
	width: var(--aivpafe-event-content-width) !important;
	min-height: 0;
	box-sizing: border-box;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 12px 18px;
	border: 0;
	background: #29256d;
	color: #fff;
}

.single-tribe_events .tribe-events-notices.fusion-alert .fusion-alert-content-wrapper,
.single-tribe_events .tribe-events-notices.fusion-alert .alert-icon,
.single-tribe_events .tribe-events-notices.fusion-alert .fusion-alert-content {
	color: #fff;
}

.single-tribe_events .tribe-events-notices.fusion-alert .close.toggle-alert {
	display: none;
}

.single-tribe_events .aivpafe-single-event-layout {
	display: block;
}

.single-tribe_events .aivpafe-single-event-header {
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.single-tribe_events .aivpafe-single-event-location {
	width: var(--aivpafe-event-content-width) !important;
	margin: 24px auto 0 !important;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.single-tribe_events .aivpafe-single-event-layout > .tribe-events-single-event-description {
	width: var(--aivpafe-event-content-width);
	max-width: none;
	margin: 42px auto 0;
}

.single-tribe_events .fusion-events-featured-image {
	display: block;
	width: var(--aivpafe-event-content-width);
	max-width: var(--aivpafe-event-content-width);
	margin: 0 auto;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.single-tribe_events .tribe-events-event-image {
	margin: 0;
}

.single-tribe_events .tribe-events-event-image img {
	display: block;
	width: 100%;
	height: auto;
}

.single-tribe_events .aivpafe-single-event-heading {
	width: var(--aivpafe-event-content-width);
	margin: 20px auto 0;
	padding: 0;
	background: #fff;
}

.single-tribe_events .aivpafe-single-event-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
}

.single-tribe_events .aivpafe-single-event-date,
.single-tribe_events .aivpafe-single-event-categories {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 7px 11px;
	border-radius: 3px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
}

.single-tribe_events .aivpafe-single-event-date {
	background: #29256d;
	color: #fff;
}

.single-tribe_events .aivpafe-single-event-categories {
	margin-left: auto;
	background: var(--awb-color3);
	color: #29256d;
	transition: background-color 0.2s ease;
}

.single-tribe_events .aivpafe-single-event-categories:hover,
.single-tribe_events .aivpafe-single-event-categories:focus-within {
	background: #29256d2e;
}

.single-tribe_events .aivpafe-single-event-categories a,
.single-tribe_events .aivpafe-single-event-categories a:hover,
.single-tribe_events .aivpafe-single-event-categories a:focus {
	border: 0;
	color: inherit;
	box-shadow: none;
	text-decoration: none !important;
}

.single-tribe_events .tribe-events-single-event-title {
	margin: 0;
	padding-top: 45px;
	color: #29256d !important;
	font-size: clamp(25px, 2.2vw, 32px) !important;
	font-weight: 700;
	line-height: 1.22 !important;
}

.single-tribe_events .aivpafe-single-event-actions {
	display: flex;
	width: var(--aivpafe-event-content-width) !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin-right: auto !important;
	margin-left: auto !important;
}

.single-tribe_events .aivpafe-single-event-actions .tribe-events-cal-links {
	margin: 0;
}

.single-tribe_events .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown {
	width: auto;
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	min-width: 0;
	width: auto;
	padding: 8px 12px;
	border: 0;
	border-radius: 3px;
	background: var(--awb-color3);
	color: #29256d;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
	transition: background-color 0.2s ease;
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__button:focus-within,
.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__button--active {
	background: #29256d2e;
	color: #29256d;
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__button-text {
	padding: 0;
	color: inherit;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	text-transform: inherit;
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__button svg path {
	fill: #29256d;
	stroke: #29256d;
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__content {
	min-width: 210px;
	margin-top: 6px;
	padding: 0;
	border: 1px solid #29256d2e;
	border-radius: 4px;
	background: #f1f2f8;
	box-shadow: 0 8px 20px rgba(35, 31, 94, 0.14);
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__list {
	margin: 0;
	padding: 0;
	transform: none;
	border: 0;
	background: #f1f2f8;
	box-shadow: none;
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__list-item-link {
	display: block;
	padding: 7px 14px;
	color: #29256d;
	font-size: 13px;
	line-height: 1.35;
	text-decoration: none;
}

.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__list-item-link:hover,
.single-tribe_events #tribe-events-content .aivpafe-single-event-actions .tribe-events-c-subscribe-dropdown__list-item-link:focus {
	background: #29256d1a;
	color: #29256d;
}

.single-tribe_events .aivpafe-single-event-actions .fusion-sharing-box {
	display: flex;
	align-items: center;
	gap: 28px;
	width: auto;
	margin: 0 0 0 auto;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.single-tribe_events .aivpafe-single-event-actions .fusion-sharing-box h4 {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
}

.single-tribe_events .aivpafe-single-event-actions .fusion-social-networks {
	margin: 0;
}

.single-tribe_events .aivpafe-single-event-actions .fusion-social-networks-wrapper {
	display: flex;
	align-items: center;
	gap: 5px;
}

.single-tribe_events .aivpafe-single-event-actions .fusion-social-network-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 5px 5px !important;
	border-radius: 50%;
	background: var(--awb-color3) !important;
	color: #29256d !important;
	box-shadow: none;
}

.single-tribe_events .aivpafe-single-event-actions .fusion-social-network-icon:hover,
.single-tribe_events .aivpafe-single-event-actions .fusion-social-network-icon:focus {
	background: #29256d2e !important;
	color: #29256d !important;
}

body.single-tribe_events .tooltip[role="tooltip"] {
	display: none !important;
}

.single-tribe_events .tribe-events-single-event-description {
	font-size: 16px;
	line-height: 1.7;
}

.single-tribe_events .tribe-events-single-event-description > :is(h2, h3, h4, h5, h6):not(:has(img)) {
	position: relative;
	margin: 42px 0 18px;
	padding: 0 0 10px;
	border-bottom: 1px solid #dfe1e8;
	color: #29256d;
	font-weight: 700;
	line-height: 1.3 !important;
}

.single-tribe_events .tribe-events-single-event-description > :is(h2, h3, h4, h5, h6):not(:has(img))::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 72px;
	height: 3px;
	background: #29256d;
	content: '';
}

.single-tribe_events .tribe-events-single-event-description > :is(h2, h3, h4, h5, h6):not(:has(img)):first-child {
	margin-top: 0;
}

.single-tribe_events .tribe-events-single-event-description > p {
	margin-bottom: 16px;
}

.single-tribe_events #tribe-events-content .tribe-events-single-event-description > p:has(+ ul) {
	margin-bottom: 0 !important;
}

.single-tribe_events #tribe-events-content .tribe-events-single-event-description > ul {
	margin-top: 0 !important;
}

.single-tribe_events .tribe-events-single-event-description > p > strong:first-child {
	color: #29256d;
}

.single-tribe_events .tribe-events-single-event-description > h3:has(img[src*="pdf"], img[data-orig-src*="pdf"]) {
	display: none;
}

/* Pulsanti PDF nei contenuti editoriali di post, pagine e CPT. */
#main :is(.post-content, .fusion-content-tb) > p:has(> a[href*=".pdf" i]:not(:has(img))) {
	display: inline-flex;
	margin: 4px 0 18px;
}

#main :is(.post-content, .fusion-content-tb) > p > a[href*=".pdf" i]:not(:has(img)) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 11px 18px;
	border: 0;
	border-radius: 4px;
	background: var(--awb-color3);
	color: #29256d;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-transform: uppercase;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#main :is(.post-content, .fusion-content-tb) > p > a[href*=".pdf" i]:not(:has(img))::before {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin-right: 9px;
	color: #d71920;
	content: '\f1c1';
	font-family: 'Font Awesome 5 Free';
	font-size: 30px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

#main :is(.post-content, .fusion-content-tb) > p > a[href*=".pdf" i]:not(:has(img)):hover,
#main :is(.post-content, .fusion-content-tb) > p > a[href*=".pdf" i]:not(:has(img)):focus {
	background: #29256d2e;
	box-shadow: none;
}

/* Pulsante riutilizzabile applicato esplicitamente ai singoli link. */
#main a.aivpafe-link-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 11px 18px;
	border: 0;
	border-radius: 4px;
	background: var(--awb-color3);
	color: #29256d;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-transform: uppercase;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#main a.aivpafe-link-button:hover,
#main a.aivpafe-link-button:focus {
	background: #29256d2e;
	color: #29256d;
	box-shadow: none;
}

#main a.aivpafe-link-button:focus-visible {
	outline: 3px solid #29256d40;
	outline-offset: 3px;
}

#main a.aivpafe-link-button > img {
	width: auto;
	max-height: 30px;
	margin-right: 9px;
}

/* Aumenta la distanza verticale tra le voci delle liste nella colonna assegnata. */
.aivpafe-list-spaced :is(ul, ol) > li {
	margin-bottom: 10px;
}

/* Link PDF leggeri nei contenuti delle pagine Avada. */
body.page #main .post-content a[href*=".pdf" i]:not(.fusion-button):not(.aivpafe-link-button):not(:has(img)) {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.page #main .post-content a[href*=".pdf" i]:not(.fusion-button):not(:has(img))::before {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin-right: 7px;
	color: #d71920;
	content: '\f1c1';
	font-family: 'Font Awesome 5 Free';
	font-size: 36px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

body.page #main .post-content a[href*=".pdf" i]:not(.fusion-button):not(.aivpafe-link-button):not(:has(img)):hover,
body.page #main .post-content a[href*=".pdf" i]:not(.fusion-button):not(.aivpafe-link-button):not(:has(img)):focus {
	background: transparent;
	box-shadow: none;
}

.single-tribe_events .tribe-events-single-event-description p:has(> a[href*=".pdf" i]:not(:has(img))) {
	display: inline-flex;
	margin: 4px 0 18px;
}

.single-tribe_events .tribe-events-single-event-description p > a[href*=".pdf" i]:not(:has(img)) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 11px 18px;
	border: 0;
	border-radius: 4px;
	background: var(--awb-color3);
	color: #29256d;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-transform: uppercase;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.single-tribe_events .tribe-events-single-event-description p > a[href*=".pdf" i]:not(:has(img))::before {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin-right: 9px;
	color: #d71920;
	content: '\f1c1';
	font-family: 'Font Awesome 5 Free';
	font-size: 30px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

.single-tribe_events .tribe-events-single-event-description p > a[href*=".pdf" i]:not(:has(img)):hover,
.single-tribe_events .tribe-events-single-event-description p > a[href*=".pdf" i]:not(:has(img)):focus {
	background: #29256d2e;
	box-shadow: none;
}

/* Pulsante personalizzato per i link di iscrizione nel contenuto degli eventi. */
.single-tribe_events .tribe-events-single-event-description a.custom-button,
.single-tribe_events .tribe-events-single-event-description a.custom-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 43px;
	padding: 11px 30px;
	border: 0;
	border-bottom: 0 !important;
	border-radius: 999px;
	background: var(--button_gradient_top_color, #4b246d);
	box-shadow: none;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none !important;
	text-decoration-line: none !important;
	text-transform: uppercase;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.single-tribe_events .tribe-events-single-event-description a.custom-button:hover,
.single-tribe_events .tribe-events-single-event-description a.custom-button:focus {
	background: var(--button_gradient_top_color_hover, #29256d);
	border-bottom: 0 !important;
	box-shadow: none;
	color: var(--button_accent_hover_color, #fff) !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.single-tribe_events .tribe-events-single-event-description a.custom-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.single-tribe_events .aivpafe-single-event-location .tribe-events-meta-group {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 30px;
	width: 100%;
	margin: 0;
	padding: 20px;
	background: var(--awb-color2);
}

.single-tribe_events .aivpafe-single-event-location .tribe-events-meta-group.aivpafe-single-event-venue-has-media {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

.single-tribe_events .aivpafe-single-event-location .tribe-events-meta-item {
	display: block;
	margin: 0;
	min-height: 0;
	padding: 0 !important;
	border: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-style: normal;
	line-height: inherit;
	list-style: none;
}

.single-tribe_events .aivpafe-single-event-location .tribe-events-meta-list {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	color: inherit;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.7;
	list-style: none;
}

.single-tribe_events .aivpafe-single-event-location .aivpafe-single-event-venue-media {
	display: grid;
	gap: 14px;
	width: 100%;
	overflow: hidden;
}

.single-tribe_events .aivpafe-single-event-location .aivpafe-single-event-venue-image-item {
	width: 100%;
}

.single-tribe_events .aivpafe-single-event-location .aivpafe-single-event-venue-image {
	display: block;
	width: 100%;
	height: auto;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue {
	margin-top: 18px !important;
	margin-bottom: 0 !important;
	font-size: 24px;
	line-height: 1.4;
}

.single-tribe_events .aivpafe-single-event-location .aivpafe-single-event-location-label {
	margin-bottom: 0 !important;
	color: #29256d;
	font-size: 12px;
	letter-spacing: 0.04em;
	line-height: 1.3;
	text-transform:uppercase;
}

.single-tribe_events .aivpafe-single-event-location .tribe-events-address {
	margin: 0;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-style: normal;
	font-weight: 400;
	line-height: inherit;
}

.single-tribe_events .aivpafe-single-event-location :is(.tribe-venue-tel, .tribe-venue-email, .tribe-venue-url) {
	display: inline-flex;
	margin-top: 14px;
	margin-right: 6px;
}

.single-tribe_events .aivpafe-single-event-location :is(.tribe-venue-tel, .tribe-venue-email, .tribe-venue-url) a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	padding: 5px 10px;
	border: 1px solid rgba(41, 37, 109, 0.18);
	border-radius: 4px;
	background: #fff;
	color: #29256d;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.single-tribe_events .aivpafe-single-event-location :is(.tribe-venue-tel, .tribe-venue-email, .tribe-venue-url) a::before {
	font-family: 'Font Awesome 5 Free';
	font-size: 12px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-tel a::before {
	content: '\f095';
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-email a::before {
	content: '\f0e0';
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-url a::before {
	content: '\f0ac';
}

.single-tribe_events .aivpafe-single-event-location :is(.tribe-venue-tel, .tribe-venue-email, .tribe-venue-url) a:hover,
.single-tribe_events .aivpafe-single-event-location :is(.tribe-venue-tel, .tribe-venue-email, .tribe-venue-url) a:focus {
	border-color: #29256d;
	box-shadow: 0 2px 6px rgba(41, 37, 109, 0.1);
	text-decoration: none !important;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-map-link {
	margin-top: 8px;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-map-link a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--link_color);
	text-decoration: none !important;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-map-link a:hover,
.single-tribe_events .aivpafe-single-event-location .tribe-venue-map-link a:focus {
	color: var(--link_hover_color);
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-map-link a span {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-map-link a::before {
	display: inline-block;
	color: #ea4335;
	content: '\f3c5';
	font-family: 'Font Awesome 5 Free';
	font-size: 15px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
	text-decoration: none !important;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-description {
	margin-top: 28px;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-description > :first-child {
	margin-top: 0;
}

.single-tribe_events .aivpafe-single-event-location .tribe-venue-description > :last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 1200px) {
	.single-tribe_events {
		--aivpafe-event-content-width: 85%;
	}
}

@media only screen and (max-width: 1024px) {
	.single-tribe_events {
		--aivpafe-event-content-width: 100%;
	}

	.aivpafe-event-category-archive .fusion-blog-archive .fusion-posts-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Location evento in mobile: immagini a piena larghezza, impilate prima dei
 * dati e della descrizione. Da 768px la colonna laterale torna disponibile.
 */
@media only screen and (max-width: 767px) {
	.single-tribe_events .aivpafe-single-event-location .tribe-events-meta-group.aivpafe-single-event-venue-has-media {
		grid-template-columns: minmax(0, 1fr);
	}

	.single-tribe_events .aivpafe-single-event-location .aivpafe-single-event-venue-media {
		order: -1;
		grid-template-columns: minmax(0, 1fr);
		width: 100%;
	}
}

@media only screen and (max-width: 640px) {
	.single-tribe_events #main {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.aivpafe-event-category-archive .fusion-blog-archive,
	.aivpafe-event-category-archive .fusion-blog-archive .fusion-posts-container,
	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events,
	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-post-slideshow,
	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-post-content,
	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft,
	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignright {
		min-width: 0;
		max-width: 100%;
		width: 100% !important;
		box-sizing: border-box;
	}

	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-post-content,
	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .blog-shortcode-post-title {
		float: none;
		max-width: 100%;
		width: 100% !important;
	}

	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events img {
		max-width: 100%;
	}

	.single-tribe_events .aivpafe-single-event-heading {
		padding: 0;
	}

	.single-tribe_events .aivpafe-single-event-badges {
		gap: 8px;
	}

	.single-tribe_events .aivpafe-single-event-date,
	.single-tribe_events .aivpafe-single-event-categories {
		padding: 7px 9px;
		font-size: 13px;
	}

	.single-tribe_events .aivpafe-single-event-actions {
		align-items: flex-start;
		gap: 14px;
	}

	.single-tribe_events .aivpafe-single-event-actions .fusion-sharing-box {
		margin-left: 0;
	}

	.single-tribe_events .tribe-events-single-event-description > :is(h2, h3, h4, h5, h6):not(:has(img)) {
		margin-top: 32px;
	}

	.single-tribe_events .aivpafe-single-event-location {
		padding: 0 !important;
	}

	.aivpafe-event-category-archive .fusion-blog-archive .fusion-posts-container {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/* =========================================================
   TABLET
   ========================================================= */

@media only screen and (max-width: 1024px) {

	.fusion-events-shortcode .fusion-events-thumbnail {
		height: 200px;
	}

	.fusion-events-shortcode .fusion-events-meta h2 {
		font-size: 20px !important;
	}
}


/* =========================================================
   MOBILE
   ========================================================= */

@media only screen and (max-width: 767px) {
	.aivpafe-event-category-archive .fusion-blog-archive article.tribe_events .fusion-meta-info .fusion-alignleft > span:not(.vcard):not(.updated):not(.fusion-inline-sep):not(.meta-tags) {
		width: 100%;
	}

	.home .fusion-events-shortcode .fusion-events-meta h4 {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 8px;
	}

	.home .fusion-events-shortcode .aivpafe-event-date,
	.home .fusion-events-shortcode .aivpafe-event-categories {
		flex: none !important;
		width: 100% !important;
	}
}

@media only screen and (max-width: 767px) {

	.fusion-events-shortcode {
		margin-bottom: 40px;
	}

	.fusion-events-shortcode .fusion-events-wrapper {
		display: block;
	}

	.home .fusion-events-shortcode .fusion-events-post {
		display: block;
		width: 100% !important;
		padding-top: 0 !important;
		padding-bottom: 28px !important;
	}

	.fusion-events-shortcode .fusion-events-thumbnail {
		height: auto;
		min-height: 190px;
		max-height: 260px;
	}

	.fusion-events-shortcode .fusion-events-thumbnail img {
		height: auto;
		max-height: 225px;
	}

	.fusion-events-shortcode .fusion-events-content-wrapper {
		padding: 20px !important;
	}

	.fusion-events-shortcode .fusion-events-meta h2 {
		font-size: 21px !important;
	}
}




/* Uniforma tutte le immagini delle news in home page */
.fusion-recent-posts .fusion-flexslider {
	border-radius: 8px;
	overflow: hidden;
	background: #f3f3f6;
}

/* Allinea la categoria al titolo nelle card post della home su smartphone. */
@media only screen and (max-width: 640px) {
	.home .fusion-recent-posts article.post .recent-posts-content .meta {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}

/* Nasconde la data di pubblicazione degli aggiornamenti nelle viste elenco. */
.home .fusion-recent-posts article.post .recent-posts-content .meta > .updated + span,
.home .fusion-recent-posts article.post .recent-posts-content .meta > .updated + span + .fusion-inline-sep,
body:not(.single-post) article.post .fusion-single-line-meta > .updated + span,
body:not(.single-post) article.post .fusion-single-line-meta > .updated + span + .fusion-inline-sep {
	display: none !important;
}

/* Nasconde la data anche nella testata dei singoli aggiornamenti. */
.single-post .fusion-page-title-bar .fusion-content-layout-row > .fusion-text-2 {
	display: none !important;
}

/* Navigazione per categoria degli archivi degli aggiornamenti. */
.aivpafe-communications-section:not(.single-post) #main {
	padding-top: 0;
}

.aivpafe-communications-section .aivpafe-post-category-nav {
	display: flex;
	flex-wrap: wrap;
	grid-column: 1 / -1;
	width: 100%;
	gap: 10px;
	margin: 0;
}

.aivpafe-communications-section .aivpafe-post-category-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 20px;
	border: 0;
	border-radius: 32px;
	background: var(--button_gradient_top_color, #32286f);
	color: var(--button_accent_color, #fff);
	font-size: 12px;
	font-weight: 600;
	line-height: 14px;
	border-bottom: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.aivpafe-communications-section .aivpafe-post-category-link:hover,
.aivpafe-communications-section .aivpafe-post-category-link:focus,
.aivpafe-communications-section .aivpafe-post-category-link.is-active {
	background: var(--button_gradient_top_color_hover, #d71920);
	color: var(--button_accent_hover_color, #fff);
	border-bottom: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* Mantiene la descrizione della categoria separata dalla griglia tramite sola spaziatura. */
.category.aivpafe-communications-section .fusion-layout-column:has(+ .fusion-layout-column .fusion-archives-tb) > .fusion-column-wrapper > .fusion-text:has(> *) {
	padding: 24px 0 4px;
}

/*
 * Rimuove i wrapper Avada quando le descrizioni superiore o inferiore sono
 * vuote. I selettori strutturali evitano le classi fusion-text-* numerate, che
 * possono cambiare quando il Layout viene modificato.
 */
.category.aivpafe-communications-section #main .post-content .fusion-layout-column:has(+ .fusion-layout-column .fusion-archives-tb):not(:has(> .fusion-column-wrapper > .fusion-text > *)),
.category.aivpafe-communications-section #main .post-content .fusion-layout-column:has(.fusion-archives-tb) + .fusion-layout-column:not(:has(.aivpafe-category-bottom-description)) {
	display: none !important;
}

/* Griglia ordinata per aggiornamenti e relativi archivi di tassonomia. */
.aivpafe-communications-section .fusion-blog-archive .fusion-posts-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
	height: auto !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.aivpafe-communications-section .fusion-blog-archive article.post {
	position: static !important;
	top: auto !important;
	left: auto !important;
	display: flex;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-wrapper {
	display: flex;
	flex: 1;
	flex-direction: column;
	width: 100%;
}

.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-content-wrapper {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-bottom: 50px !important;
}

.aivpafe-communications-section .fusion-blog-archive article.post .blog-shortcode-post-title {
	font-size: 20px !important;
}

.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-slideshow {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 8px;
	background: #f3f3f6;
}

.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-slideshow .flex-viewport,
.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-slideshow .slides,
.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-slideshow .slides > li,
.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-slideshow .slides > li > a,
.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-slideshow .fusion-image-wrapper {
	height: 100% !important;
}

.aivpafe-communications-section .fusion-blog-archive article.post .fusion-post-slideshow img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.aivpafe-communications-section .fusion-blog-archive article.post .aivpafe-post-placeholder > a,
.aivpafe-communications-section .fusion-blog-archive article.post .aivpafe-post-placeholder .fusion-placeholder-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
}

.aivpafe-communications-section .fusion-blog-archive article.post .aivpafe-post-placeholder .fusion-placeholder-image {
	aspect-ratio: auto !important;
}

/* Allinea a sinistra la paginazione degli archivi degli aggiornamenti. */
.aivpafe-communications-section .fusion-blog-archive > .pagination {
	justify-content: flex-start !important;
}

@media only screen and (max-width: 1024px) {
	.aivpafe-communications-section .fusion-blog-archive .fusion-posts-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 640px) {
	.aivpafe-communications-section .fusion-blog-archive .fusion-posts-container {
		grid-template-columns: minmax(0, 1fr);
		gap: 15px;
	}
}

/*
 * Uniforma e ritaglia l'immagine in evidenza solo per i post in formato Galleria.
 * I post in formato Standard mantengono invece le proporzioni originali.
 * Modificare solo questa variabile per cambiare il limite globale.
 */
.single-post.single-format-gallery {
	--aivpafe-post-featured-image-max-height: 520px;
}

.single-post.single-format-gallery .fusion-page-title-bar .fusion-image-element,
.single-post.single-format-gallery .fusion-page-title-bar .fusion-imageframe {
	display: block;
	width: 100%;
}

.single-post.single-format-gallery .fusion-page-title-bar .fusion-imageframe {
	height: min(48vw, var(--aivpafe-post-featured-image-max-height));
	overflow: hidden;
}

.single-post.single-format-gallery .fusion-page-title-bar .fusion-imageframe img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Dimezza lo spazio effettivo tra testata e corpo dell'aggiornamento. */
.single-post #main {
	padding-top: 7.5px;
}

.single-post .post-content > .fusion-fullwidth:first-child {
	padding-top: 7.5px;
}

/* Uniforma la condivisione social di post e razze a quella dei singoli eventi. */
:is(.single-post, .single-aivpafe_breed) .fusion-sharing-box:has(.sharingbox-shortcode-icon-wrapper) {
	display: flex;
	align-items: center;
	justify-content: flex-end !important;
	gap: 28px;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent !important;
	box-shadow: none;
}

:is(.single-post, .single-aivpafe_breed) .fusion-sharing-box:has(.sharingbox-shortcode-icon-wrapper)::before {
	content: 'CONDIVIDI';
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
}

:is(.single-post, .single-aivpafe_breed) .fusion-sharing-box .sharingbox-shortcode-icon-wrapper {
	display: flex;
	flex: 0 0 auto !important;
	align-items: center;
	width: auto !important;
	gap: 5px;
	margin: 0;
}

:is(.single-post, .single-aivpafe_breed) .fusion-sharing-box .fusion-social-network-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 5px !important;
	border-radius: 50%;
	background: var(--awb-color3) !important;
	color: #29256d !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

:is(.single-post, .single-aivpafe_breed) .fusion-sharing-box .fusion-social-network-icon:hover,
:is(.single-post, .single-aivpafe_breed) .fusion-sharing-box .fusion-social-network-icon:focus {
	background: #29256d2e !important;
	color: #29256d !important;
}

/*
 * Centra le colonne contrassegnate anche nelle righe Avada prive
 * dell'allineamento fusion-flex-justify-content-center.
 */
.single-post .fusion-layout-column.aivpafe-full-width-1280,
.single-post .fusion_builder_column.aivpafe-full-width-1280,
.single-post .aivpafe-full-width-1280 > .fusion-builder-row > .fusion-layout-column,
.single-post .aivpafe-full-width-1280 > .fusion-builder-row > .fusion_builder_column {
	margin-right: auto !important;
	margin-left: auto !important;
}

/*
 * Su desktop limita l'immagine in evidenza all'80% del contenitore,
 * mantenendola piu ampia della colonna del corpo dell'articolo.
 */
@media only screen and (min-width: 1281px) {
	.single-post .fusion-layout-column.aivpafe-full-width-1280:has(> .fusion-column-wrapper .fusion-image-element),
	.single-post .fusion_builder_column.aivpafe-full-width-1280:has(> .fusion-column-wrapper .fusion-image-element) {
		--awb-width-large: 80% !important;
		width: 80% !important;
		max-width: 80% !important;
		flex-basis: 80% !important;
	}
}

/* Porta a tutta larghezza le colonne dei container contrassegnati fino a 1280px. */
@media only screen and (max-width: 1280px) {
	.single-post .fusion-layout-column.aivpafe-full-width-1280,
	.single-post .fusion_builder_column.aivpafe-full-width-1280,
	.single-post .aivpafe-full-width-1280 > .fusion-builder-row > .fusion-layout-column,
	.single-post .aivpafe-full-width-1280 > .fusion-builder-row > .fusion_builder_column {
		--awb-width-large: 100% !important;
		--awb-width-medium: 100% !important;
		--awb-width-small: 100% !important;
		--awb-col-width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	/*
	 * La colonna nasce al 60% con spacing 3.2%: quando viene portata al 100%
	 * usa lo spacing 1.92% delle colonne full-width e del blocco correlati.
	 */
	.single-post .fusion-layout-column.aivpafe-full-width-1280 > .fusion-column-wrapper,
	.single-post .fusion_builder_column.aivpafe-full-width-1280 > .fusion-column-wrapper,
	.single-post .aivpafe-full-width-1280 > .fusion-builder-row > .fusion-layout-column > .fusion-column-wrapper,
	.single-post .aivpafe-full-width-1280 > .fusion-builder-row > .fusion_builder_column > .fusion-column-wrapper {
		margin-right: 1.92% !important;
		margin-left: 1.92% !important;
	}
}

/*
 * Nei post Galleria conserva anche dentro le colonne a tutta larghezza il
 * secondo livello di gutter usato dalla testata fotografica. I post standard
 * mantengono invece il gutter mobile generale di 15px, come i relativi archivi.
 */
@media only screen and (max-width: 800px) {
	.single-post.single-format-gallery .fusion-layout-column.aivpafe-full-width-1280 > .fusion-column-wrapper,
	.single-post.single-format-gallery .fusion_builder_column.aivpafe-full-width-1280 > .fusion-column-wrapper {
		padding-right: var(--aivpafe-page-horizontal-spacing);
		padding-left: var(--aivpafe-page-horizontal-spacing);
	}

	/* Allinea le testate al gutter del corpo di articoli, eventi e razze. */
	.single-post.single-format-standard .fusion-page-title-bar > .fusion-fullwidth,
	.single-tribe_events .fusion-page-title-bar > .fusion-fullwidth,
	.single-aivpafe_breed .fusion-page-title-bar > .fusion-fullwidth {
		padding-right: var(--aivpafe-page-horizontal-spacing) !important;
		padding-left: var(--aivpafe-page-horizontal-spacing) !important;
	}
}

@media only screen and (max-width: 767px) {
	.single-post.single-format-gallery .fusion-page-title-bar .fusion-imageframe {
		height: min(70vw, 360px);
	}
}

/* Formato 4:3 per le immagini degli aggiornamenti recenti in home page. */
.home .fusion-recent-posts .fusion-flexslider .slides {
	height: auto !important;
	aspect-ratio: 4 / 3;
}

.home .fusion-recent-posts .fusion-flexslider .slides li {
	height: 100%;
}

/* Mostra l'immagine per intero, senza tagli né deformazioni. */
.home .fusion-recent-posts .fusion-flexslider img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

/* campo meta */
.fusion-recent-posts .recent-posts-content {
	display: flex;
	flex-direction: column;
}

.fusion-recent-posts .recent-posts-content .meta {
	order: -1;
	margin: 14px 0 10px;
	font-size: 13px;
	font-weight: 600;
	color: #d71920;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.fusion-recent-posts .recent-posts-content .entry-title {
	margin: 0;
}

/* Replica in home il rientro dei titoli usato nelle card archivio e related. */
.home .fusion-recent-posts .recent-posts-content .entry-title {
	padding-right: 30px;
	padding-left: 30px;
}

/* Mostra le categorie sotto il titolo, come nelle card dell'archivio. */
.home .fusion-recent-posts .recent-posts-content .meta {
	order: initial;
	align-self: stretch;
	margin: 4px 0 0;
	padding: 0 30px !important;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
	text-transform: none;
}

.home .fusion-recent-posts .recent-posts-content .meta a {
	color: inherit;
	text-decoration: underline;
}

@media only screen and (max-width: 640px) {
	.home .fusion-recent-posts .recent-posts-content .entry-title,
	.home .fusion-recent-posts .recent-posts-content .meta {
		padding-right: 20px;
		padding-left: 20px;
	}
}

.fusion-recent-posts .recent-posts-content .meta {
	order: -1;
	display: inline-block;
	align-self: flex-start;
	margin: 14px 0 12px;
	padding: 4px 10px !important;
	background: var(--awb-color3);
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	color: #29256d;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* Limita l'altezza del logo principale nell'header. */
.fusion-image-element a[aria-label="aivpafe-logo-semplice-2025b"] img {
	width: auto;
	height: auto;
	max-height: 120px;
	margin-top:10px;
	margin-bottom:10px;
}

@media only screen and (max-width: 767px) {
	.fusion-image-element a[aria-label="aivpafe-logo-semplice-2025b"] img {
		max-height: 110px;
		margin-top: 10px;
		margin-bottom: 10px;
	}
}

/* Spaziatura orizzontale condivisa tra contenuto e barra principale mobile. */
:root {
	--aivpafe-page-horizontal-spacing: 15px;
	--aivpafe-footer-horizontal-spacing: 20px;
}

/* In fascia Medium il footer segue il gutter da 30px del contenuto Avada. */
@media only screen and (min-width: 801px) and (max-width: 1160px) {
	:root {
		--aivpafe-footer-horizontal-spacing: 30px;
	}
}

html:not(.avada-has-site-width-percent) body .fusion-footer-copyright-area,
html:not(.avada-has-site-width-percent) body .fusion-footer:not(.fusion-tb-footer) .fusion-footer-widget-area {
	padding-left: var(--aivpafe-footer-horizontal-spacing);
	padding-right: var(--aivpafe-footer-horizontal-spacing);
}

html:not(.avada-has-site-width-percent) body .fusion-sliding-bar-position-bottom .fusion-sliding-bar,
html:not(.avada-has-site-width-percent) body .fusion-sliding-bar-position-top .fusion-sliding-bar {
	padding-left: var(--aivpafe-page-horizontal-spacing);
	padding-right: var(--aivpafe-page-horizontal-spacing);
}

/*
 * Sugli schermi Small di Avada allinea il contenuto al gutter dell'header.
 */
@media only screen and (max-width: 800px) {
	body main {
		padding-left: var(--aivpafe-page-horizontal-spacing) !important;
		padding-right: var(--aivpafe-page-horizontal-spacing) !important;
	}
}

/*
 * Nei footer creati con Avada Layouts applica lo spacing ai container con
 * lo sfondo, evitando spallette bianche sul contenitore esterno.
 */
body .fusion-footer.fusion-tb-footer .fusion-footer-widget-area > .fusion-fullwidth {
	padding-left: var(--aivpafe-footer-horizontal-spacing);
	padding-right: var(--aivpafe-footer-horizontal-spacing);
}

/*
 * Footer mobile/tablet: uniforma il gutter della colonna Navigazione alle
 * altre colonne, sostituendo il margine fisso impostato nell'Avada Layout.
 */
@media only screen and (max-width: 1280px) {
	.fusion-footer .fusion-column-wrapper:has(#menu-footer) {
		margin-right: 2% !important;
		margin-left: 2% !important;
	}
}

/* Evita che Avada raddoppi il padding dei pulsanti nel footer responsive. */
@media only screen and (max-width: 1160px) {
	.fusion-footer .fusion-button {
		padding: 9px 20px !important;
	}
}

/* Uniforma in mobile lo spazio sotto i titoli delle colonne del footer. */
@media only screen and (max-width: 767px) {
	.fusion-footer .fusion-title:has(+ .awb-menu),
	.fusion-footer .fusion-title:has(+ .fusion-social-links) {
		margin-bottom: 15px !important;
	}
}

/* Contenitore menu principale mobile. */
@media only screen and (max-width: 800px) {
	.aivpafe-main-header-mobile {
		margin: var(--aivpafe-page-horizontal-spacing);
	}
}

/* In fascia Medium allinea i bordi della barra al gutter da 30px del main. */
@media only screen and (min-width: 801px) and (max-width: 1160px) {
	.aivpafe-main-header-mobile {
		margin-right: 30px;
		margin-left: 30px;
	}
}

/* Evidenzia le voci di primo livello del menu principale. */
.fusion-tb-header .awb-menu__main-a {
	font-weight: 700 !important;
}

/*
 * Header desktop: dispone social e pulsante sulla stessa riga e li allinea
 * al margine destro della colonna; il menu rimane sulla riga sottostante.
 */
@media only screen and (min-width: 1161px) {
	.aivpafe-main-header-desktop .fusion-column-wrapper:has(> .fusion-social-links) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto;
		column-gap: 20px;
		align-items: center;
		box-sizing: border-box;
		width: calc(100% + 8px);
		padding-top: 12px;
	}

	.aivpafe-main-header-desktop .fusion-column-wrapper > div:has(+ .fusion-social-links) {
		grid-column: 1;
		justify-self: end;
		position: relative;
		top: 5px;
	}

	.aivpafe-main-header-desktop .fusion-column-wrapper > .fusion-social-links {
		grid-column: 2;
		justify-self: end;
		position: relative;
		top: 5px;
		width: auto;
	}

	.aivpafe-main-header-desktop .fusion-social-links .fusion-social-networks-wrapper {
		display: flex;
		gap: 0;
		margin: 0;
	}

	.aivpafe-main-header-desktop .fusion-social-links .fusion-social-network-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		margin: 0;
		border-radius: 50%;
		background-color: #e8ebef;
	}

	.aivpafe-main-header-desktop .fusion-social-links .fusion-social-network-icon:hover,
	.aivpafe-main-header-desktop .fusion-social-links .fusion-social-network-icon:focus-visible {
		background-color: #f9fafb;
	}

	.aivpafe-main-header-desktop .fusion-column-wrapper > .fusion-social-links + div {
		grid-column: 3;
		justify-self: end;
		position: relative;
		top: 5px;
	}

	.aivpafe-main-header-desktop .fusion-column-wrapper > .fusion-social-links ~ .awb-menu {
		grid-column: 1 / -1;
	}
}

/*
 * Header mobile/tablet: mantiene il pulsante socio accanto all'hamburger e
 * mostra newsletter e social nell'area iniziale del menu aperto.
 */
@media only screen and (max-width: 1160px) {
	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .fusion-social-links) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto;
		column-gap: 12px;
		align-items: center;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper > div:has(+ .fusion-social-links),
	.aivpafe-main-header-mobile .fusion-column-wrapper > .fusion-social-links {
		display: none;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper > .fusion-social-links + div {
		grid-column: 2;
		justify-self: end;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper > .fusion-social-links + div .fusion-button.button-4 {
		min-width: 0;
		padding: 8px 12px !important;
		font-size: 12px;
		line-height: 1.2;
		white-space: nowrap;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper > .awb-menu {
		grid-column: 3;
		justify-self: end;
		width: auto;
		padding-right: 20px;
	}

	.aivpafe-main-header-mobile .awb-menu__m-toggle {
		box-sizing: border-box;
		width: 56px;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .awb-menu.expanded) > div:has(+ .fusion-social-links) {
		display: block;
		position: absolute;
		z-index: 2001;
		top: calc(100% + 46px);
		left: calc(100% - 100vw + 30px);
		width: calc(100vw - 30px);
		text-align: center;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .awb-menu.expanded) > .fusion-social-links {
		display: block;
		position: absolute;
		z-index: 2001;
		top: calc(100% + 101px);
		left: calc(100% - 100vw + 30px);
		width: calc(100vw - 30px);
		text-align: center;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .awb-menu.expanded) .fusion-button.button-3 {
		position: relative;
		z-index: 2002 !important;
		margin-top: 15px;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .awb-menu.expanded) > .fusion-social-links-2 {
		z-index: 2002 !important;
		box-sizing: border-box;
		padding-top: 10px;
	}

	.aivpafe-main-header-mobile .fusion-social-links-2 .fusion-social-networks.color-type-custom {
		margin-top: 20px;
	}

	.aivpafe-main-header-mobile .fusion-social-links-2 .fusion-social-networks-wrapper {
		display: flex;
		justify-content: center;
		gap: 16px;
		margin: 0;
	}

	.aivpafe-main-header-mobile .fusion-social-links-2 .fusion-social-network-icon {
		margin: 0;
	}

	.aivpafe-main-header-mobile .awb-menu.expanded > .awb-menu__main-ul {
		z-index: 1 !important;
		box-sizing: border-box;
		padding-top: 115px !important;
	}
}

/* Compatta le azioni dell'header sugli schermi mobile più stretti. */
@media only screen and (max-width: 480px) {
	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .fusion-social-links) {
		grid-template-columns: auto auto;
		column-gap: 6px;
		justify-content: end;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper > .fusion-social-links + div {
		grid-column: 1;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper > .fusion-social-links + div .fusion-button.button-4 {
		padding: 6px 9px !important;
		font-size: 11px;
	}

	.aivpafe-main-header-mobile .fusion-column-wrapper > .awb-menu {
		grid-column: 2;
	}

	.aivpafe-main-header-mobile .awb-menu__m-toggle {
		width: 52px;
	}
}

@media only screen and (max-width: 1160px) {
	/* Disattiva l'evidenziazione azzurra nativa applicata dal browser al tap. */
	.aivpafe-main-header-mobile .awb-menu a,
	.aivpafe-main-header-mobile .awb-menu button {
		-webkit-tap-highlight-color: transparent;
	}

	.aivpafe-main-header-mobile .awb-menu.expanded > .awb-menu__main-ul {
		left: calc(100% - 100vw + 30px) !important;
		width: calc(100vw - 30px) !important;
		margin-top: calc(var(--awb-mobile-nav-trigger-bottom-margin) + 20px) !important;
		overflow: hidden !important;
		border-radius: 10px !important;
		background-clip: padding-box;
		box-shadow: 0 14px 24px -8px rgba(41, 37, 109, 0.4);
	}

	/* Mantiene i sottomenu più chiari rispetto al menu principale. */
	.aivpafe-main-header-mobile .awb-menu.collapse-enabled .awb-menu__sub-ul,
	.aivpafe-main-header-mobile .awb-menu.collapse-enabled .awb-menu__sub-li,
	.aivpafe-main-header-mobile .awb-menu.collapse-enabled .awb-menu__sub-li > .awb-menu__sub-a,
	.aivpafe-main-header-mobile .awb-menu.collapse-enabled .awb-menu__sub-li > .awb-menu__open-nav-submenu_sub {
		background: #fff !important;
		background-color: #fff !important;
	}

	.aivpafe-main-header-mobile .awb-menu.collapse-enabled .awb-menu__sub-li > .awb-menu__sub-a {
		font-size: 16px !important;
	}

}

/* Allinea il pannello aperto al gutter da 30px della fascia Medium. */
@media only screen and (min-width: 801px) and (max-width: 1160px) {
	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .awb-menu.expanded) > div:has(+ .fusion-social-links),
	.aivpafe-main-header-mobile .fusion-column-wrapper:has(> .awb-menu.expanded) > .fusion-social-links {
		right: 1.92%;
		left: auto;
		width: calc(100vw - 60px);
	}

	.aivpafe-main-header-mobile .awb-menu.expanded > .awb-menu__main-ul {
		right: 0 !important;
		left: auto !important;
		width: calc(100vw - 60px) !important;
	}
}

/* Elenco di navigazione nel footer. */
.fusion-footer #menu-footer > .menu-item > .awb-menu__main-a::before {
	content: '';
	flex: 0 0 5px;
	width: 5px;
	height: 5px;
	margin-right: 10px;
	border-radius: 50%;
	background-color: currentColor;
}

/* Evita che hover e voce attiva del footer ereditino il rosso globale di Avada. */
.fusion-footer #menu-footer {
	--awb-active-color: var(--link_color, #f9fafb);
}

.fusion-footer a:not(.fusion-button):hover,
.fusion-footer a:not(.fusion-button):focus,
.fusion-footer .current-menu-item > .awb-menu__main-a,
.fusion-footer .current-menu-ancestor > .awb-menu__main-a {
	color: var(--link_color, #f9fafb) !important;
}

/*
 * Mostra il comando per le impostazioni dei cookie come gli altri link
 * testuali del footer, senza modificare il pulsante presente nel banner.
 */
.fusion-footer a.cli_settings_button {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--link_color) !important;
	font: inherit !important;
	line-height: inherit !important;
	text-decoration: underline !important;
}

/* Pagina Rassegna: archivio storico de La Rassegna di Medicina Felina. */
.aivpafe-rassegna-archive {
	display: grid;
	gap: 36px;
}

.aivpafe-rassegna-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px;
}

.aivpafe-rassegna-grid--featured {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.aivpafe-rassegna-year {
	display: grid;
	gap: 28px 24px;
}

.aivpafe-rassegna-year::before {
	content: attr(data-year);
	grid-column: 1 / -1;
	padding-bottom: 10px;
	border-bottom: 1px solid #dfe1e8;
	color: #29256d;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

.aivpafe-rassegna-year--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.aivpafe-rassegna-year--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aivpafe-rassegna-item {
	margin: 0;
}

.aivpafe-rassegna-link {
	display: block;
	color: inherit;
	text-decoration: none !important;
}

.aivpafe-rassegna-link:hover,
.aivpafe-rassegna-link:focus {
	text-decoration: none !important;
}

.aivpafe-rassegna-cover {
	display: block;
	width: 100%;
	height: auto;
	border: 0;
	border-radius: 4px 4px 0 0;
	box-shadow: 0 8px 20px rgba(35, 31, 94, 0.12);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.aivpafe-rassegna-link:hover .aivpafe-rassegna-cover,
.aivpafe-rassegna-link:focus .aivpafe-rassegna-cover {
	box-shadow: 0 12px 26px rgba(35, 31, 94, 0.18);
	transform: translateY(-3px);
}

.aivpafe-rassegna-label {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
	margin-top: 0;
	padding: 10px 12px;
	border: 1px solid #eceef2;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	background: #fafafa;
	color: #29256d;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none !important;
	text-transform: uppercase;
}

.aivpafe-rassegna-label::after {
	content: 'Apri PDF';
	margin-left: auto;
	padding: 3px 7px;
	border-radius: 20px;
	background: #d71920;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: none;
}

@media only screen and (max-width: 900px) {
	.aivpafe-rassegna-year--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 767px) {
	.aivpafe-rassegna-year--3 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media only screen and (max-width: 520px) {
	.aivpafe-rassegna-grid--featured {
		grid-template-columns: minmax(0, 1fr);
	}

	.aivpafe-rassegna-year {
		gap: 20px 12px;
	}

	.aivpafe-rassegna-year::before {
		font-size: 21px;
	}
}

/*
 * Articoli correlati nei singoli aggiornamenti: stessa resa 4:3 delle card
 * in home, senza ritaglio dell'immagine e senza data di pubblicazione.
 */
.single-post .fusion-related-tb > .fusion-title {
	position: relative;
	margin-bottom: 32px !important;
	padding-bottom: 12px;
	border-bottom: 1px solid #dfe1e8;
}

.single-post .fusion-related-tb > .fusion-title::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 72px;
	height: 3px;
	background: #29256d;
	content: '';
}

.single-post .fusion-related-tb > .fusion-title > :is(h1, h2, h3, h4, h5, h6) {
	margin: 0 !important;
}

.single-post .fusion-related-tb .fusion-image-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
	background: #f3f3f6;
}

.single-post .fusion-related-tb .fusion-image-wrapper img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	object-position: center;
}

.single-post .fusion-related-tb .fusion-carousel-title {
	padding-right: 30px;
	padding-left: 30px;
}

.single-post .fusion-related-tb .aivpafe-related-categories {
	box-sizing: border-box;
	width: 100%;
	padding-right: 30px;
	padding-left: 30px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
}

.single-post .fusion-related-tb .aivpafe-related-categories a {
	color: inherit;
	text-decoration: underline;
}

.single-post .fusion-related-tb .fusion-carousel-meta {
	display: none !important;
}

/* Nasconde sempre i controlli di navigazione disabilitati nel Related Posts. */
.single-post .fusion-related-tb .awb-swiper-button-prev,
.single-post .fusion-related-tb .awb-swiper-button-next {
	display: none !important;
}

/*
 * Mantiene tre spazi di colonna su desktop anche quando i correlati sono
 * meno di tre, neutralizzando la larghezza inline calcolata da Swiper.
 */
@media only screen and (min-width: 768px) {
	.single-post .fusion-related-tb .awb-swiper .swiper-slide {
		flex: 0 0 calc((100% - var(--awb-column-spacing) - var(--awb-column-spacing)) / 3);
		width: calc((100% - var(--awb-column-spacing) - var(--awb-column-spacing)) / 3) !important;
		max-width: calc((100% - var(--awb-column-spacing) - var(--awb-column-spacing)) / 3);
	}
}

/*
 * Come i post recenti in home, sotto i 768px le card correlate diventano
 * una lista a colonna singola anziché restare affiancate nello slider.
 */
@media only screen and (max-width: 767px) {
	.single-post .fusion-related-tb .awb-swiper .swiper-wrapper {
		display: flex;
		flex-direction: column;
		gap: 0;
		height: auto !important;
		transform: none !important;
	}

	.single-post .fusion-related-tb .awb-swiper .swiper-slide {
		flex: 0 0 auto;
		width: 100% !important;
		max-width: 100%;
		margin-right: 0 !important;
		margin-bottom: 60px !important;
	}
}

@media only screen and (max-width: 640px) {
	.single-post .fusion-related-tb .fusion-carousel-title,
	.single-post .fusion-related-tb .aivpafe-related-categories {
		padding-right: 20px;
		padding-left: 20px;
	}
}

/*
 * Spazio iniziale uniforme per tutte le pagine, incluse quelle realizzate
 * con Avada Builder e le nuove pagine create in futuro.
 */
body.page #content .post-content {
	padding-top: 40px;
}

/*
 * Mantiene il testo degli elenchi allineato ai paragrafi e dispone i pallini
 * all'esterno, nel gutter. Sono esclusi gli elenchi con classi, usati da menu
 * e componenti di Avada o dei plugin.
 */
:is(.post-content, .fusion-content-tb, .entry-content) ul:not([class]) {
	margin-inline-start: 0;
	padding-inline-start: 1.25em;
	list-style-position: outside;
}

:is(.post-content, .fusion-content-tb, .entry-content) ul:not([class]) > li {
	margin-inline-start: 0;
}

@media only screen and (max-width: 767px) {
	body.page #content .post-content {
		padding-top: 28px;
	}
}

/* ==========================================================================
   Card pagamento PayPal - pagina Diventa socio
   Classe Avada da assegnare manualmente alle colonne: aivpafe-card-payment
   ========================================================================== */

.aivpafe-card-payment > .fusion-column-wrapper {
	flex-flow: column nowrap !important;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	height: 100%;
	text-align: center;
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.aivpafe-card-payment > .fusion-column-wrapper:hover {
	box-shadow: 0 10px 28px rgba(50, 40, 111, 0.12);
	transform: translateY(-3px);
}

.aivpafe-card-payment .fusion-title {
	width: 100%;
	margin-bottom: 12px;
}

.aivpafe-card-payment .fusion-text {
	width: 100%;
	margin-bottom: 24px;
}

.aivpafe-card-payment .fusion-text > p {
	margin: 0 0 20px;
}

.aivpafe-card-payment .fusion-text > p strong {
	display: block;
	margin-top: 6px;
	color: #32286f;
	font-size: clamp(28px, 2.4vw, 36px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.aivpafe-card-payment .fusion-text > p strong small {
	display: inline-block;
	margin-left: 0.1em;
	font-size: 0.55em;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	vertical-align: baseline;
}

.aivpafe-card-payment form {
	width: 100%;
	margin: 0;
}

/* Nasconde le interruzioni di riga aggiunte dall'editor agli input nascosti. */
.aivpafe-card-payment form > br {
	display: none;
}

.aivpafe-card-payment form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 220px;
	min-height: 50px;
	margin: 0;
	padding: 14px 28px;
	color: #003087;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	background-color: #ffc439;
	border: 0;
	border-radius: 32px;
	box-shadow: none;
	transition:
		background-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.aivpafe-card-payment form button[type="submit"]:hover {
	background-color: #f2ba36;
	box-shadow: 0 5px 14px rgba(0, 48, 135, 0.18);
	transform: translateY(-1px);
}

.aivpafe-card-payment form button[type="submit"]:focus-visible {
	outline: 3px solid rgba(0, 48, 135, 0.35);
	outline-offset: 3px;
}

.aivpafe-card-payment > .fusion-column-wrapper > :last-child {
	margin-top: auto;
}

@media only screen and (max-width: 767px) {
	.aivpafe-card-payment > .fusion-column-wrapper {
		padding: 28px 24px;
	}
}

/* Fine card pagamento PayPal. */

/* ========================================================================== 
   Didascalie degli elementi Immagine Avada
   ========================================================================== */

.fusion-image-element.awb-imageframe-style-below {
	display: table;
	width: fit-content;
	max-width: 100%;
}

.fusion-image-element.awb-imageframe-style-below > .awb-imageframe-caption-container {
	display: table-caption;
	box-sizing: border-box;
	width: auto;
	margin: 0 0 24px;
	padding: 10px 14px;
	caption-side: bottom;
	color: var(--body_typography-color, inherit);
	font-family: var(--body_typography-font-family, Arial, Helvetica, sans-serif);
	font-size: 15px;
	font-style: normal;
	line-height: 1.45;
	background: var(--awb-color2, #f4f4f4);
	border-left: 3px solid var(--awb-color3, #d4d4d4);
}

.fusion-image-element.awb-imageframe-style-below .awb-imageframe-caption-title {
	display: none;
}

.fusion-image-element.awb-imageframe-style-below .awb-imageframe-caption-text {
	margin: 0;
	margin-top: 0 !important;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	line-height: inherit;
	white-space: pre-line;
}

.fusion-image-element.awb-imageframe-style-below .aivpafe-avada-image-description {
	display: block;
	margin-top: 3px;
	font-size: 0.875em;
	font-style: italic;
}

/* Fine didascalie degli elementi Immagine Avada. */

