@charset "UTF-8";h3.section-title {
  
  color: var(--primary-dark) !important; 
 font-family: var(--font-family-heading);
  font-size: var(--font-size-xl);
  
  margin-bottom: 20px;
  position: relative;
  padding-left: 15px;
  border-left: 4px solid var(--primary);
  letter-spacing: 1px;
  
}

:root{
    --ttd-text: var(--bs-body-color, var(--text-color, #111827));
    --ttd-border: var(--bs-border-color, rgba(17,24,39,.12));
    --ttd-radius: var(--bs-border-radius, 12px);
  }

  .ttd-areas{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:10px; /* compatto */
  }

  .ttd-area{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    
    padding:12px 10px;    /* compatto */
    min-height:60px;      /* compatto ma uniforme */
    border:1px solid var(--ttd-border);
    border-radius: var(--ttd-radius);
    background: var(--bs-body-bg, transparent);
    color: #142864;

    font: inherit;        /* prende font/typography dalla home */
    font-weight: 700;
    font-size: 18px;
    line-height: 1.15;

    text-decoration:none;
    transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
  }

  .ttd-area:hover{
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--ttd-primary) 45%, var(--ttd-border));
    background-color: color-mix(in srgb, var(--ttd-primary) 10%, transparent);
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
  }

  .ttd-area:focus-visible{
    outline: 3px solid color-mix(in srgb, var(--ttd-primary) 45%, transparent);
    outline-offset: 2px;
  }

  /* Mobile: 1 colonna */
  @media (max-width: 640px) {
    .ttd-areas{ grid-template-columns: 1fr; }
    .ttd-area{ font-size: 18px; min-height: 56px; }
  }


.bg-primary.py-1.py-sm-2.px-3.px-sm-5 {
  font-size: 50px !important;
}

.field_checkbox.field.holder {
  margin-left: -20px;
}

#rsepro-event-hits {
  display: none;
}

.item-pageno-desc .article-meta-description {
display: none !important;
}

.no-meta-desc .article-meta-description {
display: none !important;
}

.kw2col-list {
	/* 2 colonne più larghe */
	columns: 2 18rem; /* 2 colonne, target width più ampia */
	column-gap: 2rem; /* più spazio tra le colonne */

	margin: 0;
	padding: 0; /* niente padding default */
	list-style-position: outside;
}

.kw2col-list li {
	break-inside: avoid;
	-webkit-column-break-inside: avoid;

	/* bullet “fuori” e testo allineato a sinistra */
	margin: 0 0 0.25rem 0;
	padding-left: 0;
	list-style-type: disc;
	text-align: left;
}

.owl-nav {
	display: none;
}

@media (max-width: 480px) {
	#rsepro_blocked_msg {
		font-size: 20px !important;
		line-height: 1.5;
	}
}

.agenda_istituzionale .rs_rss {
	display: none !important;
}

@media (max-width: 767px) {
	#menu-carousel {
		position: relative;
		padding-right: 30px; /* un filo più spazio */
	}

	#menu-carousel::after {
		content: "›";
		position: absolute;
		right: 4px; /* più a destra (prima era 8px) */
		top: 45%; /* più in alto (prima 50%) */
		transform: translateY(-50%);
		z-index: 10;
		pointer-events: none;

		font-size: 30px;
		line-height: 1;
		color: #fff;
		opacity: 0.75;

		animation: menuCarouselArrow 1.2s ease-in-out infinite;
	}

	@keyframes menuCarouselArrow {
		0%,
		100% {
			transform: translateY(-50%) translateX(0);
			opacity: 0.45;
		}
		50% {
			transform: translateY(-50%) translateX(6px);
			opacity: 0.95;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		#menu-carousel::after {
			animation: none;
		}
	}
}

.article-content {
	border: none !important;
	border-radius: 0 !important;
}

/* Disabilita width:100% SOLO per questi checkbox */
#form-validation-field-0 input[type="checkbox"],
#subscribe_to_newsletter,
#osm-accept-terms-conditions {
	width: auto !important;
	max-width: none !important;
}

/* Il form in colonna (necessario per usare order) */
#os_form {
	display: flex !important;
	flex-direction: column !important;
}

/* (opzionale ma utile) i blocchi "row" restano larghi 100% */
#os_form > .row,
#os_form > .form-actions {
	width: 100%;
}

/* INVERSIONE mantenendoli in fondo:
   1) osm-accept-terms-conditions
   2) subscribe_to_newsletter
   e poi il bottone */
#os_form > .osm-terms-and-conditions-container {
	order: 1 !important;
}

#os_form > .osm-subscribe-to-newsletter-container {
	order: 2 !important;
}

/* Il submit deve stare dopo entrambi */
#os_form > .form-actions {
	order: 3 !important;
}

.card-body {
	background-color: #fff;
}

#rsepro-counter-container {
	display: none;
}
#rsepro-close-popup-btn {
	background-color: #000;
	color: #fff;
}
#rsepro-close-btn {
	display: none;
}

/* Bottone register */

.other-links li.register a,
.other-links li.register a:hover,
.other-links li.register a:focus {
	display: block;
	width: 100%;
	text-transform: uppercase;
	padding: 10px;
	border-radius: 3px;
	font-size: 16px;
	font-weight: 600;
	background-color: #177baf;
	color: #fff !important;
	text-decoration: none;
}

.register {
	color: #fff !important;
	background-color: #177baf;
	width: 100%;
	text-transform: uppercase;
	padding: 10px 20px;
	border-radius: 3px;
	font-size: 20px;
	font-weight: 600;
}

/* Hover */
.register:hover {
	color: #fff !important;
	background-color: #177baf;
}

/* Nasconde la sidebar */
.col-md-3.pr-md-0 {
	display: none !important;
}

/* Forza .tab-content a occupare tutta la larghezza e a essere centrato */
.tab-content {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	float: none !important;
}

/* Fallback: quando la sidebar è nascosta, espandi la colonna principale */
.col-md-9 {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

/* Margine a sinistra del blocco iscrizione */
#osm-signup-page {
	margin-left: 12px; /* puoi aumentare/ridurre a gusto */
}
/* ==================================
   1.1 VARIABILI CSS ROOT (CUSTOM PROPERTIES)
   ================================== */

.chi_siamo .article-meta-description {
	display: none;
}

.chronocredits {
	display: none !important;
}

.agenda_istituzionale .immagine {
	width: 30% !important;
}

:root {
	/* Colori primari */
	--primary-color: #397ee1;
	--primary-dark: #002366;
	--primary-darker: #004085;
	--primary-light: rgba(0, 123, 255, 0.1);

	/* Colori secondari */
	--secondary-color: #adbfd6;
	--success-color: #28a745;
	--success-light: #20c997;
	--danger-color: #dc3545;
	--warning-color: #ffc107;
	--info-color: #17a2b8;

	/* Colori di sfondo */
	--bg-primary: var(--primary-color);
	--bg-primary-dark: var(--primary-dark);
	--bg-secondary: var(--secondary-color);
	--bg-white: var(--white-color);
	--bg-light: var(--secondary-color);
	--bg-dark: var(--primary-dark);

	/* Colori testo */
	--text-primary: #081a34;
	--text-primary-dark: #002366;
	--text-secondary: #b8cbe1;
	--text-muted: #495057;
	--text-light: #ffffff;

	/* Bordi */
	--border-color: var(--primary-dark);
	--border-light: #e9ecef;
	--border-radius: 8px;
	--border-radius-sm: 5px;

	--border-radius-lg: 12px;
	--border-radius-xl: 15px;
	--border-radius-pill: 100px;

	/* Spaziature */
	--spacing-xs: 5px;
	--spacing-sm: 8px;
	--spacing-md: 12px;
	--spacing-lg: 18px;
	--spacing-xl: 20px;
	--spacing-xxl: 25px;
	--spacing-xxxl: 5em;

	--grid-gap: 2em;

	/* Font */
	--font-family:
		"Roboto Flex", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI",
		system-ui, sans-serif;
	--font-family-heading:
		"Roboto Flex", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI",
		system-ui, sans-serif;
	--font-size-xs: clamp(0.65rem, 1vw, 0.75rem);
	--font-size-sm: clamp(1.4rem, 2vw, 1.6rem);
	--font-size-base: clamp(1.2rem, 2.5vw, 1.3rem);
	--font-size-md: clamp(1.5rem, 3vw, 1.9rem);
	--font-size-lg: clamp(2rem, 4vw, 2.3rem);
	--font-size-xl: clamp(2.3rem, 6vw, 3rem);
	--font-size-xxl: clamp(2.5rem, 6vw, 6rem);
	--font-weight-thin: 100;
	--font-weight-light: 300;
	--font-weight-normal: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-extrabold: 800;
	--font-weight-black: 900;

	/* Z-index */
	--z-dropdown: 10;
	--z-sticky: 20;
	--z-fixed: 30;
	--z-modal: 40;
	--z-popover: 50;
	--z-tooltip: 60;

	/* Transizioni */
	--transition-fast: 0.2s ease;
	--transition-normal: 0.3s ease;
	--transition-slow: 0.5s ease;

	/* Dimensioni contenitori */
	--container-max-width: clamp(
		320px,
		90vw,
		1600px
	); /* Aumentato da 1400px a 1600px per larghezza maggiore */
	--card-max-width: 380px;
	--image-height: 220px;
	--image-height-mobile: 180px;
	--icon-size: 45px;
	--icon-size-mobile: 40px;

	/* Eventi speciali */
	--featured-star-color: #ffd700;
}

/* ==================================
   1.2 RESET E BASICS GLOBALI
   ================================== */

/* Applicazione globale del font Roboto Flex */
html,
body {
	font-family: var(--font-family);
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings:
		"slnt" 0,
		"wdth" 100,
		"GRAD" 0,
		"XTRA" 468,
		"XOPQ" 96,
		"YOPQ" 79,
		"YTLC" 514,
		"YTUC" 712,
		"YTAS" 750,
		"YTDE" -203,
		"YTFI" 738;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	color: var(--primary-dark) !important;
}

/*---------- NON TOCCARE - INIZIO
   (necessario per corretto funzionamento del template JA Directory)
   ----------------------------------*/

/* Nascondi lo slideshow SOLO nelle pagine di dettaglio evento */
html.com_rseventspro.view-rseventspro.layout-show .t3-slideshow {
	display: none !important;
}

@media only screen and (min-width: 992px) {
	.btn.btn-primary.off-canvas-toggle {
		display: none;
	}
}

@media (width >= 992px) {
	.com_rseventspro .navbar-expand-lg .navbar-toggler {
		display: none;
	}

	.com_rseventspro .navbar-expand-lg .navbar-collapse {
		flex-basis: auto;
		-webkit-display: flex !important;
		display: flex !important;
	}

	.com_rseventspro .navbar-expand-lg .navbar-nav {
		flex-direction: row;
		-webkit-display: flex;
		display: flex;
	}

	.com_rseventspro .navbar-expand-lg .navbar-nav > li > a {
		line-height: 40px;
	}
}

/*END- NON TOCCARE*/

/* ==================================
   HEADER CATEGORIA EVENTI - TITOLO E PULSANTE
   ================================== */

/* Contenitore header categoria */
.rsepro-category-header {
	-webkit-display: flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: var(--spacing-lg);
	padding-bottom: var(--spacing-md);
	border-bottom: 1px solid var(--border-color);
}

/* Stili comuni per titolo categoria e pulsante "Vedi tutti" */
.rsepro-category-header .rsepro-category-title,
.rsepro-category-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	padding: var(--spacing-sm) var(--spacing-md);
	background: transparent;
	color: var(--primary-dark);
	text-decoration: none;
	border-radius: var(--border-radius-pill);
	font-family: var(--font-family);
	font-size: var(--font-size-md);
	font-weight: var(--font-weight-normal);
	-webkit-transition: all var(--transition-normal);
	transition: all var(--transition-normal);
	border: 1px solid var(--primary-dark);
}

/* Differenza specifica per il titolo categoria */
.rsepro-category-header .rsepro-category-title {
	margin: 0;
}

.rsepro-category-link:hover {
	background: var(--primary-dark);
	-webkit-transform: translateY(-1px);
	transform: translateY(-1px);
	color: var(--text-light);
	text-decoration: none;
}

.rsepro-category-link i {
	font-size: var(--font-size-xs);
	transition: transform var(--transition-normal);
}

.rsepro-category-link:hover i {
	-webkit-transform: translateX(2px);
	transform: translateX(2px);
}

/* Responsive per tablet */
@media (max-width: 991px) {
	.rsepro-category-header {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--spacing-sm);
	}

	.rsepro-category-header .rsepro-category-title {
		font-size: var(--font-size-lg);
	}

	.rsepro-category-link {
		align-self: flex-end;
	}
}

/* Responsive per mobile */
@media (max-width: 767px) {
	.rsepro-category-header {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.rsepro-category-header .rsepro-category-title {
		font-size: var(--font-size-md);
		text-align: center;
	}

	.rsepro-category-link {
		align-self: center;
		-webkit-justify-content: center;
		justify-content: center;
		min-width: 140px;
	}
}

/*-------------------------------------------*/

/* Wrapper principale T3 */
.t3-wrapper {
	background: #f4f6f9 !important;
}

/* ==================================
   MENU, LOGO E BRAND
   ================================== */

.t3-mainnav.navbar-default .navbar-nav {
	-webkit-display: flex;
	display: flex;
	flex-direction: row;
}

/* Menu e navigazione */
.t3-megamenu,
.navbar-nav,
.nav-link {
	font-family: var(--font-family);
	font-weight: var(--font-weight-regular);
	font-size: var(--font-size-md);
	position: relative;
}

.t3-megamenu .mega-nav > li a,
.t3-megamenu .dropdown-menu .mega-nav > li a {
	text-transform: uppercase;
}

/* Logo e brand */
.t3-logo,
.navbar-brand {
	font-family: var(--font-family-heading);
	font-weight: var(--font-weight-bold);
}

/* Logo immagine */
.t3-logo img,
.navbar-brand img,
.logo img {
	max-width: 80% !important;
	height: auto !important;
	max-height: inherit !important;
	object-fit: contain !important; /* Mantiene proporzioni */
}

/* ==================================
   HEADER - SUBNAV
   ================================== */

/* Header principale */
.t3-header {
	padding-top: 26px;
	padding-bottom: 26px;
	background: var(--bg-dark) !important;
	position: relative;
	z-index: 3;
}

/* Header e Subnav come overlay nella home page */
.home-page .t3-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: var(--z-dropdown);
	background: rgba(0, 0, 0, 0) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.369);
}

.home-page .t3-subnav {
	position: absolute;
	top: 120px; /* Altezza approssimativa dell'header */
	left: 0;
	right: 0;
	z-index: 9;
	background: transparent !important;
}

.nav-header {
	color: white !important;
	background-color: var(--primary-color) !important;
	padding: var(--spacing-md) var(--spacing-md) !important;
}

.t3-subnav {
	background: var(--bg-primary) !important;
	font-size: var(--font-size-sm) !important;
	text-transform: uppercase !important;
}

.acm-pricing .pricing-table .row {
	-webkit-display: flex;
	display: flex;
	align-items: stretch;
}

/* Menu e navigazione */
.t3-megamenu,
.navbar-nav,
.nav-link {
	font-family: var(--font-family);
	font-weight: var(--font-weight-regular);
	font-size: var(--font-size-md);
}

.t3-megamenu .mega-nav > li a,
.t3-megamenu .dropdown-menu .mega-nav > li a {
	text-transform: uppercase;
}

/* Logo e brand */
.t3-logo,
.navbar-brand {
	font-family: var(--font-family-heading);
	font-weight: var(--font-weight-bold);
}

/* Logo immagine */
.t3-logo img,
.navbar-brand img,
.logo img {
	max-width: 80% !important;
	height: auto !important;
	max-height: inherit !important;
	object-fit: contain !important; /* Mantiene proporzioni */
}

/* Responsive logo - tablet */
@media (max-width: 991px) {
	.t3-logo,
	.navbar-brand {
		width: 100px;
		max-height: 50px;
	}
}

/* Responsive logo - mobile */
@media (max-width: 767px) {
	.t3-logo,
	.navbar-brand {
		width: 80px;
		max-height: 40px;
	}
}

/* Navbar e dropdown struttura */
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl,
.com_rseventspro .navbar > .container,
.com_rseventspro .navbar > .container-fluid,
.com_rseventspro .navbar > .container-sm,
.com_rseventspro .navbar > .container-md,
.com_rseventspro .navbar > .container-lg,
.com_rseventspro .navbar > .container-xl,
.com_rseventspro .navbar > .container-xxl {
	-webkit-display: flex;
	display: flex;
	-webkit-flex-wrap: inherit;
	flex-wrap: inherit;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	max-width: var(--container-max-width);
	margin: 0 auto;
}

.com_rseventspro .navbar-expand-lg ul.navbar-nav {
	list-style-type: none;
}

.com_rseventspro .navbar-expand-lg .navbar-nav .nav-link {
	padding-right: 0.5rem;
	padding-left: 0.5rem;
}

