/* ============================================================
   SATRI · Booking engine
   Search, date picker, results, apartment pages, checkout,
   confirmation. Builds on the tokens in style.css.
   ============================================================ */

:root{
  --bk-primary:var(--petrol);
  --bk-primary-d:var(--petrol-d);
  --bk-range:#E4EEF3;
  --bk-border:rgba(22,37,46,.16);
  --bk-border-strong:rgba(22,37,46,.28);
  --bk-muted:#56656E;           /* 5.3:1 on bone, 5.9:1 on white */
  --bk-danger:#B42318;
  --bk-ok:#1F7A53;
  --bk-radius:14px;
  --bk-radius-lg:22px;
  --bk-focus:0 0 0 3px rgba(50,88,109,.28);
  --bk-safe-b:env(safe-area-inset-bottom,0px);
}

/* ---------- utilities ---------- */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:3000;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:10px;font-size:.9rem;transition:top .2s}
.skip-link:focus{top:12px}
html.bk-lock,html.bk-lock body{overflow:hidden}
.bk-muted{color:var(--bk-muted)}
.bk-portal{position:relative;z-index:2000}
.is-hidden{position:absolute!important;opacity:0;pointer-events:none}
.w20{width:20%}.w40{width:40%}.w60{width:60%}.w90{width:90%}

