/* Shared cancellation confirmation: visible terms and fixed actions (SSOT 9/11). */
.pay-dialog.booking-cancel-dialog {
	inline-size: min(42rem, calc(100vw - 2rem));
	max-inline-size: min(42rem, calc(100vw - 2rem));
	padding: 0;
	overflow: hidden;
	border-radius: var(--sonub-radius-panel);
	background: var(--sonub-surface);
	color: var(--sonub-ink);
}
.pay-dialog.booking-cancel-dialog[open] {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	align-items: stretch;
}
.booking-cancel-dialog .booking-cancel-content {
	min-block-size: 0;
	min-inline-size: 0;
	padding: var(--wa-space-m);
	overflow: auto;
	overscroll-behavior: contain;
	line-height: 1.6;
}
.booking-cancel-dialog .booking-cancel-content > * {
	margin-block: 0;
}
.booking-cancel-dialog .booking-cancel-content > * + * {
	margin-block-start: var(--wa-space-m);
}
.booking-cancel-dialog .cancel-terms {
	padding: var(--wa-space-m);
	border: 1px solid var(--sonub-border);
	border-radius: var(--wa-border-radius-l);
	background: var(--sonub-canvas);
}
.booking-cancel-dialog .cancel-terms > summary {
	display: none;
}
.booking-cancel-dialog .cancel-terms > p {
	margin-block: 0;
	line-height: 1.6;
}
.booking-cancel-dialog .cancel-terms > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wa-space-xs);
	margin-block: var(--wa-space-m);
	padding: 0;
	list-style: none;
}
.booking-cancel-dialog .cancel-terms li {
	min-inline-size: 0;
	margin: 0;
	padding: var(--wa-space-s);
	border: 1px solid var(--sonub-border);
	border-radius: var(--wa-border-radius-m);
	background: var(--sonub-surface);
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.booking-cancel-dialog .cancel-terms li:first-child {
	border-inline-start: 3px solid var(--sonub-accent);
	background: var(--wa-color-brand-fill-quiet);
	color: var(--sonub-accent-ink);
}
.booking-cancel-dialog .booking-cancel-content > .profile-help {
	padding-inline-start: var(--wa-space-s);
	border-inline-start: 3px solid var(--sonub-border);
	color: var(--sonub-muted);
}
.booking-cancel-dialog :is(.cancel-terms .profile-help, .booking-cancel-content > .profile-help) {
	font-size: var(--wa-font-size-s);
	line-height: 1.6;
}
.booking-cancel-dialog .booking-cancel-footer {
	inline-size: 100%;
	margin: 0;
	padding: var(--wa-space-s) var(--wa-space-m);
	border-block-start: 1px solid var(--sonub-border);
	background: var(--sonub-canvas);
}
.booking-cancel-dialog .booking-cancel-footer,
.booking-cancel-dialog .booking-cancel-footer > menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wa-space-s);
}
.booking-cancel-dialog .booking-cancel-footer > menu {
	inline-size: 100%;
	margin: 0;
}
.booking-cancel-dialog .booking-cancel-footer button {
	min-block-size: 2.75rem;
	padding: var(--wa-space-xs) var(--wa-space-m);
	border-radius: var(--wa-border-radius-m);
	font-size: inherit;
}
.booking-cancel-dialog .booking-cancel-footer [data-pay-close] {
	border: 1px solid var(--sonub-border);
	background: var(--sonub-surface);
	color: var(--sonub-accent);
}
.booking-cancel-dialog .booking-cancel-footer button[type='submit'],
.booking-cancel-dialog .refund-cancel button[type='submit'] {
	margin-inline-start: auto;
	border-color: var(--wa-color-danger-fill-loud);
	background: var(--wa-color-danger-fill-loud);
	color: var(--wa-color-danger-on-loud);
}
.booking-cancel-dialog :is(button, input, summary, .booking-cancel-content):focus-visible {
	outline: 2px solid var(--wa-color-focus);
	outline-offset: 2px;
}
@media (max-width: 599px) {
	.booking-cancel-dialog .cancel-terms > ul { grid-template-columns: minmax(0, 1fr); }
	.booking-cancel-dialog .booking-cancel-footer > menu { flex-wrap: wrap; }
	.booking-cancel-dialog .booking-cancel-footer button { padding-inline: var(--wa-space-s); }
}
