#pp-calendar,
.pp-calendar {
	min-height: 850px;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}

.fc-daygrid-event-dot {
	display: none !important;
}


/* Higher calendar in backend */
body.wp-admin #pp-calendar,
body.wp-admin .pp-calendar {
	min-height: 1000px;
}

/* Increase cell height in backend month view */
body.wp-admin .fc-dayGridMonth-view .fc-daygrid-day-frame {
	min-height: 120px !important;
}

body.wp-admin .fc-dayGridMonth-view .fc-daygrid-day {
	min-height: 120px !important;
}

.fc {
	max-width: 100%;
	overflow-x: hidden;
	width: 100% !important;
}

.fc-scroller {
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

.fc-scroller-liquid-absolute {
	overflow-x: hidden !important;
}

.fc-view-harness {
	overflow-x: hidden !important;
}

.fc-daygrid-body {
	width: 100% !important;
}

/* Only apply to dayGridMonth view, not timeGrid views */
.fc-dayGridMonth-view .fc-col-header {
	width: 100% !important;
}

.fc-daygrid-day-frame,
.fc-daygrid-day {
	width: 100% !important;
	max-width: 100% !important;
}

.fc .fc-toolbar-title {
	font-weight: 600;
}

/* Uniform font size for all events in all views */
.pp-calendar .fc-event-title,
.pp-calendar .fc-event-title-container,
.pp-calendar .fc-event-time,
.pp-calendar .fc-event,
.fc-event-title,
.fc-event-title-container,
.fc-event-time,
.fc-event,
.fc-dayGridMonth-view .fc-event-title,
.fc-dayGridMonth-view .fc-event-title-container,
.fc-dayGridMonth-view .fc-event-time,
.fc-dayGridMonth-view .fc-event,
.fc-timeGridWeek-view .fc-event-title,
.fc-timeGridWeek-view .fc-event-title-container,
.fc-timeGridWeek-view .fc-event-time,
.fc-timeGridWeek-view .fc-event,
.fc-timeGridDay-view .fc-event-title,
.fc-timeGridDay-view .fc-event-title-container,
.fc-timeGridDay-view .fc-event-time,
.fc-timeGridDay-view .fc-event {
	font-size: 0.75rem !important;
	text-decoration: none !important;
	font-weight: 400 !important;
}

#pp-calendar .fc-event,
.pp-calendar .fc-event {
	cursor: pointer;
}

/* Vista mensile: titolo completo che va a capo, niente ora, padding (frontend e backend) */
#pp-calendar .fc-dayGridMonth-view .fc-event-time,
.pp-calendar .fc-dayGridMonth-view .fc-event-time {
	display: none !important;
}
#pp-calendar .fc-dayGridMonth-view .fc-daygrid-day-events,
#pp-calendar .fc-dayGridMonth-view .fc-daygrid-day-frame,
#pp-calendar .fc-dayGridMonth-view .fc-daygrid-day,
.pp-calendar .fc-dayGridMonth-view .fc-daygrid-day-events,
.pp-calendar .fc-dayGridMonth-view .fc-daygrid-day-frame,
.pp-calendar .fc-dayGridMonth-view .fc-daygrid-day {
	overflow: visible !important;
}
#pp-calendar .fc-dayGridMonth-view .fc-daygrid-event-harness,
.pp-calendar .fc-dayGridMonth-view .fc-daygrid-event-harness {
	overflow: visible !important;
}
/* Sovrascrive .fc-daygrid-event { white-space: nowrap } di FullCalendar */
#pp-calendar .fc-dayGridMonth-view .fc-daygrid-event,
.pp-calendar .fc-dayGridMonth-view .fc-daygrid-event {
	white-space: normal !important;
	overflow: visible !important;
	align-items: flex-start !important;
	text-align: left !important;
	max-width: 100% !important;
	padding-left: 3px !important;
	padding-right: 3px !important;
}
#pp-calendar .fc-dayGridMonth-view .fc-event-main,
#pp-calendar .fc-dayGridMonth-view .fc-event-main-frame,
#pp-calendar .fc-dayGridMonth-view .fc-event-title-container,
#pp-calendar .fc-dayGridMonth-view .fc-event-title,
.pp-calendar .fc-dayGridMonth-view .fc-event-main,
.pp-calendar .fc-dayGridMonth-view .fc-event-main-frame,
.pp-calendar .fc-dayGridMonth-view .fc-event-title-container,
.pp-calendar .fc-dayGridMonth-view .fc-event-title {
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	max-width: 100% !important;
}

.pp-calendar .fc-event a,
#pp-calendar a,
.pp-calendar a,
.fc a {
	text-decoration: none !important;
}

/* Tooltip for event details */
.pp-cal-tooltip {
	position: absolute;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 12px 16px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	z-index: 10000;
	width: 400px;
	max-width: 90vw;
	font-size: 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	pointer-events: auto;
	display: none;
	margin-top: 8px;
}

.pp-cal-tooltip::before {
	content: '';
	position: absolute;
	top: -8px;
	left: var(--caret-offset, 20px);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #fff;
	z-index: 1;
}

.pp-cal-tooltip::after {
	content: '';
	position: absolute;
	top: -9px;
	left: var(--caret-offset, 20px);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #ccc;
	z-index: 0;
}

/* Tooltip above event (when below screen) */
.pp-cal-tooltip-above::before {
	top: auto;
	bottom: -8px;
	border-bottom: none;
	border-top: 8px solid #fff;
}

.pp-cal-tooltip-above::after {
	top: auto;
	bottom: -9px;
	border-bottom: none;
	border-top: 8px solid #ccc;
}

.pp-cal-tooltip strong {
	display: block;
	margin-bottom: 8px;
	color: #333;
	font-size: 18px;
	font-weight: 600;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.pp-cal-tooltip p {
	margin: 6px 0;
	font-size: 16px;
	color: #666;
	line-height: 1.5;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.pp-cal-tooltip-line {
	white-space: nowrap !important;
	font-size: 16px !important;
	margin: 6px 0 !important;
	line-height: 1.5 !important;
	color: #666 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	display: block !important;
}

.pp-cal-tooltip-line * {
	white-space: nowrap !important;
	display: inline !important;
}

.pp-cal-tooltip-line strong {
	font-size: 16px !important;
	font-weight: 600 !important;
}

.pp-cal-tooltip-location {
	white-space: normal !important;
	font-size: 16px !important;
	margin: 6px 0 !important;
	line-height: 1.5 !important;
	color: #666 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
}

.pp-cal-tooltip-location * {
	white-space: normal !important;
	display: inline !important;
}

.pp-cal-tooltip-location strong {
	font-size: 16px !important;
	font-weight: 600 !important;
}

.pp-cal-tooltip-description {
	white-space: normal !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pp-cal-tooltip-footer {
	margin-top: 12px;
	text-align: right;
}

.pp-cal-status-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: normal;
	vertical-align: middle;
}

.pp-cal-status-programmato {
	background-color: #6c757d;
	color: #fff;
}

.pp-cal-status-confermato {
	background-color: #28a745;
	color: #fff;
}

.pp-cal-status-annullato {
	background-color: #dc3545;
	color: #fff;
}

.pp-cal-tooltip-footer a {
	display: inline-block;
	padding: 6px 14px;
	background-color: #0b7d3a;
	color: #fff !important;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
}

.pp-cal-tooltip-footer a:hover,
.pp-cal-tooltip-footer a:focus {
	background-color: #096730;
	color: #fff !important;
}

.fc-theme-standard td, .fc-theme-standard th {
	border-style: solid;
}

.fc-dayGridMonth-view .fc-daygrid-day,
.fc-dayGridMonth-view .fc-col-header-cell {
	flex: 1 1 0% !important;
	min-width: 0 !important;
}

.fc-dayGridMonth-view .fc-col-header {
	table-layout: fixed;
	width: 100% !important;
}

.fc-dayGridMonth-view .fc-daygrid-body {
	table-layout: fixed;
	width: 100% !important;
}


.pp-cal-modal-overlay {
	position: fixed;
	left: 0; top: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.4);
	z-index: 100000;
	display: none;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 20px;
	box-sizing: border-box;
	align-items: flex-start;
	justify-content: center;
}
.pp-cal-modal-overlay[style*="display: block"],
.pp-cal-modal-overlay[style*="display:block"] {
	display: flex !important;
}
.pp-cal-modal {
	position: relative;
	margin: auto;
	width: 560px;
	max-width: 100%;
	max-height: calc(100vh - 40px);
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.3);
	border: 1px solid #ccd0d4;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.pp-cal-modal header {
	padding: 12px 16px;
	border-bottom: 1px solid #eee;
	font-weight: 600;
	flex-shrink: 0;
}
.pp-cal-modal .pp-cal-body {
	padding: 12px 16px;
	overflow-y: auto;
	overflow-x: hidden;
	flex: 1;
	min-height: 0;
}
.pp-cal-modal .pp-cal-actions {
	padding: 10px 16px;
	border-top: 1px solid #eee;
	text-align: right;
	flex-shrink: 0;
}
.pp-cal-modal .button { margin-left: 8px; }


@media (max-width: 600px) {
	#pp-calendar .fc-header-toolbar,
	.pp-calendar .fc-header-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	#pp-calendar .fc-header-toolbar .fc-toolbar-chunk,
	.pp-calendar .fc-header-toolbar .fc-toolbar-chunk {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		justify-content: center;
	}

	#pp-calendar .fc-header-toolbar .fc-toolbar-chunk:first-child,
	.pp-calendar .fc-header-toolbar .fc-toolbar-chunk:first-child {
		justify-content: space-between;
	}

	#pp-calendar .fc-header-toolbar .fc-toolbar-title,
	.pp-calendar .fc-header-toolbar .fc-toolbar-title {
		width: 100%;
		text-align: center;
		font-size: 1.3rem;
	}

	#pp-calendar .fc-header-toolbar .fc-button-group,
	.pp-calendar .fc-header-toolbar .fc-button-group {
		flex: 1;
		display: flex;
		justify-content: space-between;
		gap: 8px;
	}

	#pp-calendar .fc-header-toolbar .fc-button,
	.pp-calendar .fc-header-toolbar .fc-button {
		flex: 1;
		min-width: 0;
	}

	/* Tooltip mobile fixes */
	.pp-cal-tooltip {
		max-height: 70vh;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.pp-cal-tooltip strong,
	.pp-cal-tooltip p {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	}
}

