/* Guestline DBM parity: DM Sans + Open Sans (exact IBE stack) */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Open+Sans:wght@400;500;600;700&display=swap');

/* ==========================================================================
   Oakwood Hotel Booking — frontend
   --------------------------------------------------------------------------
   Rebrand in one place: every colour, radius and font below is a variable on
   .ohb. Override them in your theme (or Appearance > Customize > Additional
   CSS) and the whole booking flow, room page and menu page follow.
   ========================================================================== */

/* --- Scoped reset: stops theme styles leaking into the widget -------------- */
.ohb,
.ohb *,
.ohb *::before,
.ohb *::after { box-sizing: border-box; }

.ohb h1, .ohb h2, .ohb h3, .ohb h4, .ohb h5, .ohb h6,
.ohb p, .ohb ul, .ohb ol, .ohb li, .ohb figure {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	/* Kill theme heading colours / underline / uppercase */
	text-transform: none !important;
	letter-spacing: normal;
	background: transparent !important;
}
.ohb a {
	text-decoration: none !important;
	color: inherit !important;
	box-shadow: none !important;
	background: transparent !important;
}
/* Themes routinely style every button on the page — uppercase labels, their
   own brand colour, letter-spacing, gradients, min-widths, shadows. Strip all
   of it inside the widget, then style back up from here. */
.ohb button,
.ohb input:not([type="checkbox"]):not([type="radio"]),
.ohb select,
.ohb textarea,
.ohb .button,
.ohb .wp-block-button__link {
	font-family: var(--ohb-ui, inherit) !important;
	font-style: normal !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	color: inherit !important;
	background: none !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	outline: none;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
/* Keep native checkbox / radio so Terms & Conditions is always visible */
.ohb input[type="checkbox"],
.ohb input[type="radio"] {
	-webkit-appearance: checkbox !important;
	appearance: auto !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	min-width: 1.1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #9ca3af !important;
	border-radius: 3px !important;
	background: #fff !important;
	accent-color: #1e1b4b !important;
	cursor: pointer !important;
	opacity: 1 !important;
	visibility: visible !important;
	flex-shrink: 0 !important;
}
.ohb input[type="radio"] {
	-webkit-appearance: radio !important;
	border-radius: 50% !important;
}
.ohb button { text-align: center; cursor: pointer; }
.ohb img { max-width: 100%; display: block; height: auto; }

/* Theme body link / visited purple — never inside booking widget */
.ohb a:link,
.ohb a:visited,
.ohb a:hover,
.ohb a:active {
	color: inherit !important;
}

/* --- Design tokens: The Oakwood / Guestline OAKWDKANG (v1.21) -------------
   Live screenshots: mustard-gold CTAs, white cards, slate text, navy calendar. */
.ohb {
	--ohb-ink:        #2c3340;
	--ohb-ink-2:      #5a6270;
	--ohb-ink-3:      #8a919c;
	--ohb-canvas:     #f7f8fa;
	--ohb-surface:    #ffffff;
	--ohb-line:       #e4e7ec;
	--ohb-line-soft:  #eef0f3;
	--ohb-accent:     #c9a227;
	--ohb-accent-ink: #a8861a;
	--ohb-accent-bg:  #faf6e9;
	--ohb-navy:       #2c3a4a;
	--ohb-alert:      #c62828;
	--ohb-error:      #c62828;

	--ohb-r-sm: 6px;
	--ohb-r-md: 10px;
	--ohb-r-lg: 12px;

	--ohb-ui:      'DM Sans', 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--ohb-display: 'DM Sans', 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

	--ohb-shadow: 0 2px 8px rgba(44, 51, 64, .06);

	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0.5rem 0 2rem;
	font-family: var(--ohb-ui);
	font-size: 15px;
	line-height: 1.5;
	color: var(--ohb-ink) !important;
	background: transparent;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-variant-numeric: tabular-nums;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.ohb h3 {
	font-family: var(--ohb-ui) !important;
	font-weight: 600 !important;
	font-size: 1.5rem !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	margin: 0 0 0.35rem !important;
	color: var(--ohb-ink) !important;
}
.ohb h4 {
	font-family: var(--ohb-ui) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--ohb-ink-3) !important;
	margin: 0 0 0.75rem !important;
}
.ohb .ohb-sub {
	margin: 0 0 1.25rem !important;
	color: var(--ohb-ink-2) !important;
	font-size: 0.9375rem !important;
	line-height: 1.5 !important;
	max-width: 56ch;
	font-weight: 400 !important;
}

/* ==========================================================================
   Shell: content column + sticky summary rail
   ========================================================================== */
.ohb-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}
@media (min-width: 900px) {
	.ohb-shell { grid-template-columns: minmax(0, 1fr) 316px; gap: 2rem; }
}

.ohb-main {
	background: var(--ohb-surface);
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-lg);
	padding: 1.75rem;
	box-shadow: var(--ohb-shadow);
	min-width: 0;
}
@media (min-width: 720px) { .ohb-main { padding: 2.25rem 2.5rem; } }

/* --- Progress rail -------------------------------------------------------- */
.ohb-steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0 0 1.75rem;
}
.ohb-step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	font-size: 0;              /* hides the bare number in the markup */
	color: var(--ohb-ink-3);
	padding-top: 0.15rem;
}
/* The connecting track */
.ohb-step::before {
	content: '';
	position: absolute;
	top: 9px;
	left: -50%;
	width: 100%;
	height: 2px;
	background: var(--ohb-line);
}
.ohb-step:first-child::before { display: none; }
.ohb-step::after {
	content: '';
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: var(--ohb-surface);
	border: 2px solid var(--ohb-line);
	position: relative;
	z-index: 1;
	transition: background .18s ease, border-color .18s ease;
}
.ohb-step em {
	font-style: normal;
	font-size: 0.78rem;
	font-weight: 500;
	color: inherit;
	text-align: center;
	line-height: 1.3;
}
.ohb-step.is-done::after   { background: var(--ohb-accent); border-color: var(--ohb-accent); }
.ohb-step.is-done::before,
.ohb-step.is-active::before { background: var(--ohb-accent); }
.ohb-step.is-active::after {
	background: var(--ohb-accent);
	border-color: var(--ohb-accent);
	box-shadow: 0 0 0 4px var(--ohb-accent-bg);
}
.ohb-step.is-active { color: var(--ohb-ink); }
.ohb-step.is-active em { font-weight: 600; }
.ohb-step.is-done { color: var(--ohb-ink-2); }

/* --- Panels --------------------------------------------------------------- */
.ohb-panel { display: none; }
.ohb-panel.is-active { display: block; }
@media (prefers-reduced-motion: no-preference) {
	.ohb-panel.is-active { animation: ohb-fade .22s ease both; }
}
@keyframes ohb-fade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

/* --- Trip bar (dates/guests recap, from step 2 on) ------------------------ */
.ohb-trip-bar {
	display: none;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	background: var(--ohb-accent-bg);
	border-radius: var(--ohb-r-sm);
	padding: 0.6rem 0.9rem;
	margin: 0 0 1.4rem;
	font-size: 0.85rem;
	color: var(--ohb-ink-2);
}
.ohb-trip-bar.is-visible { display: flex; }
.ohb-trip-icon { color: var(--ohb-accent); display: flex; }
.ohb-trip-divider { color: var(--ohb-ink-3); }
#ohb-trip-dates,
#ohb-trip-guests { color: var(--ohb-ink); font-weight: 600; }
.ohb-trip-edit {
	margin-left: auto;
	min-width: 0 !important;
	padding: 0.25rem 0.5rem !important;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ohb-accent);
	cursor: pointer;
	border-radius: 4px;
}
.ohb-trip-edit:hover { background: rgba(20, 98, 74, .1); }

/* ==========================================================================
   Step 1 — dates + guests
   ========================================================================== */
.ohb-trip-inputs {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	margin-bottom: 1.2rem;
}
@media (min-width: 900px) {
	.ohb-trip-inputs { grid-template-columns: minmax(0, 1fr) 234px; gap: 1.25rem; }
}
.ohb-trip-col {
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-md);
	background: var(--ohb-surface);
	padding: 1rem 1.1rem 1.1rem;
}
.ohb-input-label {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--ohb-ink-2);
	margin-bottom: 0.85rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--ohb-line-soft);
}
.ohb-field-icon { color: var(--ohb-accent); display: flex; flex-shrink: 0; }
.ohb-field-text { display: flex; align-items: center; gap: 0.55rem; font-size: 0.95rem; }
.ohb-date-label.is-set { color: var(--ohb-ink); font-weight: 600; }
.ohb-field-arrow { color: var(--ohb-ink-3); }
#ohb-guests-label { font-size: 0.95rem; font-weight: 600; color: var(--ohb-ink); }

.ohb-trip-col-guests { display: flex; flex-direction: column; }
.ohb-trip-nights-note {
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--ohb-ink-2);
	background: var(--ohb-canvas);
	border-radius: var(--ohb-r-sm);
	padding: 0.6rem 0.75rem;
	margin: 0.9rem 0;
}
.ohb-trip-nights-note.is-set {
	color: var(--ohb-accent-ink);
	background: var(--ohb-accent-bg);
	font-weight: 500;
}
.ohb-search-btn {
	/* inherits .ohb-btn — keep full-width feel */

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: auto;
	width: 100%;
}

/* --- Calendar ------------------------------------------------------------- */
.ohb-calendar-pop,
.ohb-guests-pop { background: none; border: 0; box-shadow: none; padding: 0; }

.ohb-cal-months {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
}
.ohb-cal-month-block { min-width: 0; }

/* Two months only when the calendar box is genuinely wide enough for 14
   legible columns. JS measures the box and sets .is-two-up — a viewport
   media query is the wrong test, because the widget's own column can be
   narrow inside a themed page. */
.ohb-cal-month-block.is-secondary { display: none; }
.ohb-cal.is-two-up .ohb-cal-months { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ohb-cal.is-two-up .ohb-cal-month-block.is-secondary { display: block; }
.ohb-cal.is-two-up .ohb-cal-next-solo { visibility: hidden; }

.ohb-cal-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem;
	margin-bottom: 0.5rem;
}
.ohb-cal-month {
	flex: 1;
	text-align: center;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--ohb-ink);
	white-space: nowrap;
}
.ohb .ohb-cal-nav,
.ohb .ohb-cal-nav-spacer {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px !important;
	height: 36px !important;
	min-width: 0 !important;
	max-width: 36px !important;
	padding: 0 !important;
	margin: 0 !important;
	flex: 0 0 36px;
	box-sizing: border-box !important;
}
.ohb .ohb-cal-nav {
	border: 1px solid var(--ohb-line) !important;
	border-radius: var(--ohb-r-sm) !important;
	background: var(--ohb-surface) !important;
	line-height: 1;
	font-size: 1.2rem;
	font-weight: 400 !important;
	color: var(--ohb-ink) !important;
	cursor: pointer;
	box-shadow: none !important;
	text-shadow: none !important;
}
.ohb .ohb-cal-nav:hover:not([disabled]) { background: var(--ohb-accent-bg) !important; border-color: var(--ohb-accent) !important; }
.ohb .ohb-cal-nav[disabled] { opacity: .3; cursor: not-allowed; }

.ohb-cal-weekdays,
.ohb-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 1px;
	width: 100%;
}
.ohb-cal-weekdays span {
	text-align: center;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--ohb-ink-3);
	padding-bottom: 0.35rem;
	overflow: hidden;
}
.ohb .ohb-cal-day {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: var(--ohb-r-sm);
	background: none;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1;
	color: var(--ohb-ink);
	cursor: pointer;
	overflow: hidden;
	box-sizing: border-box !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background .12s ease, color .12s ease;
}
.ohb-cal-day:hover:not([disabled]):not(.is-empty) { background: var(--ohb-accent-bg); }
.ohb-cal-day.is-empty { cursor: default; }
.ohb-cal-day.is-empty,
.ohb-cal-day[disabled] { color: #B9C4BE; cursor: not-allowed; }
.ohb-cal-day.is-today:not(.is-start):not(.is-end)::after {
	content: '';
	position: absolute;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--ohb-accent);
}
.ohb-cal-day.is-in-range {
	background: var(--ohb-accent-bg);
	border-radius: 0;
	color: var(--ohb-accent-ink);
}
.ohb-cal-day.is-start,
.ohb-cal-day.is-end {
	background: var(--ohb-accent) !important;
	color: #fff;
	border-color: var(--ohb-accent);
	font-weight: 700;
}
.ohb-cal-day.is-start { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.ohb-cal-day.is-end   { border-top-left-radius: 0;  border-bottom-left-radius: 0; }
.ohb-cal-day.is-start.is-end { border-radius: var(--ohb-r-sm); }

/* --- Guests stepper ------------------------------------------------------- */
.ohb-guest-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.9rem;
	color: var(--ohb-ink-2);
	padding: 0.55rem 0;
}
.ohb-guest-row + .ohb-guest-row { border-top: 1px solid var(--ohb-line-soft); }
.ohb-guest-row > span:first-child { display: flex; flex-direction: column; gap: 0.1rem; font-weight: 500; color: var(--ohb-ink); }
.ohb-guest-row > span:first-child small { font-size: 0.74rem; font-weight: 400; color: var(--ohb-ink-3); }
.ohb-stepper { display: flex; align-items: center; gap: 0.75rem; }
.ohb-stepper-btn {
	width: 32px !important;
	height: 32px !important;
	min-width: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	border: 1px solid var(--ohb-line);
	background: var(--ohb-surface);
	color: var(--ohb-ink);
	font-size: 1.05rem;
	line-height: 1;
	cursor: pointer;
}
.ohb-stepper-btn:hover:not([disabled]) { border-color: var(--ohb-accent); color: var(--ohb-accent); }
.ohb-stepper-btn[disabled] { opacity: .35; cursor: not-allowed; }
#ohb-guests-count { min-width: 1.4em; text-align: center; font-weight: 700; color: var(--ohb-ink); }

/* ==========================================================================
   Buttons
   ========================================================================== */
.ohb .ohb-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.45rem;
	font-family: var(--ohb-ui) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;          /* clearer CTA label */
	line-height: 1.25 !important;
	background: var(--ohb-accent) !important;
	color: #1a1a1a !important; /* dark text on gold like Oakwood */
	border: 1px solid var(--ohb-accent) !important;
	min-width: 0 !important;
	min-height: 48px !important;         /* easy tap target */
	padding: 0.85rem 1.5rem !important;
	border-radius: var(--ohb-r-sm) !important;
	cursor: pointer !important;
	transition: background .15s ease, transform .1s ease, box-shadow .15s ease;
	box-shadow: 0 1px 2px rgba(15, 28, 23, .12) !important;
	text-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
.ohb .ohb-btn:hover {
	background: var(--ohb-accent-ink) !important;
	border-color: var(--ohb-accent-ink) !important;
	color: #1a1a1a !important;
	box-shadow: 0 4px 12px rgba(201, 162, 39, .35) !important;
}
.ohb .ohb-btn:active {
	transform: translateY(1px);
	box-shadow: 0 1px 2px rgba(15, 28, 23, .1) !important;
}
.ohb .ohb-btn-ghost {
	background: var(--ohb-surface) !important;
	color: var(--ohb-ink) !important;
	border: 1px solid var(--ohb-line) !important;
	box-shadow: none !important;
}
.ohb .ohb-btn-ghost:hover {
	background: var(--ohb-canvas) !important;
	border-color: var(--ohb-ink-3) !important;
	color: var(--ohb-ink) !important;
	box-shadow: none !important;
}
.ohb .ohb-btn[disabled] { opacity: .45; cursor: not-allowed !important; transform: none !important; }
.ohb .ohb-btn.is-loading { cursor: wait !important; }

/* One visible focus treatment for every interactive element */
.ohb :focus-visible {
	outline: 2px solid var(--ohb-accent) !important;
	outline-offset: 2px;
	border-radius: 4px;
}
.ohb .ohb-btn:focus,
.ohb .ohb-btn:focus-visible {
	box-shadow: 0 0 0 3px rgba(201, 162, 39, .35) !important;
}

.ohb-spinner {
	display: inline-block;
	width: 13px;
	height: 13px;
	border: 2px solid rgba(255, 255, 255, .4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: ohb-spin .7s linear infinite;
}
@keyframes ohb-spin { to { transform: rotate(360deg); } }

.ohb-nav {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

/* ==========================================================================
   Forms
   ========================================================================== */
.ohb-row {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 0.9rem;
}
.ohb-row label {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	font-size: 0.83rem;
	font-weight: 500;
	color: var(--ohb-ink-2);
}
.ohb-row input,
.ohb-row textarea,
.ohb-row select {
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 400;
	padding: 0.7rem 0.8rem;
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-sm);
	background: var(--ohb-surface);
	color: var(--ohb-ink);
	resize: vertical;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ohb-row input:hover,
.ohb-row textarea:hover,
.ohb-row select:hover { border-color: var(--ohb-ink-3); }
.ohb-row input:focus,
.ohb-row textarea:focus,
.ohb-row select:focus {
	border-color: var(--ohb-accent);
	box-shadow: 0 0 0 3px var(--ohb-accent-bg);
	outline: none;
}
.ohb-row select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234C5F56' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.85rem center;
	padding-right: 2.2rem;
}
.ohb-field-full { flex: 1 1 100% !important; }
.ohb-optional { font-weight: 400; color: var(--ohb-ink-3); }
.ohb-required { color: var(--ohb-error); }

.ohb-row input.is-invalid,
.ohb-row textarea.is-invalid {
	border-color: var(--ohb-error);
	background: #FEF6F5;
}
.ohb-row input.is-invalid:focus,
.ohb-row textarea.is-invalid:focus { box-shadow: 0 0 0 3px rgba(180, 35, 24, .12); }
.ohb-field-error {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--ohb-error);
	min-height: 1em;
}
.ohb-field-count { font-size: 0.74rem; color: var(--ohb-ink-3); text-align: right; }
.ohb-field-hint { font-size: 0.8rem; color: var(--ohb-ink-3); margin: -0.2rem 0 1rem; max-width: 60ch; }

.ohb-error {
	color: var(--ohb-error);
	font-size: 0.87rem;
	font-weight: 500;
	margin: 0.4rem 0 0;
}
.ohb-error:empty { margin: 0; }

/* Honeypot — off-screen for people, present in the DOM for bots */
.ohb-hp-field {
	position: absolute;
	left: -9999px;
	top: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ==========================================================================
   Step 2 — room cards
   ========================================================================== */
.ohb-rooms { display: flex; flex-direction: column; gap: 0.9rem; }

.ohb-room-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-md);
	background: var(--ohb-surface);
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease;
	box-shadow: var(--ohb-shadow);
}
@media (min-width: 620px) {
	.ohb-room-card { grid-template-columns: 280px minmax(0, 1fr); }
}
.ohb-room-card:hover:not(.is-unavailable) {
	border-color: #bdbdbd;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}
.ohb-room-card.is-selected {
	border-color: var(--ohb-accent);
	box-shadow: 0 0 0 1px var(--ohb-accent);
}
.ohb-room-card.is-unavailable { opacity: .55; }

.ohb-room-photos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	background: var(--ohb-line-soft);
	cursor: pointer;
	align-content: start;
}
.ohb-room-card.is-unavailable .ohb-room-photos { cursor: default; }
.ohb-room-photos .ohb-photo-main {
	width: 100%;
	height: 160px;
	object-fit: cover;
	grid-column: 1 / -1;
}
.ohb-room-photos .ohb-photo-thumb { width: 100%; height: 56px; object-fit: cover; }
.ohb-photo-placeholder {
	height: 160px;
	grid-column: 1 / -1;
	background: var(--ohb-canvas);
}
@media (min-width: 620px) {
	.ohb-room-photos {
		grid-template-columns: 1.2fr 1fr;
		grid-template-rows: 1fr 1fr;
		min-height: 200px;
	}
	.ohb-room-photos .ohb-photo-main {
		height: 100%;
		min-height: 200px;
		grid-column: 1;
		grid-row: 1 / -1;
	}
	.ohb-room-photos .ohb-photo-thumb {
		height: 100%;
		min-height: 98px;
	}
	.ohb-photo-placeholder {
		height: 200px;
		grid-column: 1 / -1;
	}
}

.ohb-room-body-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	padding: 1.1rem 1.2rem;
}
@media (min-width: 780px) {
	.ohb-room-body-wrap { flex-direction: row; align-items: flex-start; }
}
.ohb-room-info { flex: 1; min-width: 0; cursor: pointer; }
.ohb-room-card.is-unavailable .ohb-room-info { cursor: default; }
.ohb-room-info strong {
	display: block;
	font-family: var(--ohb-ui) !important;
	font-weight: 600 !important;
	font-size: 1.125rem !important;
	line-height: 1.3 !important;
	color: var(--ohb-ink) !important;
}
.ohb-room-meta { font-size: 0.8125rem; color: var(--ohb-ink-2); margin-top: 0.25rem; }

.ohb-room-side {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.6rem;
	flex-shrink: 0;
}
@media (min-width: 780px) {
	.ohb-room-side { align-items: flex-end; text-align: right; min-width: 150px; }
}
.ohb-room-price {
	font-family: var(--ohb-ui) !important;
	font-weight: 700 !important;
	font-size: 1.25rem !important;
	line-height: 1.15 !important;
	color: var(--ohb-ink) !important;
	white-space: nowrap;
}
.ohb-room-price small {
	display: block;
	font-family: var(--ohb-ui);
	font-size: 0.74rem;
	color: var(--ohb-ink-3);
	font-weight: 400;
	margin-top: 0.15rem;
}
.ohb-room-select { padding: 0.55rem 1.15rem !important; font-size: 0.86rem; width: 100%; }
@media (min-width: 780px) { .ohb-room-select { width: auto; } }

.ohb-unavailable-tag,
.ohb-remaining-tag {
	display: inline-block;
	font-size: 0.74rem;
	font-weight: 600;
	border-radius: 999px;
	padding: 0.15rem 0.6rem;
	margin-top: 0.55rem;
}
.ohb-unavailable-tag { color: var(--ohb-error); background: #FBECEA; }
.ohb-remaining-tag  { color: var(--ohb-alert); background: #FBEFE9; }

.ohb-more-details {
	display: inline-block;
	margin-top: 0.6rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ohb-accent);
	border-bottom: 1px solid currentColor;
}
.ohb-amenity-pills { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.6rem; }
.ohb-amenity-pill {
	font-size: 0.75rem;
	border: 1px solid var(--ohb-line);
	border-radius: 999px;
	padding: 0.15rem 0.65rem;
	color: var(--ohb-ink-2);
	background: var(--ohb-surface);
}

/* Skeleton placeholders while availability is loading */
.ohb-room-skeleton {
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-md);
	height: 148px;
	background: linear-gradient(100deg, var(--ohb-canvas) 30%, #F8FAF8 50%, var(--ohb-canvas) 70%);
	background-size: 300% 100%;
}
@media (prefers-reduced-motion: no-preference) {
	.ohb-room-skeleton { animation: ohb-shimmer 1.3s linear infinite; }
}
@keyframes ohb-shimmer { from { background-position: 150% 0; } to { background-position: -150% 0; } }

/* ==========================================================================
   Step 3 — meals
   ========================================================================== */
.ohb-meal-tabs { display: flex; gap: 0.45rem; margin-bottom: 1.1rem; flex-wrap: wrap; }
.ohb-meal-tab {
	font-family: inherit;
	font-size: 0.88rem;
	font-weight: 600;
	padding: 0.5rem 1.05rem !important;
	min-width: 0 !important;
	border: 1px solid var(--ohb-line);
	border-radius: 999px;
	background: var(--ohb-surface);
	color: var(--ohb-ink-2);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.ohb-meal-tab:hover { border-color: var(--ohb-accent); color: var(--ohb-accent); }
.ohb-meal-tab.is-active {
	background: var(--ohb-accent);
	border-color: var(--ohb-accent);
	color: #fff;
}
.ohb-meal-tab-count {
	font-size: 0.7rem;
	font-weight: 700;
	background: rgba(255, 255, 255, .25);
	color: inherit;
	border-radius: 999px;
	min-width: 17px;
	height: 17px;
	line-height: 17px;
	padding: 0 4px;
	text-align: center;
}
.ohb-meal-tab:not(.is-active) .ohb-meal-tab-count { background: var(--ohb-accent); color: #fff; }

.ohb-meal-group { display: none; }
.ohb-meal-group.is-active { display: block; }
.ohb-meal-items { display: flex; flex-direction: column; gap: 0.5rem; }

.ohb-meal-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas: "check name price" ". desc desc";
	column-gap: 0.7rem;
	align-items: center;
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-sm);
	padding: 0.7rem 0.9rem;
	background: var(--ohb-surface);
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}
.ohb-meal-item:hover { border-color: var(--ohb-accent); }
.ohb-meal-item:has(input:checked) {
	border-color: var(--ohb-accent);
	background: var(--ohb-accent-bg);
}
.ohb-meal-item input {
	grid-area: check;
	width: 19px;
	height: 19px;
	border: 1.5px solid var(--ohb-line);
	border-radius: 5px;
	background: var(--ohb-surface);
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
}
.ohb-meal-item input:checked {
	background: var(--ohb-accent);
	border-color: var(--ohb-accent);
}
.ohb-meal-item input:checked::after {
	content: '';
	position: absolute;
	left: 5.5px;
	top: 2px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.ohb-meal-name { grid-area: name; font-weight: 600; font-size: 0.95rem; }
.ohb-meal-desc { grid-area: desc; font-size: 0.8rem; color: var(--ohb-ink-3); margin-top: 0.15rem; }
.ohb-meal-price {
	grid-area: price;
	text-align: right;
	white-space: nowrap;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.1rem;
}
.ohb-meal-price-pernight { font-size: 0.88rem; font-weight: 600; color: var(--ohb-ink); }
.ohb-meal-price-stay { font-size: 0.73rem; color: var(--ohb-ink-3); }

.ohb-meal-order-summary {
	margin-top: 1.2rem;
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-md);
	background: var(--ohb-canvas);
	padding: 1rem 1.15rem;
}
.ohb-meal-order-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.25rem 0.8rem;
	font-size: 0.86rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--ohb-line);
}
.ohb-meal-order-row:last-child { border-bottom: 0; }
.ohb-meal-order-row span:nth-child(1) { font-weight: 500; }
.ohb-meal-order-row span:nth-child(2) { font-weight: 600; text-align: right; white-space: nowrap; }
.ohb-meal-order-row span:nth-child(3) {
	grid-column: 1 / -1;
	font-size: 0.76rem;
	color: var(--ohb-ink-3);
}
.ohb-meal-order-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-top: 0.75rem;
	margin-top: 0.4rem;
	border-top: 1px solid var(--ohb-line);
	font-weight: 600;
	font-size: 0.9rem;
}
.ohb-meal-order-total small { display: block; font-weight: 400; color: var(--ohb-ink-3); font-size: 0.76rem; }
.ohb-meal-order-total span:last-child { font-family: var(--ohb-ui); font-weight: 400; font-size: 1.15rem; }

/* ==========================================================================
   Step 5 — review + pay
   ========================================================================== */
.ohb-summary {
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-md);
	padding: 0.3rem 1.2rem;
	background: var(--ohb-surface);
}
.ohb-summary-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.65rem 0;
	font-size: 0.92rem;
	border-bottom: 1px solid var(--ohb-line-soft);
}
.ohb-summary-row:last-of-type { border-bottom: none; }
.ohb-summary-row span:last-child { white-space: nowrap; font-weight: 500; }
.ohb-summary-row span:first-child small {
	display: block;
	font-size: 0.75rem;
	color: var(--ohb-ink-3);
	font-weight: 400;
	margin-top: 0.1rem;
}
.ohb-summary-row.ohb-summary-dates {
	font-size: 0.85rem;
	color: var(--ohb-ink-2);
	padding-top: 0.85rem;
}
.ohb-summary-row.ohb-summary-subtotal,
.ohb-summary-row.ohb-summary-perday { font-size: 0.85rem; color: var(--ohb-ink-2); }
.ohb-summary-row.total {
	border-top: 1.5px solid var(--ohb-line);
	border-bottom: none;
	margin-top: 0.2rem;
	padding: 0.95rem 0;
	font-size: 1rem;
	font-weight: 600;
}
.ohb-summary-row.total span:last-child {
	font-family: var(--ohb-ui);
	font-weight: 400;
	font-size: 1.45rem;
	color: var(--ohb-ink);
}
.ohb-summary-note {
	padding: 0 0 0.85rem;
	margin: 0;
	font-size: 0.8rem;
	color: var(--ohb-ink-3);
	line-height: 1.5;
}

/* Card-only payment block (Guestline-style) */
.ohb-card-element-wrap {
	margin: 1.5rem 0 0.5rem;
	padding: 1.25rem 1.35rem;
	background: var(--ohb-surface);
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-md);
	box-shadow: var(--ohb-shadow);
}
.ohb-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	flex-wrap: wrap;
}
.ohb-card-header label {
	display: block;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--ohb-ink);
	margin: 0;
}
.ohb-card-brands {
	display: flex;
	gap: 0.4rem;
}
.ohb-card-brand {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--ohb-ink-3);
	background: var(--ohb-canvas);
	border: 1px solid var(--ohb-line);
	border-radius: 4px;
	padding: 0.2rem 0.45rem;
}
.ohb-card-field,
#ohb-card-element {
	padding: 0.95rem 1rem;
	border: 1.5px solid var(--ohb-line);
	border-radius: var(--ohb-r-sm);
	background: #fafbfa;
	transition: border-color 0.15s, box-shadow 0.15s;
	min-height: 48px;
}
#ohb-card-element.StripeElement--focus {
	border-color: var(--ohb-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ohb-accent) 18%, transparent);
	background: #fff;
}
.ohb-card-hint {
	margin: 0.65rem 0 0;
	font-size: 0.8rem;
	color: var(--ohb-ink-3);
	line-height: 1.4;
}

.ohb-trust-row {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 1.15rem;
	color: var(--ohb-ink-3);
	font-size: 0.8rem;
	text-align: center;
}
.ohb-trust-lock { color: var(--ohb-accent); display: flex; }
.ohb-trust-divider { opacity: .45; }
.ohb-trust-methods { color: var(--ohb-ink-2); font-weight: 500; }

.ohb .ohb-btn-pay {
	font-size: 1rem !important;
	padding: 0.9rem 1.4rem !important;
	letter-spacing: 0.01em;
}

/* --- Success -------------------------------------------------------------- */
.ohb-success { text-align: center; padding: 2rem 0 1rem; }
.ohb-success-mark {
	width: 56px;
	height: 56px;
	margin: 0 auto 1.1rem;
	border-radius: 50%;
	background: var(--ohb-accent-bg);
	color: var(--ohb-accent);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ohb-success h3 { font-size: 1.65rem; }
.ohb-success p { color: var(--ohb-ink-2); max-width: 44ch; margin: 0 auto; }

/* ==========================================================================
   Summary rail (desktop) + summary sheet (mobile)
   ========================================================================== */
.ohb-rail { min-width: 0; }
.ohb-rail-card {
	background: var(--ohb-surface);
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-lg);
	padding: 1.25rem 1.3rem 1.35rem;
	box-shadow: var(--ohb-shadow);
}
@media (min-width: 900px) {
	.ohb-rail-card { position: sticky; top: 1.5rem; }
}
.ohb-rail-title {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--ohb-ink-3);
	margin-bottom: 0.9rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--ohb-line-soft);
}
.ohb-rail-empty { font-size: 0.87rem; color: var(--ohb-ink-3); line-height: 1.55; }
.ohb-rail-when {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--ohb-ink);
	margin-bottom: 0.15rem;
}
.ohb-rail-who { font-size: 0.8rem; color: var(--ohb-ink-3); margin-bottom: 0.9rem; }
.ohb-rail-line {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	font-size: 0.86rem;
	padding: 0.42rem 0;
}
.ohb-rail-line span:first-child { color: var(--ohb-ink-2); min-width: 0; }
.ohb-rail-line span:first-child small {
	display: block;
	font-size: 0.73rem;
	color: var(--ohb-ink-3);
}
.ohb-rail-line span:last-child { font-weight: 600; white-space: nowrap; }
.ohb-rail-line.is-muted span:last-child { font-weight: 500; color: var(--ohb-ink-2); }
.ohb-rail-total {
	/* layout controlled by Guestline block at end of file */
	margin-top: 0.85rem;
	padding-top: 0.9rem;
	border-top: 1.5px solid var(--ohb-line);
}
.ohb-rail-total span:first-child { font-size: 0.88rem; font-weight: 600; }
.ohb-rail-total span:first-child small {
	display: block;
	font-size: 0.73rem;
	font-weight: 400;
	color: var(--ohb-ink-3);
}
#ohb-rail-total {
	font-family: var(--ohb-ui);
	font-size: 1.55rem;
	line-height: 1;
	color: var(--ohb-ink);
	white-space: nowrap;
}
.ohb-rail-note {
	margin-top: 0.9rem;
	font-size: 0.76rem;
	line-height: 1.5;
	color: var(--ohb-ink-3);
}
.ohb .ohb-rail-close { display: none !important; }

