/**
 * Hotel Room Booking — MaMITs · Front-end styles.
 *
 * Everything is scoped under `.hrb-front` so themes can be aggressive
 * with their own globals without breaking the booking widget. We use
 * CSS custom properties for the brand palette so individual sites can
 * override them without forking the file.
 *
 * Brand: #6C5CE7 (purple) · #FF3D8A (magenta) · #00E5FF (cyan).
 */

.hrb-front {
	--hrb-brand:        #6C5CE7;
	--hrb-brand-700:    #5849c4;
	--hrb-brand-50:     #f1eefe;
	--hrb-magenta:      #FF3D8A;
	--hrb-cyan:         #00E5FF;

	--hrb-fg:           #1f2331;
	--hrb-fg-muted:     #5d6478;
	--hrb-fg-subtle:    #9aa0b1;
	--hrb-bg:           #ffffff;
	--hrb-bg-soft:      #fafafb;
	--hrb-bg-subtle:    #f4f5f8;

	--hrb-border:       #e3e6ee;
	--hrb-border-muted: #eef0f5;

	--hrb-success-fg:   #15803d;
	--hrb-warning-fg:   #b45309;
	--hrb-warning-50:   #fffbeb;
	--hrb-danger-fg:    #b91c1c;
	--hrb-danger-50:    #fef2f2;

	--hrb-r-sm:  6px;
	--hrb-r-md:  10px;
	--hrb-r-lg:  16px;

	--hrb-shadow-sm:  0 1px 2px rgba(20,22,32,.04);
	--hrb-shadow-md:  0 4px 14px rgba(20,22,32,.06);
	--hrb-shadow-lg:  0 18px 40px rgba(20,22,32,.10);

	--hrb-fast:   .15s ease;
	--hrb-medium: .25s ease;

	font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, system-ui, sans-serif;
	color: var(--hrb-fg);
	-webkit-font-smoothing: antialiased;
	font-feature-settings: 'cv11', 'ss01';

	box-sizing: border-box;
}
.hrb-front *,
.hrb-front *::before,
.hrb-front *::after { box-sizing: inherit; }

/* =============================================================== */
/*  Search form                                                    */
/* =============================================================== */

.hrb-front--form {
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	padding: 24px;
	box-shadow: var(--hrb-shadow-sm);
}
.hrb-front--form.is-compact {
	padding: 16px;
	box-shadow: none;
	border-radius: var(--hrb-r-md);
}

.hrb-search-form__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	align-items: end;
}
.hrb-search-form__field { display: flex; flex-direction: column; gap: 4px; }
.hrb-search-form__field label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--hrb-fg-muted);
}
.hrb-search-form__field input,
.hrb-search-form__field select {
	height: 42px;
	padding: 0 12px;
	font: inherit;
	font-size: 14px;
	color: var(--hrb-fg);
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-sm);
	transition: border-color var(--hrb-fast), box-shadow var(--hrb-fast);
}
.hrb-search-form__field input:focus,
.hrb-search-form__field select:focus {
	outline: none;
	border-color: var(--hrb-brand);
	box-shadow: 0 0 0 3px rgba(108,92,231,.15);
}

.hrb-search-form__submit { display: flex; align-items: end; }

/* =============================================================== */
/*  Buttons                                                        */
/* =============================================================== */

.hrb-front-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 42px;
	padding: 0 18px;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	color: var(--hrb-fg);
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-sm);
	text-decoration: none;
	cursor: pointer;
	transition: all var(--hrb-fast);
	white-space: nowrap;
}
.hrb-front-btn:hover { border-color: var(--hrb-fg-muted); }

.hrb-front-btn--primary {
	color: #fff;
	background: linear-gradient(180deg, var(--hrb-brand) 0%, var(--hrb-brand-700) 100%);
	border-color: var(--hrb-brand-700);
	box-shadow: 0 1px 0 rgba(255,255,255,.15) inset, 0 2px 8px rgba(108,92,231,.25);
}
.hrb-front-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255,255,255,.15) inset, 0 6px 14px rgba(108,92,231,.3); }
.hrb-front-btn--primary:active { transform: translateY(0); }

