/* Dynamic brand bindings loaded after the complete booking interface stylesheet. */
[data-sdr-booking][data-sdr-modal-booking].sdr-shell {
	--sdr-primary: var(--sdr-brand-primary, #153f33);
	--sdr-accent: var(--sdr-brand-accent, #bd7b3d);
	--sdr-success: var(--sdr-brand-action, #205947);
	--sdr-ink: var(--sdr-brand-text, #17231f);
	--sdr-forest: var(--sdr-brand-action, #205947);
	--sdr-forest-deep: var(--sdr-brand-primary, #153f33);
	--sdr-gold: var(--sdr-brand-accent, #bd7b3d);
	--sdr-cream: var(--sdr-brand-surface, #fbfaf7);
	--sdr-line: rgba(28, 67, 56, .14);
	--sdr-line: color-mix(in srgb, var(--sdr-forest) 18%, transparent);
	--oc-primary: var(--sdr-brand-primary, #153f33);
	--oc-accent: var(--sdr-brand-accent, #bd7b3d);
	--oc-green: var(--sdr-brand-action, #205947);
	--oc-surface: var(--sdr-brand-surface, #fbfaf7);
	background: linear-gradient(160deg, #fff 0%, var(--sdr-cream) 100%);
	color: var(--sdr-ink);
}

[data-sdr-modal-booking] .sdr-search,
[data-sdr-modal-booking] .sdr-booking-dialog__panel,
[data-sdr-modal-booking] .sdr-calendar-dialog__panel {
	background: linear-gradient(145deg, #fff, var(--sdr-cream));
}

[data-sdr-modal-booking] .sdr-form input:not([type="checkbox"]):hover,
[data-sdr-modal-booking] .sdr-form select:hover,
[data-sdr-modal-booking] .sdr-form textarea:hover,
[data-sdr-modal-booking] .sdr-calendar-trigger:hover {
	border-color: var(--sdr-forest) !important;
	border-color: color-mix(in srgb, var(--sdr-forest) 48%, transparent) !important;
}

[data-sdr-modal-booking] .sdr-form input:not([type="checkbox"]):focus,
[data-sdr-modal-booking] .sdr-form select:focus,
[data-sdr-modal-booking] .sdr-form textarea:focus,
[data-sdr-modal-booking] .sdr-calendar-trigger:focus-visible,
[data-sdr-modal-booking] .sdr-calendar-trigger[aria-expanded="true"] {
	border-color: var(--sdr-forest) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--sdr-forest) 14%, transparent), 0 9px 23px color-mix(in srgb, var(--sdr-primary) 12%, transparent), inset 0 1px 0 #fff !important;
}

[data-sdr-modal-booking] [data-sdr-find],
[data-sdr-modal-booking] .sdr-booking-dialog__actions .sdr-button {
	border-color: var(--sdr-forest-deep) !important;
	background: linear-gradient(135deg, var(--sdr-forest), var(--sdr-forest-deep)) !important;
	color: var(--sdr-brand-on-action, #fff) !important;
	box-shadow: 0 10px 24px color-mix(in srgb, var(--sdr-forest-deep) 25%, transparent), inset 0 1px 0 rgba(255, 255, 255, .2) !important;
}

[data-sdr-modal-booking] [data-sdr-find]:hover,
[data-sdr-modal-booking] [data-sdr-find]:focus-visible,
[data-sdr-modal-booking] .sdr-booking-dialog__actions .sdr-button:hover:not(:disabled),
[data-sdr-modal-booking] .sdr-booking-dialog__actions .sdr-button:focus-visible {
	background: linear-gradient(135deg, var(--sdr-forest-deep), var(--sdr-forest)) !important;
	box-shadow: 0 14px 30px color-mix(in srgb, var(--sdr-forest-deep) 31%, transparent), 0 0 0 4px color-mix(in srgb, var(--sdr-forest) 12%, transparent), inset 0 1px 0 rgba(255, 255, 255, .24) !important;
}

[data-sdr-modal-booking] .sdr-reminder-consent input[type="checkbox"]:checked,
[data-sdr-modal-booking] .sdr-calendar__days button.is-selected {
	border-color: var(--sdr-forest-deep);
	background: linear-gradient(145deg, var(--sdr-forest), var(--sdr-forest-deep));
	color: var(--sdr-brand-on-action, #fff);
	box-shadow: 0 6px 16px color-mix(in srgb, var(--sdr-forest) 28%, transparent);
}

[data-sdr-modal-booking] .sdr-slot-grid button.selected {
	border-color: var(--sdr-forest);
	background: var(--sdr-cream);
	background: linear-gradient(145deg, color-mix(in srgb, var(--sdr-forest) 8%, #fff), color-mix(in srgb, var(--sdr-forest) 14%, var(--sdr-cream)));
	color: var(--sdr-ink);
	box-shadow: 0 8px 19px color-mix(in srgb, var(--sdr-forest) 15%, transparent), 0 0 0 3px color-mix(in srgb, var(--sdr-forest) 9%, transparent);
}

[data-sdr-modal-booking] .sdr-calendar-trigger b,
[data-sdr-modal-booking] .sdr-booking-dialog__actions .sdr-dialog-secondary:hover,
[data-sdr-modal-booking] .sdr-calendar-dialog .sdr-dialog-secondary:hover {
	background: var(--sdr-cream);
	background: color-mix(in srgb, var(--sdr-forest) 9%, var(--sdr-cream));
}

[data-sdr-modal-booking] .sdr-booking-dialog__actions .sdr-dialog-secondary,
[data-sdr-modal-booking] .sdr-calendar-dialog .sdr-dialog-secondary,
[data-sdr-modal-booking] .sdr-slot-pages button,
[data-sdr-modal-booking] .sdr-calendar > header button {
	border-color: var(--sdr-forest);
	border-color: color-mix(in srgb, var(--sdr-forest) 24%, transparent);
	color: var(--sdr-forest);
}

[data-sdr-booking] .suitedish-powered-by::before {
	background: var(--sdr-primary);
	color: var(--sdr-brand-on-action, #fff);
}

[data-sdr-booking] .suitedish-powered-by a {
	color: var(--sdr-accent);
}

/* Preserve calendar contrast against theme-level button hover rules. */
[data-sdr-modal-booking] .sdr-calendar__days button:hover:not(:disabled):not(.is-selected) {
	background: color-mix(in srgb, var(--sdr-forest) 9%, transparent);
	color: var(--sdr-primary);
}

[data-sdr-modal-booking] .sdr-calendar__days button.is-selected:hover:not(:disabled),
[data-sdr-modal-booking] .sdr-calendar__days button.is-selected:focus-visible {
	border-color: var(--sdr-forest-deep);
	background: linear-gradient(145deg, var(--sdr-forest), var(--sdr-forest-deep));
	color: var(--sdr-brand-on-action, #fff);
	box-shadow: 0 5px 13px color-mix(in srgb, var(--sdr-forest) 24%, transparent);
}

[data-sdr-booking] .sdr-approval-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 8px 32px 0;
	padding: 14px 15px;
	border: 1px solid color-mix(in srgb, var(--sdr-accent) 42%, transparent);
	border-radius: 12px;
	background: color-mix(in srgb, var(--sdr-accent) 10%, #fff);
	color: var(--sdr-ink);
	box-shadow: 0 8px 22px color-mix(in srgb, var(--sdr-accent) 10%, transparent);
}

[data-sdr-booking] .sdr-approval-notice > span {
	display: grid;
	width: 25px;
	height: 25px;
	place-items: center;
	border-radius: 50%;
	background: var(--sdr-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 850;
	line-height: 1;
	flex: 0 0 25px;
}

[data-sdr-booking] .sdr-approval-notice strong {
	display: block;
	margin: 1px 0 4px;
	color: var(--sdr-ink);
	font-size: 13px;
	font-weight: 750;
	line-height: 1.35;
}

[data-sdr-booking] .sdr-approval-notice p {
	margin: 0;
	color: color-mix(in srgb, var(--sdr-ink) 76%, transparent);
	font-size: 12px;
	font-weight: 520;
	line-height: 1.5;
}

[data-sdr-booking] .sdr-approval-notice--modal {
	margin: 12px 18px 0;
	padding: 10px 12px;
	flex: 0 0 auto;
}

[data-sdr-booking] .sdr-approval-notice--modal > span {
	width: 22px;
	height: 22px;
	font-size: 12px;
	flex-basis: 22px;
}

[data-sdr-booking] .sdr-success.is-pending {
	border-color: color-mix(in srgb, var(--sdr-accent) 44%, transparent);
	background: color-mix(in srgb, var(--sdr-accent) 8%, #fff);
}

[data-sdr-booking] .sdr-success.is-pending > span {
	color: var(--sdr-accent);
}

@media (max-width: 560px) {
	[data-sdr-booking] .sdr-approval-notice {
		margin-right: 22px;
		margin-left: 22px;
	}

	[data-sdr-booking] .sdr-approval-notice--modal {
		margin-right: 13px;
		margin-left: 13px;
	}
}
