.csd-wrapper {
	background: #d6ecf5;
	border-radius: 8px;
	padding: 10px 30px;
	font-family: Georgia, 'Times New Roman', serif;
}

.csd-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px dashed #9fb9c9;
}

.csd-row:last-child {
	border-bottom: none;
}

.csd-month {
	flex: 0 0 220px;
	font-weight: bold;
	color: #10133f;
	font-size: 1.1em;
}

.csd-dates {
	flex: 1;
}

.csd-date-line {
	padding: 3px 0;
	color: #10133f;
}

.csd-date sup {
	font-size: 0.65em;
	top: -0.6em;
}

.csd-status {
	font-style: italic;
}

.csd-status-fully_booked { color: #c0392b; }
.csd-status-limited      { color: #d68910; }
.csd-status-available    { color: #27ae60; }

.csd-book-btn {
	flex: 0 0 auto;
	background: #10133f;
	color: #fff;
	padding: 12px 28px;
	border-radius: 30px;
	text-decoration: none;
	font-family: Georgia, serif;
	white-space: nowrap;
	align-self: center;
}

.csd-book-btn:hover {
	background: #22265c;
	color: #fff;
}

@media (max-width: 640px) {
	.csd-row {
		flex-direction: column;
		gap: 12px;
	}
	.csd-book-btn {
		align-self: flex-start;
	}
}