/* =============================================================== */
/*  Results summary strip                                          */
/* =============================================================== */

.hrb-front--results { margin-top: 16px; }

.hrb-results-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	margin: 24px 0;
	background: var(--hrb-bg-soft);
	border: 1px solid var(--hrb-border-muted);
	border-radius: var(--hrb-r-md);
	font-size: 14px;
	flex-wrap: wrap;
}
.hrb-results-summary__dates {
	display: inline-flex; align-items: center; gap: 10px;
}
.hrb-results-summary__meta {
	color: var(--hrb-fg-muted); font-size: 12px; margin-left: 8px;
}
.hrb-results-summary__guests,
.hrb-results-summary__count { color: var(--hrb-fg-muted); font-size: 13px; }

/* =============================================================== */
/*  Room type cards                                                */
/* =============================================================== */

.hrb-results-list {
	display: grid;
	gap: 20px;
}

.hrb-rt-card {
	display: grid;
	grid-template-columns: minmax(180px, 280px) 1fr;
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	overflow: hidden;
	box-shadow: var(--hrb-shadow-sm);
	transition: box-shadow var(--hrb-medium), transform var(--hrb-medium);
}
.hrb-rt-card:hover { box-shadow: var(--hrb-shadow-md); transform: translateY(-2px); }

.hrb-rt-card__media {
	position: relative;
	background: var(--hrb-bg-subtle);
	min-height: 200px;
}
.hrb-rt-card__media img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.hrb-rt-card__media-placeholder {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%; color: var(--hrb-fg-subtle);
}
.hrb-rt-card__badge {
	position: absolute; top: 12px; left: 12px;
	padding: 4px 10px;
	font-size: 11px; font-weight: 600;
	color: #fff;
	background: var(--hrb-magenta);
	border-radius: 999px;
	letter-spacing: .02em;
	box-shadow: 0 4px 14px rgba(255,61,138,.25);
}

.hrb-rt-card__body { padding: 24px; }
.hrb-rt-card__title { margin: 0 0 4px; font-size: 18px; font-weight: 600; }
.hrb-rt-card__code {
	font-size: 11px; color: var(--hrb-fg-muted);
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	background: var(--hrb-bg-subtle);
	padding: 1px 6px;
	border-radius: 4px;
}
.hrb-rt-card__desc {
	margin: 12px 0 16px;
	color: var(--hrb-fg-muted); font-size: 13px; line-height: 1.55;
}
.hrb-rt-card__plans { display: grid; gap: 8px; margin-top: 16px; }

/* =============================================================== */
/*  Plan rows                                                      */
/* =============================================================== */

.hrb-plan-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 24px;
	padding: 16px;
	border: 1px solid var(--hrb-border-muted);
	border-radius: var(--hrb-r-md);
	background: var(--hrb-bg-soft);
	align-items: center;
}
.hrb-plan-row__name {
	display: flex; align-items: center; gap: 8px;
	margin-bottom: 6px;
	font-size: 14px;
}
.hrb-plan-row__features {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: 8px;
	font-size: 12px; color: var(--hrb-fg-muted);
}
.hrb-plan-row__price { text-align: right; }
.hrb-plan-row__total {
	font-size: 22px; font-weight: 700;
	color: var(--hrb-fg);
	font-feature-settings: 'tnum';
}
.hrb-plan-row__avg {
	font-size: 11px; color: var(--hrb-fg-subtle);
	margin-bottom: 8px;
}
.hrb-plan-row__rooms-hint {
	font-size: 10px; color: var(--hrb-fg-subtle);
	margin-bottom: 6px;
}
.hrb-plan-row__book { margin-top: 4px; }

/* Pills (used inline) */
.hrb-front .hrb-pill {
	display: inline-block;
	padding: 1px 8px;
	font-size: 10px; font-weight: 600;
	border-radius: 999px;
	background: var(--hrb-brand-50);
	color: var(--hrb-brand);
	letter-spacing: .02em;
	text-transform: uppercase;
}

/* =============================================================== */
/*  Empty / error states                                           */
/* =============================================================== */