/* --- Per-night breakdown (matches the "Per night breakdown" pattern on
   reference booking engines) --------------------------------------------- */
.ohb-breakdown { margin: 0.5rem 0 0.1rem; font-size: 0.83rem; }
.ohb-breakdown-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0 !important;
	min-width: 0 !important;
	background: none !important;
	border: 0 !important;
	color: var(--ohb-accent) !important;
	font-weight: 600 !important;
	font-size: 0.8rem;
	cursor: pointer;
}
.ohb-breakdown-toggle svg { transition: transform .15s ease; flex-shrink: 0; }
.ohb-breakdown-toggle.is-open svg { transform: rotate(180deg); }
.ohb-breakdown-rows { display: none; margin-top: 0.5rem; }
.ohb-breakdown-rows.is-open { display: block; }
.ohb-breakdown-row {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.3rem 0;
	font-size: 0.8rem;
	color: var(--ohb-ink-2);
}
.ohb-breakdown-row span:last-child { font-weight: 600; color: var(--ohb-ink); white-space: nowrap; }

/* Mobile: the rail becomes a sheet, opened from the sticky bar */
@media (max-width: 899px) {
	.ohb-rail {
		position: fixed;
		inset: 0;
		z-index: 9998;
		background: rgba(20, 38, 30, .45);
		padding: 1rem;
		display: none;
		align-items: flex-end;
	}
	.ohb-rail.is-open { display: flex; }
	.ohb-rail-card {
		width: 100%;
		max-height: 78vh;
		overflow-y: auto;
		margin-bottom: 4.75rem;
	}
	.ohb .ohb-rail-close {
		display: block !important;
		width: 100%;
		margin-top: 1rem;
		padding: 0.6rem !important;
		font-size: 0.86rem;
		font-weight: 600;
		color: var(--ohb-ink-2);
		border: 1px solid var(--ohb-line) !important;
		border-radius: var(--ohb-r-sm);
		cursor: pointer;
	}
}

/* --- Mobile sticky action bar -------------------------------------------- */
.ohb-sticky {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	align-items: center;
	gap: 0.75rem;
	padding: 0.7rem 1rem calc(0.7rem + env(safe-area-inset-bottom));
	background: var(--ohb-surface);
	border-top: 1px solid var(--ohb-line);
	box-shadow: 0 -4px 20px -8px rgba(20, 38, 30, .22);
}
@media (max-width: 899px) {
	.ohb-sticky.is-visible { display: flex; }
	.ohb-shell { padding-bottom: 4.5rem; }
}
.ohb-sticky-info {
	flex: 1;
	min-width: 0;
	text-align: left;
	cursor: pointer;
	padding: 0.15rem 0 !important;
}
.ohb-sticky-total {
	display: block;
	font-family: var(--ohb-ui);
	font-size: 1.35rem;
	line-height: 1.1;
	color: var(--ohb-ink);
}
.ohb-sticky-meta {
	display: block;
	font-size: 0.74rem;
	color: var(--ohb-accent);
	font-weight: 600;
}
.ohb-sticky .ohb-btn { flex-shrink: 0; }

/* ==========================================================================
   Bookings-closed notice
   ========================================================================== */
.ohb-closed-notice {
	max-width: 640px;
	margin: 2rem auto;
	padding: 1.5rem 1.7rem;
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-md);
	background: var(--ohb-canvas);
	text-align: center;
	color: var(--ohb-ink);
}
.ohb-closed-inline { font-size: 0.9rem; color: var(--ohb-ink-3); max-width: 260px; text-align: right; margin: 0; }

/* ==========================================================================
   Single room page
   ========================================================================== */
.ohb-room-page {
	max-width: 900px;
	margin: 2.5rem auto;
	padding: 0 1.2rem;
}
.ohb-room-hero img {
	width: 100%;
	height: clamp(220px, 42vw, 430px);
	object-fit: cover;
	border-radius: var(--ohb-r-lg);
}
.ohb-room-thumbs { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.ohb-room-thumbs img {
	width: 88px;
	height: 62px;
	object-fit: cover;
	border-radius: var(--ohb-r-sm);
	cursor: pointer;
	opacity: .55;
	transition: opacity .15s ease;
}
.ohb-room-thumbs img:hover { opacity: .85; }
.ohb-room-thumbs img.is-active { opacity: 1; outline: 2px solid var(--ohb-accent); outline-offset: 1px; }
.ohb-room-body { margin-top: 2rem; }
.ohb-room-body h1 {
	font-family: var(--ohb-ui);
	font-weight: 400;
	font-size: clamp(2rem, 5vw, 2.75rem);
	line-height: 1.1;
	margin: 0 0 0.5rem;
}
.ohb-room-meta-row {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	color: var(--ohb-ink-2);
	font-size: 0.9rem;
	margin-bottom: 1.2rem;
}
.ohb-room-desc { line-height: 1.65; margin-bottom: 1.5rem; max-width: 70ch; }
.ohb-room-desc p { margin-bottom: 1rem; }
.ohb-room-body h2 {
	font-family: var(--ohb-ui);
	font-weight: 400;
	font-size: 1.45rem;
	margin: 1.75rem 0 0.7rem;
}
.ohb-room-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	border-top: 1px solid var(--ohb-line);
	margin-top: 2.25rem;
	padding-top: 1.35rem;
}
.ohb-room-cta-price { font-family: var(--ohb-ui); font-size: 2rem; line-height: 1; }
.ohb-room-cta-price small {
	font-family: var(--ohb-ui);
	font-size: 0.82rem;
	color: var(--ohb-ink-3);
	font-weight: 400;
}

/* ==========================================================================
   [oakwood_menu] — standalone menu page
   ========================================================================== */
.ohb-menu-page { max-width: 1100px; padding: 3rem 1.5rem; }
.ohb-menu-masthead { text-align: center; margin-bottom: 2.75rem; }
.ohb-menu-eyebrow {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ohb-accent);
	margin-bottom: 0.35rem;
}
.ohb-menu-masthead h2 {
	font-family: var(--ohb-ui) !important;
	font-weight: 600 !important;
	font-family: var(--ohb-ui);
	font-weight: 400;
	font-size: clamp(2rem, 5vw, 2.85rem);
	line-height: 1.1;
	color: var(--ohb-ink);
}
.ohb-menu-sections {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 1.75rem;
	align-items: start;
}
.ohb-menu-section {
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-r-lg);
	padding: 1.75rem 1.9rem 2rem;
	background: var(--ohb-surface);
}
.ohb-menu-section-head {
	text-align: center;
	margin-bottom: 1.4rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--ohb-line-soft);
}
.ohb-menu-section-head h3 { font-size: 1.35rem !important; font-weight: 600 !important; margin: 0 !important; font-family: var(--ohb-ui) !important; }
.ohb-menu-section-note {
	font-size: 0.82rem;
	color: var(--ohb-ink-3);
	margin-top: 0.3rem;
}
.ohb-menu-list { display: flex; flex-direction: column; }
.ohb-menu-row { padding: 0.85rem 0; border-bottom: 1px solid var(--ohb-line-soft); }
.ohb-menu-row:last-child { border-bottom: none; padding-bottom: 0; }
.ohb-menu-row-top { display: flex; align-items: baseline; gap: 0.5rem; }
.ohb-menu-row-name {
	font-family: var(--ohb-ui);
	font-size: 1.15rem;
	color: var(--ohb-ink);
}
.ohb-menu-row-leader {
	flex: 1 1 auto;
	border-bottom: 1px dotted var(--ohb-line);
	transform: translateY(-0.3em);
	min-width: 0.75rem;
}
.ohb-menu-row-price {
	font-family: var(--ohb-ui);
	font-size: 1.15rem;
	color: var(--ohb-accent);
	white-space: nowrap;
}
.ohb-menu-row-desc {
	margin-top: 0.3rem;
	font-size: 0.88rem;
	color: var(--ohb-ink-3);
	line-height: 1.5;
	max-width: 52ch;
}

/* ==========================================================================
   Small screens — comfortable tap targets throughout
   ========================================================================== */
@media (max-width: 560px) {
	.ohb-main { padding: 1.4rem 1.1rem; }
	.ohb h3 { font-size: 1.25rem; }
	.ohb-step em { font-size: 0.62rem; }
	.ohb .ohb-cal-day { height: 48px !important; min-height: 48px !important; font-size: 0.95rem; }
	.ohb .ohb-cal-nav { width: 40px !important; height: 40px !important; flex-basis: 40px; }
	.ohb-stepper-btn { width: 40px !important; height: 40px !important; font-size: 1.2rem; }
	.ohb-meal-tab { padding: 0.65rem 1rem !important; }
	.ohb-trip-edit { padding: 0.5rem 0.7rem !important; }
	.ohb-nav .ohb-btn { flex: 1; }
	.ohb-menu-page { padding: 2rem 1.1rem; }
	.ohb-calendar-pop.ohb-cal,
	.ohb-calendar-pop.ohb-gl-dropdown {
		min-width: min(100%, 96vw) !important;
		max-width: 96vw !important;
	}
}
@media (max-width: 380px) {
	.ohb-step em { display: none; }
	.ohb-steps { margin-bottom: 1.5rem; }
}

/* --- Multi-room cart (Step 2) ------------------------------------------ */
.ohb-room-qty { margin-top: 0.2rem; }
.ohb-room-qty .ohb-stepper-btn { width: 30px; height: 30px; font-size: 1rem; }
.ohb-room-card.is-selected .ohb-room-price { color: var(--ohb-accent); }
.ohb-cart-remove {
	background: none;
	border: none;
	padding: 0;
	font-size: 0.76rem;
	color: var(--ohb-ink-3);
	text-decoration: underline;
	cursor: pointer;
	white-space: nowrap;
}
.ohb-cart-remove:hover { color: var(--ohb-error); }
#ohb-room-cart .ohb-meal-order-row span:nth-child(3) { text-align: right; }

/* ==========================================================================
   v1.11.0 — Guestline-style rate plans, promo, policy
   ========================================================================== */

.ohb-rate-plans {
	margin-top: 1.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ohb-line);
}
.ohb-rate-plans-title {
	font-family: var(--ohb-serif);
	font-size: 1.15rem;
	font-weight: 400;
	margin: 0 0 0.25rem;
	color: var(--ohb-ink);
}
.ohb-rate-plans-sub { margin-bottom: 1rem !important; }

.ohb-rate-plan-list {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.ohb-rate-plan {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 0.95rem 1.1rem;
	border: 1.5px solid var(--ohb-line);
	border-radius: var(--ohb-radius);
	cursor: pointer;
	background: #fff;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
.ohb-rate-plan:hover {
	border-color: var(--ohb-ink-3);
}
.ohb-rate-plan.is-selected {
	border-color: var(--ohb-accent);
	background: color-mix(in srgb, var(--ohb-accent) 6%, #fff);
	box-shadow: 0 0 0 1px var(--ohb-accent);
}
.ohb-rate-plan input {
	margin-top: 0.2rem;
	accent-color: var(--ohb-accent);
	flex-shrink: 0;
}
.ohb-rate-plan-body { flex: 1; min-width: 0; }
.ohb-rate-plan-name {
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--ohb-ink);
	display: block;
}
.ohb-rate-plan-desc {
	font-size: 0.82rem;
	color: var(--ohb-ink-3);
	margin-top: 0.15rem;
	display: block;
	line-height: 1.35;
}
.ohb-rate-plan-mod {
	font-size: 0.85rem;
	font-weight: 600;
	white-space: nowrap;
	color: var(--ohb-ink-2);
}
.ohb-rate-plan-mod.is-save { color: #1a7a4c; }
.ohb-rate-plan-mod.is-extra { color: var(--ohb-ink-2); }

/* Promo code */
.ohb-promo-block {
	margin-top: 1.25rem;
}
.ohb-promo-row {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.35rem;
}
.ohb-promo-row input {
	flex: 1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ohb-promo-apply {
	flex-shrink: 0;
	min-width: 5.5rem;
}
.ohb-promo-msg {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.82rem;
}
.ohb-promo-msg.is-ok { color: #1a7a4c; }
.ohb-promo-msg.is-err { color: var(--ohb-error); }

/* Cancellation policy box on summary */
.ohb-policy-box {
	margin: 1.25rem 0 1.5rem;
	padding: 1rem 1.15rem;
	background: #faf9f7;
	border: 1px solid var(--ohb-line);
	border-radius: var(--ohb-radius);
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--ohb-ink-2);
}
.ohb-policy-box strong {
	display: block;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ohb-ink-3);
	margin-bottom: 0.35rem;
}
.ohb-policy-box p {
	margin: 0;
	white-space: pre-line;
}

/* Discount line in rail / summary */
.ohb-rail-line.is-discount span:last-child,
.ohb-summary-line.is-discount span:last-child {
	color: #1a7a4c;
	font-weight: 600;
}

/* Subtle Guestline-style polish on room cards */
.ohb-room-card {
	position: relative;
}
.ohb-room-card.is-selected {
	border-color: var(--ohb-accent);
	box-shadow: 0 0 0 1px var(--ohb-accent);
}

/* Optional meals + skip */
.ohb-optional-badge {
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.4rem;
	padding: 0.2rem 0.55rem;
	font-family: var(--ohb-ui);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ohb-ink-3);
	background: var(--ohb-canvas);
	border: 1px solid var(--ohb-line);
	border-radius: 999px;
}
.ohb-nav-meals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
}
.ohb-nav-meals .ohb-btn[data-primary],
.ohb-nav-meals #ohb-meals-continue {
	margin-left: auto;
}
@media (max-width: 520px) {
	.ohb-nav-meals #ohb-meals-continue {
		margin-left: 0;
		width: 100%;
		order: -1;
	}
	.ohb-nav-meals #ohb-meals-skip {
		flex: 1;
	}
}

/* Extras / upsells (v1.12.0) */
.ohb-extras-section-title {
	font-family: var(--ohb-serif, Georgia, serif);
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0.5rem 0 0.4rem;
	color: var(--ohb-ink);
}
.ohb-extras-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1rem;
}
.ohb-extra-item {
	/* inherits .ohb-meal-item */
}


