/* Additive browsing and property controls; existing page geometry remains in its stylesheets. */
.browse-switch{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.browse-switch button{padding:12px 24px;min-height:44px;border:1px solid var(--line);border-radius:9999px;background:var(--paper);color:var(--ink);cursor:pointer}
.browse-switch button[aria-pressed="true"]{background:var(--action,var(--ink));color:white;border-color:var(--action,var(--ink))}
.results-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.sort-control{font-size:12px;display:flex;align-items:center;gap:10px}
.sort-control select{max-width:100%;min-height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 12px;border-radius:8px}
.browse-note{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 24px}
.load-more-row{text-align:center;margin-top:36px}.load-more-row[hidden]{display:none}
.property-icon{width:20px;height:20px;fill:currentColor;flex:none;vertical-align:middle}.property-icon-left{transform:rotate(180deg)}
.gallery-photo{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in;overflow:hidden}
.detail-hero>.hero-photo-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.hero-photo-open img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.detail-hero>div{pointer-events:none}.detail-hero>div button{pointer-events:auto}
.hero-photo-label{display:inline-flex;align-items:center;gap:10px;border:1px solid currentColor;padding:10px 14px;background:transparent;color:inherit;font:inherit;font-size:13px;min-height:44px;cursor:pointer}
.property-actions{padding:24px max(32px,calc((100vw - var(--content))/2));border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.property-actions p{font-size:13px;margin:0}.share-link{width:min(100%,600px);padding:12px;font:inherit;border:1px solid var(--line);background:var(--paper)}
.photo-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px;border:0;background:#000;color:#fff;overflow:hidden}
.photo-viewer::backdrop{background:#000}.viewer-toolbar{height:48px;display:flex;align-items:center;justify-content:space-between}.viewer-count{margin:0}
.photo-viewer button{background:#272729;color:#fff;border:1px solid #666;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;cursor:pointer}.photo-viewer button[hidden]{display:none}
.viewer-stage{height:calc(100% - 110px);display:flex;align-items:center;justify-content:center;gap:16px}.viewer-image{width:calc(100% - 128px);height:100%;object-fit:contain;min-width:0;touch-action:pan-y pinch-zoom}.viewer-caption{text-align:center;font-size:13px;line-height:1.5;margin:14px 0;max-height:42px;overflow:auto}
.mortgage{background:var(--cream)}.mortgage>p{max-width:720px;font-size:14px;line-height:1.7;color:var(--muted)}
.mortgage-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px}.mortgage-form label{font-size:13px;line-height:1.6;min-width:0}.mortgage-form input{display:block;width:100%;margin-top:8px;padding:12px;min-height:48px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;border-radius:2px}
.mortgage-result{display:block;font-size:20px;line-height:1.6;margin-top:24px}.mortgage-form input:focus-visible{outline:3px solid var(--clay);outline-offset:3px}
.similar-properties .home-grid{margin-top:36px}
@media(max-width:900px){.mortgage-form{grid-template-columns:repeat(2,minmax(0,1fr))}.results-bar{flex-wrap:wrap;gap:16px}}
@media(max-width:700px){.results-actions{width:100%;justify-content:space-between;gap:12px}.sort-control{gap:6px}.browse-switch button{flex:1;padding-inline:16px}.property-actions{padding:20px}.photo-viewer{padding:12px}.viewer-stage{position:relative;gap:0}.viewer-image{width:100%}.viewer-prev,.viewer-next{position:absolute;bottom:4px;z-index:1}.viewer-prev{left:4px}.viewer-next{right:4px}.mortgage-form{grid-template-columns:1fr 1fr;gap:14px}.mortgage-result{font-size:18px}body[data-page="property"] .floating{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));text-align:center;display:flex;justify-content:center;align-items:center;gap:12px;min-height:54px}body[data-page="property"] footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}

.share-label{font-size:14px;font-weight:600}.share-channels{display:flex;flex-wrap:wrap;gap:10px}.share-channels .primary{gap:0;min-height:44px;padding:12px 20px}.property-actions #share-status:empty{display:none}
@media(max-width:700px){.share-label{width:100%}.share-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}

/* Explicit user-requested branded social controls; accessible names remain on links. */
body:is([data-page="property"], [data-page="launch"]) .share-channels { display:flex; width:auto; flex-wrap:wrap; gap:10px; }
body:is([data-page="property"], [data-page="launch"]) .share-channels .primary { width:48px; height:48px; min-height:48px; padding:0; border-radius:50%; display:inline-flex; justify-content:center; align-items:center; }
.share-icon { width:25px; height:25px; fill:currentColor; }
body:is([data-page="property"], [data-page="launch"]) .share-channels #share-whatsapp { background:#187d3c; border-color:#187d3c; color:white; }
body:is([data-page="property"], [data-page="launch"]) .share-channels #share-facebook { background:#0866ff; border-color:#0866ff; color:white; }

footer { flex-wrap:wrap; }
.social-profiles { flex-basis:100%; padding-top:20px; border-top:1px solid var(--line); font-size:13px; display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.social-profiles>span { display:block; font-weight:600; }
.social-profiles>div { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.social-profiles a { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; text-decoration:none; }
.social-profiles a:focus-visible { outline:2px solid var(--action,#0066cc); outline-offset:4px; border-radius:4px; }
.social-logo { display:block; width:32px; height:32px; object-fit:contain; }
.social-logo--xiaohongshu { width:56px; }

.legal-links { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:13px; }
.legal-links a { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:4px; }