.hrb-no-results,
.hrb-front-error,
.hrb-front-empty {
	padding: 48px 24px;
	text-align: center;
	background: var(--hrb-bg-soft);
	border: 1px dashed var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	margin: 24px 0;
}
.hrb-no-results svg { color: var(--hrb-fg-subtle); margin-bottom: 12px; }
.hrb-no-results h3 { margin: 0 0 8px; font-size: 16px; }
.hrb-no-results p  { margin: 0; color: var(--hrb-fg-muted); font-size: 13px; max-width: 480px; margin: 0 auto; }
.hrb-no-results--inline { padding: 24px 16px; margin: 12px 0; }
.hrb-front-error {
	border-color: var(--hrb-danger-fg);
	background: var(--hrb-danger-50);
	color: var(--hrb-danger-fg);
	font-size: 13px;
}

/* =============================================================== */
/*  Detail page                                                    */
/* =============================================================== */

.hrb-front--detail {
	display: grid;
	grid-template-columns: minmax(280px, 420px) 1fr;
	gap: 32px;
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	padding: 24px;
	margin: 24px 0;
}
.hrb-detail__media { display: flex; flex-direction: column; gap: 8px; }
.hrb-detail__hero {
	width: 100%; height: 280px; object-fit: cover;
	border-radius: var(--hrb-r-md);
	display: block;
}
.hrb-detail__thumbs {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px;
}
.hrb-detail__thumbs img {
	width: 100%; height: 64px; object-fit: cover;
	border-radius: var(--hrb-r-sm);
	cursor: pointer;
	transition: opacity var(--hrb-fast);
}
.hrb-detail__thumbs img:hover { opacity: .85; }

.hrb-detail__title  { font-size: 24px; font-weight: 600; margin: 0 0 4px; }
.hrb-detail__capacity { color: var(--hrb-fg-muted); font-size: 13px; margin-bottom: 16px; }
.hrb-detail__desc  { color: var(--hrb-fg); font-size: 14px; line-height: 1.6; margin-bottom: 24px; }
.hrb-detail__amenities h3,
.hrb-detail__rates h3 { font-size: 14px; font-weight: 600; margin: 0 0 8px; }
.hrb-detail__amenities ul {
	list-style: none; padding: 0; margin: 0 0 24px;
	display: flex; flex-wrap: wrap; gap: 6px;
}
.hrb-detail__amenities li {
	font-size: 12px;
	padding: 4px 10px;
	background: var(--hrb-bg-subtle);
	border-radius: 999px;
	color: var(--hrb-fg-muted);
}
.hrb-detail__rates-hint { color: var(--hrb-fg-muted); font-size: 13px; margin: 0 0 12px; }

/* =============================================================== */
/*  Mobile                                                         */
/* =============================================================== */

@media (max-width: 720px) {
	.hrb-rt-card,
	.hrb-front--detail { grid-template-columns: 1fr; }
	.hrb-rt-card__media { min-height: 200px; }
	.hrb-plan-row { grid-template-columns: 1fr; gap: 12px; }
	.hrb-plan-row__price { text-align: left; }
	.hrb-results-summary { flex-direction: column; align-items: flex-start; }
}

/* =============================================================== */
/*  Cart / checkout                                                */
/* =============================================================== */

.hrb-front--cart { margin: 24px 0; }

.hrb-cart-progress {
	display: flex; gap: 0;
	margin-bottom: 32px;
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-md);
	overflow: hidden;
	background: var(--hrb-bg);
}
.hrb-cart-progress__step {
	flex: 1;
	display: flex; align-items: center; gap: 10px;
	padding: 14px 18px;
	font-size: 13px;
	border-right: 1px solid var(--hrb-border-muted);
	transition: background var(--hrb-fast);
}
.hrb-cart-progress__step:last-child { border-right: 0; }
.hrb-cart-progress__dot {
	width: 24px; height: 24px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 999px;
	background: var(--hrb-bg-subtle);
	color: var(--hrb-fg-muted);
	font-size: 11px; font-weight: 700;
	flex-shrink: 0;
}
.hrb-cart-progress__step.is-done .hrb-cart-progress__dot {
	background: var(--hrb-success-fg); color: #fff;
}
.hrb-cart-progress__step.is-active {
	background: var(--hrb-brand-50);
}
.hrb-cart-progress__step.is-active .hrb-cart-progress__dot {
	background: linear-gradient(180deg, var(--hrb-brand) 0%, var(--hrb-brand-700) 100%);
	color: #fff;
}
.hrb-cart-progress__step.is-active .hrb-cart-progress__label {
	color: var(--hrb-brand); font-weight: 600;
}
.hrb-cart-progress__label { color: var(--hrb-fg-muted); }