/* Room toolbar: sort + filters (v1.13.0) */
.ohb-room-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	align-items: flex-end;
	margin: 0 0 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--ohb-line, #e8e4de);
}
.ohb-toolbar-label {
	display: block;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ohb-ink-3, #8a857c);
	margin-bottom: 0.25rem;
}
.ohb-room-sort select,
.ohb-room-filter-guests select {
	font-family: var(--ohb-ui, system-ui, sans-serif);
	font-size: 0.875rem;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--ohb-line, #e8e4de);
	border-radius: 6px;
	background: #fff;
	color: var(--ohb-ink, #1a1814);
	min-width: 9rem;
}
.ohb-room-filter-amenities {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
}
.ohb-room-filter-amenities .ohb-toolbar-label {
	width: 100%;
}
.ohb-amenity-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.3rem 0.65rem;
	font-size: 0.8rem;
	border: 1px solid var(--ohb-line, #e8e4de);
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	user-select: none;
	color: var(--ohb-ink-2, #4a463e);
}
.ohb-amenity-filter-chip input {
	margin: 0;
}
.ohb-amenity-filter-chip.is-active,
.ohb-amenity-filter-chip:has(input:checked) {
	border-color: var(--ohb-accent, #b3452f);
	background: color-mix(in srgb, var(--ohb-accent, #b3452f) 8%, #fff);
	color: var(--ohb-ink, #1a1814);
}

/* Deposit lines */
.ohb-rail-line.is-deposit span:last-child,
.ohb-summary-row.ohb-summary-deposit span:last-child {
	font-weight: 600;
	color: var(--ohb-accent, #b3452f);
}

/* Guest manage / cancel page (v1.14.0) */
.ohb-manage {
	max-width: 32rem;
	margin: 1.5rem auto;
	padding: 0 1rem;
	font-family: var(--ohb-ui, system-ui, sans-serif);
	color: var(--ohb-ink, #1a1814);
}
.ohb-manage-title {
	font-family: var(--ohb-serif, Georgia, serif);
	font-size: 1.5rem;
	margin: 0 0 0.25rem;
}
.ohb-manage-ref {
	color: var(--ohb-ink-3, #8a857c);
	font-size: 0.9rem;
	margin: 0 0 1.25rem;
}
.ohb-manage-card {
	border: 1px solid var(--ohb-line, #e8e4de);
	border-radius: 10px;
	padding: 0.85rem 1.1rem;
	background: #fff;
	margin-bottom: 1.25rem;
}
.ohb-manage-row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.45rem 0;
	border-bottom: 1px solid var(--ohb-line, #e8e4de);
	font-size: 0.925rem;
}
.ohb-manage-row:last-child { border-bottom: 0; }
.ohb-manage-row span { color: var(--ohb-ink-3, #8a857c); }
.ohb-manage-status.ohb-status-confirmed { color: #1a7a4c; }
.ohb-manage-status.ohb-status-pending { color: #b36b00; }
.ohb-manage-status.ohb-status-cancelled { color: #999; }
.ohb-manage-hint {
	font-size: 0.9rem;
	margin: 0 0 0.75rem;
	color: var(--ohb-ink-2, #4a463e);
}
.ohb-manage-cancel {
	width: 100%;
	justify-content: center;
	background: transparent !important;
	color: #b32d2e !important;
	border: 1px solid #b32d2e !important;
}
.ohb-manage-cancel:hover {
	background: #b32d2e !important;
	color: #fff !important;
}
.ohb-manage-msg {
	margin: 0.75rem 0 0;
	font-size: 0.9rem;
}
.ohb-manage-msg.is-ok { color: #1a7a4c; }
.ohb-manage-msg.is-err { color: #b32d2e; }
.ohb-manage-msg.is-cancelled { color: #666; }

/* Guestline-style promo on search step */
.ohb-promo-search {
	margin: 0.75rem 0 0.5rem;
}
.ohb-promo-toggle {
	background: none;
	border: 0;
	padding: 0;
	font-family: var(--ohb-ui, system-ui, sans-serif);
	font-size: 0.875rem;
	color: var(--ohb-accent, #b3452f);
	text-decoration: underline;
	cursor: pointer;
}
.ohb-promo-toggle:hover { opacity: 0.85; }
.ohb-promo-search-fields {
	margin-top: 0.5rem;
}
.ohb-promo-search-fields .ohb-promo-row {
	display: flex;
	gap: 0.4rem;
}
.ohb-promo-search-fields input {
	flex: 1;
	min-width: 0;
	padding: 0.45rem 0.65rem;
	border: 1px solid var(--ohb-line, #e8e4de);
	border-radius: 6px;
	font-size: 0.9rem;
}

/* Rate plan: pay mode + cancel until (Guestline parity) */
.ohb-rate-plan-paymode {
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--ohb-ink-2, #4a463e);
	margin-top: 0.2rem;
}
.ohb-rate-plan-cancel {
	display: block;
	font-size: 0.75rem;
	color: #1a7a4c;
	margin-top: 0.15rem;
}
.ohb-rate-plan-cancel.is-nonref {
	color: #b36b00;
}

/* Urgency */
.ohb-remaining-tag {
	display: inline-block;
	margin-top: 0.35rem;
	padding: 0.2rem 0.5rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: #9a3412;
	background: #ffedd5;
	border-radius: 4px;
}

/* Room details modal */
.ohb-modal-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(26, 24, 20, 0.55);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}
.ohb-modal {
	background: #fff;
	border-radius: 12px;
	max-width: 32rem;
	width: 100%;
	max-height: 90vh;
	overflow: auto;
	position: relative;
	box-shadow: 0 20px 50px rgba(0,0,0,0.25);
}
.ohb-modal-close {
	position: absolute;
	top: 0.5rem;
	right: 0.65rem;
	z-index: 2;
	border: 0;
	background: rgba(255,255,255,0.9);
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	font-size: 1.25rem;
	cursor: pointer;
	line-height: 1;
}
.ohb-modal-gallery {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	background: #e8e4de;
}
.ohb-modal-gallery img {
	width: 100%;
	height: 140px;
	object-fit: cover;
	display: block;
}
.ohb-modal-gallery img:first-child {
	grid-column: 1 / -1;
	height: 200px;
}
.ohb-modal-body {
	padding: 1.1rem 1.25rem 1.35rem;
	font-family: var(--ohb-ui, system-ui, sans-serif);
}
.ohb-modal-body h3 {
	margin: 0 0 0.25rem;
	font-family: var(--ohb-serif, Georgia, serif);
	font-size: 1.25rem;
}
.ohb-modal-meta {
	margin: 0 0 0.75rem;
	font-size: 0.85rem;
	color: var(--ohb-ink-3, #8a857c);
}
.ohb-modal-desc {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--ohb-ink-2, #4a463e);
}
.ohb-modal-amenities {
	margin: 0 0 1rem;
	padding: 0 0 0 1.1rem;
	font-size: 0.85rem;
	columns: 2;
	gap: 0.5rem;
}
.ohb-modal-amenities li { margin-bottom: 0.25rem; }
.ohb-modal-price { margin: 0 0 0.75rem; }
.ohb-modal-add { width: 100%; justify-content: center; }
.ohb-modal-link { margin: 0.75rem 0 0; font-size: 0.8rem; text-align: center; }
.ohb-more-details-btn {
	background: none;
	border: 0;
	padding: 0;
	font-size: 0.8rem;
	color: var(--ohb-accent, #b3452f);
	text-decoration: underline;
	cursor: pointer;
	margin-top: 0.25rem;
}

/* Calendar day price hints (v1.19.0) — larger for readability */
.ohb-cal-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 1.15;
	min-height: 3.2rem;
}
.ohb-cal-day-num { font-size: 1rem; font-weight: 600; }
.ohb-cal-day-price {
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--ohb-ink-3, #8a857c);
	margin-top: 2px;
}
.ohb-cal-day.is-start .ohb-cal-day-price,
.ohb-cal-day.is-end .ohb-cal-day-price,
.ohb-cal-day.is-in-range .ohb-cal-day-price {
	color: rgba(255,255,255,0.85);
}

/* Per-child age pickers */
.ohb-child-ages {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin-top: 0.65rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--ohb-line, #e8e4de);
}
.ohb-child-age-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.85rem;
	gap: 0.5rem;
}
.ohb-child-age-row select {
	padding: 0.25rem 0.4rem;
	border: 1px solid var(--ohb-line, #e8e4de);
	border-radius: 4px;
	font-size: 0.85rem;
}

/* Manage page — modify dates */
.ohb-manage-modify {
	margin-bottom: 0.75rem;
}
.ohb-manage-modify-fields {
	margin-top: 0.75rem;
	padding: 0.85rem;
	border: 1px solid var(--ohb-line, #e8e4de);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.ohb-manage-modify-fields label {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 0.85rem;
	color: var(--ohb-ink-3, #8a857c);
}
.ohb-manage-modify-fields input[type="date"] {
	padding: 0.4rem 0.5rem;
	border: 1px solid var(--ohb-line, #e8e4de);
	border-radius: 6px;
	font-size: 0.95rem;
	color: var(--ohb-ink, #1a1814);
}


/* ===== Guestline visual polish layer (v1.20) ===== */
.ohb-panel h3,
.ohb-manage-title,
.ohb-room-hero h1,
.ohb-single-room h1 {
	font-family: var(--ohb-ui) !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}
.ohb-search-btn,
.ohb .ohb-btn-pay {
	border-radius: var(--ohb-r-sm) !important;
	font-weight: 600 !important;
	text-transform: none !important;
}
.ohb-rate-plan {
	border-radius: var(--ohb-r-sm) !important;
	border-color: var(--ohb-line) !important;
}
.ohb-rate-plan.is-selected {
	border-color: var(--ohb-accent) !important;
	background: var(--ohb-accent-bg) !important;
}
.ohb-promo-toggle {
	color: var(--ohb-accent) !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}
.ohb-remaining-tag {
	background: #ffebee !important;
	color: #c62828 !important;
	font-weight: 600 !important;
	border-radius: 2px !important;
}
.ohb-cal-day {
	border-radius: 2px !important;
	font-family: var(--ohb-ui) !important;
}
.ohb-cal-day.is-start,
.ohb-cal-day.is-end {
	background: var(--ohb-navy, #2c3a4a) !important;
	color: #fff !important;
	border-radius: 4px !important;
}
.ohb-cal-day.is-in-range {
	background: #e8ecf0 !important;
	color: var(--ohb-navy, #2c3a4a) !important;
}
.ohb-rail-card {
	border-radius: var(--ohb-r-md) !important;
	border: 1px solid var(--ohb-line) !important;
	box-shadow: var(--ohb-shadow) !important;
}
.ohb-sticky {
	border-top: 1px solid var(--ohb-line) !important;
	background: #fff !important;
	box-shadow: 0 -2px 12px rgba(0,0,0,.06) !important;
}


/* Oakwood screenshot parity — outline More Details + gold Check Availability */
.ohb-more-details-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 0.45rem 0.9rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: var(--ohb-ink) !important;
	background: #fff !important;
	border: 1px solid var(--ohb-line) !important;
	border-radius: 4px !important;
	text-decoration: none !important;
	cursor: pointer;
}
.ohb-more-details-btn:hover {
	border-color: var(--ohb-ink-3) !important;
	background: var(--ohb-canvas) !important;
}
.ohb-room-side .ohb-room-qty {
	margin-top: 0.35rem;
}
.ohb-promo-toggle {
	color: var(--ohb-ink-2) !important;
	text-decoration: underline !important;
	font-weight: 400 !important;
}
.ohb-search-btn {
	background: var(--ohb-accent) !important;
	color: #1a1a1a !important;
	border-color: var(--ohb-accent) !important;
	font-weight: 600 !important;
	min-height: 52px !important;
}
.ohb-remaining-tag {
	background: #fff3e0 !important;
	color: #e65100 !important;
}

/* Browse-first room cards (Guestline home) */
.ohb-browse-rooms {
	margin-top: 1.75rem;
}
.ohb-room-desc {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--ohb-ink-2);
}
.ohb-room-browse-actions {
	margin-top: 0.85rem;
}
.ohb-max-guests {
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
}
.ohb-max-guests .ohb-people-ico {
	flex-shrink: 0;
}
.ohb-browse-check {
	min-width: 9.5rem !important;
	font-size: 0.875rem !important;
	min-height: 42px !important;
	padding: 0.55rem 1rem !important;
}
.ohb-panel[data-panel="1"] h3 {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
}

/* ========== Guestline compact search card (v1.23) ========== */
.ohb-gl-card {
	background: #fff;
	border: 1px solid var(--ohb-line);
	border-radius: 12px;
	padding: 1.25rem 1.35rem 1.35rem;
	box-shadow: 0 1px 4px rgba(44, 51, 64, .04);
	position: relative;
}
.ohb-gl-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}
.ohb-gl-title {
	margin: 0 !important;
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	color: var(--ohb-ink) !important;
}
.ohb-gl-head .ohb-promo-toggle {
	font-size: 0.8125rem !important;
	color: var(--ohb-ink-2) !important;
	text-decoration: underline !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	white-space: nowrap;
}
.ohb-gl-bar {
	display: flex;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--ohb-line);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	min-height: 56px;
}
.ohb-gl-dates,
.ohb-gl-guests {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
	padding: 0.75rem 1rem !important;
	background: #fff !important;
	border: 0 !important;
	border-right: 1px solid var(--ohb-line) !important;
	color: var(--ohb-ink-2) !important;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	cursor: pointer;
	text-align: left;
	min-height: 56px;
	flex: 1;
}
.ohb-gl-dates { flex: 1.6; }
.ohb-gl-guests { flex: 0.9; min-width: 7.5rem; }
.ohb-gl-dates .ohb-date-label.is-set,
.ohb-gl-guests #ohb-guests-label {
	color: var(--ohb-ink);
	font-weight: 600;
}
.ohb-gl-dates-icon,
.ohb-gl-guests-icon {
	color: var(--ohb-ink-3);
	display: flex;
	flex-shrink: 0;
}
.ohb-field-arrow {
	color: var(--ohb-ink-3);
	margin: 0 0.15rem;
}
.ohb-gl-bar .ohb-search-btn {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 7.5rem !important;
	min-height: 56px !important;
	margin: 0 !important;
	border-radius: 0 !important;
	border: 0 !important;
	padding: 0 1.35rem !important;
	font-size: 0.95rem !important;
	background: var(--ohb-accent) !important;
	color: #1a1a1a !important;
}
@media (max-width: 640px) {
	.ohb-gl-bar {
		flex-direction: column;
		border: 0;
		overflow: visible;
		gap: 0.5rem;
		background: transparent;
	}
	.ohb-gl-dates,
	.ohb-gl-guests {
		border: 1px solid var(--ohb-line) !important;
		border-radius: 8px !important;
	}
	.ohb-gl-bar .ohb-search-btn {
		width: 100% !important;
		border-radius: 8px !important;
	}
}

/* Dropdown panels */
.ohb-gl-dropdown {
	position: absolute;
	left: 1.35rem;
	right: 1.35rem;
	top: calc(100% - 0.25rem);
	z-index: 40;
	background: #fff !important;
	border: 1px solid var(--ohb-line) !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 40px rgba(0,0,0,.12) !important;
	padding: 1rem !important;
	margin-top: 0.35rem;
}
.ohb-calendar-pop.ohb-gl-dropdown {
	max-width: min(780px, 96vw);
}
.ohb-guests-pop.ohb-gl-dropdown {
	max-width: 300px;
	left: auto;
	right: 1.35rem;
}
.ohb-cal-footer {
	display: flex;
	justify-content: flex-end;
	gap: 0.5rem;
	margin-top: 0.85rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--ohb-line-soft);
}
.ohb-cal-footer .ohb-btn {
	min-height: 40px !important;
	padding: 0.45rem 1rem !important;
	font-size: 0.875rem !important;
}

/* Guestline: hide step strip on search/results; KEEP right "Your Booking" rail */
.ohb:has(.ohb-panel[data-panel="1"].is-active) .ohb-steps {
	display: none;
}

.ohb-room-select-btn {
	min-height: 42px !important;
	padding: 0.5rem 1.15rem !important;
	font-size: 0.875rem !important;
	width: 100%;
	max-width: 11rem;
}
.ohb-room-side .ohb-room-qty {
	margin-top: 0.45rem;
	justify-content: flex-end;
}
.ohb-date-label.is-set {
	color: var(--ohb-ink) !important;
	font-weight: 600 !important;
}

/* Guestline-width: main + Your Booking rail side by side — full width */
.ohb-shell {
	max-width: none !important;
	width: 100% !important;
}
.ohb {
	max-width: none !important;
	width: 100% !important;
}
@media (min-width: 900px) {
	.ohb-shell {
		grid-template-columns: minmax(0, 1fr) 320px !important;
		gap: 1.75rem !important;
	}
	.ohb-rail {
		display: block !important;
	}
	.ohb-rail-card {
		position: sticky;
		top: 1.25rem;
	}
}

/* Top bar + currency (Guestline) — base styles; final overrides at end of file */
.ohb-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 0 1rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid var(--ohb-line-soft);
}
.ohb-topbar-name {
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--ohb-ink);
}

/* Results after search — Guestline rate table */
.ohb-results-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.ohb-results-hotel {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}
.ohb-results-hotel strong { font-size: 1.05rem; }
.ohb-sort-pill {
	position: relative;
	font-size: 0.8125rem;
	border: 1px solid var(--ohb-line);
	border-radius: 6px;
	padding: 0.4rem 0.75rem;
	background: #fff;
	color: var(--ohb-ink-2);
}
.ohb-sort-inline {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
	width: 100%;
}
.ohb-room-result {
	display: block !important;
	padding: 0 !important;
	margin-bottom: 1rem;
}
.ohb-result-top {
	padding: 0.85rem 1rem 0;
}
.ohb-result-title {
	font-size: 1.15rem !important;
	font-weight: 600 !important;
}
.ohb-result-body {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}
@media (min-width: 780px) {
	/* Guestline: left = photos+meta | right = rate rows */
	.ohb-result-body {
		grid-template-columns: minmax(280px, 1.1fr) minmax(320px, 1fr);
		align-items: stretch;
	}
	.ohb-room-result .ohb-room-photos {
		border-radius: 0;
	}
}
.ohb-result-meta {
	padding: 0.75rem 1rem;
}
.ohb-result-rates {
	padding: 0.35rem 0.5rem 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.ohb-rate-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 0.75rem;
	align-items: center;
	padding: 0.75rem 0.65rem;
	border-top: 1px solid var(--ohb-line-soft);
}
.ohb-rate-row.is-selected {
	background: var(--ohb-accent-bg);
}
.ohb-rate-row-name {
	font-weight: 600;
	font-size: 0.9375rem;
	margin-bottom: 0.25rem;
}
.ohb-rate-tick {
	font-size: 0.8125rem;
	color: var(--ohb-ink-2);
	line-height: 1.4;
}
.ohb-rate-row-price {
	text-align: right;
	min-width: 5.5rem;
}
.ohb-rate-row-price strong {
	font-size: 1.1rem;
	display: block;
}
.ohb-card-guarantee {
	font-size: 0.7rem;
	color: var(--ohb-ink-3);
	margin-top: 0.2rem;
	line-height: 1.25;
}
.ohb-rate-select {
	min-height: 40px !important;
	padding: 0.45rem 1.1rem !important;
	font-size: 0.875rem !important;
	white-space: nowrap;
}
.ohb-only-left {
	display: inline-block;
	margin: 0.4rem 0;
	padding: 0.2rem 0.45rem;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: #c62828;
	border: 1px solid #ef9a9a;
	border-radius: 3px;
	background: #fff;
}

/* Room detail (More Details) — Guestline layout */
.ohb-detail-overlay { align-items: flex-start; padding: 1.5rem 1rem; overflow-y: auto; }
.ohb-detail-modal {
	max-width: 960px !important;
	width: 100%;
	margin: 1rem auto;
	padding: 1.25rem 1.5rem 2rem !important;
	max-height: none !important;
}
.ohb-detail-back {
	display: inline-flex !important;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.75rem !important;
	border: 1px solid var(--ohb-line) !important;
	border-radius: 6px !important;
	background: #fff !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: var(--ohb-ink) !important;
	cursor: pointer;
	margin-bottom: 1rem;
}
.ohb-detail-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 800px) {
	.ohb-detail-layout { grid-template-columns: 1.4fr 1fr; }
}
.ohb-detail-title {
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.75rem !important;
}
.ohb-detail-modal .ohb-modal-gallery {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 4px;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 0.75rem;
}
.ohb-detail-modal .ohb-modal-gallery img {
	width: 100%;
	height: 140px;
	object-fit: cover;
}
.ohb-detail-modal .ohb-modal-gallery img:first-child {
	grid-row: span 2;
	height: 100%;
	min-height: 280px;
}
.ohb-detail-amenities { margin-top: 1.25rem; }
.ohb-detail-amenities h4 {
	font-size: 0.95rem !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--ohb-ink) !important;
	margin-bottom: 0.5rem !important;
}
.ohb-detail-amenities ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.35rem 1rem;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.8125rem;
	color: var(--ohb-ink-2);
}
.ohb-detail-prices h4 {
	font-size: 1rem !important;
	margin-bottom: 0.75rem !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--ohb-ink) !important;
}
.ohb-detail-price-card {
	border: 1px solid var(--ohb-line);
	border-radius: 8px;
	padding: 0.85rem 1rem;
	margin-bottom: 0.65rem;
}
.ohb-detail-price-name { font-weight: 600; margin-bottom: 0.25rem; }
.ohb-detail-price-cancel { font-size: 0.75rem; color: var(--ohb-accent-ink); text-decoration: underline; }
.ohb-detail-price-desc { font-size: 0.8rem; color: var(--ohb-ink-2); margin: 0.35rem 0; }
.ohb-detail-price-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.5rem;
}
.ohb-detail-price-row strong { font-size: 1.15rem; margin-right: auto; }

/* Your Booking rail */
.ohb-rail-title { font-size: 1rem !important; text-transform: none !important; letter-spacing: 0 !important; }
.ohb-rail-hotel { font-weight: 600; margin-bottom: 0.65rem; }
.ohb-rail-when-labels {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.7rem;
	color: var(--ohb-ink-3);
	margin-bottom: 0.5rem;
}
.ohb-rail-when-labels strong { font-size: 0.9rem; color: var(--ohb-ink); }
.ohb-rail-continue {
	width: 100% !important;
	margin-top: 0.75rem !important;
}
/* Rail only via .ohb-shell.has-cart — not forced on search alone */
.ohb-shell.has-cart .ohb-rail.is-forced {
	display: block !important;
}

/* Hide non-Guestline chrome */
.ohb-steps {
	display: none !important; /* progress strip not on Guestline */
}
.ohb-trip-bar {
	display: none !important;
}
.ohb-room-toolbar {
	display: none !important;
}
.ohb-priced-sub {
	display: none !important;
}
/* On room step, still show compact search from panel 1? Panel 2 is separate —
   sticky search bar: keep gl card only on panel 1. Panel 2 = results only. */
.ohb-panel[data-panel="2"] > h3 {
	display: none;
}
/* Cleaner results toolbar */
.ohb-results-toolbar {
	padding: 0.25rem 0 0.85rem;
	border-bottom: none;
}
.ohb-results-hotel .ohb-hotel-more {
	font-size: 0.8rem;
}
/* Max guests without extra icon clutter if broken */
.ohb-room-result .ohb-result-meta {
	font-size: 0.85rem;
}


/* Force More Details as popup (never a full page) */
body:has(#ohb-room-modal) {
	overflow: hidden !important;
}
#ohb-room-modal.ohb-modal-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483000 !important;
	background: rgba(20, 24, 32, 0.55) !important;
	display: flex !important;
	align-items: flex-start !important;
	justify-content: center !important;
	padding: 1.25rem 1rem !important;
	overflow-y: auto !important;
}
#ohb-room-modal .ohb-detail-modal {
	position: relative !important;
	background: #fff !important;
	max-width: 920px !important;
	width: 100% !important;
	margin: 1.5rem auto !important;
	border-radius: 12px !important;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28) !important;
}

/* Amenity icons — Guestline style */
.ohb-amen-list,
.ohb-card-amen-list {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 0.45rem 1.25rem;
	list-style: none !important;
	padding: 0 !important;
	margin: 0.35rem 0 0.75rem !important;
}
.ohb-amen-list li,
.ohb-card-amen-list li {
	display: flex !important;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.8125rem;
	color: var(--ohb-ink-2);
	margin: 0 !important;
	line-height: 1.35;
}
.ohb-am-ico {
	flex-shrink: 0;
	color: var(--ohb-ink-2);
	opacity: 0.9;
}
.ohb-detail-amenities h4 {
	margin-top: 1.35rem !important;
	margin-bottom: 0.55rem !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
}
.ohb-card-amen-list {
	grid-template-columns: 1fr 1fr;
	margin-top: 0.5rem !important;
	margin-bottom: 0.65rem !important;
}
.ohb-card-amen-list li {
	font-size: 0.75rem;
}
@media (max-width: 600px) {
	.ohb-amen-list,
	.ohb-card-amen-list {
		grid-template-columns: 1fr;
	}
}

/* Guestline room detail collage */
.ohb-detail-inner {
	padding: 1.1rem 1.5rem 1.75rem;
}
.ohb-gl-collage {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 4px;
	border-radius: 8px;
	overflow: hidden;
	margin: 0.65rem 0 0.85rem;
	background: #e8e4de;
	min-height: 260px;
}
.ohb-gl-collage-main {
	min-height: 260px;
}
.ohb-gl-collage-main img {
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
	display: block;
}
.ohb-gl-collage-thumbs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 4px;
	position: relative;
	min-height: 260px;
}
.ohb-gl-collage-thumbs img {
	width: 100%;
	height: 100%;
	min-height: 128px;
	object-fit: cover;
	display: block;
}
.ohb-gl-collage-grid {
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	background: rgba(30, 30, 30, 0.72);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
.ohb-people-ico {
	vertical-align: -2px;
	margin-right: 0.25rem;
	opacity: 0.75;
}
.ohb-detail-hr {
	border: 0;
	border-top: 1px solid #e8eaed;
	margin: 1.1rem 0 0.25rem;
}
.ohb-modal-desc {
	font-size: 0.875rem !important;
	line-height: 1.55 !important;
	color: #4a4a4a !important;
	margin: 0.5rem 0 0 !important;
	max-width: 42rem;
}
.ohb-modal-meta {
	margin: 0.35rem 0 0 !important;
	font-size: 0.8125rem !important;
	color: #5a5a5a !important;
}
.ohb-detail-title {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin: 0.35rem 0 0 !important;
}
.ohb-detail-amenities {
	padding-top: 0.35rem;
}
.ohb-detail-amenities + .ohb-detail-amenities {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid #e8eaed;
}
@media (max-width: 640px) {
	.ohb-gl-collage {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.ohb-gl-collage-main img { min-height: 200px; }
	.ohb-gl-collage-thumbs { min-height: 180px; }
}

/* Single room page — Guestline detail (full page) */
.ohb-room-page {
	max-width: 960px !important;
	margin: 0 auto !important;
	padding: 1.25rem 1rem 3rem !important;
	background: #fff !important;
	font-family: "Open Sans", system-ui, -apple-system, sans-serif !important;
	color: #1a1a1a !important;
}
.ohb-room-page a {
	color: inherit;
	text-decoration: none;
}
.ohb-room-page .ohb-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #c9a227 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 0.7rem 1.4rem !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	min-height: 44px !important;
}
.ohb-room-page .ohb-btn:hover {
	background: #b38f1f !important;
	color: #fff !important;
}
.ohb-room-page .ohb-room-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid #e8eaed;
}
.ohb-room-page .ohb-room-cta-price {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}
.ohb-room-page .ohb-room-cta-price small {
	font-size: 0.85rem;
	font-weight: 500;
	color: #6b7280;
}
.ohb-room-page h1.ohb-detail-title,
.ohb-room-page .ohb-detail-title {
	font-size: 1.75rem !important;
	font-weight: 600 !important;
	margin: 0.75rem 0 0.5rem !important;
	color: #1a1a1a !important;
	line-height: 1.25 !important;
}
.ohb-room-page .ohb-room-desc,
.ohb-room-page .ohb-room-desc p {
	font-size: 0.875rem !important;
	line-height: 1.55 !important;
	color: #4a4a4a !important;
}
.ohb-room-page .ohb-detail-back {
	display: inline-flex !important;
	margin-bottom: 0.5rem;
}

/* Result card — Guestline 2-column (left info / right rates) */
.ohb-room-result {
	border: 1px solid #e4e7ec !important;
	border-radius: 10px !important;
	overflow: hidden;
	background: #fff !important;
	margin-bottom: 1.15rem !important;
}
.ohb-result-top {
	padding: 0.85rem 1rem 0.35rem !important;
}
.ohb-result-title {
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}
.ohb-result-body {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
	align-items: stretch !important;
}
@media (min-width: 820px) {
	.ohb-result-body {
		grid-template-columns: minmax(300px, 0.95fr) minmax(380px, 1.15fr) !important;
	}
}
.ohb-result-left {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	padding: 0.5rem 1rem 1rem;
	border-right: none;
}
@media (min-width: 820px) {
	.ohb-result-left {
		border-right: 1px solid #eef0f3;
	}
}
.ohb-result-left .ohb-room-photos {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 4px;
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 0.65rem;
	max-height: 200px;
}
.ohb-result-left .ohb-photo-main {
	grid-row: span 2;
	width: 100%;
	height: 100%;
	min-height: 196px;
	object-fit: cover;
}
.ohb-result-left .ohb-photo-thumb {
	width: 100%;
	height: 96px;
	object-fit: cover;
}
.ohb-result-meta {
	padding: 0 !important;
	min-width: 0;
}
.ohb-room-desc {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	font-size: 0.8125rem !important;
	line-height: 1.45 !important;
	color: #4a4a4a !important;
	margin: 0.4rem 0 0.5rem !important;
}
.ohb-card-amen-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.35rem 0.85rem !important;
	grid-template-columns: none !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0.35rem 0 0.55rem !important;
}
.ohb-card-amen-list li {
	display: inline-flex !important;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.75rem !important;
	color: #5a5a5a !important;
	white-space: nowrap;
}
.ohb-result-rates {
	padding: 0.25rem 0.5rem 0.5rem !important;
	min-width: 0;
}
.ohb-rate-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto auto !important;
	gap: 0.5rem 0.75rem !important;
	align-items: center !important;
	padding: 0.85rem 0.65rem !important;
	border-top: 1px solid #eef0f3 !important;
	background: transparent !important;
}
.ohb-rate-row:first-child {
	border-top: none !important;
}
.ohb-rate-row-info {
	min-width: 0;
}
.ohb-rate-row-name {
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	margin-bottom: 0.2rem !important;
}
.ohb-rate-tick {
	font-size: 0.78rem !important;
	color: #5a5a5a !important;
	line-height: 1.35 !important;
}
.ohb-rate-row-price {
	text-align: right !important;
	white-space: nowrap;
}
.ohb-rate-row-price strong {
	font-size: 1.05rem !important;
}
.ohb-more-details-btn {
	margin-top: 0.35rem !important;
}
.ohb-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.35rem;
}
.ohb-meta-row .ohb-more-details-btn {
	margin-top: 0 !important;
}

/* Browse cards — Guestline horizontal (no wasted space) */
.ohb-room-browse {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
	align-items: stretch !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #e4e7ec !important;
	border-radius: 10px !important;
	background: #fff !important;
	margin-bottom: 1rem !important;
}
@media (min-width: 720px) {
	.ohb-room-browse {
		grid-template-columns: minmax(240px, 42%) minmax(0, 1fr) !important;
	}
}
.ohb-browse-collage {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 3px;
	background: #e8e4de;
	min-height: 200px;
	max-height: 220px;
}
.ohb-browse-collage-main {
	min-height: 200px;
}
.ohb-browse-collage-main img {
	width: 100%;
	height: 100%;
	min-height: 200px;
	max-height: 220px;
	object-fit: cover;
	display: block;
}
.ohb-browse-collage-thumbs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 3px;
	position: relative;
	min-height: 200px;
}
.ohb-browse-collage-thumbs img {
	width: 100%;
	height: 100%;
	min-height: 98px;
	object-fit: cover;
	display: block;
}
.ohb-browse-content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1rem 1.15rem 1rem;
	min-width: 0;
	gap: 0.75rem;
}
.ohb-browse-title {
	display: block;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin: 0 0 0.35rem !important;
	line-height: 1.3 !important;
}
.ohb-browse-text .ohb-room-desc {
	-webkit-line-clamp: 2 !important;
	margin: 0.4rem 0 0.55rem !important;
	font-size: 0.8125rem !important;
	line-height: 1.45 !important;
	color: #4a4a4a !important;
}
.ohb-browse-text .ohb-more-details-btn {
	margin-top: 0.15rem !important;
}
.ohb-browse-cta {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	margin-top: auto;
}
.ohb-browse-check {
	min-height: 40px !important;
	padding: 0.5rem 1.15rem !important;
	font-size: 0.875rem !important;
	white-space: nowrap;
}
@media (max-width: 719px) {
	.ohb-browse-collage {
		max-height: 180px;
		min-height: 160px;
	}
	.ohb-browse-collage-main img,
	.ohb-browse-collage-thumbs {
		min-height: 160px;
		max-height: 180px;
	}
	.ohb-browse-collage-thumbs img {
		min-height: 78px;
	}
}

/* Browse collage — 1 large + 2 stacked (Guestline); no empty cells */
.ohb-browse-collage {
	display: grid !important;
	grid-template-columns: 1.5fr 1fr !important;
	gap: 4px !important;
	background: #e8e4de !important;
	min-height: 0 !important;
	max-height: none !important;
	height: 100%;
	align-self: stretch;
}
.ohb-browse-collage--single {
	grid-template-columns: 1fr !important;
}
.ohb-browse-collage-main {
	min-height: 0 !important;
	height: 100%;
}
.ohb-browse-collage-main img {
	width: 100% !important;
	height: 100% !important;
	min-height: 180px !important;
	max-height: none !important;
	object-fit: cover !important;
	display: block !important;
}
.ohb-browse-collage-thumbs {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	min-height: 0 !important;
	position: relative;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
}
.ohb-browse-collage-thumbs img {
	width: 100% !important;
	flex: 1 1 0 !important;
	min-height: 0 !important;
	height: auto !important;
	object-fit: cover !important;
	display: block !important;
}
.ohb-browse-collage-thumbs--1 img {
	flex: 1 1 100% !important;
	min-height: 180px !important;
}
.ohb-browse-collage-thumbs--2 img {
	min-height: 88px !important;
}

/* Content: no giant empty middle */
.ohb-room-browse {
	grid-template-columns: 1fr !important;
}
@media (min-width: 720px) {
	.ohb-room-browse {
		grid-template-columns: minmax(260px, 46%) minmax(0, 1fr) !important;
	}
}
.ohb-browse-content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	padding: 0.9rem 1.1rem 1rem !important;
	gap: 0.5rem !important;
}
.ohb-browse-text {
	flex: 0 1 auto;
}
.ohb-browse-cta {
	margin-top: 0.75rem !important;
	justify-content: flex-end !important;
}
.ohb-browse-text .ohb-more-details-btn {
	display: inline-flex !important;
	margin-top: 0.5rem !important;
}
.ohb-rate-info-btn {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	color: #1a1a1a !important;
	cursor: pointer;
	text-align: left !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ohb-rate-info-btn:hover {
	color: var(--ohb-accent-ink, #b38f1f) !important;
}
.ohb-room-page-prices {
	margin: 1.5rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid #e8eaed;
}
.ohb-room-from-price {
	font-size: 0.9rem;
	color: #5a5a5a;
	margin: 1rem 0 0;
}

/* ---- Guestline Select → qty stepper on rate rows ---- */
.ohb-rate-qty {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	border: 1px solid #d8dbe0;
	border-radius: 6px;
	background: #fff;
	padding: 0.15rem 0.25rem;
	min-height: 40px;
}
.ohb-rate-qty-btn {
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	border-radius: 4px;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	color: #333;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ohb-rate-qty-btn:hover:not([disabled]) {
	background: #f3f4f6;
	color: var(--ohb-accent-ink, #b38f1f);
}
.ohb-rate-qty-btn[disabled] {
	opacity: 0.35;
	cursor: not-allowed;
}
.ohb-rate-qty-count {
	min-width: 1.25rem;
	text-align: center;
	font-weight: 600;
	font-size: 0.95rem;
}
.ohb-rate-row.is-selected {
	background: #faf8f2 !important;
}

/* Results toolbar: Filters + grid */
.ohb-results-tools {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.ohb-filters-btn,
.ohb-view-grid-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 0.75rem;
	border: 1px solid #d8dbe0;
	border-radius: 6px;
	background: #fff;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #333;
	cursor: pointer;
	line-height: 1.2;
}
.ohb-filters-btn:hover,
.ohb-view-grid-btn:hover {
	border-color: #b0b5bd;
	background: #f9fafb;
}
.ohb-view-grid-btn {
	padding: 0.45rem 0.55rem;
}

/* Your Booking rail — Guestline layout (fonts / weights matched) */
.ohb-rail-card {
	font-size: 14px !important;
	line-height: 1.45 !important;
}
.ohb-rail-title {
	font-size: 1rem !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: #1a1a1a !important;
	margin: 0 0 0.85rem !important;
}
.ohb-rail-hotel {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin-bottom: 0.75rem !important;
}
.ohb-rail-when-labels {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.9rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid #eef0f3;
}
.ohb-rail-lbl {
	font-size: 0.625rem !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #9ca3af !important;
	font-weight: 600 !important;
}
.ohb-rail-when-labels strong {
	font-size: 1.05rem !important;
	color: #111827 !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}
.ohb-rail-weekday {
	font-size: 0.75rem !important;
	color: #6b7280 !important;
	font-weight: 400 !important;
}
.ohb-rail-arrow {
	align-self: center;
	color: #9ca3af;
	font-size: 1rem;
}
.ohb-rail-room-block {
	margin-bottom: 0.75rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid #eef0f3;
}
.ohb-rail-room {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	color: #111827 !important;
	margin-bottom: 0.2rem;
}
.ohb-rail-room-price {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	white-space: nowrap;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}
.ohb-rail-remove {
	border: 0;
	background: transparent;
	color: #9ca3af;
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	padding: 0.15rem 0.3rem;
	border-radius: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
}
.ohb-rail-remove svg {
	display: block;
}
.ohb-rail-remove:hover {
	color: #c62828;
	background: #fef2f2;
}
.ohb-rail-guests-icon {
	display: inline-block;
	vertical-align: -0.2em;
	margin-left: 0.2em;
	color: #6b7280;
}
.ohb-rail-room-meta {
	font-size: 0.8125rem !important;
	color: #4b5563 !important;
	line-height: 1.4 !important;
}
.ohb-rail-room-title {
	font-weight: 600 !important;
	font-size: 0.8125rem !important;
	color: #1a1a1a !important;
	margin-bottom: 0.1rem;
}
.ohb-rail-rate-name {
	color: #6b7280 !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
}
.ohb-rail-who {
	font-size: 0.75rem !important;
	color: #6b7280 !important;
	font-weight: 400 !important;
	margin-top: 0.15rem;
}
.ohb-breakdown-toggle {
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #2563eb !important;
	text-decoration: none !important;
	padding: 0.35rem 0 !important;
	background: none !important;
	border: 0 !important;
}
.ohb-breakdown-toggle:hover {
	text-decoration: underline !important;
}
.ohb-breakdown-row {
	font-size: 0.8125rem !important;
	color: #4b5563 !important;
}
.ohb-rail-total small#ohb-rail-total-note,
#ohb-rail-total-note {
	display: block;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.2rem;
}
.ohb-rail-total {
	/* superseded by final Guestline rail block */
	margin-top: 0.75rem;
	padding-top: 0.85rem;
	border-top: 1px solid #e5e7eb;
}
.ohb-rail-total > span:first-child {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
}
.ohb-rail-continue {
	width: 100%;
	margin-top: 0.85rem !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
}

/* Guestline rate row: info | price | Select — fixed action width */
.ohb-rate-row {
	grid-template-columns: minmax(0, 1fr) minmax(6.5rem, auto) minmax(5.5rem, auto) !important;
	align-items: center !important;
}
.ohb-rate-row-action {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	min-width: 5.5rem;
}
.ohb-rate-row-price {
	min-width: 6rem;
}
.ohb-rate-select {
	min-width: 5.25rem !important;
	justify-content: center;
}
.ohb-room-result {
	border: 1px solid #e4e7ec !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	background: #fff !important;
}
.ohb-result-top {
	border-bottom: 1px solid #eef0f3;
	padding: 0.85rem 1rem !important;
}
.ohb-results-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.ohb-results-hotel {
	display: flex;
	align-items: center;
	gap: 0.65rem;
}
.ohb-results-hotel strong {
	font-size: 1.05rem;
}
/* Main card: no outer padding so rates align flush */
.ohb-panel[data-panel="1"] .ohb-main,
.ohb:has(.ohb-panel[data-panel="1"].is-active) .ohb-main {
	padding: 1rem 1.25rem 1.5rem !important;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* ========== Guestline parity v1.41 ========== */

/* 1) Initial page: NO right rail (Guestline). Show after search / selection. */
@media (min-width: 900px) {
	.ohb-shell {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.ohb-rail {
		display: none !important;
	}
	/* Guestline: right panel ONLY after Select (cart has a room) */
	.ohb-shell.has-cart {
		grid-template-columns: minmax(0, 1fr) 300px !important;
	}
	.ohb-shell.has-cart .ohb-rail {
		display: block !important;
	}
}

/* 2) Search bar — Guestline proportions */
.ohb-gl-bar {
	min-height: 52px !important;
	border-radius: 6px !important;
	border-color: #d0d5dd !important;
}
.ohb-gl-dates {
	flex: 2.2 !important;
}
.ohb-gl-guests {
	flex: 0 0 140px !important;
	min-width: 140px !important;
	max-width: 160px !important;
}
.ohb-gl-bar .ohb-search-btn {
	min-width: 56px !important;
	width: 56px !important;
	padding: 0 !important;
	font-size: 0 !important; /* hide "Search" text — icon only */
	gap: 0 !important;
}
.ohb-gl-bar .ohb-search-btn svg {
	width: 20px !important;
	height: 20px !important;
	display: block !important;
	margin: 0 auto;
}

/* 3) Browse cards — Guestline: ~48% photos | content */
@media (min-width: 780px) {
	.ohb-room-browse {
		grid-template-columns: minmax(320px, 48%) minmax(0, 1fr) !important;
		min-height: 260px !important;
	}
}
.ohb-browse-collage {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1.35fr 1fr !important;
	gap: 3px !important;
	background: #ddd !important;
	min-height: 240px !important;
	height: 100% !important;
	max-height: none !important;
}
.ohb-browse-collage--single {
	grid-template-columns: 1fr !important;
}
.ohb-browse-collage-main {
	min-height: 240px !important;
	height: 100% !important;
}
.ohb-browse-collage-main img {
	width: 100% !important;
	height: 100% !important;
	min-height: 240px !important;
	object-fit: cover !important;
}
/* 2×2 thumbs grid (Guestline) */
.ohb-browse-collage-thumbs {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	grid-template-rows: 1fr 1fr !important;
	gap: 3px !important;
	flex-direction: unset !important;
	min-height: 240px !important;
	height: 100% !important;
}
.ohb-browse-collage-thumbs img {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	flex: unset !important;
	object-fit: cover !important;
}
.ohb-gl-collage-grid {
	position: absolute !important;
	bottom: 10px !important;
	right: 10px !important;
	z-index: 2;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 6px;
	background: rgba(30, 30, 30, 0.72);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}
.ohb-gl-collage-grid:hover {
	background: rgba(30, 30, 30, 0.9);
}

/* Content side: title top, CTA bottom row like Guestline */
.ohb-browse-content {
	padding: 1.15rem 1.35rem 1.15rem !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	min-height: 240px !important;
}
.ohb-browse-title {
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	margin-bottom: 0.4rem !important;
}
.ohb-browse-text .ohb-room-desc {
	-webkit-line-clamp: 3 !important;
	font-size: 0.875rem !important;
	color: #555 !important;
	margin: 0.5rem 0 0 !important;
}
.ohb-browse-cta {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 0.75rem;
	margin-top: auto !important;
	padding-top: 1rem;
}
.ohb-browse-more,
.ohb-browse-cta .ohb-more-details-btn {
	display: inline-flex !important;
	align-items: center;
	padding: 0.45rem 0.9rem !important;
	border: 1px solid #d0d5dd !important;
	border-radius: 6px !important;
	background: #fff !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #333 !important;
	text-decoration: none !important;
	cursor: pointer;
	margin: 0 !important;
}
.ohb-browse-more:hover,
.ohb-browse-cta .ohb-more-details-btn:hover {
	border-color: #98a2b3 !important;
	background: #f9fafb !important;
}
.ohb-browse-check {
	min-height: 40px !important;
	padding: 0.5rem 1.25rem !important;
	font-size: 0.875rem !important;
	border-radius: 6px !important;
	margin-left: auto;
}

/* Choose your stay card — match Guestline padding */
.ohb-gl-card {
	border-radius: 10px !important;
	padding: 1.5rem 1.5rem 1.4rem !important;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06) !important;
}
.ohb-gl-title {
	font-size: 1.375rem !important;
	font-weight: 600 !important;
}

/* Full width — overridden to 100% at end of file (v1.43.34) */
.ohb {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0;
	margin-right: 0;
}
.ohb-shell.is-searched .ohb,
.ohb:has(.ohb-shell.is-searched) {
	max-width: none !important;
	width: 100% !important;
}

/* ========== Guestline RESULTS rate table (exact) ========== */
@media (min-width: 820px) {
	.ohb-result-body {
		grid-template-columns: minmax(300px, 0.9fr) minmax(420px, 1.2fr) !important;
	}
}
.ohb-result-rates {
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
	border-left: 1px solid #e8eaed !important;
	background: #fff !important;
}
.ohb-rate-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1.4fr) minmax(110px, 0.7fr) minmax(100px, 0.55fr) !important;
	gap: 0 !important;
	align-items: center !important;
	padding: 0 !important;
	border-top: 1px solid #e8eaed !important;
	background: #fff !important;
	min-height: 96px;
}
.ohb-rate-row:first-child {
	border-top: none !important;
}
.ohb-rate-row-info {
	padding: 1rem 1rem 1rem 1.15rem !important;
	border-right: 1px solid #e8eaed !important;
	min-width: 0;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.ohb-rate-row-price {
	padding: 1rem 0.75rem !important;
	border-right: 1px solid #e8eaed !important;
	text-align: right !important;
	align-self: stretch;
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	white-space: normal !important;
}
.ohb-rate-row-price strong {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	line-height: 1.2 !important;
}
.ohb-card-guarantee {
	font-size: 0.6875rem !important;
	color: #8a8f98 !important;
	margin-top: 0.25rem !important;
	line-height: 1.3 !important;
	text-align: right !important;
	max-width: 7rem;
}
.ohb-rate-row-action {
	padding: 1rem 1rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: stretch;
	min-width: 100px !important;
}
.ohb-rate-select {
	min-width: 88px !important;
	min-height: 42px !important;
	padding: 0.5rem 1.15rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
}
.ohb-rate-row-name {
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	margin-bottom: 0.35rem !important;
	text-decoration: none !important;
	color: #1a1a1a !important;
}
.ohb-rate-row-name:hover {
	text-decoration: underline !important;
}
.ohb-rate-tick {
	font-size: 0.8125rem !important;
	color: #5a5a5a !important;
	line-height: 1.4 !important;
	margin-top: 0.15rem;
}
.ohb-rate-row.is-selected {
	background: #faf8f2 !important;
}

/* Left column — photos + meta like Guestline */
.ohb-result-left {
	padding: 0.75rem 1rem 1rem !important;
	border-right: none !important;
}
.ohb-result-left .ohb-room-photos {
	grid-template-columns: 1.5fr 1fr !important;
	gap: 4px !important;
	max-height: 210px !important;
	margin-bottom: 0.75rem !important;
}
.ohb-result-left .ohb-photo-main {
	min-height: 200px !important;
}
.ohb-result-left .ohb-photo-thumb {
	height: 98px !important;
}
.ohb-result-title {
	font-size: 1.125rem !important;
	padding: 0 !important;
}
.ohb-result-top {
	padding: 0.9rem 1rem 0.65rem !important;
	border-bottom: 1px solid #eef0f3 !important;
}
.ohb-room-result {
	border: 1px solid #e4e7ec !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	margin-bottom: 1.25rem !important;
}
.ohb-card-amen-list {
	gap: 0.4rem 1rem !important;
}
.ohb-card-amen-list li {
	font-size: 0.75rem !important;
}
/* Hide scarcity badge style closer to Guestline (optional keep) */
.ohb-only-left {
	font-size: 0.65rem !important;
	letter-spacing: 0.04em !important;
}

/* ===== Rate plan detail modal (Guestline-style) ===== */
.ohb-rate-detail-modal .ohb-rate-modal-title {
	margin: 0 0 0.75rem !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-desc {
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: #4a4a4a !important;
	margin: 0 0 1.25rem !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-h {
	margin: 0 0 0.45rem !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-cancel {
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: #4a4a4a !important;
	margin: 0 0 1.35rem !important;
}
.ohb-rate-timeline-note {
	text-align: center;
	font-size: 0.8125rem;
	color: #9ca3af;
	margin: 0 0 1.1rem;
}
.ohb-rate-timeline-track {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.2rem;
}
.ohb-rate-timeline-point {
	flex: 1;
	text-align: center;
	min-width: 0;
}
.ohb-rate-timeline-point strong {
	display: block;
	font-size: 0.8125rem;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.35;
	margin-top: 0.45rem;
}
.ohb-rate-timeline-point small {
	display: block;
	font-size: 0.75rem;
	color: #6b7280;
	line-height: 1.4;
	margin-top: 0.2rem;
}
.ohb-rate-tl-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #f3f4f6;
	border: 1.5px solid #e5e7eb;
	color: #374151;
	line-height: 1;
}
.ohb-rate-tl-icon .ohb-rate-tl-svg {
	display: block;
	flex-shrink: 0;
}
.ohb-rate-timeline-line {
	flex: 0.45;
	height: 2px;
	background: #e5e7eb;
	margin-top: 17px;
	min-width: 12px;
}
.ohb-rate-timeline-line.is-blocked {
	background: repeating-linear-gradient(90deg, #d1d5db, #d1d5db 4px, transparent 4px, transparent 8px);
}
.ohb-rate-row-name {
	cursor: pointer;
	text-decoration: none;
	border: 0;
	background: none;
	padding: 0;
	font: inherit;
	color: inherit;
	text-align: left;
}
.ohb-rate-row-name:hover {
	text-decoration: underline;
	color: #1a1a1a;
}

/* ===== Guestline Summary / Billing Details (step 4) ===== */
.ohb-summary-section {
	margin-bottom: 1.35rem;
	padding-bottom: 1.15rem;
	border-bottom: 1px solid #eef0f3;
}
.ohb-summary-section--promo {
	border-bottom: none;
	padding-bottom: 0.5rem;
}
.ohb-summary-section-title {
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin: 0 0 1rem !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.ohb-summary-ico {
	font-size: 1rem;
	line-height: 1;
}
.ohb-gl-billing-grid {
	display: grid;
	grid-template-columns: minmax(90px, 120px) minmax(0, 1fr) minmax(0, 1fr);
	gap: 0.75rem 0.85rem;
	align-items: start;
}
@media (max-width: 640px) {
	.ohb-gl-billing-grid {
		grid-template-columns: 1fr 1fr;
		gap: 0.65rem;
	}
	.ohb-gl-title { grid-column: 1 / -1; max-width: 140px; }
	.ohb-gl-address { grid-column: 1 / -1; }
}
.ohb-gl-field {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	position: relative;
	min-width: 0;
}
.ohb-gl-field input,
.ohb-gl-field select {
	width: 100% !important;
	padding: 0.7rem 0.85rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	background: #f9fafb !important;
	font-size: 0.9rem !important;
	color: #111827 !important;
	box-shadow: none !important;
	min-height: 46px !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}
.ohb-gl-field input::placeholder {
	color: #98a2b3 !important;
	opacity: 1 !important;
}
.ohb-gl-field select {
	cursor: pointer;
	appearance: auto !important;
	-webkit-appearance: menulist !important;
	background-image: none !important;
}
.ohb-gl-field input:hover,
.ohb-gl-field select:hover {
	border-color: #98a2b3 !important;
}
.ohb-gl-field input:focus,
.ohb-gl-field select:focus {
	outline: none !important;
	border-color: #667085 !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(102, 112, 133, 0.12) !important;
}
.ohb-gl-field input.is-invalid,
.ohb-gl-field select.is-invalid {
	border-color: #d92d20 !important;
	background: #fff !important;
	box-shadow: 0 0 0 1px #d92d20 !important;
}
.ohb-gl-field .ohb-field-error {
	display: block;
	font-size: 0.75rem !important;
	color: #d92d20 !important;
	margin: 0.3rem 0 0 !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
	min-height: 0;
}
.ohb-gl-booking-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 1rem;
	background: #fefce8;
	border-radius: 8px;
	margin-bottom: 0.85rem;
}
.ohb-gl-booking-room {
	font-weight: 600;
	font-size: 0.9rem;
	color: #1a1a1a;
}
.ohb-gl-use-billing {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.875rem;
	color: #374151;
	cursor: pointer;
	font-weight: 500;
	margin: 0 !important;
}
.ohb-gl-use-billing input {
	width: 1.05rem;
	height: 1.05rem;
	accent-color: #1e1b4b;
}
/* Special Requests + Bed Preference side by side (Guestline) */
.ohb-gl-booking-row {
	display: grid;
	grid-template-columns: 1fr minmax(160px, 220px);
	gap: 0.75rem;
	align-items: start;
}
@media (max-width: 560px) {
	.ohb-gl-booking-row {
		grid-template-columns: 1fr;
	}
}
.ohb-gl-special input,
.ohb-gl-bed select {
	width: 100% !important;
	padding: 0.7rem 0.85rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	background: #f9fafb !important;
	font-size: 0.9rem !important;
	min-height: 46px !important;
	color: #111827 !important;
	box-sizing: border-box !important;
}
.ohb-gl-special input:hover,
.ohb-gl-bed select:hover {
	border-color: #98a2b3 !important;
}
.ohb-gl-special input:focus,
.ohb-gl-bed select:focus {
	outline: none !important;
	border-color: #667085 !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(102, 112, 133, 0.12) !important;
}
.ohb-gl-bed select.is-invalid {
	border-color: #d92d20 !important;
	box-shadow: 0 0 0 1px #d92d20 !important;
}
.ohb-gl-promo .ohb-promo-row {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}
.ohb-gl-promo input {
	flex: 1;
	padding: 0.7rem 0.85rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	background: #fff !important;
	font-size: 0.9rem !important;
	min-height: 46px !important;
	color: #111827 !important;
}
.ohb-gl-promo .ohb-promo-apply {
	min-width: 2.5rem !important;
	padding: 0.55rem 0.75rem !important;
	font-size: 1.25rem !important;
	line-height: 1 !important;
	border-radius: 8px !important;
}
/* Legal left + Book Now right (Guestline summary footer) */
.ohb-gl-footer-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.25rem 1.5rem;
	margin: 1.25rem 0 0.5rem;
	padding-top: 0.5rem;
}
.ohb-gl-legal {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.55rem !important;
	margin: 0 !important;
	flex: 1 1 260px;
	min-width: 0;
}
.ohb-gl-check {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	font-size: 0.875rem !important;
	color: #374151 !important;
	cursor: pointer !important;
	margin: 0 !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}
.ohb-gl-check input[type="checkbox"] {
	margin-top: 0.12rem !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	min-width: 1.1rem !important;
	accent-color: #1e1b4b !important;
	flex-shrink: 0 !important;
}
.ohb-gl-check input[type="checkbox"].is-invalid {
	outline: 2px solid #dc2626;
	outline-offset: 1px;
}
.ohb-terms-link {
	color: #2563eb !important;
	text-decoration: underline !important;
}
.ohb-gl-summary-actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
	margin-left: auto;
}
.ohb-gl-summary-actions .ohb-gl-back-btn {
	min-width: auto;
	padding: 0.65rem 1rem !important;
}
.ohb-btn-booknow,
.ohb-gl-summary-actions #ohb-review-btn {
	min-width: 10.5rem !important;
	padding: 0.75rem 1.5rem !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	border-radius: 8px !important;
	background: #c9a227 !important;
	color: #fff !important;
	border: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.ohb-btn-booknow:hover,
.ohb-gl-summary-actions #ohb-review-btn:hover {
	background: #b8921f !important;
	color: #fff !important;
}
#ohb-details-error {
	margin-top: 0.75rem;
	font-size: 0.875rem;
	color: #dc2626;
}
@media (max-width: 560px) {
	.ohb-gl-footer-row {
		flex-direction: column;
		align-items: stretch;
	}
	.ohb-gl-summary-actions {
		margin-left: 0;
		width: 100%;
		justify-content: flex-end;
	}
	.ohb-btn-booknow,
	.ohb-gl-summary-actions #ohb-review-btn {
		flex: 1;
	}
}

/* ===== Guestline Card validation page (step 5) ===== */
.ohb-cardval-layout {
	display: grid;
	grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
	gap: 2.5rem;
	align-items: start;
	max-width: 960px;
	margin: 0 auto;
}
@media (max-width: 800px) {
	.ohb-cardval-layout {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}
.ohb-cardval-left {
	position: relative;
	padding-right: 0.5rem;
}
.ohb-cardval-back {
	border: 0;
	background: none;
	font-size: 1.25rem;
	color: #6b7280;
	cursor: pointer;
	padding: 0.25rem 0.5rem;
	margin: 0 0 0.75rem -0.25rem;
	line-height: 1;
}
.ohb-cardval-back:hover { color: #111; }
.ohb-cardval-hotel-name {
	font-size: 1.15rem;
	font-weight: 600;
	color: #1a1a1a;
	padding-bottom: 0.75rem;
	margin-bottom: 0.85rem;
	border-bottom: 1px solid #e5e7eb;
}
.ohb-cardval-dates {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.5rem;
	padding-bottom: 0.85rem;
	margin-bottom: 0.85rem;
	border-bottom: 1px solid #e5e7eb;
}
.ohb-cardval-dates strong {
	font-size: 1.05rem;
	font-weight: 700;
}
.ohb-cardval-room {
	padding-bottom: 0.75rem;
	margin-bottom: 0.65rem;
	border-bottom: 1px solid #eef0f3;
}
.ohb-cardval-total {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 0.85rem;
	margin-top: 0.5rem;
	border-top: 1px solid #e5e7eb;
	font-weight: 700;
	font-size: 1.1rem;
}
.ohb-cardval-paynow {
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	color: #6b7280;
	margin-top: 0.2rem;
}
.ohb-cardval-guarantee-note {
	font-size: 0.75rem;
	color: #6b7280;
	margin-top: 1rem;
	line-height: 1.4;
}
.ohb-cardval-right {
	max-width: 420px;
}
.ohb-cardval-header {
	text-align: center;
	margin-bottom: 1.5rem;
}
.ohb-cardval-eyebrow {
	display: block;
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #9ca3af;
	font-weight: 600;
	margin-bottom: 0.35rem;
}
.ohb-cardval-header h3 {
	margin: 0 0 0.35rem !important;
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
}
.ohb-cardval-secure {
	font-size: 0.8rem;
	color: #6b7280;
	margin: 0;
}
.ohb-cardval-h {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.75rem !important;
	color: #1a1a1a !important;
}
.ohb-cardval-label {
	display: block;
	font-size: 0.8rem;
	font-weight: 500;
	color: #374151;
	margin: 0 0 0.75rem;
}
.ohb-cardval-label input,
.ohb-cardval-label select {
	display: block;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.65rem 0.8rem;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 0.9rem;
	background: #fff;
}
.ohb-cardval-row3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0.65rem;
	margin-bottom: 0.25rem;
}
.ohb-card-field {
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 0.7rem 0.85rem !important;
	margin-bottom: 0.75rem !important;
	background: #fff !important;
}
.ohb-cardval-billing {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid #eef0f3;
}
.ohb-cardval-nav {
	margin-top: 1.25rem;
}
.ohb-cardval-nav .ohb-btn-pay {
	width: 100%;
	font-weight: 600 !important;
}




/* ===== Card validation mode: full-page 2-col, NO side rail ===== */
.ohb.ohb-cardval-mode .ohb-shell,
.ohb.ohb-success-mode .ohb-shell {
	grid-template-columns: 1fr !important;
	max-width: 980px !important;
	margin: 0 auto !important;
}
.ohb.ohb-cardval-mode .ohb-rail,
.ohb.ohb-success-mode .ohb-rail,
.ohb.ohb-cardval-mode .ohb-shell.has-cart .ohb-rail,
.ohb.ohb-cardval-mode .ohb-shell.has-cart .ohb-rail.is-forced,
.ohb.ohb-cardval-mode .ohb-rail.is-forced {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	pointer-events: none !important;
}
.ohb.ohb-cardval-mode .ohb-main {
	max-width: 100% !important;
}
.ohb.ohb-cardval-mode .ohb-panel[data-panel="5"] {
	background: #fff !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0.5rem 0 2rem !important;
}
.ohb.ohb-cardval-mode .ohb-topbar,
.ohb.ohb-cardval-mode .ohb-search-bar,
.ohb.ohb-cardval-mode .ohb-gl-search {
	display: none !important;
}

/* Cardval typography closer to Guestline */
.ohb-cardval-layout {
	display: grid !important;
	grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
	gap: 3rem !important;
	align-items: start !important;
	max-width: 920px !important;
	margin: 0 auto !important;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
@media (max-width: 800px) {
	.ohb-cardval-layout {
		grid-template-columns: 1fr !important;
		gap: 1.75rem !important;
	}
}
.ohb-cardval-left {
	font-size: 14px !important;
	color: #1a1a1a !important;
}
.ohb-cardval-hotel-name {
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em !important;
	padding-bottom: 0.85rem !important;
	margin-bottom: 0.9rem !important;
	border-bottom: 1px solid #e5e7eb !important;
}
.ohb-cardval-dates {
	padding-bottom: 0.9rem !important;
	margin-bottom: 0.9rem !important;
	border-bottom: 1px solid #e5e7eb !important;
}
.ohb-cardval-dates .ohb-rail-lbl {
	font-size: 0.625rem !important;
	letter-spacing: 0.06em !important;
	color: #9ca3af !important;
}
.ohb-cardval-dates strong {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-cardval-room .ohb-rail-room {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
}
.ohb-cardval-room .ohb-rail-room-title {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
}
.ohb-cardval-room .ohb-rail-rate-name,
.ohb-cardval-room .ohb-rail-who {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
}
.ohb-cardval-total {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	margin-top: 0.75rem !important;
	padding-top: 0.9rem !important;
}
.ohb-cardval-paynow {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
}
.ohb-cardval-guarantee-note {
	font-size: 0.75rem !important;
	color: #6b7280 !important;
	margin-top: 1.1rem !important;
	line-height: 1.45 !important;
}
.ohb-cardval-right {
	max-width: 400px !important;
	margin: 0 auto !important;
}
.ohb-cardval-header {
	text-align: center !important;
	margin-bottom: 1.75rem !important;
}
.ohb-cardval-eyebrow {
	font-size: 0.6875rem !important;
	letter-spacing: 0.1em !important;
	color: #9ca3af !important;
	font-weight: 600 !important;
}
.ohb-cardval-header h3 {
	font-size: 1.5rem !important;
	font-weight: 500 !important;
	color: #4b5563 !important;
	margin: 0.25rem 0 0.4rem !important;
}
.ohb-cardval-secure {
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
}
.ohb-cardval-h {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.85rem !important;
	color: #111827 !important;
}
.ohb-cardval-label {
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin: 0 0 0.85rem !important;
}
.ohb-cardval-label input,
.ohb-cardval-label select {
	margin-top: 0.4rem !important;
	padding: 0.7rem 0.85rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	font-size: 0.9rem !important;
	background: #fff !important;
	box-shadow: none !important;
}
.ohb-cardval-row3 {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 0.75rem !important;
	margin-bottom: 0.25rem !important;
}
.ohb-cardval-row3 .ohb-cardval-label {
	margin-bottom: 0.85rem !important;
}
.ohb-card-field {
	min-height: 44px !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	padding: 0.7rem 0.85rem !important;
	margin-bottom: 0.85rem !important;
	background: #fff !important;
}
.ohb-cardval-billing {
	margin-top: 1.75rem !important;
	padding-top: 1.35rem !important;
	border-top: 1px solid #eef0f3 !important;
}
.ohb-cardval-nav .ohb-btn-pay {
	width: 100% !important;
	padding: 0.85rem 1.25rem !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
}
/* Hide nested card boxes / cancellation box chrome on left if cluttered */
.ohb.ohb-cardval-mode .ohb-policy-box {
	display: none !important;
}
.ohb.ohb-cardval-mode #ohb-summary {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

/* ===== Guestline availability parity (fonts, widths, toolbar, search) ===== */
.ohb {
	max-width: 1200px !important;
	margin: 0 auto !important;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	font-size: 14px !important;
	color: #1a1a1a !important;
	-webkit-font-smoothing: antialiased;
}
@media (min-width: 900px) {
	.ohb-shell {
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 1.5rem !important;
		align-items: start !important;
	}
	.ohb-rail {
		width: 300px !important;
	}
}

/* Search card */
.ohb-gl-card,
.ohb-panel[data-panel="1"] .ohb-gl-wrap,
.ohb .ohb-gl-wrap {
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
	padding: 1.25rem 1.35rem 1.35rem !important;
}
.ohb-gl-title {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	margin: 0 0 1rem !important;
	letter-spacing: -0.01em !important;
}
.ohb-gl-promo-link,
.ohb-promo-toggle {
	font-size: 0.875rem !important;
	color: #2563eb !important;
	font-weight: 500 !important;
}

/* Search bar row — Guestline proportions */
.ohb-gl-bar {
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	min-height: 52px !important;
	overflow: hidden !important;
}
.ohb-gl-dates,
.ohb-gl-guests {
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	min-height: 52px !important;
	padding: 0.65rem 1rem !important;
	color: #374151 !important;
}
.ohb-gl-dates .ohb-date-label.is-set,
.ohb-gl-guests #ohb-guests-label {
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-gl-bar .ohb-search-btn {
	min-height: 52px !important;
	min-width: 8.5rem !important;
	padding: 0 1.5rem !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
}

/* Results toolbar */
.ohb-results-toolbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
	margin: 1.25rem 0 1rem !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.ohb-results-hotel {
	display: flex !important;
	align-items: center !important;
	gap: 0.65rem !important;
}
.ohb-results-hotel strong {
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-more-details-btn,
.ohb-hotel-more,
.ohb-results-hotel .ohb-more-details-btn {
	display: inline-flex !important;
	align-items: center !important;
	padding: 0.4rem 0.85rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	background: #fff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.ohb-more-details-btn:hover {
	background: #f9fafb !important;
	border-color: #9ca3af !important;
}
.ohb-results-tools {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
}
.ohb-sort-pill {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	padding: 0.4rem 0.75rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	background: #fff !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
}
.ohb-sort-inline {
	border: 0 !important;
	background: transparent !important;
	font: inherit !important;
	color: inherit !important;
	padding: 0 !important;
	cursor: pointer !important;
	appearance: none !important;
}
.ohb-filters-btn,
button.ohb-filters-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	padding: 0.4rem 0.75rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	background: #fff !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	cursor: pointer !important;
}

/* Room card */
.ohb-room-card {
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	overflow: hidden !important;
	background: #fff !important;
	margin-bottom: 1rem !important;
}
.ohb-room-card.is-selected,
.ohb-room-card.has-qty {
	border-color: #e8a317 !important;
	box-shadow: 0 0 0 1px #e8a317 !important;
}
.ohb-room-card-title,
.ohb-room-name {
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-rate-row-name {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-rate-tick {
	font-size: 0.8125rem !important;
	color: #4b5563 !important;
	line-height: 1.4 !important;
}
.ohb-rate-row-price {
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-card-guarantee {
	font-size: 0.7rem !important;
	color: #6b7280 !important;
	font-weight: 500 !important;
}
.ohb-rate-row .ohb-btn,
.ohb-rate-select {
	min-width: 5.5rem !important;
	padding: 0.55rem 1rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
}

/* Rail parity */
.ohb-rail-card {
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
	padding: 1.15rem 1.2rem !important;
}
.ohb-rail-title {
	font-size: 1rem !important;
	font-weight: 600 !important;
}
.ohb-rail-continue {
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	min-height: 44px !important;
}

/* ===== Guestline landing: search + browse cards ===== */
.ohb-gl-bar {
	display: flex !important;
	align-items: stretch !important;
	gap: 0.6rem !important;
	border: 0 !important;
	background: transparent !important;
	overflow: visible !important;
	min-height: 52px !important;
}
.ohb-gl-dates {
	flex: 1.8 !important;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	border-right: 1px solid #d1d5db !important;
	min-height: 52px !important;
	background: #fff !important;
}
.ohb-gl-guests {
	flex: 0 0 auto !important;
	min-width: 8.5rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	border-right: 1px solid #d1d5db !important;
	min-height: 52px !important;
	background: #fff !important;
}
.ohb-gl-date-half {
	display: inline-flex;
	flex: 1;
	justify-content: center;
}
.ohb-field-arrow {
	flex-shrink: 0;
	padding: 0 0.35rem;
	color: #9ca3af !important;
}
.ohb-search-btn--icon,
.ohb-gl-bar .ohb-search-btn.ohb-search-btn--icon {
	flex: 0 0 52px !important;
	width: 52px !important;
	min-width: 52px !important;
	max-width: 52px !important;
	min-height: 52px !important;
	padding: 0 !important;
	border-radius: 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
}
.ohb-search-btn--icon svg {
	display: block;
}

/* Browse room cards — Guestline photo collage */
.ohb-room-browse {
	display: grid !important;
	grid-template-columns: minmax(280px, 1.15fr) minmax(0, 1fr) !important;
	gap: 0 !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	margin-bottom: 1.25rem !important;
	min-height: 220px !important;
}
@media (max-width: 720px) {
	.ohb-room-browse {
		grid-template-columns: 1fr !important;
	}
}
.ohb-browse-collage {
	position: relative;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 3px;
	background: #e5e7eb;
	min-height: 220px;
	height: 100%;
}
.ohb-browse-collage--single {
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}
.ohb-browse-collage-main {
	grid-row: 1 / -1;
	overflow: hidden;
}
.ohb-browse-collage-main img,
.ohb-browse-collage-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ohb-browse-collage-thumbs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 3px;
	min-height: 0;
}
.ohb-browse-collage-thumbs img {
	min-height: 0;
}
.ohb-gl-collage-grid {
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 8px;
	background: rgba(255,255,255,.92);
	color: #374151;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0,0,0,.12);
}
.ohb-browse-content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	padding: 1.25rem 1.35rem 1.15rem !important;
	gap: 1rem !important;
}
.ohb-browse-title {
	display: block;
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	margin: 0 0 0.35rem !important;
	line-height: 1.3 !important;
}
.ohb-max-guests {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
	font-weight: 500 !important;
}
.ohb-max-ico {
	flex-shrink: 0;
	color: #9ca3af;
}
.ohb-room-browse .ohb-room-desc {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: #4b5563 !important;
	margin: 0.5rem 0 0 !important;
	max-width: none !important;
}
.ohb-browse-cta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin-top: auto !important;
	padding-top: 0.5rem !important;
}
.ohb-browse-more {
	border: 1px solid #d1d5db !important;
	background: #fff !important;
	color: #374151 !important;
	border-radius: 6px !important;
	padding: 0.45rem 0.9rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
}
.ohb-browse-check {
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 0.5rem 1.1rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	margin-left: auto !important;
}

/* ===== Force Guestline page margins + unified search bar ===== */
.ohb {
	max-width: 1120px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}
@media (max-width: 640px) {
	.ohb {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
.ohb *,
.ohb *::before,
.ohb *::after {
	box-sizing: border-box;
}

/* Search card full width of content area */
.ohb-gl-card {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 1.25rem !important;
	padding: 1.35rem 1.5rem 1.5rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
}
.ohb-gl-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	margin-bottom: 1rem !important;
}
.ohb-gl-title {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	margin: 0 !important;
}

/* ONE unified search bar (Guestline) — not 3 floating boxes */
.ohb-gl-bar {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #fff !important;
	min-height: 52px !important;
}
.ohb-gl-dates {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	border: 0 !important;
	border-right: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	background: #fff !important;
	min-height: 52px !important;
	padding: 0 1rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
}
.ohb-gl-guests {
	flex: 0 0 auto !important;
	min-width: 7.5rem !important;
	border: 0 !important;
	border-right: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	background: #fff !important;
	min-height: 52px !important;
	padding: 0 1rem !important;
}
.ohb-gl-date-half {
	flex: 1 1 0 !important;
	justify-content: flex-start !important;
	min-width: 0 !important;
}
.ohb-gl-dates .ohb-date-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ohb-search-btn--icon,
.ohb-gl-bar .ohb-search-btn.ohb-search-btn--icon {
	flex: 0 0 56px !important;
	width: 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
	min-height: 52px !important;
	border-radius: 0 !important;
	margin: 0 !important;
}

/* Browse cards: full width, buttons always visible */
.ohb-browse-rooms,
#ohb-browse-section {
	width: 100% !important;
	max-width: 100% !important;
}
.ohb-room-browse {
	width: 100% !important;
	max-width: 100% !important;
	grid-template-columns: minmax(260px, 48%) minmax(0, 52%) !important;
	min-height: 240px !important;
}
.ohb-browse-content {
	min-height: 240px !important;
	padding: 1.25rem 1.5rem !important;
}
.ohb-browse-cta {
	flex-shrink: 0 !important;
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.ohb-browse-check,
.ohb-browse-more {
	display: inline-flex !important;
	visibility: visible !important;
}

/* Results + shell use same side padding (no double indent) */
.ohb-shell {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ohb-main {
	width: 100% !important;
	min-width: 0 !important;
}
@media (min-width: 900px) {
	.ohb-shell {
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 1.5rem !important;
	}
}

/* ===== FINAL browse + width fix (wins over earlier rules) ===== */
.ohb {
	max-width: min(1200px, 100%) !important;
	width: 100% !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ohb-browse-rooms,
#ohb-browse-section,
.ohb-browse-rooms .ohb-room-browse {
	width: 100% !important;
	max-width: 100% !important;
}
article.ohb-room-card.ohb-room-browse {
	display: grid !important;
	grid-template-columns: 1.05fr 1fr !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 260px !important;
	overflow: visible !important;
	margin-bottom: 1.25rem !important;
}
@media (max-width: 720px) {
	article.ohb-room-card.ohb-room-browse {
		grid-template-columns: 1fr !important;
	}
}
article.ohb-room-browse .ohb-browse-collage {
	min-height: 260px !important;
	height: 100% !important;
}
article.ohb-room-browse .ohb-browse-content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	padding: 1.35rem 1.5rem !important;
	min-height: 260px !important;
	height: 100% !important;
	overflow: visible !important;
}
article.ohb-room-browse .ohb-browse-text {
	flex: 1 1 auto !important;
}
article.ohb-room-browse .ohb-browse-cta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin-top: 1rem !important;
	padding-top: 0.25rem !important;
	flex-shrink: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
}
article.ohb-room-browse .ohb-browse-more,
article.ohb-room-browse .ohb-more-details-btn.ohb-browse-more {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	border: 1px solid #d1d5db !important;
	background: #fff !important;
	color: #374151 !important;
	padding: 0.5rem 1rem !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	cursor: pointer !important;
}
article.ohb-room-browse .ohb-browse-check {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	padding: 0.55rem 1.15rem !important;
	border-radius: 6px !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	margin-left: auto !important;
}
/* Kill theme max-width on common wrappers when plugin is inside */
.entry-content .ohb,
.site-content .ohb,
.wp-block-post-content .ohb {
	max-width: min(1200px, 100%) !important;
}


/* ===== CRITICAL: no empty right column until cart has rooms ===== */
.ohb-shell {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}
.ohb-shell .ohb-rail {
	display: none !important;
}
@media (min-width: 900px) {
	.ohb-shell.has-cart {
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 1.5rem !important;
	}
	.ohb-shell.has-cart .ohb-rail.is-forced,
	.ohb-shell.has-cart .ohb-rail {
		display: block !important;
	}
}
/* Card validation still single column */
.ohb.ohb-cardval-mode .ohb-shell,
.ohb.ohb-cardval-mode .ohb-shell.has-cart {
	grid-template-columns: minmax(0, 1fr) !important;
}
.ohb.ohb-cardval-mode .ohb-rail {
	display: none !important;
}

/* Browse card: force full width of main column + CTAs */
.ohb-main {
	width: 100% !important;
	max-width: 100% !important;
}
#ohb-browse-section,
.ohb-browse-rooms {
	width: 100% !important;
	display: block !important;
}
article.ohb-room-browse {
	display: grid !important;
	grid-template-columns: minmax(240px, 46%) minmax(0, 54%) !important;
	width: 100% !important;
	max-width: 100% !important;
}
article.ohb-room-browse .ohb-browse-cta {
	display: flex !important;
}
article.ohb-room-browse .ohb-browse-check,
article.ohb-room-browse .ohb-browse-more {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	z-index: 2 !important;
}

/* ===== Break Hello Elementor / theme content width lock ===== */
body.page main#content.site-main,
body.page main#content,
body.page .site-main,
body.page .page-content,
body.page-template-default .site-main,
body .content-area,
body .site-content {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* Plugin container centers itself with side gap */
.ohb {
	max-width: 1200px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}

/* Compact browse card so CTAs visible without scroll */
article.ohb-room-card.ohb-room-browse,
article.ohb-room-browse {
	min-height: 200px !important;
	grid-template-columns: minmax(220px, 42%) minmax(0, 58%) !important;
}
article.ohb-room-browse .ohb-browse-collage {
	min-height: 200px !important;
}
article.ohb-room-browse .ohb-browse-content {
	min-height: 200px !important;
	padding: 1.1rem 1.25rem !important;
}
article.ohb-room-browse .ohb-room-desc {
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	max-height: 4.5em !important;
}
article.ohb-room-browse .ohb-browse-cta {
	margin-top: 0.75rem !important;
}

/* ===== Collage: feature large + thumbs fill, NO empty gray cells ===== */
.ohb-browse-collage {
	display: grid !important;
	gap: 3px !important;
	background: #fff !important; /* was gray — empty cells looked like holes */
	min-height: 220px !important;
	height: 100% !important;
	position: relative !important;
	overflow: hidden !important;
}
/* 1 image: full area */
.ohb-browse-collage--1 {
	grid-template-columns: 1fr !important;
	grid-template-rows: 1fr !important;
}
.ohb-browse-collage--1 .ohb-browse-collage-main {
	grid-column: 1 !important;
	grid-row: 1 !important;
}
/* 2 images: feature | one tall thumb */
.ohb-browse-collage--2,
.ohb-browse-collage--thumbs-1 {
	grid-template-columns: 1.35fr 1fr !important;
	grid-template-rows: 1fr !important;
}
.ohb-browse-collage--thumbs-1 .ohb-browse-collage-main {
	grid-column: 1 !important;
	grid-row: 1 !important;
}
.ohb-browse-collage--thumbs-1 .ohb-browse-collage-thumbs {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: 1fr !important;
	gap: 0 !important;
	min-height: 0 !important;
}
/* 3 images: feature | two stacked */
.ohb-browse-collage--3,
.ohb-browse-collage--thumbs-2 {
	grid-template-columns: 1.35fr 1fr !important;
	grid-template-rows: 1fr 1fr !important;
}
.ohb-browse-collage--thumbs-2 .ohb-browse-collage-main {
	grid-column: 1 !important;
	grid-row: 1 / -1 !important;
}
.ohb-browse-collage--thumbs-2 .ohb-browse-collage-thumbs {
	grid-column: 2 !important;
	grid-row: 1 / -1 !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: 1fr 1fr !important;
	gap: 3px !important;
	min-height: 0 !important;
}
/* 4 images: feature | 1 top + 2 bottom OR 3 stacked — use 1 + 2 grid */
.ohb-browse-collage--4,
.ohb-browse-collage--thumbs-3 {
	grid-template-columns: 1.35fr 1fr !important;
	grid-template-rows: 1fr 1fr !important;
}
.ohb-browse-collage--thumbs-3 .ohb-browse-collage-main {
	grid-column: 1 !important;
	grid-row: 1 / -1 !important;
}
.ohb-browse-collage--thumbs-3 .ohb-browse-collage-thumbs {
	grid-column: 2 !important;
	grid-row: 1 / -1 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	grid-template-rows: 1fr 1fr !important;
	gap: 3px !important;
	min-height: 0 !important;
}
/* 3 thumbs: first spans full width of right column top */
.ohb-browse-collage--thumbs-3 .ohb-browse-thumb:nth-child(1) {
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
}
.ohb-browse-collage--thumbs-3 .ohb-browse-thumb:nth-child(2) {
	grid-column: 1 !important;
	grid-row: 2 !important;
}
.ohb-browse-collage--thumbs-3 .ohb-browse-thumb:nth-child(3) {
	grid-column: 2 !important;
	grid-row: 2 !important;
}
/* 5 images: feature | 2×2 thumbs */
.ohb-browse-collage--5,
.ohb-browse-collage--thumbs-4 {
	grid-template-columns: 1.35fr 1fr !important;
	grid-template-rows: 1fr 1fr !important;
}
.ohb-browse-collage--thumbs-4 .ohb-browse-collage-main {
	grid-column: 1 !important;
	grid-row: 1 / -1 !important;
}
.ohb-browse-collage--thumbs-4 .ohb-browse-collage-thumbs {
	grid-column: 2 !important;
	grid-row: 1 / -1 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	grid-template-rows: 1fr 1fr !important;
	gap: 3px !important;
	min-height: 0 !important;
}
.ohb-browse-collage-main,
.ohb-browse-thumb {
	overflow: hidden !important;
	min-height: 0 !important;
	background: #f3f4f6 !important;
}
.ohb-browse-collage-main img,
.ohb-browse-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.ohb-browse-collage-main {
	height: 100% !important;
}
.ohb-gl-collage-grid {
	position: absolute !important;
	right: 10px !important;
	bottom: 10px !important;
	z-index: 3 !important;
}

/* ===== Guestline browse card polish (fonts + CTA bottom) ===== */
article.ohb-room-card.ohb-room-browse,
article.ohb-room-browse {
	display: grid !important;
	grid-template-columns: minmax(260px, 46%) minmax(0, 54%) !important;
	align-items: stretch !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	min-height: 240px !important;
	box-shadow: none !important;
}
article.ohb-room-browse .ohb-browse-collage {
	min-height: 240px !important;
	height: 100% !important;
	align-self: stretch !important;
}
article.ohb-room-browse .ohb-browse-content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	padding: 1.35rem 1.5rem 1.15rem !important;
	min-height: 240px !important;
	height: 100% !important;
	box-sizing: border-box !important;
}
article.ohb-room-browse .ohb-browse-text {
	flex: 1 1 auto !important;
}
article.ohb-room-browse .ohb-browse-title {
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: #1a1a1a !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 0.4rem !important;
}
article.ohb-room-browse .ohb-max-guests {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	gap: 0.3rem !important;
}
article.ohb-room-browse .ohb-room-desc {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: #4b5563 !important;
	font-weight: 400 !important;
	margin: 0.55rem 0 0 !important;
	-webkit-line-clamp: 4 !important;
	max-height: none !important;
}
article.ohb-room-browse .ohb-browse-cta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin-top: auto !important; /* pin to bottom */
	padding-top: 1.25rem !important;
	flex-shrink: 0 !important;
}
article.ohb-room-browse .ohb-browse-more,
article.ohb-room-browse .ohb-more-details-btn.ohb-browse-more {
	padding: 0.45rem 0.95rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	background: #fff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
}
article.ohb-room-browse .ohb-browse-check {
	padding: 0.5rem 1.15rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	margin-left: auto !important;
}
/* Grid icon only on photos */
.ohb-gl-collage-grid {
	width: 34px !important;
	height: 34px !important;
	border-radius: 8px !important;
	background: rgba(255,255,255,.95) !important;
	box-shadow: 0 1px 4px rgba(0,0,0,.14) !important;
}

/* ===== Header logo ===== */
.ohb-topbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.85rem 0 1rem !important;
	margin-bottom: 0.75rem !important;
	border-bottom: 1px solid #eef0f3 !important;
}
.ohb-topbar-logo {
	display: block !important;
	max-height: 48px !important;
	width: auto !important;
	object-fit: contain !important;
}
.ohb-topbar-name {
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}

/* ===== Search bar: unified (Guestline) — final overrides at end of file ===== */
.ohb-gl-bar {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	border: 1px solid #d1d5db !important;
	background: #fff !important;
	overflow: hidden !important;
	min-height: 48px !important;
	border-radius: 6px !important;
}
.ohb-gl-dates {
	flex: 1 1 auto !important;
	border: 0 !important;
	border-right: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	background: #fff !important;
	min-height: 48px !important;
	padding: 0 0.9rem !important;
}
.ohb-gl-guests {
	flex: 0 0 auto !important;
	min-width: 7.25rem !important;
	border: 0 !important;
	border-right: 1px solid #e5e7eb !important;
	border-radius: 0 !important;
	background: #fff !important;
	min-height: 48px !important;
	padding: 0 0.9rem !important;
}
.ohb-gl-bar .ohb-search-btn,
.ohb-gl-bar .ohb-search-btn--icon {
	flex: 0 0 48px !important;
	width: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	border-radius: 0 !important;
	background: #c9a227 !important;
	color: #1a1a1a !important;
	border: 0 !important;
}

/* ===== Guestline dark footer ===== */
.ohb-gl-footer {
	position: relative !important;
	margin-top: 3rem !important;
	padding: 1.75rem 1.25rem 2rem !important;
	background: #2a2a2a !important;
	color: #d1d5db !important;
	text-align: center !important;
	font-size: 0.875rem !important;
	border-radius: 0 !important;
}
.ohb-gl-footer-nav {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.65rem !important;
	margin-bottom: 0.65rem !important;
}
.ohb-gl-footer-nav a {
	color: #e5e7eb !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}
.ohb-gl-footer-nav a:hover {
	text-decoration: underline !important;
}
.ohb-gl-footer-sep {
	color: #9ca3af !important;
	margin: 0 0.15rem !important;
}
.ohb-gl-footer-address {
	margin: 0 !important;
	color: #9ca3af !important;
	font-size: 0.8125rem !important;
	line-height: 1.5 !important;
}
.ohb-gl-footer-address a {
	color: #9ca3af !important;
	text-decoration: underline !important;
}
.ohb-gl-top {
	position: absolute !important;
	right: 1rem !important;
	top: -1.1rem !important;
	background: #c9a227 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px 6px 0 0 !important;
	padding: 0.45rem 0.85rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	box-shadow: 0 -1px 4px rgba(0,0,0,.12) !important;
}
.ohb-gl-top:hover {
	filter: brightness(0.95);
}


/* ===== Full-bleed header + footer; content only 1200px ===== */
.ohb {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}
/* Constrain main booking content only */
.ohb-topbar,
.ohb-gl-card,
.ohb-shell,
.ohb-browse-rooms,
#ohb-browse-section,
.ohb-trip-bar,
.ohb-currency-modal .ohb-currency-dialog,
.ohb-panel[data-panel="1"] > *:not(.ohb-gl-footer),
.ohb-panel:not([data-panel="1"]) {
	/* panels handled below */
}
.ohb-content-width,
.ohb-topbar,
.ohb-gl-card,
.ohb-shell,
.ohb-browse-rooms,
#ohb-browse-section,
.ohb-trip-bar {
	max-width: 1200px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}
/* Topbar sits in constrained row but border full via wrapper */
.ohb-topbar {
	border-bottom: 0 !important;
}
.ohb-topbar-wrap {
	width: 100% !important;
	border-bottom: 1px solid #eef0f3 !important;
}
/* Footer FULL width edge-to-edge */
.ohb-gl-footer {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 3rem !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
}
/* Panels: allow full width children (footer) */
.ohb-panel {
	max-width: none !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.ohb-panel > .ohb-gl-card,
.ohb-panel > .ohb-shell,
.ohb-panel > .ohb-browse-rooms,
.ohb-panel > #ohb-browse-section,
.ohb-panel > .ohb-results-toolbar {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}
/* Results toolbar if present */
.ohb-results-toolbar {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}
@media (max-width: 640px) {
	.ohb-topbar,
	.ohb-gl-card,
	.ohb-shell,
	.ohb-browse-rooms,
	#ohb-browse-section,
	.ohb-panel > .ohb-gl-card,
	.ohb-panel > .ohb-shell,
	.ohb-panel > .ohb-browse-rooms,
	.ohb-gl-footer {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}


/* ===== Footer: no gap below + working Top tab ===== */
.ohb {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.ohb-gl-footer {
	margin-bottom: 0 !important;
	margin-top: 2.5rem !important;
	padding: 1.75rem 24px 2rem !important;
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
}
/* Kill theme gap under plugin footer */
.page-content:has(.ohb),
.entry-content:has(.ohb),
main#content:has(.ohb) {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.ohb-gl-top {
	position: fixed !important;
	right: 16px !important;
	bottom: 16px !important;
	top: auto !important;
	z-index: 99990 !important;
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
	min-width: 44px !important;
	padding: 0.4rem 0.55rem 0.35rem !important;
	background: #c9a227 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
	pointer-events: auto !important;
}
.ohb-gl-top-ico {
	font-size: 0.95rem !important;
	line-height: 1 !important;
	display: block !important;
}
.ohb-gl-top:hover {
	filter: brightness(0.95);
}

/* ===== Guestline sticky Your Booking rail ===== */
.ohb-rail-card {
	position: sticky !important;
	top: 1rem !important;
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	padding: 1.15rem 1.2rem 1.25rem !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
}
.ohb-rail-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 0.85rem !important;
	padding-bottom: 0.65rem !important;
	border-bottom: 1px solid #eef0f3 !important;
}
.ohb-rail-title {
	margin: 0 !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.ohb-rail-share {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	border: 0 !important;
	background: transparent !important;
	color: #6b7280 !important;
	cursor: pointer !important;
	border-radius: 6px !important;
	padding: 0 !important;
}
.ohb-rail-share:hover { background: #f3f4f6 !important; color: #111827 !important; }
.ohb-rail-share.is-copied { color: #059669 !important; }
.ohb-rail-hotel {
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	margin-bottom: 0.75rem !important;
}
.ohb-rail-when-labels {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	margin-bottom: 1rem !important;
	padding-bottom: 0.9rem !important;
	border-bottom: 1px solid #eef0f3 !important;
}
.ohb-rail-lbl {
	display: block !important;
	font-size: 0.625rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	color: #9ca3af !important;
	margin-bottom: 0.25rem !important;
}
.ohb-rail-daynum {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	line-height: 1.1 !important;
}
.ohb-rail-dayrest {
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-rail-weekday {
	display: block !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.15rem !important;
}
.ohb-rail-arrow {
	color: #9ca3af !important;
	padding-top: 1.25rem !important;
	font-size: 0.9rem !important;
}
.ohb-rail-room-block {
	padding: 0.65rem 0 !important;
	border-bottom: 1px solid #eef0f3 !important;
	margin-bottom: 0.35rem !important;
}
.ohb-rail-room {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	margin-bottom: 0.25rem !important;
}
.ohb-rail-guests-icon {
	display: inline-block !important;
	vertical-align: -3px !important;
	margin-left: 0.2rem !important;
	color: #6b7280 !important;
}
.ohb-rail-room-price {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}
.ohb-rail-remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 0 !important;
	background: transparent !important;
	color: #9ca3af !important;
	cursor: pointer !important;
	padding: 0.2rem !important;
	border-radius: 4px !important;
}
.ohb-rail-remove:hover { color: #dc2626 !important; background: #fef2f2 !important; }
.ohb-rail-room-title {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	margin: 0.15rem 0 !important;
}
.ohb-rail-rate-name {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
}
.ohb-rail-who {
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
	margin-top: 0.15rem !important;
}
.ohb-breakdown-toggle {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	margin: 0.5rem 0 0.25rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #111827 !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	text-decoration: underline !important;
	cursor: pointer !important;
}
.ohb-breakdown-toggle svg { transition: transform .15s; }
.ohb-breakdown-toggle.is-open svg { transform: rotate(180deg); }
.ohb-breakdown-rows { display: none !important; padding: 0.35rem 0 0.25rem !important; }
.ohb-breakdown-rows.is-open { display: block !important; }
.ohb-breakdown-row {
	display: flex !important;
	justify-content: space-between !important;
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
	padding: 0.2rem 0 !important;
}
.ohb-breakdown-row span:last-child {
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-rail-total {
	margin-top: 0.85rem !important;
	padding-top: 0.85rem !important;
	border-top: 1px solid #e5e7eb !important;
}
.ohb-rail-total-main {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
}
.ohb-rail-total-label {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-rail-total-amt {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-rail-paynow {
	text-align: right !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.2rem !important;
}
.ohb-rail-continue {
	width: 100% !important;
	margin-top: 0.9rem !important;
	min-height: 44px !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
}
.ohb-rail-close { display: none !important; }
@media (max-width: 899px) {
	.ohb-rail-close { display: block !important; }
}

/* ===== Guestline Available Prices (More Details modal) ===== */
.ohb-detail-overlay {
	/* inline styles also set — keep backup */
}
.ohb-detail-modal {
	max-width: 1000px !important;
}
.ohb-detail-inner {
	padding: 1.25rem 1.5rem 1.75rem !important;
}
.ohb-detail-back {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	margin-bottom: 1rem !important;
	padding: 0.4rem 0.75rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	background: #fff !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	cursor: pointer !important;
}
.ohb-detail-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.95fr) !important;
	gap: 1.75rem !important;
	align-items: start !important;
}
@media (max-width: 800px) {
	.ohb-detail-layout { grid-template-columns: 1fr !important; }
}
.ohb-detail-title {
	font-size: 1.35rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.85rem !important;
	color: #111827 !important;
}
.ohb-detail-prices h4 {
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.85rem !important;
	color: #111827 !important;
}
.ohb-detail-price-card {
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	padding: 1rem 1.15rem 1.1rem !important;
	margin-bottom: 0.75rem !important;
	background: #fff !important;
}
.ohb-detail-price-name {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	margin-bottom: 0.35rem !important;
}
.ohb-detail-cancel-link {
	display: inline !important;
	padding: 0 !important;
	margin: 0 0 0.45rem !important;
	border: 0 !important;
	background: none !important;
	color: #2563eb !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	text-decoration: underline !important;
	cursor: pointer !important;
}
.ohb-detail-price-desc {
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
	color: #4b5563 !important;
	margin: 0 0 0.85rem !important;
}
.ohb-detail-price-row {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
}
.ohb-detail-price-left {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
}
.ohb-detail-price-amt {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-detail-price-card .ohb-card-guarantee {
	font-size: 0.75rem !important;
	color: #6b7280 !important;
	font-weight: 500 !important;
}
.ohb-detail-select {
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 0.55rem 1.15rem !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
}
.ohb-detail-prices-empty {
	font-size: 0.875rem !important;
	color: #6b7280 !important;
}
.ohb-detail-hr {
	border: 0 !important;
	border-top: 1px solid #eef0f3 !important;
	margin: 1rem 0 !important;
}
.ohb-modal-meta {
	display: flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	margin: 0.75rem 0 0.5rem !important;
}
.ohb-modal-desc {
	font-size: 0.9rem !important;
	line-height: 1.55 !important;
	color: #4b5563 !important;
	margin: 0 !important;
}

/* ===== Room page + modal spacing (min 18px) ===== */
.ohb-room-page-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding: 18px 24px 40px !important;
}
.ohb-room-page-layout.ohb-detail-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.95fr) !important;
	gap: 24px !important;
	align-items: start !important;
}
@media (max-width: 800px) {
	.ohb-room-page-layout.ohb-detail-layout {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}
}
.ohb-detail-layout {
	gap: 24px !important;
}
.ohb-detail-price-card {
	padding: 18px !important;
	margin-bottom: 18px !important;
}
.ohb-detail-inner {
	padding: 18px 24px 28px !important;
}
.ohb-detail-back {
	margin-bottom: 18px !important;
}
.ohb-detail-cancel-link {
	display: inline-block !important;
	color: #2563eb !important;
	font-size: 0.8125rem !important;
	text-decoration: underline !important;
	margin-bottom: 8px !important;
	cursor: default !important;
}
.ohb-detail-price-cancel {
	display: none !important; /* use Cancellation Policy link only */
}
.ohb-room-page .ohb-gl-collage {
	min-height: 280px !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	margin-bottom: 18px !important;
}
.ohb-room-page .ohb-detail-title {
	margin-bottom: 18px !important;
}

/* ===== Guestline currency modal (larger fonts + buttons) ===== */
.ohb-currency-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483600 !important;
	background: rgba(15, 18, 25, 0.48) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1.5rem !important;
	box-sizing: border-box !important;
	-webkit-font-smoothing: antialiased !important;
}
.ohb-currency-modal[hidden] {
	display: none !important;
}
.ohb-currency-dialog {
	background: #ffffff !important;
	border-radius: 10px !important;
	width: 100% !important;
	max-width: 780px !important;
	max-height: min(92vh, 640px) !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25), 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	padding: 0 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
.ohb-currency-dialog-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 1.35rem 1.6rem 0.85rem !important;
	border-bottom: none !important;
	flex-shrink: 0 !important;
}
.ohb-currency-dialog-head strong {
	font-size: 1.4rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	letter-spacing: -0.02em !important;
	line-height: 1.25 !important;
}
.ohb-currency-close {
	border: 0 !important;
	background: transparent !important;
	font-size: 1.65rem !important;
	line-height: 1 !important;
	color: #6b7280 !important;
	cursor: pointer !important;
	padding: 0.2rem !important;
	width: 40px !important;
	height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	transition: background 0.15s ease, color 0.15s ease !important;
}
.ohb-currency-close:hover {
	background: #f3f4f6 !important;
	color: #111827 !important;
}
.ohb-currency-note {
	margin: 0 !important;
	padding: 0 1.6rem 1.1rem !important;
	font-size: 0.975rem !important;
	line-height: 1.55 !important;
	color: #4b5563 !important;
	flex-shrink: 0 !important;
}
.ohb-currency-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(210px, 1fr)) !important;
	gap: 0.35rem 0.55rem !important;
	padding: 0.35rem 1.25rem 1.35rem !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	flex: 1 1 auto !important;
	align-content: start !important;
	scrollbar-width: thin !important;
	scrollbar-color: #c5c9d0 transparent !important;
}
.ohb-currency-grid::-webkit-scrollbar {
	width: 6px !important;
}
.ohb-currency-grid::-webkit-scrollbar-thumb {
	background: #c5c9d0 !important;
	border-radius: 3px !important;
}
.ohb-currency-grid::-webkit-scrollbar-track {
	background: transparent !important;
}
@media (max-width: 780px) {
	.ohb-currency-dialog {
		max-width: 100% !important;
		max-height: 92vh !important;
	}
	.ohb-currency-grid {
		grid-template-columns: repeat(2, minmax(150px, 1fr)) !important;
		gap: 0.25rem 0.4rem !important;
		padding: 0.25rem 0.9rem 1.1rem !important;
	}
}
@media (max-width: 480px) {
	.ohb-currency-modal {
		padding: 0 !important;
		align-items: flex-end !important;
	}
	.ohb-currency-dialog {
		border-radius: 14px 14px 0 0 !important;
		margin-top: auto !important;
	}
	.ohb-currency-grid {
		grid-template-columns: 1fr 1fr !important;
	}
	.ohb-currency-dialog-head strong {
		font-size: 1.25rem !important;
	}
	.ohb-currency-note {
		font-size: 0.9rem !important;
	}
}
/* Force override theme button resets on currency options — larger hit targets */
.ohb-currency-modal .ohb-currency-option,
.ohb .ohb-currency-option,
button.ohb-currency-option {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 0.25rem !important;
	text-align: left !important;
	padding: 1rem 1.15rem !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	cursor: pointer !important;
	min-height: 72px !important;
	height: auto !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow: visible !important;
	white-space: normal !important;
	text-overflow: unset !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	transition: background 0.12s ease !important;
}
.ohb-currency-modal .ohb-currency-option:hover,
.ohb .ohb-currency-option:hover,
button.ohb-currency-option:hover {
	background: #f3f4f6 !important;
}
.ohb-currency-modal .ohb-currency-option.is-active,
.ohb .ohb-currency-option.is-active,
button.ohb-currency-option.is-active {
	background: #e8eaed !important;
}
.ohb-currency-modal .ohb-currency-option:focus-visible {
	outline: 2px solid #2563eb !important;
	outline-offset: 1px !important;
}
.ohb-currency-modal .ohb-currency-name,
.ohb .ohb-currency-name,
button.ohb-currency-option .ohb-currency-name {
	display: block !important;
	font-size: 1.0625rem !important;
	font-weight: 550 !important;
	font-weight: 500 !important;
	color: #111827 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.01em !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: unset !important;
	word-break: break-word !important;
	max-width: 100% !important;
}
.ohb-currency-modal .ohb-currency-code,
.ohb-currency-modal .ohb-currency-option small,
.ohb .ohb-currency-code,
.ohb .ohb-currency-option small,
button.ohb-currency-option small {
	display: block !important;
	font-size: 0.9375rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin: 0 !important;
	line-height: 1.35 !important;
	white-space: normal !important;
}
.ohb-currency-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	background: #fff !important;
	padding: 0.55rem 0.9rem !important;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	color: #111827 !important;
	cursor: pointer !important;
	line-height: 1.25 !important;
	transition: border-color 0.15s ease, background 0.15s ease !important;
}
.ohb-currency-btn:hover {
	border-color: #9ca3af !important;
	background: #f9fafb !important;
}

/* ===== Your Booking rail — Guestline match (fonts / icons / weights) ===== */
.ohb-rail-card {
	padding: 1.25rem 1.35rem 1.4rem !important;
	font-size: 15px !important;
}
.ohb-rail-head {
	margin-bottom: 1rem !important;
	padding-bottom: 0.75rem !important;
}
.ohb-rail-title {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	letter-spacing: -0.02em !important;
}
.ohb-rail-share {
	width: 36px !important;
	height: 36px !important;
	color: #6b7280 !important;
}
.ohb-rail-hotel {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin-bottom: 0.9rem !important;
	letter-spacing: -0.01em !important;
}
.ohb-rail-lbl {
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.07em !important;
	color: #9ca3af !important;
	margin-bottom: 0.3rem !important;
}
.ohb-rail-daynum {
	font-size: 1.75rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.03em !important;
}
.ohb-rail-dayrest {
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-rail-weekday {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.2rem !important;
}
.ohb-rail-arrow {
	padding-top: 1.4rem !important;
	font-size: 1rem !important;
	color: #9ca3af !important;
}
.ohb-rail-room {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	margin-bottom: 0.3rem !important;
}
.ohb-rail-room-price {
	font-size: 1rem !important;
	font-weight: 600 !important;
	gap: 0.45rem !important;
}
.ohb-rail-remove {
	width: 32px !important;
	height: 32px !important;
	padding: 0.25rem !important;
	color: #9ca3af !important;
	border-radius: 6px !important;
}
.ohb-rail-remove svg {
	width: 18px !important;
	height: 18px !important;
	display: block !important;
}
.ohb-rail-remove:hover {
	color: #dc2626 !important;
	background: #fef2f2 !important;
}
.ohb-rail-guests-icon {
	width: 18px !important;
	height: 18px !important;
	vertical-align: -4px !important;
	color: #6b7280 !important;
}
.ohb-rail-room-title {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	line-height: 1.35 !important;
	margin: 0.2rem 0 0.15rem !important;
}
.ohb-rail-rate-name {
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	line-height: 1.35 !important;
}
.ohb-rail-who {
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.2rem !important;
}
.ohb-rail-room-block {
	padding: 0.75rem 0 !important;
	margin-bottom: 0.25rem !important;
}
.ohb-breakdown-toggle {
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #111827 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	margin: 0.65rem 0 0.35rem !important;
}
.ohb-breakdown-row {
	font-size: 0.875rem !important;
	padding: 0.25rem 0 !important;
}
.ohb-rail-total {
	margin-top: 1rem !important;
	padding-top: 1rem !important;
}
.ohb-rail-total-label {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	letter-spacing: -0.02em !important;
}
.ohb-rail-total-amt {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	letter-spacing: -0.02em !important;
}
.ohb-rail-paynow {
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	margin-top: 0.25rem !important;
}
.ohb-rail-continue {
	min-height: 48px !important;
	margin-top: 1rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
}


/* ===== FINAL: Your Booking rail exact Guestline layout ===== */
.ohb-rail-card {
	padding: 1.2rem 1.25rem 1.35rem !important;
}
.ohb-rail-title {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-rail-hotel {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin-bottom: 1rem !important;
}
.ohb-rail-when-labels {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	margin-bottom: 1rem !important;
	padding-bottom: 1rem !important;
	border-bottom: 1px solid #e8eaed !important;
}
.ohb-rail-checkin,
.ohb-rail-checkout {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}
.ohb-rail-lbl {
	display: block !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	color: #9ca3af !important;
	margin-bottom: 0.35rem !important;
}
.ohb-rail-daynum {
	display: inline !important;
	font-size: 1.85rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	line-height: 1 !important;
	letter-spacing: -0.03em !important;
	margin-right: 0.2rem !important;
}
.ohb-rail-dayrest {
	display: inline !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-rail-weekday {
	display: block !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.2rem !important;
}
.ohb-rail-arrow {
	flex: 0 0 auto !important;
	align-self: center !important;
	padding-top: 0.9rem !important;
	color: #9ca3af !important;
	font-size: 1rem !important;
}
.ohb-rail-room-block {
	padding: 0.85rem 0 !important;
	border-bottom: 1px solid #e8eaed !important;
	margin: 0 !important;
}
.ohb-rail-room {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
	margin-bottom: 0.35rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
}
.ohb-rail-room-price {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	white-space: nowrap !important;
}
.ohb-rail-room-title-row {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
}
.ohb-rail-room-title {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	flex: 1 1 auto !important;
}
.ohb-rail-remove {
	flex: 0 0 auto !important;
	width: 36px !important;
	height: 36px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 0 !important;
	background: transparent !important;
	color: #9ca3af !important;
	cursor: pointer !important;
	padding: 0 !important;
	border-radius: 6px !important;
	margin-top: -0.15rem !important;
}
.ohb-rail-remove svg {
	width: 20px !important;
	height: 20px !important;
}
.ohb-rail-remove:hover {
	color: #dc2626 !important;
	background: #fef2f2 !important;
}
.ohb-rail-rate-name,
.ohb-rail-who {
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	line-height: 1.4 !important;
	margin-top: 0.15rem !important;
}
.ohb-rail-guests-icon {
	width: 18px !important;
	height: 18px !important;
	vertical-align: -3px !important;
	color: #374151 !important;
	margin-left: 0.25rem !important;
}
.ohb-breakdown-toggle {
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #111827 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	margin: 0.75rem 0 0.35rem !important;
}
/* CRITICAL: Total stacked like Guestline — not side-by-side with Pay Now */
.ohb-rail-total,
#ohb-rail-total-row.ohb-rail-total {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 0.2rem !important;
	margin-top: 1rem !important;
	padding-top: 1rem !important;
	border-top: 1px solid #e5e7eb !important;
}
.ohb-rail-total-main {
	display: flex !important;
	flex-direction: row !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	width: 100% !important;
	gap: 0.75rem !important;
}
.ohb-rail-total-label {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	letter-spacing: -0.02em !important;
}
.ohb-rail-total-amt,
#ohb-rail-total {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	letter-spacing: -0.02em !important;
	font-family: inherit !important;
	line-height: 1.25 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 0.15rem !important;
}
.ohb-rail-total-hotel,
#ohb-rail-total .ohb-rail-total-hotel {
	display: block !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
}
.ohb-rail-paynow,
#ohb-rail-total-note {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	width: 100% !important;
	text-align: right !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.2rem !important;
	gap: 0.1rem !important;
}
.ohb-rail-paynow-hotel,
#ohb-rail-total-note .ohb-rail-paynow-hotel {
	display: block !important;
	font-size: 0.72rem !important;
	color: #9ca3af !important;
}
.ohb-rail-continue {
	width: 100% !important;
	min-height: 48px !important;
	margin-top: 1rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
	border: 0 !important;
}


/* ===== ULTRA: force Guestline rail over theme ===== */
aside.ohb-rail .ohb-rail-card,
.ohb .ohb-rail-card {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	padding: 1.35rem 1.4rem 1.5rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	box-shadow: 0 1px 2px rgba(0,0,0,.04) !important;
}
aside.ohb-rail .ohb-rail-title,
.ohb .ohb-rail-title {
	font-size: 1.375rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #0f172a !important;
	letter-spacing: -0.025em !important;
}
aside.ohb-rail .ohb-rail-hotel,
.ohb .ohb-rail-hotel {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 1.05rem !important;
}
aside.ohb-rail .ohb-rail-lbl,
.ohb .ohb-rail-lbl {
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.09em !important;
	color: #94a3b8 !important;
}
aside.ohb-rail .ohb-rail-daynum,
.ohb .ohb-rail-daynum {
	font-size: 2rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	letter-spacing: -0.04em !important;
}
aside.ohb-rail .ohb-rail-dayrest,
.ohb .ohb-rail-dayrest {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
}
aside.ohb-rail .ohb-rail-weekday,
.ohb .ohb-rail-weekday {
	font-size: 0.875rem !important;
	color: #64748b !important;
}
aside.ohb-rail .ohb-rail-room,
.ohb .ohb-rail-room {
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
}
aside.ohb-rail .ohb-rail-room-price,
.ohb .ohb-rail-room-price {
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
}
aside.ohb-rail .ohb-rail-room-title,
.ohb .ohb-rail-room-title {
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	line-height: 1.35 !important;
}
aside.ohb-rail .ohb-rail-rate-name,
aside.ohb-rail .ohb-rail-who,
.ohb .ohb-rail-rate-name,
.ohb .ohb-rail-who {
	font-size: 0.9rem !important;
	color: #64748b !important;
}
aside.ohb-rail .ohb-rail-guests-icon,
.ohb .ohb-rail-guests-icon {
	display: inline-flex !important;
	align-items: center !important;
	color: #334155 !important;
	margin-left: 0.3rem !important;
	vertical-align: -2px !important;
}
aside.ohb-rail .ohb-rail-remove,
.ohb .ohb-rail-remove {
	width: 40px !important;
	height: 40px !important;
	color: #94a3b8 !important;
}
aside.ohb-rail .ohb-rail-remove svg,
.ohb .ohb-rail-remove svg {
	width: 22px !important;
	height: 22px !important;
}
aside.ohb-rail .ohb-breakdown-toggle,
.ohb .ohb-breakdown-toggle {
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	color: #0f172a !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}
aside.ohb-rail .ohb-rail-total-label,
aside.ohb-rail .ohb-rail-total-amt,
aside.ohb-rail #ohb-rail-total,
.ohb .ohb-rail-total-label,
.ohb .ohb-rail-total-amt,
.ohb #ohb-rail-total {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	letter-spacing: -0.03em !important;
}
aside.ohb-rail .ohb-rail-paynow,
aside.ohb-rail #ohb-rail-total-note,
.ohb .ohb-rail-paynow,
.ohb #ohb-rail-total-note {
	font-size: 0.9rem !important;
	color: #64748b !important;
	text-align: right !important;
}
aside.ohb-rail .ohb-rail-continue,
.ohb .ohb-rail-continue,
button.ohb-rail-continue {
	min-height: 52px !important;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	background: #e8a317 !important;
	color: #1a1a1a !important;
}
aside.ohb-rail #ohb-rail-total-row,
.ohb #ohb-rail-total-row {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}


/* ===== STICKY Your Booking rail (Guestline: follows scroll) ===== */
.ohb,
.ohb-shell,
.ohb-main,
.ohb .ohb-shell {
	overflow: visible !important;
}
@media (min-width: 900px) {
	.ohb-shell {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 340px !important;
		gap: 1.75rem !important;
		align-items: start !important;
	}
	/* Sticky the aside itself so it tracks viewport while scrolling rooms */
	aside.ohb-rail,
	.ohb-rail,
	#ohb-rail {
		display: block !important;
		position: sticky !important;
		top: 1.25rem !important;
		align-self: start !important;
		z-index: 30 !important;
		width: 340px !important;
		max-width: 340px !important;
		max-height: calc(100vh - 2rem) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}
	.admin-bar aside.ohb-rail,
	.admin-bar .ohb-rail,
	.admin-bar #ohb-rail {
		top: 3.25rem !important;
		max-height: calc(100vh - 4rem) !important;
	}
	aside.ohb-rail .ohb-rail-card,
	.ohb-rail-card {
		position: relative !important;
		top: auto !important;
		max-height: none !important;
	}
	/* Always reserve column even before cart */
	.ohb-shell .ohb-rail {
		visibility: visible !important;
		opacity: 1 !important;
	}
}
@media (max-width: 899px) {
	aside.ohb-rail,
	.ohb-rail {
		position: fixed !important;
		/* mobile sheet handled elsewhere */
	}
}


/* ===== FINAL layout: rail only with cart, sticky only then, no empty right gap ===== */
@media (min-width: 900px) {
	/* Default: single column — no empty right space on home */
	.ohb-shell {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
		align-items: start !important;
		max-width: 1200px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.ohb-rail,
	aside.ohb-rail,
	#ohb-rail {
		display: none !important;
		position: static !important;
		width: auto !important;
		max-width: none !important;
		max-height: none !important;
	}

	/* After room selected: 2-col + sticky rail (Guestline results+cart) */
	.ohb-shell.has-cart {
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 1.25rem !important;
		max-width: 1280px !important;
	}
	.ohb-shell.has-cart .ohb-rail,
	.ohb-shell.has-cart aside.ohb-rail,
	.ohb-shell.has-cart #ohb-rail,
	.ohb-shell.has-cart .ohb-rail.is-forced {
		display: block !important;
		position: sticky !important;
		top: 1rem !important;
		align-self: start !important;
		z-index: 30 !important;
		width: 300px !important;
		max-width: 300px !important;
		max-height: calc(100vh - 1.5rem) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.admin-bar .ohb-shell.has-cart .ohb-rail,
	.admin-bar .ohb-shell.has-cart aside.ohb-rail {
		top: 3rem !important;
		max-height: calc(100vh - 3.5rem) !important;
	}
	.ohb-shell.has-cart .ohb-rail-card {
		position: relative !important;
		top: auto !important;
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
}

/* Kill earlier "always show 340px rail" rules from fighting */
@media (min-width: 900px) {
	.ohb:not(:has(.ohb-shell.has-cart)) .ohb-rail {
		display: none !important;
	}
}

/* ==========================================================================
   FINAL Guestline visual parity (v1.43.18) — exact match to OAKWDKANG IBE
   Overrides all earlier conflicting rules. Screenshot-matched 2026-09.
   ========================================================================== */

/* Base type scale closer to Guestline — FULL WIDTH of parent, never left-stuck */
.ohb {
	font-size: 14px !important;
	line-height: 1.45 !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 0.35rem 0 1.5rem !important;
	box-sizing: border-box !important;
}

/* ---- Top bar: logo left, currency symbol only (like Guestline £) ---- */
.ohb-topbar-wrap {
	margin: 0 0 0.5rem !important;
	padding: 0 !important;
}
.ohb-topbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.65rem 0 0.85rem !important;
	margin: 0 !important;
	border-bottom: 0 !important;
	min-height: 0 !important;
}
.ohb-topbar-logo {
	max-height: 42px !important;
	width: auto !important;
}
.ohb-topbar-name {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}
.ohb-currency-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	border: 0 !important;
	background: transparent !important;
	padding: 0.35rem 0.15rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	min-height: 0 !important;
	line-height: 1.2 !important;
}
.ohb-currency-btn:hover {
	background: #f3f4f6 !important;
	border: 0 !important;
}
.ohb-currency-btn svg {
	width: 11px !important;
	height: 11px !important;
	opacity: 0.7;
}
#ohb-currency-label {
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

/* ---- Search card ---- */
.ohb-gl-card {
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	padding: 1.15rem 1.25rem 1.25rem !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
	margin-bottom: 1.25rem !important;
}
.ohb-gl-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin-bottom: 0.85rem !important;
	flex-wrap: nowrap !important;
}
.ohb-gl-title {
	font-size: 1.125rem !important;   /* ~18px — Guestline size */
	font-weight: 600 !important;
	color: #1f2937 !important;
	margin: 0 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.3 !important;
}
.ohb-gl-head .ohb-promo-toggle,
.ohb-promo-toggle {
	font-size: 0.8125rem !important;  /* 13px */
	font-weight: 400 !important;
	color: #4b5563 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
}

/* ---- ONE connected search bar (Guestline exact) ---- */
.ohb-gl-bar {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	background: #fff !important;
	min-height: 48px !important;
	box-shadow: none !important;
}
.ohb-gl-dates,
.ohb-gl-guests {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	padding: 0 0.9rem !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	border-right: 1px solid #e5e7eb !important;
	color: #6b7280 !important;
	font-size: 0.875rem !important;   /* 14px */
	font-weight: 500 !important;
	min-height: 48px !important;
	cursor: pointer !important;
	text-align: left !important;
	box-shadow: none !important;
}
.ohb-gl-dates {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
.ohb-gl-guests {
	flex: 0 0 auto !important;
	min-width: 7.25rem !important;
	max-width: 9rem !important;
}
.ohb-gl-dates .ohb-date-label.is-set,
.ohb-gl-guests #ohb-guests-label {
	color: #111827 !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
}
.ohb-date-label,
#ohb-guests-label {
	font-size: 0.875rem !important;
}
.ohb-gl-dates-icon,
.ohb-gl-guests-icon {
	color: #9ca3af !important;
	flex-shrink: 0 !important;
}
.ohb-gl-dates-icon svg,
.ohb-gl-guests-icon svg {
	width: 16px !important;
	height: 16px !important;
}
.ohb-field-arrow {
	color: #9ca3af !important;
	font-size: 0.875rem !important;
	margin: 0 0.2rem !important;
}