li#rsepro-filter-from::marker {
	display: none !important;
}

.t3-mainnav .navbar-nav > li > .dropdown-menu {
	position: absolute;
}

.t3-mainnav.navbar-default .navbar-nav {
	-webkit-display: flex;
	display: flex;
	flex-direction: row;
}

/* ==================================
   PULSANTE UTENTE DROPDOWN
   ================================== */

.btn-secondary {
	background: var(--primary-dark) !important;
	color: white !important;
}

/* Pulsante utente principale */
.btn.btn-success.fa.fa-user.dropdown-toggle,
.btn-success.dropdown-toggle {
	background: var(--primary-color) !important;
	border: none;
}

/* Hover effect */
.btn.btn-success.fa.fa-user.dropdown-toggle:hover,
.btn-success.dropdown-toggle:hover {
	background: transparent;
	border: 1px solid var(--bg-light);
	transform: translateY(-1px);
	color: var(--text-light);
	text-decoration: none;
}

/* ==================================
   HERO HOME PAGE
   ================================== */

/* Hero Section Styles */
.t3-hero {
	position: relative;
	overflow: hidden;
	padding-top: 140px; /* Spazio per header + subnav */
}

.t3-hero.hero-full-height {
	min-height: 100vh;
	-webkit-display: flex;
	display: flex;
	align-items: center;
}

.hero-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.hero-fallback {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
}

.hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #001742c6;
	z-index: 1;
}

.hero-container {
	position: relative;
	z-index: 2;
	max-width: var(--container-max-width);
	margin: 0 auto;
	padding: 0 20px;
}

.hero-content {
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}

.hero-title {
	font-size: var(--font-size-xxl);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-heading);
	margin-bottom: 1.5rem;
	line-height: 1.2;
	color: var(--text-light) !important;
}

.hero-subtitle {
	font-size: var(--font-size-md);
	margin-bottom: 2.5rem;
	opacity: 0.95;
	line-height: 1.6;
	color: var(--text-light);
}

.hero-button {
	display: inline-flex;
	font-weight: var(--font-weight-normal) !important;
	color: var(--text-light);
	border: 0px solid var(--text-light);
	align-items: center;
	padding: 1rem 2rem;
	border-radius: 50px;
	text-decoration: none;
	font-weight: var(--font-weight-semibold);
	transition: all 0.3s ease;
	background: transparent;
}

.hero-button:hover {
	transform: translateY(-2px);
	text-decoration: none;
	color: white;
}

.hero-button-secondary {
	background-color: var(--primary-color);
	border: none;
}

.hero-button-secondary:hover {
	background-color: var(--primary-dark);
	color: white;
}

.hero-buttons {
	-webkit-display: flex;
	display: flex;
	gap: 1rem;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.hero-scroll-indicator {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
}

.scroll-link {
	color: white;
	font-size: 2rem;
	animation: bounce 2s infinite;
	text-decoration: none;
}

/* ==================================
   SLIDESHOW CATEGORIE EVENTI
   ================================== */

/* Contenitore slideshow categorie */
.t3-categories-slideshow {
	position: relative;
	overflow: hidden;
	background-color: #d7e4f5;
}

/* Contenitore interno slideshow categorie */
.t3-categories-slideshow .container {
	margin: 0 auto;
	padding: 70px 0 !important; /* Rimosso padding, gestito da .categories-slideshow */
}

/* Header con titolo e pulsante */
.categories-header {
	-webkit-display: flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--spacing-xl);
	gap: var(--spacing-lg);
}

/* Titolo slideshow */
.categories-slideshow-title {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-semibold);
	color: var(--text-primary-dark);
	margin: 0; /* Rimuovi margine bottom */
	font-family: var(--font-family-heading);
}

/* Pulsante "Vedi tutti gli eventi" */
.categories-view-all-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	padding: var(--spacing-sm) var(--spacing-md);
	background: transparent;
	color: var(--primary-dark);
	text-decoration: none;
	border: 1.5px solid var(--border-color);
	border-radius: var(--border-radius-pill);
	font-family: var(--font-family);
	font-size: var(--font-size-md);
	font-weight: var(--font-weight-medium);
	transition: all var(--transition-normal);
	white-space: nowrap;
}

.categories-view-all-btn:hover {
	background: var(--primary-dark);
	color: white;
	text-decoration: none;
}

/* Container principale categorie */
.categories-slideshow {
	position: relative;
	overflow: hidden;
	padding: 0; /* Sposta il padding qui */
}

/* Slider wrapper */
.categories-slider {
	-webkit-display: flex;
	display: flex;
	gap: var(--spacing-lg);
	transition: transform var(--transition-slow);
	align-items: stretch;
}

/* Card singola categoria */
.category-card {
	flex: 0 0 calc(33.333% - (var(--spacing-xxl) * 2 / 3)); /* 3 card con gap distribuito */
	background: var(--bg-primary-dark);
	border-radius: var(--border-radius-sm);
	padding: var(--spacing-lg);
	text-align: center;
	transition: all var(--transition-normal);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	text-decoration: none;
	color: inherit;
	-webkit-display: flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 300px;
}

/* Icona categoria */
.category-icon {
	width: var(--icon-size);
	height: var(--icon-size);
	margin: 0 auto var(--spacing-md) auto;
	-webkit-display: flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 30px; /* Icona leggermente più grande senza sfondo */
	color: var(--primary-color); /* Usa il colore primario del tema */
}

/* Titolo categoria */
.category-title {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	color: var(--text-light);
	margin-bottom: var(--spacing-sm);
	font-family: var(--font-family-heading);
	line-height: 1.3;
}

/* Descrizione categoria */
.category-description {
	font-size: var(--font-size-lg);
	color: var(--text-muted);
	line-height: 1.5;
	margin-bottom: var(--spacing-md);
}

/* Numero eventi */
.category-count {
	font-size: var(--font-size-sm);
	color: var(--primary-color);
	font-weight: var(--font-weight-medium);
	background: var(--primary-light);
	padding: var(--spacing-xs) var(--spacing-sm);
	border-radius: var(--border-radius-pill);
	display: inline-block;
}

/* Controlli di navigazione */
.slideshow-nav {
	-webkit-display: flex;
	display: flex;
	-webkit-justify-content: left;
	justify-content: left;
	gap: var(--spacing-md);
	margin-top: var(--spacing-xl);
}

.slideshow-btn {
	background: transparent !important;
	border: 1.5px solid var(--border-color) !important;
	color: var(--text-primary-dark) !important;
	border: none;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	cursor: pointer;
	transition: all var(--transition-normal);
	-webkit-display: flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-size: 18px;
	transition: ease-in-out 0.3s;
}

.slideshow-btn:hover {
	background: var(--bg-primary) !important;
	color: white !important;
	border: none !important;
}

.slideshow-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Indicatori */
.slideshow-indicators {
	display: flex;
	display: none;
	-webkit-justify-content: center;
	justify-content: center;
	gap: var(--spacing-xs);
	margin-top: var(--spacing-lg);
}

.indicator {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--border-light);
	cursor: pointer;
	transition: all var(--transition-fast);
}

.indicator.active {
	background: var(--primary-color);
	transform: scale(1.2);
}

/* Responsive - Tablet */
@media (max-width: 991px) {
	.category-card {
		flex: 0 0 calc(33.333% - (var(--spacing-lg) * 2 / 3)); /* 3 card con gap distribuito */
	}

	.categories-slideshow-title {
		font-size: var(--font-size-md);
	}

	.categories-header {
		flex-direction: column;
		align-items: stretch;
		gap: var(--spacing-md);
	}

	.categories-view-all-btn {
		align-self: center;
		-webkit-justify-content: center;
		justify-content: center;
	}
}

/* Responsive - Mobile */
@media (max-width: 767px) {
	.t3-categories-slideshow {
		margin: var(--spacing-lg) 0;
		padding: var(--spacing-lg) 0;
	}

	.categories-slideshow {
		padding: 0 var(--spacing-sm); /* Padding ridotto su mobile */
	}

	.categories-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: var(--spacing-md);
	}

	.categories-slideshow-title {
		font-size: var(--font-size-lg);
	}

	.categories-view-all-btn {
		font-size: var(--font-size-sm);
		padding: var(--spacing-sm) var(--spacing-md);
	}

	.category-card {
		flex: 0 0 calc(50% - (var(--spacing-lg) / 2)); /* 2 card con gap distribuito */
		padding: var(--spacing-lg);
	}

	.category-icon {
		width: 40px;
		height: 40px;
		font-size: 24px; /* Icona più grande anche su mobile */
	}

	.slideshow-nav {
		gap: var(--spacing-sm);
	}

	.slideshow-btn {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
}

/* ==================================
   SLIDESHOW ORIGINALE (per moduli)
   ================================== */

/* Contenitore slideshow originale */
.t3-slideshow {
	background: transparent;
	margin: var(--spacing-xl) 0;
	position: relative;
	overflow: hidden;
}

/* Contenitore interno slideshow originale */
.t3-slideshow .container {
	max-width: var(--container-max-width);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}

/* Stili base per slideshow responsive */
.t3-slideshow img {
	width: 100%;
	height: auto;
	border-radius: var(--border-radius-lg);
}

/* Slideshow originale su mobile */
@media (max-width: 767px) {
	.t3-slideshow {
		margin: var(--spacing-lg) 0;
	}

	.t3-slideshow .container {
		padding: 0 var(--spacing-sm);
	}
}

/* ==================================
   SEARCH MODULE
   ================================== */

/* Nascondi il modulo di ricerca RSEventsPro SOLO sulla pagina dettaglio evento */
html.com_rseventspro.layout-show .rsepro_search_formmodulo_cerca {
	display: none !important;
}

/* Contenitore principale del modulo ricerca */
.rsepro_search_formmodulo_cerca {
	position: relative;
	z-index: var(--z-dropdown);
	margin: var(--spacing-sm) auto; /* meno margine verticale */
	padding: 20px; /* padding rimosso */
	font-family: var(--font-family);
	color: var(--text-primary);
	max-width: var(--container-max-width);
	border-radius: var(--border-radius-sm) !important;
	border-radius: 0;
	border: none !important;
	background-color: white;
}

/* Margin negativo solo nella home page */
.home-page .rsepro_search_formmodulo_cerca {
	margin: -50px auto 40px auto; /* centrato orizzontalmente con margine superiore negativo */
}

/* Form interno */
.rsepro_search_formmodulo_cerca form {
	display: grid;
	-webkit-grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	grid-gap: var(--spacing-sm); /* gap ridotto */
	align-items: flex-end;
}

/* Gruppi di campi */
.rsepro_search_formmodulo_cerca > div {
	display: flex;
	flex-direction: column;
}

/* Etichette */
.rsepro_search_formmodulo_cerca label {
	margin-bottom: 2px;
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size-md);
	color: var(--bg-primary-dark);
	margin-bottom: 5px;
	text-transform: none;
}

/* Select e input */
.rsepro_search_formmodulo_cerca select,
.rsepro_search_formmodulo_cerca input[type="text"],
.rsepro_search_formmodulo_cerca .chosen-container .chosen-choices {
	padding: 4px 6px; /* padding interno ridotto */
	font-size: var(--font-size-base);
	width: 100%;
	padding: var(--spacing-sm) var(--spacing-md);
	border-radius: 4px;
	background: #f4f6f9 !important;
	font-size: 14px;
	color: var(--text-primary-dark);
	cursor: pointer;
}

/* Select multipli */
.rsepro_search_formmodulo_cerca select {
	width: 100%;
	padding: var(--spacing-sm) var(--spacing-md);
	border-radius: 4px;
	background: var(--text-light);
	font-size: 14px;
	color: var(--text-primary-dark);
	cursor: pointer;
}

.rsepro_search_formmodulo_cerca select:focus,
.rsepro_search_formmodulo_cerca input[type="text"]:focus {
	outline: none;
	border-color: #007bff;
}

/* Container Chosen.js */
.rsepro_search_formmodulo_cerca .chosen-container {
	width: 100% !important;
}

.rsepro_search_formmodulo_cerca .chosen-container-multi .chosen-choices {
	border: none;
	background: var(--text-light);
	padding: 6px 8px;
	min-height: 36px;
}

.rsepro_search_formmodulo_cerca
	.chosen-container-multi
	.chosen-choices
	li.search-choice {
	background: transparent !important;
	color: var(--text-primary-dark);
	border: 1.2px solid var(--border-color) !important;
	border-radius: var(--border-radius-pill);
	padding: var(--spacing-sm) var(--spacing-xl) var(--spacing-sm)
		var(--spacing-sm);
	margin: 2px 4px 2px 0;
	font-size: var(--font-size-sm);
}

.rsepro_search_formmodulo_cerca
	.chosen-container-multi
	.chosen-choices
	li.search-choice
	a {
	color: white;
	opacity: 0.8;
}

.rsepro_search_formmodulo_cerca
	.chosen-container-multi
	.chosen-choices
	li.search-choice
	a:hover {
	opacity: 1;
}

/* Migliora spaziatura e colore del pulsante di chiusura nei select multipli */
.rsepro_search_formmodulo_cerca
	.chosen-container-multi
	.chosen-choices
	li.search-choice
	a.search-choice-close {
	color: white !important;
	transition: all 0.2s ease;
}

.rsepro_search_formmodulo_cerca
	.chosen-container-multi
	.chosen-choices
	li.search-choice
	a.search-choice-close:hover {
	opacity: 1;
}

/* Campo keywords con pulsante */
.rsepro_search_formmodulo_cerca .input-group {
	display: flex;
	align-items: stretch;
	border: none;
	overflow: hidden;
	background: var(--text-light);
}

/* Gestione del testo di default negli input Chosen.js */
.rsepro_search_formmodulo_cerca .chosen-search-input.default {
	color: var(--secondary-color) !important;
	font-style: italic;
	font-size: 10px !important;
	font-weight: var(--font-weight-medium) !important;
	opacity: 0.7;
	transition: all var(--transition-normal);
}

.rsepro_search_formmodulo_cerca .chosen-search-input.default:focus {
	color: var(--text-primary) !important;
	font-style: normal;
	opacity: 1;
}

.rsepro_search_formmodulo_cerca .input-group input[type="text"] {
	flex: 1;
	padding: var(--spacing-sm) var(--spacing-md);
	border: none;
	background: transparent;
	font-size: 14px;
	color: var(--text-muted);
}

.rsepro_search_formmodulo_cerca .input-group input[type="text"]:focus {
	outline: none;
}

.rsepro_search_formmodulo_cerca .input-group button[type="submit"] {
	padding: 4px 16px;
	background: var(--primary-dark);
	color: var(--text-light);
	box-shadow: none !important;
	border: none;
	cursor: pointer;
	font-size: 10px;
	font-weight: var(--font-weight-medium);
	transition: background-color 0.9s;
}

.rsepro_search_formmodulo_cerca .input-group button[type="submit"]:hover {
	background: var(--primary-color);
}

.rsepro_search_formmodulo_cerca button[type="submit"] {
	padding: 6px var(--spacing-md); /* bottone più piccolo */
	font-size: var(--font-size-md);
	grid-column: span 1;
	justify-self: end;
	padding: 4px 16px;
	background: var(--primary-dark);
	color: var(--text-light);
	border: none;
	cursor: pointer;
	font-size: 10px;
	font-weight: var(--font-weight-medium);
	transition: background-color 0.9s;
}

.rsepro_search_formmodulo_cerca button[type="submit"]:hover {
	background-color: #005bb5;
	background: var(--primary-color);
}

/*====================================
   EVENT GRID
   ================================== */

.rsepro-new-layout-item.rsepro-new-layout-column-1 {
	background-color: white;
}

/* Contenitore principale lista eventi - ENTRAMBI i nomi (con e senza trattino finale) */
.rsepro-events-list-container,
.rsepro-events-list-con {
	max-width: var(--container-max-width);
	margin: 0 auto;
	border-radius: var(--border-radius-lg);
	padding: 0 0 var(--spacing-xxl) 0 !important;
}

/* Header con icone RSS e sottoscrizioni */
.rs_rss {
	display: flex;
}

.rs_rss a:first-child {
	margin-left: auto;
	margin-right: var(--spacing-xs);
}

.rs_rss a:last-child {
	margin-right: 0;
}

.rs_rss a {
	-webkit-display: flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: var(--icon-size);
	height: var(--icon-size);
	background: var(--bg-dark);
	color: var(--text-light) !important;
	border-radius: 5%;
	text-decoration: none;
	transition: all var(--transition-normal);
}

.rs_rss a:hover {
	background: var(--bg-primary);
}

.rs_rss a i {
	font-size: 14px;
}

/* Grid layout per gli eventi */
.rsepro-new-layout-container {
	display: grid;
	-webkit-grid-template-columns: repeat(4, minmax(220px, 1fr));
	grid-template-columns: repeat(4, minmax(220px, 1fr));
	gap: var(--grid-gap);
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
}

/* Contenuto evento */
.rsepro-new-layout-event-details {
	padding: 60px 20px 0px 20px !important;
}

