/*
 * STUDIO ERA22 Scope 026K — Page 17 host-selector rail-content alignment repair.
 * Visual and locally interactive only. No provider or data collection.
 */
.era22-booking-visual-v1,
.era22-booking-visual-v1 * { box-sizing: border-box; }
.era22-booking-visual-v1 {
	--era22-booking-accent: #ff6a00;
	background: #fafaf8;
	color: #0a0a0a;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
	padding: 0;
	overflow: clip;
}
.era22-booking-visual-v1 button,
.era22-booking-visual-v1 h2,
.era22-booking-visual-v1 h3,
.era22-booking-visual-v1 h4,
.era22-booking-visual-v1 p { margin: 0; }
.era22-booking-visual-v1 button { font: inherit; }
.era22-booking-visual-v1__inner {
	width: min(1440px, 100%);
	min-height: 920px;
	margin: 0 auto;
	padding: 48px 80px 44px;
	display: grid;
	grid-template-columns: 560px 680px;
	gap: 40px;
	align-items: start;
}
.era22-booking-visual-v1__left { padding-top: 10px; }
.era22-booking-visual-v1__eyebrow,
.era22-booking-visual-v1__contact-label,
.era22-booking-calendar__eyebrow,
.era22-booking-calendar__month-row strong,
.era22-booking-calendar__times > p,
.era22-booking-mobile-actions > p {
	font: 600 10px/14px "Plus Jakarta Sans", Inter, sans-serif;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.era22-booking-visual-v1__line {
	display: block;
	width: 48px;
	height: 2px;
	margin-top: 12px;
	border-radius: 1px;
	background: var(--era22-booking-accent);
}
.era22-booking-visual-v1__intro h2 {
	max-width: 540px;
	margin-top: 30px;
	min-height: 104px;
	font: 700 48px/52px Manrope, Inter, sans-serif;
	letter-spacing: -1.6px;
}
.era22-booking-visual-v1__intro h2 span { display: block; }
.era22-booking-visual-v1__intro > p:last-child {
	max-width: 520px;
	margin-top: 16px;
	font: 400 17px/27px "Plus Jakarta Sans", Inter, sans-serif;
}
.era22-booking-visual-v1__contact { margin-top: 37px; }
.era22-booking-visual-v1__contact-label { letter-spacing: 1px; }

/* Full contact card: CS and NL desktop. */
.era22-booking-contact-card {
	position: relative;
	width: 480px;
	height: 520px;
	margin-top: 15px;
	border-radius: 26px;
	background: #0a0a0a;
	color: #fff;
	overflow: hidden;
}
.era22-booking-contact-card__portrait {
	position: absolute;
	inset: 0 0 auto;
	height: 250px;
	overflow: hidden;
}
.era22-booking-contact-card__portrait img {
	position: absolute;
	left: 0;
	top: -72px;
	width: 480px;
	height: 480px;
	object-fit: cover;
}
.era22-booking-visual-v1[data-active-host="roy"] .era22-booking-contact-card__portrait img { top: -56px; }
.era22-booking-contact-card__strip {
	position: absolute;
	inset: 250px 0 auto;
	height: 18px;
	background: var(--era22-booking-accent);
}
.era22-booking-contact-card__identity {
	position: absolute;
	left: 24px;
	right: 24px;
	top: 316px;
	display: grid;
	grid-template-columns: 1fr 8px 174px;
	gap: 12px;
	align-items: start;
}
.era22-booking-contact-card__identity h3 { font: 600 28px/34px Manrope, Inter, sans-serif; }
.era22-booking-contact-card__dot { width: 8px; height: 8px; margin-top: 16px; border-radius: 50%; background: #fff; }
.era22-booking-contact-card__identity p { font: 400 14px/21px "Plus Jakarta Sans", Inter, sans-serif; color: #d9d9dc; }
.era22-booking-contact-card__identity p span { display: block; }
.era22-booking-contact-card__rule { position: absolute; left: 24px; right: 24px; top: 414px; height: 1px; background: var(--era22-booking-accent); }
.era22-booking-contact-card__details {
	position: absolute;
	left: 24px;
	right: 24px;
	top: 446px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}
.era22-booking-contact-card__details a {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	color: #fff;
	text-decoration: none;
}
.era22-booking-contact-card__detail-icon { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; }
.era22-booking-contact-card__details svg { width: 22px; height: 22px; }
.era22-booking-contact-card__details b { overflow: hidden; font: 500 14px/22px "Plus Jakarta Sans", Inter, sans-serif; white-space: nowrap; text-overflow: ellipsis; }

/* EN host selector. */
.era22-booking-host-selector { margin-top: 14px; display: grid; gap: 16px; width: 388px; }
.era22-booking-host-selector__item {
	position: relative;
	width: 388px;
	height: 82px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fafaf8;
	cursor: pointer;
	text-align: left;
	opacity: .52;
	transition: opacity .2s ease, transform .2s ease;
}
.era22-booking-host-selector__surface {
	position: absolute;
	inset: 2px 10px 2px 22px;
	border-radius: 24px;
	background: #0a0a0a;
	overflow: hidden;
}
.era22-booking-host-selector__item.is-selected { opacity: 1; }
.era22-booking-host-selector__item:hover { opacity: .82; }
.era22-booking-host-selector__item.is-selected:hover { opacity: 1; }
.era22-booking-host-selector__rail {
	position: absolute;
	z-index: 1;
	left: -5px;
	top: -25px;
	width: 35px;
	height: 112px;
	border-radius: 15px;
	background: var(--host-accent);
}
.era22-booking-host-selector__rail small {
	position: absolute;
	left: 8px;
	width: 24px;
	font: 600 9px/12px Manrope, Inter, sans-serif;
	letter-spacing: 1px;
	text-align: center;
}
.era22-booking-host-selector__rail small:first-child { top: 37px; }
.era22-booking-host-selector__rail i {
	position: absolute;
	left: 16px;
	top: 60px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #fff;
}
.era22-booking-host-selector__rail small:last-child { top: 79px; }
.era22-booking-host-selector__surface > img {
	position: absolute;
	z-index: 2;
	left: 39px;
	top: 10px;
	width: 58px;
	height: 58px;
	border-radius: 18px;
	object-fit: cover;
	filter: grayscale(1);
}
.era22-booking-host-selector__copy { position: absolute; z-index: 2; left: 109px; top: 16px; width: 203px; }
.era22-booking-host-selector__copy strong { display: block; font: 600 17px/22px Manrope, Inter, sans-serif; letter-spacing: -.2px; }
.era22-booking-host-selector__copy small { display: block; margin-top: 7px; font: 400 11px/16px Manrope, Inter, sans-serif; color: #dadce0; }
.era22-booking-host-selector__arrow { position: absolute; z-index: 2; right: 18px; top: 27px; width: 18px; height: 18px; }
.era22-booking-host-selector__arrow svg { width: 100%; height: 100%; }

/* Calendar shell. */
.era22-booking-calendar {
	position: relative;
	width: 680px;
	height: 828px;
	border-radius: 32px;
	background: #0a0a0a;
	color: #fff;
	overflow: hidden;
}
.era22-booking-calendar__header { padding: 34px 40px 0; }
.era22-booking-calendar__header h3 { margin-top: 20px; font: 600 34px/40px Manrope, Inter, sans-serif; }
.era22-booking-calendar__intro { margin-top: 10px; font: 400 15px/23px "Plus Jakarta Sans", Inter, sans-serif; color: #b9b9be; }
.era22-booking-calendar__month-row { margin-top: 17px; display: flex; justify-content: space-between; align-items: center; }
.era22-booking-calendar__month-row strong { color: #fff; letter-spacing: 1.44px; font-size: 12px; line-height: 18px; }
.era22-booking-calendar__month-row > div { display: flex; gap: 8px; }
.era22-booking-calendar__month-row button {
	width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,.16); border-radius: 50%;
	background: linear-gradient(180deg,#141417,#060607 50%,#19191c); color: #fff; box-shadow: 0 6px 6px rgba(0,0,0,.24); cursor: pointer;
}
.era22-booking-calendar__month-row button svg { width: 24px; height: 24px; }
.era22-booking-calendar__surface {
	width: 600px;
	height: 352px;
	margin: 26px 40px 0;
	padding: 22px 24px 20px;
	border-radius: 24px;
	background: #fafaf8;
	color: #0a0a0a;
}
.era22-booking-calendar__weekdays,
.era22-booking-calendar__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); column-gap: 10px; }
.era22-booking-calendar__weekdays span { text-align: center; font: 600 10px/14px "Plus Jakarta Sans", Inter, sans-serif; letter-spacing: .8px; color: #77777e; }
.era22-booking-calendar__days { margin-top: 23px; row-gap: 6px; }
.era22-booking-calendar__day {
	height: 40px;
	border: 0;
	border-radius: 14px;
	background: transparent;
	color: #0a0a0a;
	font: 600 11px/16px "Plus Jakarta Sans", Inter, sans-serif;
	cursor: pointer;
}
.era22-booking-calendar__day.is-preview-available { background: #eceae4; }
.era22-booking-calendar__day.is-selected { background: var(--era22-booking-accent); color: #fff; }
.era22-booking-calendar__day.is-weekend { color: #a1a1a6; }
.era22-booking-calendar__day[disabled] { cursor: default; }
.era22-booking-calendar__day--empty { height: 40px; }
.era22-booking-calendar__times { margin: 25px 40px 0; }
.era22-booking-calendar__times > p { color: #fff; }
.era22-booking-calendar__times h4 { margin-top: 10px; font: 600 24px/28px Manrope, Inter, sans-serif; }
.era22-booking-calendar__times > div { margin-top: 14px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.era22-booking-calendar__times button {
	height: 48px;
	border: 1px solid #343438;
	border-radius: 16px;
	background: #161616;
	color: #fff;
	font: 600 12px/18px "Plus Jakarta Sans", Inter, sans-serif;
	letter-spacing: .96px;
	cursor: pointer;
}
.era22-booking-calendar__times button.is-selected { border-color: var(--era22-booking-accent); background: var(--era22-booking-accent); }
.era22-booking-calendar__footer { position: absolute; left: 40px; right: 40px; bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.era22-booking-calendar__footer > p { width: 260px; font: 400 11px/16px "Plus Jakarta Sans", Inter, sans-serif; color: #a9a9ae; }
.era22-booking-calendar__cta {
	position: relative;
	width: 320px;
	height: 64px;
	padding: 0 45px 0 24px;
	border: 1px solid rgba(13,15,20,.9);
	border-radius: 32px;
	background-image: linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.05) 48%,rgba(0,0,0,.2)), linear-gradient(90deg,#0a0d12,#fff 7%,#7a828f 18%,#fafcff 34%,#a1a8b5 55%,#fff 76%,#59616e 92%,#080a0f);
	box-shadow: 2px 9px 18px rgba(0,0,0,.2);
	color: #0a0a0a;
	font: 600 14px/18px Manrope, Inter, sans-serif;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	cursor: default;
}
.era22-booking-calendar__cta::before { content: ""; position: absolute; inset: 3px; border-radius: 29px; background-image: linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,.03) 55%,rgba(8,10,15,.12)), linear-gradient(180deg,#fff,#f7fafc 22%,#dbe0e8 50%,#b2bac4 76%,#f5f7fa); box-shadow: inset 0 -2px 6px rgba(0,0,0,.18), inset -1px 2px 3px rgba(255,255,255,.68); }
.era22-booking-calendar__cta::after { content: ""; position: absolute; left: 12px; bottom: 2px; width: 17px; height: 2px; border-radius: 2px; background: rgba(255,106,0,.7); filter: blur(1px); opacity: .55; }
.era22-booking-calendar__cta span,
.era22-booking-calendar__cta svg { position: relative; z-index: 1; }
.era22-booking-calendar__cta svg { position: absolute; right: 22px; top: 21px; width: 22px; height: 22px; }
.era22-booking-calendar__status { position: absolute; left: 40px; right: 40px; bottom: 3px; min-height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.era22-booking-mobile-actions { display: none; }

.era22-booking-visual-v1 button:focus-visible,
.era22-booking-visual-v1 a:focus-visible { outline: 3px solid color-mix(in srgb, var(--era22-booking-accent) 70%, white); outline-offset: 3px; }

@media (max-width: 1439px) and (min-width: 901px) {
	.era22-booking-visual-v1__inner { padding-inline: 48px; grid-template-columns: minmax(420px, 1fr) minmax(560px, 1.2fr); gap: 32px; }
	.era22-booking-calendar { width: 100%; }
	.era22-booking-calendar__surface { width: calc(100% - 80px); }
	.era22-booking-contact-card { width: min(480px, 100%); }
}

@media (max-width: 900px) {
	.era22-booking-visual-v1__inner {
		width: 100%;
		min-height: 0;
		padding: 40px 24px 40px;
		display: block;
	}
	.era22-booking-visual-v1__left { padding-top: 0; }
	.era22-booking-visual-v1__intro { position: relative; height: 230px; }
	.era22-booking-visual-v1__eyebrow { position: absolute; left: 0; top: 0; }
	.era22-booking-visual-v1__line { position: absolute; left: 0; top: 24px; width: 42px; margin-top: 0; }
	.era22-booking-visual-v1__intro h2 { position: absolute; left: 0; top: 56px; width: 342px; max-width: 100%; min-height: 76px; margin-top: 0; font-size: 32px; line-height: 38px; letter-spacing: -.8px; }
	.era22-booking-visual-v1__intro > p:last-child { position: absolute; left: 0; top: 148px; width: 342px; max-width: 100%; margin-top: 0; font-size: 15px; line-height: 24px; }
	.era22-booking-visual-v1__contact { margin-top: 0; }
	.era22-booking-contact-card { width: 342px; max-width: 100%; height: 430px; margin-top: 16px; }
	.era22-booking-contact-card__portrait { height: 210px; }
	.era22-booking-contact-card__portrait img { top: -52px; width: 342px; height: 342px; }
	.era22-booking-visual-v1[data-active-host="roy"] .era22-booking-contact-card__portrait img { top: -40px; }
	.era22-booking-contact-card__strip { top: 210px; }
	.era22-booking-contact-card__identity { top: 274px; grid-template-columns: 1fr; gap: 0; }
	.era22-booking-contact-card__identity h3 { font-size: 24px; }
	.era22-booking-contact-card__dot { display: none; }
	.era22-booking-contact-card__identity p { margin-top: 29px; }
	.era22-booking-contact-card__rule,
	.era22-booking-contact-card__details { display: none; }
	.era22-booking-mobile-actions { display: block; width: 342px; max-width: 100%; margin-top: 26px; }
	.era22-booking-mobile-actions > p { text-align: center; letter-spacing: 1px; }
	.era22-booking-mobile-actions > div { margin-top: 38px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
	.era22-booking-mobile-actions a { border: 0; background: transparent; color: #0a0a0a; display: grid; justify-items: center; gap: 9px; cursor: pointer; text-decoration: none; }
	.era22-booking-mobile-actions a svg { width: 44px; height: 44px; padding: 11px; border: 1px solid #7c7c82; border-radius: 50%; background: linear-gradient(180deg,#fff,#dfe3e8 55%,#f7f8fa); box-shadow: 0 4px 10px rgba(0,0,0,.18); }
	.era22-booking-mobile-actions a span { font: 600 11px/16px "Plus Jakarta Sans", Inter, sans-serif; }

	.era22-booking-host-selector { width: 342px; max-width: 100%; gap: 12px; margin-top: 16px; }
	.era22-booking-host-selector__item { width: 342px; max-width: 100%; height: 78px; }
	.era22-booking-host-selector__surface { inset: 0 0 0 18px; }
	.era22-booking-host-selector__rail { left: -5px; top: 0; height: 78px; width: 35px; border-radius: 18px 0 0 18px; }
	.era22-booking-host-selector__rail small:first-child { top: 12px; }
	.era22-booking-host-selector__rail i { top: 35px; }
	.era22-booking-host-selector__rail small:last-child { top: 54px; }
	.era22-booking-host-selector__surface > img { left: 39px; top: 10px; }
	.era22-booking-host-selector__copy { left: 109px; top: 16px; width: 170px; }
	.era22-booking-host-selector__arrow { right: 18px; top: 29px; }

	.era22-booking-calendar {
		width: 342px;
		max-width: 100%;
		height: 900px;
		margin-top: 53px;
		border-radius: 32px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar { margin-top: 52px; }
	.era22-booking-calendar__header { padding: 28px 24px 0; }
	.era22-booking-calendar__header h3 { margin-top: 18px; font-size: 28px; line-height: 34px; }
	.era22-booking-calendar__intro { margin-top: 10px; font-size: 14px; line-height: 22px; }
	.era22-booking-calendar__month-row { margin-top: 26px; }
	.era22-booking-calendar__month-row > div { gap: 8px; }
	.era22-booking-calendar__month-row button { width: 44px; height: 44px; }
	.era22-booking-calendar__surface { width: 306px; height: 366px; margin: 24px 18px 0; padding: 22px 18px 18px; }
	.era22-booking-calendar__weekdays,
	.era22-booking-calendar__days { column-gap: 4px; }
	.era22-booking-calendar__days { margin-top: 25px; row-gap: 6px; }
	.era22-booking-calendar__day { height: 42px; }
	.era22-booking-calendar__day--empty { height: 42px; }
	.era22-booking-calendar__times { margin: 24px 24px 0; }
	.era22-booking-calendar__times h4 { margin-top: 10px; font-size: 22px; }
	.era22-booking-calendar__times > div { margin-top: 14px; grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.era22-booking-calendar__times button { height: 46px; }
	.era22-booking-calendar__footer { left: 24px; right: 24px; bottom: 20px; display: block; }
	.era22-booking-calendar__footer > p { width: 100%; margin-bottom: 18px; }
	.era22-booking-calendar__cta { width: 100%; height: 48px; border-radius: 24px; font-size: 12px; line-height: 16px; letter-spacing: 1.2px; }
	.era22-booking-calendar__cta::before { border-radius: 21px; }
	.era22-booking-calendar__cta svg { width: 18px; height: 18px; top: 15px; right: 17px; }
	.era22-booking-calendar__status { left: 24px; right: 24px; }
}

/*
 * Scope 047: common Android/Xiaomi CSS viewports are often 360px wide.
 * The 24px mobile shell gutters leave only 312px at that width, while the
 * calendar surface previously still occupied 342px including its margins.
 * Start the fluid narrow layout at 390px so the whole 360-390px range is
 * contained instead of relying on the old <=359px exception.
 */
@media (max-width: 390px) {
	.era22-booking-visual-v1__inner { padding-inline: 16px; }
	.era22-booking-visual-v1__intro {
		height: auto;
		min-height: 0;
	}
	.era22-booking-visual-v1__eyebrow,
	.era22-booking-visual-v1__line,
	.era22-booking-visual-v1__intro h2,
	.era22-booking-visual-v1__intro > p:last-child {
		position: static;
	}
	.era22-booking-visual-v1__line {
		display: block;
		margin-top: 8px;
	}
	.era22-booking-visual-v1__intro h2 {
		min-height: 0;
		margin-top: 28px;
	}
	.era22-booking-visual-v1__intro > p:last-child {
		margin-top: 16px;
	}
	.era22-booking-visual-v1__contact {
		margin-top: 32px;
	}
	.era22-booking-calendar,
	.era22-booking-contact-card,
	.era22-booking-host-selector,
	.era22-booking-host-selector__item,
	.era22-booking-mobile-actions { width: 100%; }
	.era22-booking-calendar {
		height: auto;
		min-height: 900px;
		padding-bottom: 120px;
	}
	.era22-booking-calendar__surface { width: calc(100% - 28px); margin-inline: 14px; padding-inline: 12px; }
	.era22-booking-contact-card__portrait img { width: 100%; }
	.era22-booking-visual-v1__intro h2,
	.era22-booking-visual-v1__intro > p:last-child { width: 100%; }
	.era22-booking-host-selector__copy { width: 150px; }
	.era22-booking-host-selector__arrow { right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.era22-booking-host-selector__item { transition: none; }
}

.era22-booking-visual-v1__intro > p:last-child span { display: inline; }
.era22-booking-visual-v1__intro > p:last-child span + span::before { content: " "; }

/*
 * STUDIO ERA22 Scope 026I — historical EN horizontal booking layout.
 * BOOK-PARITY-ACTIONS adds the final shared horizontal desktop overrides below.
 */
@media (min-width: 1280px) {
	.era22-booking-visual-v1[data-language="en"] {
		position: relative;
		height: 720px;
		min-height: 720px;
		overflow: clip;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__inner {
		position: relative;
		width: 1440px;
		max-width: none;
		height: 720px;
		min-height: 720px;
		margin: 0 auto;
		padding: 0;
		display: block;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__left {
		position: absolute;
		left: 80px;
		top: 48px;
		width: 520px;
		height: 600px;
		padding: 0;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__intro h2 {
		width: 540px;
		max-width: none;
		min-height: 0;
		margin-top: 30px;
		font: 700 48px/52px Manrope, Inter, sans-serif;
		letter-spacing: -1.6px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__intro > p:last-child span { display: block; }
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__intro > p:last-child span + span::before { content: none; }
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__intro > p:last-child {
		width: 520px;
		max-width: none;
		margin-top: 40px;
		font: 400 17px/27px "Plus Jakarta Sans", Inter, sans-serif;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__contact {
		position: absolute;
		left: 0;
		top: 265px;
		width: 500px;
		margin: 0;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-host-selector {
		width: 388px;
		margin-top: 40px;
		gap: 43px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar {
		position: absolute;
		left: 600px;
		top: 29px;
		width: 760px;
		height: 648px;
		border-radius: 32px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar::after {
		content: "";
		position: absolute;
		left: 478px;
		top: 190px;
		width: 1px;
		height: 352px;
		background: #2e2e33;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__header {
		padding: 0;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__eyebrow,
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__intro {
		display: none;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__header h3 {
		position: absolute;
		left: 32px;
		top: 76px;
		width: 696px;
		margin: 0;
		font: 600 34px/40px Manrope, Inter, sans-serif;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__month-row {
		position: static;
		margin: 0;
		display: block;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__month-row strong {
		position: absolute;
		left: 32px;
		top: 133px;
		font: 600 12px/18px "Plus Jakarta Sans", Inter, sans-serif;
		letter-spacing: 1.44px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__month-row > div {
		position: absolute;
		left: 338px;
		top: 121px;
		display: flex;
		gap: 28px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__month-row button {
		width: 48px;
		height: 48px;
		padding: 0;
		border: 1px solid rgba(255,255,255,.16);
		border-radius: 24px;
		box-shadow: none;
		filter: drop-shadow(0 6px 6px rgba(0,0,0,.24));
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__month-row button[data-calendar-prev] {
		background: url("../img/contact/booking-month-prev-horizontal-v1.svg") center/24px 24px no-repeat, linear-gradient(180deg,#141417 0%,#060607 50%,#19191c 100%);
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__month-row button[data-calendar-next] {
		background: url("../img/contact/booking-month-next-horizontal-v1.svg") center/24px 24px no-repeat, linear-gradient(180deg,#141417 0%,#060607 50%,#19191c 100%);
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__month-row button svg {
		display: none;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__surface {
		position: absolute;
		left: 32px;
		top: 190px;
		width: 430px;
		height: 352px;
		margin: 0;
		padding: 22px 17.19px 20px;
		border-radius: 22px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__weekdays,
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__days {
		column-gap: 7.16px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__times {
		position: absolute;
		left: 494px;
		top: 200px;
		width: 234px;
		margin: 0;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__times > p {
		margin-left: 7px;
		font: 600 16px/20px "Plus Jakarta Sans", Inter, sans-serif;
		letter-spacing: 1.92px;
		white-space: nowrap;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__times h4 {
		display: none;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__times > div {
		margin-top: 48px;
		display: grid;
		grid-template-columns: 234px;
		gap: 12px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__times button {
		width: 234px;
		height: 48px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__footer {
		position: static;
		display: block;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__footer > p {
		position: absolute;
		left: 494px;
		top: 530px;
		width: 234px;
		margin: 0;
		font: 400 11px/16px "Plus Jakarta Sans", Inter, sans-serif;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__cta {
		position: absolute;
		left: 494px;
		top: 568px;
		width: 234px;
		height: 48px;
		padding: 0;
		border: .731px solid rgba(13,15,20,.9);
		border-radius: 32px;
		background-image: linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.05) 48%,rgba(0,0,0,.2) 100%),linear-gradient(90deg,#0a0d12 0%,#fff 7%,#7a828f 18%,#fafcff 34%,#a1a8b5 55%,#fff 76%,#59616e 92%,#080a0f 100%);
		box-shadow: 1.462px 6.581px 13.162px rgba(0,0,0,.2);
		font: 600 10.24px/13.162px Manrope, Inter, sans-serif;
		letter-spacing: 1.6px;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__cta::before {
		inset: 2.194px;
		border-radius: 29px;
		background-image: linear-gradient(90deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.03) 55%,rgba(8,10,15,.12) 100%),linear-gradient(180deg,#fff 0%,#f7fafc 22%,#dbe0e8 50%,#b2bac4 76%,#f5f7fa 100%);
		box-shadow: inset 0 -1.462px 4.387px rgba(0,0,0,.18), inset -.731px 1.462px 2.194px rgba(255,255,255,.68);
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__cta::after {
		left: 8.19px;
		top: 43.87px;
		bottom: auto;
		width: 11.7px;
		height: 1.462px;
		filter: blur(.804px);
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__cta span {
		position: absolute;
		z-index: 1;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__cta span::before {
		content: "";
		position: absolute;
		left: -1.46px;
		top: 8.11px;
		width: 7px;
		height: 23px;
		background: url("../img/contact/booking-cta-blue-edge-horizontal-v1.svg") center/contain no-repeat;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__cta span::after {
		content: "";
		position: absolute;
		right: 16.82px;
		top: 15.72px;
		width: 17px;
		height: 17px;
		background: url("../img/contact/booking-cta-arrow-horizontal-v1.svg") center/17px 17px no-repeat;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__cta > svg {
		display: none;
	}
	.era22-booking-visual-v1[data-language="en"] .era22-booking-calendar__status {
		left: 494px;
		right: 32px;
	}
}

@media (min-width: 1400px) and (max-width: 1439px) {
	.era22-booking-visual-v1[data-language="en"] { height: 700px; min-height: 700px; }
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.972222); transform-origin: top center; }
}
@media (min-width: 1360px) and (max-width: 1399px) {
	.era22-booking-visual-v1[data-language="en"] { height: 680px; min-height: 680px; }
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.944444); transform-origin: top center; }
}
@media (min-width: 1320px) and (max-width: 1359px) {
	.era22-booking-visual-v1[data-language="en"] { height: 660px; min-height: 660px; }
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.916667); transform-origin: top center; }
}
@media (min-width: 1280px) and (max-width: 1319px) {
	.era22-booking-visual-v1[data-language="en"] { height: 640px; min-height: 640px; }
	.era22-booking-visual-v1[data-language="en"] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.888889); transform-origin: top center; }
}

/* Tablet safety for the verified 026H compositions before the 1280px EN Figma frame takes over. */
@media (min-width: 901px) and (max-width: 1107px) {
	.era22-booking-visual-v1__inner {
		padding-inline: 32px;
		grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
		gap: 24px;
	}
	.era22-booking-host-selector,
	.era22-booking-host-selector__item,
	.era22-booking-contact-card {
		width: 100%;
	}
	.era22-booking-host-selector__copy { width: 160px; }
	.era22-booking-host-selector__arrow { right: 10px; }
	.era22-booking-contact-card__portrait img {
		top: -45px;
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}
	.era22-booking-visual-v1[data-active-host="roy"] .era22-booking-contact-card__portrait img { top: -35px; }
	.era22-booking-contact-card__identity {
		top: 300px;
		grid-template-columns: 1fr;
		gap: 0;
	}
	.era22-booking-contact-card__dot { display: none; }
	.era22-booking-contact-card__identity p { margin-top: 12px; }
	.era22-booking-contact-card__rule { top: 400px; }
	.era22-booking-contact-card__details {
		top: 425px;
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.era22-booking-contact-card__details b { font-size: 12px; white-space: normal; }
	.era22-booking-calendar { width: 100%; }
	.era22-booking-calendar__header { padding-inline: 24px; }
	.era22-booking-calendar__surface {
		width: calc(100% - 48px);
		margin-inline: 24px;
		padding-inline: 18px;
	}
	.era22-booking-calendar__weekdays,
	.era22-booking-calendar__days { column-gap: 6px; }
	.era22-booking-calendar__times { margin-inline: 24px; }
	.era22-booking-calendar__times > div { gap: 10px; }
	.era22-booking-calendar__footer {
		left: 24px;
		right: 24px;
		display: grid;
		grid-template-columns: minmax(120px, 1fr) minmax(220px, 1.4fr);
		gap: 16px;
	}
	.era22-booking-calendar__footer > p { width: auto; }
	.era22-booking-calendar__cta { width: 100%; height: 56px; font-size: 12px; }
	.era22-booking-calendar__cta::before { border-radius: 25px; }
	.era22-booking-calendar__cta svg { top: 17px; }
}



/*
 * STUDIO ERA22 BOOK-PARITY-ACTIONS — shared horizontal desktop geometry,
 * fixed-host CS/NL parity, expanded EN host cards and active direct-contact
 * handoffs. Desktop cards expose phone and email; mobile additionally exposes
 * WhatsApp. Booking remains a local preview with no provider or submission.
 */
.era22-booking-host-expanded { display: none; }
.era22-booking-host-panel[hidden] { display: none !important; }
.era22-booking-fixed-host__compact { display: none; }
.era22-booking-fixed-host__full { display: block; }
.era22-booking-visual-v1.is-host-expanded .era22-booking-host-expanded { display: block; }
.era22-booking-visual-v1[data-language="en"].is-host-expanded .era22-booking-host-selector__item.is-selected { display: none; }
.era22-booking-host-panel:focus,
.era22-booking-fixed-host__full:focus { outline: 0; }
.era22-booking-host-selector__item.is-selected.is-fixed-muted,
.era22-booking-host-selector__item.is-selected.is-fixed-muted:hover { opacity: .52; }

@media (min-width: 1280px) {
	.era22-booking-visual-v1[data-horizontal-desktop] {
		--era22-booking-desktop-height: 720px;
		--era22-booking-calendar-top: 29px;
		--era22-booking-contact-top: 279px;
		position: relative;
		height: var(--era22-booking-desktop-height);
		min-height: var(--era22-booking-desktop-height);
		overflow: clip;
	}
	.era22-booking-visual-v1[data-horizontal-desktop].is-host-expanded {
		--era22-booking-desktop-height: 920px;
		--era22-booking-calendar-top: 136px;
	}
	.era22-booking-visual-v1[data-language="en"] { --era22-booking-contact-top: 265px; }
	.era22-booking-visual-v1[data-language="en"].is-host-expanded { --era22-booking-contact-top: 212px; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__inner {
		position: relative;
		width: 1440px;
		max-width: none;
		height: var(--era22-booking-desktop-height);
		min-height: var(--era22-booking-desktop-height);
		margin: 0 auto;
		padding: 0;
		display: block;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__left {
		position: absolute;
		left: 80px;
		top: 48px;
		width: 520px;
		height: calc(var(--era22-booking-desktop-height) - 48px);
		padding: 0;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__intro h2 {
		width: 540px;
		max-width: none;
		min-height: 0;
		margin-top: 30px;
		font: 700 48px/52px Manrope, Inter, sans-serif;
		letter-spacing: -1.6px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__intro > p:last-child span { display: block; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__intro > p:last-child span + span::before { content: none; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__intro > p:last-child {
		width: 520px;
		max-width: none;
		margin-top: 40px;
		font: 400 17px/27px "Plus Jakarta Sans", Inter, sans-serif;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__contact {
		position: absolute;
		left: 0;
		top: var(--era22-booking-contact-top);
		width: 500px;
		margin: 0;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-host-selector {
		width: 388px;
		margin-top: 40px;
		gap: 43px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-fixed-host__compact { display: block; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-fixed-host__full { display: none; }
	.era22-booking-visual-v1[data-horizontal-desktop].is-host-expanded .era22-booking-fixed-host__compact { display: none; }
	.era22-booking-visual-v1[data-horizontal-desktop].is-host-expanded .era22-booking-fixed-host__full { display: block; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-host-selector--fixed { margin-top: 26px; gap: 0; }
	.era22-booking-visual-v1[data-language="en"].is-host-expanded .era22-booking-host-selector {
		margin-top: 24px;
		gap: 0;
	}
	.era22-booking-visual-v1[data-language="en"].is-host-expanded .era22-booking-host-expanded { margin-top: 18px; }
	.era22-booking-visual-v1[data-language="en"].is-host-expanded .era22-booking-host-panel:not([hidden]) { display: block; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-host-expanded .era22-booking-contact-card { margin-top: 0; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar {
		position: absolute;
		left: 600px;
		top: var(--era22-booking-calendar-top);
		width: 760px;
		height: 648px;
		border-radius: 32px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar::after {
		content: "";
		position: absolute;
		left: 478px;
		top: 190px;
		width: 1px;
		height: 352px;
		background: #2e2e33;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__header { padding: 0; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__eyebrow,
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__intro { display: none; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__header h3 {
		position: absolute;
		left: 32px;
		top: 76px;
		width: 696px;
		margin: 0;
		font: 600 34px/40px Manrope, Inter, sans-serif;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__month-row { position: static; margin: 0; display: block; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__month-row strong {
		position: absolute;
		left: 32px;
		top: 133px;
		font: 600 12px/18px "Plus Jakarta Sans", Inter, sans-serif;
		letter-spacing: 1.44px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__month-row > div {
		position: absolute;
		left: 338px;
		top: 121px;
		display: flex;
		gap: 28px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__month-row button {
		width: 48px;
		height: 48px;
		padding: 0;
		border: 1px solid rgba(255,255,255,.16);
		border-radius: 24px;
		box-shadow: none;
		filter: drop-shadow(0 6px 6px rgba(0,0,0,.24));
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__month-row button[data-calendar-prev] {
		background: url("../img/contact/booking-month-prev-horizontal-v1.svg") center/24px 24px no-repeat, linear-gradient(180deg,#141417 0%,#060607 50%,#19191c 100%);
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__month-row button[data-calendar-next] {
		background: url("../img/contact/booking-month-next-horizontal-v1.svg") center/24px 24px no-repeat, linear-gradient(180deg,#141417 0%,#060607 50%,#19191c 100%);
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__month-row button svg { display: none; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__surface {
		position: absolute;
		left: 32px;
		top: 190px;
		width: 430px;
		height: 352px;
		margin: 0;
		padding: 22px 17.19px 20px;
		border-radius: 22px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__weekdays,
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__days { column-gap: 7.16px; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__times {
		position: absolute;
		left: 494px;
		top: 200px;
		width: 234px;
		margin: 0;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__times > p {
		margin-left: 7px;
		font: 600 16px/20px "Plus Jakarta Sans", Inter, sans-serif;
		letter-spacing: 1.92px;
		white-space: nowrap;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__times h4 { display: none; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__times > div {
		margin-top: 48px;
		display: grid;
		grid-template-columns: 234px;
		gap: 12px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__times button { width: 234px; height: 48px; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__footer { position: static; display: block; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__footer > p {
		position: absolute;
		left: 494px;
		top: 530px;
		width: 234px;
		margin: 0;
		font: 400 11px/16px "Plus Jakarta Sans", Inter, sans-serif;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__cta {
		position: absolute;
		left: 494px;
		top: 568px;
		width: 234px;
		height: 48px;
		padding: 0;
		border: .731px solid rgba(13,15,20,.9);
		border-radius: 32px;
		background-image: linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.05) 48%,rgba(0,0,0,.2) 100%),linear-gradient(90deg,#0a0d12 0%,#fff 7%,#7a828f 18%,#fafcff 34%,#a1a8b5 55%,#fff 76%,#59616e 92%,#080a0f 100%);
		box-shadow: 1.462px 6.581px 13.162px rgba(0,0,0,.2);
		font: 600 10.24px/13.162px Manrope, Inter, sans-serif;
		letter-spacing: 1.6px;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__cta::before {
		inset: 2.194px;
		border-radius: 29px;
		background-image: linear-gradient(90deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.03) 55%,rgba(8,10,15,.12) 100%),linear-gradient(180deg,#fff 0%,#f7fafc 22%,#dbe0e8 50%,#b2bac4 76%,#f5f7fa 100%);
		box-shadow: inset 0 -1.462px 4.387px rgba(0,0,0,.18), inset -.731px 1.462px 2.194px rgba(255,255,255,.68);
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__cta::after {
		left: 8.19px;
		top: 43.87px;
		bottom: auto;
		width: 11.7px;
		height: 1.462px;
		filter: blur(.804px);
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__cta span {
		position: absolute;
		z-index: 1;
		inset: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__cta span::before {
		content: "";
		position: absolute;
		left: -1.46px;
		top: 8.11px;
		width: 7px;
		height: 23px;
		background: url("../img/contact/booking-cta-blue-edge-horizontal-v1.svg") center/contain no-repeat;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__cta span::after {
		content: "";
		position: absolute;
		right: 16.82px;
		top: 15.72px;
		width: 17px;
		height: 17px;
		background: url("../img/contact/booking-cta-arrow-horizontal-v1.svg") center/17px 17px no-repeat;
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__cta > svg { display: none; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__status { left: 494px; right: 32px; }
}

@media (min-width: 1400px) and (max-width: 1439px) {
	.era22-booking-visual-v1[data-horizontal-desktop] { height: 700px; min-height: 700px; }
	.era22-booking-visual-v1[data-horizontal-desktop].is-host-expanded { height: 894.444px; min-height: 894.444px; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.972222); transform-origin: top center; }
}
@media (min-width: 1360px) and (max-width: 1399px) {
	.era22-booking-visual-v1[data-horizontal-desktop] { height: 680px; min-height: 680px; }
	.era22-booking-visual-v1[data-horizontal-desktop].is-host-expanded { height: 868.888px; min-height: 868.888px; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.944444); transform-origin: top center; }
}
@media (min-width: 1320px) and (max-width: 1359px) {
	.era22-booking-visual-v1[data-horizontal-desktop] { height: 660px; min-height: 660px; }
	.era22-booking-visual-v1[data-horizontal-desktop].is-host-expanded { height: 843.334px; min-height: 843.334px; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.916667); transform-origin: top center; }
}
@media (min-width: 1280px) and (max-width: 1319px) {
	.era22-booking-visual-v1[data-horizontal-desktop] { height: 640px; min-height: 640px; }
	.era22-booking-visual-v1[data-horizontal-desktop].is-host-expanded { height: 817.778px; min-height: 817.778px; }
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-visual-v1__inner { position: absolute; left: 50%; margin-left: -720px; transform: scale(.888889); transform-origin: top center; }
}

@media (max-width: 900px) {
	.era22-booking-fixed-host__compact { display: none; }
	.era22-booking-fixed-host__full { display: block; }
	.era22-booking-visual-v1.is-host-expanded .era22-booking-visual-v1__contact {
		display: flex;
		flex-direction: column;
	}
	.era22-booking-visual-v1.is-host-expanded .era22-booking-visual-v1__contact-label { order: 0; }
	.era22-booking-visual-v1.is-host-expanded .era22-booking-host-expanded,
	.era22-booking-visual-v1.is-host-expanded .era22-booking-host-panel:not([hidden]) { display: contents; }
	.era22-booking-visual-v1.is-host-expanded .era22-booking-contact-card { order: 1; }
	.era22-booking-visual-v1.is-host-expanded .era22-booking-host-selector { order: 2; margin-top: 16px; }
	.era22-booking-visual-v1.is-host-expanded .era22-booking-mobile-actions { order: 3; }
}

/* STUDIO ERA22 Scope 029 — BOOK-ACTIVATION. */
.era22-booking-visual-v1 [hidden] { display: none !important; }
.era22-booking-calendar__cta { cursor: pointer; }
.era22-booking-calendar__cta:disabled { cursor: not-allowed; opacity: .46; filter: saturate(.35); }
.era22-booking-calendar__month-row button:disabled { opacity: .32; cursor: not-allowed; }
.era22-booking-calendar__day:disabled:not(.is-selected) { opacity: .42; background: transparent; }
.era22-booking-calendar.is-loading .era22-booking-calendar__surface,
.era22-booking-calendar.is-loading .era22-booking-calendar__times { opacity: .48; }
.era22-booking-calendar__message {
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 99px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 34px;
	font: 500 12px/18px "Plus Jakarta Sans", Inter, sans-serif;
	color: #d5d6da;
}
.era22-booking-calendar__message button {
	flex: 0 0 auto;
	padding: 8px 14px;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	background: #19191c;
	color: #fff;
	font: 600 10px/14px Manrope, Inter, sans-serif;
	letter-spacing: .9px;
	cursor: pointer;
}

.era22-booking-flow {
	width: min(1240px, calc(100% - 80px));
	margin: 0 auto;
	padding: 48px 0 64px;
	font-family: "Plus Jakarta Sans", Inter, sans-serif;
}
.era22-booking-flow__shell {
	position: relative;
	padding: 28px 35px 34px;
	border: 1px solid #dededa;
	border-radius: 24px;
	background: #fff;
}
.era22-booking-flow__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 66px;
	padding-bottom: 20px;
	border-bottom: 1px solid #dededa;
}
.era22-booking-flow__header img { width: 140px; height: 45px; object-fit: contain; }
.era22-booking-flow__pill,
.era22-booking-pending__pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 176px;
	height: 32px;
	padding: 0 16px;
	border: 1px solid #37373c;
	border-radius: 999px;
	background: #0a0a0a;
	color: #fff;
	font: 600 9px/13px "Plus Jakarta Sans", Inter, sans-serif;
	letter-spacing: .8px;
	text-transform: uppercase;
}
.era22-booking-flow__pill i,
.era22-booking-pending__pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--era22-booking-accent); }
.era22-booking-flow__title { padding: 28px 0 24px; }
.era22-booking-flow__title h2 { font: 700 34px/40px Manrope, Inter, sans-serif; letter-spacing: -.8px; }
.era22-booking-flow__title p { margin-top: 9px; color: #696b72; font: 400 14px/22px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-flow__grid { display: grid; grid-template-columns: 356px minmax(0, 1fr); gap: 32px; align-items: stretch; }

.era22-booking-summary {
	position: relative;
	min-height: 748px;
	padding: 28px 30px 28px 36px;
	border-radius: 24px;
	background: #0a0a0a;
	color: #fff;
	overflow: hidden;
}
.era22-booking-summary::before,
.era22-booking-pending__hero::before,
.era22-booking-form__verification::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--era22-booking-accent); }
.era22-booking-summary__eyebrow,
.era22-booking-pending__hero small,
.era22-booking-pending__slot small { font: 600 10px/14px "Plus Jakarta Sans", Inter, sans-serif; letter-spacing: 1px; text-transform: uppercase; }
.era22-booking-summary h3 { margin-top: 16px; font: 700 30px/38px Manrope, Inter, sans-serif; }
.era22-booking-summary__intro { margin-top: 38px; color: #d5d6da; font: 400 14px/22px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-summary dl { margin: 30px 0 0; }
.era22-booking-summary dl > div { padding: 18px 0; border-bottom: 1px solid #2a2a2d; }
.era22-booking-summary dt { color: #9a9ca3; font: 600 9px/13px "Plus Jakarta Sans", Inter, sans-serif; letter-spacing: .8px; }
.era22-booking-summary dd { margin: 8px 0 0; font: 600 14px/20px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-summary__pending { position: absolute; left: 36px; right: 30px; bottom: 28px; color: #d5d6da; font: 400 12px/19px "Plus Jakarta Sans", Inter, sans-serif; }

.era22-booking-form {
	position: relative;
	min-height: 748px;
	padding: 24px 28px 88px;
	border-radius: 20px;
	background: #fafaf8;
}
.era22-booking-form h3 { font: 700 28px/36px Manrope, Inter, sans-serif; }
.era22-booking-form__intro { margin-top: 6px; color: #696b72; font: 400 13px/20px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px 28px; margin-top: 28px; }
.era22-booking-form__field { display: grid; gap: 8px; min-width: 0; color: #0a0a0a; font: 600 10px/14px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__field--firstName,
.era22-booking-form__field--lastName { grid-column: span 1; }
.era22-booking-form__field--wide { grid-column: 1 / -1; }
.era22-booking-form input,
.era22-booking-form textarea {
	width: 100%;
	border: 1px solid #dededa;
	border-radius: 12px;
	background: #fff;
	color: #0a0a0a;
	font: 400 13px/19px "Plus Jakarta Sans", Inter, sans-serif;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.era22-booking-form input { height: 44px; padding: 0 13px; }
.era22-booking-form textarea { min-height: 126px; padding: 13px 15px; resize: vertical; }
.era22-booking-form input::placeholder,
.era22-booking-form textarea::placeholder { color: #696b72; opacity: 1; }
.era22-booking-form input:focus,
.era22-booking-form textarea:focus { border-color: var(--era22-booking-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--era22-booking-accent) 18%, transparent); }
.era22-booking-form [aria-invalid="true"] { border-color: #bd241c; box-shadow: 0 0 0 3px rgba(189,36,28,.12); }
.era22-booking-form__field small { min-height: 14px; color: #a51f18; font: 500 10px/14px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__registration-helper { margin-top: 2px; color: #696b72; font: 400 9px/14px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__verification { position: relative; display: grid; gap: 5px; margin-top: 18px; padding: 12px 18px 12px 20px; border-radius: 14px; background: #f2f3f5; overflow: hidden; }
.era22-booking-form__verification strong { font: 600 9px/13px "Plus Jakarta Sans", Inter, sans-serif; letter-spacing: .8px; }
.era22-booking-form__verification span { color: #696b72; font: 400 11px/17px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__turnstile { display: grid; gap: 8px; min-width: 0; margin-top: 16px; }
.era22-booking-form__turnstile [data-turnstile-widget] { min-height: 65px; max-width: 100%; overflow: hidden; }
.era22-booking-form__turnstile iframe { max-width: 100%; }
.era22-booking-form__turnstile p { margin: 0; color: #8b1914; font: 500 11px/17px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__turnstile button { justify-self: start; border: 0; padding: 0; background: transparent; color: #0a0a0a; font: 700 10px/14px Manrope, Inter, sans-serif; letter-spacing: .9px; text-decoration: underline; cursor: pointer; }
.era22-booking-form__turnstile button:focus-visible { outline: 2px solid var(--era22-booking-accent); outline-offset: 4px; border-radius: 2px; }
.era22-booking-form__privacy { margin-top: 12px; color: #696b72; font: 400 10px/15px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.era22-booking-form__submit { position: absolute; right: 28px; bottom: 20px; }
.era22-booking-form__spinner { display: none; position: absolute; z-index: 2; left: 24px; top: 22px; width: 20px; height: 20px; border: 2px solid rgba(10,10,10,.26); border-top-color: #0a0a0a; border-radius: 50%; animation: era22-booking-spin .8s linear infinite; }
.era22-booking-form.is-submitting .era22-booking-form__spinner { display: block; }
.era22-booking-form.is-submitting .era22-booking-form__submit svg { display: none; }
.era22-booking-form__wait { position: absolute; left: 28px; bottom: 41px; color: #696b72; font: 500 11px/17px "Plus Jakarta Sans", Inter, sans-serif; }
@keyframes era22-booking-spin { to { transform: rotate(360deg); } }

.era22-booking-form__validation,
.era22-booking-form__provider-error { display: grid; gap: 8px; margin-top: 16px; padding: 14px 16px; border-radius: 14px; font: 500 12px/18px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-form__validation { border: 1px solid rgba(189,36,28,.3); background: #fff3f2; color: #8b1914; }
.era22-booking-form__provider-error { border: 1px solid rgba(255,106,0,.38); background: #fff7ed; color: #4b2b14; }
.era22-booking-form__provider-error strong { font-weight: 700; }
.era22-booking-form__provider-error span { color: #696b72; }
.era22-booking-form__validation button,
.era22-booking-form__provider-error button { justify-self: start; border: 0; padding: 0; background: transparent; color: #0a0a0a; font: 700 10px/14px Manrope, Inter, sans-serif; letter-spacing: .9px; text-decoration: underline; cursor: pointer; }

.era22-booking-pending { position: relative; padding-top: 0; }
.era22-booking-pending__pill { position: absolute; right: 0; top: 30px; }
.era22-booking-pending__hero { position: relative; min-height: 210px; padding: 28px 30px; border-radius: 24px; background: #0a0a0a; color: #fff; overflow: hidden; }
.era22-booking-pending__hero h3 { margin-top: 18px; font: 700 32px/40px Manrope, Inter, sans-serif; }
.era22-booking-pending__hero p { margin-top: 14px; max-width: 820px; color: #d5d6da; font: 400 14px/22px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-pending__slot { display: grid; gap: 8px; margin-top: 28px; padding: 20px 23px; border: 1px solid #dededa; border-radius: 18px; background: #fff; }
.era22-booking-pending__slot small { color: #696b72; }
.era22-booking-pending__slot strong { margin-top: 6px; font: 600 18px/25px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-pending__slot span { color: #696b72; font: 400 13px/20px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-pending__slot p { color: #696b72; font: 400 11px/17px "Plus Jakarta Sans", Inter, sans-serif; }
.era22-booking-flow__secondary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 280px;
	height: 48px;
	margin: 28px 0 0 auto;
	padding: 0 20px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 24px;
	background: linear-gradient(180deg,#151518,#070708 50%,#1a1a1d);
	box-shadow: 1px 7px 5px rgba(0,0,0,.17), inset 0 1px 2px rgba(255,255,255,.1);
	color: #fafaf8;
	font: 600 12px/16px Manrope, Inter, sans-serif;
	letter-spacing: 1.1px;
	cursor: pointer;
}
.era22-booking-flow__secondary svg { width: 18px; height: 18px; }

@media (max-width: 900px) {
	.era22-booking-calendar__message { left: 24px; right: 24px; bottom: 103px; font-size: 11px; }
	.era22-booking-flow { width: 100%; padding: 24px 16px 40px; }
	.era22-booking-flow__shell { padding: 20px 15px 24px; border-radius: 0; }
	.era22-booking-flow__header { min-height: 56px; padding: 0 8px 16px; }
	.era22-booking-flow__header img { width: 112px; height: 36px; }
	.era22-booking-flow__pill { min-width: 134px; height: 28px; padding: 0 10px; font-size: 8px; }
	.era22-booking-flow__title { padding: 22px 0 20px; }
	.era22-booking-flow__title h2 { font-size: 28px; line-height: 34px; }
	.era22-booking-flow__title p { font-size: 13px; line-height: 21px; }
	.era22-booking-flow__grid { display: block; }
	.era22-booking-summary { min-height: 194px; padding: 22px 22px 22px 28px; border-radius: 22px; }
	.era22-booking-summary h3 { margin-top: 12px; font-size: 24px; line-height: 31px; }
	.era22-booking-summary__intro,
	.era22-booking-summary dl,
	.era22-booking-summary__pending { display: none; }
	.era22-booking-summary dl > div:nth-child(1),
	.era22-booking-summary dl > div:nth-child(2),
	.era22-booking-summary dl > div:nth-child(3) { display: block; }
	.era22-booking-form { min-height: 0; margin-top: 22px; padding: 20px 18px 92px; border-radius: 18px; }
	.era22-booking-form h3 { font-size: 23px; line-height: 30px; }
	.era22-booking-form__intro { font-size: 10px; line-height: 15px; }
	.era22-booking-form__fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 10px; margin-top: 18px; }
	.era22-booking-form__field { font-size: 9px; line-height: 13px; gap: 5px; }
	.era22-booking-form__field--email,
	.era22-booking-form__field--registration,
	.era22-booking-form__field--country,
	.era22-booking-form__field--phone,
	.era22-booking-form__field--website,
	.era22-booking-form__field--wide { grid-column: 1 / -1; }
	.era22-booking-form input { height: 44px; border-radius: 10px; font-size: 11px; }
	.era22-booking-form textarea { min-height: 76px; border-radius: 10px; font-size: 11px; line-height: 17px; }
	.era22-booking-form__registration-helper,
	.era22-booking-form__verification,
	.era22-booking-form__privacy { margin-top: 12px; }
	.era22-booking-form__submit { left: 18px; right: 18px; bottom: 24px; width: auto; height: 48px; border-radius: 24px; font-size: 12px; line-height: 16px; }
	.era22-booking-form__submit::before { border-radius: 21px; }
	.era22-booking-form__submit svg { right: 17px; top: 15px; width: 18px; height: 18px; }
	.era22-booking-form__spinner { top: 14px; }
	.era22-booking-form__wait { position: static; margin-top: 12px; text-align: center; }
	.era22-booking-pending__pill { position: static; margin: 0 0 18px auto; min-width: 134px; height: 28px; font-size: 8px; }
	.era22-booking-pending__hero { min-height: 236px; padding: 24px 22px; border-radius: 22px; }
	.era22-booking-pending__hero h3 { margin-top: 14px; font-size: 25px; line-height: 32px; }
	.era22-booking-pending__hero p { font-size: 13px; line-height: 21px; }
	.era22-booking-pending__slot { margin-top: 22px; padding: 17px; }
	.era22-booking-pending__slot strong { font-size: 14px; line-height: 20px; }
	.era22-booking-flow__secondary { width: 100%; margin-top: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.era22-booking-form__spinner { animation-duration: 1.6s; }
	.era22-booking-form input,
	.era22-booking-form textarea { transition: none; }
}

@media (min-width: 901px) {
	.era22-booking-form__fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.era22-booking-form__field--firstName,
	.era22-booking-form__field--lastName { grid-column: span 1; }
	.era22-booking-form__field--email { grid-column: span 2; }
	.era22-booking-form__field--registration,
	.era22-booking-form__field--country,
	.era22-booking-form__field--phone,
	.era22-booking-form__field--website { grid-column: span 2; }
	.era22-booking-form__field--wide { grid-column: 1 / -1; }
}

.era22-booking-summary__mobile { display: none; }
@media (max-width: 900px) {
	.era22-booking-summary > h3 { display: none; }
	.era22-booking-summary__mobile { display: grid; gap: 4px; margin-top: 12px; }
	.era22-booking-summary__mobile strong { color: #fff; font: 700 24px/31px Manrope, Inter, sans-serif; text-transform: none; }
	.era22-booking-summary__mobile span { color: #d5d6da; font: 400 12px/19px "Plus Jakarta Sans", Inter, sans-serif; }
}

/* STUDIO ERA22 Scope 031 - CALENDAR-SCROLL-WEEKENDS. */
.era22-booking-calendar__day.is-weekend.is-preview-available:not(.is-selected) {
	color: #0a0a0a;
}
.era22-booking-calendar__day.is-weekend.is-selected {
	color: #fff;
}
.era22-booking-calendar__times > div {
	align-content: start;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	scrollbar-gutter: stable;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,.34) transparent;
}
.era22-booking-calendar__times > div::-webkit-scrollbar {
	width: 6px;
}
.era22-booking-calendar__times > div::-webkit-scrollbar-track {
	background: transparent;
}
.era22-booking-calendar__times > div::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(255,255,255,.34);
}
.era22-booking-calendar__times > div:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--era22-booking-accent) 72%, white);
	outline-offset: 4px;
}

@media (min-width: 1280px) {
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__times > div {
		max-height: 228px;
		padding-right: 8px;
		grid-template-columns: minmax(0, 1fr);
	}
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-calendar__times button {
		width: 100%;
	}
}

@media (min-width: 901px) and (max-width: 1279px) {
	.era22-booking-calendar__times > div {
		max-height: 108px;
		padding-right: 8px;
	}
}

@media (max-width: 900px) {
	.era22-booking-calendar__times > div {
		max-height: 104px;
		padding-right: 8px;
	}
}


/*
 * STUDIO ERA22 Scope 032 — responsive booking alignment cleanup.
 * Visual geometry only: full-width EN mobile host selectors, optical centering
 * of mobile month arrows, and desktop bottom-edge alignment between the active
 * host stack and the calendar. No booking, provider, form or data-flow changes.
 */
@media (max-width: 900px) {
	.era22-booking-visual-v1[data-language="en"] .era22-booking-host-selector,
	.era22-booking-visual-v1[data-language="en"] .era22-booking-host-selector__item {
		width: 100%;
		max-width: none;
	}

	.era22-booking-visual-v1[data-language="en"] .era22-booking-host-selector__surface {
		inset: 0;
	}

	.era22-booking-visual-v1[data-language="en"] .era22-booking-host-selector__rail {
		left: 0;
	}

	.era22-booking-calendar__month-row button {
		display: grid;
		place-items: center;
		line-height: 0;
	}

	.era22-booking-calendar__month-row button svg {
		display: block;
		margin: 0;
	}

	.era22-booking-calendar__month-row button[data-calendar-prev] svg {
		transform: translateX(-1px);
	}

	.era22-booking-calendar__month-row button[data-calendar-next] svg {
		transform: translateX(1px);
	}
}

@media (min-width: 1280px) {
	.era22-booking-visual-v1[data-horizontal-desktop][data-single-host].is-host-expanded {
		--era22-booking-calendar-top: 228px;
	}

	.era22-booking-visual-v1[data-horizontal-desktop][data-language="en"].is-host-expanded {
		--era22-booking-calendar-top: 270px;
	}
}

/* STUDIO ERA22 Scope 033 - BOOKING-SUBMIT-RELIABILITY. */
.era22-booking-flow { padding-bottom: 112px; }
.era22-booking-form {
	display: flex;
	flex-direction: column;
	min-height: 780px;
	padding-bottom: 24px;
}
.era22-booking-form__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-top: auto;
	padding-top: 22px;
}
.era22-booking-form__submit {
	position: relative;
	right: auto;
	bottom: auto;
	flex: 0 0 auto;
}
.era22-booking-form__wait {
	position: static;
	width: 320px;
	margin-top: 10px;
	color: #696b72;
	font: 500 11px/17px "Plus Jakarta Sans", Inter, sans-serif;
	text-align: center;
}
.era22-booking-form.is-submitting .era22-booking-form__submit { cursor: progress; }
.era22-booking-form.is-submitting .era22-booking-form__submit svg { opacity: .32; }
.era22-booking-form__provider-error { scroll-margin-block: 24px; }

@media (max-width: 900px) {
	.era22-booking-flow { padding-bottom: 72px; }
	.era22-booking-form { min-height: 0; padding-bottom: 20px; }
	.era22-booking-form__actions { align-items: stretch; padding-top: 22px; }
	.era22-booking-form__submit { left: auto; right: auto; bottom: auto; width: 100%; }
	.era22-booking-form__wait { width: 100%; margin-top: 10px; }
}

/* STUDIO ERA22 Scope 034 - BOOKING-FLOW-HEIGHT-RELEASE.
 * The desktop booking selector uses an intentional fixed-height canvas.
 * Release that height only while the full form/pending flow is visible so
 * the natural 780px form geometry and footer clearance remain in document flow.
 */
@media (min-width: 901px) {
	.era22-booking-visual-v1[data-horizontal-desktop].is-booking-flow-open {
		height: auto;
		min-height: 0;
	}

	.era22-booking-visual-v1.is-booking-flow-open .era22-booking-flow {
		padding-bottom: 64px;
	}
}

/* STUDIO ERA22 Scope 035 - BOOKING-FORM-LOWER-FLOW.
 * Rebuilds the lower form rhythm as one deliberate sequence on desktop and
 * mobile: project note, consolidated B2B verification, privacy acknowledgement
 * and the primary CTA. No booking-provider or submission behaviour changes.
 */
.era22-booking-form {
	display: block;
	min-height: 829px;
	padding: 24px 28px 28px;
}
.era22-booking-form__registration-helper { display: none; }
.era22-booking-form__field small:empty { display: none; }
.era22-booking-form__verification {
	min-height: 76px;
	margin-top: 20px;
	padding: 14px 20px 14px 22px;
	gap: 7px;
	background: #f6f6f3;
}
.era22-booking-form__verification strong {
	font-size: 9px;
	line-height: 13px;
	letter-spacing: .9px;
}
.era22-booking-form__verification span {
	font-size: 11px;
	line-height: 18px;
}
.era22-booking-form__legal-action {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: end;
	gap: 28px;
	margin-top: 22px;
}
.era22-booking-form__privacy {
	max-width: 320px;
	margin: 0;
	color: #696b72;
	font: 400 10px/16px "Plus Jakarta Sans", Inter, sans-serif;
}
.era22-booking-form__privacy a {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.era22-booking-form__privacy a:hover { color: #0a0a0a; }
.era22-booking-form__privacy a:focus-visible {
	outline: 2px solid var(--era22-booking-accent);
	outline-offset: 3px;
	border-radius: 2px;
}
.era22-booking-form__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 320px;
	margin: 0;
	padding: 0;
}
.era22-booking-form__submit,
.era22-booking-form__wait { width: 320px; }

@media (max-width: 900px) {
	.era22-booking-form {
		min-height: 0;
		padding: 20px 18px 24px;
	}
	.era22-booking-form__verification {
		min-height: 0;
		margin-top: 18px;
		padding: 14px 16px 14px 20px;
		gap: 6px;
	}
	.era22-booking-form__verification span {
		font-size: 10px;
		line-height: 16px;
	}
	.era22-booking-form__turnstile { margin-top: 14px; }
	.era22-booking-form__legal-action {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		margin-top: 16px;
	}
	.era22-booking-form__privacy {
		max-width: none;
		font-size: 9px;
		line-height: 15px;
	}
	.era22-booking-form__actions,
	.era22-booking-form__submit,
	.era22-booking-form__wait { width: 100%; }
}

/* STUDIO ERA22 Scope 036 - BOOKING-DESKTOP-CTA-ALIGNMENT.
 * Desktop-only correction for the lower booking-form action zone.
 * Keeps the mobile flow unchanged, places the privacy notice on its own row,
 * and restores the chrome CTA to normal document flow below the verification box.
 */
@media (min-width: 901px) {
	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__legal-action {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 320px;
		align-items: start;
		column-gap: 28px;
		row-gap: 18px;
		margin-top: 22px;
	}

	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__privacy {
		grid-column: 1 / -1;
		max-width: 560px;
		margin: 0;
	}

	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__actions {
		grid-column: 2;
		justify-self: end;
		position: relative;
		width: 320px;
		margin: 0;
		padding: 0;
	}

	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__submit.era22-booking-calendar__cta {
		position: relative;
		left: auto;
		top: auto;
		right: auto;
		bottom: auto;
		width: 320px;
		height: 64px;
		padding: 0 45px 0 24px;
		border: 1px solid rgba(13, 15, 20, .9);
		border-radius: 32px;
		box-shadow: 2px 9px 18px rgba(0, 0, 0, .2);
		font: 600 14px/18px Manrope, Inter, sans-serif;
		letter-spacing: 1.6px;
	}

	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__submit.era22-booking-calendar__cta::before {
		inset: 3px;
		border-radius: 29px;
		box-shadow: inset 0 -2px 6px rgba(0, 0, 0, .18), inset -1px 2px 3px rgba(255, 255, 255, .68);
	}

	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__submit.era22-booking-calendar__cta::after {
		left: 12px;
		top: auto;
		bottom: 2px;
		width: 17px;
		height: 2px;
		filter: blur(1px);
	}

	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__submit.era22-booking-calendar__cta span::before {
		left: -2px;
		top: 14px;
		width: 8px;
		height: 25px;
	}

	.era22-booking-visual-v1[data-horizontal-desktop] .era22-booking-form__submit.era22-booking-calendar__cta span::after {
		right: 22px;
		top: 21px;
		width: 22px;
		height: 22px;
		background-size: 22px 22px;
	}
}

/* STUDIO ERA22 Scope 038 - BOOKING-PENDING-VISUAL-CLEANUP.
 * Keeps the confirmation flow inside the existing shell, reuses the header pill
 * for the received state, consolidates all pending guidance into the dark panel
 * and finishes with one spacious requested-slot summary. No provider behaviour.
 */
.era22-booking-flow.is-pending .era22-booking-flow__header {
	padding-bottom: 20px;
}
.era22-booking-pending {
	position: relative;
	padding: 32px 0 4px;
}
.era22-booking-pending__hero {
	position: relative;
	display: grid;
	align-content: center;
	min-height: 230px;
	padding: 32px 34px;
	border-radius: 24px;
	background: #0a0a0a;
	color: #fff;
	overflow: hidden;
}
.era22-booking-pending__hero h3 {
	margin-top: 16px;
	font: 700 32px/40px Manrope, Inter, sans-serif;
}
.era22-booking-pending__hero p {
	margin-top: 14px;
	max-width: 980px;
	color: #d5d6da;
	font: 400 14px/22px "Plus Jakarta Sans", Inter, sans-serif;
}
.era22-booking-pending__slot {
	display: grid;
	align-content: center;
	gap: 10px;
	min-height: 168px;
	margin-top: 28px;
	padding: 26px 30px;
	border: 1px solid #dededa;
	border-radius: 20px;
	background: #fff;
}
.era22-booking-pending__slot strong {
	margin-top: 4px;
	font: 600 19px/27px "Plus Jakarta Sans", Inter, sans-serif;
}
.era22-booking-pending__slot span {
	color: #696b72;
	font: 400 13px/21px "Plus Jakarta Sans", Inter, sans-serif;
}
.era22-booking-pending__slot p {
	margin-top: 2px;
	color: #696b72;
	font: 400 11px/18px "Plus Jakarta Sans", Inter, sans-serif;
}

@media (max-width: 900px) {
	.era22-booking-pending {
		padding: 22px 0 2px;
	}
	.era22-booking-pending__hero {
		min-height: 248px;
		padding: 26px 22px;
		border-radius: 22px;
	}
	.era22-booking-pending__hero h3 {
		margin-top: 14px;
		font-size: 25px;
		line-height: 32px;
	}
	.era22-booking-pending__hero p {
		font-size: 13px;
		line-height: 21px;
	}
	.era22-booking-pending__slot {
		min-height: 156px;
		margin-top: 22px;
		padding: 20px;
		border-radius: 18px;
	}
	.era22-booking-pending__slot strong {
		font-size: 15px;
		line-height: 21px;
	}
}