/* Search button — gold square icon only */
.ohb-gl-bar .ohb-search-btn,
.ohb-gl-bar .ohb-search-btn--icon,
.ohb-search-btn--icon {
	flex: 0 0 48px !important;
	width: 48px !important;
	min-width: 48px !important;
	max-width: 48px !important;
	min-height: 48px !important;
	height: 48px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #c9a227 !important;
	color: #1a1a1a !important;
	font-size: 0 !important;
	gap: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.ohb-gl-bar .ohb-search-btn svg,
.ohb-search-btn--icon svg {
	width: 18px !important;
	height: 18px !important;
	display: block !important;
	margin: 0 !important;
}

/* ---- Room browse cards — tighter Guestline fonts ---- */
article.ohb-room-browse .ohb-browse-title,
.ohb-browse-title {
	font-size: 1.0625rem !important;  /* 17px */
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: #1f2937 !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 0.3rem !important;
}
article.ohb-room-browse .ohb-max-guests,
.ohb-max-guests {
	font-size: 0.8125rem !important;  /* 13px */
	font-weight: 400 !important;
	color: #6b7280 !important;
}
article.ohb-room-browse .ohb-room-desc,
.ohb-room-desc {
	font-size: 0.8125rem !important;  /* 13px */
	line-height: 1.45 !important;
	color: #4b5563 !important;
	margin: 0.4rem 0 0 !important;
}
article.ohb-room-browse .ohb-browse-more,
article.ohb-room-browse .ohb-more-details-btn.ohb-browse-more,
.ohb-browse-more {
	padding: 0.4rem 0.85rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	border-radius: 4px !important;
	border: 1px solid #d1d5db !important;
	color: #374151 !important;
	background: #fff !important;
}
article.ohb-room-browse .ohb-browse-check,
.ohb-browse-check {
	padding: 0.45rem 1rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	border-radius: 4px !important;
	background: #c9a227 !important;
	color: #1a1a1a !important;
	border: 0 !important;
}

/* Room card content padding tighter */
article.ohb-room-browse .ohb-browse-content {
	padding: 1rem 1.15rem 1.1rem !important;
}
article.ohb-room-browse .ohb-browse-cta {
	padding-top: 0.9rem !important;
}

/* Mobile: keep unified bar feel where possible */
@media (max-width: 640px) {
	.ohb-gl-bar {
		flex-direction: column !important;
		border: 0 !important;
		overflow: visible !important;
		background: transparent !important;
		gap: 0.45rem !important;
		min-height: 0 !important;
	}
	.ohb-gl-dates,
	.ohb-gl-guests {
		border: 1px solid #d1d5db !important;
		border-radius: 6px !important;
		border-right: 1px solid #d1d5db !important;
		min-height: 48px !important;
	}
	.ohb-gl-bar .ohb-search-btn,
	.ohb-gl-bar .ohb-search-btn--icon {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		border-radius: 6px !important;
		font-size: 0.875rem !important;
		min-height: 48px !important;
		height: 48px !important;
	}
	.ohb-gl-title {
		font-size: 1.05rem !important;
	}
}


/* ==========================================================================
   FULL WIDTH FIX (v1.43.19) — never leave empty right gap / left-stuck content
   ========================================================================== */
.ohb,
div.ohb,
.entry-content .ohb,
.wp-block-post-content .ohb,
.elementor-widget-container .ohb,
.elementor-widget-shortcode .ohb,
main .ohb {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}

/* Inner content uses full available width with modest side padding */
.ohb-topbar-wrap,
.ohb-topbar,
.ohb-shell,
.ohb-main,
.ohb-gl-card,
.ohb-browse-rooms,
#ohb-browse-section,
.ohb-trip-bar,
.ohb-panel {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}

.ohb-shell {
	display: block !important; /* single column home — no empty grid track */
}
@media (min-width: 900px) {
	.ohb-shell {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		max-width: none !important;
		width: 100% !important;
	}
	.ohb-shell.has-cart {
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 1.25rem !important;
		max-width: none !important;
		width: 100% !important;
	}
}

/* Comfortable side padding so edges aren't flush on wide screens */
.ohb-topbar,
.ohb-gl-card,
.ohb-shell,
.ohb-browse-rooms,
#ohb-browse-section,
.ohb-trip-bar {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.ohb {
	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* ==========================================================================
   v1.43.20 — Topbar + content same column width (logo/currency not page-edge)
   Guestline: logo and £ sit on the SAME width as the search card, centered.
   ========================================================================== */

/* Outer widget: full parent width, centers the inner column */
.ohb,
div.ohb {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}

/* Shared content column — logo, currency, search, rooms all same width */
.ohb-topbar-wrap,
.ohb-topbar,
.ohb-shell,
.ohb-main,
.ohb-gl-card,
.ohb-browse-rooms,
#ohb-browse-section,
.ohb-trip-bar,
.ohb-panel {
	max-width: 1120px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Topbar: logo left + currency right WITHIN the 1120px column only */
.ohb-topbar-wrap {
	padding: 0 !important;
	margin-bottom: 0.75rem !important;
}
.ohb-topbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.5rem 0 0.65rem !important;
	margin: 0 !important;
	border-bottom: 0 !important;
	gap: 1rem !important;
}
.ohb-topbar-brand {
	flex: 0 1 auto !important;
	min-width: 0 !important;
}
.ohb-topbar-logo {
	max-height: 40px !important;
	width: auto !important;
	display: block !important;
}
.ohb-currency-btn {
	flex: 0 0 auto !important;
	margin-left: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.2rem !important;
	border: 0 !important;
	background: transparent !important;
	padding: 0.25rem 0.1rem !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	box-shadow: none !important;
}
.ohb-currency-btn:hover {
	background: transparent !important;
	border: 0 !important;
}

/* Shell stays in same column; after cart can go slightly wider */
@media (min-width: 900px) {
	.ohb-shell {
		max-width: 1120px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.ohb-shell.has-cart {
		max-width: 1200px !important;
	}
}

/* Small side padding on narrow screens only */
@media (max-width: 1160px) {
	.ohb-topbar-wrap,
	.ohb-topbar,
	.ohb-shell,
	.ohb-gl-card,
	.ohb-browse-rooms,
	#ohb-browse-section,
	.ohb-trip-bar,
	.ohb-panel {
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box !important;
	}
}


/* ==========================================================================
   v1.43.21 — EXACT Guestline OAKWDKANG match (screenshot side-by-side)
   Differences fixed:
   1) Search = 3 SEPARATE boxes (dates | guests | search) with gaps — not one bar
   2) Topbar bottom border line like Guestline
   3) Logo + £ align to same content edges as the card below
   4) Guests field is its own bordered box
   5) Search btn is standalone rounded square
   ========================================================================== */

/* Content column — same for topbar + card + rooms */
.ohb {
	max-width: none !important;
	width: 100% !important;
	padding: 0.25rem 0 1.5rem !important;
	box-sizing: border-box !important;
}
.ohb-topbar-wrap,
.ohb-shell,
.ohb-gl-card,
.ohb-browse-rooms,
#ohb-browse-section,
.ohb-trip-bar,
.ohb-panel,
.ohb-main {
	max-width: 1100px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* ---- TOPBAR: logo left, £ right, thin bottom line (Guestline) ---- */
.ohb-topbar-wrap {
	padding: 0 !important;
	margin: 0 auto 0 !important;
	border-bottom: 1px solid #e8eaed !important;
}
.ohb-topbar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.85rem 0 !important;
	margin: 0 !important;
	border-bottom: 0 !important;
	max-width: 1100px !important;
	width: 100% !important;
}
.ohb-topbar-logo {
	max-height: 44px !important;
	width: auto !important;
	display: block !important;
}
.ohb-currency-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.2rem !important;
	border: 0 !important;
	background: transparent !important;
	padding: 0.2rem 0 !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	box-shadow: none !important;
	min-height: 0 !important;
}
.ohb-currency-btn:hover {
	background: transparent !important;
}
.ohb-currency-btn svg {
	width: 12px !important;
	height: 12px !important;
	opacity: 0.65;
}

/* ---- SEARCH CARD ---- */
.ohb-gl-card {
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	padding: 1.35rem 1.5rem 1.4rem !important;
	box-shadow: none !important;
	margin-top: 1.35rem !important;
	margin-bottom: 1.5rem !important;
}
.ohb-gl-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 1rem !important;
	gap: 1rem !important;
}
.ohb-gl-title {
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}
.ohb-gl-head .ohb-promo-toggle {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #4b5563 !important;
	text-decoration: underline !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
}

/* ---- SEARCH ROW: 3 SEPARATE boxes (Guestline exact) ---- */
.ohb-gl-bar {
	display: flex !important;
	align-items: stretch !important;
	gap: 0.6rem !important;                 /* gap between boxes */
	width: 100% !important;
	border: 0 !important;                   /* no outer unified border */
	background: transparent !important;
	overflow: visible !important;
	min-height: 52px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.ohb-gl-dates {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	padding: 0 1rem !important;
	min-height: 52px !important;
	background: #fff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;          /* own rounded box */
	border-right: 1px solid #d1d5db !important;
	color: #6b7280 !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	box-shadow: none !important;
}
.ohb-gl-guests {
	flex: 0 0 auto !important;
	min-width: 8.5rem !important;
	max-width: 10rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
	padding: 0 1rem !important;
	min-height: 52px !important;
	background: #fff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;          /* own rounded box */
	border-right: 1px solid #d1d5db !important;
	color: #6b7280 !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	box-shadow: none !important;
}
.ohb-gl-dates .ohb-date-label.is-set,
.ohb-gl-guests #ohb-guests-label {
	color: #111827 !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
}
.ohb-date-label,
#ohb-guests-label {
	font-size: 0.9rem !important;
}
.ohb-gl-dates-icon svg,
.ohb-gl-guests-icon svg {
	width: 18px !important;
	height: 18px !important;
	color: #9ca3af !important;
}
.ohb-field-arrow {
	color: #9ca3af !important;
	margin: 0 0.35rem !important;
	font-size: 0.95rem !important;
}

/* Search button — standalone rounded square (Guestline) */
.ohb-gl-bar .ohb-search-btn,
.ohb-gl-bar .ohb-search-btn--icon,
.ohb-search-btn--icon {
	flex: 0 0 52px !important;
	width: 52px !important;
	min-width: 52px !important;
	max-width: 52px !important;
	min-height: 52px !important;
	height: 52px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 6px !important;          /* own rounded square */
	background: #c9a227 !important;
	color: #1a1a1a !important;
	font-size: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: none !important;
}
.ohb-gl-bar .ohb-search-btn svg,
.ohb-search-btn--icon svg {
	width: 20px !important;
	height: 20px !important;
	display: block !important;
	margin: 0 !important;
}

/* Room cards — match Guestline spacing */
article.ohb-room-browse .ohb-browse-title {
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
}
article.ohb-room-browse .ohb-max-guests {
	font-size: 0.8125rem !important;
	color: #6b7280 !important;
}
article.ohb-room-browse .ohb-room-desc {
	font-size: 0.8125rem !important;
	line-height: 1.45 !important;
	color: #4b5563 !important;
}
article.ohb-room-browse .ohb-browse-check {
	background: #c9a227 !important;
	border-radius: 4px !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	padding: 0.45rem 1rem !important;
}
article.ohb-room-browse .ohb-browse-more {
	border-radius: 4px !important;
	font-size: 0.8125rem !important;
	padding: 0.4rem 0.85rem !important;
}

/* Mobile: stack the 3 boxes */
@media (max-width: 640px) {
	.ohb-gl-bar {
		flex-direction: column !important;
		gap: 0.5rem !important;
	}
	.ohb-gl-dates,
	.ohb-gl-guests {
		width: 100% !important;
		max-width: none !important;
	}
	.ohb-gl-bar .ohb-search-btn,
	.ohb-gl-bar .ohb-search-btn--icon {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
	}
}
@media (max-width: 1140px) {
	.ohb-topbar-wrap,
	.ohb-topbar,
	.ohb-shell,
	.ohb-gl-card,
	.ohb-browse-rooms,
	#ohb-browse-section,
	.ohb-trip-bar,
	.ohb-panel {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.ohb-topbar-wrap {
		/* border still full; inner topbar has side pad via parent */
	}
}


/* ==========================================================================
   v1.43.22 — FIX: button reset was killing search-box borders
   Use higher specificity (.ohb button.ohb-gl-dates) so borders show.
   Topbar left/right edges = same as search card edges (no extra gap).
   ========================================================================== */

/* Same column for header + card — identical left/right edges */
.ohb-topbar-wrap,
.ohb .ohb-topbar-wrap {
	max-width: 1100px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	border-bottom: 1px solid #e8eaed !important;
	box-sizing: border-box !important;
}
.ohb .ohb-topbar {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0.85rem 1.5rem !important;   /* same horizontal pad as card */
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	border: 0 !important;
	box-sizing: border-box !important;
}
.ohb .ohb-gl-card {
	max-width: 1100px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 1.25rem !important;
	padding: 1.35rem 1.5rem 1.4rem !important;  /* same 1.5rem side pad as topbar */
	box-sizing: border-box !important;
}
.ohb .ohb-shell,
.ohb .ohb-browse-rooms,
.ohb #ohb-browse-section,
.ohb .ohb-main,
.ohb .ohb-panel {
	max-width: 1100px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
	box-sizing: border-box !important;
}

/* Search row — 3 separate boxes; beat .ohb button { border:0 } */
.ohb .ohb-gl-bar,
.ohb div.ohb-gl-bar {
	display: flex !important;
	align-items: stretch !important;
	gap: 0.65rem !important;
	border: 0 !important;
	background: transparent !important;
	overflow: visible !important;
	min-height: 52px !important;
	width: 100% !important;
}

/* Dates box — MUST use .ohb button.ohb-gl-dates to beat border:0 reset */
.ohb button.ohb-gl-dates,
.ohb .ohb-gl-dates {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	padding: 0 1rem !important;
	min-height: 52px !important;
	height: 52px !important;
	background: #ffffff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	color: #6b7280 !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	text-align: left !important;
}

/* Guests box — own bordered field */
.ohb button.ohb-gl-guests,
.ohb .ohb-gl-guests {
	flex: 0 0 auto !important;
	min-width: 8.75rem !important;
	max-width: 10.5rem !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.45rem !important;
	padding: 0 1rem !important;
	min-height: 52px !important;
	height: 52px !important;
	background: #ffffff !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	color: #6b7280 !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

/* Search btn — standalone square */
.ohb button.ohb-search-btn,
.ohb button.ohb-search-btn--icon,
.ohb .ohb-gl-bar .ohb-search-btn,
.ohb .ohb-gl-bar .ohb-search-btn--icon {
	flex: 0 0 52px !important;
	width: 52px !important;
	min-width: 52px !important;
	max-width: 52px !important;
	min-height: 52px !important;
	height: 52px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: #c9a227 !important;
	color: #1a1a1a !important;
	font-size: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: none !important;
}

.ohb button.ohb-gl-dates .ohb-date-label.is-set,
.ohb button.ohb-gl-guests #ohb-guests-label,
.ohb .ohb-gl-dates .ohb-date-label.is-set,
.ohb .ohb-gl-guests #ohb-guests-label {
	color: #111827 !important;
	font-weight: 600 !important;
}

/* Topbar logo / currency within same pad as card */
.ohb .ohb-topbar-logo {
	max-height: 44px !important;
}
.ohb .ohb-currency-btn {
	border: 0 !important;
	background: transparent !important;
	padding: 0.15rem 0 !important;
	font-size: 0.9rem !important;
	color: #374151 !important;
	box-shadow: none !important;
}

@media (max-width: 640px) {
	.ohb .ohb-gl-bar {
		flex-direction: column !important;
		gap: 0.5rem !important;
	}
	.ohb button.ohb-gl-dates,
	.ohb button.ohb-gl-guests,
	.ohb .ohb-gl-dates,
	.ohb .ohb-gl-guests {
		width: 100% !important;
		max-width: none !important;
	}
	.ohb button.ohb-search-btn,
	.ohb .ohb-gl-bar .ohb-search-btn {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}
}


/* ==========================================================================
   v1.43.23 — Currency modal exact Guestline match (DM Sans, margins, sizes)
   From DevTools: font-family DM Sans / Open Sans, font-size 1rem, margin 0,
   dialog max-width 900px, note weight 400.
   ========================================================================== */
.ohb,
.ohb-currency-modal,
.ohb-currency-dialog {
	font-family: 'DM Sans', 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

.ohb .ohb-currency-modal,
.ohb-currency-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483600 !important;
	background: rgba(0, 0, 0, 0.45) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1.5rem !important;
	box-sizing: border-box !important;
	-webkit-font-smoothing: antialiased !important;
}
.ohb-currency-modal[hidden] {
	display: none !important;
}

/* Dialog — Guestline max-width 900px, soft shadow */
.ohb .ohb-currency-dialog,
.ohb-currency-dialog {
	background: #ffffff !important;
	border-radius: 4px !important;
	width: 100% !important;
	max-width: 900px !important;
	max-height: min(90vh, 620px) !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0px 11px 15px -7px rgba(0,0,0,0.2), 0px 24px 38px 3px rgba(0,0,0,0.14), 0px 9px 46px 8px rgba(0,0,0,0.12) !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: 'DM Sans', 'Open Sans', -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: #1a1a1a !important;
}

/* Title row */
.ohb .ohb-currency-dialog-head,
.ohb-currency-dialog-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 1.25rem 1.5rem 0.5rem !important;
	margin: 0 !important;
	border-bottom: 0 !important;
	flex-shrink: 0 !important;
}
.ohb .ohb-currency-dialog-head strong,
.ohb-currency-dialog-head strong,
#ohb-currency-title {
	font-family: 'DM Sans', 'Open Sans', sans-serif !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ohb button.ohb-currency-close,
.ohb-currency-close {
	border: 0 !important;
	background: transparent !important;
	font-size: 1.5rem !important;
	line-height: 1 !important;
	color: #6b7280 !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 36px !important;
	height: 36px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 4px !important;
	box-shadow: none !important;
}

/* Note paragraph — Guestline: 1rem, weight 400, margin 0 */
.ohb .ohb-currency-note,
.ohb-currency-note,
.ohb-currency-dialog .ohb-currency-note {
	margin: 0 !important;
	padding: 0.5rem 1.5rem 1rem !important;
	font-family: 'DM Sans', 'Open Sans', sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: #4b5563 !important;
	flex-shrink: 0 !important;
	letter-spacing: 0 !important;
}

/* Currency grid — 3 columns like Guestline */
.ohb .ohb-currency-grid,
.ohb-currency-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0 !important;
	padding: 0 0.75rem 1rem !important;
	margin: 0 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	flex: 1 1 auto !important;
}

