.cdl-calendar {
	max-width: 100%;
	margin: 0 auto;
	font-family: inherit;
}
.cdl-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
}
.cdl-nav button {
	background: none;
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 5px 12px;
	cursor: pointer;
	font-size: 0.9em;
}
.cdl-nav button:hover {
	background: #f2f2f2;
}
.cdl-range-label {
	font-weight: 600;
	font-size: 1.05em;
}

/* Mehrere Monate nebeneinander (Desktop) */
.cdl-months {
	display: flex;
	gap: 28px;
	justify-content: center;
	flex-wrap: wrap;
}
.cdl-month {
	flex: 1 1 0;
	min-width: 220px;
	max-width: 320px;
}
.cdl-month-title {
	text-align: center;
	font-weight: 600;
	margin-bottom: 8px;
	font-size: 0.95em;
}
.cdl-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
.cdl-weekday {
	text-align: center;
	font-weight: 600;
	font-size: 0.75em;
	padding: 4px 0;
	color: #666;
}
.cdl-day {
	position: relative;
	text-align: center;
	padding: 8px 0;
	border-radius: 4px;
	font-size: 0.85em;
}
.cdl-empty {
	visibility: hidden;
}

/* Statusfarben – ganztägig (kräftig für gute Erkennbarkeit) */
.cdl-status-frei {
	background: #a9dfb8;
	color: #1a4d2c;
	font-weight: 600;
}
.cdl-status-belegt {
	background: #e8888c;
	color: #5c1417;
	font-weight: 600;
}
.cdl-status-angefragt {
	background: #f6cf5f;
	color: #5c4400;
	font-weight: 600;
}

/* Halbtägig geteilte Kästchen (An-/Abreisetag): vormittags oben-links, nachmittags unten-rechts */
.cdl-day.cdl-split {
	color: #333;
}
.cdl-day.cdl-split span {
	position: relative;
	z-index: 2;
	text-shadow: 0 0 3px rgba(255, 255, 255, 0.8);
}

/* Legende */
.cdl-legend {
	display: flex;
	gap: 16px;
	justify-content: center;
	margin-top: 16px;
	font-size: 0.85em;
	color: #444;
	flex-wrap: wrap;
}
.cdl-legend-item {
	display: inline-flex;
	align-items: center;
}
.cdl-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-right: 5px;
}
.cdl-dot-belegt {
	background: #e8888c;
}
.cdl-dot-angefragt {
	background: #f6cf5f;
}
.cdl-dot-frei {
	background: #a9dfb8;
}

/* Responsive: auf Mobilgeräten nur 1 Monat anzeigen */
@media (max-width: 700px) {
	.cdl-month:nth-child(n+2) {
		display: none;
	}
	.cdl-month {
		max-width: 100%;
	}
}