.event-date-above-title {
	font-size: var(--font-size-base) !important;
	font-weight: var(--font-weight-semibold);
	border: 1.2px solid var(--border-color);
	padding: var(--spacing-xs) var(--spacing-sm);
	border-radius: var(--border-radius-pill);
	color: var(--text-primary-dark);
	text-transform: uppercase;
}

/* Titolo evento */
.rsepro-new-layout-event-title {
	position: relative;
}

.rsepro-new-layout-event-title a {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-medium);
	font-family: var(--font-family-heading);
	color: var(--text-primary-dark);
	text-decoration: none;
	line-height: 1.3;
	transition: color var(--transition-normal);
	display: block;
	/* Ottimizzazioni Roboto Flex per titoli */
	font-optical-sizing: auto;
	font-variation-settings:
		"slnt" 0,
		"wdth" 100,
		"GRAD" 0,
		"XTRA" 468,
		"XOPQ" 96,
		"YOPQ" 79,
		"YTLC" 514,
		"YTUC" 712,
		"YTAS" 750,
		"YTDE" -203,
		"YTFI" 738;
	text-rendering: optimizeLegibility;
}

/* Card singolo evento */
.rsepro-new-layout-item,
.rsepro-new-layout-item.rsepro-new-layout-column-1 {
	background: white;
	overflow: hidden;
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important; /* Allinea e allarga tutto il contenuto */
	padding: 0 !important;
}

.thumbnail {
	border: none;
	height: max-content;
	margin: 0 !important;
	padding: 0 !important;
}

/* Immagine evento */
.rsepro-new-layout-image {
	position: relative;
	flex-shrink: 0; /* Impedisce che l'immagine si restringa */
}

/* Immagine evento nella lista */
.rsepro-new-layout-image img {
	width: 100%;
	height: 200px; /* Altezza fissa per uniformità */
	object-fit: cover;
	object-position: center;
	border-radius: 2px;
	transition: transform var(--transition-normal);
}

.rsepro-new-layout-event-title a:hover {
	color: var(--text-primary);
	text-decoration: underline;
}

.rsepro-new-layout-event-title::before {
	content: "";
}

/* Nascondi descrizione evento */
.rsepro-new-layout-event-description {
	display: none !important;
}

/* Nasconde solo il badge "ongoing", non l'intero elemento */
.rs_event_ongoing::before {
	display: none !important;
}

/* Date evento - NASCOSTE */
.rsepro-new-layout-event-date {
	display: none !important;
}

.rsepro-event-from-block,
.rsepro-event-until-block {
	display: block;
	font-size: var(--font-size-md);
	font-family: var(--font-family);
	color: var(--text-muted);
	margin-bottom: var(--spacing-xs);
	/* Ottimizzazioni Roboto Flex per date */
	font-weight: var(--font-weight-normal);
	font-variation-settings:
		"slnt" 0,
		"wdth" 100,
		"GRAD" 0;
}

.rsepro-event-from-block b,
.rsepro-event-until-block b {
	color: var(--text-primary);
	font-weight: var(--font-weight-bold);
	/* Ottimizzazione per numeri e date in grassetto */
	font-variation-settings:
		"slnt" 0,
		"wdth" 100,
		"GRAD" 25;
}

/* FORZA extension full-width per event-details */
.rsepro-new-layout-event-details {
	flex: 1 1 100% !important; /* Occupa tutta la larghezza disponibile */
	width: 100% !important;
	max-width: none !important;
	padding: 10px 20px 0px 20px !important;
}

/* Taxonomia (categorie, location, tag) */
/* NOTA: Questo blocco è stato spostato DOPO il contenitore dettagli nel template
   per garantire allineamento uniforme tra tutti gli eventi nella lista */
.rsepro-new-layout-event-taxonomy {
	display: block !important;
	margin: 0;
	padding: var(--spacing-lg) 20px;
	width: 100% !important; /* Forza larghezza completa */
}

/* Layout verticale (ogni elemento su una riga) */
.rsepro-new-layout-event-taxonomy > span,
.rsepro-new-layout-event-taxonomy span {
	display: block !important;
	align-items: center;
}

/* Nascondi il blocco dei tag */
span.rsepro-event-tags-block,
.rsepro-new-layout-event-taxonomy .rsepro-event-tags-block {
	display: none !important;
}

/* Taxonomia uniforme - location, categorie, tag */
.rsepro-event-location-block,
.rsepro-event-categories-block,
.rsepro-event-tags-block {
	display: inline-flex !important;
	align-items: center;
	font-size: 0;
	min-height: 32px; /* Altezza minima uniforme */
	line-height: 1;
}

/* Link uniformi per tutti gli elementi taxonomia */
.rsepro-event-location-block a,
.rsepro-event-categories-block a,
.rsepro-event-tags-block a {
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-normal);
	text-transform: uppercase;
	color: var(--text-primary-dark) !important;
	text-decoration: none;
	transition: all var(--transition-normal);
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	line-height: 1;
}

/* Regole specifiche per rs_cat_link (senza color primary-dark) */
.rs_cat_link {
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-normal);
	text-transform: uppercase;
	text-decoration: none;
	transition: all var(--transition-normal);
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	line-height: 1;
}

/* Icona geolocalizzazione per location */
.rsepro-event-location-block a::before {
	content: "\f3c5"; /* Font Awesome map-marker-alt icon */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: var(--font-size-base);
	color: var(--text-primary);
	margin-right: var(--spacing-xs);
	display: inline-flex;
	align-items: flex-end;
}

/* Disabilita il link della location */
.rsepro-event-location-block a {
	pointer-events: none;
	cursor: default;
}

.rsepro-event-location-block a:hover {
	color: var(--text-secondary) !important;
}

.rsepro-event-categories-block a:hover {
	color: var(--text-secondary) !important;
}

/* Badge per categorie - stili uniformi */
.rsepro-event-categories-block .rs_cat_link,
.rsepro-new-layout-event-taxonomy .rs_cat_link,
a.rs_cat_link {
	display: inline-block !important;
	margin-right: var(--spacing-xs);
	font-size: var(--font-size-base) !important;
	font-weight: var(--font-weight-normal) !important;
	font-family: var(--font-family) !important;
	background: #f4f6f9 !important;
	padding: var(--spacing-xs) var(--spacing-sm) !important;
	border-radius: var(--border-radius-pill) !important;
	text-decoration: none !important;
	color: var(--text-primary-dark) !important;
	transition: all var(--transition-normal);
	/* Ottimizzazioni Roboto Flex per badge */
	font-variation-settings:
		"slnt" 0,
		"wdth" 75,
		"GRAD" 0;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

/* ==================================
   7. DETTAGLI EVENTO - STILI UNIFORMI
   ================================== */

#rs_event_show {
	margin: 0 auto;
	border-radius: var(--border-radius-lg);
	max-width: var(--container-max-width);
}

/* Titolo dell'evento */
.rsepro-event-title-heading {
	color: var(--primary-dark) !important;
	font-family: var(--font-family-heading) !important;
	font-weight: var(--font-weight-medium) !important;
	font-size: var(--font-size-xl) !important;
	margin-bottom: var(--spacing-xl) !important;
	line-height: 1 !important;
}

.rs_featured_event {
	background: none !important;
}

/* Badge "IN EVIDENZA" nella pagina singola evento */
.rsepro-event-featured-badge {
	display: inline-block;
}

.rsepro-event-featured-badge .badge {
	background-color: var(--bg-primary) !important;
	color: white !important;
	padding: 8px 20px !important;
	font-size: var(--font-size-sm) !important;
	font-weight: var(--font-weight-medium) !important;
	text-transform: uppercase !important;
	border-radius: var(--border-radius-pill) !important;
}

/* Data evento sopra il titolo */
.rsepro-event-date-above-title {
	font-size: var(--font-size-base) !important;
	font-weight: var(--font-weight-semibold);
	color: var(--text-primary-dark) !important;
	font-family: var(--font-family) !important;
	border: 1.2px solid var(--border-color) !important;
	padding: var(--spacing-xs) var(--spacing-sm);
	border-radius: var(--border-radius-pill) !important;
	text-transform: uppercase;
	margin: 0 !important;
	margin-bottom: var(--spacing-md) !important;
	max-width: fit-content;
}

/* Contenitore dettagli evento - ora nella colonna del titolo */
#rsepro-event-details {
	padding: var(--spacing-sm) 0 var(--spacing-md) 0;
	margin: var(--spacing-sm) 0 0 0 !important;
	background: white !important;
	border-radius: var(--border-radius-sm) !important;
}

/* Stili base per tutti i dettagli evento (escluso la data che rimane sopra il titolo) */
#rsepro-event-location,
#rsepro-event-email,
#rsepro-event-phone,
#rsepro-event-url,
#rsepro-event-categories,
#rsepro-event-tags,
#rsepro-event-hits {
	padding: var(--spacing-md) var(--spacing-md);
	font-family: var(--font-family);
	font-size: var(--font-size-md);
	line-height: 1.4;
	color: var(--primary-dark) !important;
	border-top: 1px solid var(--border-light) !important;
	margin: 0;
}

#rsepro-event-location {
	border-top: none !important; /* Rimuove il bordo superiore dal primo elemento */
}

#rsepro-event-description {
	border-top: 1px solid var(--border-color) !important;
	margin-top: var(--spacing-xxxl) !important;
}

#rsepro-event-description .description p {
	color: var(--primary-dark) !important;
	font-family: var(--font-family) !important;
	font-size: var(--font-size-md) !important;
	line-height: 1.6 !important;
	font-weight: var(--font-weight-normal) !important;
	margin-bottom: 0 !important;
	margin-top: var(--spacing-xl) !important;
}

/* Stili per le icone nei dettagli evento */
#rsepro-event-date .fa,
#rsepro-event-location .fa,
#rsepro-event-email .fa,
#rsepro-event-phone .fa,
#rsepro-event-url .fa,
#rsepro-event-categories .fa,
#rsepro-event-tags .fa,
#rsepro-event-hits .fa {
	color: var(--secondary-color);
	margin-right: var(--spacing-sm);
	font-size: var(--font-size-md);
	text-align: center;
	display: inline-block;
}

/* Stili per i link nei dettagli evento */
#rsepro-event-location a,
#rsepro-event-email a,
#rsepro-event-phone a,
#rsepro-event-url a {
	color: var(--primary-color) !important;
	text-decoration: none;
	transition: color var(--transition-fast);
	font-weight: var(--font-weight-medium);
}

#rsepro-event-location a:hover,
#rsepro-event-email a:hover,
#rsepro-event-phone a:hover,
#rsepro-event-url a:hover {
	color: var(--primary-dark);
	text-decoration: underline;
}

/* Stili specifici per categorie e tag */
#rsepro-event-categories,
#rsepro-event-tags {
	font-weight: var(--font-weight-normal);
}

#rsepro-event-categories .fa,
#rsepro-event-tags .fa {
	color: var(--secondary-color);
}

/* Stili per visualizzazioni */
#rsepro-event-hits {
	font-style: italic;
	color: var(--text-muted);
}

#rsepro-event-hits .fa {
	color: var(--text-muted);
}

/* Stili per l'immagine dell'evento */
#rsepro-event-image img {
	width: 100% !important;
	height: auto !important;
	object-fit: cover !important;
	border-radius: var(--border-radius) !important;
}
.rs_loader {
	text-align: center;
	padding: var(--spacing-xl);
}

.rs_loader img {
	display: none;
}

.rs_loader::before {
	content: "";
	width: 40px;
	height: 40px;
	border: 4px solid var(--border-light);
	border-top: 4px solid var(--primary-color);
	border-radius: 50%;
	animation: spin 1s linear infinite;
	opacity: 0.7;
	display: block;
	margin: 0 auto;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* Contatore eventi visualizzati */
#rsepro_number_events {
	text-align: center;
	margin-top: var(--spacing-xxl);
	font-family: var(--font-family);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-regular);
	color: var(--text-primary-dark);
}

/* Bottone carica altro */
.rs_read_more {
	display: block;
	width: 200px;
	margin: 0 auto;
	background-color: transparent !important;
	border: 1.5px solid var(--border-color) !important;
	border-radius: var(--border-radius-pill) !important;
	color: var(--text-primary-dark) !important;
	text-decoration: none;
	text-align: center;
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family);
	transition: all var(--transition-normal);
	box-shadow: none;
	/* Ottimizzazioni Roboto Flex per bottoni */
	font-variation-settings:
		"slnt" 0,
		"wdth" 100,
		"GRAD" 0;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.rs_read_more:hover {
	background: var(--primary-color);
	box-shadow: none;
}

/* ==================================
   FEATURED EVENTS
   ================================== */

/* Gli eventi featured hanno lo stesso stile degli eventi normali */

/* Sfondo bianco per dettagli e taxonomy degli eventi featured */
.rsepro-new-layout-item.rs_featured .rsepro-new-layout-event-details,
.rsepro-new-layout-item.rs_featured .rsepro-new-layout-event-taxonomy {
	background-color: white !important;
}

/* Testi scuri per eventi featured (stesso stile degli eventi normali) */
.rsepro-new-layout-item.rs_featured .rsepro-new-layout-event-title a,
.rsepro-new-layout-item.rs_featured .event-date-above-title,
.rsepro-new-layout-item.rs_featured .rsepro-event-from-block,
.rsepro-new-layout-item.rs_featured .rsepro-event-until-block,
.rsepro-new-layout-item.rs_featured .rsepro-event-sameday,
.rsepro-new-layout-item.rs_featured .rsepro-event-location-block a,
.rsepro-new-layout-item.rs_featured .rsepro-event-tags-block a {
	color: var(--text-primary-dark) !important;
}

/* Bordo normale per la data above the title negli eventi featured */
.rsepro-new-layout-item.rs_featured .event-date-above-title {
	border: 1.5px solid var(--border-color) !important;
}

/* Nascondi il badge "in evidenza" */
#rs_events_container > li.rs_featured::after,
.rsepro-speakers-events li.rs_featured::after {
	display: block !important;
}

/* Testo "in evidenza" in alto a destra */
#rs_events_container > li.rs_featured::after,
.rsepro-speakers-events li.rs_featured::after {
	content: "Sponsorizzato";
	font-family: var(--font-family);
	font-weight: var(--font-weight-normal);
	position: absolute;
	top: var(--spacing-md);
	right: var(--spacing-sm);
	font-size: var(--font-size-sm);
	line-height: 1;
	color: white !important;
	background-color: var(--bg-primary);
	padding: 8px 20px !important;
	text-shadow: none !important;
	pointer-events: none; /* decorativa */
	border-radius: var(--border-radius-pill);
	text-transform: uppercase;
	display: none !important;
}

/* Icona location colore normale negli eventi featured */
.rsepro-new-layout-item.rs_featured .rsepro-event-location-block a::before {
	color: var(--text-primary) !important;
}

/* ==================================
   PRICE TABLE
   ================================== */

/* Contenitore sezione grigia */
.section-grey {
	background: var(--bg-dark) !important;
	padding: var(--spacing-xxl) 0;
}

.pricing-table.style-1 h3 {
	color: white !important;
	font-size: var(--font-size-xl);
}

.pricing-table {
	max-width: var(--container-max-width);
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
}

.col-price {
	background-color: white;
	padding: var(--spacing-xl);
	border-radius: var(--border-radius-lg);
	width: 450px;
	height: 550px;
	display: flex;
	flex-direction: column;
	text-align: left;
}

.pricing-table .col {
	margin-bottom: 0 !important;
}

.col-md-4 {
	padding-right: 10px !important;
	padding-left: 0px !important;
}

/* Colore specifico per il pacchetto Silver (seconda colonna) */
.pricing-table .col:nth-child(2) .col-price {
	background-color: var(--bg-secondary) !important;
}

.col-featured {
	margin-top: 0 !important;
}

.col-featured .col-price {
	background: var(--primary-color) !important;
	color: var(--text-light) !important;
	border: 2px solid var(--primary-color);
	margin-top: 0 !important;
}

.col-price h2 {
	font-size: var(--font-size-lg) !important;
	font-weight: var(--font-weight-semibold) !important;
	font-family: var(--font-family-heading) !important;
	color: var(--text-primary-dark);
	margin-bottom: var(--spacing-sm);
	text-align: left;
}

.col-featured .col-price h2 {
	color: white !important;
}

.pricing-table .col ul li {
	font-size: var(--font-size-sm) !important;
	color: var(--text-primary-dark);
	padding: 0 !important;
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	text-align: left !important;
}

.pricing-table .col ul li i {
	color: var(--primary-color-dark) !important;
}

.col-price p {
	font-size: 60px !important;
	font-weight: var(--font-weight-semibold) !important;
	color: var(--text-primary-dark);
	display: block;
	margin-bottom: var(--spacing-lg);
	text-align: left;
}

.col-price p sup {
	font-size: var(--font-size-md) !important;
	top: 0 !important;
	margin-right: 5px !important;
}

.col-price p sub {
	font-size: var(--font-size-md) !important;
	margin-left: 5px !important;
}

/* Stile speciale per prezzo nei pacchetti featured */
.col-featured .col-price p {
	background: var(--bg-primary) !important;
	color: white !important;
}