/* Option cells */
.ohb button.ohb-currency-option,
.ohb .ohb-currency-option,
button.ohb-currency-option {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 0.15rem !important;
	text-align: left !important;
	padding: 0.85rem 1rem !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	cursor: pointer !important;
	min-height: 64px !important;
	height: auto !important;
	box-shadow: none !important;
	width: 100% !important;
	font-family: 'DM Sans', 'Open Sans', sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: #1a1a1a !important;
	box-sizing: border-box !important;
}
.ohb button.ohb-currency-option:hover,
.ohb .ohb-currency-option:hover {
	background: #f5f5f5 !important;
}
.ohb button.ohb-currency-option.is-active,
.ohb .ohb-currency-option.is-active {
	background: #eeeeee !important;
}

.ohb .ohb-currency-name,
button.ohb-currency-option .ohb-currency-name {
	display: block !important;
	font-family: 'DM Sans', 'Open Sans', sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: #1a1a1a !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ohb .ohb-currency-code,
button.ohb-currency-option small,
.ohb-currency-option small {
	display: block !important;
	font-family: 'DM Sans', 'Open Sans', sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}

@media (max-width: 720px) {
	.ohb .ohb-currency-grid,
	.ohb-currency-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.ohb .ohb-currency-dialog,
	.ohb-currency-dialog {
		max-width: 100% !important;
		border-radius: 4px !important;
	}
}
@media (max-width: 420px) {
	.ohb .ohb-currency-grid,
	.ohb-currency-grid {
		grid-template-columns: 1fr !important;
	}
}


/* ==========================================================================
   v1.43.24 — Guestline MuiContainer exact (from DevTools css-n1bpn0)
   @media 1100px: max-width 1200px; padding 16px
   @media 1400px: max-width 1400px
   @media 600px:  padding-left/right 24px
   base: width 100%; margin auto; padding 24px 16px
   body: DM Sans, 1rem, weight 400, color #2f2d43
   Toolbar: padding 24px sides @ 600px
   ========================================================================== */

/* Body-level type match inside widget */
.ohb {
	font-family: "DM Sans", "Open Sans", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	color: rgb(47, 45, 67) !important;
	background: #ffffff !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* Guestline container — same as MuiContainer-maxWidthLg */
.ohb-topbar-wrap,
.ohb .ohb-topbar-wrap,
.ohb-shell,
.ohb .ohb-shell,
.ohb-gl-card,
.ohb .ohb-gl-card,
.ohb-browse-rooms,
.ohb #ohb-browse-section,
.ohb-main,
.ohb .ohb-main,
.ohb-panel,
.ohb .ohb-panel,
.ohb-trip-bar {
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
	/* base padding like Guestline */
	padding-left: 16px !important;
	padding-right: 16px !important;
	max-width: 100% !important;
}

/* @media (min-width: 600px) — padding 24px sides */
@media (min-width: 600px) {
	.ohb-topbar-wrap,
	.ohb .ohb-topbar-wrap,
	.ohb .ohb-topbar,
	.ohb-shell,
	.ohb .ohb-shell,
	.ohb-gl-card,
	.ohb .ohb-gl-card,
	.ohb-browse-rooms,
	.ohb #ohb-browse-section,
	.ohb-main,
	.ohb .ohb-main,
	.ohb-panel,
	.ohb-trip-bar {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

/* @media (min-width: 1100px) — max-width 1200px, padding 16px */
@media (min-width: 1100px) {
	.ohb-topbar-wrap,
	.ohb .ohb-topbar-wrap,
	.ohb-shell,
	.ohb .ohb-shell,
	.ohb-gl-card,
	.ohb .ohb-gl-card,
	.ohb-browse-rooms,
	.ohb #ohb-browse-section,
	.ohb-main,
	.ohb .ohb-main,
	.ohb-panel,
	.ohb-trip-bar {
		max-width: 1200px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		padding-top: 16px !important;
		padding-bottom: 16px !important;
	}
	/* topbar: only horizontal pad, keep vertical tight */
	.ohb-topbar-wrap,
	.ohb .ohb-topbar-wrap {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.ohb .ohb-topbar {
		padding-left: 16px !important;
		padding-right: 16px !important;
		padding-top: 0.85rem !important;
		padding-bottom: 0.85rem !important;
		max-width: 1200px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}
	/* card keeps its own internal padding on top of container pad */
	.ohb .ohb-gl-card {
		padding: 1.35rem 1.5rem 1.4rem !important;
		margin-top: 0.5rem !important;
		margin-bottom: 1rem !important;
	}
}

/* @media (min-width: 1400px) — max-width 1400px */
@media (min-width: 1400px) {
	.ohb-topbar-wrap,
	.ohb .ohb-topbar-wrap,
	.ohb-shell,
	.ohb .ohb-shell,
	.ohb-gl-card,
	.ohb .ohb-gl-card,
	.ohb-browse-rooms,
	.ohb #ohb-browse-section,
	.ohb-main,
	.ohb .ohb-main,
	.ohb-panel,
	.ohb-trip-bar,
	.ohb .ohb-topbar {
		max-width: 1400px !important;
	}
}

/* Topbar border full-bleed feel but content aligned */
.ohb-topbar-wrap,
.ohb .ohb-topbar-wrap {
	border-bottom: 1px solid #e8eaed !important;
	width: 100% !important;
}

/* Search bar 3 boxes stay correct inside this container */
.ohb .ohb-gl-bar {
	display: flex !important;
	gap: 0.65rem !important;
	border: 0 !important;
	background: transparent !important;
}
.ohb button.ohb-gl-dates,
.ohb button.ohb-gl-guests {
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	background: #fff !important;
	min-height: 52px !important;
}
.ohb button.ohb-search-btn,
.ohb button.ohb-search-btn--icon {
	border-radius: 6px !important;
	min-height: 52px !important;
	width: 52px !important;
	background: #c9a227 !important;
}


/* ==========================================================================
   v1.43.25 — 80px side padding, room card polish, dark grid icon, photo lightbox
   ========================================================================== */

/* Content horizontal padding = 80px on desktop (header + body same) */
@media (min-width: 1100px) {
	.ohb-topbar-wrap,
	.ohb .ohb-topbar-wrap,
	.ohb .ohb-topbar,
	.ohb-shell,
	.ohb .ohb-shell,
	.ohb-gl-card,
	.ohb .ohb-gl-card,
	.ohb-browse-rooms,
	.ohb #ohb-browse-section,
	.ohb-main,
	.ohb .ohb-main,
	.ohb-panel,
	.ohb-trip-bar {
		padding-left: 80px !important;
		padding-right: 80px !important;
		max-width: 1400px !important;
	}
	.ohb .ohb-gl-card {
		padding: 1.35rem 1.5rem 1.4rem !important;
	}
	.ohb .ohb-topbar {
		padding-top: 0.85rem !important;
		padding-bottom: 0.85rem !important;
	}
}

/* Room cards — Guestline font / weight / shadow */
.ohb article.ohb-room-browse,
.ohb .ohb-room-card.ohb-room-browse {
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06) !important;
	background: #fff !important;
	overflow: hidden !important;
	font-family: "DM Sans", "Open Sans", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif !important;
}
.ohb article.ohb-room-browse .ohb-browse-title,
.ohb .ohb-browse-title {
	font-family: "DM Sans", "Open Sans", sans-serif !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.3 !important;
	margin: 0 0 0.35rem !important;
}
.ohb article.ohb-room-browse .ohb-max-guests,
.ohb .ohb-max-guests {
	font-family: "DM Sans", "Open Sans", sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
}
.ohb article.ohb-room-browse .ohb-room-desc,
.ohb .ohb-room-desc {
	font-family: "DM Sans", "Open Sans", sans-serif !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: #4b5563 !important;
}
.ohb article.ohb-room-browse .ohb-browse-more,
.ohb article.ohb-room-browse .ohb-more-details-btn {
	font-family: "DM Sans", "Open Sans", sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	border: 1px solid #d1d5db !important;
	border-radius: 4px !important;
	background: #fff !important;
	color: #374151 !important;
	padding: 0.45rem 0.9rem !important;
	box-shadow: none !important;
}
.ohb article.ohb-room-browse .ohb-browse-check {
	font-family: "DM Sans", "Open Sans", sans-serif !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	background: #c9a227 !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 4px !important;
	padding: 0.5rem 1.05rem !important;
	box-shadow: none !important;
}
.ohb article.ohb-room-browse .ohb-browse-content {
	padding: 1.15rem 1.25rem 1.15rem !important;
}

/* Grid icon — Guestline dark gray (not white) */
.ohb .ohb-gl-collage-grid,
.ohb button.ohb-gl-collage-grid,
.ohb span.ohb-gl-collage-grid,
.ohb-browse-collage .ohb-gl-collage-grid {
	position: absolute !important;
	bottom: 10px !important;
	right: 10px !important;
	z-index: 3 !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: rgba(55, 65, 81, 0.88) !important; /* dark gray like Guestline */
	color: #ffffff !important;
	box-shadow: 0 1px 4px rgba(0,0,0,0.25) !important;
	cursor: pointer !important;
}
.ohb .ohb-gl-collage-grid svg,
.ohb button.ohb-gl-collage-grid svg {
	width: 16px !important;
	height: 16px !important;
	fill: #ffffff !important;
	color: #ffffff !important;
}
.ohb .ohb-browse-collage {
	position: relative !important;
}

/* ===== Photo lightbox (Guestline style — image 5) ===== */
.ohb-photo-lb {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483640 !important;
	background: rgba(30, 30, 30, 0.72) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1.5rem !important;
	box-sizing: border-box !important;
}
.ohb-photo-lb[hidden] {
	display: none !important;
}
.ohb-photo-lb-dialog {
	position: relative !important;
	background: #ffffff !important;
	border-radius: 4px !important;
	max-width: min(960px, 94vw) !important;
	width: 100% !important;
	max-height: 90vh !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 12px 40px rgba(0,0,0,0.35) !important;
	overflow: hidden !important;
}
.ohb-photo-lb-head {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	padding: 0.65rem 0.85rem !important;
	background: #fff !important;
	flex-shrink: 0 !important;
	min-height: 48px !important;
}
.ohb-photo-lb-close {
	border: 0 !important;
	background: transparent !important;
	width: 36px !important;
	height: 36px !important;
	font-size: 1.5rem !important;
	line-height: 1 !important;
	color: #6b7280 !important;
	cursor: pointer !important;
	border-radius: 4px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	box-shadow: none !important;
}
.ohb-photo-lb-close:hover {
	background: #f3f4f6 !important;
	color: #111 !important;
}
.ohb-photo-lb-stage {
	position: relative !important;
	background: #1a1a1a !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 280px !important;
	flex: 1 1 auto !important;
}
.ohb-photo-lb-stage img {
	max-width: 100% !important;
	max-height: min(70vh, 640px) !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	display: block !important;
}
.ohb-photo-lb-prev,
.ohb-photo-lb-next {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	border: 0 !important;
	background: #ffffff !important;
	color: #374151 !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.25rem !important;
	line-height: 1 !important;
	padding: 0 !important;
	z-index: 2 !important;
}
.ohb-photo-lb-prev { left: 12px !important; }
.ohb-photo-lb-next { right: 12px !important; }
.ohb-photo-lb-prev:hover,
.ohb-photo-lb-next:hover {
	background: #f9fafb !important;
}
.ohb-photo-lb-dots {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.4rem !important;
	padding: 0.75rem !important;
	background: #fff !important;
	flex-shrink: 0 !important;
}
.ohb-photo-lb-dot {
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	border: 0 !important;
	padding: 0 !important;
	background: #d1d5db !important;
	cursor: pointer !important;
	box-shadow: none !important;
}
.ohb-photo-lb-dot.is-active {
	background: #6b7280 !important;
}


/* ==========================================================================
   v1.43.26 — Card height/button pin + Top button gold bg force
   ========================================================================== */

/* Room cards: equal height, buttons pinned to bottom (Guestline) */
.ohb article.ohb-room-card.ohb-room-browse,
.ohb article.ohb-room-browse {
	display: grid !important;
	grid-template-columns: minmax(280px, 1.05fr) minmax(0, 1fr) !important;
	align-items: stretch !important;
	min-height: 280px !important;
	height: auto !important;
}
@media (max-width: 720px) {
	.ohb article.ohb-room-card.ohb-room-browse,
	.ohb article.ohb-room-browse {
		grid-template-columns: 1fr !important;
		min-height: 0 !important;
	}
}
.ohb article.ohb-room-browse .ohb-browse-collage {
	min-height: 280px !important;
	height: 100% !important;
	align-self: stretch !important;
}
.ohb article.ohb-room-browse .ohb-browse-content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-self: stretch !important;
	min-height: 280px !important;
	height: 100% !important;
	padding: 1.25rem 1.35rem 1.2rem !important;
	box-sizing: border-box !important;
}
.ohb article.ohb-room-browse .ohb-browse-text {
	flex: 0 1 auto !important;
}
/* Push buttons to bottom — consistent gap from content */
.ohb article.ohb-room-browse .ohb-browse-cta {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin-top: auto !important;   /* pin to bottom */
	padding-top: 1.25rem !important;
	flex-shrink: 0 !important;
}

/* Top button — Guestline solid gold, always visible */
.ohb button.ohb-gl-top,
.ohb .ohb-gl-top,
button.ohb-gl-top,
#ohb-gl-top.ohb-gl-top {
	position: fixed !important;
	right: 20px !important;
	bottom: 20px !important;
	top: auto !important;
	left: auto !important;
	z-index: 2147483000 !important;
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.05rem !important;
	min-width: 48px !important;
	min-height: 48px !important;
	width: auto !important;
	height: auto !important;
	padding: 0.45rem 0.6rem 0.4rem !important;
	margin: 0 !important;
	background: #c9a227 !important;
	background-color: #c9a227 !important;
	background-image: none !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	font-family: "DM Sans", "Open Sans", sans-serif !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2) !important;
	cursor: pointer !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.ohb button.ohb-gl-top:hover,
.ohb .ohb-gl-top:hover,
#ohb-gl-top:hover {
	background: #b8922a !important;
	background-color: #b8922a !important;
	filter: none !important;
	color: #1a1a1a !important;
}
.ohb .ohb-gl-top-ico,
#ohb-gl-top .ohb-gl-top-ico {
	display: block !important;
	font-size: 1rem !important;
	line-height: 1 !important;
	color: #1a1a1a !important;
	font-weight: 700 !important;
}
.ohb #ohb-gl-top span,
.ohb .ohb-gl-top span {
	color: #1a1a1a !important;
	font-weight: 700 !important;
}