/* Two-column cart layout */
.hrb-cart-grid {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 24px;
	align-items: flex-start;
}
.hrb-cart-h2 { margin: 0 0 16px; font-size: 20px; font-weight: 600; }

/* Summary card (review step) */
.hrb-cart-summary-card {
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	overflow: hidden;
}
.hrb-cart-summary-card__head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 20px 24px;
	background: var(--hrb-bg-soft);
	border-bottom: 1px solid var(--hrb-border-muted);
}
.hrb-cart-summary-card__rt { font-size: 16px; font-weight: 600; }
.hrb-cart-summary-card__plan { color: var(--hrb-fg-muted); font-size: 13px; margin-top: 2px; }

.hrb-cart-summary-card__row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--hrb-border-muted);
}
.hrb-cart-summary-card__lbl {
	font-size: 11px; font-weight: 600; text-transform: uppercase;
	letter-spacing: .04em; color: var(--hrb-fg-muted);
	margin-bottom: 4px;
}
.hrb-cart-summary-card__val { font-size: 14px; }

.hrb-cart-summary-card__nights { padding: 20px 24px; }
.hrb-cart-summary-card__nights-head {
	font-size: 11px; font-weight: 600; text-transform: uppercase;
	letter-spacing: .04em; color: var(--hrb-fg-muted);
	margin-bottom: 12px;
}
.hrb-cart-summary-card__per-nights {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px;
}
.hrb-cart-summary-card__per-night {
	display: flex; justify-content: space-between;
	font-size: 13px;
	padding: 8px 12px;
	background: var(--hrb-bg-subtle);
	border-radius: var(--hrb-r-sm);
	font-feature-settings: 'tnum';
}

/* Totals sidebar */
.hrb-cart-totals {
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	padding: 24px;
	box-shadow: var(--hrb-shadow-sm);
	position: sticky;
	top: 20px;
}
.hrb-cart-totals__h { margin: 0 0 16px; font-size: 14px; font-weight: 600; }
.hrb-cart-totals__row {
	display: flex; justify-content: space-between;
	padding: 8px 0;
	font-size: 13px;
	border-top: 1px solid var(--hrb-border-muted);
	font-feature-settings: 'tnum';
}
.hrb-cart-totals__row:first-of-type { border-top: 0; }
.hrb-cart-totals__row--muted { color: var(--hrb-fg-subtle); font-size: 12px; }
.hrb-cart-totals__row--grand {
	border-top: 1px solid var(--hrb-border);
	margin-top: 4px;
	padding-top: 12px;
	font-size: 16px;
}
.hrb-cart-totals__row--grand strong { font-size: 22px; }
.hrb-cart-totals__cta {
	display: block; width: 100%; margin-top: 16px;
}
.hrb-cart-totals__hint {
	margin: 12px 0 0;
	font-size: 11px; color: var(--hrb-fg-subtle);
	text-align: center; line-height: 1.5;
}
.hrb-cart-totals__line {
	font-size: 13px; padding: 4px 0;
	color: var(--hrb-fg-muted);
}
.hrb-cart-totals--mini { padding: 16px 20px; }

/* Guest form */
.hrb-cart-form { background: var(--hrb-bg); border: 1px solid var(--hrb-border); border-radius: var(--hrb-r-lg); padding: 24px; }
.hrb-cart-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.hrb-cart-form__optin { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; padding: 12px; background: var(--hrb-bg-soft); border-radius: var(--hrb-r-sm); font-size: 13px; cursor: pointer; }
.hrb-cart-form__actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--hrb-border-muted); }

