/* Listing-only presentation. Public photos never reveal an exact location. */
.rr-ui.single-rr_listing { background:var(--mist); }
.rr-ui .listing .screen--listing { padding:12px 0; background:var(--mist); }
.rr-ui .listing .crumbs { margin:0; font-size:12px; }
.rr-ui .listing__overview { align-items:start; gap:16px; }
.rr-ui .listing__overview .gallery { margin:0; min-width:0; }
.rr-ui .listing__overview .gallery__strip { border-radius:var(--r-card); background:var(--mist-deep); }
.rr-ui .listing__overview .gallery__img { aspect-ratio:4/3; object-fit:contain; }
.rr-ui .gallery__enlarge { width:44px; height:44px; }
.rr-ui .gallery__thumb { border-radius:6px; overflow:hidden; }
.rr-ui .gallery__thumb[aria-current=true] { outline:2px solid var(--brand); outline-offset:2px; }
.rr-ui .listing__overview .listing__head { padding:16px; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-card); box-shadow:var(--shadow-sm); }
.rr-ui .listing__head .price { margin:0 0 10px; }
.rr-ui .listing__head .price__figure { font:700 28px/1.2 var(--font-display); letter-spacing:-.025em; }
.rr-ui .listing__head .price__unit { font-size:13px; }
.rr-ui .listing__head .price__deposit { font-size:12px; color:var(--slate); }
.rr-ui .listing__overview .listing__title { font-size:23px; line-height:1.25; margin:0 0 8px; }
.rr-ui .listing__overview .listing__where { font-size:13px; margin:0 0 12px; color:var(--slate); }
.rr-ui .listing__head .stamp { font-size:10px; line-height:1.65; padding:8px 10px; background:var(--mist); }
.rr-ui .verification-details { margin-top:0; }
.rr-ui .verification-details summary { min-height:44px; padding:12px 0 0; font-size:13px; color:var(--brand); }
.rr-ui .listing__details.section { padding-top:16px; }
.rr-ui .listing__factgrid { gap:12px; }
.rr-ui .listing__factgrid .factgroup { padding:16px; border:1px solid var(--line); border-radius:var(--r-card); background:var(--paper); }
.rr-ui .listing__factgrid .factgroup__h { font:700 16px/1.3 var(--font-display); text-transform:none; letter-spacing:-.012em; color:var(--ink); margin:0 0 12px; }
.rr-ui .listing__factgrid .facts { margin:0; }
.rr-ui .facts dt { font-size:10px; color:var(--slate); }
.rr-ui .facts dd { font-size:14px; }
.rr-ui .listing__payment-note { font-size:12px; padding:0 2px; }
.rr-ui .listing-amenities { background:var(--paper); border:1px solid var(--line); border-radius:var(--r-card); padding:16px; margin-top:18px; }
.rr-ui .listing-amenities .listing__h2 { margin:0 0 14px; font-size:18px; }
.rr-ui .listing-amenities .taglist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.rr-ui .listing-amenities .chip { display:flex; align-items:center; gap:7px; padding:0; border:0; background:none; font-size:13px; white-space:normal; }
.rr-ui .listing-amenities .icon { flex:0 0 16px; width:16px; height:16px; color:var(--brand); }
.rr-ui .listing__disclosure { padding:0 4px; }
.rr-ui .listing__disclosure summary { font-size:14px; }
.rr-ui .listing__details .booking--teaser { background:var(--brand-tint); border-color:var(--line); }
.rr-ui .listing__details .booking__fee { color:var(--brand); }
.rr-ui .listing__details .booking__fee span { color:var(--slate); }
.rr-ui .actionbar--listing .actionbar__chat[data-save] { display:none; }
.rr-ui .listing-header-actions { display:flex; gap:6px; margin-left:auto; }
.rr-ui .listing-header-actions button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:var(--r-btn); background:var(--paper); color:var(--ink); }
.rr-ui .listing-header-actions button[hidden] { display:none; }
.rr-ui .listing-header-actions [aria-pressed=true] { color:var(--brand); background:var(--brand-tint); }
.rr-ui .listing-header-actions [aria-pressed=true] .icon { fill:currentColor; }
.rr-ui .listing-share { width:min(440px,calc(100% - 32px)); padding:20px; border:0; border-radius:12px; box-shadow:var(--shadow-lift); color:var(--ink); }
.rr-ui .listing-share::backdrop { background:rgba(14,20,27,.48); }
.rr-ui .listing-share__head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.rr-ui .listing-share h2 { font-size:20px; margin:0; }
.rr-ui .listing-share__close { width:44px; height:44px; border:0; border-radius:8px; background:var(--mist); font-size:24px; }
.rr-ui .listing-share input { width:100%; font-size:16px; margin:8px 0 12px; }
.rr-ui .listing-share label,.rr-ui .listing-share [role=status] { font-size:13px; }
.rr-ui .listing-share [role=status] { margin-top:10px; }
.rr-ui .listing-share__actions { display:flex; gap:8px; flex-wrap:wrap; }
@media(max-width:899px) {
 .rr-ui.single-rr_listing .appbar .placechip { display:none; }
 .rr-ui.single-rr_listing .appbar__row { gap:8px; }
 .rr-ui.single-rr_listing .appbar .logo { margin-right:auto; }
 .rr-ui.single-rr_listing .appbar .burger { width:36px; min-width:36px; }
 .rr-ui .actionbar--listing .actionbar__chat[data-save] { display:none; }
 .rr-ui .actionbar--listing { border-top:1px solid var(--line); box-shadow:var(--shadow-sheet); }
 .rr-ui .actionbar--listing .actionbar__primary { min-height:48px; }
 .rr-ui .listing__overview { gap:12px; }
 .rr-ui .gallery__thumbs { max-height:58px; }
}
@media(min-width:900px) {
 .rr-ui .listing__overview { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; }
 .rr-ui .listing__overview .listing__head { padding:24px; }
 .rr-ui .listing__head .price__figure { font-size:32px; }
 .rr-ui .listing__overview .listing__title { font-size:28px; }
}
@media(prefers-reduced-motion:no-preference) {
 .rr-ui .listing-share[open] { animation:rr-listing-dialog 150ms var(--ease); }
 @keyframes rr-listing-dialog { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
/* Shared two-stage visit request when no staffed calendar exists for the area. */
.visit-request-step{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:12px}
.visit-request-step[hidden]{display:none}
.visit-request-step legend{padding:0;margin-bottom:12px}
.visit-request-step .field__input{font-size:16px;min-height:48px;box-sizing:border-box;width:100%;min-width:0}
.visit-request-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.visit-request-mode label{position:relative;cursor:pointer}
.visit-request-mode input{position:absolute;opacity:0;width:1px;height:1px}
.visit-request-mode span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:600}
.visit-request-mode input:checked+span{background:var(--brand-tint);border-color:var(--brand);color:var(--brand)}
.visit-request-mode input:focus-visible+span{outline:2px solid var(--brand-hi);outline-offset:2px}
.visit-request-review{background:var(--mist);padding:10px;border-radius:8px;font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.visit-request-step [data-request-back]{min-height:48px;align-self:flex-start}
[data-visit-request] [hidden]{display:none!important}

/* The walk-through video (§9.2x): under the stamp, the browser's own player. */
.rr-ui .walk { margin:12px 0 0; background:var(--paper); border:1px solid var(--line); border-radius:var(--r-card, 10px); overflow:hidden; box-shadow:var(--shadow-card); }
.rr-ui .walk__frame { position:relative; background:var(--ink); aspect-ratio:16 / 9; }
.rr-ui .walk__video { display:block; width:100%; height:100%; object-fit:contain; background:var(--ink); }
.rr-ui .walk__meta { padding:10px 14px 12px; }
.rr-ui .walk__title { margin:0; font:700 14px/1.3 var(--font-display); letter-spacing:-.012em; color:var(--ink); }
.rr-ui .walk__sub { margin:2px 0 0; font-size:12px; line-height:1.45; color:var(--slate); }
@media (min-width:900px) { .rr-ui .walk { margin-top:16px; } }

/* The walk-through as slide 1 of the gallery (§9.2z). */
.rr-ui .gallery__slide--video { display:flex; align-items:center; justify-content:center; background:var(--ink); }
.rr-ui .listing__overview .gallery__video { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:var(--ink); }
.rr-ui .gallery__thumb--video { position:relative; background:var(--ink); }
.rr-ui .gallery__thumb-play { position:absolute; inset:0; display:grid; place-items:center; color:var(--paper); background:rgba(14,20,27,.28); }
.rr-ui .gallery__thumb-play svg { width:18px; height:18px; filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
/* The lead under the stamp: a normal lead, not a booking. */
.rr-ui .listing-lead { margin:12px 0 0; }
.rr-ui .listing-lead .askus { margin:0; padding:16px; background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--verified); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.rr-ui .listing-lead .askus__h { margin:0 0 4px; font:700 17px/1.25 var(--font-display); letter-spacing:-.014em; color:var(--ink); }
.rr-ui .listing-lead .askus__sub { margin:0 0 12px; font-size:13px; line-height:1.5; color:var(--slate); }
.rr-ui .listing-lead .btn--primary { background:var(--verified); border-color:var(--verified); }
/* Amenities, open, as a grid; "Not listed" is grey, never a cross. */
.rr-ui .amen-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); background:var(--paper); border:1px solid var(--line); border-radius:var(--r-card); overflow:hidden; }
.rr-ui .amen-grid + .listing__disclosure { margin-top:8px; }
.rr-ui .amen-grid__row { display:flex; align-items:center; gap:8px; min-height:44px; padding:0 12px; border-top:1px solid var(--line); font-size:13px; font-weight:500; color:var(--ink); }
.rr-ui .amen-grid__row:nth-child(-n+2) { border-top:0; }
.rr-ui .amen-grid__row:nth-child(even) { border-left:1px solid var(--line); }
.rr-ui .amen-grid__row .icon { width:15px; height:15px; color:var(--verified); flex:none; }
.rr-ui .amen-grid__row--no { color:var(--slate-light); }
.rr-ui .amen-grid__dash { width:15px; text-align:center; color:var(--slate-light); flex:none; }
.rr-ui .amen-grid__row small { margin-left:auto; font-size:10px; font-family:var(--font-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--slate-light); }
/* The "Interested?" pill sits above the listing action bar, not the tab bar. */
.rr-ui.single-rr_listing .fab-cluster--listing { bottom:calc(84px + env(safe-area-inset-bottom)); }
@media (min-width:900px) { .rr-ui.single-rr_listing .fab-cluster--listing { bottom:96px; } }
/* The lead card, compact: one line and a button; the form is the sheet it opens. */
.rr-ui .listing-lead--compact { padding:14px 16px 16px; background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--verified); border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.rr-ui .listing-lead__h { margin:0 0 4px; font:700 16px/1.25 var(--font-display); letter-spacing:-.014em; color:var(--ink); }
.rr-ui .listing-lead__sub { margin:0 0 12px; font-size:13px; line-height:1.5; color:var(--slate); }
.rr-ui .listing-lead__btn { min-height:48px; margin:0; background:var(--verified); border-color:var(--verified); color:var(--paper); font-weight:700; }
.rr-ui .listing-lead__btn[hidden] { display:none; }

/* The WhatsApp control in the action bar says what it is. */
.rr-ui .actionbar--listing .actionbar__chat--wa { display:inline-flex; align-items:center; justify-content:center; gap:6px; width:auto; padding:0 12px; min-height:48px; border-color:var(--verified); color:var(--verified); font-weight:600; font-size:14px; white-space:nowrap; }
.rr-ui .actionbar--listing .actionbar__chat--wa .icon { flex:none; }
@media(max-width:380px) {
 .rr-ui .actionbar--listing .actionbar__chat--wa { padding:0 10px; gap:5px; font-size:13.5px; }
 .rr-ui .actionbar--listing .actionbar__primary { padding-left:10px; padding-right:10px; }
}