/* ---------- buttons ---------- */
.bk-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;position:relative;
  min-height:48px;padding:.8rem 1.5rem;border-radius:var(--r-pill);border:1px solid transparent;
  background:var(--bk-primary);color:#fff;font:inherit;font-size:.98rem;font-weight:500;letter-spacing:0;
  cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s,opacity .2s;white-space:nowrap;text-decoration:none;
  -webkit-tap-highlight-color:transparent
}
.bk-btn:hover{background:var(--bk-primary-d)}
.bk-btn:active{transform:scale(.985)}
.bk-btn:focus-visible{outline:none;box-shadow:var(--bk-focus)}
.bk-btn[disabled],.bk-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
.bk-btn--block{width:100%}
.bk-btn--lg{min-height:56px;font-size:1.04rem;font-weight:600}
.bk-btn--sm{min-height:40px;padding:.5rem 1rem;font-size:.88rem}
.bk-btn--ghost{background:#fff;color:var(--ink);border-color:var(--bk-border)}
.bk-btn--ghost:hover{background:var(--bone);border-color:var(--bk-border-strong)}
.bk-btn--wa{background:#1FA855;color:#fff}
.bk-btn--wa:hover{background:#178A45}
.bk-btn.is-loading{color:transparent!important;pointer-events:none}
.bk-btn.is-loading>*{visibility:hidden}
.bk-btn.is-loading::after{
  content:"";position:absolute;width:20px;height:20px;border-radius:50%;
  border:2px solid rgba(255,255,255,.45);border-top-color:#fff;animation:spin .8s linear infinite
}
.bk-btn--ghost.is-loading::after{border-color:rgba(22,37,46,.2);border-top-color:var(--ink)}
.bk-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.bk-link:hover{color:var(--bk-primary)}
.bk-link-btn{background:none;border:0;padding:.2rem 0;font:inherit;font-size:.88rem;font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bk-link-btn:hover{color:var(--bk-primary)}
.bk-icon-btn{width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.bk-icon-btn:hover:not([disabled]){background:rgba(22,37,46,.06)}
.bk-icon-btn[disabled]{opacity:.28;cursor:default}
.bk-icon-btn:focus-visible{outline:none;box-shadow:var(--bk-focus)}
.bk-icon-btn-spacer{width:40px}
.bk-badge{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:var(--r-pill);background:#FFF1D6;color:#6B4E0B;font-size:.74rem;font-weight:600;letter-spacing:.02em}

/* ---------- feedback ---------- */
.bk-spinner{display:inline-block;width:30px;height:30px;border-radius:50%;border:2.5px solid var(--sand);border-top-color:var(--bk-primary);animation:spin .9s linear infinite;vertical-align:middle}
.bk-spinner--sm{width:16px;height:16px;border-width:2px}
.bk-skel{background:linear-gradient(90deg,#ECE7DF 25%,#F4F1EB 50%,#ECE7DF 75%);background-size:200% 100%;animation:bk-shimmer 1.3s ease-in-out infinite;border-radius:10px}
.bk-skel--line{height:14px;margin:.55rem 0}
.bk-skel--title{height:34px;width:55%;margin-bottom:1.6rem}
.bk-skel--block{height:180px;margin-bottom:1.2rem;border-radius:var(--bk-radius-lg)}
.bk-skel--summary{height:420px;border-radius:var(--bk-radius-lg)}
.bk-skel--fields{height:118px;margin:1rem 0;border-radius:var(--bk-radius)}
.bk-skel--btn{height:56px;border-radius:var(--r-pill)}
.bk-skel--bar{height:72px;border-radius:var(--r-pill)}
@keyframes bk-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.bk-alert{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border-radius:var(--bk-radius);border:1px solid;font-size:.93rem;line-height:1.55;margin:1rem 0}
.bk-alert>.ico{flex:none;margin-top:.1rem}
.bk-alert-body{flex:1;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between}
.bk-alert--error{background:#FDF2F1;border-color:#F2C9C4;color:#7A1D14}
.bk-alert--warn{background:#FFF8EA;border-color:#EFD8A6;color:#5E440A}
.bk-alert--info{background:#EEF5F9;border-color:#CFE1EB;color:#1E4659}

/* ---------- header / footer of booking pages ---------- */
/* Same header as the home page (style.css .nav), in its solid state and in the page flow. */
.nav.nav--static{position:sticky;top:0}
.bk-footer,footer.bk-footer{background:transparent;padding:2rem 0 calc(2rem + var(--bk-safe-b));border-top:1px solid var(--line-soft);margin-top:4rem;font-size:.82rem;color:var(--bk-muted)}
.bk-footer-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.bk-footer-wa{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink)}
.bk-footer-wa:hover{color:#178A45}
.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.8rem;color:var(--bk-muted);padding-top:1.4rem}
.crumbs a:hover{color:var(--ink);text-decoration:underline}

/* ============================================================
   SEARCH BAR
   ============================================================ */
.sb{position:relative;width:100%;font-weight:400;text-align:left}
.sb-bar{
  display:flex;align-items:center;background:#fff;border-radius:var(--r-pill);
  box-shadow:0 18px 48px -18px rgba(19,35,44,.45),0 2px 6px rgba(19,35,44,.08);
  padding:.45rem .45rem .45rem .6rem;min-height:74px
}
.sb--compact .sb-bar{box-shadow:0 10px 34px -16px rgba(19,35,44,.3),0 0 0 1px var(--line-soft)}
.sb--compact .sb-bar{min-height:64px}
.sb-dates{display:flex;flex:2;min-width:0}
.sb-field{
  flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.12rem;
  padding:.6rem 1.25rem;border:0;background:transparent;border-radius:var(--r-pill);cursor:pointer;text-align:left;
  transition:background .2s;font:inherit;color:var(--ink)
}
.sb-field:hover{background:rgba(22,37,46,.045)}
.sb-field.is-active{background:#fff;box-shadow:0 6px 24px -8px rgba(19,35,44,.35),0 0 0 1px var(--line)}
.sb-field:focus-visible{outline:none;box-shadow:var(--bk-focus)}
.sb-field--guests{flex:1.2}
.sb-label{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-nights{font-weight:500;color:var(--bk-primary)}
.sb-value{font-size:.95rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-value.is-empty{color:var(--bk-muted)}
.sb-div{width:1px;height:32px;background:var(--line);flex:none}
.sb-cta{
  flex:none;display:inline-flex;align-items:center;gap:.5rem;min-height:58px;padding:0 1.6rem;margin-left:.35rem;
  border:0;border-radius:var(--r-pill);background:var(--bk-primary);color:#fff;font:inherit;font-size:.98rem;font-weight:600;
  cursor:pointer;transition:background .2s,transform .2s
}
.sb-cta:hover{background:var(--bk-primary-d)}
.sb-cta:active{transform:scale(.98)}
.sb-cta:focus-visible{outline:none;box-shadow:var(--bk-focus)}
.sb--compact .sb-cta{min-height:50px;padding:0 1.3rem}
.sb-error{margin-top:.6rem;font-size:.86rem;font-weight:500;color:#fff;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.sb--compact .sb-error{color:var(--bk-danger);text-shadow:none}
.sb-error--in{color:var(--bk-danger)!important;text-shadow:none!important;margin:0 0 .6rem;text-align:left}

/* the hero styles bare <p>/<h3>; booking widgets must not inherit that */
.hero .sb p,.hero .sb h3,.hero .bk-pop p{color:inherit;text-shadow:none;margin:0;max-width:none;font-size:inherit;line-height:inherit}
.hero .sb .dp-status{font-size:.86rem;color:var(--bk-muted)}
.hero .sb .gs-note{font-size:.8rem;color:var(--bk-muted);margin-top:.4rem}
.hero .sb .sb-error{margin-top:.6rem;font-size:.86rem;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero .sb .sb-error--in{color:var(--bk-danger);text-shadow:none;margin:0 0 .6rem}

/* popovers */
.bk-pop{
  position:absolute;z-index:60;top:calc(100% + 12px);background:#fff;border-radius:24px;padding:1.5rem 1.6rem 1.2rem;
  box-shadow:0 28px 70px -24px rgba(19,35,44,.45),0 0 0 1px var(--line-soft);animation:bk-pop .18s var(--ease)
}
@keyframes bk-pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.bk-pop.sb-pop--dates{left:50%;transform:translateX(-50%);width:min(740px,calc(100vw - 32px));animation:bk-pop-c .18s var(--ease)}
@keyframes bk-pop-c{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translateX(-50%)}}
.bk-pop.sb-pop--guests{right:0;width:380px}

/* bottom sheet (mobile) */
.bk-sheet-backdrop{position:fixed;inset:0;background:rgba(19,35,44,.45);animation:bk-fade .2s ease}
.bk-sheet{
  position:fixed;left:0;right:0;bottom:0;max-height:94dvh;display:flex;flex-direction:column;background:#fff;
  border-radius:24px 24px 0 0;box-shadow:0 -20px 60px -20px rgba(19,35,44,.4);animation:bk-up .28s var(--ease)
}
@keyframes bk-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes bk-fade{from{opacity:0}to{opacity:1}}
.bk-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem .7rem;border-bottom:1px solid var(--line-soft)}
.bk-sheet-title{font-size:1rem;font-weight:600;letter-spacing:-.01em;text-align:center}
.bk-sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.1rem 1.4rem;-webkit-overflow-scrolling:touch}
.bk-sheet-foot{padding:.8rem 1.1rem calc(.8rem + var(--bk-safe-b));border-top:1px solid var(--line-soft);background:#fff}
.bk-sheet-sub{font-size:1rem;font-weight:600;margin:1.6rem 0 .4rem}

/* ============================================================
   DATE PICKER
   ============================================================ */
.dp{position:relative;user-select:none;-webkit-user-select:none}
.dp-nav{position:absolute;left:-.4rem;right:-.4rem;top:-.35rem;display:flex;justify-content:space-between;pointer-events:none;z-index:2}
.dp-nav .bk-icon-btn{pointer-events:auto}
.dp-months{display:grid;gap:2.4rem}
.dp--2 .dp-months{grid-template-columns:1fr 1fr}
.dp-title{font-size:.98rem;font-weight:600;text-align:center;letter-spacing:-.01em;line-height:32px;margin-bottom:.6rem}
.dp-grid{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed}
.dp-wd{font-size:.72rem;font-weight:500;color:var(--bk-muted);text-align:center;line-height:28px;padding-bottom:.2rem}
.dp-wd abbr{text-decoration:none}
.dp-cell{position:relative;height:46px;padding:1px 0;vertical-align:middle}
.dp-day{
  position:relative;z-index:0;width:100%;height:44px;border:0;background:transparent;border-radius:var(--r-pill);
  font:inherit;font-size:.9rem;font-weight:500;color:var(--ink);cursor:pointer;display:grid;place-items:center;
  -webkit-tap-highlight-color:transparent;font-variant-numeric:tabular-nums
}
.dp-day::before{content:"";position:absolute;z-index:-1;inset:0;margin:auto;width:44px;height:44px;max-width:100%;border-radius:50%;transition:background .12s,box-shadow .12s}
.dp-day:not(.is-disabled):hover::before{box-shadow:inset 0 0 0 1.5px var(--ink)}
.dp-day:focus-visible{outline:none}
.dp-day:focus-visible::before{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--bk-primary)}
.dp-day.is-today::after{content:"";position:absolute;bottom:7px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;opacity:.6}
.dp-day.is-disabled{color:rgba(22,37,46,.28);cursor:default}
.dp-day.is-unavailable,.dp-day.is-blocked{text-decoration:line-through;text-decoration-color:rgba(22,37,46,.28)}
.dp-day.is-min_stay{color:rgba(22,37,46,.38)}
.dp-day.in-range{background:var(--bk-range);border-radius:0}
.dp-day.in-range.is-disabled{color:var(--ink);text-decoration:none}
.dp-day.is-start.has-range{background:linear-gradient(90deg,transparent 50%,var(--bk-range) 50%);border-radius:0}
.dp-day.is-end{background:linear-gradient(90deg,var(--bk-range) 50%,transparent 50%);border-radius:0}
.dp-day.is-start,.dp-day.is-end:not(.is-preview){color:#fff}
.dp-day.is-start::before,.dp-day.is-end:not(.is-preview)::before{background:var(--bk-primary)}
.dp-day.is-preview::before{box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff}
.dp.is-loading .dp-grid{opacity:.45}
.dp-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line-soft);min-height:44px}
.dp-status{font-size:.86rem;color:var(--bk-muted)}

/* ============================================================
   GUEST SELECTOR
   ============================================================ */
.gs-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line-soft)}
.gs-row:last-of-type{border-bottom:0}
.gs-label{display:flex;flex-direction:column}
.gs-label span{font-size:1rem;font-weight:500;color:var(--ink)}
.gs-label small{font-size:.84rem;color:var(--bk-muted)}
.gs-ctrl{display:flex;align-items:center;gap:.7rem;border:0;margin:0;padding:0;min-width:0}
.gs-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--bk-border-strong);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background .2s}
.gs-btn:hover:not([disabled]){border-color:var(--ink)}
.gs-btn[disabled]{opacity:.28;cursor:not-allowed}
.gs-btn:focus-visible{outline:none;box-shadow:var(--bk-focus)}
.gs-val{min-width:1.6rem;text-align:center;font-size:1rem;font-variant-numeric:tabular-nums}
.gs-note{font-size:.8rem;color:var(--bk-muted);margin-top:.4rem}

/* ============================================================
   HOME PAGE INTEGRATION
   ============================================================ */
.hero .hero-inner{width:100%}
/* the search popover must be able to leave the hero and sit above the cards below it */
.hero{overflow:visible}
.hero-bg{overflow:hidden}
.hero:has(.sb.is-open){z-index:10}
.hero-search{max-width:880px;margin:0 auto;position:relative;z-index:6}
[data-price-slot]{visibility:hidden}
[data-price-slot].is-ready{visibility:visible}
.apt-cta{display:flex;flex-wrap:wrap;gap:.7rem}

/* ============================================================
   PRICE BREAKDOWN
   ============================================================ */
.pb{margin-top:1.2rem}
.pb-line{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.95rem;color:var(--ink)}
.pb-line dt{color:var(--ink)}
.pb-line dd{font-variant-numeric:tabular-nums;white-space:nowrap}
.pb-line--discount dd{color:var(--bk-ok)}
.pb-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.7rem;padding-top:1rem;border-top:1px solid var(--line);font-size:1.02rem;font-weight:600}
.pb-total small{font-weight:400;color:var(--bk-muted)}
.pb-total b{font-size:1.12rem;font-variant-numeric:tabular-nums}

/* ============================================================
   RESULTS
   ============================================================ */
.rs{padding-top:1.4rem}
.rs-search{position:relative;z-index:20}
.rs-head{margin:2rem 0 1.2rem}
.rs-title{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.03em}
.rs-sub{color:var(--bk-muted);margin-top:.3rem;min-height:1.6em}
.rs-count{font-size:.9rem;color:var(--bk-muted);margin-bottom:1rem}
.rs-list-in{display:flex;flex-direction:column;gap:1.4rem}
.rs-card{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:1.8rem;background:#fff;border-radius:var(--bk-radius-lg);padding:1rem;box-shadow:var(--shadow-s),0 0 0 1px var(--line-soft);transition:box-shadow .3s var(--ease)}
.rs-card:hover{box-shadow:var(--shadow-m),0 0 0 1px var(--line-soft)}
.rs-card-img{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:3/2}
.rs-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.rs-card:hover .rs-card-img img{transform:scale(1.04)}
.rs-tag{position:absolute;top:.8rem;left:.8rem;background:rgba(255,255,255,.95);color:var(--ink);font-size:.74rem;font-weight:500;padding:.3rem .75rem;border-radius:var(--r-pill)}
.rs-card-body{display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;padding:.5rem .6rem .4rem 0;min-width:0}
.rs-name{font-size:1.45rem;letter-spacing:-.025em}
.rs-name a:hover{color:var(--bk-primary)}
.rs-summary{color:var(--bk-muted);margin-top:.35rem;line-height:1.6;font-size:.95rem}
.specs{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.9rem;font-size:.88rem;color:var(--ink)}
.specs li{display:inline-flex;align-items:center;gap:.4rem}
.specs .ico{color:var(--bk-primary)}
.rs-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--line-soft)}
.rs-price{display:flex;flex-direction:column;gap:.1rem}
.rs-night{font-size:1rem;color:var(--bk-muted)}
.rs-night b{font-size:1.3rem;color:var(--ink);font-weight:600;letter-spacing:-.02em}
.rs-total{font-size:.9rem;color:var(--bk-muted)}
.rs-total b{color:var(--ink);font-weight:600}
.rs-actions{display:flex;gap:.6rem}
.rs-card--skel{min-height:260px}
.rs-skel-img{aspect-ratio:3/2;border-radius:16px}
.rs-empty{background:#fff;border-radius:var(--bk-radius-lg);padding:3rem 1.5rem;text-align:center;box-shadow:0 0 0 1px var(--line-soft);display:flex;flex-direction:column;align-items:center;gap:.8rem}
.rs-empty .ico{color:var(--bk-primary)}
.rs-empty h2{font-size:1.3rem;letter-spacing:-.02em}
.rs-empty p{color:var(--bk-muted);max-width:480px}
.rs-empty .rs-empty-hint{color:var(--ink);font-weight:500}

/* ============================================================
   APARTMENT DETAIL
   ============================================================ */
.pd-head{margin:.8rem 0 1.4rem}
.pd-title{font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.035em}
.pd-loc{display:flex;align-items:center;gap:.4rem;color:var(--bk-muted);margin-top:.35rem;font-size:.95rem}
.pd-gallery{position:relative}
.pd-grid-photos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:clamp(340px,40vw,540px);border-radius:var(--bk-radius-lg);overflow:hidden;position:relative}
.pd-photo{border:0;padding:0;background:var(--sand);cursor:zoom-in;overflow:hidden;position:relative}
.pd-photo--main{grid-row:span 2}
.pd-photo picture,.pd-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease),filter .3s}
.pd-photo:hover img{transform:scale(1.03);filter:brightness(.94)}
.pd-photo:focus-visible{outline:3px solid var(--bk-primary);outline-offset:-3px}
.pd-all-photos{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1px solid var(--ink);border-radius:10px;padding:.5rem .9rem;font:inherit;font-size:.86rem;font-weight:500;cursor:pointer;color:var(--ink)}
.pd-all-photos:hover{background:var(--bone)}
.pd-swipe,.pd-swipe-count{display:none}
.pd-layout{display:grid;grid-template-columns:minmax(0,1fr) 392px;gap:clamp(40px,5vw,80px);margin-top:2.4rem;align-items:start}
.pd-specs{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line);font-size:1rem}
.pd-specs li{display:inline-flex;align-items:center;gap:.5rem}
.pd-specs .ico{color:var(--bk-primary)}
.pd-sec{padding:2rem 0;border-bottom:1px solid var(--line)}
.pd-sec:last-child{border-bottom:0}
.pd-sec h2{font-size:1.4rem;letter-spacing:-.025em;margin-bottom:1.1rem}
.pd-text{color:#34444D;line-height:1.8;margin-bottom:1rem;font-weight:300;font-size:1.02rem;max-width:62ch}
.pd-highlights{display:flex;flex-direction:column;gap:1.3rem}
.pd-highlights li{display:flex;gap:1.1rem;align-items:flex-start}
.pd-highlights .ico{flex:none;color:var(--ink);margin-top:.15rem}
.pd-highlights h3{font-size:1.02rem;font-weight:600;letter-spacing:-.01em}
.pd-highlights p{color:var(--bk-muted);font-size:.93rem}
.pd-beds{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
.pd-bed{border:1px solid var(--line);border-radius:var(--bk-radius);padding:1.2rem;background:#fff}
.pd-bed .ico{color:var(--ink);margin-bottom:.7rem}
.pd-bed h3{font-size:1rem;font-weight:600}
.pd-bed p{color:var(--bk-muted);font-size:.92rem}
.pd-amenities{display:grid;grid-template-columns:1fr 1fr;gap:.95rem 2rem}
.pd-amenities li{display:flex;align-items:center;gap:.9rem;font-size:.98rem}
.pd-amenities .ico{flex:none;color:var(--ink)}
.pd-rules{display:flex;flex-direction:column;gap:.8rem}
.pd-rules li{display:flex;align-items:center;gap:.8rem}
.pd-rules .ico{flex:none}
.pd-aside{position:sticky;top:96px}
.pd-others{margin-top:2rem;border-top:1px solid var(--line);border-bottom:0}
.pd-others-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem}
.pd-other{display:block;background:#fff;border-radius:var(--bk-radius-lg);overflow:hidden;box-shadow:0 0 0 1px var(--line-soft);transition:box-shadow .3s,transform .3s var(--ease)}
.pd-other:hover{box-shadow:var(--shadow-m);transform:translateY(-3px)}
.pd-other-img{aspect-ratio:16/10;overflow:hidden}
.pd-other-img img{width:100%;height:100%;object-fit:cover}
.pd-other-body{padding:1rem 1.2rem 1.2rem}
.pd-other-body h3{font-size:1.1rem}
.pd-other-body p{color:var(--bk-muted);font-size:.9rem}
.pd-other-price{margin-top:.4rem}
.pd-other-price b{color:var(--ink)}

/* booking card */
.bk-card{background:#fff;border-radius:var(--bk-radius-lg);padding:1.5rem;box-shadow:0 20px 50px -24px rgba(19,35,44,.35),0 0 0 1px var(--line-soft)}
.bk-card-price{font-size:1.02rem;min-height:1.9rem}
.bk-card-price b{font-size:1.4rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.bk-card-fields{position:relative;margin:1.1rem 0 1rem;border:1px solid var(--bk-border-strong);border-radius:var(--bk-radius)}
.bk-card-dates{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--bk-border-strong)}
.bk-card-dates .bk-cf+.bk-cf{border-left:1px solid var(--bk-border-strong)}
.bk-cf{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.7rem .9rem;border:0;background:transparent;font:inherit;text-align:left;color:var(--ink);cursor:pointer}
.bk-cf:first-child{border-top-left-radius:var(--bk-radius)}
.bk-cf.is-active{box-shadow:inset 0 0 0 2px var(--ink);border-radius:var(--bk-radius)}
.bk-cf:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--bk-primary);border-radius:var(--bk-radius)}
.bk-cf-label{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.bk-cf-value{font-size:.93rem}
.bk-cf-value.is-empty{color:var(--bk-muted)}
.bk-cf--guests{padding-right:2.6rem}
.bk-cf-chev{position:absolute;right:.9rem;top:50%;transform:translateY(-50%)}
.bk-pop.bk-card-pop{top:calc(100% + 8px)}
.bk-pop.bk-card-pop--dates{right:0;width:720px}
.bk-pop.bk-card-pop--guests{left:0;right:0}
.bk-card-nights{font-size:.88rem;color:var(--bk-muted);margin:-.4rem 0 .8rem;text-align:right}
.bk-card-note{text-align:center;font-size:.86rem;color:var(--bk-muted);margin-top:.7rem}
.bk-card-wa{display:block;text-align:center;font-size:.86rem;color:var(--bk-muted);margin-top:1rem;text-decoration:underline;text-underline-offset:3px}
.bk-card-wa:hover{color:var(--ink)}
.bk-quote-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.88rem;color:var(--bk-muted);margin-top:.9rem}

/* mobile sticky bar */
.bk-mbar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px -18px rgba(19,35,44,.35);padding:.75rem var(--pad) calc(.75rem + var(--bk-safe-b))}
.bk-mbar[hidden]{display:none}
.bk-mbar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:720px;margin:0 auto}
.bk-mbar-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0;font-size:.9rem}
.bk-mbar-info b{font-size:1.08rem;font-weight:600}
.bk-mbar-info .bk-link-btn{font-size:.84rem}
.bk-mbar .bk-btn{min-width:150px}

/* ============================================================
   CHECKOUT
   ============================================================ */
.co{padding-top:1.4rem;padding-bottom:2rem}
.co-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:40px}
.bk-back{display:inline-flex;align-items:center;gap:.45rem;font-size:.92rem;font-weight:500;color:var(--ink);padding:.4rem .2rem}
.bk-back:hover{color:var(--bk-primary)}
.co-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(40px,5vw,80px);align-items:start;margin-top:1rem}
.co-title{font-size:clamp(1.8rem,3.4vw,2.4rem);letter-spacing:-.035em;margin-bottom:1.2rem}
.co-sec{padding:1.8rem 0;border-bottom:1px solid var(--line)}
.co-sec h2{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:1.1rem}
.co-trip-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.5rem 0}
.co-trip-row h3{font-size:.95rem;font-weight:600}
.co-trip-row p{color:var(--bk-muted)}
.co-aside{position:sticky;top:96px}
.co-summary{background:#fff;border-radius:var(--bk-radius-lg);padding:1.4rem;box-shadow:0 20px 50px -24px rgba(19,35,44,.3),0 0 0 1px var(--line-soft)}
.co-msum-body .co-summary{box-shadow:none;padding:0;border-radius:0}
.co-sum-head{display:flex;gap:1rem;align-items:center;padding-bottom:1.1rem;border-bottom:1px solid var(--line-soft)}
.co-sum-img{flex:none;width:112px;height:84px;border-radius:12px;overflow:hidden;background:var(--sand)}
.co-sum-img img{width:100%;height:100%;object-fit:cover}
.co-sum-name{font-size:1.15rem;letter-spacing:-.02em}
.co-sum-loc{font-size:.88rem;color:var(--bk-muted)}
.co-sum-trip{display:grid;gap:.7rem;padding:1.1rem 0 .2rem}
.co-sum-trip dt{font-size:.78rem;font-weight:600;letter-spacing:.02em}
.co-sum-trip dd{font-size:.95rem;color:#34444D}
.co-sum-old{font-size:.88rem;color:var(--bk-muted);margin-top:.6rem}
.co-trust{display:flex;flex-direction:column;gap:.5rem;margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line-soft)}
.co-trust li{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:#34444D}
.co-trust .ico{color:var(--bk-ok)}
.co-msum{display:none}
.co-trust--inline{display:none}
.co-newprice{font-size:.95rem}
.co-terms{font-size:.84rem;color:var(--bk-muted);margin:1.4rem 0 1rem;line-height:1.6}
.co-pay{margin-top:.2rem}
.co-paypal-note{text-align:center;font-size:.88rem;color:var(--bk-muted)}
.co-loading{display:grid;place-items:center;min-height:50vh}
.co-error{max-width:560px;margin:3rem auto;text-align:center}

/* form fields */
.gf{border:0;display:flex;flex-direction:column;gap:1.1rem}
.gf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fld{display:flex;flex-direction:column;gap:.4rem}
.fld label{font-size:.86rem;font-weight:500;color:var(--ink)}
.fld input,.fld select{
  width:100%;height:52px;padding:0 .95rem;border:1px solid var(--bk-border-strong);border-radius:12px;background:#fff;
  font:inherit;font-size:1rem;font-weight:400;color:var(--ink);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none
}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2316252E' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.4rem}
.fld input:hover,.fld select:hover{border-color:rgba(22,37,46,.45)}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--bk-primary);box-shadow:var(--bk-focus)}
.fld.has-error input,.fld.has-error select{border-color:var(--bk-danger)}
.fld.has-error input:focus{box-shadow:0 0 0 3px rgba(180,35,24,.18)}
.fld-error{font-size:.84rem;color:var(--bk-danger);font-weight:500}
.fld-hint{font-size:.82rem;color:var(--bk-muted)}
.phone{display:grid;grid-template-columns:118px 1fr;gap:.6rem}
.gf:disabled{opacity:.7}

