/* =====================================================================
   BHROMI — "Review & Confirm" step (booking step 2)
   Scoped to .brv.step-1. Every size is the mock-up pixel (852px wide
   picture) written as  Nu = N * --u,  --u = viewport / 852 (capped at 480px),
   so spacing, type and radii keep the exact proportions of the design.
   ===================================================================== */
.brv.step-1 {
  --u: calc(min(100vw, 480px) / 852);
  --rc-ink: #0a1a45;
  --rc-ink2: #0a1030;
  --rc-mute: #6b778f;
  --rc-navy: #0a1e6d;
  --rc-blue: #1f5ae6;
  --rc-line: #e4e8f0;
  --brv-bg: #f9f9fd;
  background: #f9f9fd;
  padding-bottom: calc(calc(160 * var(--u)) + env(safe-area-inset-bottom, 0px));
}
body.brv-on:has(.brv.step-1) { background: #f9f9fd; }
.brv.step-1 .brv-wrap { max-width: 480px; margin: 0 auto; padding: 0 calc(24 * var(--u)); }
.brv.step-1 .brv-grid { display: block; }
.brv.step-1 .brv-aside { display: none; }

/* header */
.brv.step-1 .brv-top { height: calc(70 * var(--u)); gap: 0; margin: 0 calc(-24 * var(--u)); padding: 0 calc(24 * var(--u)); background: #f9f9fd; position: sticky; top: 0; z-index: 30; }
.brv.step-1 .brv-top h1 { font-size: calc(29.7 * var(--u)); line-height: calc(77 * var(--u)); font-weight: 800; letter-spacing: calc(-0.3 * var(--u)); color: var(--rc-ink); }
.brv.step-1 .brv-back, .brv.step-1 .brv-top-sp { width: calc(80 * var(--u)); height: calc(70 * var(--u)); margin: 0 0 0 calc(-16 * var(--u)); color: #0a1030; }
.brv.step-1 .brv-top-sp { margin: 0 calc(-16 * var(--u)) 0 0; }
.brv.step-1 .brv-back svg { width: calc(26 * var(--u)); height: calc(26 * var(--u)); }

/* progress */
.brv.step-1 .brv-steps { display: flex; align-items: center; gap: 0; height: calc(44 * var(--u)); margin: 0 calc(34 * var(--u)) calc(19 * var(--u)) calc(23 * var(--u)); padding: 0; max-width: none; }
.brv.step-1 .brv-steps li { flex: 1 1 0; display: flex; align-items: center; min-width: 0; font-size: max(12px, calc(21 * var(--u))); font-weight: 700; color: var(--rc-ink2); }
.brv.step-1 .brv-steps li:last-child { flex: none; }
.brv.step-1 .brv-steps li i { flex: none; width: calc(32 * var(--u)); height: calc(32 * var(--u)); border-radius: 50%; background: #dbe3f1; color: #6f7f9e; font-size: max(12px, calc(20.4 * var(--u))); font-weight: 800; }
.brv.step-1 .brv-steps li.is-done i, .brv.step-1 .brv-steps li.is-now i { background: #0b2174; color: #fff; }
.brv.step-1 .brv-steps li i svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.brv.step-1 .brv-steps li span, .brv.step-1 .brv-steps li:not(.is-now) span { display: none; }
.brv.step-1 .brv-steps li.is-now span { display: block; margin: 0 calc(13 * var(--u)) 0 calc(12 * var(--u)); flex: none; font-size: max(12px, calc(21 * var(--u))); font-weight: 700; }
.brv.step-1 .brv-steps li:not(:last-child)::after { content: ""; flex: 1 1 0; min-width: calc(8 * var(--u)); height: calc(3 * var(--u)); border-radius: calc(2 * var(--u)); background: #e3e8f4; }
.brv.step-1 .brv-steps li.is-done:not(:last-child)::after { background: #0b2174; }
.brv.step-1 .brv-steps li.is-now:not(:last-child)::after { height: calc(2 * var(--u)); }

/* cards */
.rc { display: flex; flex-direction: column; gap: calc(13.5 * var(--u)); font-family:"Inter","Noto Sans Bengali",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color: var(--rc-ink2); }
.rc-card { background: #fff; border: calc(1.5 * var(--u)) solid #e9edf5; border-radius: calc(20 * var(--u)); box-shadow: 0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(40, 60, 120, 0.04); padding: 0 calc(24 * var(--u)); overflow: hidden; }
.rc-card svg { flex: none; }

/* section header */
.rc-h { display: flex; align-items: center; height: calc(71 * var(--u)); padding-top: calc(13 * var(--u)); }
.rc-hic { flex: none; width: calc(58 * var(--u)); height: calc(58 * var(--u)); border-radius: calc(15 * var(--u)); display: grid; place-items: center; background: #e7effd; color: #1f5ae6; }
.rc-hic svg { width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
.rc-hic.green { background: #d9f9e5; color: #0f8a4f; }
.rc-hic.purple { background: #ece2fd; color: #6a2bd8; }
.rc-h b { margin-left: calc(25 * var(--u)); font-size: max(12px, calc(27.7 * var(--u))); font-weight: 800; letter-spacing: calc(-0.2 * var(--u)); color: var(--rc-ink); line-height: calc(39.6 * var(--u)); }
.rc-hr { margin-left: auto; display: flex; }
.rc-pill { display: inline-flex; align-items: center; justify-content: center; gap: calc(10 * var(--u)); height: calc(47 * var(--u)); padding: 0 calc(20 * var(--u)); border: 0; border-radius: calc(24 * var(--u)); font: 700 max(12px, calc(19.8 * var(--u)))/1 "Inter","Noto Sans Bengali",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; cursor: pointer; white-space: nowrap; -webkit-tap-highlight-color: transparent; }
.rc-pill.blue { background: #e9f1fd; color: var(--rc-blue); }
.rc-pill.green { background: #d9fae6; color: #0b8a47; height: calc(43 * var(--u)); padding: 0 calc(19 * var(--u)); cursor: default; }
.rc-pill svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
.rc-pill svg.is-flip { transform: rotate(180deg); }

/* hotel */
.rc-hotel { padding: calc(17 * var(--u)) calc(24 * var(--u)) calc(19 * var(--u)); }
.rc-hotel-top { display: flex; align-items: flex-start; gap: calc(24 * var(--u)); }
.rc-himg { position: relative; flex: none; width: calc(222 * var(--u)); height: calc(152 * var(--u)); border-radius: calc(12 * var(--u)); overflow: hidden; background: #e8ecf3; display: grid; place-items: center; }
.rc-himg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-nbadge { position: absolute; left: calc(10 * var(--u)); bottom: calc(10 * var(--u)); height: calc(30 * var(--u)); padding: 0 calc(11 * var(--u)); border-radius: calc(10 * var(--u)); background: rgba(28, 36, 48, 0.62); color: #fff; font-size: max(12px, calc(22.4 * var(--u))); font-weight: 600; line-height: calc(39.6 * var(--u)); backdrop-filter: blur(2px); }
.rc-hb { flex: 1; min-width: 0; }
.rc-hb h2 { margin: 0; font-size: max(12px, calc(27.5 * var(--u))); line-height: calc(39.6 * var(--u)); font-weight: 800; letter-spacing: calc(-0.3 * var(--u)); color: var(--rc-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-hsub { display: flex; align-items: center; gap: calc(11 * var(--u)); height: calc(26 * var(--u)); }
.rc-stars { display: inline-flex; gap: calc(1 * var(--u)); }
.rc-stars svg { width: calc(19 * var(--u)); height: calc(19 * var(--u)); fill: #f4ad0a; color: #f4ad0a; stroke-width: 1; }
.rc-room { font-size: max(12px, calc(21.4 * var(--u))); font-weight: 400; color: #1b2a4a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-dates { display: flex; align-items: center; margin-top: calc(23 * var(--u)); padding-left: calc(10 * var(--u)); }
.rc-d { display: flex; align-items: center; gap: calc(16 * var(--u)); min-width: 0; }
.rc-d.one { width: calc(211 * var(--u)); }
.rc-d > svg { width: calc(32 * var(--u)); height: calc(34 * var(--u)); color: var(--rc-ink); }
.rc-d b { display: block; font-size: max(12px, calc(19.1 * var(--u))); line-height: calc(27.7 * var(--u)); font-weight: 700; color: var(--rc-ink); white-space: nowrap; }
.rc-d span { display: block; font-size: max(12px, calc(19.1 * var(--u))); line-height: calc(27.7 * var(--u)); color: #7b8498; white-space: nowrap; }
.rc-dch { width: calc(22 * var(--u)); height: calc(22 * var(--u)); margin: 0 calc(14 * var(--u)) 0 calc(7 * var(--u)); color: #6b778f; }
.rc-chips { display: flex; margin-top: calc(12 * var(--u)); height: calc(85 * var(--u)); border-radius: calc(12 * var(--u)); background: #f1f5fb; }
.rc-chips > div { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; padding-top: calc(13 * var(--u)); }
.rc-chips > div + div::before { content: ""; position: absolute; left: 0; top: calc(14 * var(--u)); height: calc(57 * var(--u)); width: calc(1.5 * var(--u)); background: #dfe5ef; }
.rc-chips svg { width: calc(26 * var(--u)); height: calc(26 * var(--u)); color: var(--rc-ink); }
.rc-chips span { margin-top: calc(9 * var(--u)); font-size: max(12px, calc(20.8 * var(--u))); line-height: calc(27.7 * var(--u)); font-weight: 500; color: #1a2a4d; white-space: nowrap; }

/* key-value rows */
.rc-row { position: relative; display: flex; align-items: center; min-height: calc(58 * var(--u)); margin: 0 0; }
.rc-row:not(.is-last)::after { content: ""; position: absolute; left: calc(82 * var(--u)); right: 0; bottom: 0; height: calc(1.5 * var(--u)); background: var(--rc-line); }
.rc-card > .rc-row:last-child { margin-bottom: calc(15 * var(--u)); }
.rc-ri { flex: none; width: calc(83 * var(--u)); display: flex; align-items: center; padding-left: calc(18 * var(--u)); color: #111e45; }
.rc-ri svg { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }
.rc-rl { font-size: max(12px, calc(23.8 * var(--u))); color: var(--rc-mute); white-space: nowrap; }
.rc-rv { margin-left: auto; padding-left: calc(14 * var(--u)); display: flex; align-items: center; justify-content: flex-end; text-align: right; font-size: max(12px, calc(24.4 * var(--u))); font-weight: 500; color: var(--rc-ink2); min-width: 0; overflow-wrap: anywhere; line-height: calc(31.7 * var(--u)); }
.rc-pm-img { height: calc(36 * var(--u)); width: auto; margin-right: calc(14 * var(--u)); border-radius: calc(4 * var(--u)); display: block; }

/* cancellation */
.rc-free { display: flex; align-items: center; margin-top: calc(6 * var(--u)); min-height: calc(84 * var(--u)); padding: 0 calc(20 * var(--u)); border: calc(1.5 * var(--u)) solid #c4ecd5; border-radius: calc(10 * var(--u)); background: #ecfbf2; }
.rc-free-ic { flex: none; width: calc(34 * var(--u)); height: calc(34 * var(--u)); border-radius: 50%; background: #0f8a4f; color: #fff; display: grid; place-items: center; margin-right: calc(19 * var(--u)); }
.rc-free-ic svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.rc-free b { display: block; font-size: max(12px, calc(22.4 * var(--u))); line-height: calc(38.3 * var(--u)); font-weight: 700; color: #0b7a3f; }
.rc-free p { margin: 0; font-size: max(12px, calc(22.4 * var(--u))); line-height: calc(38.3 * var(--u)); color: #0b5a33; }
.rc-cnote { padding: calc(6 * var(--u)) 0 calc(20 * var(--u)); }
.rc-cnote p { margin: 0; font-size: max(12px, calc(23.1 * var(--u))); line-height: calc(40.9 * var(--u)); color: #7d8799; }
.rc-card:has(.rc-free) .rc-h { height: calc(71 * var(--u)); }
.rc-card .rc-h + .rc-cnote { padding-top: 0; }

/* policies */
.rc-pol { padding-bottom: calc(8 * var(--u)); }
.rc-prow { position: relative; }
.rc-prow:not(:last-child)::after { content: ""; position: absolute; left: calc(82 * var(--u)); right: 0; bottom: 0; height: calc(1.5 * var(--u)); background: var(--rc-line); }
.rc-prow-h { display: flex; align-items: center; width: 100%; height: calc(50 * var(--u)); padding: 0; border: 0; background: none; text-align: left; cursor: pointer; font-family: inherit; -webkit-tap-highlight-color: transparent; }
.rc-prow-t { font-size: max(14px, calc(23.9 * var(--u))); color: #34405e; font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-chev { flex: none; width: calc(22 * var(--u)); height: calc(22 * var(--u)); margin: 0 calc(9 * var(--u)) 0 auto; color: #5d6a85; transition: transform 0.2s; }
.rc-prow.is-open .rc-chev { transform: rotate(90deg); }
.rc-pol-b { padding: calc(4 * var(--u)) 0 calc(16 * var(--u)) calc(83 * var(--u)); font-size: max(12px, calc(21.1 * var(--u))); color: #5a6680; }
.rc-pol-b .brv-pol-ul, .rc-pol-b ul { margin: 0; padding-left: calc(20 * var(--u)); }
.rc-pol-b p, .rc-pol-b li { font-size: max(12px, calc(21.1 * var(--u))); line-height: calc(33.0 * var(--u)); }

/* price */
.rc-price { padding: 0 0 calc(24 * var(--u)) calc(83 * var(--u)); }
.rc-price.is-stale { opacity: 0.6; }
.rc-muted { margin: 0; padding: calc(4 * var(--u)) 0 calc(20 * var(--u)) calc(83 * var(--u)); font-size: max(12px, calc(22.4 * var(--u))); color: var(--rc-mute); }
.rc-pr { display: flex; align-items: flex-start; justify-content: space-between; border-bottom: calc(1.5 * var(--u)) solid #e8ebf1; font-size: max(14px, calc(24.4 * var(--u))); }
.rc-pr span { line-height: calc(34.3 * var(--u)); color: #11193a; }
.rc-pr b { font-weight: 700; color: var(--rc-ink2); line-height: calc(34.3 * var(--u)); white-space: nowrap; margin-left: calc(12 * var(--u)); }
.rc-pr.main { padding-bottom: calc(6 * var(--u)); }
.rc-pr.main span { font-size: max(12px, calc(25.1 * var(--u))); display: block; }
.rc-pr.main small { display: block; font-size: max(12px, calc(20.5 * var(--u))); line-height: calc(26.4 * var(--u)); color: #7d879c; }
.rc-pr.main b { font-size: max(12px, calc(25.1 * var(--u))); }
.rc-pr:not(.main) { height: calc(38 * var(--u)); align-items: center; }
.rc-pr:nth-of-type(3) { height: calc(41 * var(--u)); align-items: flex-start; border-bottom: calc(2 * var(--u)) solid #d9dde6; }
.rc-pr.good span, .rc-pr.good b { color: #0d8a4b; }
.rc-total { display: flex; align-items: flex-start; justify-content: space-between; padding-top: calc(10 * var(--u)); }
.rc-total span { display: block; font-size: calc(29.0 * var(--u)); line-height: calc(41.1 * var(--u)); font-weight: 800; letter-spacing: calc(-0.2 * var(--u)); color: var(--rc-ink2); }
.rc-total small { display: block; margin-top: calc(1 * var(--u)); font-size: max(12px, calc(21.8 * var(--u))); line-height: calc(29.0 * var(--u)); color: #7d879c; }
.rc-total b { font-size: calc(31.5 * var(--u)); line-height: calc(41.1 * var(--u)); font-weight: 800; letter-spacing: calc(-0.3 * var(--u)); color: var(--rc-ink2); white-space: nowrap; }

/* agree */
.rc-agree { margin: calc(8 * var(--u)) 0 0 calc(18 * var(--u)); }
.rc-agree label { display: flex; align-items: center; gap: calc(17 * var(--u)); cursor: pointer; font-size: max(12px, calc(23.8 * var(--u))); line-height: calc(37.0 * var(--u)); color: var(--rc-ink2); }
.rc-agree input { position: absolute; opacity: 0; pointer-events: none; }
.rc-box { flex: none; width: calc(28 * var(--u)); height: calc(28 * var(--u)); border-radius: calc(7 * var(--u)); border: calc(2 * var(--u)) solid #8993a8; background: #fff; display: grid; place-items: center; color: transparent; }
.rc-box svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.rc-agree input:checked + .rc-box { background: var(--rc-navy); border-color: var(--rc-navy); color: #fff; }
.rc-agree input:focus-visible + .rc-box { outline: calc(2 * var(--u)) solid var(--rc-blue); outline-offset: calc(2 * var(--u)); }
.rc-agree a { color: #0a5bf0; text-decoration: none; }
.rc-agree.is-invalid .rc-box { border-color: #d63a3a; }
.rc-err { margin: calc(6 * var(--u)) 0 0 calc(45 * var(--u)); font-size: max(12px, calc(21.1 * var(--u))); color: #d63a3a; }

/* bottom bar */
.brv.step-1 .brv-bar { display: block; left: 50%; right: auto; width: min(100vw, 480px); transform: translateX(-50%); }
.brv.step-1 .brv-bar-in { max-width: none; margin: 0 calc(5 * var(--u)) calc(calc(13 * var(--u)) + env(safe-area-inset-bottom, 0px)); height: calc(135 * var(--u)); padding: 0 calc(18 * var(--u)) 0 calc(36 * var(--u)); gap: calc(21 * var(--u)); background: #fff; border: calc(1.5 * var(--u)) solid #eef1f7; border-radius: calc(32 * var(--u)); box-shadow: 0 calc(-2 * var(--u)) calc(24 * var(--u)) rgba(30, 50, 110, 0.1); }
.brv.step-1 .brv-bar-l { flex: 1 1 auto; min-width: 0; }
.brv.step-1 .brv-bar-price { align-items: baseline; gap: calc(12 * var(--u)); line-height: calc(52.8 * var(--u)); }
.brv.step-1 .brv-bar-price small { font-size: max(12px, calc(24 * var(--u))); font-weight: 700; color: #6d788f; }
.brv.step-1 .brv-bar-price strong { font-size: calc(41.8 * var(--u)); font-weight: 800; letter-spacing: calc(-0.5 * var(--u)); color: var(--rc-ink2); }
.brv.step-1 .brv-bar-t { font-size: max(12px, calc(18.5 * var(--u))); line-height: calc(23 * var(--u)); color: #6e7a90; }
.brv.step-1 .brv-bar .brv-stp, .brv.step-1 .brv-stp { flex: none; width: calc(223 * var(--u)); height: calc(62 * var(--u)); padding: 0 calc(7 * var(--u)); gap: 0; justify-content: space-between; border: calc(2 * var(--u)) solid #dfe3ec; border-radius: calc(24 * var(--u)); background: #fafbfd; }
.brv.step-1 .brv-stp button { width: calc(46 * var(--u)); height: calc(46 * var(--u)); border-radius: calc(16 * var(--u)); background: #fff; color: #1b2a55; box-shadow: 0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(30, 40, 80, 0.12); }
.brv.step-1 .brv-stp button svg { width: calc(20 * var(--u)); height: calc(20 * var(--u)); }
.brv.step-1 .brv-stp span { padding: 0; border: 0; height: auto; line-height: 1; font-size: max(12px, calc(22.8 * var(--u))); font-weight: 600; color: var(--rc-ink2); }
.brv.step-1 .brv-next { flex: none; width: calc(249 * var(--u)); height: calc(81 * var(--u)); min-width: 0; padding: 0; gap: calc(14 * var(--u)); border-radius: calc(22 * var(--u)); background: var(--rc-navy); color: #fff; font-size: max(12px, calc(25.2 * var(--u))); font-weight: 700; box-shadow: none; }
.brv.step-1 .brv-next svg { display: inline-block !important; width: calc(26 * var(--u)); height: calc(26 * var(--u)); }
@media (max-width: 767px) { body.brv-on:has(.brv.step-1) header.glass-header { display: none; } }


/* v039: slightly larger text (~10%), roomier rows, bigger checkbox + safer terms link */
.rc-chips { height: calc(94 * var(--u)); }
.rc-prow-h { height: calc(56 * var(--u)); }
.rc-pr:not(.main) { height: calc(43 * var(--u)); }
.rc-pr:nth-of-type(3) { height: calc(46 * var(--u)); }
.rc-row { min-height: calc(64 * var(--u)); }
.rc-agree { margin: calc(10 * var(--u)) 0 0 calc(8 * var(--u)); }
.rc-agree label { align-items: flex-start; gap: 14px; padding: 12px 10px 6px 10px; min-height: 56px; border-radius: 12px; -webkit-tap-highlight-color: rgba(10, 27, 90, 0.08); user-select: none; }
.rc-agree .rc-box { width: 30px; height: 30px; min-width: 30px; border-radius: 8px; border-width: 2px; margin-top: 1px; }
.rc-agree .rc-box svg { width: 20px; height: 20px; }
.rc-agree .rc-agree-t { font-size: 15px; line-height: 1.5; }
.rc-agree .rc-terms-txt { color: #0a5bf0; }
.rc-agree .rc-terms-link { display: inline-block; margin: 2px 0 0 54px; padding: 10px 14px; font-size: 14px; font-weight: 600; color: #0a5bf0; text-decoration: underline; border-radius: 10px; }
.rc-err { margin-left: 54px; }

/* v045: no extra empty space under the agree line; terms link lives inside the sentence */
body.bh-booking-route:has(.brv.step-1) { padding-bottom: 0 !important; }
.rc-agree { margin-bottom: 0; }
.rc-agree .rc-terms-txt { text-decoration: underline; padding: 4px 0; }

/* v046: top hotel card + Guest & contact: more visible (darker greys, heavier weights, a bit larger) */
.rc-himg { width: calc(236 * var(--u)); height: calc(166 * var(--u)); }
.rc-nbadge { background: rgba(14, 20, 34, 0.78); font-weight: 700; }
.rc-hb h2 { font-size: calc(29.5 * var(--u)); color: #070d2a; }
.rc-room { font-size: max(12px, calc(22.6 * var(--u))); font-weight: 600; color: #0f1c3d; }
.rc-stars svg { width: calc(21 * var(--u)); height: calc(21 * var(--u)); }
.rc-d b { font-weight: 800; color: #070d2a; }
.rc-d span { color: #4a566f; font-weight: 500; }
.rc-dch { color: #3d4a66; }
.rc-chips { background: #e9f0fb; }
.rc-chips svg { width: calc(28 * var(--u)); height: calc(28 * var(--u)); color: #070d2a; }
.rc-chips span { font-size: max(12px, calc(22 * var(--u))); font-weight: 600; color: #0b1738; }
.rc-chips > div + div::before { background: #cdd7e8; }
.rc-ri { color: #0b1738; }
.rc-ri svg { width: calc(26 * var(--u)); height: calc(26 * var(--u)); }
.rc-rl { font-size: max(12px, calc(24.6 * var(--u))); color: #4a566f; font-weight: 500; }
.rc-rv { font-size: max(12px, calc(25.2 * var(--u))); font-weight: 700; color: #070d2a; }
.rc-row:not(.is-last)::after { background: #d6dce8; }
.rc-pill.blue { background: #dce8fc; font-weight: 800; }
.rc-h b { color: #070d2a; }