.col-price ul {
	margin: 0 !important;
	padding: 0 !important;
	flex-grow: 1;
	list-style: none !important;
}

.col-price .btn {
	margin-bottom: var(--spacing-xxl);
	font-family: var(--font-family);
	font-weight: var(--font-weight-normal);
	background: var(--bg-primary-dark) !important;
	color: white;
	border: 1.3px solid var(--primary-dark);
	border-radius: var(--border-radius-pill);
	padding: var(--spacing-sm) var(--spacing-md);
	transition: all var(--transition-normal);
	width: 100%;
	text-align: center;
}

.col-price .btn:hover {
	background: var(--primary-color) !important;
	color: var(--text-light);
	border-color: 1.3px solid var(--primary-dark);
}

/* Stile specifico per i bottoni del primo e secondo pacchetto */
.pricing-table .col:nth-child(1) .col-price .btn {
	background: transparent !important;
	color: var(--primary-dark) !important;
	border: 1.5px solid var(--border-color) !important;
}

.pricing-table .col:nth-child(2) .col-price .btn {
	background: transparent !important;
	color: var(--primary-dark) !important;
	border: 1.5px solid var(--border-color) !important;
}

/* Hover specifico per i bottoni del primo e secondo pacchetto */
.pricing-table .col:nth-child(1) .col-price .btn:hover {
	background: var(--primary-dark) !important;
	color: white !important;
}

.pricing-table .col:nth-child(2) .col-price .btn:hover {
	background: var(--primary-dark) !important;
	color: white !important;
}

/* Testo "Esplora e venti" nel div rs_rss */
.explore-text {
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-semibold);
	color: var(--primary-dark);
	margin-right: var(--spacing-md);
	font-family: var(--font-family-heading);
}

/* Layout rs_rss con testo a sinistra e icone a destra */
.rs_rss {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: var(--spacing-md) 0 !important;
	margin: var(--spacing-xl) 0 var(--spacing-lg) 0 !important;
	border-bottom: 1px solid var(--border-color) !important;
	width: 100%;
}

/* Stile per l'h1 in rs_rss */
.rs_rss h1 {
	font-family: var(--font-family);
	color: var(--primary-dark);
	margin: 0;
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-medium);
	flex: 1;
	text-align: left;
}

/* Contenitore icone - tutte vicine tra loro */
.rs_rss_icons {
	display: flex;
	align-items: center;
	gap: var(--spacing-xs);
}

/* ==================================
   21. COMPONENTE NOMOS
   ================================== */

/* Contenitore principale */
.t3-nomos {
	padding: 50px 0;
	background: white;
	color: var(--text-light);
}

/* Sezione nomos */
.nomos-section {
	max-width: var(--container-max-width);
}

/* Layout contenuto */
.nomos-content {
	display: flex;
	align-items: center;
	gap: var(--spacing-xxl);
	flex-wrap: wrap;
}

/* Immagine a sinistra */
.nomos-image {
	flex: 0 0 300px;
	text-align: center;
}

.nomos-image img {
	max-width: 100%;
	height: auto;
	border-radius: var(--border-radius);
}

/* Testo e pulsante a destra */
.nomos-text {
	flex: 1;
}

.icon-lock:before,
.icon-locked:before {
	content: "\f502"; /* fa-user-lock from Font Awesome 6 */
	color: var(--primary-color);
}

.nomos-title {
	font-size: 30px;
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family-heading);
	margin-bottom: var(--spacing-lg);
	line-height: 1.2;
	color: var(--text-primary-dark);
}

.nomos-description {
	font-size: var(--font-size-md);
	line-height: 1.6;
	margin-bottom: 0 !important;
	color: var(--text-primary-dark);
}

/* Pulsante */
.nomos-button {
	display: inline-block;
	padding: var(--spacing-md) var(--spacing-xl);
	background: var(--text-light);
	color: var(--primary-color);
	text-decoration: none;
	border-radius: var(--border-radius);
	font-weight: var(--font-weight-semibold);
	font-family: var(--font-family);
	transition: all var(--transition-normal);
	border: 2px solid var(--text-light);
}

.nomos-button:hover {
	background: transparent;
	color: var(--text-light);
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Responsive */
@media (max-width: 768px) {
	.nomos-content {
		flex-direction: column;
		text-align: center;
		gap: var(--spacing-lg);
	}

	.nomos-image {
		flex: none;
		margin-bottom: var(--spacing-md);
	}

	.nomos-image img {
		max-width: 250px;
	}
}

/* ==================================
   22. FOOTER TTD
   ================================== */

/* Footer principale */
.t3-footer-ttd {
	background: var(--bg-primary-dark);
	color: var(--text-light);
	padding: var(--spacing-lg) 0 var(--spacing-lg) 0;
}

/* Contenuto footer */
.footer-ttd-content {
	padding: 50px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Colonne footer */
.footer-col {
	padding: 0 var(--spacing-md);
	margin-bottom: var(--spacing-lg);
}

/* Logo footer */
.footer-logo img {
	max-width: 200px;
	height: auto;
	margin-bottom: var(--spacing-md);
}

.footer-tagline {
	font-size: var(--font-size-sm);
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.4;
	margin: 0;
}

/* Social icons */
.footer-social h4 {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	margin-bottom: var(--spacing-md);
	color: var(--text-light);
}

.social-icons {
	display: flex;
	gap: var(--spacing-sm);
}

.social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-light);
	text-decoration: none;
	border-radius: 50%;
	transition: all var(--transition-normal);
	font-size: var(--font-size-lg);
}

.social-link:hover {
	background: var(--primary-color);
	color: var(--text-light);
	transform: translateY(-2px);
}

/* Azioni footer */
.footer-actions h4 {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	margin-bottom: var(--spacing-md);
	color: var(--text-light);
}

.footer-buttons {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
}

.footer-btn {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	padding: var(--spacing-sm) var(--spacing-md);
	text-decoration: none;
	border-radius: var(--border-radius-pill);
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size-sm);
	transition: all var(--transition-normal);
	text-transform: uppercase;
	letter-spacing: 0.5px;

	justify-content: center;
}

.footer-btn-primary {
	background: var(--primary-color);
	color: var(--text-light);
	border: 2px solid var(--primary-color);
}

.footer-btn-secondary {
	background: transparent;
	color: var(--text-light);
	border: 2px solid rgb(255, 255, 255);
}

/* Info footer */
.footer-info h4 {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	margin-bottom: var(--spacing-md);
	color: var(--text-light);
}

.footer-contact p {
	margin: var(--spacing-xs) 0;
	font-size: var(--font-size-md);
	color: rgba(255, 255, 255, 0.8);
}

.footer-contact i {
	width: 20px;
	color: var(--primary-color);
	margin-right: var(--spacing-sm);
}

/* Copyright */
.footer-copyright {
	padding-top: var(--spacing-lg);
}

.footer-copyright p {
	margin: 0;
	font-size: var(--font-size-sm);
	color: rgba(255, 255, 255, 0.6);
}

.footer-copyright .text-right {
	text-align: right;
}

.footer-copyright .text-danger {
	color: #dc3545;
}

/* Responsive footer */
@media (max-width: 768px) {
	.footer-col {
		text-align: center;
		margin-bottom: var(--spacing-xl);
	}

	.footer-logo img {
		max-width: 120px;
	}

	.social-icons {
		justify-content: center;
	}

	.footer-buttons {
		align-items: center;
	}

	.footer-copyright .row > div {
		text-align: center !important;
		margin-bottom: var(--spacing-sm);
	}
}

.acym__users__creation__fields__title {
	font-size: 22px;
	font-weight: 900;
	color: #000;
}

/* ==================================
	/* ==================================
		23. ALERT BLOCCO UTENTI NON REGISTRATI
		================================== */

/* Stile personalizzato per il messaggio di blocco degli utenti non registrati */
.alert.alert-danger#rsepro_blocked_msg {
	background-color: #0024660f;
	color: var(--text-primary-dark);
	border: 1.5px solid #0024662a;
	border-radius: 8px;
	padding: 16px;
	margin: 20px 0;
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size-md);
	text-align: center;
	position: relative;
	transition: all 0.3s ease;
}

.alert.alert-danger#rsepro_blocked_msg:hover {
	background-color: var(--primary-dark);
	color: white;
}

/* Aggiunge un'icona di avviso prima del testo */
.alert.alert-danger#rsepro_blocked_msg::before {
	content: "\f3c1";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
	display: inline-block;
}

/* Applica gli stessi stili anche al div alert-danger per "Eventi visibili agli utenti Gold" */
.alert.alert-danger {
	background-color: #0024660f;
	color: var(--text-primary-dark);
	border: 1.5px solid #0024662a;
	border-radius: 8px;
	padding: 16px;
	margin: 20px 0;
	font-weight: var(--font-weight-medium);
	font-size: var(--font-size-md);
	text-align: center;
	position: relative;
	transition: all 0.3s ease;
}

.alert.alert-danger:hover {
	background-color: var(--primary-dark);
	color: white;
}

/* Aggiunge un'icona di avviso prima del testo anche per alert-danger generico */
.alert.alert-danger::before {
	content: "\f3c1";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
	display: inline-block;
}

/* Stile per schermi mobili */
@media (max-width: 767px) {
	.alert.alert-danger#rsepro_blocked_msg {
		font-size: 0.9rem;
		padding: 12px;
	}

	.alert.alert-danger {
		font-size: 0.9rem;
		padding: 12px;
	}
}

/* ==================================
   24. CAROSELLO OWL NEWS
   ================================== */

.owl-carousel,
.owl-carousel .cc-item {
	min-height: auto !important;
}

/* Stili per il carosello owl */
.owl-stage {
	display: flex;
	justify-content: left;
	align-items: center;
}

/* Contenitore del carousel per altezza uniforme */
#npost211 .owl-carousel .owl-item {
	display: flex;
}

#npost211 .owl-carousel .owl-item > div {
	display: flex;
	height: 100%;
	width: 100%;
}

/* Stili per gli articoli news nel carosello */
.nspost_sett211 {
	margin: 0 10px;
	height: 100%;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.nspost_sett {
	width: 100%;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.blog-entry.border .entry-content {
	border: none !important;
	background-color: white !important;
}

.blog-entry.border {
	border-radius: 2px !important;
	transition: all 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: none !important;
	flex-grow: 1;
	width: 100%;
}

.blog-entry.border:hover {
	transform: none !important;
}

/* Contenitore dell'immagine */
.blog-entry-image {
	position: relative;
	overflow: hidden;
	height: 250px !important; /* Altezza fissa, non max-height */
	width: 100%;
}

.blog-entry-image img.img-responsive {
	width: 100%;
	object-fit: cover;
	height: 250px !important;
	transition: transform 0.5s ease;
}

.blog-entry:hover .blog-entry-image img {
	transform: none !important;
}

/* Data dell'articolo */
.entry-date {
	display: inline-block !important;
	margin-bottom: var(--spacing-sm) !important;
	font-size: var(--font-size-base) !important;
	font-weight: var(--font-weight-semibold) !important;
	border: 1.2px solid var(--border-color) !important;
	padding: var(--spacing-xs) var(--spacing-sm) !important;
	border-radius: var(--border-radius-pill) !important;
	color: var(--text-primary-dark) !important;
	text-transform: uppercase !important;
	margin-bottom: var(--spacing-xl) !important;
	width: fit-content !important;
}

/* Contenuto dell'articolo */
.entry-content {
	margin: 0 !important;
	padding: 20px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	background: var(--bg-white) !important;
	/* Altezza dinamica calcolata via JavaScript */
	width: 100%;
}

/* Sezione header fissa (data + titolo) */
.entry-content-header {
	flex-shrink: 0;
}

/* Struttura interna del contenuto */
.entry-content .entry-description {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	margin-top: auto;
	padding-top: 15px;
}

.entry-title h3 {
	font-family: var(--font-family-heading) !important;
	font-size: var(--font-size-lg) !important;
	line-height: 1.3;
	margin-top: 0;
	margin-bottom: 10px;
	letter-spacing: 0rem;
}

.blog-entry-image {
	position: relative;
	overflow: hidden;
	height: 250px !important; /* Altezza fissa */
	width: 100% !important;
}

.entry-title h3 a {
	font-family: var(--font-family-heading);
	color: var(--text-primary-dark);
	text-decoration: none;
	transition: color 0.2s ease;
}

.entry-title h3 a:hover {
	color: var(--primary-dark);
	text-decoration: underline;
}

/* Descrizione e link */
.entry-description {
	margin-top: auto;
	text-align: left;
	display: none !important; /* Nasconde la descrizione */
}

.entry-description a {
	color: var(--primary-dark) !important;
	font-weight: var(--font-weight-semibold) !important;
	font-size: var(--font-size-sm) !important;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: all 0.2s ease;
	text-transform: uppercase !important;
	border: 1.5px solid var(--border-color) !important;
	padding: var(--spacing-xs) var(--spacing-sm);
	border-radius: var(--border-radius-pill);
}

.entry-description a:hover {
	color: var(--secondary);
	text-decoration: underline;
}

.entry-description a i {
	font-size: 0.8rem;
	margin-left: 5px;
	transition: transform 0.2s ease;
}

.entry-description a:hover i {
	transform: translateX(3px);
}

/* Stile per l'icona lucchetto nei campi riservati */
.icon-lock {
	transition: all 0.3s ease;
	cursor: help;
}

.icon-lock:hover {
	transform: scale(1.1);
	opacity: 0.8;
}

/* Stile per il tooltip del messaggio riservato */
.icon-lock[data-tooltip] {
	position: relative;
}

.icon-lock[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 100%;
	left: 1%;
	transform: translateX(0%);
	background: var(--primary-color);
	color: white;
	padding: var(--spacing-sm) var(--spacing-md);
	border-radius: var(--border-radius-pill);
	font-family: var(--font-family);
	font-size: var(--font-size-base);
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 1000;
	margin-bottom: 5px;
}

.icon-lock[data-tooltip]:hover::after {
	opacity: 1;
	visibility: visible;
}

/* ==================================
   FOOTNAV STYLING (simile al footer)
   ================================== */
#back-to-top .btn {
	background: var(--primary-color);
	color: var(--text-light);
}

#t3-footnav {
	background: var(--bg-primary-dark);
	color: var(--text-light);
	padding: var(--spacing-lg) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#t3-footnav .container {
	max-width: var(--container-max-width);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}

#t3-footnav .t3-module {
	background: transparent !important;
}

#t3-footnav .t3-spotlight {
	padding: 50px 0 !important;
}

#t3-footnav .module-title {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	margin-bottom: var(--spacing-md);
	color: var(--text-light);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

#t3-footnav .module-title span {
	color: var(--text-light);
}

#t3-footnav .module-ct {
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.6;
}

#t3-footnav .module-ct p {
	margin: var(--spacing-xs) 0;
	font-size: var(--font-size-md);
}

#t3-footnav .module-ct a {
	color: var(--primary-color);
	text-decoration: none;
	transition: color var(--transition-normal);
}

#t3-footnav .module-ct a:hover {
	color: var(--text-light);
	text-decoration: underline;
}

/* Stili per RSSocial icons nel footnav */
#t3-footnav .rssocial-container {
	margin-top: var(--spacing-md);
}

#t3-footnav .rssocial-icons {
	display: flex;
	gap: var(--spacing-sm);
	flex-wrap: wrap;
}

#t3-footnav .rssocial-link {
	background: transparent !important;
	color: var(--text-light);
	text-decoration: none;
	border-radius: 50%;
	border: 1.5px solid white !important;
	transition: all var(--transition-normal);
	font-size: var(--font-size-md) !important;
}

#t3-footnav .rssocial-link:hover {
	background: var(--primary-color) !important;
	color: var(--text-light);
	translate: none !important;
}

/* Stili per ja-quick-contact */
#t3-footnav .ja-quick-contact ul {
	list-style: none;
	padding: 0;
	margin: var(--spacing-md) 0 0 0;
}

#t3-footnav .ja-quick-contact li {
	margin-bottom: var(--spacing-sm);
}

#t3-footnav .ja-quick-contact a {
	display: inline-block;
	padding: var(--spacing-xs) var(--spacing-xl);
	background: transparent;
	color: var(--text-light);
	text-decoration: none;
	border: 1.5px solid white;
	border-radius: var(--border-radius-pill);
	font-weight: var(--font-weight-medium);
	transition: all var(--transition-normal);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.ja-quick-contact ul li {
	display: inline-block;
	margin-right: 0 !important;
}

#t3-footnav .ja-quick-contact a:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: var(--text-light);
}

/* Responsive per footnav */
@media (max-width: 768px) {
	#t3-footnav .t3-spotlight {
		padding: var(--spacing-xl) 0 !important;
	}

	#t3-footnav .col-lg-4,
	#t3-footnav .col-md-4,
	#t3-footnav .col-sm-4 {
		margin-bottom: var(--spacing-xl);
		text-align: center;
	}

	/* Forza le colonne a essere in colonna su mobile */
	#t3-footnav .col-xs-6 {
		width: 100% !important;
		float: none !important;
	}

	/* Centra gli elementi social su mobile */
	#t3-footnav .rssocial-icons {
		justify-content: center;
	}
}