.hrb-cart-form .hrb-prop-field { display: flex; flex-direction: column; gap: 4px; }
.hrb-cart-form .hrb-prop-field label { font-size: 12px; font-weight: 600; color: var(--hrb-fg); }
.hrb-cart-form .hrb-prop-field input,
.hrb-cart-form .hrb-prop-field textarea {
	font: inherit; padding: 10px 12px; font-size: 14px;
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-sm);
	transition: border-color var(--hrb-fast), box-shadow var(--hrb-fast);
}
.hrb-cart-form .hrb-prop-field input:focus,
.hrb-cart-form .hrb-prop-field textarea:focus {
	outline: none; border-color: var(--hrb-brand);
	box-shadow: 0 0 0 3px rgba(108,92,231,.15);
}
.hrb-cart-form .hrb-prop-field.has-error input,
.hrb-cart-form .hrb-prop-field.has-error textarea { border-color: var(--hrb-danger-fg); }
.hrb-cart-form .hrb-prop-field__error { font-size: 11px; color: var(--hrb-danger-fg); }

/* Confirmation */
.hrb-cart-confirmation {
	max-width: 560px; margin: 32px auto; text-align: center;
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	padding: 48px 32px;
	box-shadow: var(--hrb-shadow-sm);
}
.hrb-cart-confirmation__icon { color: var(--hrb-success-fg); margin-bottom: 16px; }
.hrb-cart-confirmation__title { font-size: 24px; font-weight: 600; margin: 0 0 8px; }
.hrb-cart-confirmation__ref {
	display: inline-block;
	margin: 16px 0;
	font-size: 12px; color: var(--hrb-fg-muted);
}
.hrb-cart-confirmation__ref code {
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	background: var(--hrb-brand-50); color: var(--hrb-brand);
	padding: 4px 12px; margin-left: 6px;
	border-radius: var(--hrb-r-sm); font-size: 14px; font-weight: 600;
}
.hrb-cart-confirmation__copy { color: var(--hrb-fg-muted); font-size: 14px; margin: 0 0 24px; }
.hrb-cart-confirmation__details {
	margin-top: 24px; padding-top: 24px;
	border-top: 1px solid var(--hrb-border-muted);
	text-align: left;
}
.hrb-cart-confirmation__details dl { margin: 0; display: grid; grid-template-columns: 120px 1fr; gap: 8px 16px; font-size: 13px; }
.hrb-cart-confirmation__details dt { color: var(--hrb-fg-muted); }
.hrb-cart-confirmation__details dd { margin: 0; }

/* Compact ghost button */
.hrb-front-btn--ghost-sm {
	height: 30px; padding: 0 10px; font-size: 12px;
	color: var(--hrb-fg-muted); background: transparent; border-color: var(--hrb-border-muted);
}
.hrb-front-btn--ghost {
	background: transparent;
	color: var(--hrb-fg-muted);
}
.hrb-front-btn--ghost:hover {
	color: var(--hrb-fg);
}

/* Mobile */
@media (max-width: 720px) {
	.hrb-cart-grid { grid-template-columns: 1fr; }
	.hrb-cart-summary-card__row { grid-template-columns: repeat(2, 1fr); }
	.hrb-cart-form__row { grid-template-columns: 1fr; }
	.hrb-cart-progress__label { display: none; }
	.hrb-cart-progress__step { padding: 12px; justify-content: center; }
}

/* =============================================================== */
/*  My Bookings (lookup + history)                                 */
/* =============================================================== */

.hrb-front--my-bookings {
	max-width: 720px;
	margin: 24px auto;
}
.hrb-mb-h2 {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 600;
}

