/* browse-guests.css — split from browse.css (lines 82-107), 2026-08-17.
   guests + pets stepper (.gp-*) and the staged card price line (.card-price)
   LOAD ORDER IS LOAD-BEARING. Link in this exact sequence, after nothing and
   before the engine-*.css layer:
     browse-filterbar.css -> browse-datepicker.css -> browse-guests.css -> browse-map.css -> browse-cards.css -> browse-detail.css
   Slices are CONTIGUOUS: rule order is unchanged from browse.css, so the cascade is
   equivalent by construction. Some selectors are redefined in a later module on
   purpose — do not reorder, and do not "tidy" rules between files.
   browse.css itself is UNTOUCHED on disk and still serves the other 17 pages. */
.gp-wrap { position:relative; }
.gp-field { min-width:120px; }
.gp-field.has-value { color:var(--parchment); }
.gp-pop { position:absolute; top:calc(100% + 10px); left:0; z-index:60; min-width:238px; background:linear-gradient(165deg, #0A2247 0%, var(--forest) 55%); border:1px solid var(--gold-border); border-radius:16px; padding:1rem 1.15rem; box-shadow:0 1px 0 rgba(201,169,110,0.18) inset, 0 18px 55px rgba(0,0,0,0.6), 0 4px 14px rgba(0,0,0,0.4); animation:drIn 0.42s cubic-bezier(0.34,1.56,0.64,1); }
.gp-row { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:0.35rem 0; }
.gp-petrow { cursor:pointer; }
.gp-name { color:var(--sage); font-size:0.88rem; }
.gp-step { display:flex; align-items:center; gap:0.65rem; }
.gp-step button { background:none; border:1px solid var(--gold-line); border-radius:50%; width:1.8rem; height:1.8rem; color:var(--sage); font-size:1.05rem; line-height:1; cursor:pointer; transition:all 0.18s; }
.gp-step button:hover:not(:disabled) { border-color:var(--gold); color:var(--gold); transform:scale(1.08); }
.gp-step button:disabled { opacity:0.3; cursor:default; }
#gpVal { min-width:2.2rem; text-align:center; color:var(--parchment); font-size:0.9rem; }
#gpPet { accent-color:var(--gold); width:1.05rem; height:1.05rem; cursor:pointer; }
@media (max-width:768px) {
  .gp-pop { position:fixed; left:50%; top:50%; transform:translate(-50%,-50%); width:min(300px, 92vw); animation:drInM 0.42s cubic-bezier(0.34,1.56,0.64,1); }
}

/* STAGED CARD PRICING (P-B): teaser -> per-stay -> fee-included pre-tax total. */
.card-price { display:block; color:var(--sage); font-size:0.82rem; letter-spacing:0.01em; margin-right:auto; }
.card-price strong { color:var(--gold); font-size:1.02rem; font-weight:600; }

/* ── SPLIT VIEW + MAP (rebuild P-E/P-D, 2026-08-14) — mirror of the inline
   block in vacation-rentals.html, which WINS there by load order (lockstep
   rule). book-home has no inline copy so these rules govern it if a map is
   ever added there; today only /vacation-rentals carries #gmap markup. */