/* payment methods */
.pm-list{display:flex;flex-direction:column;gap:.8rem}
.pm{border:1px solid var(--bk-border-strong);border-radius:var(--bk-radius);background:#fff;transition:border-color .2s,box-shadow .2s}
.pm.is-selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.pm-head{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;cursor:pointer;min-height:58px}
.pm-head input{width:20px;height:20px;accent-color:var(--bk-primary);flex:none}
.pm-title{flex:1;min-width:0;font-weight:500;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.pm-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;font-weight:400}
.pm-sub .perk-deposit{font-size:.76rem;padding:.24rem .65rem}
.pm-rec{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--bk-green)}
.pm-sub--muted{font-size:.84rem;color:var(--bk-muted)}
.pm-icons{display:flex;align-items:center;color:var(--bk-muted)}
.pm-paypal{font-weight:700;font-style:italic;color:#1A3C8F;letter-spacing:-.02em}
.pm-body{padding:0 1.1rem 1.1rem}
.pm-hint{font-size:.84rem;color:var(--bk-muted);margin-bottom:.9rem}
.pay-loading{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--bk-muted);min-height:140px;justify-content:center}
.pay-note{font-size:.88rem;color:var(--bk-muted)}
.pay-note--warn{color:#6B4E0B}
.pay-paypal{min-height:56px}
.pay-paypal-btn{display:block;width:100%}
.pay-mock{display:flex;flex-direction:column;gap:.9rem}
.pay-mock-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem;width:100%;max-width:320px;aspect-ratio:1.586;border-radius:16px;padding:1.2rem;color:#fff;background:linear-gradient(135deg,var(--petrol) 0%,#244354 55%,#1A3140 100%);box-shadow:0 14px 30px -14px rgba(19,35,44,.6)}
.pay-mock-chip{position:absolute;top:1.2rem;left:1.2rem;width:40px;height:30px;border-radius:6px;background:linear-gradient(135deg,#E9D8A6,#C9B27A)}
.pay-mock-num{font-size:1.1rem;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.pay-mock-meta{font-size:.74rem;letter-spacing:.14em;opacity:.8}
.chk{display:flex;align-items:center;gap:.6rem;font-size:.9rem;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--bk-primary)}

/* processing overlay */
.co-processing{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:1.5rem;background:rgba(247,244,239,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:bk-fade .2s ease}
.co-proc-card{background:#fff;border-radius:var(--bk-radius-lg);padding:2rem 2.2rem;box-shadow:var(--shadow-l);text-align:center;max-width:380px;width:100%}
.co-proc-title{font-size:1.1rem;font-weight:600;margin:1rem 0 1.2rem}
.co-proc-steps{display:flex;flex-direction:column;gap:.7rem;text-align:left}
.co-proc-steps li{display:flex;align-items:center;gap:.6rem;font-size:.93rem;color:var(--bk-muted)}
.co-proc-steps li.is-current{color:var(--ink);font-weight:500}
.co-proc-steps li.is-done{color:var(--bk-ok)}
.is-flipped{transform:rotate(180deg)}

/* ============================================================
   CONFIRMATION
   ============================================================ */
.cf{padding-top:3rem;padding-bottom:2rem}
.cf-card{background:#fff;border-radius:var(--bk-radius-lg);padding:clamp(1.8rem,5vw,3rem);box-shadow:0 24px 60px -28px rgba(19,35,44,.35),0 0 0 1px var(--line-soft);text-align:center}
.cf-check{width:88px;height:88px;margin:0 auto 1.3rem}
.cf-check svg{display:block;width:100%;height:100%;overflow:visible}
.cf-check-bg{fill:var(--ocean);transform-origin:50% 50%;animation:cf-pop .55s cubic-bezier(.2,1.5,.4,1) both}
.cf-check-ring{fill:none;stroke:var(--ocean);stroke-width:2;opacity:0;transform-origin:50% 50%;animation:cf-ring 1.1s .35s ease-out both}
.cf-check-mark{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:cf-draw .45s .38s cubic-bezier(.65,0,.35,1) forwards}
@keyframes cf-draw{to{stroke-dashoffset:0}}
@keyframes cf-ring{0%{opacity:.55;transform:scale(1)}100%{opacity:0;transform:scale(1.45)}}
@keyframes cf-pop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
/* photo band above the confirmation card */
.cf-hero{position:relative;height:clamp(220px,32vw,380px);overflow:hidden;background:var(--petrol-xd)}
.cf-hero img{width:100%;height:100%;object-fit:cover;animation:cf-zoom 12s ease-out both}
@keyframes cf-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.cf-hero-veil{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(19,35,44,.15) 0%,rgba(19,35,44,.05) 45%,var(--bone) 100%)}
.cf.cf--hero{margin-top:clamp(-150px,-11vw,-90px);position:relative;z-index:2;padding-top:0}
.cf--hero .cf-card{box-shadow:0 30px 70px -30px rgba(19,35,44,.45),0 0 0 1px var(--line-soft)}
.cf-title{animation:cf-rise .6s .5s var(--ease) both}
.cf-card--ok .cf-lead,.cf-card--ok .cf-details,.cf-card--ok .cf-actions{animation:cf-rise .6s .62s var(--ease) both}
@keyframes cf-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cf-icon{color:#8A5A00;margin:0 auto 1rem;display:flex;justify-content:center}
.cf-title{font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.035em}
.cf-lead{color:var(--bk-muted);margin-top:.6rem;font-size:1.02rem;max-width:520px;margin-inline:auto}
.cf-note{color:var(--bk-muted);margin-top:.6rem;font-size:.92rem}
.cf-details{margin:2rem auto 0;max-width:520px;text-align:left;border-top:1px solid var(--line)}
.cf-details div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line-soft)}
.cf-details dt{color:var(--bk-muted);font-size:.92rem}
.cf-details dd{text-align:right;font-weight:500}
.cf-ref{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-weight:600!important}
.cf-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:2rem}
#cf-processing .bk-spinner{width:44px;height:44px;margin-bottom:1rem}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .pd-layout{grid-template-columns:minmax(0,1fr) 340px;gap:40px}
  .bk-pop.bk-card-pop--dates{width:680px}
  .co-layout{grid-template-columns:1fr}
  .co-aside{display:none}
  .co-msum{display:block;background:#fff;border-radius:var(--bk-radius);box-shadow:0 0 0 1px var(--line);margin-bottom:.4rem}
  .co-msum-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1rem 1.1rem;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
  .co-msum-line{display:flex;flex-direction:column;min-width:0}
  .co-msum-line span{font-size:.86rem;color:var(--bk-muted)}
  .co-msum-total{display:flex;align-items:center;gap:.4rem;font-weight:600;white-space:nowrap}
  .co-msum-body{padding:0 1.1rem 1.1rem}
  .co-trust--inline{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;border-top:0;padding-top:0}
}
@media (max-width:820px){
  /* search */
  .sb-bar{flex-direction:column;align-items:stretch;border-radius:22px;padding:.4rem;min-height:0}
  .sb-dates{flex:none;border-bottom:1px solid var(--line-soft)}
  .sb-field{border-radius:16px;padding:.8rem 1rem;min-height:64px}
  .sb-div{height:auto;align-self:stretch;margin:.7rem 0}
  .sb-div--guests{display:none}
  .sb-cta{margin:.4rem 0 0;justify-content:center;min-height:54px;width:100%}
  .sb--compact .sb-cta{min-height:50px}
  .sb-label{font-size:.7rem}
  /* date picker (sheet) */
  .dp-months{gap:1rem}
  .dp-nav{top:-.3rem}
  .dp-cell{height:calc(min(100vw - 2.2rem, 460px) / 7 + 2px);max-height:54px;min-height:44px}
  .dp-day{height:100%}
  .dp-day::before{width:min(46px,100%);height:min(46px,100%)}
  /* results */
  .rs-card{grid-template-columns:1fr;gap:1rem;padding:.75rem}
  .rs-card-body{padding:.2rem .4rem .4rem}
  .rs-actions{width:100%}
  .rs-actions .bk-btn{flex:1}
  /* detail */
  .pd{padding-bottom:6rem}
  .pd-head{margin:.6rem 0 1rem}
  .pd-grid-photos{display:none}
  .pd-swipe{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--pad));scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pd-swipe::-webkit-scrollbar{display:none}
  .pd-slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:4/3;border:0;padding:0;background:var(--sand)}
  .pd-slide picture,.pd-slide img{width:100%;height:100%;object-fit:cover;display:block}
  .pd-swipe-count{display:block;position:absolute;right:.8rem;bottom:.8rem;background:rgba(19,35,44,.7);color:#fff;font-size:.76rem;padding:.25rem .65rem;border-radius:var(--r-pill);font-variant-numeric:tabular-nums}
  .pd-layout{grid-template-columns:1fr;margin-top:1.4rem}
  .pd-aside{display:none}
  .pd-amenities{grid-template-columns:1fr}
  .crumbs{display:none}
  /* checkout */
  .gf-row{grid-template-columns:1fr}
  .co-title{margin-bottom:.9rem}
  .co-sec{padding:1.5rem 0}
  .co-trip-row{padding:.3rem 0}
  .bk-footer{margin-top:2rem}
  .cf{padding-top:1.4rem}
  .cf-details div{flex-direction:column;gap:.1rem}
  .cf-details dd{text-align:left}
}
@media (max-width:520px){
  .phone{grid-template-columns:104px 1fr}
  .bk-mbar .bk-btn{min-width:124px}
}
@media (prefers-reduced-motion:reduce){
  .bk-skel{animation:none}
  .bk-sheet,.bk-pop,.cf-check-bg,.cf-check-ring,.cf-hero img,.cf-title,.cf-card--ok .cf-lead,.cf-card--ok .cf-details,.cf-card--ok .cf-actions{animation:none}
  .cf-check-mark{animation:none;stroke-dashoffset:0}
}

/* payment plan (deposit + balance) */
.sched{margin-top:1rem;padding:1rem 1.1rem;border-radius:var(--bk-radius);background:#EEF5F9;border:1px solid #CFE1EB}
.sched-row{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;padding:.2rem 0}
.sched-row b{font-variant-numeric:tabular-nums}
.sched-row small{display:block;font-size:.8rem;color:var(--bk-muted)}
.sched-row--now{font-weight:600}
.sched-hint{display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--petrol);margin-top:.35rem}
.sched-hint .ico{flex:none}
.co-consent{font-size:.84rem;color:#34444D;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem .95rem;margin-top:1rem;line-height:1.55}
.bal-pay{margin-top:1.6rem;text-align:left}
.bal-pay .bk-btn{margin-top:1rem}

/* ============================================================
   SALES PROMISES — deposit + free cancellation
   ============================================================ */
:root{--bk-green:#1F7A53;--bk-green-bg:#EFF8F3;--bk-green-line:#C7E5D4}
.perk-cancel{display:inline-flex;align-items:center;gap:.4rem;color:var(--bk-green);font-size:.88rem;line-height:1.35}
.perk-cancel .ico,.perk-cancel svg{flex:none;color:var(--bk-green)}
.perk-cancel b{font-weight:600}
.perk-deposit{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:var(--r-pill);background:var(--petrol);color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.perk-deposit b{font-weight:700}
.perk-deposit[hidden],[data-perk][hidden]{display:none!important}
.sales-perks{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-top:.9rem}
.sales-perks .perk-cancel{font-size:.86rem}

/* the deal box (apartment card, booking sheet, checkout summary) */
.deal{margin:1rem 0;padding:.95rem 1.05rem;border-radius:var(--bk-radius);background:var(--bk-green-bg);border:1px solid var(--bk-green-line)}
.deal--deposit{background:linear-gradient(135deg,#EEF5F9 0%,#F1F8F4 100%);border-color:#CFE1EB}
.deal-now{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}
.deal-now span{font-size:.92rem;font-weight:500;color:var(--ink)}
.deal-now b{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;color:var(--petrol);font-variant-numeric:tabular-nums}
.deal-rest{font-size:.84rem;color:var(--bk-muted);margin-top:.15rem}
.deal .perk-cancel{margin-top:.55rem;font-size:.86rem}
/* icon rows (auto balance + free cancellation) share the same icon column */
.deal-rest--auto{display:flex;align-items:center;gap:.4rem;margin-top:.55rem;font-size:.86rem;line-height:1.35;color:var(--ink)}
.deal-rest--auto svg{flex:none;color:var(--petrol)}
.deal-rest--auto+.perk-cancel{margin-top:.35rem}
.bk-promise{display:flex;flex-direction:column;gap:.45rem;margin:.2rem 0 1rem;font-size:.88rem;color:var(--ink)}
.bk-promise li{display:flex;align-items:flex-start;gap:.45rem}
.bk-promise .ico{flex:none;color:var(--bk-green);margin-top:.05rem}
.bk-promise b{font-weight:600}
.bk-mbar-deal{color:var(--petrol)}
.bk-mbar-cancel{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;color:var(--bk-green)}
.co-main>.perk-cancel{display:flex;justify-content:center;margin-top:.9rem;font-size:.9rem}
.co-terms a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.cf-cancel dd{display:inline-flex;align-items:center;justify-content:flex-end;gap:.35rem;color:var(--bk-green)}

/* home: promises under the hero search, on the cards, in the apartment sections */
.hero-perks{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.4rem;margin-top:1.2rem;color:#fff;font-size:.86rem;font-weight:400;text-shadow:0 1px 10px rgba(12,24,31,.55)}
.hero-perks li{display:inline-flex;align-items:center;gap:.4rem}
.hero-perks svg{flex:none;color:#9BE7C0}
.hero-perks b{font-weight:700}
.fc-perks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem .7rem;margin-top:.8rem}
.fc-perks .perk-deposit{font-size:.72rem;padding:.25rem .65rem;font-weight:500}
.fc-perks .perk-cancel{font-size:.78rem;font-weight:500}
.apt-perks{display:flex;flex-direction:column;gap:.45rem;margin-top:1.1rem}
.apt-perks li{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ink)}
.apt-perks svg{flex:none;color:var(--bk-green)}
.apt-perks b{font-weight:600;color:var(--petrol)}
.f-legal a{color:rgba(255,255,255,.75);text-decoration:underline;text-underline-offset:2px}
.f-legal a:hover{color:#fff}
@media (max-width:820px){
  .hero-perks{flex-direction:column;align-items:center;gap:.4rem;font-size:.84rem;margin-top:1rem}
  .deal-now b{font-size:1.4rem}
}

/* legal pages */
.legal{padding-top:2.4rem;padding-bottom:2rem}
.legal h1{font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.035em}
.legal-updated{color:var(--bk-muted);font-size:.86rem;margin-top:.4rem}
.legal-intro{margin-top:1.2rem;font-size:1.02rem;color:#34444D;line-height:1.75}
.legal section{padding:1.4rem 0;border-bottom:1px solid var(--line-soft)}
.legal h2{font-size:1.15rem;letter-spacing:-.015em;margin-bottom:.6rem}
.legal p,.legal li{color:#34444D;line-height:1.75;font-size:.97rem}
.legal p+p{margin-top:.6rem}
.legal ul{list-style:disc;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem}
.bk-footer-legal a{color:var(--bk-muted);text-decoration:underline;text-underline-offset:2px}
.bk-footer-legal a:hover{color:var(--ink)}