/* History list (logged-in users) */
.hrb-mb-history {
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--hrb-border-muted);
}
.hrb-mb-list { display: grid; gap: 8px; }
.hrb-mb-row {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-md);
	transition: border-color var(--hrb-fast), box-shadow var(--hrb-fast);
}
.hrb-mb-row:hover {
	border-color: var(--hrb-brand);
	box-shadow: var(--hrb-shadow-sm);
}
.hrb-mb-row__main { flex: 1; min-width: 0; }
.hrb-mb-row__code code {
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	font-size: 11px; font-weight: 600;
	background: var(--hrb-brand-50);
	color: var(--hrb-brand);
	padding: 2px 8px; border-radius: 4px;
}
.hrb-mb-row__dates {
	font-size: 13px;
	margin-top: 4px;
	color: var(--hrb-fg);
}
.hrb-mb-row__nights {
	font-size: 11px;
	color: var(--hrb-fg-muted);
	margin-left: 6px;
}
.hrb-mb-row__meta {
	display: flex; align-items: center; gap: 12px;
	flex-shrink: 0;
}
.hrb-mb-row__total {
	font-size: 15px; font-weight: 700;
	font-feature-settings: 'tnum';
	color: var(--hrb-fg);
}

/* Lookup form */
.hrb-mb-lookup {
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	padding: 24px;
}
.hrb-mb-lookup__hint {
	margin: 0 0 16px;
	font-size: 13px;
	color: var(--hrb-fg-muted);
	line-height: 1.5;
}
.hrb-mb-lookup__form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	align-items: end;
}
.hrb-mb-lookup__form button {
	grid-column: 1 / -1;
	margin-top: 4px;
}
.hrb-mb-lookup__form .hrb-prop-field { display: flex; flex-direction: column; gap: 4px; }
.hrb-mb-lookup__form .hrb-prop-field label {
	font-size: 11px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .04em;
	color: var(--hrb-fg-muted);
}
.hrb-mb-lookup__form .hrb-prop-field input {
	font: inherit; padding: 10px 12px; font-size: 14px;
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-sm);
	transition: border-color var(--hrb-fast), box-shadow var(--hrb-fast);
}
.hrb-mb-lookup__form .hrb-prop-field input:focus {
	outline: none; border-color: var(--hrb-brand);
	box-shadow: 0 0 0 3px rgba(108,92,231,.15);
}

/* Detail card (full booking) */
.hrb-mb-card {
	background: var(--hrb-bg);
	border: 1px solid var(--hrb-border);
	border-radius: var(--hrb-r-lg);
	box-shadow: var(--hrb-shadow-sm);
	margin-bottom: 24px;
	overflow: hidden;
}
.hrb-mb-card__head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 20px 24px;
	background: var(--hrb-bg-soft);
	border-bottom: 1px solid var(--hrb-border-muted);
}
.hrb-mb-card__lbl {
	font-size: 11px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .04em;
	color: var(--hrb-fg-muted);
	margin-bottom: 4px;
}
.hrb-mb-card__code {
	font-family: ui-monospace, 'SF Mono', Menlo, monospace;
	font-size: 16px; font-weight: 600;
	color: var(--hrb-brand);
}
.hrb-mb-card__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--hrb-border-muted);
}
.hrb-mb-card__val { font-size: 14px; }
.hrb-mb-card__nights {
	padding: 16px 24px;
	border-bottom: 1px solid var(--hrb-border-muted);
}
.hrb-mb-card__nights-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 6px;
}
.hrb-mb-card__night {
	display: flex; justify-content: space-between;
	font-size: 12px;
	padding: 6px 10px;
	background: var(--hrb-bg-subtle);
	border-radius: var(--hrb-r-sm);
	font-feature-settings: 'tnum';
}
.hrb-mb-card__notes {
	padding: 16px 24px;
	border-bottom: 1px solid var(--hrb-border-muted);
}
.hrb-mb-card__notes p {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--hrb-fg);
	line-height: 1.5;
}
.hrb-mb-card__foot {
	display: flex; justify-content: space-between; align-items: center;
	padding: 20px 24px;
	background: var(--hrb-bg-soft);
}
.hrb-mb-card__total {
	font-size: 22px; font-weight: 700;
	color: var(--hrb-fg);
	font-feature-settings: 'tnum';
}

/* Mobile */
@media (max-width: 720px) {
	.hrb-mb-row { flex-direction: column; align-items: flex-start; }
	.hrb-mb-lookup__form { grid-template-columns: 1fr; }
	.hrb-mb-card__grid { grid-template-columns: repeat(2, 1fr); }
	.hrb-mb-card__head, .hrb-mb-card__foot { flex-direction: column; align-items: flex-start; gap: 8px; }
}