/* Rimuovi sfondo bianco dai moduli nel footnav */
#t3-footnav .module-inner {
	background: transparent !important;
}

/* ==================================
   T3-COPYRIGHT STYLING (simile al footer)
   ================================== */

.t3-copyright {
	background: var(--bg-primary-dark);
	color: var(--text-light);
	padding: var(--spacing-lg) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.t3-copyright .container {
	max-width: var(--container-max-width);
	margin: 0 auto;
	padding: 0 var(--spacing-md);
}

.t3-copyright .copyright {
	text-align: center;
	font-size: var(--font-size-sm);
	font-family: var(--font-family);
	line-height: 1.5;
}

.t3-copyright .mod-footer {
	margin: 0;
}

.t3-copyright .footer1 {
	margin: 0;
	font-weight: var(--font-weight-normal);
	opacity: 0.8;
}

/* ==================================
   RESPONSIVE PER EVENT GRID
   ================================== */

/* Tablet: 2 colonne */
@media (max-width: 991px) {
	.rsepro-new-layout-container {
		-webkit-grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
		grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
	}
}

/* Mobile: 1 colonna */
@media (max-width: 767px) {
	.rsepro-new-layout-container {
		-webkit-grid-template-columns: repeat(1, minmax(220px, 1fr)) !important;
		grid-template-columns: repeat(1, minmax(220px, 1fr)) !important;
	}
}

/* ==================================
   RESPONSIVE PER PRICING TABLE
   ================================== */

/* Tablet: ridurre larghezza colonne */
@media (max-width: 991px) {
	.col-price {
		width: 100% !important;
		max-width: 350px !important;
		margin: 0 auto 20px auto !important;
	}
}

/* Mobile: stackare verticalmente */
@media (max-width: 767px) {
	.pricing-table .row {
		-webkit-flex-direction: column !important;
		flex-direction: column !important;
		-webkit-align-items: center !important;
		align-items: center !important;
	}

	.col-price {
		width: 100% !important;
		max-width: 400px !important;
		margin-bottom: 20px !important;
	}
}

/* ==================================
   STILI SPEAKER RSEVENTSPRO
   ================================== */

/* Rimuovi sfondo, bordo e ombra dai thumbnail degli speaker */
.rsepro-speakers .thumbnail {
	background: white !important;
	border: none !important;
	box-shadow: none !important;
	padding: var(--spacing-xl) !important;
}

/* Immagine speaker circolare con cover */
.rsepro-speaker-image {
	object-fit: cover !important;
	aspect-ratio: 1 / 1 !important; /* Rende l'immagine quadrata */
	width: 100% !important;
	height: auto !important;
	max-width: 120px !important; /* Dimensione massima per l'immagine circolare */
	margin: 0 auto !important;
	display: block !important;
}

/* Testo nome speaker */
.rsepro-speaker-name {
	color: var(--primary-dark) !important;
	font-family: var(--font-family) !important;
	font-weight: var(--font-weight-semibold);
}

/* Paragrafo speaker name con font weight light */
p.rsepro-speaker-name {
	font-weight: var(--font-weight-regular) !important;
}

/* Speaker in colonna su mobile */
@media (max-width: 768px) {
	ul.rsepro-speakers.d-flex {
		flex-direction: column !important;
	}

	ul.rsepro-speakers li {
		width: 100% !important;
		margin-bottom: 20px !important;
	}
}

.t3-content {
	padding-top: var(--spacing-xl) !important;
	padding-bottom: var(--spacing-xl) !important;
}

.page-title {
	color: var(--primary-dark) !important;
}

/* ==================================
   STILI ARTICOLI - Layout simile agli eventi
   ================================== */

.col-md-6 {
	padding-left: var(--spacing-sm) !important;
	padding-right: var(--spacing-sm) !important;
	margin-bottom: var(--spacing-md) !important;
}

@media screen and (min-width: 768px) {
	.article-info dd {
		margin-left: 0 !important; /* Rimuove il margin-left per schermi >= 768px */
	}
}

/* Header articolo con immagine e dettagli */
.article-header {
	margin-bottom: var(--spacing-xl);
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-lg);
	align-items: flex-start;
}

.article-image img {
	width: 100% !important;
	height: auto !important;
	object-fit: cover !important;
}

.article-details {
	flex: 1;
	min-width: 0;
}

/* Contenitore dettagli articolo */
.article-details .article-aside {
	padding: var(--spacing-sm) 0 var(--spacing-md) 0;
	margin: var(--spacing-sm) 0 0 0 !important;
	border-radius: var(--border-radius-sm) !important;
}

/* Stili base per tutti i dettagli articolo */
.article-details .article-aside .article-info,
.article-details .article-aside .article-rating,
.article-details .article-aside .article-icons {
	font-family: var(--font-family);
	font-size: var(--font-size-md);
	line-height: 1.4;
	color: var(--primary-dark) !important;
	margin: 0;
}

@media screen and (min-width: 768px) {
	.article-info dd {
		padding-left: 0 !important; /* Rimuove il padding-left per schermi >= 768px */
	}
}

.article-details .article-aside .article-info:first-child {
	border-top: none !important; /* Rimuove il bordo superiore dal primo elemento */
}

/* Contenuto articolo a piena larghezza */
.article-content {
	width: 100%;
	padding: var(--spacing-xl) 0;
	font-family: var(--font-family);
	font-size: var(--font-size-md);
	line-height: 1.6;
	color: var(--primary-dark);
}

/* Titolo dell'articolo - stesso stile dell'evento */
.article-title-heading {
	color: var(--primary-dark) !important;
	font-family: var(--font-family-heading) !important;
	font-weight: var(--font-weight-medium) !important;
	font-size: var(--font-size-xl) !important;
	margin-bottom: var(--spacing-lg) !important;
	line-height: 1 !important;
}

/* ==================================
   STILE META DESCRIPTION ARTICOLI
   ================================== */
.article-meta-description {
	margin: var(--spacing-md) 0;
	padding: var(--spacing-md);
	color: white;
	font-size: var(--font-size-lg);
	background: var(--bg-primary);
	line-height: 1.5;
}

.category-92 .article {
	padding-bottom: 0 !important;
	position: relative;
}

/* Stili per la categoria 92 */
.category-92 .article-header {
	clear: both;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: var(--spacing-lg);
	margin-bottom: 0;
}

.blog article {
	border-bottom: none;
	background-color: white;
	padding-bottom: 0px !important;
}

.category-92 .article-aside {
	margin-bottom: var(--spacing-sm) !important;
}

.category-92 .row {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-start !important;
}

.category-92 .col-lg-3 {
	display: flex;
	flex-direction: column;
}

.category-92 .col-md-6 {
	padding-left: var(--spacing-sm) !important;
}

.category-92 .items-more {
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-medium);
	color: var(--text-primary-dark) !important;
	margin-top: var(--spacing-xxxl);
	margin-bottom: var(--spacing-xxxl);
	line-height: 1.3;
}

.category-92 .items-more a {
	color: var(--text-primary-color);
}

.items-more .nav > li > a {
	padding: 20px 0 20px 0px !important;
	color: var(--text-primary-dark) !important;
}

.category-92 .pagination {
	font-size: var(--font-size-md);
	color: var(--text-primary-dark);
}

.category-92 .pagination a {
	color: var(--text-primary-dark);
	border: 1.2px solid var(--primary-dark);
	background: transparent;
}

.category-92 .pagination a:hover {
	background-color: var(--primary-dark);
	border: 1.2px solid var(--primary-dark);
	color: white;
}

.category-92 .pagination .active a {
	background-color: var(--primary-color);
	color: white;
	border: 1.2px solid var(--primary-dark);
}

.category-92 .counter {
	background-color: #ffffff;
	border-radius: 4px;
	border: 1px solid #dddddd;
	color: #4c5560;
	display: inline-block;
	margin: 0;
	padding: 10px 20px;
	display: none !important; /* Nasconde il contatore */
}

.category-92 .article-info {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	align-items: center;
	font-family: var(--font-family);
	font-size: var(--font-size-sm);
	line-height: 1.4;
	color: var(--primary-dark) !important;
	margin: 0 0 var(--spacing-sm) 0 !important;
	padding: 0 !important;
	border: none !important;
}

.category-92 .article-info dd {
	margin: 0;
}

.category-92 .article-intro {
	padding: var(--spacing-lg);
	margin-bottom: var(--spacing-xxl);
	color: var(--text-primary-dark);
	font-size: var(--font-size-md);
	line-height: 1.4;
	flex: 1;
	background-color: white;
}

.category-92 .readmore {
	margin-top: var(--spacing-lg);
}

.category-92 .readmore a {
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	border: 1.2px solid var(--border-color);
	padding: var(--spacing-md) var(--spacing-md);
	border-radius: var(--border-radius-pill);
	color: var(--text-primary-dark);
	text-transform: uppercase;
	background: transparent;
}

.category-92 .article-title {
	font-size: var(--font-size-lg) !important;
	color: var(--text-primary-dark) !important;
	font-weight: var(--font-weight-medium) !important;
	font-family: var(--font-family-heading) !important;
	line-height: 1.3;
}

.article-title,
.article-header h1 {
	margin: 0;
}

/* Stili per la categoria 92 */
.category-92 .article-title a {
	font-size: var(--font-size-lg) !important;
	color: var(--text-primary-dark) !important;
	font-weight: var(--font-weight-medium) !important;
	font-family: var(--font-family-heading) !important;
	line-height: 1.3;
}

.category-92 .item-image img {
	width: 100%;
	height: 250px !important;
	object-fit: cover;
	border-radius: 2px !important;
}

/* Titolo Approfondimenti */
.t3-section .section-title {
	font-family: var(--font-family-heading);
	font-size: var(--font-size-xl);
	color: var(--text-primary-dark);
	margin-bottom: 20px;
	position: relative;
	padding-left: 15px;
	border-left: 4px solid var(--primary);
	letter-spacing: 1px;
	text-align: start;
}

/* ==================================
   STILI PER PAGINA ARCHIVIO EVENTI - STILE NON FEATURED
   ================================== */

/* Sovrascrivi gli stili featured per la pagina archivio (Itemid 519) */
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-new-layout-event-details,
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-new-layout-event-taxonomy {
	background-color: white !important;
}

/* Nascondi l'immagine per tutti gli eventi nella pagina archivio */
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item
	.rsepro-new-layout-image {
	display: none !important;
}

/* Nascondi il blocco location per tutti gli eventi nella pagina archivio */
.com_rseventspro.view-rseventspro.itemid-519 .rsepro-event-location-block {
	display: none !important;
}

/* Ripristina colori testo normali per eventi featured nella pagina archivio */
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-new-layout-event-title
	a,
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.event-date-above-title,
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-event-from-block,
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-event-until-block,
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-event-sameday,
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-event-location-block
	a,
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-event-tags-block
	a {
	color: var(--text-primary-dark) !important;
}

/* Ripristina bordo bianco per la data above the title negli eventi featured nella pagina archivio */
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.event-date-above-title {
	border: 1.5px solid var(--border-color) !important;
}

/* Nascondi il badge "in evidenza" nella pagina archivio */
.com_rseventspro.view-rseventspro.itemid-519
	#rs_events_container
	> li.rs_featured::after {
	display: none !important;
}

/* Icona location normale negli eventi featured nella pagina archivio */
.com_rseventspro.view-rseventspro.itemid-519
	.rsepro-new-layout-item.rs_featured
	.rsepro-event-location-block
	a::before {
	color: var(--text-primary) !important;
}

/* Nascondi l'elemento di ricerca archivio storico */
div:has(> label[for="rsarchive"]) {
	display: none;
}

/* ==================================
   RSM MEMBERSHIP ELEMENTS
   ================================== */

.col-md-4.rsm_container {
	padding: var(--spacing-lg);
}

.rsm_container .card {
	border: none !important;
	border-radius: var(--border-radius-lg);
	background-color: white !important;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.rsm_container .rsm_thumbnail {
	display: none;
}

.rsm_container .card-body {
	padding: var(--spacing-xl);
}

.rsm_container .rsm_title.card-title {
	color: var(--text-primary-dark);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	margin-bottom: var(--spacing-md);
	line-height: 1.3;
	font-family: var(--font-family-heading);
}

.rsm_container .rsm_title.card-title a {
	color: inherit;
	text-decoration: none;
	font-family: var(--font-family-heading);
}

.rsm_container .rsm_title.card-title a:hover {
	color: inherit;
	text-decoration: none;
	font-family: var(--font-family-heading);
}

.rsm_container .rsm_title small {
	font-size: var(--font-size-xl);
	color: var(--primary-dark) !important;
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family);
}

.rsm_container .card-body p {
	color: var(--primary-dark) !important;
	font-size: var(--font-size-base);
	line-height: 1.5;
	margin-bottom: var(--spacing-md);
	font-family: var(--font-family);
}

.rsm_container .card-body h2 {
	color: var(--success-color);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	margin: var(--spacing-lg) 0;
	font-family: var(--font-family);
}

.rsm_container .btn-group {
	margin-top: var(--spacing-xxl) !important;
	margin-bottom: var(--spacing-xxxl) !important;
	display: flex;
	gap: var(--spacing-md);
}

.rsm_container .btn-group .btn {
	padding: var(--spacing-sm);
	border-radius: var(--border-radius-pill);
	font-size: var(--font-size-md);
	font-weight: var(--font-weight-medium);
	border: none;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	transition: all var(--transition-normal);
	font-family: var(--font-family);
}

.rsm_container .btn-group .btn.btn-secondary {
	background-color: var(--secondary-color);
	color: var(--text-primary-dark);
}

.rsm_container .btn-group .btn.btn-secondary:hover {
	background-color: var(--primary-dark) !important;
	color: var(--text-light);
}

.rsm_container .btn-group .btn.btn-success {
	background-color: transparent;
	color: var(--primary-dark);
	text-transform: uppercase;
	border: 1.5px solid var(--border-color);
}

.rsm_container .btn-group .btn.btn-success:hover {
	background-color: var(--primary-dark) !important;
	color: var(--text-light);
}

.rsm_container .rsmemgrid-clearfix,
.rsm_container .clearfix {
	clear: both;
}

/* Stile per tutti gli elementi li nelle card RSM */
.rsm_container li {
	font-size: var(--font-size-base) !important;
	color: var(--primary-dark) !important;
}

/* Stile speciale per la seconda card RSM */
.rsm_container:nth-child(2) .card {
	background-color: var(--secondary-color) !important;
}

/* Stile speciale per la terza card RSM */
.rsm_container:nth-child(3) .card {
	background-color: var(--primary-color) !important;
}

.rsm_container:nth-child(3) .rsm_title.card-title {
	color: white;
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	margin-bottom: var(--spacing-md);
	line-height: 1.3;
	font-family: var(--font-family-heading);
}

.rsm_container:nth-child(3) .rsm_title.card-title a {
	color: white !important;
	text-decoration: none;
	font-family: var(--font-family-heading);
}

.rsm_container:nth-child(3) .rsm_title.card-title a:hover {
	color: inherit;
	text-decoration: none;
	font-family: var(--font-family-heading);
}

.rsm_container:nth-child(3) .rsm_title small {
	color: white !important;
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family);
}

.rsm_container:nth-child(3) .card-body p {
	color: white !important;
	font-size: var(--font-size-base);
	line-height: 1.5;
	margin-bottom: var(--spacing-md);
	font-family: var(--font-family);
}

.rsm_container:nth-child(3) .card-body h2 {
	color: white !important;
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	margin: var(--spacing-lg) 0;
	font-family: var(--font-family);
}

.rsm_container:nth-child(3) li {
	color: white !important;
	font-size: var(--font-size-base) !important;
}

.rsm_container:nth-child(3) .btn.btn-success {
	background-color: var(--primary-dark);
	border: none;
	color: white;
	text-transform: uppercase;
}

.rsm_container:nth-child(3) .btn.btn-success:hover {
	background-color: transparent !important;
	border: 1px solid white;
	color: white;
}

/***************************************
 * Profilo AcyMailing – miglioramenti UI
 * Scope: solo pagina profilo
 ***************************************/
html.com_acym.view-frontusers.layout-profile #acym_wrapper {
	--ttd-gap: 18px;
	--ttd-gap-lg: 24px;
	--ttd-radius: 10px;
	--ttd-border: 1px solid #e6e6e6;
	--ttd-muted: #6b7280;
	--ttd-title: #111827;
	--ttd-accent: #0d6efd; /* blu bootstrap-like */
}

/* Fieldset come “card” */
html.com_acym.view-frontusers.layout-profile #acym_wrapper .acy_user_info {
	background: #fff;
	border: var(--ttd-border);
	border-radius: var(--ttd-radius);
	padding: 18px;
}
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	.acy_user_info
	> legend {
	font-weight: 700;
	color: var(--ttd-title);
	padding: 0 6px;
}

