/** Refined booking panels. Existing prices, forms and design tokens are retained. */
.wptm-tour .wptm-tk.wptm-tk--refined,
.wptm-salma-design .wptm-pass.wptm-pass--refined {
	--tk-pad: clamp(16px, 2.4vw, 24px);
	min-width: 0;
	border: 1px solid var(--wptm-hairline, #e5e7eb);
	border-radius: 18px;
	-webkit-mask: none;
	mask: none;
	filter: none;
	box-shadow: 0 4px 8px -6px rgba(15, 23, 42, .12), 0 20px 44px -32px rgba(15, 23, 42, .28);
	overflow: hidden;
}
.wptm-tour .wptm-tk--refined .wptm-tk__price,
.wptm-salma-design .wptm-pass--refined .wptm-pass__stub {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-height: 0;
	gap: 12px;
	padding: 24px var(--tk-pad) 20px;
	border-block-start: 3px solid var(--wptm-accent, #b8853a);
	border-block-end: 1px solid var(--wptm-hairline, #e5e7eb);
	background: var(--wptm-tint, #faf7f2);
	color: inherit;
}
.wptm-tour .wptm-tk--refined .wptm-tk__pricemain,
.wptm-salma-design .wptm-pass--refined .wptm-pass__price {
	position: relative;
	z-index: 1;
	max-width: 100%;
}
.wptm-tour .wptm-tk--refined .wptm-tk__value,
.wptm-salma-design .wptm-pass--refined .wptm-pass__amount {
	font-size: clamp(30px, 3vw, 38px);
	font-weight: 750;
	line-height: 1.15;
	letter-spacing: -.025em;
	font-variant-numeric: tabular-nums;
	color: inherit;
	text-shadow: none;
	overflow-wrap: anywhere;
}
.wptm-salma-design .wptm-pass--refined .wptm-pass__amount--quote {
	font-size: 1.2rem;
	letter-spacing: normal;
}
.wptm-tour .wptm-tk--refined .wptm-tk__from,
.wptm-tour .wptm-tk--refined .wptm-tk__basis,
.wptm-salma-design .wptm-pass--refined .wptm-pass__label,
.wptm-salma-design .wptm-pass--refined .wptm-pass__basis {
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: normal;
	text-transform: none;
	color: inherit;
}
.wptm-tour .wptm-tk--refined .wptm-tk__no,
.wptm-tour .wptm-tk--refined .wptm-tk__perf,
.wptm-salma-design .wptm-pass--refined .wptm-pass__tear {
	display: none;
}
.wptm-tour .wptm-tk--refined .wptm-tk__stamp,
.wptm-salma-design .wptm-pass--refined .wptm-pass__stamp {
	opacity: .08;
	pointer-events: none;
}
.wptm-tour .wptm-tk--refined .wptm-tk__bg {
	opacity: .06;
}
.wptm-salma-design .wptm-pass--refined .wptm-pass__id {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0;
	border: 0;
	text-align: start;
	font-size: .75rem;
}
.wptm-salma-design .wptm-pass--refined .wptm-pass__bars {
	display: none;
}
.wptm-tour .wptm-tk--refined .wptm-group-note--detail,
.wptm-salma-design .wptm-pass--refined .wptm-group-note--detail {
	max-inline-size: 38ch;
	margin-block-start: 10px;
	font-size: .8125rem;
	line-height: 1.55;
	color: inherit;
}
.wptm-tour .wptm-tk--refined .wptm-tk__body {
	padding: 20px var(--tk-pad);
}
.wptm-tour .wptm-tk--refined .wptm-tk__title {
	gap: 8px;
	margin-block-end: 16px;
	font-size: 1rem;
}
.wptm-tour .wptm-tk--refined .wptm-tk__pill {
	margin-block-start: 12px;
	padding: 5px 9px;
	border: 1px solid currentColor;
	border-radius: 6px;
	background: transparent;
	font-size: .75rem;
	color: inherit;
}
.wptm-tour .wptm-tk--refined .wptm-tk__rows {
	margin-block: 12px 18px;
}
.wptm-tour .wptm-tk--refined .wptm-tk__row {
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: start;
	gap: 12px;
	padding-block: 13px;
}
.wptm-tour .wptm-tk--refined .wptm-tk__rows dt {
	gap: 8px;
	min-width: 0;
	white-space: normal;
	word-break: normal;
	overflow-wrap: anywhere;
	font-size: .8125rem;
	line-height: 1.5;
}
.wptm-tour .wptm-tk--refined .wptm-tk__rows dd {
	padding-inline-start: 0;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: end;
}
.wptm-tour .wptm-tk--refined .wptm-tk__icon {
	margin-block-start: 2px;
}
.wptm-tour .wptm-tk--refined .wptm-tk__icon svg {
	width: 17px;
	height: 17px;
}
.wptm-tour .wptm-tk--refined .wptm-tk__actions .wptm-btn,
.wptm-salma__form .wptm-salma__next,
.wptm-salma__form .wptm-salma__submit {
	min-height: 48px;
	border-radius: 10px;
	font-size: .9375rem;
	font-weight: 650;
	line-height: 1.4;
	white-space: normal;
	text-align: center;
}
.wptm-salma__form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.wptm-salma__form select {
	min-height: 44px;
	font-size: 16px;
}
.wptm-salma__form .wptm-salma__stepdown,
.wptm-salma__form .wptm-salma__stepup {
	min-width: 44px;
	min-height: 44px;
}
.wptm-group-summary {
	margin-block: 16px;
	padding: 14px 16px;
	border: 1px solid var(--wptm-hairline, #e5e7eb);
	border-radius: 12px;
	background: var(--wptm-surface, #f8fafb);
	font-variant-numeric: tabular-nums;
}
.wptm-group-summary > strong {
	display: block;
	margin-block-end: 8px;
	font-size: .8125rem;
	font-weight: 600;
}
.wptm-group-summary [data-group-people] {
	font-size: .8125rem;
}
.wptm-group-summary [data-group-rate] {
	font-size: .875rem;
	line-height: 1.5;
}
.wptm-group-summary [data-group-total] {
	margin-block-start: 10px;
	padding-block-start: 10px;
	border-block-start: 1px solid var(--wptm-hairline, #e5e7eb);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.45;
}
.wptm-group-summary[aria-busy="true"] [data-group-total] {
	font-size: .875rem;
	font-weight: 400;
}
.wptm-group-summary__details {
	margin-block-start: 8px;
	font-size: .75rem;
	line-height: 1.55;
}
.wptm-group-summary__details > summary {
	width: fit-content;
	padding-block: 8px;
	cursor: pointer;
	font-weight: 500;
	text-underline-offset: 3px;
}
.wptm-group-summary__details > summary:hover {
	text-decoration: underline;
}
.wptm-group-summary__details > summary:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	border-radius: 3px;
}
.wptm-group-summary [data-group-note]:empty {
	display: none;
}
@container (max-width: 300px) {
	.wptm-tour .wptm-tk--refined .wptm-tk__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 5px;
	}
	.wptm-tour .wptm-tk--refined .wptm-tk__rows dd {
		padding-inline-start: 25px;
		text-align: start;
	}
}
@media (max-width: 380px) {
	.wptm-group-summary {
		padding: 12px;
	}
	.wptm-tour .wptm-tk--refined .wptm-tk__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 5px;
	}
	.wptm-tour .wptm-tk--refined .wptm-tk__rows dd {
		padding-inline-start: 25px;
		text-align: start;
	}
}
