/* Appointment picker (Consultation Manager) — site palette: navy #13192F / #323F71, platinum #C9C7CE, cream #FFFBF8 */
.cm-booking {
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid #C9C7CE;
	border-radius: 6px;
	background: #FFFBF8;
}
.cm-booking[hidden] { display: none; }
.cm-booking__title { margin: 0 0 4px; font-weight: 600; color: #13192F; }
.cm-booking__hint { margin: 0 0 12px; font-size: 0.9em; color: #4a4f63; }
.cm-booking__days,
.cm-booking__times { display: flex; flex-wrap: wrap; gap: 8px; }
.cm-booking__days { margin-bottom: 12px; }
.cm-booking__day,
.cm-booking__time {
	min-height: 44px;
	padding: 6px 12px;
	border: 1px solid #C9C7CE;
	border-radius: 4px;
	background: #fff;
	color: #13192F;
	line-height: 1.2;
	cursor: pointer;
}
.cm-booking__day { display: flex; flex-direction: column; align-items: center; min-width: 64px; }
.cm-booking__weekday { font-size: 0.75em; text-transform: uppercase; letter-spacing: 0.05em; }
.cm-booking__date { font-weight: 600; }
.cm-booking__day:hover,
.cm-booking__time:hover { border-color: #323F71; }
.cm-booking__day:focus-visible,
.cm-booking__time:focus-visible,
.cm-booking__more:focus-visible { outline: 2px solid #323F71; outline-offset: 2px; }
.cm-booking__day.is-selected,
.cm-booking__time.is-selected { background: #13192F; border-color: #13192F; color: #FFFBF8; }
.cm-booking__more {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: none;
	color: #323F71;
	text-decoration: underline;
	cursor: pointer;
}
.cm-booking__more[hidden] { display: none; }
.cm-booking__status { margin: 12px 0 0; font-size: 0.9em; color: #13192F; }
.cm-booking__status.is-error { color: #a4262c; }
.single_add_to_cart_button.cm-booking-locked { opacity: 0.5; cursor: not-allowed; }