/* Griglia campi: 2 colonne su desktop, 1 su mobile */
html.com_acym.view-frontusers.layout-profile #acym_wrapper #acyuserinfo {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ttd-gap);
}
@media (min-width: 768px) {
	html.com_acym.view-frontusers.layout-profile #acym_wrapper #acyuserinfo {
		grid-template-columns: 1fr 1fr;
		gap: var(--ttd-gap-lg);
	}
}

/* Blocchi campo */
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#acyuserinfo
	.onefield {
	display: block;
}

/* Titolo di ciascun campo */
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	.acym__users__creation__fields__title {
	display: block;
	font-weight: 600;
	color: var(--ttd-title);
	margin-bottom: 6px;
	line-height: 1.2;
}

/* Input testuali (Città, Job title) */
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#acyuserinfo
	.onefield
	input[type="text"],
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#acyuserinfo
	.onefield
	input[type="email"] {
	width: 100%;
	height: 44px;
	padding: 10px 12px;
	border: var(--ttd-border);
	border-radius: 8px;
	outline: none;
	transition:
		box-shadow 0.15s ease,
		border-color 0.15s ease;
	background: #fff;
}
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#acyuserinfo
	.onefield
	input[type="text"]:focus,
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#acyuserinfo
	.onefield
	input[type="email"]:focus {
	border-color: var(--ttd-accent);
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
}

/* Stato disabilitato (es. Email) */
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#acyuserinfo
	.onefield
	input[disabled] {
	background: #f8f9fb;
	color: #8b93a1;
	cursor: not-allowed;
}

/* Età (radio) e Settore Professionale (checkbox): layout orizzontale con “pill” */
html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_9 .cell,
html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_10 .cell {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Etichette pill */
html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_9 label,
html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_10 label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: var(--ttd-border);
	border-radius: 999px;
	line-height: 1;
	background: #fff;
	color: #1f2937;
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		box-shadow 0.15s ease;
	cursor: pointer;
	user-select: none;
}

/* Input radio/checkbox più visibili + colore accento coerente */
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#field_9
	input[type="radio"],
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#field_10
	input[type="checkbox"] {
	accent-color: var(--ttd-accent);
	transform: translateY(0.5px);
}

/* Focus/hover su pill */
html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_9 label:hover,
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#field_10
	label:hover {
	border-color: var(--ttd-accent);
	background: #f4f8ff;
}

/* Stato selezionato (usa :has – se il browser non lo supporta, resta comunque ben leggibile) */
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#field_9
	label:has(input:checked),
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	#field_10
	label:has(input:checked) {
	border-color: var(--ttd-accent);
	background: #e9f2ff;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

/* Città e Job title – assegna colonne sulla griglia per distribuire orizzontalmente */
@media (min-width: 768px) {
	html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_4,
	html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_5 {
		grid-column: span 1;
	}
	/* Età e Settore possono occupare tutta la riga se hanno molte opzioni */
	html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_9,
	html.com_acym.view-frontusers.layout-profile #acym_wrapper #field_10 {
		grid-column: 1 / -1;
	}
}

/* Messaggi di errore campo */
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	.acym__field__error__block {
	margin-top: 6px;
	color: #b91c1c;
	font-size: 13px;
}

/* Pulsante "Save Changes" più evidente, full-width su mobile */
html.com_acym.view-frontusers.layout-profile #acym_wrapper .acymodifybutton {
	margin-top: 16px;
}
html.com_acym.view-frontusers.layout-profile
	#acym_wrapper
	.acymodifybutton
	.btn {
	min-height: 44px;
	font-weight: 600;
	padding: 10px 18px;
}
@media (max-width: 767.98px) {
	html.com_acym.view-frontusers.layout-profile
		#acym_wrapper
		.acymodifybutton
		.btn {
		width: 100%;
	}
}

/* Micro-ritocchi tipografici */
html.com_acym.view-frontusers.layout-profile #t3-mainbody .t3-content {
	font-size: 16px;
	line-height: 1.5;
	color: #1f2937;
}

.t3-mainbody {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/****************************************************
 * RSMembership – Subscribe page (Iscriviti a takethedate)
 * Scope: SOLO pagina iscrizione
 ****************************************************/
html.com_rsmembership.view-rsmembership.task-subscribe {
	--ttd-gap: 18px;
	--ttd-gap-lg: 24px;
	--ttd-radius: 10px;
	--ttd-border: 1px solid #e6e6e6;
	--ttd-muted: #6b7280;
	--ttd-title: #111827;
	--ttd-accent: #0d6efd; /* blu bootstrap-like */
}

/* Card pulita per ogni sezione del form */
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsm_form_container
	.item-page {
	background: #fff;
	border: var(--ttd-border);
	border-radius: var(--ttd-radius);
	padding: 18px;
	margin-bottom: var(--ttd-gap-lg);
}

/* Titoli sezione */
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsm_form_container
	.item-page
	.page-header {
	margin: 0 0 12px;
	border: 0;
}

.page-header {
	padding-bottom: 0px;
	margin: 52px 0 5px;
	border-bottom: 1px solid #eeeeee;
}

html.com_rsmembership.view-rsmembership.task-subscribe
	.rsm_form_container
	.item-page
	h3.page-header {
	font-weight: 700;
	color: var(--ttd-title);
	font-size: 20px;
	margin: 0 0 10px;
	border: 0;
}

/* Tipografia generale zona contenuto */
html.com_rsmembership.view-rsmembership.task-subscribe
	#t3-mainbody
	.t3-content {
	font-size: 16px;
	line-height: 1.5;
	color: #1f2937;
}

/* Allineamento label/campi più compatto */
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	.control-group {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin-bottom: var(--ttd-gap);
}
@media (min-width: 768px) {
	html.com_rsmembership.view-rsmembership.task-subscribe
		.rsmembership_form
		.control-group {
		grid-template-columns: 280px 1fr; /* colonna label + campo */
		align-items: start;
	}
}

/* Label dei campi */
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	.control-label
	label {
	font-weight: 600;
	color: var(--ttd-title);
	margin: 0;
}

/* Input testuali (username, name, email, piva, azienda, sdi, via, job title, città, coupon) */
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	.controls
	input[type="text"],
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	.controls
	input[type="email"] {
	width: 100%;
	height: 44px;
	padding: 10px 12px;
	border: var(--ttd-border);
	border-radius: 8px;
	outline: none;
	transition:
		box-shadow 0.15s ease,
		border-color 0.15s ease;
	background: #fff;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	.controls
	input[type="text"]:focus,
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	.controls
	input[type="email"]:focus {
	border-color: var(--ttd-accent);
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.12);
}

/* Gruppi checkbox / radio in stile “pill” su una riga con wrapping */
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	fieldset.radio,
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	fieldset.checkboxes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	border: 0;
	margin: 0;
}

/* Radio “Privato o Azienda” (fieldset #rsm_field_11_) come pill */
html.com_rsmembership.view-rsmembership.task-subscribe #rsm_field_11_ .radio {
	display: inline-flex;
	align-items: center;
	padding: 0;
	margin: 0;
}
html.com_rsmembership.view-rsmembership.task-subscribe #rsm_field_11_ label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: var(--ttd-border);
	border-radius: 999px;
	background: #fff;
	color: #1f2937;
	cursor: pointer;
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		box-shadow 0.15s ease;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_11_
	input[type="radio"] {
	accent-color: var(--ttd-accent);
}
/* Stato selezionato via input:checked + label */
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_11_
	input[type="radio"]:checked
	+ label,
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_11_
	.label:hover {
	border-color: var(--ttd-accent);
	background: #e9f2ff;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

/* Età (fieldset #rsm_field_10_) – checkbox pill */
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_10_
	.form-check {
	margin: 0;
	padding: 0;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_10_
	.form-check-input {
	display: none; /* nasconde il box nativo; usiamo la pill */
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_10_
	.form-check-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: var(--ttd-border);
	border-radius: 999px;
	background: #fff;
	color: #1f2937;
	cursor: pointer;
	user-select: none;
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		box-shadow 0.15s ease;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_10_
	.form-check-input:checked
	+ .form-check-label,
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_10_
	.form-check-label:hover {
	border-color: var(--ttd-accent);
	background: #e9f2ff;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

/* Newsletter (fieldset #rsm_field_5_) – checkbox pill con limite 2 (JS già presente) */
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_5_
	.form-check {
	margin: 0;
	padding: 0;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_5_
	.form-check-input {
	display: none;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_5_
	.form-check-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: var(--ttd-border);
	border-radius: 999px;
	background: #fff;
	color: #1f2937;
	cursor: pointer;
	user-select: none;
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		box-shadow 0.15s ease;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_5_
	.form-check-input:checked
	+ .form-check-label,
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_5_
	.form-check-label:hover {
	border-color: var(--ttd-accent);
	background: #e9f2ff;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

/* Settore Professionale (fieldset #rsm_field_13_) – checkbox pill */
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_13_
	.form-check {
	margin: 0;
	padding: 0;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_13_
	.form-check-input {
	display: none;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_13_
	.form-check-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: var(--ttd-border);
	border-radius: 999px;
	background: #fff;
	color: #1f2937;
	cursor: pointer;
	user-select: none;
	transition:
		border-color 0.15s ease,
		background-color 0.15s ease,
		box-shadow 0.15s ease;
}
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_13_
	.form-check-input:checked
	+ .form-check-label,
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_field_13_
	.form-check-label:hover {
	border-color: var(--ttd-accent);
	background: #e9f2ff;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

/* Distribuzione a griglia dei gruppi “compatti” su desktop */
@media (min-width: 768px) {
	/* dentro ogni card, affianca i group più corti */
	html.com_rsmembership.view-rsmembership.task-subscribe
		.rsm_form_container
		.item-page {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--ttd-gap);
	}
	/* Se la card contiene più control-group, usa 2 colonne */
	html.com_rsmembership.view-rsmembership.task-subscribe
		.rsm_form_container
		.item-page
		> .control-group {
		grid-column: span 2;
	}
	/* Specifico per la card "Se ci fornisco questi dati..." per affiancare i tre campi */
	html.com_rsmembership.view_rsmembership.task-subscribe
		.rsm_form_container
		.item-page:has(#rsm_field_10_) {
		grid-template-columns: 1fr 1fr;
	}
	/* Età e Newsletter a tutta riga, Job Title e Città affiancati */
	html.com_rsmembership.view-rsmembership.task-subscribe #rsm_field_10_-lbl,
	html.com_rsmembership.view_rsmembership.task-subscribe #rsm_field_10_,
	html.com_rsmembership.view-rsmembership.task-subscribe #rsm_field_5_-lbl,
	html.com_rsmembership.view-rsmembership.task-subscribe #rsm_field_5_ {
		grid-column: 1 / -1;
	}
}

/* Totali & pagamento: legibilità */
html.com_rsmembership.view-rsmembership.task-subscribe
	#rsm_subscribe_payment
	.item-page
	p {
	margin-bottom: 8px;
	color: var(--ttd-muted);
}
html.com_rsmembership.view-rsmembership.task-subscribe #rsm_grand_total {
	font-weight: 700;
	font-size: 18px;
}

/* Pulsante finale */
html.com_rsmembership.view-rsmembership.task-subscribe
	.rsmembership_form
	.form-actions
	.btn {
	min-height: 44px;
	padding: 10px 18px;
	font-weight: 600;
}
@media (max-width: 767.98px) {
	html.com_rsmembership.view_rsmembership.task-subscribe
		.rsmembership_form
		.form-actions
		.btn {
		width: 100%;
	}
}

/* Messaggi help / suggerimenti username più sobri */
html.com_rsmembership.view-rsmembership.task-subscribe #rsm_username_message,
html.com_rsmembership.view-rsmembership.task-subscribe #rsm_suggestions {
	font-size: 14px;
	color: var(--ttd-muted);
}

/* Correzione margini micro */
html.com_rsmembership.view-rsmembership.task-subscribe .my-0 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
html.com_rsmembership.view_rsmembership.task-subscribe .mb-0 {
	margin-bottom: 0 !important;
}
html.com_rsmembership.view_rsmembership.task-subscribe .mb-3 {
	margin-bottom: 1rem !important;
}

/* === STILI MASTHEAD (mod_prettymasthead) === */
/* Aumenta altezza masthead */
.pretty-masthead .ratio {
	min-height: 500px; /* Regola questo valore per l'altezza*/
}

@media (max-width: 991px) {
	.pretty-masthead .ratio {
		min-height: 400px; /* Altezza ridotta su tablet */
	}
}

@media (max-width: 767px) {
	.pretty-masthead .ratio {
		min-height: 200px; /* Altezza ridotta su mobile */
	}
}

/* Overlay sopra immagine ma sotto testi */
.pretty-masthead .ratio {
	position: relative;
}
.pretty-masthead .ratio::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #001742c6;
	z-index: 0;
}
.pretty-masthead .content {
	position: relative;
	z-index: 1;
}

/* Sovrascrivi stili testi masthead */
.pretty-masthead .title span {
	background: none !important;
	color: white !important;
	font-family: var(--bs-body-font-family) !important;
	font-size: var(--font-size-xl) !important;
}
.pretty-masthead .description span {
	background: none !important;
	color: white !important;
	font-family: var(--bs-body-font-family) !important;
	font-size: var(--font-size-md) !important;
	font-weight: var(--font-weight-light) !important;
}

/* ==================================
   OFF-CANVAS SIDEBAR
   ================================== */

.off-canvas-effect-3.off-canvas-open .off-canvas-effect-3.t3-off-canvas {
	background: var(--bg-primary-dark);
}

.t3-off-canvas .t3-off-canvas-header {
	background: var(--bg-primary);
	color: #ffffff;
	padding: 0 0 0 20px;
	height: 35px;
}

.t3-off-canvas .t3-off-canvas-header h2 {
	margin: 0;
	line-height: 35px;
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;
	color: white !important;
}

.t3-off-canvas .close {
	margin: 0;
	height: 35px;
	line-height: 35px;
	width: 35px;
	background: var(--primary-dark) !important;
	position: absolute;
	color: white !important;
	top: 0;
	right: 0;
}

.close {
	float: right;
	font-size: 21px;
	font-weight: var(--font-weight-medium);
	line-height: 1;
	filter: alpha(opacity=20);
	opacity: 1;
}

.t3-off-canvas .t3-off-canvas-body {
	background: var(--bg-primary-dark);
	color: #ffffff;
	padding: 40px 20px;
}

.t3-off-canvas .t3-off-canvas-body .nav > li {
	border: none;
	margin-bottom: 3px;
}

.t3-off-canvas .t3-off-canvas-body .nav > li > a {
	padding: 8px 13px;
	color: #ffffff;
	text-transform: uppercase;
}

.t3-off-canvas .t3-off-canvas-body .nav > li.active > a {
	color: var(--primary-color);
}

.t3-off-canvas .t3-off-canvas-body .nav .nav-child li a {
	color: #ffffffd1;
}

.t3-off-canvas .t3-off-canvas-body .nav .nav-child {
	border-top: none !important;
}

.off-canvas-toggle {
	border-radius: 3px;
	border: 0;
	padding: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	float: right;
	background-color: var(--bg-primary);
}

/* ==================================
   STILI PER osmembership
   ================================== */

/*--------Global style-------------*/
.osm-container {
	padding: 10px 0;
	max-width: var(--container-max-width);
	margin: 0 auto;
}

/* Home page specific styles for pricing table - excluded from itemid-638 */
body:not(.itemid-638) #osm-plans-list-pricing-table-flat {
	position: relative;
	background: transparent;
	padding-top: var(--spacing-xxxl);
	padding-bottom: var(--spacing-lg);
}

body:not(.itemid-638) #osm-plans-list-pricing-table-flat::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 100%;
	background-color: var(--primary-dark);
	z-index: -1;
}

/* Home page specific styles for h2.osm-page-title - excluded from itemid-638 */
body:not(.itemid-638) h2.osm-page-title {
	color: white !important;
	text-align: center;
	margin: 0 0 var(--spacing-lg) 0 !important;
}

/* ITEMID-638 OVERRIDES - SUBSCRIPTION PAGE - COMPLETE RESET */

/* Remove background and pseudo-element completely for itemid-638 */
.itemid-638 #osm-plans-list-pricing-table-flat,
.itemid-638 #osm-plans-list-pricing-table-flat::before,
.itemid-638 .osm-container {
	background-color: transparent !important;
	background-image: none !important;
}

/* Explicitly hide and remove the pseudo-element */
.itemid-638 #osm-plans-list-pricing-table-flat::before {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	content: "" !important;
	width: auto !important;
	height: auto !important;
	position: static !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	z-index: auto !important;
}

/* Reset padding for itemid-638 */
.itemid-638 #osm-plans-list-pricing-table-flat {
	position: static !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Reset title styling for itemid-638 */
.itemid-638 h2.osm-page-title {
	text-align: left !important;
	background: transparent !important;
}

.osm-container img {
	border: 0 none;
	float: left !important;
	margin: 0 10px 0 0;
}

.osm-container h1,
.osm-container h2 {
	width: auto;
	margin: 5px 0 5px 0;
	padding: 0;
	float: none;
}

h1.osm-page-title {
	margin: 0 0 var(--spacing-lg) 0 !important;
}

.osm-container .osm-item-wrapper {
	margin-bottom: 20px;
}

.osm-container .osm-item-heading-box {
	border-radius: 5px 5px 0 0;
	color: #333333;
	font-weight: bold;
	padding: 4px 8px 4px;
	margin: 0;
	background: #f2f2f2 url(https://takethedate.it/templates/ja_directory/images/background.png) repeat-x 0 0;
	border: 1px solid #dbdee1;
}

.osm-container .osm-item-heading-box h2 {
	margin: 0;
}

.osm-container h2.osm-item-title {
	margin: 6px 0 !important;
}

.osm-container .osm-item-description {
	background: #fff;
	border-radius: 0 0 7px 7px;
	margin: 0;
	padding: 10px;
	border-bottom: 1px solid #dbdee1;
	border-left: 1px solid #dbdee1;
	border-right: 1px solid #dbdee1;
}

.osm-container .osm-item-wrapper img {
	margin: 0 10px 0 0 !important;
	padding: 0 !important;
}

.osm-container img.osm-thumb-left {
	margin: 0 15px 0 0 !important;
	float: left !important;
	max-width: 120px;
}

.osm-container img.osm-thumb-right {
	margin: 0 0 0 15px !important;
	float: right !important;
}

/* ---------- Category styles --------------------------------------- */
.osm-container .osm-plan-properties {
	width: 290px;
	background: #ecf4fb;
	padding: 5px 5px 5px 10px;
	margin: 0 5px 5px;
	float: right;
}

td.osm-plan-property-label {
	width: 110px;
	text-align: left;
	font-weight: bold;
}

/* ---------- Taskbar styles ---------------------------------------- */
.osm-taskbar {
	padding: 0 0 6px 0;
	margin: 0 0 6px 0;
	list-style-type: none;
}

.osm-taskbar ul {
	margin: 0 !important;
	padding: 0 !important;
}

.osm-taskbar li {
	float: left !important;
	list-style-type: none !important;
	background-image: none !important;
	padding: 0 5px 0 0 !important;
	margin: 0.5em 0 2px 0 !important;
}

.osm-taskbar li a:link,
.osm-taskbar li a:visited,
.osm-taskbar li a:hover {
	text-decoration: none;
}

.osm-taskbar li a:hover {
}

/**Plan detail style**/
#osm-plan {
	padding: 0 15px 15px 15px;
}

