.asumo-booking {
	box-sizing: border-box;
	max-width: 760px;
	margin: 2rem auto;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	border: 1px solid #d8dee4;
	border-radius: 12px;
	background: #fff;
	color: #1f2933;
}

.asumo-booking *,
.asumo-booking *::before,
.asumo-booking *::after {
	box-sizing: inherit;
}

.asumo-booking__step {
	margin: 0 0 1.5rem;
}

.asumo-booking__step > label {
	display: block;
	margin: .65rem 0 .3rem;
}

.asumo-booking input:not([type="radio"]),
.asumo-booking select,
.asumo-booking textarea {
	width: 100%;
	max-width: 32rem;
	padding: .7rem;
	border: 1px solid #9aa5b1;
	border-radius: 6px;
	font: inherit;
}

.asumo-booking__time-row {
	display: grid;
	grid-template-columns: auto minmax(8rem, 1fr);
	gap: .5rem 1rem;
	align-items: center;
	max-width: 32rem;
}

.asumo-booking__navigation {
	display: flex;
	gap: .75rem;
	justify-content: space-between;
}

.asumo-booking button {
	padding: .75rem 1.25rem;
	border: 0;
	border-radius: 6px;
	background: #166534;
	color: #fff;
	font: inherit;
	cursor: pointer;
}

.asumo-booking .asumo-booking__cancel {
	background: #b91c1c;
}

.asumo-booking__notice {
	margin: 1rem 0;
	padding: 1rem;
	border-radius: 6px;
}

.asumo-booking__notice--error {
	border: 1px solid #dc2626;
	background: #fef2f2;
	color: #991b1b;
}

.asumo-booking__summary {
	display: grid;
	grid-template-columns: minmax(7rem, auto) 1fr;
	gap: .5rem 1rem;
}

.asumo-booking__summary dt {
	font-weight: 700;
}

.asumo-booking__summary dd {
	margin: 0;
}

.asumo-booking__number {
	font-size: 1.5rem;
	letter-spacing: .05em;
}

.asumo-booking__honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 520px) {
	.asumo-booking__time-row,
	.asumo-booking__summary {
		grid-template-columns: 1fr;
	}
}
