.mi-booking-v2-form,
.mi-booking-v2-form_wrapper {
	--mi-purple: #6d2cff;
	--mi-purple-soft: #d9ceee;
	--mi-orange: #ffc985;
	--mi-ink: #242424;
	--mi-muted: #ecebea;
	--mi-border: #e6e4e3;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
	color: var(--mi-ink);
	font-family: inherit;
	pointer-events: auto !important;
}

.mi-booking-v2-form *,
.mi-booking-v2-form *::before,
.mi-booking-v2-form *::after {
	box-sizing: border-box;
}

.mi-booking-v2-form .gform_heading,
.mi-booking-v2-form .gf_progressbar_wrapper,
.mi-booking-v2-form .gf_page_steps,
.mi-booking-v2-form .mi-hidden-pricing {
	display: none !important;
}

.mi-booking-v2-form .gform-body,
.mi-booking-v2-form .gform_body,
.mi-booking-v2-form .gform_page,
.mi-booking-v2-form .gform_page_fields {
	width: 100%;
}

.mi-booking-header {
	margin: 0 auto 38px;
	text-align: center;
}

.mi-booking-header h1 {
	margin: 0 0 30px;
	color: var(--mi-ink);
	font-size: 48px;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 62px;
	text-align: center;
	text-transform: uppercase;
	font-family: "Unbounded", sans-serif;
}

.mi-booking-v2-form .mi-booking-header .mi-booking-steps {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 35px !important;
	width: auto !important;
	max-width: 560px;
	margin: 0 auto !important;
	padding: 5px !important;
	list-style: none !important;
}

.mi-booking-v2-form .mi-booking-header .mi-booking-step {
	position: relative !important;
	display: block !important;
	flex: 0 0 102px !important;
	width: 102px !important;
	min-width: 102px !important;
	max-width: 102px !important;
	height: 102px !important;
	min-height: 102px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none !important;
}

.mi-booking-v2-form .mi-booking-header .mi-booking-step:not(:last-child)::after {
	position: absolute !important;
	z-index: 0;
	top: 50% !important;
	left: 100% !important;
	display: block !important;
	width: 35px !important;
	height: 1px !important;
	border: 0 !important;
	background: repeating-linear-gradient(90deg, #c9c7c5 0 2px, transparent 2px 4px) !important;
	content: '' !important;
}

.mi-booking-v2-form .mi-booking-header .mi-booking-step::before {
	position: absolute;
	z-index: 2;
	inset: -5px;
	display: none;
	border-radius: 50%;
	background: url('../images/step-ring.png') center / contain no-repeat;
	content: '';
}

.mi-booking-v2-form .mi-booking-header .mi-booking-step.is-active::before,
.mi-booking-v2-form .mi-booking-header .mi-booking-step.is-complete::before {
	display: block;
}

.mi-booking-v2-form .mi-booking-header .mi-booking-step.is-active::before {
	background-image: url('../images/step-ring-active.png');
	background-position: left center;
	background-size: auto 100%;
}

.mi-booking-v2-form .mi-booking-header .mi-booking-step img {
	position: relative !important;
	z-index: 1;
	display: block !important;
	width: 102px !important;
	max-width: none !important;
	height: 102px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	object-fit: contain;
}

.mi-booking-v2-form .mi-booking-current-step-title {
	width: 100%;
	margin: 55px 0 29px 0;
	padding: 0;
	color: var(--mi-ink);
	font-size: 24px;
	font-weight: 600;
	line-height: 30px;
	text-align: center;
	font-family: "Unbounded", sans-serif;
}

.mi-booking-v2-form .mi-booking-header[data-current-page='1'] .mi-booking-current-step-title {
	text-align: left;
}

.mi-booking-v2-form .gfield {
	min-width: 0;
}

.mi-booking-v2-form .gfield_label,
.mi-booking-v2-form .gform-field-label {
	color: var(--mi-ink);
	font-size: 12px;
	font-weight: 600;
}

.mi-booking-v2-form .gfield_required {
	display: none;
}

.mi-booking-v2-form .gform_fields {
	row-gap: 22px !important;
}

.mi-booking-v2-form input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']),
.mi-booking-v2-form select,
.mi-booking-v2-form textarea {
	width: 100% !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 11px 30px !important;
	border: 1px solid var(--mi-border) !important;
	border-radius: 24px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--mi-ink) !important;
	font-family: inherit !important;
	font-size: 14px !important;
	line-height: 27px !important;
	pointer-events: auto !important;
}

.mi-booking-v2-form textarea {
	min-height: 95px !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
	resize: vertical;
}

.mi-booking-v2-form input:focus,
.mi-booking-v2-form select:focus,
.mi-booking-v2-form textarea:focus {
	border-color: rgba(109, 44, 255, .65) !important;
	box-shadow: 0 0 0 3px rgba(109, 44, 255, .12) !important;
}

.mi-count-field {
	max-width: 270px;
	margin: 0 auto 32px !important;
}

.mi-count-field .gfield_label {
	display: block;
	margin: 0 0 10px !important;
	text-align: center;
}

