

:root {
	/* Dimensioni calendario */
	--calendar-width: 100%;

	/* Colori primari */
	--primary-color-base: #87BD24; /* $standard-signal-color  */
	--primary-color-light-1: #F3813F; /* $tertiary-color */
	--primary-color-light-2: color-mix(in srgb, var(--primary-color-light-1) 70%, white); /*derivato del $tertiary-color */
	--primary-color-light-3: color-mix(in srgb, var(--primary-color-light-1) 40%, white); /*derivato del $tertiary-color */


	/* Colori secondari */
	--selection-color: #515356; /* $secondary-color colore testo sito -- bordo del giorno selezionato */
	--background-color-light: #f1f3f9; /* grigio neutro calendario */
	--background-color-lighter: #f8f9fa; /* grigio neutro calendario */
	--background-color-other-month: #f9f9f9; /* grigio neutro calendario */
	--text-color-base: #515356;  /* $secondary-color colore testo sito -- bordo del giorno selezionato */
	--text-color-muted: #6F6F6F;  /*  $neutral-medium  */

	/* Colori bordi */
	--border-color-base: #e9ecef;
	--border-color-hover: rgba(0, 0, 0, 0.1);

	/* Sfondo degli eventi */
	--event-background-opacity: 0.7;

	/* Font */
	--font-family-base: 'Lora', -apple-system, BlinkMacSystemFont, 'Segoe UI', 
		Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	--font-size-small: 0.6rem;
	--font-size-base: 0.7rem;
	--font-size-header: 0.9rem;

	/* Border radius */
	--border-radius-small: 3px;
	--border-radius-round: 50%;

	/* Dimensioni e spaziature */
	--day-height: 28px;
	--day-padding: 2px;
	--day-margin: 1px;
}

.bi-chevron-right, .bi-chevron-left{color: var(--primary-color-light-1);}

/* Forza la larghezza del calendario */
.calendar-module {
	width: var(--calendar-width);
	max-width: var(--calendar-width);
	padding: 0;
	margin: 0 auto;
}

.calendar-module * {
	font-family: var(--font-family-base);
}

.calendar-container {
	width: 100%;
	max-width: 100%;
}

/* Griglia con larghezza fissa */
.calendar-grid .row {
	width: var(--calendar-width);
	max-width: var(--calendar-width);
	margin: 0;
}

.calendar-grid .row .col {
	flex: 0 0 auto;
	width: calc(var(--calendar-width) / 7);
	max-width: calc(var(--calendar-width) / 7);
	padding: 1px;
	box-sizing: border-box;
}

.calendar-header {
	/*background-color: var(--primary-color-base);*/
	color: white;
	padding: 6px 4px;
	text-align: center;
	font-weight: normal;
}

.month-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.btn-month-nav {
	color: white;
	background: transparent;
	border: none;
	font-size: 1rem;
	padding: 0 4px;
	line-height: 1;
	border-radius: var(--border-radius-round);
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.btn-month-nav:hover {
	background-color: rgba(255, 255, 255, 0.2);
	color: white;
}

.calendar-header h2 {
	margin: 0;
	font-size: var(--font-size-header);
	font-weight: normal;
	flex-grow: 1;
}

.weekday-header {
	font-weight: normal;
	text-align: center;
	padding: 2px 1px;
	background-color: var(--background-color-light);
	border-radius: var(--border-radius-small);
	font-size: var(--font-size-small);
}

.calendar-day {
	height: var(--day-height);
	padding: var(--day-padding);
	border: 1px solid var(--border-color-base);
	margin: var(--day-margin);
	border-radius: var(--border-radius-small);
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: white;
	color: var(--text-color-base);
}

.calendar-day:hover {
	cursor: pointer;
	box-shadow: 0 0 3px var(--border-color-hover);
	background-color: var(--background-color-lighter);
}

.day-number {
	font-weight: normal;
	font-size: var(--font-size-base);
	position: relative;
	z-index: 2;
}

.current-day {
	border: 2px solid var(--primary-color-base);
}

.current-day .day-number {
	font-weight: bold;
}

.other-month {
	/*background-color: var(--background-color-other-month);*/
	color: var(--text-color-muted);
}

.has-events-1 {
	background-color: #5290cd50 !important;
}

.has-events-2 {
	background-color: #5290cd99 !important;
}

.has-events-3 {
	background-color: #5290cd !important;
}

.selected-day {
	border: 3px solid var(--selection-color) !important;
}

.event-count {
	position: absolute;
	top: 1px;
	right: 1px;
	font-size: var(--font-size-small);
	background-color: rgba(255, 255, 255, var(--event-background-opacity));
	border-radius: var(--border-radius-round);
	width: 12px;
	height: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--text-color-base) !important;
}

@media (max-width: 242px) {
	.calendar-day {
		height: 24px;
	}

	.day-number {
		font-size: var(--font-size-small);
	}
}


/* Nasconde la vista elenco di default */
.card-list {
	display: none;
}

/* Stile versione elenco */
.list-item {
	display: flex;
	flex-direction: column;
	padding: 10px 0;
}

.list-item h3{font-size: 1.5em;}
.list-item .list-desc p{
	font-size: 0.8em;
	padding-bottom:0;
}

.list-item hr{
	height:5px;
	padding:0;
	margin:0;
}

dl.main-list > div.card-list{
	margin-bottom: 0px;
}

.list-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
}

.list-header .card-date {
	flex: 0 0 200px;
	font-weight: bold;
}

.list-header .item-title {
	flex: 1;
	margin: 0 10px;
}

.list-header .action-btn {
	flex: 0 0 80px;
	text-align: right;
}

/* Responsive: Su mobile impila gli elementi */
@media (max-width: 768px) {
	.list-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.list-header .card-date, 
	.list-header .item-title, 
	.list-header .action-btn {
		flex: 1;
		text-align: left;
		margin-bottom: 5px;
	}
}


.event-list-day-row {
	padding: 20px 0px;
	border-bottom: 1px solid #ccc;
	margin: 0 0 0 !important;
	width: 100%;
}

.event-list-day-row .col-2{ padding: 0px; }

.esperienza-img {
	display: block;
	height: 120px;
	background-size: cover;
	background-position: center;
}

.esperienza-titolo {
	margin: 0 0 5px;
	font-size: 1.2em;
}

.esperienza-desc {
	margin: 0 0 10px;
	color: #555;
}

.esperienza-meta {
	font-size: 0.9em;
	color: #666;
	display: flex;
	gap: 20px;
	align-items: center;
}
.esperienza-meta img {
	vertical-align: middle;
	margin-right: 5px;
}

.esperienza-prezzo {
	font-weight: bold;
	font-size: 1.1em;
}

.esperienza-btn {
	background-color: ;
	color: white;
	padding: 6px 12px;
	text-decoration: none;
	border-radius: 4px;
	margin-top: 10px;
}

.event-list-day {
	font-weight: bold;
	padding: 20px 0 20px;
	border-bottom: 1px solid grey;
	margin-bottom: 10px;
}

.icon-calendar {
	content: url(https://img.icons8.com/ios-filled/16/5290cd/calendar.png)
}
.icon-calendar-plus {
	content: url(https://img.icons8.com/ios-filled/16/5290cd/calendar-plus.png)
}
.icon-location {
	content: url(https://img.icons8.com/ios-filled/16/5290cd/marker.png)
}

/* Blocca solo l'hover e il click per le date passate */
.calendar-day.past-day {
  opacity: 0.4;
  pointer-events: none;
  cursor: default;
}