#osm-plan-details {
	padding: 10px 0;
}

#osm-plan h1.osm-page-title {
	margin: 0 0 10px 0 !important;
}

.heading {
	font-size: 15px;
	font-weight: bold;
	text-decoration: underline;
}

span.error {
	color: red;
}

.col_container {
	min-height: 150px;
}

table.os_table {
	margin-bottom: 20px;
}

table.os_table td.title_cell {
	width: 25%;
	font-weight: bold;
	padding-top: 10px;
}

/*** Css for dispalying inputbox td **/
table.os_table td.field_cell {
	padding-top: 10px;
}

/*** Css for display '*' next to required field ***/
.required {
	padding-left: 5px;
	color: red;
}

span.star {
	color: red;
}

.invalid,
.error {
	color: red;
}

#restricted_info {
	background-color: #83cc00;
	min-height: 40px;
	margin: 0;
	padding: 5px;
	font-weight: bold;
}

.text-error {
	color: #b94a48;
	font-size: 14px;
	font-weight: bold;
}

.inline-display {
	display: inline;
}

.explain-text {
	margin-left: 10px;
}

#ajax-loading-animation {
	vertical-align: bottom;
}

form.form-horizontal .control-label,
form.form-horizontal .control-label label {
	text-align: left;
	font-weight: bold;
}

/**Form CSSS**/

form.form-horizontal ul,
form.form-horizontal ul {
	list-style: none;
}

form.form-horizontal ul li label,
form.form-horizontal ul li label {
	display: inline;
}

.table td.right,
th.right {
	text-align: right;
}

.table td.left,
th.right {
	text-align: left;
}

/**Pricing table*/
#osm-plans-list-columns .osm-pricing-table {
	padding: 0;
	margin: 0 0 25px 0;
	width: auto;
}

.osm-pricing-table .osm-plan {
	border-radius: 5px;
	text-align: center;
	background-color: #f3f3f3;
	-moz-box-shadow: 0 0 6px 2px #b0b2ab;
	-webkit-box-shadow: 0 0 6px 2px #b0b2ab;
	box-shadow: 0 0 6px 2px #b0b2ab;
	position: relative;
}

.osm-pricing-table .osm-plan:hover {
	-moz-box-shadow: 0 0 12px 3px #b0b2ab;
	-webkit-box-shadow: 0 0 12px 3px #b0b2ab;
	box-shadow: 0 0 12px 3px #b0b2ab;
}

.osm-pricing-table .osm-plan .osm-plan-short-description {
	padding: 10px;
}

.osm-pricing-table .osm-plan-recommended {
	transition: all 0.25s ease 0s;
	overflow: hidden;
}

.osm-pricing-table .osm-plan .osm-plan-header {
	padding: 10px 50px;
	color: #fff;
	display: block;
	background-color: #363948;
	-moz-border-radius: 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
}

.osm-pricing-table .osm-plan .osm-plan-header h2 {
	color: #fff !important;
	font-size: 22px;
	line-height: normal;
	margin: 0 !important;
	text-transform: uppercase;
}

.osm-pricing-table .osm-plan .osm-plan-header span.osm-plan-price {
	font-size: 20px;
}

.osm-plan-price {
	background: #27ae60;
	color: #fff;
	padding: 20px 0 10px;
}

.osm-plan-recommended .osm-plan-price {
	background: #eb5e4c;
}

.osm-plan-price .price {
	color: #fff;
	display: inline-block;
	margin-bottom: 0.625rem;
	position: relative;
}

.osm-plan-price .price span {
	font-size: 45px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: normal;
}

.osm-plan-price .price sup {
	font-size: 1.5rem;
	left: -12px;
	position: absolute;
	top: 12px;
}

.osm-pricing-table .osm-plan ul {
	list-style: none;
	margin: -10px;
	padding: 0;
}

.osm-pricing-table .osm-plan ul.osm-signup-container {
	padding: 10px;
	margin: 0;
}

.osm-pricing-table .osm-plan ul li.plan-feature {
	padding: 15px 10px;
	border-top: 1px solid #c5c8c0;
}

.osm-pricing-table .osm-plan ul li:nth-child(2n + 1).plan-feature {
	background: #fff;
}

.osm-pricing-table .btn-singup {
	padding: 8px 25px;
	font-size: 18px;
}

.osm-pricing-table .osm-plan-recommended .plan-recommended {
	background: #27ae60;
	border-radius: 0 0 4px 4px;
	color: white;
	display: block;
	font-size: 12px;
	font-weight: bold;
	left: -35px;
	line-height: 22px;
	padding: 5px 10px;
	position: absolute;
	text-align: center;
	text-shadow: 0 1px rgba(0, 0, 0, 0.05);
	top: 18px;
	transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	width: 130px;
}

.osm-container .form-group .radio,
.osm-container .form-group .checkbox {
	min-height: 1px !important;
}

.osm-container .form-group input.radio,
.osm-container .form-group input.checkbox,
.osm-container .form-group select {
	display: inline-block;
}

.osm-container:not(.osm-container-j4) .form-group select,
.osm-container:not(.osm-container-j4) .form-group textarea,
.osm-container:not(.osm-container-j4) .form-group input[type="text"],
.osm-container:not(.osm-container-j4) .form-group input[type="password"],
.osm-container:not(.osm-container-j4) .form-group input[type="datetime"],
.osm-container:not(.osm-container-j4) .form-group input[type="datetime-local"],
.osm-container:not(.osm-container-j4) .form-group input[type="date"],
.osm-container:not(.osm-container-j4) .form-group input[type="month"],
.osm-container:not(.osm-container-j4) .form-group input[type="time"],
.osm-container:not(.osm-container-j4) .form-group input[type="week"],
.osm-container:not(.osm-container-j4) .form-group input[type="number"],
.osm-container:not(.osm-container-j4) .form-group input[type="email"],
.osm-container:not(.osm-container-j4) .form-group input[type="url"],
.osm-container:not(.osm-container-j4) .form-group input[type="search"],
.osm-container:not(.osm-container-j4) .form-group input[type="tel"],
.osm-container:not(.osm-container-j4) .form-group input[type="color"] {
	width: 210px;
}

.osm-container input[type="text"].input-mini,
.osm-container select.input-mini,
.osm-container textarea.input-mini {
	width: 60px !important;
}

.osm-container input[type="text"].input-small,
.osm-container select.input-small,
.osm-container textarea.input-small {
	width: 90px !important;
}

.osm-container input[type="text"].input-medium,
.osm-container select.input-medium,
.osm-container textarea.input-medium {
	width: 150px !important;
}

.osm-container input[type="text"].input-large,
.osm-container select.input-large,
.osm-container textarea.input-large {
	width: 210px !important;
}

.osm-container input[type="text"].input-xlarge,
.osm-container select.input-xlarge,
.osm-container textarea.input-xlarge {
	width: 270px !important;
}

.osm-container input[type="text"].input-xxlarge,
.osm-container select.input-xxlarge,
.osm-container textarea.input-xxlarge {
	width: 530px !important;
}

.osm-container:not(.osm-container-j4)
	div#osm-plans-list-columns
	div.row.osm-pricing-table
	.osm-plan {
	margin: 0 -15px;
}

.osm-active-plans-list {
}

.osm-active-plans-list li {
	margin-top: 5px;
}

/*--------Menbers style-------------*/
.osm-user-profile-wrapper {
	padding: 15px;
	background-color: #f5f5f5;
	border: 1px solid #e3e3e3;
	border-radius: 4px;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
	margin-bottom: 20px;
}

.osm-user-profile-wrapper .profile-name {
	font-size: 20px;
	text-transform: capitalize;
	padding-bottom: 20px;
}

.osm-user-profile-wrapper .table {
	margin-left: 5px;
}

.osm-user-profile-wrapper .table th,
.osm-user-profile-wrapper .table td {
	border: none;
	background: none !important;
	padding: 4px 0;
}

.osm-user-profile-wrapper td.osm-profile-field-title {
	font-weight: bold;
}

#osm-profile-list .osm-user-profile-wrapper img {
	float: inherit !important;
}

.btn-toolbar .btn-wrapper {
	display: inline-block;
	margin: 0 0 5px 5px;
}

.payment-methods-icons li {
	margin-bottom: 12px;
}

img.osm-payment-method-icon {
	float: none !important;
}

.osm-btn-update-card {
	margin-top: 5px;
}

div.avatar-container {
	text-align: center;
}

table.osm-profile-data td.osm-profile-field-title {
	font-weight: bold;
}

table.osm-profile-data tr:first-child td {
	border-top: none;
}

.osm-pricing-table-circle .osm-plan * {
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
}

.osm-pricing-table-circle .osm-plan {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 0 5px 1px rgba(62, 62, 62, 0.5);
	color: #222;
	margin: 0 auto 20px;
	max-width: 360px;
	min-height: 425px;
	overflow: hidden;
	text-align: center;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	-ms-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	border-box: box-sizing;
}

.osm-pricing-table-circle .osm-plan-header {
	background-color: #00b69c;
	color: #fff;
	height: 165px;
	margin: 0 0 105px;
	padding: 30px 30px 0;
	position: relative;
	line-height: 1.42857143;
}

.osm-pricing-table-circle .osm-plan-header > h2 {
	font-size: 28px;
	font-weight: bold;
	margin: 0 0 30px;
	text-transform: uppercase;
}

.osm-pricing-table-circle .osm-plan-price {
	background-color: #00b69c;
	border: 5px solid #fff;
	border-radius: 50%;
	bottom: 0;
	color: #222;
	height: 150px;
	left: 50%;
	margin-bottom: -75px;
	margin-left: -75px;
	padding: 30px 0;
	position: absolute;
	width: 150px;
}

.osm-pricing-table-circle .osm-plan-price p {
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	margin: 0;
}

.osm-pricing-table-circle .osm-plan-price sub {
	bottom: 10px;
	position: relative;
	color: #fff;
	font-size: 14px;
	display: block;
	line-height: 1.4;
}

.osm-pricing-table-circle .osm-plan-short-description {
	margin: 30px 30px 0;
}

.osm-pricing-table-circle .osm-plan-short-description li {
	border-top: 1px dotted #ddd;
	padding: 15px;
}

.osm-pricing-table-circle .osm-plan-short-description li:last-child {
	border-bottom: 1px dotted #ddd;
}

.osm-pricing-table-circle .btn-signup {
	background-color: #00b69c;
	color: #fff;
	margin: 10px 0;
	font-size: 16px;
	overflow: hidden;
	padding: 12px 22px;
	text-decoration: none;
	-webkit-box-shadow: 0 0 1px transparent;
	box-shadow: 0 0 1px transparent;
	display: inline-block;
	position: relative;
	-moz-transform: perspective(1px) translateZ(0px);
	-webkit-transform: perspective(1px) translateZ(0px);
	-o-transform: perspective(1px) translateZ(0px);
	-ms-transform: perspective(1px) translateZ(0px);
	transform: perspective(1px) translateZ(0px);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: color;
	transition-property: color;
	vertical-align: middle;
	border-radius: 4px;
}

.osm-pricing-table .btn-signup:before {
	background-color: #000;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	-moz-transform: scaleX(0);
	-webkit-transform: scaleX(0);
	-o-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 50%;
	transform-origin: 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	z-index: -1;
}

.osm-pricing-table-circle .btn-signup:hover,
.osm-pricing-table-circle .btn-signup:active {
	color: #fff;
	border-color: #000;
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-o-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}

.osm-pricing-table-circle .btn-signup:hover:before,
.osm-pricing-table-circle .btn-signup:focus:before,
.osm-pricing-table-circle .btn-signup:active:before {
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-o-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}

/* osm-flat */
.osm-pricing-table-flat,
.osm-pricing-table-flat * {
	color: #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.osm-pricing-table-flat {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
}

.osm-pricing-table-flat .col-md-4 {
	display: flex;
	flex-direction: column;
	flex: 1 1 33.333%;
	max-width: 33.333%;
	padding: 0 15px;
	box-sizing: border-box;
}

.osm-pricing-table-flat .osm-plan {
	border-radius: 6px;
	overflow: hidden;
	text-align: center;
	border: none;
	padding: 40px 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
	margin-left: -15px !important;
}

.osm-pricing-table-flat h2.osm-plan-title {
	font-size: 25px;
	border-bottom: 2px solid;
	color: #fff;
	font-weight: bold;
	letter-spacing: 2px;
	margin: 0;
	padding-bottom: 10px;
	text-transform: uppercase;
}

.osm-pricing-table-flat .osm-plan-price {
	text-align: center;
}

.osm-pricing-table-flat .osm-plan-price p {
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.4;
	margin: 0;
}

.osm-pricing-table-flat .osm-plan-price sup {
	font-size: 60%;
	top: -0.75em;
}

.osm-pricing-table-flat .osm-plan-price p sub,
.osm-pricing-table .osm-plan-price p sub {
	font-size: 14px;
	bottom: 0;
}

.osm-pricing-table-flat .osm-plan-short-description {
	flex: 1;
}

.osm-pricing-table-flat .osm-plan-short-description li {
	padding: 10px;
	border-bottom: 1px dotted #ddd;
	color: #fff;
	text-align: left;
}

.osm-pricing-table-flat .btn-signup,
.osm-pricing-table-circle .btn-signup {
	background-color: #fff;
	color: #000;
	margin: 10px 0;
	font-size: 16px;
	overflow: hidden;
	padding: 12px 22px;
	text-decoration: none;
	-webkit-box-shadow: 0 0 1px transparent;
	box-shadow: 0 0 1px transparent;
	display: inline-block;
	position: relative;
	-moz-transform: perspective(1px) translateZ(0px);
	-webkit-transform: perspective(1px) translateZ(0px);
	-o-transform: perspective(1px) translateZ(0px);
	-ms-transform: perspective(1px) translateZ(0px);
	transform: perspective(1px) translateZ(0px);
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: color;
	transition-property: color;
	vertical-align: middle;
	border-radius: 4px;
	width: 100%;
	text-align: center;
}

.osm-pricing-table-circle .btn-signup {
	color: #fff;
}

.osm-pricing-table-flat .osm-signup-container .btn-signup:before,
.osm-pricing-table-circle .osm-signup-container .btn-signup:before {
	background: #000;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	-moz-transform: scaleX(0);
	-webkit-transform: scaleX(0);
	-o-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 50%;
	transform-origin: 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	z-index: -1;
}

.osm-plan .osm-signup-container .btn-signup:hover,
.osm-plan .osm-signup-container .btn-signup:active {
	color: #fff;
	border-color: #000;
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-o-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}

.osm-plan .osm-signup-container .btn-signup:hover:before,
.osm-plan .osm-signup-container .btn-signup:focus:before,
.osm-plan .osm-signup-container .btn-signup:active:before {
	-moz-transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-o-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}

