/* Simple Clinic Booking – uses the theme's colours via currentColor so it fits any theme (LTR & RTL). */
.scb-form { display: block; margin-block: 1em 2em; }
.scb-form .scb-field { margin: 0 0 1em; }
.scb-form .scb-label,
.scb-form .scb-field > label { display: block; font-weight: 600; margin-block-end: .4em; }
.scb-form .scb-single .scb-label { display: inline; margin-inline-end: .4em; }
.scb-form select { width: 100%; max-width: 420px; }
.scb-form .scb-step { margin-block-end: 1em; }

.scb-days,
.scb-times { display: flex; gap: 8px; flex-wrap: wrap; }
.scb-days { flex-wrap: nowrap; overflow-x: auto; padding-block-end: 4px; scroll-snap-type: x proximity; }

.scb-form button.scb-day,
.scb-form button.scb-time {
	appearance: none;
	background: transparent;
	color: inherit;
	border: 1px solid rgba(127, 127, 127, .45);
	border-radius: 8px;
	cursor: pointer;
	font: inherit;
	line-height: 1.2;
	margin: 0;
	transition: border-color .15s, box-shadow .15s;
}
.scb-form button.scb-day {
	display: flex; flex-direction: column; align-items: center;
	min-width: 62px; padding: 8px 6px; flex: 0 0 auto; scroll-snap-align: start;
}
.scb-day .scb-day-w,
.scb-day .scb-day-m { font-size: .75em; opacity: .75; text-transform: uppercase; }
.scb-day .scb-day-d { font-size: 1.35em; font-weight: 700; }
.scb-form button.scb-time { padding: 8px 14px; min-width: 84px; }

.scb-form button.scb-day:hover:not(:disabled),
.scb-form button.scb-time:hover:not(:disabled) { border-color: currentColor; }
.scb-form button.is-selected { border-color: currentColor; box-shadow: inset 0 0 0 2px currentColor; font-weight: 700; }
.scb-form button.scb-day:disabled,
.scb-form button.scb-time:disabled { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
.scb-form button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.scb-form .scb-message { min-height: 1.4em; margin: .5em 0 1em; font-weight: 600; }
.scb-form .scb-submit:disabled { opacity: .5; cursor: not-allowed; }

.scb-form [hidden] { display: none !important; }
.scb-form .scb-type { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.scb-form .scb-type .scb-label { flex-basis: 100%; margin: 0; }
.scb-form .scb-type-option {
	display: inline-flex; align-items: center; gap: 8px; margin: 0; cursor: pointer;
	border: 1px solid rgba(127, 127, 127, .45); border-radius: 8px; padding: 8px 14px;
}
.scb-form .scb-type-option:has(input:checked) { border-color: currentColor; box-shadow: inset 0 0 0 2px currentColor; font-weight: 700; }
.scb-form .scb-type-option input { margin: 0; }
