/*
 * denvelkoff-booking - [dvb_booking] (Р6). Стиловете са 1:1 от design/makets/zapazi-chas.*.html.
 * Цветове и шрифтове през --dvb-* с fallback към --gado-* (темата). Плъгинът не зарежда шрифтове.
 */

:where(:root) {
	--dvb-dark: var(--gado-dark, #1A1612);
	--dvb-ink: var(--gado-ink, #36241A);
	--dvb-muted: var(--gado-muted, #6E6259);
	--dvb-bronze: var(--gado-bronze, #8C6A3C);
	--dvb-cream: var(--gado-cream, #F5F2EA);
	--dvb-sand: var(--gado-sand, #E7E3D7);
	--dvb-beige: var(--gado-beige, #EFEBE1);
	--dvb-line: var(--gado-line, #DDD5C6);
	--dvb-line-strong: var(--gado-line-strong, #CFC6B5);
	--dvb-line-soft: var(--gado-line-soft, #F0ECE3);
	--dvb-card: var(--gado-card, #FBFAF6);
	--dvb-white: var(--gado-white, #FFFFFF);
	--dvb-photo: var(--gado-photo, #A87E45);
	--dvb-hover: var(--gado-dark-hover, #2E2720);
	--dvb-disabled: var(--gado-disabled, #B9B4AA);
	--dvb-closed-text: var(--gado-closed-text, #B5AA9C);
	--dvb-error: var(--gado-error, #B3261E);
	--dvb-serif: var(--gado-serif, "Cormorant Garamond", serif);
	--dvb-sans: var(--gado-sans, Commissioner, sans-serif);
	--dvb-pad: 36px 20px 96px;
	--dvb-scroll-offset: 88px;
}

/* ---------- Base ---------- */

.dvb-booking {
	max-width: 720px;
	margin: 0 auto;
	padding: var(--dvb-pad);
	color: var(--dvb-ink);
	font-family: var(--dvb-sans);
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
	scroll-margin-top: var(--dvb-scroll-offset);
	box-sizing: border-box;
}

.dvb-booking *,
.dvb-booking *::before,
.dvb-booking *::after {
	box-sizing: border-box;
}

.dvb-booking [hidden] {
	display: none !important;
}

.dvb-booking button {
	margin: 0;
	font-family: var(--dvb-sans);
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
	text-shadow: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}

.dvb-booking input,
.dvb-booking textarea {
	font: inherit;
}

.dvb-booking a {
	color: var(--dvb-dark);
}

.dvb-booking a:hover {
	color: var(--dvb-ink);
}

.dvb-booking :is(button, a, input, textarea, select):focus-visible {
	outline: 2px solid var(--dvb-dark);
	outline-offset: 3px;
}

.dvb-booking [tabindex="-1"]:focus {
	outline: none;
}

.dvb-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.dvb-booking .dvb-hp {
	position: absolute !important;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---------- Title + steps ---------- */

.dvb-booking .dvb-title {
	margin: 0 0 24px;
	padding: 0;
	font-family: var(--dvb-serif);
	font-weight: 400;
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.05;
	letter-spacing: normal;
	text-transform: none;
	color: var(--dvb-dark);
}

.dvb-booking .dvb-steps {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
	display: flex;
	gap: 6px;
}

.dvb-booking .dvb-steps__item {
	flex: 1 1 0%;
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.dvb-booking .dvb-steps__item::before,
.dvb-booking .dvb-steps__item::marker {
	content: none;
}

.dvb-booking .dvb-steps__bar {
	display: block;
	height: 3px;
	border-radius: 2px;
	background: var(--dvb-line);
}

.dvb-booking .dvb-steps__item.is-done .dvb-steps__bar {
	background: var(--dvb-dark);
}

.dvb-booking .dvb-steps__label {
	display: block;
	font-size: 13px;
	line-height: normal;
	color: var(--dvb-muted);
	font-weight: 400;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dvb-booking .dvb-steps__item.is-current .dvb-steps__label {
	color: var(--dvb-dark);
	font-weight: 600;
}

@media (max-width: 599.98px) {
	.dvb-booking .dvb-steps__item:not(.is-current) .dvb-steps__label {
		display: none;
	}
}

/* ---------- Headings ---------- */

.dvb-booking .dvb-h2 {
	margin: 0 0 16px;
	padding: 0;
	font-family: var(--dvb-serif);
	font-weight: 500;
	font-size: 28px;
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
	color: var(--dvb-dark);
}

.dvb-booking .dvb-h3 {
	margin: 0;
	padding: 0;
	font-family: var(--dvb-sans);
	font-size: 15px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
	color: var(--dvb-ink);
}

/* ---------- Step 1: categories + services ---------- */

.dvb-booking .dvb-cats {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.dvb-booking .dvb-cat {
	border-radius: 14px;
	border: 1px solid var(--dvb-line);
	background: var(--dvb-white);
	overflow: hidden;
}

.dvb-booking .dvb-cat.is-open {
	border-color: var(--dvb-dark);
}

.dvb-booking .dvb-cat__head {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 18px;
	background: none;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	text-align: left;
	min-height: 64px;
	color: inherit;
}

.dvb-booking .dvb-cat__no {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--dvb-sand);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--dvb-serif);
	font-style: italic;
	font-size: 18px;
	color: var(--dvb-bronze);
}

.dvb-booking .dvb-cat__name {
	flex: 1 1 0%;
	min-width: 0;
	font-family: var(--dvb-serif);
	font-size: 24px;
	line-height: normal;
	color: var(--dvb-dark);
	overflow-wrap: anywhere;
}

.dvb-booking .dvb-cat__count {
	font-size: 13px;
	color: var(--dvb-muted);
	white-space: nowrap;
}

.dvb-booking .dvb-cat__list {
	border-top: 1px solid var(--dvb-sand);
}

.dvb-booking .dvb-svc {
	width: 100%;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 14px 18px;
	min-height: 56px;
	background: var(--dvb-white);
	border: 0;
	border-bottom: 1px solid var(--dvb-line-soft);
	border-radius: 0;
	cursor: pointer;
	text-align: left;
	font-family: var(--dvb-sans);
	color: inherit;
}

.dvb-booking .dvb-svc.is-selected {
	background: var(--dvb-cream);
}

.dvb-booking .dvb-cat__head:focus-visible,
.dvb-booking .dvb-svc:focus-visible {
	outline-offset: -3px;
}

.dvb-booking .dvb-radio {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1.5px solid var(--dvb-dark);
	display: flex;
	align-items: center;
	justify-content: center;
}

.dvb-booking .dvb-radio__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: transparent;
}

.dvb-booking .dvb-svc.is-selected .dvb-radio__dot {
	background: var(--dvb-dark);
}

.dvb-booking .dvb-svc__name {
	min-width: 0;
	font-size: 15px;
	line-height: 1.4;
	color: var(--dvb-ink);
	overflow-wrap: anywhere;
}

.dvb-booking .dvb-svc__sub {
	display: block;
	font-size: 13px;
	color: var(--dvb-muted);
}

.dvb-booking .dvb-svc__price {
	font-size: 15px;
	font-weight: 500;
	color: var(--dvb-dark);
	white-space: nowrap;
}

/* Length (tier) */
.dvb-booking .dvb-len {
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.dvb-booking .dvb-len__grid {
	display: grid;
	grid-template-columns: repeat(var(--dvb-cols, 3), minmax(0, 1fr));
	gap: 8px;
}

.dvb-booking .dvb-len__opt {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 0;
	min-height: 64px;
	padding: 8px 4px;
	border-radius: 14px;
	border: 1px solid var(--dvb-line-strong);
	background: var(--dvb-white);
	color: var(--dvb-dark);
	cursor: pointer;
	font-family: var(--dvb-sans);
}

.dvb-booking .dvb-len__opt.is-selected {
	background: var(--dvb-dark);
	border-color: var(--dvb-dark);
	color: var(--dvb-white);
}

.dvb-booking .dvb-len__label {
	font-size: 15px;
	font-weight: 500;
	overflow-wrap: anywhere;
}

.dvb-booking .dvb-len__price {
	font-size: 13px;
	color: var(--dvb-muted);
}

.dvb-booking .dvb-len__opt.is-selected .dvb-len__price {
	color: var(--dvb-sand);
}

/* ---------- Step 2: staff ---------- */

.dvb-booking .dvb-staff {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
	gap: 10px;
}

.dvb-booking .dvb-emp {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 24px 16px;
	border-radius: 14px;
	border: 1px solid var(--dvb-line);
	background: var(--dvb-card);
	cursor: pointer;
	font-family: var(--dvb-sans);
	color: inherit;
}

.dvb-booking .dvb-emp.is-selected {
	border-color: var(--dvb-dark);
	background: var(--dvb-white);
}

.dvb-booking .dvb-emp__photo {
	flex: none;
	display: block;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--dvb-photo);
}

.dvb-booking .dvb-emp__img {
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: 50% 25%;
	background-repeat: no-repeat;
}

.dvb-booking .dvb-emp__name {
	max-width: 100%;
	font-family: var(--dvb-serif);
	font-size: 24px;
	line-height: normal;
	color: var(--dvb-dark);
	text-align: center;
	overflow-wrap: anywhere;
}

.dvb-booking .dvb-emp__role {
	max-width: 100%;
	font-size: 13px;
	color: var(--dvb-muted);
	text-align: center;
}

/* ---------- Step 3: calendar + slots ---------- */

.dvb-booking .dvb-cal {
	background: var(--dvb-white);
	border-radius: 14px;
	border: 1px solid var(--dvb-line);
	padding: 16px;
}

.dvb-booking .dvb-cal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.dvb-booking .dvb-cal__nav {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	font-size: 22px;
	line-height: 1;
	color: var(--dvb-dark);
	cursor: pointer;
}

.dvb-booking .dvb-cal__nav:disabled {
	color: var(--dvb-line-strong);
	cursor: default;
}

.dvb-booking .dvb-cal__month {
	font-family: var(--dvb-serif);
	font-size: 22px;
	color: var(--dvb-dark);
}

.dvb-booking .dvb-cal__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 4px;
	text-align: center;
}

.dvb-booking .dvb-cal__wd {
	font-size: 12px;
	color: var(--dvb-muted);
	padding: 4px 0 8px;
}

.dvb-booking .dvb-cal__day {
	display: block;
	aspect-ratio: 1 / 1;
	width: min(100%, 52px);
	justify-self: center;
	min-width: 0;
	padding: 0;
	border-radius: 50%;
	border: 1.5px solid transparent;
	background: transparent;
	color: var(--dvb-dark);
	font: 400 15px var(--dvb-sans);
	cursor: pointer;
}

.dvb-booking .dvb-cal__day.is-blank {
	visibility: hidden;
}

.dvb-booking .dvb-cal__day.is-today {
	border-color: var(--dvb-dark);
	font-weight: 600;
}

.dvb-booking .dvb-cal__day.is-closed {
	background: var(--dvb-beige);
	color: var(--dvb-closed-text);
	cursor: not-allowed;
}

.dvb-booking .dvb-cal__day.is-selected {
	background: var(--dvb-dark);
	border-color: var(--dvb-dark);
	color: var(--dvb-white);
	font-weight: 600;
}

.dvb-booking .dvb-cal__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 12px;
	font-size: 12px;
	color: var(--dvb-muted);
}

.dvb-booking .dvb-cal__key {
	display: flex;
	align-items: center;
	gap: 6px;
}

.dvb-booking .dvb-cal__swatch {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.dvb-booking .dvb-cal__swatch--today {
	border: 1.5px solid var(--dvb-dark);
}

.dvb-booking .dvb-cal__swatch--closed {
	background: var(--dvb-beige);
}

.dvb-booking .dvb-day-title {
	margin: 28px 0 12px;
}

.dvb-booking .dvb-slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: 8px;
}

.dvb-booking .dvb-slot {
	height: 44px;
	padding: 0;
	border-radius: 22px;
	border: 1px solid var(--dvb-line-strong);
	background: var(--dvb-white);
	color: var(--dvb-dark);
	font: 500 15px var(--dvb-sans);
	cursor: pointer;
}

.dvb-booking .dvb-slot.is-selected {
	background: var(--dvb-dark);
	border-color: var(--dvb-dark);
	color: var(--dvb-white);
}

.dvb-booking .dvb-skel {
	display: block;
	height: 44px;
	border-radius: 22px;
	background: var(--dvb-sand);
	animation: dvb-pulse 1.2s ease-in-out infinite;
}

@keyframes dvb-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .55; }
}

@media (prefers-reduced-motion: reduce) {
	.dvb-booking .dvb-skel {
		animation: none;
	}
}

.dvb-booking .dvb-empty {
	margin: 0;
	padding: 24px;
	border-radius: 14px;
	background: var(--dvb-beige);
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
}

/* ---------- Step 4: form ---------- */

.dvb-booking .dvb-form {
	margin: 0;
}

.dvb-booking .dvb-form__cols {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
}

.dvb-booking .dvb-fields {
	flex: 1 1 340px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dvb-booking .dvb-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.dvb-booking .dvb-field__label {
	display: block;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	color: var(--dvb-ink);
}

.dvb-booking .dvb-field__hint {
	display: block;
	font-weight: 400;
	color: var(--dvb-muted);
	font-size: 13px;
}

.dvb-booking .dvb-input {
	display: block;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	border-radius: 10px;
	border: 1px solid var(--dvb-line-strong);
	background: var(--dvb-white);
	box-shadow: none;
	font: 400 16px var(--dvb-sans);
	color: var(--dvb-ink);
	outline-color: var(--dvb-dark);
}

.dvb-booking .dvb-input--area {
	height: auto;
	min-height: 80px;
	padding: 12px 14px;
	resize: vertical;
}

.dvb-booking .dvb-input.is-invalid,
.dvb-booking .dvb-phone.is-invalid {
	border-color: var(--dvb-error);
}

.dvb-booking .dvb-phone {
	display: flex;
	height: 48px;
	border-radius: 10px;
	border: 1px solid var(--dvb-line-strong);
	background: var(--dvb-white);
	overflow: hidden;
}

.dvb-booking .dvb-phone:focus-within {
	outline: 2px solid var(--dvb-dark);
	outline-offset: 1px;
}

.dvb-booking .dvb-phone__prefix {
	display: flex;
	align-items: center;
	padding: 0 12px;
	background: var(--dvb-beige);
	font-size: 16px;
	font-weight: 400;
	color: var(--dvb-ink);
}

.dvb-booking .dvb-phone__input {
	flex: 1;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0 12px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font: 400 16px var(--dvb-sans);
	color: var(--dvb-ink);
	outline: none;
}

.dvb-booking .dvb-phone__input:focus-visible {
	outline: none;
}

.dvb-booking .dvb-field__err {
	font-size: 13px;
	font-weight: 400;
	color: var(--dvb-error);
}

.dvb-booking .dvb-summary {
	flex: 1 1 220px;
	min-width: 0;
	background: var(--dvb-sand);
	border-radius: 14px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.dvb-booking .dvb-summary__title {
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dvb-bronze);
}

.dvb-booking .dvb-summary__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
	line-height: 1.4;
}

.dvb-booking .dvb-summary__k {
	flex: none;
	color: var(--dvb-muted);
}

.dvb-booking .dvb-summary__v {
	min-width: 0;
	text-align: right;
	font-weight: 500;
	color: var(--dvb-dark);
	overflow-wrap: anywhere;
}

.dvb-booking .dvb-agree {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 24px 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}

.dvb-booking .dvb-agree input {
	flex: none;
	width: 22px;
	height: 22px;
	margin: 0;
	accent-color: var(--dvb-dark);
	-webkit-appearance: checkbox;
	appearance: auto;
}

.dvb-booking .dvb-agree.is-invalid input {
	outline: 2px solid var(--dvb-error);
	outline-offset: 2px;
}

.dvb-booking .dvb-form-error {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--dvb-error);
}

.dvb-booking .dvb-btn--submit {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 20px;
	border-radius: 20px;
	background: var(--dvb-dark);
	border: 1px solid var(--dvb-dark);
	color: var(--dvb-white);
	font: 500 16px var(--dvb-sans);
	cursor: pointer;
}

.dvb-booking .dvb-btn--submit:hover {
	background: var(--dvb-hover);
}

.dvb-booking .dvb-btn--submit.is-dim {
	opacity: .45;
}

.dvb-booking .dvb-btn--submit[aria-busy="true"] {
	cursor: progress;
	opacity: .7;
}

/* ---------- Step 5: done ---------- */

.dvb-booking .dvb-done {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding-top: 12px;
}

.dvb-booking .dvb-done__icon {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	background: var(--dvb-dark);
	color: var(--dvb-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
}

.dvb-booking .dvb-done__title {
	margin: 8px 0 0;
	padding: 0;
	font-family: var(--dvb-serif);
	font-weight: 400;
	font-size: clamp(34px, 4vw, 44px);
	line-height: normal;
	letter-spacing: normal;
	text-transform: none;
	color: var(--dvb-dark);
}

.dvb-booking .dvb-summary--done {
	flex: none;
	width: 100%;
	max-width: 420px;
	text-align: left;
}

.dvb-booking .dvb-summary--done .dvb-summary__row {
	font-size: 15px;
	line-height: normal;
}

.dvb-booking .dvb-done__text {
	margin: 0;
	max-width: 420px;
	font-size: 15px;
	line-height: 1.6;
}

.dvb-booking .dvb-done__text strong {
	font-weight: 600;
	color: var(--dvb-dark);
	overflow-wrap: anywhere;
}

.dvb-booking .dvb-cal-add {
	width: 100%;
	max-width: 420px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 8px;
}

.dvb-booking .dvb-eyebrow {
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dvb-bronze);
}

.dvb-booking .dvb-cal-add__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
}

.dvb-booking .dvb-btn--outline {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 16px;
	border-radius: 20px;
	border: 1px solid var(--dvb-dark);
	background: transparent;
	color: var(--dvb-dark);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
}

.dvb-booking .dvb-btn--outline:hover {
	background: var(--dvb-dark);
	color: var(--dvb-white);
}

.dvb-booking .dvb-done__home {
	display: flex;
	justify-content: center;
	margin-top: 6px;
}

.dvb-booking .dvb-btn--dark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 24px;
	border-radius: 20px;
	background: var(--dvb-dark);
	border: 1px solid var(--dvb-dark);
	color: var(--dvb-white);
	text-decoration: none;
	font: 500 15px var(--dvb-sans);
	cursor: pointer;
}

.dvb-booking a.dvb-btn--dark:hover {
	background: transparent;
	color: var(--dvb-dark);
}

.dvb-booking button.dvb-btn--dark:hover {
	background: var(--dvb-hover);
}

.dvb-booking .dvb-btn--dark:disabled {
	opacity: .7;
	cursor: progress;
}

/* ---------- Step 5: taken / notices ---------- */

.dvb-booking .dvb-notice {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 24px;
	border-radius: 16px;
	background: var(--dvb-beige);
}

.dvb-booking .dvb-notice__icon {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	border: 1.5px solid var(--dvb-bronze);
	color: var(--dvb-bronze);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	font-family: var(--dvb-serif);
}

.dvb-booking .dvb-notice__title {
	margin: 0;
	padding: 0;
	font-family: var(--dvb-serif);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.15;
	letter-spacing: normal;
	text-transform: none;
	color: var(--dvb-dark);
}

.dvb-booking .dvb-notice__text {
	margin: 0;
	font-size: 15px;
	line-height: normal;
}

.dvb-booking .dvb-notice .dvb-btn--dark {
	padding: 0 26px;
}

.dvb-booking.dvb-cancel .dvb-notice .dvb-form-error {
	margin: 0;
}

/* ---------- Back / next ---------- */

.dvb-booking .dvb-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
}

.dvb-booking .dvb-btn--back {
	height: 48px;
	padding: 0 20px;
	border-radius: 20px;
	border: 1px solid var(--dvb-line-strong);
	background: transparent;
	color: var(--dvb-dark);
	font: 500 15px var(--dvb-sans);
	cursor: pointer;
}

.dvb-booking .dvb-btn--back:hover {
	border-color: var(--dvb-dark);
}

.dvb-booking .dvb-btn--next {
	height: 48px;
	padding: 0 28px;
	border-radius: 20px;
	border: 1px solid var(--dvb-dark);
	background: var(--dvb-dark);
	color: var(--dvb-white);
	font: 500 15px var(--dvb-sans);
	cursor: pointer;
}

.dvb-booking .dvb-btn--next:disabled {
	background: var(--dvb-disabled);
	border-color: var(--dvb-disabled);
	cursor: not-allowed;
}
