.ebs-slot-field {
	width: 100%;
}

.ebs-slot-field .ebs-date-select {
	width: 100%;
}

.ebs-slot-field select:disabled {
	opacity: .6;
	cursor: not-allowed;
}

/* --- slot table ------------------------------------------------------- */

.ebs-slots {
	margin-top: 12px;
}

.ebs-slots[hidden] {
	display: none;
}

.ebs-slots-heading {
	margin: 0 0 6px;
	font-weight: 600;
	font-size: .95em;
}

.ebs-slots-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .95em;
}

.ebs-slots-table td {
	padding: 10px 12px;
	text-align: start;
	border-bottom: 1px solid rgba(128, 128, 128, .25);
	vertical-align: middle;
}

.ebs-col-pick {
	width: 1%;
	white-space: nowrap;
}

.ebs-col-time {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.ebs-slot-row {
	cursor: pointer;
	transition: background-color .12s ease;
}

.ebs-slot-row:hover:not(.ebs-is-full) {
	background: rgba(128, 128, 128, .08);
}

.ebs-slot-row.ebs-is-selected {
	background: rgba(70, 130, 250, .12);
}

.ebs-slot-row.ebs-is-selected .ebs-time {
	font-weight: 700;
}

.ebs-slot-row.ebs-is-full {
	opacity: .55;
	cursor: not-allowed;
}

.ebs-slot-row label {
	cursor: inherit;
	display: inline-block;
	margin: 0;
}

.ebs-slot-radio {
	margin: 0;
	cursor: inherit;
}

/* The places-left count sits beside the time, not in its own column. */
.ebs-left {
	color: #d0021b;
	font-weight: 600;
	font-size: .85em;
	white-space: nowrap;
}

.ebs-left.ebs-is-full-tag {
	color: #8a8a8a;
	font-weight: 500;
}

.ebs-slots-heading {
	margin: 0 0 6px;
	font-weight: 600;
	font-size: .95em;
}

/* --- progressive reveal ----------------------------------------------- */

.elementor-field-group.ebs-hidden-until-slot {
	display: none !important;
}

/* --- messages --------------------------------------------------------- */

.ebs-slot-message {
	margin: 8px 0 0;
	font-size: .9em;
	line-height: 1.4;
}

.ebs-slot-message:empty {
	display: none;
}

.ebs-slot-message.ebs-is-error {
	color: #b32d2e;
}

.ebs-notice {
	padding: 8px 12px;
	border-radius: 3px;
	font-size: .9em;
}

.ebs-notice-error {
	background: #fcf0f1;
	border-left: 3px solid #b32d2e;
	color: #b32d2e;
}