.mi-booking-v2-form .mi-count-field select {
	-webkit-appearance: none !important;
	appearance: none !important;
	padding-right: 54px !important;
	background-color: #fff !important;
	background-image: url('../images/count-select-arrow.svg') !important;
	background-position: calc(100% - 24px) center !important;
	background-size: 18px 18px !important;
	background-repeat: no-repeat !important;
}

.mi-booking-v2-form .gform-body .mi-service-field {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.mi-booking-v2-form .gform-body .mi-service-field>.gfield_label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

.mi-booking-v2-form .gform-body .mi-service-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 28px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mi-booking-v2-form .gform-body .mi-service-card {
	position: relative !important;
	display: flex !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 340px !important;
	margin: 0 !important;
	padding: 24px 24px 26px !important;
	overflow: hidden !important;
	border: 2px solid transparent !important;
	border-radius: 30px !important;
	background: #fac987 !important;
	box-shadow: 0 15px 20px rgba(28, 24, 20, .20) !important;
	color: #080808 !important;
	pointer-events: auto !important;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.mi-booking-v2-form .gform-body .mi-service-card:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 18px 26px rgba(28, 24, 20, .22) !important;
}

.mi-booking-v2-form .gform-body .mi-service-radio {
	position: absolute !important;
	top: 24px !important;
	left: 24px !important;
	z-index: 2 !important;
	display: block !important;
	width: 32px !important;
	min-width: 32px !important;
	height: 32px !important;
	min-height: 32px !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
}

.mi-booking-v2-form .gform-body .mi-service-card__main {
	display: flex !important;
	width: 100% !important;
	min-height: 288px !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	margin: 0 !important;
	padding: 0 0 38px !important;
	color: #080808 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.mi-booking-v2-form .gform-body .mi-service-check {
	display: grid !important;
	flex: 0 0 32px !important;
	width: 32px !important;
	height: 32px !important;
	margin: 0 0 15px !important;
	padding: 0 !important;
	place-items: center !important;
	border: 1px solid #efefef !important;
	border-radius: 6px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #fff !important;
}

.mi-booking-v2-form .gform-body .mi-service-check svg {
	display: block !important;
	width: 21px !important;
	height: 21px !important;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.5;
}

.mi-booking-v2-form .gform-body .mi-service-radio:checked+.mi-service-card__main .mi-service-check {
	border-color: var(--mi-purple) !important;
	background: var(--mi-purple) !important;
}

.mi-booking-v2-form .gform-body .mi-service-radio:checked~.mi-service-card__main,
.mi-booking-v2-form .gform-body .mi-service-radio:focus+.mi-service-card__main {
	outline: none;
}

.mi-booking-v2-form .gform-body .mi-service-card.is-selected {
	border-color: rgba(109, 44, 255, .48) !important;
}

.mi-booking-v2-form .gform-body .mi-service-name {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	color: #000000 !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	letter-spacing: -.98px !important;
	line-height: 27px !important;
	text-transform: uppercase !important;
	font-family: "Unbounded", sans-serif !important;
}

.mi-booking-v2-form .gform-body .mi-service-meta {
	display: flex !important;
	width: 100% !important;
	flex-direction: column !important;
	margin: 0 0 26px !important;
	padding: 0 !important;
	color: #080808 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.mi-booking-v2-form .gform-body .mi-service-description {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #17120d !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}

.mi-booking-v2-form .gform-body .mi-service-description p {
	margin: 0 !important;
}

.mi-booking-v2-form .gform-body .mi-service-description ul,
.mi-booking-v2-form .gform-body .mi-service-description ol {
	margin: 0 0 0 18px !important;
	padding: 0 !important;
}

.mi-booking-v2-form .gform-body .mi-service-details {
	position: absolute !important;
	bottom: 28px !important;
	left: 24px !important;
	z-index: 2;
	display: inline-block !important;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid currentColor !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--mi-ink) !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.mi-date-field,
.mi-time-field {
	width: min(100%, 360px) !important;
	max-width: 360px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.mi-date-field .ginput_container,
.mi-time-field .ginput_container {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}

.mi-date-field input[type='date'],
.mi-time-field select {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

.mi-date-field {
	margin-top: 8px !important;
}

.mi-date-field .gfield_label,
.mi-time-field .gfield_label {
	display: block;
	margin: 0 0 6px !important;
}

.mi-half {
	grid-column: span 6 !important;
}

.mi-full {
	grid-column: 1 / -1 !important;
}

.mi-payment-intro {
	max-width: 520px;
	margin: 10px auto 25px;
	text-align: center;
}

.mi-payment-intro h2 {
	margin: 0 0 10px;
	font-size: 24px;
}

.mi-booking-v2-form .mi-total-field {
	display: none !important;
}

.mi-booking-v2-form .gform_page_footer,
.mi-booking-v2-form .gform_footer {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 17px;
	margin-top: 32px !important;
	padding: 0 !important;
	border: 0 !important;
}

.mi-booking-v2-form .gform_next_button,
.mi-booking-v2-form .gform_button,
.mi-booking-v2-form input[type='submit'] {
	width: 255px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 24px !important;
	border: 0 !important;
	border-radius: 25px !important;
	background: linear-gradient(105deg, #6124ec 0%, #7333f5 43%, #f8b878 100%) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.mi-booking-v2-form .gform_next_button::after {
	content: "";
	display: block;
	width: 28px;
	height: 28px;
	background: url("http://rado-website.test/wp-content/uploads/2026/08/right-arrow-7-1.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 16px;
}

.mi-booking-v2-form .gform_previous_button {
	order: -1;
	width: auto !important;
	min-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--mi-ink) !important;
	font-size: 11px !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.mi-booking-v2-form .gfield_validation_message,
.mi-booking-v2-form .validation_message {
	margin-top: 7px !important;
	padding: 9px 12px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #fff1f3 !important;
	color: #a20c2b !important;
	font-size: 11px !important;
}

.mi-submit-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 17px;
}

.mi-payment-logos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.mi-pay-logo {
	display: inline-flex;
	min-width: 42px;
	height: 25px;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	border: 1px solid #dedede;
	border-radius: 3px;
	background: #fff;
	font-size: 10px;
	font-weight: 700;
}

.mi-pay-logo.has-image {
	min-width: 0;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
}

.mi-pay-logo__image {
	display: block;
	width: auto;
	max-width: 80px;
	height: auto;
	max-height: 25px;
	object-fit: contain;
}

.mi-pay-visa {
	color: #153b8f;
	font-style: italic;
}

.mi-pay-mastercard i {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #ec0016;
}

.mi-pay-mastercard i+i {
	margin-left: -5px;
	background: #f79e1b;
	opacity: .9;
}

.mi-pay-google b {
	margin-right: 3px;
	color: #4285f4;
	font-size: 13px;
}

.mi-pay-apple {
	font-size: 12px;
}

.mi-service-modal[hidden] {
	display: none !important;
}

.mi-service-modal {
	position: fixed;
	z-index: 999999;
	inset: 0;
	display: grid;
	padding: 20px;
	place-items: center;
}

.mi-service-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 15, 30, .55);
	backdrop-filter: blur(3px);
}

.mi-service-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(520px, 100%);
	padding: 34px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}

.mi-service-modal__dialog h2 {
	margin: 0 0 14px;
	font-size: 23px;
	line-height: 1.2;
}

.mi-service-modal__content {
	font-size: 14px;
	line-height: 1.6;
}

.mi-service-modal__content> :first-child {
	margin-top: 0;
}

.mi-service-modal__content> :last-child {
	margin-bottom: 0;
}

.mi-service-modal__close {
	position: absolute;
	top: 13px;
	right: 15px;
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	font-size: 24px;
	cursor: pointer;
}

.mi-slot-status {
	min-height: 18px;
	margin-top: 8px;
	color: #666;
	font-size: 11px;
	text-align: center;
}

.mi-slot-status.is-success {
	color: #16852a;
}

.mi-slot-status.is-error {
	color: #a20c2b;
}

.mi-booking-confirmation {
	max-width: 620px;
	margin: 50px auto;
	padding: 40px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 35px rgba(0, 0, 0, .1);
	text-align: center;
}

#field_4_1 {
	margin-top: 59px !important;
	max-width: 337px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

#field_4_1 .gform-field-label__text{
	font-size:20px !important;
	line-height: 25px !important;
	font-weight: 600 !important;
	color: black !important;
	font-family: "Unbounded", sans-serif !important;
}

@media (max-width: 900px) {
	.mi-booking-v2-form .gform-body .mi-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.mi-booking-v2-form {
		padding: 0 16px;
	}

	.mi-booking-header h1 {
		font-size: 32px;
		line-height: 46px;
	}

	.mi-booking-v2-form .mi-booking-header .mi-booking-steps {
		gap: 14px !important;
		padding: 4px 0 !important;
	}

	.mi-booking-v2-form .mi-booking-header .mi-booking-step {
		flex-basis: 68px !important;
		width: 68px !important;
		min-width: 68px !important;
		max-width: 68px !important;
		height: 68px !important;
		min-height: 68px !important;
	}

	.mi-booking-v2-form .mi-booking-header .mi-booking-step img {
		width: 68px !important;
		height: 68px !important;
	}

	.mi-booking-v2-form .mi-booking-header .mi-booking-step:not(:last-child)::after {
		width: 14px !important;
	}

	.mi-booking-v2-form .mi-booking-header .mi-booking-step::before {
		inset: -4px;
	}

	.mi-booking-v2-form .mi-booking-current-step-title {
		margin-top: 42px;
		margin-bottom: 32px;
		font-size: 20px;
		line-height: 25px;
	}

	.mi-booking-v2-form .gform-body .mi-service-grid {
		grid-template-columns: 1fr !important;
	}

	.mi-booking-v2-form .gform-body .mi-service-card {
		min-height: 320px !important;
	}

	.mi-half,
	.mi-full {
		grid-column: 1 / -1 !important;
	}

	#field_4_1 {
		margin-top: 42px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mi-service-card {
		transition: none;
	}
}
