/* Public catalog: larger controls, quick search, persistent contact and full photos. */
.quick-search{margin:24px 0 0;max-width:530px}.quick-search label{display:block;font-size:14px;font-weight:700;margin-bottom:9px}.quick-search-row{display:flex;gap:8px;min-width:0}
.quick-search input{min-width:0;width:100%;flex:1;border:1px solid #c8d8dd;border-radius:8px;padding:12px;font-size:16px;min-height:48px;background:#fff;color:var(--ink)}
.quick-search button{flex-shrink:0;border:0;border-radius:8px;background:var(--teal);color:#fff;padding:12px 18px;min-height:48px;font-size:14px;font-weight:700}
.filters input,.filters select{font-size:16px;min-height:48px}.filters label>span{font-size:12px}.filters button{font-size:13px;min-height:48px}
.budget-hint{margin:-10px 0 24px;font-size:12px;line-height:1.7;color:var(--muted)}.filters input[aria-invalid=true]{border-color:#ab3535}
.card-agent{flex-wrap:wrap;gap:6px 10px}.card-agent>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5}.card-agent .agent-name{font-size:12px}
.card-agent>a:last-child{border:1px solid #cbdfe0;border-radius:6px;padding:8px 11px;justify-content:center}.rail-controls button{width:44px;height:44px;flex-shrink:0}
.office-gallery .office-gallery-dot{min-width:44px;width:44px;min-height:44px;height:44px}.office-gallery-toolbar .office-gallery-pause{min-height:44px!important;font-size:13px!important}
.site-header nav a{font-size:14px}.footer-links a{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
.property-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.property-dialog .dialog-shell{display:flex;flex-direction:column;min-height:0;max-height:inherit;width:100%}
.property-dialog .dialog-shell>header{position:static;flex-shrink:0}.property-dialog #detailBody{overflow:auto;min-height:0;overscroll-behavior:contain}
.detail-contact-bar{flex-shrink:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 18px #162d3b09}
.detail-contact-bar .wa-link{font-size:15px;min-height:48px;overflow-wrap:anywhere;line-height:1.5;padding:12px 16px}
.detail-photo-open{display:block;border:0;background:var(--soft);padding:0;min-width:0;overflow:hidden;border-radius:5px;cursor:zoom-in}.detail-photo-open:first-child{grid-column:1/-1}
.detail-gallery .detail-photo-open img{display:block;width:100%;height:230px;object-fit:cover}.detail-gallery .detail-photo-open:first-child img{height:360px}.detail-photo-hint{margin:0;padding:0 20px;font-size:12px;line-height:1.7;color:var(--muted)}
.photo-viewer{border:0;border-radius:12px;padding:0;width:min(1100px,98vw);max-width:98vw;max-height:96dvh;background:#10232b;color:#fff;overflow:hidden}.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#08161be8}
.photo-viewer header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;flex-shrink:0}.photo-viewer h2{font:600 16px Arial,sans-serif;margin:0;line-height:1.5}
.photo-viewer button{border:1px solid #68808b;border-radius:7px;background:#213e4b;color:#fff;min-height:44px;min-width:44px;padding:8px 13px;font-size:14px}.photo-viewer button:disabled{opacity:.4}
.photo-viewer-stage{overflow:auto;min-height:0;height:min(65dvh,650px);background:#09191f;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}.photo-viewer-image{display:block;width:100%;height:100%;object-fit:contain}
.photo-viewer.is-zoomed .photo-viewer-stage{touch-action:pan-x pan-y pinch-zoom}.photo-viewer.is-zoomed .photo-viewer-image{width:200%;height:auto;max-width:none;max-height:none;object-fit:initial}
.photo-viewer-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));flex-shrink:0}.photo-viewer-status{font-size:13px;line-height:1.5;min-width:54px;text-align:center}.photo-viewer-error{padding:20px;text-align:center;font-size:14px}
.photo-viewer button:focus-visible{outline:3px solid #59d8ee;outline-offset:2px}
@media(max-width:620px){.quick-search{margin-top:20px}.card-agent .agent-name{max-width:100%;flex:1 1 100%}.card-agent>a:last-child{width:100%}.detail-contact-bar{padding-left:16px;padding-right:16px}.detail-gallery .detail-photo-open img{height:140px}.detail-gallery .detail-photo-open:first-child img{height:250px}.photo-viewer{width:100%;max-width:100%;max-height:100dvh;border-radius:0}.photo-viewer header{padding-top:calc(10px + env(safe-area-inset-top,0px))}.photo-viewer-stage{height:64dvh}.hero-description{font-size:14px}.site-header nav{gap:10px}}