/* Footer relative so if top is inside footer it still works; fixed wins */
.ohb .ohb-gl-footer {
	position: relative !important;
}


/* ==========================================================================
   v1.43.27 — min-height 350px cards; side padding −30px (80→50)
   ========================================================================== */

@media (min-width: 1100px) {
	.ohb-topbar-wrap,
	.ohb .ohb-topbar-wrap,
	.ohb .ohb-topbar,
	.ohb-shell,
	.ohb .ohb-shell,
	.ohb-gl-card,
	.ohb .ohb-gl-card,
	.ohb-browse-rooms,
	.ohb #ohb-browse-section,
	.ohb-main,
	.ohb .ohb-main,
	.ohb-panel,
	.ohb-trip-bar {
		padding-left: 50px !important;   /* was 80, −30 */
		padding-right: 50px !important;
	}
	.ohb .ohb-gl-card {
		padding: 1.35rem 1.5rem 1.4rem !important;
	}
	.ohb .ohb-topbar {
		padding-left: 50px !important;
		padding-right: 50px !important;
	}
}

.ohb article.ohb-room-card.ohb-room-browse,
.ohb article.ohb-room-browse {
	min-height: 350px !important;
}
.ohb article.ohb-room-browse .ohb-browse-collage {
	min-height: 350px !important;
	height: 100% !important;
}
.ohb article.ohb-room-browse .ohb-browse-content {
	min-height: 350px !important;
	height: 100% !important;
}