.osm-pricing-table-flat .osm-plan .osm-plan-price {
	background: none;
}

.osm-pricing-table-flat .osm-plan .osm-plan-price sup {
	left: 0;
	position: relative;
}

.osm-pricing-table-circle .osm-plan ul,
.osm-pricing-table-flat .osm-plan ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.osm-pricing-table-circle .osm-plan .osm-signup-container,
.osm-pricing-table-flat .osm-plan .osm-signup-container {
	margin: 20px 0 0;
}

a.download-member-card-link {
	padding-left: 10px;
}

.osm-privacy-policy-message {
	margin-top: 5px;
}

.osm-privacy-policy input[type="checkbox"],
.osm-terms-and-conditins-container input[type="checkbox"] {
	margin-top: 0;
}

#osm-delete-avatar-container {
	margin-left: 100px;
}

#osm-delete-avatar-container label {
	font-weight: bold;
}

.osm-terms-and-conditions-container label a {
	font-weight: bold;
}

@media (max-width: 767px) {
	.osm-pricing-table-flat {
		display: block;
	}
	.osm-pricing-table-flat .col-md-4 {
		display: block;
		flex: none;
		max-width: none;
		padding: 0;
	}
	.osm-pricing-table-flat .osm-plan {
		margin-bottom: 50px;
		flex: none;
	}
}

@media (max-width: 480px) {
	/* CSS osm-responsive-table table */
	table.osm-responsive-table,
	table.osm-responsive-table thead,
	table.osm-responsive-table tbody,
	table.osm-responsive-table th,
	table.osm-responsive-table td,
	table.osm-responsive-table tr {
		display: block;
		border: none;
	}

	table.osm-responsive-table thead tr {
		position: absolute;
		top: -9999px;
		left: -9999px;
	}

	table.osm-responsive-table tr {
		border: 1px solid #ccc;
		margin-bottom: 5px;
	}

	table.osm-responsive-table td {
		border: none !important;
		position: relative;
		padding: 12px 5%;
		text-align: left;
	}

	table.osm-responsive-table td::before,
	table.osm-responsive-table td .td-text {
		float: left;
		width: 50%;
	}

	table.osm-responsive-table td::before {
		width: 50%;
		padding-right: 15px;
		text-align: left;
		content: attr(data-content);
		display: block;
		font-weight: bold;
	}

	table.osm-responsive-table td::after {
		content: "";
		display: table;
		clear: both;
	}

	table.osm-responsive-table td.center {
		text-align: left;
	}

	table.osm-responsive-table .eb-taskbar li {
		float: left !important;
		text-align: left;
	}
}

.input-group.osm-addon-container {
	width: 150px;
}

.osm-container > .btn-toolbar {
	margin-bottom: 10px;
}

joomla-toolbar-button {
	padding-right: 3px;
}

.osm-container-j4 .btn-group .chosen-container {
	margin-left: 5px;
}

@media screen and (min-width: 768px) {
	select#limit.form-select {
		width: 100px !important;
	}

	select.form-select.input-mini {
		width: 100px !important;
	}

	select.form-select.input-medium {
		width: 180px !important;
	}
}

@media (min-width: 768px) {
	.osm-one-one,
	.osm-one-half,
	.osm-one-third,
	.osm-two-thirds,
	.osm-one-quarter,
	.osm-two-quarters,
	.osm-three-quarters {
		float: left;
	}

	.osm-one-one {
		width: 100%;
	}

	.osm-one-half,
	.osm-two-quarters {
		width: 50%;
	}

	.osm-one-third {
		width: 33.3333%;
	}

	.osm-two-thirds {
		width: 66.6666%;
	}

	.osm-one-quarter {
		width: 25%;
	}

	.osm-three-quarters {
		width: 75%;
	}
}

.osm-field-description {
	font-size: 0.875em;
	margin-top: 0.25rem;
	font-weight: normal;
}

.osm-container .form-group.form-row {
	margin-bottom: 15px;
}

.osm-category-number-plans {
	margin-left: 8px;
}

.modal-body .form.form-horizontal {
	padding-left: 10px;
	padding-right: 10px;
}
.osm-invisible-to-visitors {
	display: none !important;
}

/* ==================================
   OSM MEMBERSHIP PLANS - TEXT COLORS
   ================================== */

/* Tutti i testi nel piano Free (osm-plan-1) in primary dark color */
.osm-plan-1 * {
	color: var(--primary-dark) !important;
}

.osm-plan-3 * {
	color: var(--primary-dark) !important;
}

/* ==================================
   OSM MEMBERSHIP PLANS - BACKGROUND COLORS
   ================================== */

/* Forza i colori di sfondo corretti per i piani */
.osm-plan-1 {
	background-color: white !important;
}

.osm-plan-2 {
	background-color: var(--primary-color) !important;
}

.osm-plan-3 {
	background-color: white !important;
}

/* ==================================
   OSM MEMBERSHIP PLANS - BUTTON STYLES
   ================================== */

/* Pulsanti signup per piani 1 e 3: background primary, text white, uppercase */
.osm-plan-1 .btn-signup,
.osm-plan-3 .btn-signup {
	background-color: var(--primary-color) !important;
	color: white !important;
	text-transform: uppercase !important;
}

.osm-plan-2 .btn-signup {
	text-transform: uppercase !important;
}

/* ==================================
   OSM MEMBERSHIP PLANS - TITLE COLORS
   ================================== */

/* Titolo del piano 2 in bianco */
.osm-plan-2 .osm-plan-title {
	color: white !important;
}

/* ==================================
   OSM REGISTRATION FORM SECTIONS
   ================================== */

.osm-heading {
	margin-top: 30px;
	margin-bottom: 15px;
	font-size: 1.5em;
	font-weight: bold;
	color: var(--primary-dark);
}

.osm-heading + p {
	font-style: italic;
	color: #666;
	margin-bottom: 20px;
}

/* Stacked form styles */
.osm-container .control-group {
	margin-bottom: 15px;
}

.osm-container .control-label {
	display: block;
	margin-bottom: 5px;
	font-weight: bold;
}

.osm-container .controls {
	margin-left: 0;
}

.osm-container .form-group {
	margin-bottom: 15px;
}

.osm-container .form-group label {
	display: block;
	margin-bottom: 0px;
	margin-left: 5px;
	font-weight: bold;
}

input[type="radio"],
input[type="checkbox"] {
	margin-top: 1px \9;
	line-height: normal;
}

.osm-container input:not(.form-check-input),
.osm-container select,
.osm-container textarea,
.osm-container .input-group .form-control {
	width: 100% !important;
	box-sizing: border-box;
}

/* Override Bootstrap .row margins */
.row {
	/*margin-right: 0px !important;*/
	margin-left: 0px !important;
}

/* Newsletter checkbox styling */
.form-check {
	background: white;
	padding: var(--bs-spacer-3, 1rem);
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Layout griglia per checkbox newsletter - 5 per riga */
.form-group label[for="newsletter"] + div,
.form-group label[for="newsletter_e"] + div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.form-group label[for="newsletter"] + div .form-check,
.form-group label[for="newsletter_e"] + div .form-check {
	flex: 0 0 calc(20% - 10px); /* 100% / 5 elementi - gap */
	min-width: 120px;
	padding: 8px 12px;
}

/* Layout griglia per checkbox Settore Professionale - 5 per riga */
.form-group label[for="Settore_Professionale"] + div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.form-group label[for="Settore_Professionale"] + div .form-check {
	flex: 0 0 calc(20% - 10px); /* 100% / 5 elementi - gap */
	min-width: 120px;
	padding: 8px 12px;
}

/* Layout griglia per radio button Età - 5 per riga */
.form-group label[for="eta"] + div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.form-group label[for="eta"] + div .form-check {
	flex: 0 0 calc(20% - 10px); /* 100% / 5 elementi - gap */
	min-width: 100px;
	padding: 8px 12px;
}

/* Responsive: su tablet e mobile disponi in meno colonne */
@media (max-width: 1200px) {
	.form-group label[for="newsletter"] + div .form-check,
	.form-group label[for="newsletter_e"] + div .form-check,
	.form-group label[for="Settore_Professionale"] + div .form-check,
	.form-group label[for="eta"] + div .form-check {
		flex: 0 0 calc(33.33% - 10px); /* 3 per riga */
	}
}

@media (max-width: 768px) {
	.form-group label[for="newsletter"] + div .form-check,
	.form-group label[for="newsletter_e"] + div .form-check,
	.form-group label[for="Settore_Professionale"] + div .form-check,
	.form-group label[for="eta"] + div .form-check {
		flex: 0 0 calc(50% - 10px); /* 2 per riga */
	}
}

@media (max-width: 480px) {
	.form-group label[for="newsletter"] + div .form-check,
	.form-group label[for="newsletter_e"] + div .form-check,
	.form-group label[for="Settore_Professionale"] + div .form-check,
	.form-group label[for="eta"] + div .form-check {
		flex: 0 0 100%; /* 1 per riga */
	}
}

/* Form grid column padding fixes */
.col-md-4:first-child,
.col-md-6:first-child {
	padding-left: 0 !important;
}

.col-md-4:last-child,
.col-md-6:last-child {
	/* padding-right: 0 !important; */
}

.form-actions {
	padding: 0;
	background-color: transparent;
}

.btn-primary {
	color: #ffffff;
	background-color: var(--primary-color);
	border-color: none;
}

.btn-primary :hover {
	background-color: var(--bg-primary-dark) !important;
	border-color: none;
}

/* ==================================
   OSMEMBERSHIP PAYMENT INFORMATION - LAYOUT COME RS_RSS
   ================================== */

/* Contenitore principale stile rs_rss */
.payment-info-row {
	background: #f9f9f9;
	padding: 20px;
	border-radius: 8px;
	border: 1px solid #e0e0e0;
	margin: 20px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

/* Metodo di pagamento a sinistra (stile h1 del rs_rss) */
.payment-method-left {
	flex: 1;
	text-align: left;
}

/* Contenitore importi a destra (stile rs_rss_icons) */
.payment-amounts-right {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Singolo elemento importo (stile singola icona) */
.payment-amount-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 80px;
	gap: 5px;
}

.payment-amount-item label {
	font-size: 12px;
	color: var(--primary-dark);
	margin-bottom: 0;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	font-weight: 600;
	text-align: left;
}

/* Wrapper per input degli importi con pseudo-elemento € */
.payment-amount-input-wrapper {
	position: relative;
	width: 100%;
	min-width: 70px;
	display: flex;
	align-items: center;
}

.payment-amount-input-wrapper::before {
	content: "€ ";
	position: absolute;
	left: 8px;
	color: var(--primary-dark);
	font-weight: 600;
	font-size: 14px;
	pointer-events: none;
}

.payment-amount-input {
	border: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--primary-dark);
	text-align: center;
	padding: 0 0 0 28px;
	background: transparent;
	width: 100%;
	min-width: 70px;
}

/* Responsive per dispositivi mobili */
@media (max-width: 767px) {
	.payment-info-row {
		flex-direction: column;
		gap: 15px;
		padding: 15px;
		align-items: stretch;
	}

	.payment-method-left {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}

	.payment-amounts-right {
		justify-content: center;
		flex-wrap: wrap;
		gap: 8px;
	}

	.payment-amount-item {
		min-width: 70px;
	}

	.payment-amount-item label {
		font-size: 11px;
	}

	.payment-amount-item input {
		font-size: 12px;
		padding: 3px 4px;
	}
}

/* Sezione metodi di pagamento */
.osm-payment-methods-section {
	margin-top: 30px;
}

.osm-payment-methods-section h4 {
	color: var(--primary-dark);
	border-bottom: 2px solid var(--primary-color);
	padding-bottom: 8px;
	margin-bottom: 15px;
}

.payment-methods-container {
	background: white;
	padding: 15px;
	border-radius: 8px;
	border: 1px solid #e0e0e0;
}

/* Stili per i pulsanti del menu "Promuovi evento" e "Inserisci evento" */
li[data-id="652"],
li[data-id="893"] {
	list-style: none !important;
	margin: 0 !important;
	padding-left: 10px !important;
}

li[data-id="652"] > a,
li[data-id="893"] > a {
	display: inline-flex !important;
	color: var(--text-light) !important;
	align-items: center !important;
	border-radius: 5px !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
	background: var(--bg-primary) !important;
	border: none !important;
}

li[data-id="652"] > a:hover,
li[data-id="893"] > a:hover {
	text-decoration: none !important;
	color: white !important;
	background-color: var(--bg-primary-dark) !important;
	border: none !important;
}
/* Responsive per newsletter checkboxes */
@media (max-width: 768px) {
	.newsletter-checkboxes {
		flex-direction: column !important;
	}
}
.newsletter-checkboxes .form-check {
	align-items: flex-start !important;
}
.newsletter-checkboxes .form-check {
	max-width: 200px !important;
}

/* Responsive per payment-amounts-right */
.payment-amounts-right {
	display: flex;
	flex-direction: row;
	gap: 1rem;
}

@media (max-width: 768px) {
	.payment-amounts-right {
		flex-direction: column;
	}
}

/* Rimuovi padding laterale per col-md-4 su mobile */
@media (max-width: 768px) {
	.col-md-4 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Imposta width auto per il radio button renew_option_id_1 */
#renew_option_id_1 {
	width: auto !important;
}

/* Stili per il form di rinnovo */
#osm_form_renew {
	margin-top: 50px;
	background: white;
	padding: 30px;
}

/* Responsive per hero-buttons */
@media (max-width: 768px) {
	.hero-buttons {
		flex-direction: column !important;
		align-items: center;
	}
}

/* Rimuovi padding sinistro da osm-renew-options */
.osm-renew-options {
	padding-left: 0 !important;
}

/* Meta sopra il titolo degli eventi (data + badge sponsorizzato) */
.event-meta-above-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 5px;
}

.event-date-above-title {
	margin-bottom: 0 !important; /* Rimuovi margine se presente */
}

.badge-sponsored {
	background-color: var(--primary-color);
	color: #ffffff;
	padding: 6px 8px;
	border-radius: var(--border-radius-pill);
	font-size: var(--font-size-base);
	font-weight: regular;
	text-transform: uppercase;
}

/* Hide duplicate date below event title */
.rsepro-new-layout-event-title > .event-date-above-title {
	display: none;
}

.t3-off-canvas .t3-off-canvas-body .nav > li:hover,
.t3-off-canvas .t3-off-canvas-body .nav > li:active,
.t3-off-canvas .t3-off-canvas-body .nav > li:focus {
	background: transparent !important;
}

@media (max-width: 991px) {
	.rsepro_search_formmodulo_cerca select {
		padding: 4px 6px;
		font-size: var(--font-size-base);
		width: 100%;
		padding: var(--spacing-sm) var(--spacing-md);
		border-radius: 4px;
		background: #f4f6f9 !important;
		font-size: 14px;
		color: var(--text-primary-dark);
		cursor: pointer;
		height: 42px !important;
		overflow: hidden;
	}
}

/* Fix menu items stacking on mobile */
@media (max-width: 991px) {
	.module-ct .nav.menu {
		display: block;
	}
	.module-ct .nav.menu > li {
		display: block;
		width: 100%;
		float: none;
	}
}

/* Reduce menu spacing on desktop */
@media (min-width: 992px) {
	.t3-megamenu .nav > li > a {
		padding-left: 10px;
		padding-right: 10px;
	}
}

body.itemid-492 .t3-hero.hero-full-height,
body.itemid-492 .hero-video,
body.itemid-492 .hero-overlay,
body.itemid-492 .hero-container {
	height: 50vh !important;
	min-height: 50vh !important;
}
.hero-chi-siamo {
	height: 50vh !important;
	min-height: 50vh !important;
	padding-top: 0 !important;
}

.hero-chi-siamo .hero-title {
	font-size: var(--font-size-xxl) !important;
}

.hero-chi-siamo .t3-hero {
	padding-top: 0 !important;
}

/* Responsive per dispositivi mobili */
@media (max-width: 768px) {
	.hero-chi-siamo {
		height: 60vh !important;
		min-height: 60vh !important;
	}
	.hero-chi-siamo .t3-hero {
		padding-top: 100px !important; /* Riduce il padding su mobile */
	}
	.hero-buttons {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: center !important;
		gap: 10px !important; /* Spazio tra i pulsanti */
	}
	.hero-buttons .hero-button {
		flex: 1 1 auto !important;
		font-size: 14px !important; /* Riduce la dimensione del testo */
		padding: 10px 15px !important; /* Riduce il padding */
	}
}

/* Stili per la pagina cerca.html */
.hero-cerca {
	height: 50vh !important;
	min-height: 50vh !important;
	padding-top: 0 !important;
}

.hero-cerca .hero-title {
	font-size: var(--font-size-xxl) !important;
}

.hero-cerca .t3-hero {
	padding-top: 0 !important;
}

/* Responsive per dispositivi mobili */
@media (max-width: 768px) {
	.hero-cerca {
		height: 60vh !important;
		min-height: 60vh !important;
	}
	.hero-cerca .t3-hero {
		padding-top: 100px !important; /* Riduce il padding su mobile */
	}
}