/* Per-night label on room detail prices */
.ohb-per-night {
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	color: #6b7280 !important;
}
.ohb-detail-price-card {
	border: 1px solid #e5e7eb !important;
	border-radius: 8px !important;
	padding: 1rem 1.15rem !important;
	margin-bottom: 0.75rem !important;
	background: #fff !important;
}
.ohb-detail-prices h4,
.ohb-room-page-prices h4 {
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	margin: 0 0 1rem !important;
	color: #1f2937 !important;
}


/* ==========================================================================
   v1.43.30 — Your Booking sticky full-right, tight gap; room detail 2-col prices
   ========================================================================== */

/* After search + cart: main | sticky rail, no big empty gap */
@media (min-width: 900px) {
	.ohb .ohb-shell.has-cart,
	.ohb-shell.has-cart {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 320px !important;
		gap: 1rem !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}
	.ohb .ohb-shell.has-cart .ohb-main,
	.ohb-shell.has-cart .ohb-main {
		min-width: 0 !important;
		width: 100% !important;
		max-width: none !important;
		padding-right: 0 !important;
	}
	.ohb .ohb-shell.has-cart .ohb-rail,
	.ohb .ohb-shell.has-cart aside.ohb-rail,
	.ohb .ohb-shell.has-cart #ohb-rail,
	.ohb-shell.has-cart .ohb-rail,
	.ohb-shell.has-cart aside.ohb-rail,
	.ohb-shell.has-cart #ohb-rail {
		display: block !important;
		position: sticky !important;
		top: 1rem !important;
		align-self: start !important;
		width: 320px !important;
		max-width: 320px !important;
		min-width: 320px !important;
		margin: 0 !important;
		padding: 0 !important;
		justify-self: end !important;
		z-index: 40 !important;
		max-height: calc(100vh - 1.5rem) !important;
		overflow-y: auto !important;
	}
	.admin-bar .ohb-shell.has-cart .ohb-rail,
	.admin-bar .ohb-shell.has-cart aside.ohb-rail {
		top: 3.25rem !important;
		max-height: calc(100vh - 3.75rem) !important;
	}
	.ohb-shell.has-cart .ohb-rail-card {
		position: relative !important;
		top: auto !important;
		width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
}

/* Room detail page: always 2 columns — content | Available Prices */
@media (min-width: 900px) {
	.ohb-room-page .ohb-detail-layout,
	.ohb-room-page-layout.ohb-detail-layout,
	.ohb-room-page .ohb-room-page-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.9fr) !important;
		gap: 1.5rem !important;
		align-items: start !important;
		width: 100% !important;
	}
	.ohb-room-page .ohb-detail-prices,
	.ohb-room-page .ohb-room-page-prices {
		position: sticky !important;
		top: 1rem !important;
		align-self: start !important;
	}
}
.ohb-room-page .ohb-detail-prices,
.ohb-room-page .ohb-room-page-prices {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}


/* v1.43.31 — Room detail ALWAYS 2-col; prices column always visible */
.ohb-room-page .ohb-detail-layout,
.ohb-room-page-layout.ohb-detail-layout,
.ohb-room-page .ohb-room-page-layout {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.5rem !important;
	width: 100% !important;
	max-width: 100% !important;
}
@media (min-width: 860px) {
	.ohb-room-page .ohb-detail-layout,
	.ohb-room-page-layout.ohb-detail-layout,
	.ohb-room-page .ohb-room-page-layout {
		grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr) !important;
		align-items: start !important;
	}
	.ohb-room-page .ohb-detail-prices,
	.ohb-room-page .ohb-room-page-prices {
		display: block !important;
		visibility: visible !important;
		position: sticky !important;
		top: 1rem !important;
		align-self: start !important;
		width: 100% !important;
	}
}
.ohb-room-page .ohb-detail-prices,
.ohb-room-page .ohb-room-page-prices {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-height: 120px !important;
}

/* Your Booking full right, no outer gap */
@media (min-width: 900px) {
	.ohb .ohb-shell.has-cart {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		grid-template-columns: minmax(0, 1fr) 320px !important;
		gap: 1rem !important;
	}
	.ohb .ohb-shell.has-cart .ohb-rail,
	.ohb .ohb-shell.has-cart #ohb-rail {
		justify-self: stretch !important;
		width: 320px !important;
		margin-right: 0 !important;
	}
}


/* ==========================================================================
   v1.43.34 — full width 100% (no left squeeze); terms always visible
   ========================================================================== */

/* Kill ALL max-width that forces content left / narrow — higher specificity */
.ohb,
.ohb.ohb,
div.ohb,
.ohb .ohb-shell,
.ohb-shell,
.ohb-shell.is-searched,
.ohb-shell.has-cart,
.ohb .ohb-shell.is-searched,
.ohb .ohb-shell.has-cart,
.ohb-shell.is-searched .ohb,
.ohb:has(.ohb-shell.is-searched),
.ohb:has(.ohb-shell.has-cart),
.ohb-shell.is-searched .ohb,
.ohb .ohb-shell.is-searched .ohb,
.ohb:has(.ohb-shell.is-searched) {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}

/* Ensure main content + rail use full available width */
@media (min-width: 900px) {
	.ohb-shell.has-cart,
	.ohb .ohb-shell.has-cart,
	.ohb-shell.is-searched.has-cart {
		max-width: none !important;
		width: 100% !important;
		grid-template-columns: minmax(0, 1fr) 320px !important;
		gap: 1.25rem !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.ohb-shell.has-cart .ohb-rail,
	.ohb-shell.has-cart #ohb-rail {
		width: 320px !important;
		max-width: 320px !important;
		justify-self: stretch !important;
		margin: 0 !important;
	}
}

/* Terms + marketing — always visible (footer-row layout handles spacing) */
.ohb-gl-footer-row .ohb-gl-legal {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.55rem !important;
	margin: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.ohb-gl-check {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.55rem !important;
	font-size: 0.875rem !important;
	color: #374151 !important;
	cursor: pointer !important;
	margin: 0 !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}
.ohb-gl-check input[type="checkbox"] {
	margin-top: 0.12rem !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	min-width: 1.1rem !important;
	accent-color: #1e1b4b !important;
	flex-shrink: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
}
.ohb-terms-link {
	color: #2563eb !important;
	text-decoration: underline !important;
}
.ohb-terms-link:hover {
	color: #1d4ed8 !important;
}
.ohb-gl-footer-row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
}
.ohb-btn-booknow,
#ohb-review-btn.ohb-btn-booknow {
	background: #c9a227 !important;
	color: #fff !important;
}

/* Room detail: no prices → single column full width (Guestline) */
.ohb-room-page .ohb-detail-layout.ohb-no-prices,
.ohb-room-page-layout.ohb-no-prices {
	display: block !important;
	grid-template-columns: none !important;
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ohb-room-page .ohb-no-prices .ohb-detail-prices {
	display: none !important;
}

/* With dates → 2 col + prices */
.ohb-room-page .ohb-detail-layout.ohb-has-prices,
.ohb-room-page-layout.ohb-has-prices {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr) !important;
	gap: 1.5rem !important;
	max-width: 100% !important;
}

/* v1.43.35 — Guestline field borders + hide Continue Booking on Summary */
.ohb-summary-mode .ohb-rail-continue,
.ohb.ohb-summary-mode #ohb-rail-continue {
	display: none !important;
}
.ohb-panel[data-panel="4"] .ohb-gl-field input,
.ohb-panel[data-panel="4"] .ohb-gl-field select,
.ohb-panel[data-panel="4"] .ohb-gl-special input,
.ohb-panel[data-panel="4"] .ohb-gl-bed select,
.ohb-panel[data-panel="4"] .ohb-gl-promo input {
	border: 1.5px solid #d0d5dd !important;
	background: #f9fafb !important;
	min-height: 46px !important;
}
.ohb-panel[data-panel="4"] .ohb-gl-field input.is-invalid,
.ohb-panel[data-panel="4"] .ohb-gl-field select.is-invalid {
	border-color: #d92d20 !important;
	box-shadow: 0 0 0 1px #d92d20 !important;
}


/* ===== v1.43.36 — Guestline Card Validation exact parity ===== */
.ohb-cardval-layout {
	display: grid !important;
	grid-template-columns: minmax(280px, 380px) minmax(0, 440px) !important;
	gap: 3rem !important;
	align-items: start !important;
	max-width: 920px !important;
	margin: 0 auto !important;
	padding: 1rem 0 2rem !important;
}
@media (max-width: 800px) {
	.ohb-cardval-layout {
		grid-template-columns: 1fr !important;
		gap: 1.75rem !important;
	}
}
.ohb-cardval-left-top {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.ohb-cardval-back {
	border: 0 !important;
	background: none !important;
	font-size: 1.35rem !important;
	color: #6b7280 !important;
	cursor: pointer;
	padding: 0.2rem 0.4rem !important;
	line-height: 1 !important;
}
.ohb-cardval-back:hover { color: #111 !important; }
.ohb-cardval-guarantee-note {
	font-size: 0.8rem !important;
	color: #6b7280 !important;
	margin-top: 1.25rem !important;
	line-height: 1.45 !important;
}
.ohb-cardval-right {
	max-width: 440px !important;
	width: 100% !important;
}
.ohb-cardval-header {
	text-align: center !important;
	margin-bottom: 1.75rem !important;
}
.ohb-cardval-eyebrow {
	display: block !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #9ca3af !important;
	font-weight: 600 !important;
	margin-bottom: 0.4rem !important;
}
.ohb-cardval-header h3 {
	margin: 0 0 0.4rem !important;
	font-size: 1.4rem !important;
	font-weight: 600 !important;
	color: #4b5563 !important;
}
.ohb-cardval-secure {
	font-size: 0.85rem !important;
	color: #6b7280 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.35rem !important;
}
.ohb-cardval-h {
	font-size: 1rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.85rem !important;
	color: #1a1a1a !important;
}
.ohb-cardval-label {
	display: block !important;
	font-size: 0.85rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin: 0 0 0.85rem !important;
}
.ohb-cardval-label .ohb-required { color: #dc2626; }
.ohb-cardval-input,
.ohb-cardval-label input,
.ohb-cardval-label select,
.ohb-card-number-wrap input {
	display: block !important;
	width: 100% !important;
	margin-top: 0.4rem !important;
	padding: 0.7rem 0.9rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	font-size: 0.95rem !important;
	background: #fff !important;
	color: #111827 !important;
	min-height: 46px !important;
	box-sizing: border-box !important;
}
.ohb-cardval-label input:focus,
.ohb-cardval-label select:focus,
.ohb-cardval-input:focus {
	outline: none !important;
	border-color: #667085 !important;
	box-shadow: 0 0 0 3px rgba(102, 112, 133, 0.1) !important;
}
.ohb-cardval-row3 {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 0.75rem !important;
	margin-bottom: 0.15rem !important;
}
.ohb-cardval-row2 {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.75rem !important;
}
.ohb-card-field,
.ohb-card-number-wrap {
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	padding: 0 !important;
	margin-bottom: 0.85rem !important;
	background: #fff !important;
	min-height: 46px !important;
	overflow: hidden;
}
.ohb-card-number-wrap input {
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	min-height: 46px !important;
}
.ohb-cardval-billing {
	margin-top: 1.5rem !important;
	padding-top: 1.35rem !important;
	border-top: 1px solid #eef0f3 !important;
}
.ohb-cardval-nav {
	margin-top: 1.5rem !important;
}
.ohb-btn-validate-card,
.ohb-cardval-nav .ohb-btn-pay {
	width: 100% !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: 0.9rem 1.25rem !important;
	border-radius: 8px !important;
	background: #c9a227 !important;
	color: #fff !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	min-height: 50px !important;
	cursor: pointer;
}
.ohb-btn-validate-card:hover,
.ohb-cardval-nav .ohb-btn-pay:hover {
	background: #b8921f !important;
	color: #fff !important;
}
.ohb-cardval-brands {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin: 1rem 0 0.65rem;
}
.ohb-card-brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 28px;
	padding: 0 0.55rem;
	border-radius: 4px;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.ohb-card-brand--visa {
	background: #1a1f71;
	color: #fff;
	min-width: 48px;
}
.ohb-card-brand--mc {
	background: linear-gradient(90deg, #eb001b 50%, #f79e1b 50%);
	color: #fff;
	min-width: 40px;
	font-size: 0.65rem;
}
.ohb-cardval-trust {
	display: flex !important;
	justify-content: center !important;
	gap: 1.25rem !important;
	flex-wrap: wrap !important;
	font-size: 0.75rem !important;
	color: #6b7280 !important;
	margin-top: 0.35rem !important;
}
.ohb-cardval-trust .ohb-trust-item {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
}
.ohb.ohb-cardval-mode .ohb-steps,
.ohb.ohb-cardval-mode .ohb-trip-bar,
.ohb.ohb-cardval-mode .ohb-topbar {
	display: none !important;
}

/* ===== v1.43.37 — calendar / search must work (overflow + z-index) ===== */
.ohb-gl-card,
.ohb-gl-bar,
.ohb-panel[data-panel="1"],
.ohb-main {
	overflow: visible !important;
}
.ohb-calendar-pop,
.ohb-calendar-pop.ohb-gl-dropdown,
.ohb-guests-pop,
.ohb-guests-pop.ohb-gl-dropdown {
	position: absolute !important;
	z-index: 100050 !important;
	background: #fff !important;
	border: 1px solid #e4e7ec !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 40px rgba(0,0,0,.14) !important;
	visibility: visible !important;
}
.ohb-calendar-pop[hidden],
.ohb-guests-pop[hidden] {
	display: none !important;
}
.ohb-calendar-pop:not([hidden]),
.ohb-guests-pop:not([hidden]) {
	display: block !important;
}
.ohb-gl-dates,
.ohb-gl-guests,
.ohb-search-btn {
	pointer-events: auto !important;
	cursor: pointer !important;
}

/* ===== v1.43.39 — Guestline Card Validation exact UI ===== */
.ohb-cardval-right {
	max-width: 420px !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.ohb-card-element-wrap {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.ohb-cardval-field-error {
	display: block;
	font-size: 0.75rem !important;
	color: #d92d20 !important;
	margin: 0.3rem 0 0 !important;
	line-height: 1.3 !important;
	font-weight: 500 !important;
}
.ohb-cardval-field-error:empty { display: none; }
.ohb-cardval-input.is-invalid,
.ohb-card-field.is-invalid,
.ohb-card-number-wrap.is-invalid {
	border-color: #d92d20 !important;
	box-shadow: 0 0 0 1px #d92d20 !important;
}
.ohb-cardval-label {
	margin-bottom: 0.9rem !important;
}
.ohb-btn-validate-card {
	width: 100% !important;
	background: #c9a227 !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	min-height: 50px !important;
	border-radius: 8px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.45rem !important;
}
.ohb-cardval-hotel-name {
	font-size: 1.2rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	text-transform: none !important;
}
.ohb-cardval-layout {
	max-width: 900px !important;
}

/* ===== v1.43.40 — field borders + meal-per-day breakdown ===== */
.ohb-panel[data-panel="5"] .ohb-cardval-input,
.ohb-panel[data-panel="5"] .ohb-cardval-label input,
.ohb-panel[data-panel="5"] .ohb-cardval-label select,
.ohb-panel[data-panel="5"] .ohb-card-number-wrap,
.ohb-panel[data-panel="5"] .ohb-card-field {
	border: 1.5px solid #98a2b3 !important;
	background: #fff !important;
	min-height: 48px !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-label {
	margin-bottom: 1rem !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-row3,
.ohb-panel[data-panel="5"] .ohb-cardval-row2 {
	gap: 0.85rem !important;
	margin-bottom: 0.25rem !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-billing {
	margin-top: 1.75rem !important;
	padding-top: 1.5rem !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-h {
	margin-bottom: 1rem !important;
}
.ohb-breakdown-day {
	margin-bottom: 0.45rem;
}
.ohb-breakdown-subs {
	padding: 0.15rem 0 0.35rem 0.65rem;
	border-left: 2px solid #e4e7ec;
	margin: 0.15rem 0 0.25rem 0.15rem;
}
.ohb-breakdown-sub {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.78rem;
	color: #667085;
	line-height: 1.45;
	padding: 0.1rem 0;
}
.ohb-breakdown-sub-name {
	flex: 1;
	min-width: 0;
}
.ohb-breakdown-row {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.85rem;
	color: #344054;
	padding: 0.2rem 0;
}

/* ===== v1.43.41 — card fields FULL width (no shrink / gap) ===== */
.ohb-panel[data-panel="5"] .ohb-cardval-right,
.ohb-panel[data-panel="5"] .ohb-card-element-wrap,
.ohb-panel[data-panel="5"] .ohb-cardval-billing {
	width: 100% !important;
	max-width: 420px !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-label {
	display: block !important;
	width: 100% !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-input,
.ohb-panel[data-panel="5"] .ohb-cardval-label input,
.ohb-panel[data-panel="5"] .ohb-cardval-label select,
.ohb-panel[data-panel="5"] .ohb-card-number-wrap,
.ohb-panel[data-panel="5"] .ohb-card-field,
.ohb-panel[data-panel="5"] #ohb-card-element,
.ohb-panel[data-panel="5"] #ohb-card-number,
.ohb-panel[data-panel="5"] #ohb-card-holder,
.ohb-panel[data-panel="5"] #ohb-card-billing-email,
.ohb-panel[data-panel="5"] #ohb-card-billing-street,
.ohb-panel[data-panel="5"] #ohb-card-billing-country,
.ohb-panel[data-panel="5"] #ohb-card-mm,
.ohb-panel[data-panel="5"] #ohb-card-yy,
.ohb-panel[data-panel="5"] #ohb-card-cvc,
.ohb-panel[data-panel="5"] #ohb-card-billing-city,
.ohb-panel[data-panel="5"] #ohb-card-billing-postcode {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	display: block !important;
	box-sizing: border-box !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-row3 {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 0.75rem !important;
	width: 100% !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-row2 {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.75rem !important;
	width: 100% !important;
}
.ohb-panel[data-panel="5"] .ohb-cardval-row3 .ohb-cardval-label,
.ohb-panel[data-panel="5"] .ohb-cardval-row2 .ohb-cardval-label {
	width: 100% !important;
	min-width: 0 !important;
}
.ohb-panel[data-panel="5"] .ohb-card-number-wrap input {
	width: 100% !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* ===== v1.43.42 — Guestline Filters modal + grid view ===== */
.ohb-filters-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483000 !important;
	background: rgba(20, 24, 32, 0.45) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1rem !important;
}
.ohb-filters-dialog {
	background: #fff !important;
	border-radius: 12px !important;
	width: 100% !important;
	max-width: 420px !important;
	max-height: 88vh !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 20px 50px rgba(0,0,0,.28) !important;
	overflow: hidden !important;
}
.ohb-filters-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 1rem 1.25rem !important;
	border-bottom: 1px solid #eef0f3 !important;
}
.ohb-filters-head h3 {
	margin: 0 !important;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}
.ohb-filters-close {
	border: 0 !important;
	background: none !important;
	font-size: 1.5rem !important;
	line-height: 1 !important;
	color: #667085 !important;
	cursor: pointer !important;
	padding: 0.15rem 0.35rem !important;
}
.ohb-filters-body {
	overflow-y: auto !important;
	padding: 0.75rem 1.25rem 1rem !important;
	flex: 1 !important;
}
.ohb-flt-section {
	padding: 1rem 0 !important;
	border-bottom: 1px solid #eef0f3 !important;
}
.ohb-flt-section:last-child { border-bottom: 0 !important; }
.ohb-flt-section h4 {
	margin: 0 0 0.25rem !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.ohb-flt-hint {
	margin: 0 0 0.75rem !important;
	font-size: 0.8rem !important;
	color: #667085 !important;
}
.ohb-flt-search-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	padding: 0.55rem 0.85rem !important;
	background: #f9fafb !important;
}
.ohb-flt-search {
	border: 0 !important;
	background: transparent !important;
	width: 100% !important;
	font-size: 0.9rem !important;
	outline: none !important;
}
.ohb-flt-price-row {
	display: flex !important;
	align-items: flex-end !important;
	gap: 0.5rem !important;
}
.ohb-flt-price-row label {
	flex: 1 !important;
	font-size: 0.75rem !important;
	color: #667085 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.3rem !important;
}
.ohb-flt-price-row input {
	width: 100% !important;
	padding: 0.6rem 0.75rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	font-size: 0.9rem !important;
	background: #f9fafb !important;
	box-sizing: border-box !important;
}
.ohb-flt-price-sep { color: #98a2b3; padding-bottom: 0.7rem; }
.ohb-flt-checks {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.55rem !important;
}
.ohb-flt-checks--2col {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.5rem 0.75rem !important;
}
.ohb-flt-check {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.45rem !important;
	font-size: 0.875rem !important;
	color: #344054 !important;
	cursor: pointer !important;
	margin: 0 !important;
	font-weight: 400 !important;
}
.ohb-flt-check input {
	margin-top: 0.15rem !important;
	width: 1.05rem !important;
	height: 1.05rem !important;
	flex-shrink: 0 !important;
	accent-color: #1e1b4b !important;
}
.ohb-filters-foot {
	display: flex !important;
	justify-content: flex-end !important;
	gap: 0.65rem !important;
	padding: 0.85rem 1.25rem !important;
	border-top: 1px solid #eef0f3 !important;
	background: #fff !important;
}
.ohb-filters-foot .ohb-btn {
	min-width: 7rem !important;
	padding: 0.65rem 1.1rem !important;
	font-weight: 600 !important;
}
.ohb-view-grid-btn.is-active {
	background: #f2f4f7 !important;
	border-color: #98a2b3 !important;
}

/* Grid view for room results */
#ohb-rooms-list-priced.ohb-rooms-grid-view,
.ohb-rooms-list.ohb-rooms-grid-view,
.ohb-rooms-grid-view {
	display: block !important;
}
.ohb-rooms-grid-view .ohb-results-toolbar {
	width: 100% !important;
}
.ohb-rooms-grid-view .ohb-room-result {
	display: inline-block !important;
	vertical-align: top !important;
	width: calc(33.333% - 0.75rem) !important;
	margin: 0 0.5rem 1.25rem 0 !important;
	border: 1px solid #e4e7ec !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	background: #fff !important;
}
@media (max-width: 900px) {
	.ohb-rooms-grid-view .ohb-room-result {
		width: calc(50% - 0.5rem) !important;
	}
}
@media (max-width: 560px) {
	.ohb-rooms-grid-view .ohb-room-result {
		width: 100% !important;
		margin-right: 0 !important;
	}
}
.ohb-rooms-grid-view .ohb-room-result .ohb-result-body,
.ohb-rooms-grid-view .ohb-room-result .ohb-rate-row {
	flex-direction: column !important;
}
.ohb-rooms-grid-view .ohb-room-photos {
	width: 100% !important;
}
.ohb-rooms-grid-view .ohb-photo-main {
	width: 100% !important;
	height: 160px !important;
	object-fit: cover !important;
}

/* ===== v1.43.44 — Filters polish + FIXED grid (list view untouched) ===== */

/* Filters modal — Guestline gold buttons, no pink */
.ohb-filters-overlay {
	z-index: 2147483646 !important;
}
.ohb-filters-dialog {
	max-width: 480px !important;
	width: min(480px, 94vw) !important;
}
.ohb-filters-foot {
	gap: 0.75rem !important;
}
.ohb-filters-foot .ohb-btn,
.ohb-filters-foot #ohb-flt-apply {
	background: #c9a227 !important;
	border: 1.5px solid #c9a227 !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	min-height: 42px !important;
	padding: 0.55rem 1.25rem !important;
	box-shadow: none !important;
	outline: none !important;
}
.ohb-filters-foot .ohb-btn:hover,
.ohb-filters-foot #ohb-flt-apply:hover {
	background: #b8921f !important;
	border-color: #b8921f !important;
	color: #fff !important;
}
.ohb-filters-foot .ohb-btn-ghost,
.ohb-filters-foot #ohb-flt-clear {
	background: #fff !important;
	border: 1.5px solid #d0d5dd !important;
	color: #344054 !important;
	border-radius: 8px !important;
	font-weight: 500 !important;
	min-height: 42px !important;
	padding: 0.55rem 1.25rem !important;
	box-shadow: none !important;
	outline: none !important;
}
.ohb-filters-foot .ohb-btn-ghost:hover,
.ohb-filters-foot #ohb-flt-clear:hover {
	background: #f9fafb !important;
	border-color: #98a2b3 !important;
	color: #1a1a1a !important;
}

/* ---- LIST VIEW: reset any accidental grid rules ---- */
#ohb-rooms-list-priced:not(.ohb-rooms-grid-view) > .ohb-room-result,
.ohb-rooms-list:not(.ohb-rooms-grid-view) > .ohb-room-result {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 1.25rem 0 !important;
	vertical-align: stretch !important;
}

/* ---- GRID VIEW only ---- */
.ohb-rooms-grid-view {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 1rem !important;
}
.ohb-rooms-grid-view > .ohb-results-toolbar {
	flex: 0 0 100% !important;
	width: 100% !important;
	margin-bottom: 0.25rem !important;
}
.ohb-rooms-grid-view > .ohb-room-result,
.ohb-rooms-grid-view > .ohb-room-card {
	flex: 1 1 calc(33.333% - 0.75rem) !important;
	max-width: calc(33.333% - 0.75rem) !important;
	min-width: 260px !important;
	width: auto !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	border: 1px solid #e4e7ec !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	box-sizing: border-box !important;
}
.ohb-rooms-grid-view > .ohb-room-result .ohb-result-body {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
.ohb-rooms-grid-view > .ohb-room-result .ohb-room-photos {
	width: 100% !important;
	max-width: 100% !important;
	flex-shrink: 0 !important;
}
.ohb-rooms-grid-view > .ohb-room-result .ohb-photo-main {
	width: 100% !important;
	height: 160px !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}
.ohb-rooms-grid-view > .ohb-room-result .ohb-photo-thumb {
	display: none !important; /* grid: main photo only, cleaner */
}
.ohb-rooms-grid-view > .ohb-room-result .ohb-result-info,
.ohb-rooms-grid-view > .ohb-room-result .ohb-room-info {
	padding: 0.85rem 1rem 0.5rem !important;
}
.ohb-rooms-grid-view > .ohb-room-result .ohb-rates-list,
.ohb-rooms-grid-view > .ohb-room-result .ohb-result-rates {
	padding: 0 0.75rem 0.85rem !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.ohb-rooms-grid-view > .ohb-room-result .ohb-rate-row {
	flex-wrap: wrap !important;
	gap: 0.35rem !important;
	padding: 0.55rem 0 !important;
}
@media (max-width: 1100px) {
	.ohb-rooms-grid-view > .ohb-room-result,
	.ohb-rooms-grid-view > .ohb-room-card {
		flex: 1 1 calc(50% - 0.5rem) !important;
		max-width: calc(50% - 0.5rem) !important;
	}
}
@media (max-width: 640px) {
	.ohb-rooms-grid-view > .ohb-room-result,
	.ohb-rooms-grid-view > .ohb-room-card {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

/* Toolbar wider / cleaner */
.ohb-results-toolbar {
	width: 100% !important;
	max-width: 100% !important;
}

/* ===== v1.43.45 — Guestline grid cards (exact layout) ===== */
.ohb-rooms-grid-view {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1.25rem !important;
	align-items: stretch !important;
}
.ohb-rooms-grid-view > .ohb-results-toolbar {
	flex: 0 0 100% !important;
	width: 100% !important;
}
.ohb-rooms-grid-view > .ohb-room-grid-card {
	flex: 1 1 calc(33.333% - 0.9rem) !important;
	max-width: calc(33.333% - 0.9rem) !important;
	min-width: 280px !important;
	margin: 0 !important;
	border: 1px solid #e4e7ec !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #fff !important;
	box-shadow: none !important;
	display: flex !important;
	flex-direction: column !important;
}
.ohb-grid-card-inner {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}
.ohb-grid-photo-wrap {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 10 !important;
	background: #f2f4f7 !important;
	overflow: hidden !important;
}
.ohb-grid-photo {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.ohb-grid-body {
	padding: 1rem 1.1rem 1.15rem !important;
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	gap: 0.35rem !important;
}
.ohb-grid-title {
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	line-height: 1.3 !important;
	margin: 0 !important;
}
.ohb-grid-max {
	font-size: 0.8rem !important;
	color: #667085 !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.25rem !important;
	flex-wrap: wrap !important;
}
.ohb-grid-max .ohb-people-ico {
	width: 14px !important;
	height: 14px !important;
}
.ohb-grid-scarcity {
	margin: 0.15rem 0 !important;
}
.ohb-grid-scarcity .ohb-only-left {
	display: inline-block !important;
	font-size: 0.7rem !important;
	font-weight: 600 !important;
	color: #b42318 !important;
	border: 1px solid #fda29b !important;
	border-radius: 4px !important;
	padding: 0.15rem 0.45rem !important;
}
.ohb-grid-desc {
	font-size: 0.84rem !important;
	color: #475467 !important;
	line-height: 1.45 !important;
	margin: 0.25rem 0 0.5rem !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}
.ohb-grid-foot {
	margin-top: auto !important;
	padding-top: 0.75rem !important;
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
}
.ohb-view-more-prices {
	background: #fff !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	padding: 0.5rem 0.85rem !important;
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	color: #344054 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
}
.ohb-view-more-prices:hover {
	background: #f9fafb !important;
	border-color: #98a2b3 !important;
}
.ohb-grid-from {
	text-align: right !important;
}
.ohb-grid-from-label {
	display: block !important;
	font-size: 0.72rem !important;
	color: #667085 !important;
	margin-bottom: 0.15rem !important;
}
.ohb-grid-from-price {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
}
@media (max-width: 1100px) {
	.ohb-rooms-grid-view > .ohb-room-grid-card {
		flex: 1 1 calc(50% - 0.7rem) !important;
		max-width: calc(50% - 0.7rem) !important;
	}
}
@media (max-width: 640px) {
	.ohb-rooms-grid-view > .ohb-room-grid-card {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

/* List view must never use grid-card styles */
.ohb-rooms-list:not(.ohb-rooms-grid-view) > .ohb-room-result,
#ohb-rooms-list-priced:not(.ohb-rooms-grid-view) > .ohb-room-result {
	flex: none !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* ===== v1.43.46 — Hotel More Details modal (Guestline) ===== */
.ohb-hotel-details-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483646 !important;
	background: rgba(20, 24, 32, 0.5) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1rem !important;
}
.ohb-hotel-details-dialog {
	background: #fff !important;
	border-radius: 12px !important;
	width: min(560px, 96vw) !important;
	max-height: 90vh !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.3) !important;
}
.ohb-hd-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 0.9rem 1.15rem !important;
	border-bottom: 1px solid #eef0f3 !important;
	flex-shrink: 0 !important;
}
.ohb-hd-head h3 {
	margin: 0 !important;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
}
.ohb-hd-close {
	border: 0 !important;
	background: none !important;
	font-size: 1.5rem !important;
	line-height: 1 !important;
	color: #667085 !important;
	cursor: pointer !important;
	padding: 0.15rem 0.4rem !important;
}
.ohb-hd-body {
	overflow-y: auto !important;
	padding: 0 0 1.25rem !important;
}
.ohb-hd-gallery {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 10 !important;
	background: #e4e7ec !important;
	overflow: hidden !important;
}
.ohb-hd-photo {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.ohb-hd-nav {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	border: 0 !important;
	background: rgba(255,255,255,.92) !important;
	color: #1a1a1a !important;
	font-size: 1.35rem !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.15) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
}
.ohb-hd-prev { left: 0.65rem !important; }
.ohb-hd-next { right: 0.65rem !important; }
.ohb-hd-dots {
	position: absolute !important;
	bottom: 0.65rem !important;
	left: 0 !important;
	right: 0 !important;
	display: flex !important;
	justify-content: center !important;
	gap: 0.35rem !important;
}
.ohb-hd-dot {
	width: 7px !important;
	height: 7px !important;
	border-radius: 50% !important;
	background: rgba(255,255,255,.55) !important;
	cursor: pointer !important;
}
.ohb-hd-dot.is-active { background: #fff !important; }
.ohb-hd-times {
	display: flex !important;
	gap: 1.25rem !important;
	padding: 1rem 1.25rem 0.35rem !important;
	font-size: 0.9rem !important;
	color: #344054 !important;
}
.ohb-hd-desc {
	padding: 0.5rem 1.25rem 0.75rem !important;
}
.ohb-hd-desc p {
	margin: 0 0 0.85rem !important;
	font-size: 0.875rem !important;
	line-height: 1.55 !important;
	color: #344054 !important;
}
.ohb-hd-section {
	padding: 0.85rem 1.25rem !important;
	border-top: 1px solid #eef0f3 !important;
}
.ohb-hd-section h4 {
	margin: 0 0 0.65rem !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #1a1a1a !important;
	display: flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
}
.ohb-hd-facilities {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.55rem 1rem !important;
}
.ohb-hd-facilities li {
	display: flex !important;
	align-items: center !important;
	gap: 0.4rem !important;
	font-size: 0.85rem !important;
	color: #344054 !important;
}
.ohb-hd-address {
	margin: 0 0 0.75rem !important;
	font-size: 0.875rem !important;
	color: #475467 !important;
}
.ohb-hd-map {
	border-radius: 8px !important;
	overflow: hidden !important;
	border: 1px solid #e4e7ec !important;
	height: 220px !important;
}
.ohb-hd-map iframe {
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	display: block !important;
}

/* ===== v1.43.47 — Grid 3-col full width + hotel modal wider ===== */
.ohb-panel[data-panel="1"] #ohb-rooms-list-priced,
.ohb-panel[data-panel="1"] #ohb-rooms-list,
.ohb-panel[data-panel="1"] .ohb-rooms,
.ohb-panel[data-panel="1"] #ohb-browse-section,
.ohb-panel[data-panel="1"] .ohb-browse-rooms,
.ohb-panel[data-panel="1"] .ohb-main {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Grid: real CSS grid, 3 columns */
.ohb-rooms.ohb-rooms-grid-view,
#ohb-rooms-list.ohb-rooms-grid-view,
#ohb-rooms-list-priced.ohb-rooms-grid-view {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.25rem !important;
	align-items: stretch !important;
	width: 100% !important;
}
.ohb-rooms-grid-view > .ohb-results-toolbar {
	grid-column: 1 / -1 !important;
	width: 100% !important;
}
.ohb-rooms-grid-view > .ohb-room-grid-card,
.ohb-rooms-grid-view > .ohb-room-result {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	margin: 0 !important;
}
@media (max-width: 1100px) {
	.ohb-rooms.ohb-rooms-grid-view,
	#ohb-rooms-list.ohb-rooms-grid-view,
	#ohb-rooms-list-priced.ohb-rooms-grid-view {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 640px) {
	.ohb-rooms.ohb-rooms-grid-view,
	#ohb-rooms-list.ohb-rooms-grid-view,
	#ohb-rooms-list-priced.ohb-rooms-grid-view {
		grid-template-columns: 1fr !important;
	}
}

.ohb-hotel-details-dialog {
	width: min(640px, 96vw) !important;
}

/* ===== v1.43.48 — Your Booking rail: Guestline icons + weights ===== */
.ohb-rail-card {
	font-family: inherit !important;
	color: #1a1a1a !important;
}
.ohb-rail-title {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-rail-hotel {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-rail-daynum {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	line-height: 1.1 !important;
	display: inline !important;
}
.ohb-rail-dayrest {
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
}
.ohb-rail-weekday {
	display: block !important;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.1rem !important;
}
.ohb-rail-lbl {
	font-size: 0.65rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.05em !important;
	color: #9ca3af !important;
}
.ohb-rail-room-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-rail-guests-icon {
	display: inline-flex !important;
	align-items: center !important;
	color: #111827 !important;
	margin-left: 0.15rem !important;
}
.ohb-rail-guests-icon svg {
	display: block !important;
}
.ohb-rail-room-price {
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-rail-room-title {
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	line-height: 1.35 !important;
}
.ohb-rail-room-title-row {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0.5rem !important;
}
.ohb-rail-rate-name {
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.15rem !important;
}
.ohb-rail-who {
	font-size: 0.8rem !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
	margin-top: 0.2rem !important;
}
.ohb-rail-remove {
	color: #6b7280 !important;
	padding: 0.2rem !important;
	flex-shrink: 0 !important;
}
.ohb-rail-remove:hover {
	color: #b42318 !important;
	background: transparent !important;
}
.ohb-rail-total,
#ohb-rail-total-row {
	font-weight: 700 !important;
}
#ohb-rail-total {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-breakdown-toggle {
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}
.ohb-breakdown-row {
	font-size: 0.8rem !important;
	font-weight: 400 !important;
	color: #4b5563 !important;
}
.ohb-rail-continue,
#ohb-rail-continue {
	font-weight: 600 !important;
	font-size: 0.95rem !important;
}

/* ===== v1.43.49 — party icons: adults + smaller children ===== */
.ohb-rail-guests-icon {
	display: inline-flex !important;
	align-items: flex-end !important;
	gap: 1px !important;
	margin-left: 0.25rem !important;
	color: #111827 !important;
	vertical-align: middle !important;
}
.ohb-rail-guests-icon .ohb-ico-adult {
	display: block !important;
	flex-shrink: 0 !important;
}
.ohb-rail-guests-icon .ohb-ico-child {
	display: block !important;
	flex-shrink: 0 !important;
	opacity: 0.92 !important;
	margin-bottom: 1px !important;
}

/* ===== v1.43.50 — Guestline FA person/child icon sizing ===== */
.ohb-rail-guests-icon {
	display: inline-flex !important;
	align-items: flex-end !important;
	gap: 3px !important;
	margin-left: 0.4rem !important;
	color: #1a1a1a !important;
}
.ohb-rail-guests-icon .ohb-ico-adult {
	width: 11px !important;
	height: 16px !important;
	display: block !important;
}
.ohb-rail-guests-icon .ohb-ico-child {
	width: 9px !important;
	height: 13px !important;
	display: block !important;
}

/* ===== v1.43.51 — modal widths: Filters 550 / Hotel 700 / Lightbox full ===== */
.ohb-filters-dialog {
	max-width: 550px !important;
	width: min(550px, 94vw) !important;
}
.ohb-hotel-details-dialog {
	max-width: 700px !important;
	width: min(700px, 96vw) !important;
}

/* Photo lightbox — full-width image stage */
.ohb-photo-lb {
	padding: 0.75rem !important;
	background: rgba(20, 20, 20, 0.75) !important;
}
.ohb-photo-lb-dialog {
	max-width: min(1100px, 98vw) !important;
	width: min(1100px, 98vw) !important;
	max-height: 94vh !important;
	border-radius: 8px !important;
}
.ohb-photo-lb-stage {
	min-height: min(72vh, 620px) !important;
	width: 100% !important;
	background: #1a1a1a !important;
}
.ohb-photo-lb-stage img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: min(72vh, 620px) !important;
	object-fit: contain !important;
}
.ohb-photo-lb-head {
	min-height: 44px !important;
	padding: 0.5rem 0.75rem !important;
}
.ohb-photo-lb-dots {
	background: #fff !important;
	padding: 0.65rem !important;
	display: flex !important;
	justify-content: center !important;
	gap: 0.4rem !important;
}

/* ===== v1.43.52 — Room cards: more space + larger clearer type ===== */
.ohb-room-result,
.ohb-room-card.ohb-room-result {
	padding: 1.35rem 1.4rem 1.25rem !important;
	border-radius: 14px !important;
	border: 1px solid #e4e7ec !important;
	margin-bottom: 1.5rem !important;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.04) !important;
}
.ohb-result-title,
.ohb-room-result .ohb-result-title {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	line-height: 1.3 !important;
	margin: 0 0 1rem !important;
	letter-spacing: -0.01em !important;
}
.ohb-result-body {
	gap: 1.25rem !important;
}
.ohb-result-left {
	gap: 0.85rem !important;
}
.ohb-result-meta {
	padding-top: 0.35rem !important;
}
.ohb-meta-row {
	margin-bottom: 0.55rem !important;
	gap: 0.75rem !important;
}
.ohb-max-guests,
.ohb .ohb-max-guests {
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
}
.ohb-more-details-btn {
	font-size: 0.88rem !important;
	font-weight: 500 !important;
	padding: 0.35rem 0.75rem !important;
}
.ohb-only-left {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	padding: 0.28rem 0.55rem !important;
	margin: 0.45rem 0 0.55rem !important;
	display: inline-block !important;
}
.ohb-room-desc,
.ohb .ohb-room-desc {
	font-size: 0.9rem !important;
	line-height: 1.55 !important;
	color: #4b5563 !important;
	margin: 0.5rem 0 0.75rem !important;
}
.ohb-card-amen-list {
	gap: 0.45rem 1rem !important;
	margin-top: 0.35rem !important;
}
.ohb-card-amen-list li {
	font-size: 0.82rem !important;
	color: #374151 !important;
	gap: 0.35rem !important;
}

/* Rates column */
.ohb-result-rates,
.ohb-rates-list {
	gap: 0 !important;
}
.ohb-rate-row {
	padding: 1rem 0.85rem !important;
	gap: 0.75rem 1rem !important;
	border-top: 1px solid #eef0f3 !important;
	align-items: center !important;
}
.ohb-rate-row:first-child {
	border-top: 0 !important;
	padding-top: 0.35rem !important;
}
.ohb-rate-row-name,
button.ohb-rate-row-name {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	line-height: 1.3 !important;
}
.ohb-rate-tick {
	font-size: 0.8rem !important;
	line-height: 1.4 !important;
	color: #4b5563 !important;
	margin-top: 0.2rem !important;
}
.ohb-rate-row-price strong {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
}
.ohb-card-guarantee {
	font-size: 0.72rem !important;
	color: #6b7280 !important;
	margin-top: 0.2rem !important;
	line-height: 1.3 !important;
}
.ohb-rate-select.ohb-btn,
.ohb-rate-row-action .ohb-btn {
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	padding: 0.55rem 1.15rem !important;
	min-height: 40px !important;
	border-radius: 8px !important;
}

/* Photos a bit roomier */
.ohb-room-result .ohb-room-photos {
	gap: 0.4rem !important;
}
.ohb-room-result .ohb-photo-main {
	border-radius: 10px !important;
}
.ohb-room-result .ohb-photo-thumb {
	border-radius: 8px !important;
}

/* ===== v1.43.53 — flow polish: meal tabs, FX note ===== */
.ohb-rail-fx-note {
	margin-top: 0.65rem !important;
	padding: 0.65rem 0.75rem !important;
	border: 1px solid #f5d0a9 !important;
	background: #fffbeb !important;
	border-radius: 8px !important;
	font-size: 0.78rem !important;
	line-height: 1.45 !important;
	color: #78350f !important;
}

/* Meal type tabs as clear segment buttons */
.ohb-meal-tabs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
	margin: 0 0 1.15rem !important;
}
.ohb-meal-tab {
	flex: 1 1 auto !important;
	min-width: 110px !important;
	padding: 0.7rem 1rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	color: #344054 !important;
	cursor: pointer !important;
	text-align: center !important;
	transition: border-color .15s, background .15s, color .15s !important;
}
.ohb-meal-tab:hover {
	border-color: #c9a227 !important;
	color: #1a1a1a !important;
}
.ohb-meal-tab.is-active {
	border-color: #c9a227 !important;
	background: #fbf7eb !important;
	color: #1a1a1a !important;
	box-shadow: 0 0 0 1px #c9a227 inset !important;
}
.ohb-meal-tab-count {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 1.25rem !important;
	height: 1.25rem !important;
	margin-left: 0.35rem !important;
	padding: 0 0.35rem !important;
	border-radius: 999px !important;
	background: #c9a227 !important;
	color: #fff !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
}
.ohb-meal-item {
	border: 1px solid #e4e7ec !important;
	border-radius: 10px !important;
	padding: 0.85rem 1rem !important;
	margin-bottom: 0.55rem !important;
	transition: border-color .15s, box-shadow .15s !important;
}
.ohb-meal-item:has(input:checked),
.ohb-extra-item:has(input:checked) {
	border-color: #c9a227 !important;
	box-shadow: 0 0 0 1px #c9a227 inset !important;
	background: #fffcf5 !important;
}
.ohb-extras-section-title {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	margin: 1.25rem 0 0.75rem !important;
	color: #111827 !important;
}

/* ===== v1.43.55 — dual-month calendar + rate modal polish ===== */

/* Calendar: prefer two months (Guestline) — larger day cells */
.ohb-calendar-pop.ohb-cal,
.ohb-calendar-pop.ohb-gl-dropdown {
	min-width: min(680px, 96vw) !important;
	width: max-content !important;
	max-width: min(780px, 96vw) !important;
	padding: 1.15rem 1.25rem 1.2rem !important;
}
.ohb-cal .ohb-cal-months {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 1.5rem !important;
}
.ohb-cal.is-two-up .ohb-cal-months {
	grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
}
.ohb-cal.is-two-up .ohb-cal-month-block.is-secondary {
	display: block !important;
}
.ohb-cal-month-block.is-secondary {
	display: none;
}
.ohb-cal-day {
	min-height: 52px !important;
	height: 52px !important;
	font-size: 0.95rem !important;
}
.ohb-cal-day.is-in-range,
.ohb-cal-day.is-selected {
	background: #1f2937 !important;
	color: #fff !important;
}
.ohb-cal-day.is-in-range:not(.is-selected) {
	background: #e5e7eb !important;
	color: #111827 !important;
	border-radius: 0 !important;
}
.ohb-cal-day.is-range-start {
	border-radius: 8px 0 0 8px !important;
}
.ohb-cal-day.is-range-end {
	border-radius: 0 8px 8px 0 !important;
}

/* Rate plan modal */
.ohb-rate-modal-overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483646 !important;
	background: rgba(20, 24, 32, 0.5) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 1rem !important;
}
.ohb-rate-detail-modal {
	background: #fff !important;
	border-radius: 14px !important;
	max-width: 520px !important;
	width: min(520px, 96vw) !important;
	padding: 1.35rem 1.5rem 1.5rem !important;
	position: relative !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.28) !important;
	max-height: 90vh !important;
	overflow-y: auto !important;
}
.ohb-rate-detail-modal .ohb-modal-close {
	position: absolute !important;
	top: 0.75rem !important;
	right: 0.75rem !important;
	width: 36px !important;
	height: 36px !important;
	border: 1.5px solid #e4e7ec !important;
	border-radius: 8px !important;
	background: #fff !important;
	font-size: 1.35rem !important;
	line-height: 1 !important;
	color: #667085 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.ohb-rate-detail-modal .ohb-modal-close:hover {
	background: #f9fafb !important;
	color: #111 !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-title {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 2.5rem 0.75rem 0 !important;
	letter-spacing: -0.01em !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-desc {
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: #4b5563 !important;
	margin: 0 0 1.25rem !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-h {
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 0.45rem !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-cancel {
	font-size: 0.9375rem !important;
	line-height: 1.55 !important;
	color: #4b5563 !important;
	margin: 0 0 1.35rem !important;
}
.ohb-rate-timeline-note {
	font-size: 0.8125rem !important;
	color: #9ca3af !important;
	font-style: normal !important;
	text-align: center !important;
	margin: 0 0 1.15rem !important;
	letter-spacing: 0.01em !important;
}
.ohb-rate-timeline-track {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 0 !important;
	width: 100% !important;
}
.ohb-rate-timeline-point {
	flex: 1 1 0 !important;
	max-width: 110px !important;
	min-width: 0 !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.4rem !important;
}
.ohb-rate-timeline-point strong {
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	color: #111827 !important;
	line-height: 1.3 !important;
	display: block !important;
}
.ohb-rate-timeline-point small {
	font-size: 0.75rem !important;
	color: #6b7280 !important;
	line-height: 1.35 !important;
	display: block !important;
}
.ohb-rate-tl-icon,
.ohb-rate-tl-dot {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	border: 1.5px solid #e5e7eb !important;
	background: #f9fafb !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #374151 !important;
	font-size: 0 !important;
	flex-shrink: 0 !important;
	box-sizing: border-box !important;
}
.ohb-rate-tl-icon .ohb-rate-tl-svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
}
.ohb-rate-tl-icon.is-blocked-icon {
	background: #fef2f2 !important;
	border-color: #fecaca !important;
	color: #b91c1c !important;
}
.ohb-rate-timeline-line {
	flex: 0.5 1 auto !important;
	height: 2px !important;
	background: #e5e7eb !important;
	margin-top: 19px !important;
	min-width: 10px !important;
	align-self: flex-start !important;
}
.ohb-rate-timeline-line.is-blocked {
	background: repeating-linear-gradient(90deg, #d1d5db 0, #d1d5db 5px, transparent 5px, transparent 9px) !important;
}
.ohb-rate-tl-dot--x {
	border-color: #f97066 !important;
	color: #b42318 !important;
	background: #fef3f2 !important;
}
.ohb-rate-tl-dot--ok {
	border-color: #32d583 !important;
	color: #027a48 !important;
	background: #ecfdf3 !important;
}
.ohb-rate-timeline-line {
	flex: 1 1 auto !important;
	height: 2px !important;
	background: #e5e7eb !important;
	margin-top: 15px !important;
	min-width: 12px !important;
}
.ohb-rate-timeline-line.is-blocked {
	background: repeating-linear-gradient(90deg, #f97066 0 4px, transparent 4px 8px) !important;
}

/* ===== v1.43.56 — FX note only on Summary / Book Now ===== */
.ohb-summary-fx-wrap {
	margin: 0.75rem 0 1rem !important;
}
.ohb-summary-fx-wrap:empty {
	display: none !important;
}
.ohb-summary-fx {
	max-width: 420px !important;
}
/* Hide rail FX on non-summary (JS also clears; belt-and-braces) */
.ohb:not(.ohb-summary-mode) #ohb-rail-note {
	display: none !important;
}
.ohb.ohb-summary-mode #ohb-rail-note {
	display: block !important;
}

/* ===== v1.43.57 — Global type scale: titles, body, totals larger ===== */
.ohb {
	font-size: 16px !important;
	line-height: 1.5 !important;
}
.ohb h3,
.ohb .ohb-summary-section-title,
.ohb .ohb-result-title,
.ohb .ohb-grid-title {
	font-size: 1.28rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #111827 !important;
}
.ohb .ohb-sub,
.ohb p.ohb-sub {
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
	color: #4b5563 !important;
}
.ohb .ohb-room-desc,
.ohb p.ohb-room-desc {
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
}
.ohb .ohb-rate-row-name,
.ohb button.ohb-rate-row-name {
	font-size: 1rem !important;
	font-weight: 600 !important;
}
.ohb .ohb-rate-tick {
	font-size: 0.88rem !important;
}
.ohb .ohb-rate-row-price strong {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
}
.ohb .ohb-card-guarantee {
	font-size: 0.8rem !important;
}
.ohb .ohb-max-guests {
	font-size: 0.95rem !important;
}
.ohb .ohb-card-amen-list li {
	font-size: 0.88rem !important;
}

/* Rail / totals */
.ohb-rail-title,
.ohb .ohb-rail-title {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
}
.ohb-rail-hotel {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
}
.ohb-rail-room-label {
	font-size: 1.05rem !important;
}
.ohb-rail-room-price {
	font-size: 1.05rem !important;
}
.ohb-rail-room-title {
	font-size: 0.98rem !important;
}
.ohb-rail-rate-name,
.ohb-rail-who {
	font-size: 0.88rem !important;
}
#ohb-rail-total,
.ohb-rail-total span:last-child {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
}
.ohb-rail-total span:first-child {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
}
#ohb-rail-total-note,
.ohb-rail-paynow {
	font-size: 0.9rem !important;
}
.ohb-rail-daynum {
	font-size: 1.5rem !important;
}
.ohb-rail-fx-note,
.ohb-summary-fx {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
}
.ohb-rail-fx-note strong,
.ohb-summary-fx strong {
	font-weight: 700 !important;
	color: #78350f !important;
}

/* Forms / summary */
.ohb-gl-field input,
.ohb-gl-field select,
.ohb input[type="text"],
.ohb input[type="email"],
.ohb input[type="tel"],
.ohb select {
	font-size: 0.95rem !important;
}
.ohb .ohb-btn,
.ohb button.ohb-btn {
	font-size: 0.95rem !important;
}
.ohb .ohb-btn-booknow {
	font-size: 1rem !important;
	font-weight: 600 !important;
}
.ohb-meal-tab {
	font-size: 0.95rem !important;
}
.ohb-meal-name {
	font-size: 0.95rem !important;
	font-weight: 600 !important;
}
.ohb-meal-desc {
	font-size: 0.85rem !important;
}
.ohb-meal-price {
	font-size: 0.9rem !important;
}
.ohb-filters-dialog h3,
.ohb-hotel-details-dialog h3,
.ohb-rate-detail-modal .ohb-rate-modal-title {
	font-size: 1.25rem !important;
}
.ohb-rate-detail-modal .ohb-rate-modal-desc,
.ohb-rate-detail-modal .ohb-rate-modal-cancel {
	font-size: 0.95rem !important;
}
.ohb-hd-desc p {
	font-size: 0.92rem !important;
}

/* ===== v1.43.59 — uniform form fields + smooth top ===== */
.ohb .ohb-gl-field input,
.ohb .ohb-gl-field select,
.ohb .ohb-gl-billing-grid input,
.ohb .ohb-gl-billing-grid select,
.ohb .ohb-gl-booking-row input,
.ohb .ohb-gl-booking-row select,
.ohb #ohb-guest-first,
.ohb #ohb-guest-last,
.ohb #ohb-guest-email,
.ohb #ohb-guest-phone,
.ohb #ohb-guest-address,
.ohb #ohb-guest-city,
.ohb #ohb-guest-postcode,
.ohb #ohb-guest-title,
.ohb #ohb-guest-country,
.ohb #ohb-guest-notes,
.ohb #ohb-guest-bed,
.ohb #ohb-promo-code {
	width: 100% !important;
	padding: 0.7rem 0.85rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	background: #f9fafb !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	color: #111827 !important;
	box-shadow: none !important;
	min-height: 48px !important;
	height: 48px !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.ohb .ohb-gl-field select,
.ohb #ohb-guest-title,
.ohb #ohb-guest-country,
.ohb #ohb-guest-bed {
	appearance: auto !important;
	-webkit-appearance: menulist !important;
	cursor: pointer !important;
	background-image: none !important;
}
.ohb .ohb-gl-field input:focus,
.ohb .ohb-gl-field select:focus,
.ohb .ohb-gl-billing-grid input:focus,
.ohb .ohb-gl-billing-grid select:focus {
	outline: none !important;
	border-color: #667085 !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(102, 112, 133, 0.12) !important;
}

/* Card validation fields — same as billing */
.ohb .ohb-cardval-label input,
.ohb .ohb-cardval-label select,
.ohb .ohb-cardval-input,
.ohb .ohb-card-field,
.ohb #ohb-card-number,
.ohb #ohb-card-month,
.ohb #ohb-card-year,
.ohb #ohb-card-cvc,
.ohb #ohb-card-name,
.ohb #ohb-card-email,
.ohb #ohb-card-street,
.ohb #ohb-card-city,
.ohb #ohb-card-postcode,
.ohb #ohb-card-billing-country {
	width: 100% !important;
	padding: 0.7rem 0.85rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	background: #f9fafb !important;
	font-size: 0.95rem !important;
	color: #111827 !important;
	box-shadow: none !important;
	min-height: 48px !important;
	height: 48px !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}
.ohb .ohb-cardval-label select,
.ohb #ohb-card-billing-country {
	appearance: auto !important;
	-webkit-appearance: menulist !important;
	cursor: pointer !important;
}
.ohb .ohb-cardval-label input:focus,
.ohb .ohb-cardval-label select:focus,
.ohb .ohb-cardval-input:focus {
	outline: none !important;
	border-color: #667085 !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(102, 112, 133, 0.12) !important;
}

/* ===== v1.43.60 — card page fields: kill theme CSS, no double border ===== */
.ohb.ohb-cardval-mode .ohb-cardval-right input,
.ohb.ohb-cardval-mode .ohb-cardval-right select,
.ohb .ohb-cardval-input,
.ohb input.ohb-cardval-input,
.ohb select.ohb-cardval-input,
.ohb #ohb-card-number,
.ohb #ohb-card-mm,
.ohb #ohb-card-yy,
.ohb #ohb-card-cvc,
.ohb #ohb-card-holder,
.ohb #ohb-card-billing-email,
.ohb #ohb-card-billing-country,
.ohb #ohb-card-billing-street,
.ohb #ohb-card-billing-city,
.ohb #ohb-card-billing-postcode {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0.35rem 0 0 !important;
	padding: 0.7rem 0.9rem !important;
	border: 1.5px solid #d0d5dd !important;
	border-radius: 8px !important;
	background-color: #f9fafb !important;
	background-image: none !important;
	font-size: 0.95rem !important;
	font-family: inherit !important;
	font-weight: 400 !important;
	color: #111827 !important;
	box-shadow: none !important;
	outline: none !important;
	min-height: 48px !important;
	height: 48px !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.ohb #ohb-card-billing-country,
.ohb select.ohb-cardval-input {
	-webkit-appearance: menulist !important;
	appearance: auto !important;
	cursor: pointer !important;
}
.ohb .ohb-cardval-input:focus,
.ohb #ohb-card-number:focus,
.ohb #ohb-card-mm:focus,
.ohb #ohb-card-yy:focus,
.ohb #ohb-card-cvc:focus,
.ohb #ohb-card-holder:focus,
.ohb #ohb-card-billing-email:focus,
.ohb #ohb-card-billing-street:focus,
.ohb #ohb-card-billing-city:focus,
.ohb #ohb-card-billing-postcode:focus,
.ohb #ohb-card-billing-country:focus {
	border-color: #667085 !important;
	background-color: #fff !important;
	box-shadow: 0 0 0 3px rgba(102, 112, 133, 0.12) !important;
}
/* Wrapper around card number must NOT look like a second field */
.ohb .ohb-card-number-wrap,
.ohb #ohb-card-element.ohb-card-field,
.ohb .ohb-card-field.ohb-card-number-wrap {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.ohb .ohb-cardval-label {
	display: block !important;
	font-size: 0.85rem !important;
	font-weight: 500 !important;
	color: #374151 !important;
	margin: 0 0 0.85rem !important;
}
.ohb .ohb-cardval-row3 {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 0.75rem !important;
}
