/* Página do imóvel: leitura, contraste e controles em todas as larguras. */
.property-location-card { margin-top:28px; padding:24px; background:#fff; color:#202d35; border:1px solid #dddcd5; border-radius:8px; scroll-margin-top:100px; min-width:0; }
.property-location-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:20px; }
.property-location-heading .eyebrow { font-size:10px; color:#856432; letter-spacing:.12em; }
.property-location-heading h2 { color:#202d35; margin:5px 0 0; line-height:1.15; }
.property-detail-page .property-directions-btn { min-height:44px; padding:11px 16px; font-size:11px; gap:8px; white-space:nowrap; }
.property-directions-btn svg { width:16px; height:16px; }
.property-location-address { display:flex; align-items:flex-start; gap:12px; margin-bottom:22px; min-width:0; }
.property-location-address > div { min-width:0; }
.property-location-address-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid #e1d7c2; border-radius:50%; background:#f8f5ee; color:#96703c; flex-shrink:0; }
.property-location-address-icon svg { width:20px; height:20px; }
.property-location-address strong { display:block; font-size:15px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.property-location-address p { color:#61706c; font-size:12px; line-height:1.65; margin:2px 0 0; }
.property-location-address .property-location-street { color:#40514b; }
.property-map-frame { position:relative; min-width:0; overflow:hidden; border:1px solid #d8ddd7; border-radius:7px; background:#edf1ea; isolation:isolate; }
.property-detail-page #propertyLocationMap { width:100%; height:390px; z-index:0; background:#edf1ea; font-family:var(--font-sans); }
.property-map-tools { position:absolute; top:12px; left:12px; right:12px; z-index:800; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; pointer-events:none; }
.property-map-modes, .property-map-center { pointer-events:auto; box-shadow:0 3px 12px #1d2c2520; }
.property-map-modes { display:flex; padding:4px; gap:3px; border:1px solid #d4dad2; background:#fffffff5; border-radius:7px; }
.property-map-modes button { min-height:44px; padding:8px 15px; border:0; border-radius:4px; font:600 12px/1.4 var(--font-sans); color:#40534b; background:transparent; cursor:pointer; }
.property-map-modes button[aria-pressed="true"] { background:#1c493b; color:#fff; }
.property-map-modes button:hover:not([aria-pressed="true"]) { background:#eef2ec; }
.property-map-center { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:52px; height:52px; border:1px solid #d4dad2; border-radius:7px; color:#315449; background:#fffffff5; cursor:pointer; }
.property-map-center svg { width:21px; height:21px; }
.property-map-tools button:focus-visible { outline:3px solid #a6844e; outline-offset:3px; }
.property-map-tools button:disabled { opacity:.55; cursor:default; }
.property-map-status { color:#56685e; font-size:12px; line-height:1.6; margin:12px 0 0; }
.property-map-status[hidden] { display:none; }
.property-location-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 18px; padding-top:14px; font-size:11px; line-height:1.6; }
.property-location-footer > span { display:flex; align-items:center; gap:5px; color:#63736b; }
.property-location-footer > a { display:inline-flex; gap:4px; align-items:center; min-height:36px; color:#315749; font-weight:600; }
.property-location-footer svg { width:13px; height:13px; flex-shrink:0; }
.property-location-marker { filter:drop-shadow(0 4px 4px #172c324d); }
.property-location-card .leaflet-control-zoom { border:1px solid #d4dad2; border-radius:6px; overflow:hidden; box-shadow:0 3px 12px #1d2c2520; }
.property-location-card .leaflet-bar a { width:44px; height:44px; line-height:44px; background:#fff; color:#294c3e; }
.property-location-card .leaflet-bottom.leaflet-left { right:65px; }
.property-location-card .leaflet-control-attribution { padding:3px 6px; background:#fffffff0; color:#40534b; font-size:10px; max-width:100%; }
.property-location-card .leaflet-control-attribution a { color:#315749; }
.property-location-card .leaflet-popup-content-wrapper { border:1px solid #d7d9cf; border-radius:7px; background:#fff; color:#253b30; box-shadow:0 5px 24px #203b342b; }
.property-location-card .leaflet-popup-tip { background:#fff; }
.property-location-card .leaflet-popup-content { margin:15px 20px 15px 15px; }
.property-location-popup { font-family:var(--font-sans); line-height:1.6; overflow-wrap:anywhere; }
.property-location-popup strong { font-size:13px; color:#254137; }
.property-location-popup p { font-size:11px; color:#53665c; margin:3px 0; }
.property-location-popup small { display:block; margin-top:9px; font-size:10px; color:#856432; }
@media(max-width:640px) {
 .property-location-card { padding:0; border:0; border-radius:0; }
 .property-location-heading { margin-bottom:18px; gap:14px; }
 .property-detail-page .property-directions-btn { width:100%; justify-content:center; }
 .property-location-address { gap:10px; margin-bottom:18px; }
 .property-location-address-icon { width:34px; height:34px; }
 .property-location-address strong { font-size:14px; }
 .property-detail-page #propertyLocationMap { height:330px; }
 .property-map-tools { top:10px; left:10px; right:10px; gap:8px; }
 .property-map-modes button { min-height:44px; font-size:11px; padding:8px 10px; }
 .property-location-footer { font-size:10px; }
 .property-location-footer > a { min-height:40px; }
}
.property-cover-video-btn { position:absolute; top:18px; left:18px; z-index:2; display:inline-flex; align-items:center; gap:10px; min-height:50px; padding:8px 18px 8px 9px; border:1px solid #e3c98f; border-radius:5px; background:#a6844e; color:#fff; font:700 13px/1.3 var(--font-sans); letter-spacing:.07em; text-transform:uppercase; box-shadow:0 5px 20px #0006; cursor:pointer; }
.property-cover-video-play { display:flex; justify-content:center; align-items:center; width:34px; height:34px; border-radius:50%; background:#fff; color:#785c2e; flex-shrink:0; }
.property-cover-video-play svg { width:18px; height:18px; fill:currentColor; }
.property-cover-video-btn:hover { background:#876837; }
.property-cover-video-btn:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.property-video-dialog { width:min(1120px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); margin:auto; border:1px solid #a6844e; border-radius:8px; padding:0; background:#111715; color:#fff; overflow:hidden; }
.property-video-dialog::backdrop { background:#070b0ee8; backdrop-filter:blur(5px); }
.property-video-dialog[data-orientation="9:16"] { width:min(460px,calc(100vw - 24px)); }
.property-video-dialog-content { padding:18px; box-sizing:border-box; }
.property-video-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:16px; }
.property-video-dialog-header > div { min-width:0; }
.property-video-dialog-header h2 { color:#fff; font:500 25px/1.15 var(--font-serif); }
.property-video-dialog-header p { font-size:12px; color:#e3c98f; margin-top:4px; }
.property-video-dialog-header .btn { flex-shrink:0; padding:10px; font-size:11px; white-space:nowrap; }
.property-video-dialog-frame { --video-aspect:16/9; --video-ratio:1.777778; width:100%; aspect-ratio:var(--video-aspect); margin:auto; background:#000; position:relative; }
.property-video-dialog[data-orientation="9:16"] .property-video-dialog-frame { --video-aspect:9/16; --video-ratio:.5625; }
.property-video-dialog-frame :is(video,iframe) { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:contain; border:0; }
.property-video-separate-link { margin:0; box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:8px 0 0; color:#e3c98f; font-size:12px; }
.property-video-separate-link svg { width:14px; height:14px; }
.property-video-dialog-error { margin:0; color:#ffe1cf; font-size:13px; padding-top:12px; line-height:1.6; }
.property-video-dialog-error[hidden] { display:none; }
.property-inline-video-btn { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; background:#111; color:#fff; cursor:pointer; }
.property-inline-video-btn > img { display:block; width:100%; height:100%; object-fit:cover; opacity:.65; }
.property-inline-video-btn > span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px; font-weight:600; text-shadow:0 2px 8px #000; }
.property-inline-video-play { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border:1px solid #e3c98f; border-radius:50%; background:#a6844e; color:#fff; box-shadow:0 5px 20px #0006; flex-shrink:0; }
.property-inline-video-play svg { width:24px; height:24px; margin-left:3px; fill:currentColor; }
.property-inline-video-btn:hover .property-inline-video-play { background:#876837; }
body:has(#propertyVideoDialog[open]) { overflow:hidden; }
@media(max-width:640px) { .property-cover-video-btn { top:12px; left:12px; min-height:46px; padding-right:14px; font-size:11px; } .property-video-dialog-content { padding:12px; } .property-video-dialog-header h2 { font-size:21px; } }
.property-heading { background:var(--bg-paper); border-bottom:1px solid var(--border-hairline); padding:2rem 0; }
.property-heading-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(260px, 340px); gap:2.5rem; align-items:start; }
.property-heading-copy { min-width:0; }
.property-heading-title { font-size:clamp(2rem, 3.25vw, 3.2rem); margin:0 0 0.85rem; text-wrap:balance; overflow-wrap:anywhere; }
.property-heading-price { text-align:right; padding:1rem 0 1rem 1.5rem; border-left:1px solid var(--border-hairline); min-width:0; }
/* Resumo sem limite de tamanho: 4 linhas e "Ler resumo completo" quando passa disso. */
.property-heading-summary { margin-bottom:0.55rem; }
.property-heading-summary-text { font-size:1.02rem; line-height:1.5; color:var(--text-secondary); white-space:pre-line; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.property-heading-summary.is-expanded .property-heading-summary-text { display:block; overflow:visible; }
.property-summary-toggle { display:inline-flex; align-items:center; min-height:44px; margin-top:0.15rem; padding:0; border:0; background:none; color:#85642f; font:600 0.78rem/1.4 var(--font-sans); letter-spacing:0.06em; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.property-summary-toggle[hidden] { display:none; }
.property-heading-price-label { font:600 0.66rem/1.4 var(--font-sans); text-transform:uppercase; letter-spacing:0.2em; color:#85642f; margin-bottom:0.35rem; }
.property-price-value { font-size:clamp(2rem, 2.8vw, 2.7rem); font-weight:500; line-height:1.1; color:var(--text-primary); overflow-wrap:anywhere; }
.property-price-value.is-on-request { font-size:clamp(1.6rem, 2.2vw, 2rem); font-style:italic; }
.property-heading-sqm { margin-top:0.3rem; font:500 0.8rem/1.5 var(--font-sans); color:#5f6a64; letter-spacing:0.02em; font-variant-numeric:tabular-nums lining-nums; }
/* Ações em grade: o vídeo ocupa a linha inteira e os demais formam pares. */
.property-heading-actions { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0.5rem; margin-top:1.2rem; }
.property-heading-actions > .btn-bronze { grid-column:1 / -1; }
.property-heading-actions .btn { padding-inline:0.7rem; }
.btn.property-virtual-tour { display:flex; align-items:center; gap:12px; width:100%; min-height:72px; padding:12px 16px; background:#18372e; color:#f2dfb4; border:1px solid #c8ab73; border-radius:5px; text-align:left; text-transform:none; letter-spacing:normal; text-decoration:none; white-space:normal; }
.btn.property-virtual-tour:hover { background:#244b3d; color:#fff0cc; border-color:#d6bd8d; }
.btn.property-virtual-tour:focus-visible { outline:3px solid #b28c4b; outline-offset:3px; }
.property-heading-actions > .property-virtual-tour { grid-column:1 / -1; }
.btn.property-virtual-tour .virtual-tour-icon { flex:0 0 44px; width:44px; height:44px; }
.virtual-tour-copy { display:grid; gap:4px; min-width:0; }
.virtual-tour-copy strong { font-size:15px; line-height:1.3; }
.btn.property-virtual-tour .virtual-tour-copy small { font-size:11px; line-height:1.5; color:#e0d7c4; }
.virtual-tour-external { margin-left:auto; flex-shrink:0; font-size:23px; }
.development-tour-action { margin:0 0 18px; }
.dev-module .btn.property-virtual-tour { min-height:72px; gap:12px; text-align:left; justify-content:flex-start; }

.property-share-dialog { width:min(520px, calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); margin:auto; padding:0; border:1px solid #d9c7a6; border-radius:10px; background:#fffdf9; color:#15201c; box-shadow:0 30px 90px -20px #0b120f73; overflow:auto; }
.property-share-dialog[open] { animation:property-share-in .32s cubic-bezier(.2,.8,.2,1); }
.property-share-dialog::backdrop { background:#0b100ecc; backdrop-filter:blur(6px); }
@keyframes property-share-in { from { opacity:0; transform:translateY(14px) scale(.985); } }
.property-share-sheet { padding:26px 28px 24px; }
.property-share-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
.property-share-eyebrow { display:flex; align-items:center; gap:10px; font:600 10px/1.4 var(--font-sans); letter-spacing:.2em; text-transform:uppercase; color:#85642f; }
.property-share-eyebrow::before { content:""; width:22px; height:1px; background:currentColor; }
.property-share-header h2 { margin:6px 0 0; font:500 30px/1.1 var(--font-serif); color:#15201c; }
.property-share-close { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; border:1px solid #e3d9c8; border-radius:50%; background:#fff; color:#2b3833; cursor:pointer; transition:var(--transition-luxury); }
.property-share-close:hover { background:#14201b; border-color:#14201b; color:#e3c98f; }
.property-share-preview { display:grid; grid-template-columns:112px minmax(0, 1fr); gap:16px; align-items:center; padding:12px; margin-bottom:22px; background:#f6f1e8; border:1px solid #ebe1d0; border-radius:8px; }
.property-share-preview img { width:112px; height:84px; object-fit:cover; border-radius:5px; }
.property-share-preview > div { min-width:0; display:grid; gap:3px; }
.property-share-preview strong { font:500 19px/1.2 var(--font-serif); color:#15201c; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.property-share-preview > div > span { font-size:12px; line-height:1.5; color:#5f6a64; overflow-wrap:anywhere; }
.property-share-preview > div > .property-share-preview-price { margin-top:2px; font:500 21px/1.15 var(--font-serif); color:#15201c; }
.property-share-preview > div > .property-share-preview-price.is-on-request { font-size:17px; font-style:italic; }
.property-share-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px 8px; margin:0 0 22px; padding:0; list-style:none; }
.property-share-grid [hidden] { display:none; }
.property-share-option { display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; padding:4px 0; border:0; background:none; color:#33403a; font:500 12px/1.3 var(--font-sans); text-align:center; cursor:pointer; }
.property-share-icon { display:flex; align-items:center; justify-content:center; width:56px; height:56px; border:1px solid #e3d9c8; border-radius:50%; background:#fff; color:#1b2823; transition:var(--transition-luxury); }
.property-share-icon svg { width:22px !important; height:22px !important; }
.property-share-option:hover .property-share-icon, .property-share-option:focus-visible .property-share-icon { background:#14201b; border-color:#14201b; color:#e3c98f; transform:translateY(-2px); box-shadow:0 10px 22px -12px #14201b; }
.property-share-option:focus-visible { outline:none; }
.property-share-option:focus-visible .property-share-icon { outline:2px solid #a6844e; outline-offset:3px; }
.property-share-link { padding-top:18px; border-top:1px solid #ebe1d0; }
.property-share-link label { display:block; margin-bottom:8px; font:600 10px/1.4 var(--font-sans); letter-spacing:.16em; text-transform:uppercase; color:#5f6a64; }
.property-share-link-field { display:flex; gap:8px; }
.property-share-link-field input { flex:1; min-width:0; min-height:46px; padding:0 14px; border:1px solid #ddd3c2; border-radius:5px; background:#fff; color:#33403a; font-size:13px; text-overflow:ellipsis; }
.property-share-link-field .btn { flex-shrink:0; min-height:46px; gap:7px; }
.property-share-link-field .btn.is-copied { background:#1c493b; border-color:#1c493b; }
.property-share-status { min-height:1.5em; margin:8px 0 0; font-size:12px; line-height:1.5; color:#1c493b; }
body:has(#propertyShareDialog[open]) { overflow:hidden; }
@media (max-width:640px) {
    .property-share-dialog { width:100%; max-height:92dvh; margin:auto 0 0; border-width:1px 0 0; border-radius:18px 18px 0 0; }
    .property-share-dialog[open] { animation-name:property-share-up; }
    .property-share-sheet { padding:10px 18px calc(18px + env(safe-area-inset-bottom, 0px)); }
    .property-share-sheet::before { content:""; display:block; width:42px; height:4px; margin:0 auto 16px; border-radius:4px; background:#ddd3c2; }
    .property-share-header { margin-bottom:16px; }
    .property-share-header h2 { font-size:26px; }
    .property-share-preview { grid-template-columns:84px minmax(0, 1fr); gap:12px; padding:10px; margin-bottom:18px; }
    .property-share-preview img { width:84px; height:70px; }
    .property-share-preview strong { font-size:17px; }
    .property-share-icon { width:52px; height:52px; }
    .property-share-option { font-size:11px; }
    .property-share-link-field .btn span { display:none; }
    .property-share-link-field .btn { width:46px; padding:0; }
}
@keyframes property-share-up { from { transform:translateY(100%); } }
@media (prefers-reduced-motion:reduce) { .property-share-dialog[open] { animation:none; } .property-share-option:hover .property-share-icon { transform:none; } }
.property-detail-page .btn { min-height:44px; justify-content:center; white-space:normal; text-align:center; line-height:1.45; }
.property-detail-page .btn svg, .property-detail-page .btn i { flex-shrink:0; }
.property-detail-page .property-detail-layout { grid-template-columns:minmax(0, 1fr) minmax(300px, 380px); gap:2rem; }
.property-detail-layout > *, .property-detail-page .panel-card, .property-contact > * { min-width:0; }
.property-detail-page .panel-card { padding:clamp(1.15rem, 2.5vw, 2rem); overflow-wrap:anywhere; }
.property-detail-page .panel-card h2 { font-size:clamp(1.6rem, 2.6vw, 2rem) !important; text-wrap:balance; }
.property-detail-page .arch-metrics-grid { grid-template-columns:repeat(auto-fit, minmax(min(155px, 100%), 1fr)); align-items:start; gap:0.75rem; margin-bottom:1.5rem; }
.property-detail-page .arch-metric-box { padding:1rem 0.85rem; gap:0.75rem; min-width:0; border-bottom:2px solid #d9c7a6; }
.property-detail-page .arch-metric-icon { width:36px; height:36px; }
.property-detail-page .arch-metric-box > div:last-child { min-width:0; }
.property-detail-page .arch-metric-val { font-size:1.05rem; line-height:1.4; overflow-wrap:anywhere; }
.property-detail-page .arch-metric-lbl { margin-top:0.1rem; font-size:0.65rem; color:#615b50; letter-spacing:0.07em; }
/* Autoria ocupa uma linha própria para acomodar nomes e equipes completos. */
.property-detail-page .arch-metric-box--architecture { grid-column:1 / -1; align-items:flex-start; }
.property-detail-page .arch-metric-box--architecture > div:last-child { flex:1; }
.property-detail-page .arch-metric-box--architecture .arch-metric-lbl { margin:0 0 0.35rem; }
.property-detail-page .arch-metric-box--architecture .arch-metric-val { font-family:var(--font-sans); font-size:1rem; font-weight:500; line-height:1.6; word-break:normal; overflow-wrap:anywhere; }
.property-amenities { margin:0 0 1.5rem; padding:clamp(1.2rem, 2.5vw, 2rem); background:#171d1b; border:1px solid #8e7955; border-top:3px solid #c5a56d; color:#fff; box-shadow:0 12px 32px -20px #17221a; scroll-margin-top:100px; }
.property-amenities-heading { display:flex; gap:1rem; align-items:flex-start; justify-content:space-between; margin-bottom:1.5rem; }
.property-amenities .eyebrow { color:#e3c998; font-size:0.7rem; letter-spacing:0.13em; }
.property-amenities h2 { color:#fff; font-size:clamp(1.75rem, 2.6vw, 2.15rem); margin:0.5rem 0 0; line-height:1.15; }
.property-amenities-count { color:#f3dfb9; border:1px solid #6e624b; border-radius:2rem; padding:0.4rem 0.7rem; font-size:0.7rem; white-space:nowrap; margin-top:0.15rem; }
.property-amenities-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0.65rem; list-style:none; margin:0; padding:0; }
.property-amenity { min-width:0; display:flex; align-items:center; gap:0.75rem; padding:0.9rem; background:#242d28; border:1px solid #475145; border-radius:4px; font-size:0.88rem; font-weight:500; line-height:1.5; color:#faf8f2; }
.property-amenity > span:last-child { min-width:0; overflow-wrap:anywhere; }
.property-amenity-icon { width:34px; height:34px; display:flex; justify-content:center; align-items:center; flex-shrink:0; color:#e2c38b; background:#343e30; border-radius:50%; }
.property-amenity-icon svg, .property-amenity-icon i { width:18px; height:18px; }
.property-financial-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.3rem; padding:1.25rem; background:var(--bg-ivory); border:1px solid var(--border-hairline); margin-bottom:1.1rem; }
.property-financial-grid > div { min-width:0; }
.property-financial-grid strong { display:block; margin-top:0.25rem; overflow-wrap:anywhere; }
.property-contact { position:sticky; top:96px; scroll-margin-top:100px; }
.property-contact .form-control { width:100%; min-width:0; }
.property-contact img { flex-shrink:0; }
.property-detail-page .properties-grid { grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.property-detail-page .property-card { min-width:0; }
.property-detail-page .property-price-row { flex-wrap:wrap; gap:0.75rem; }
.property-detail-page .bento-open-lightbox-btn { min-height:44px; max-width:calc(100% - 2rem); white-space:normal; line-height:1.4; text-align:left; }
.property-detail-page .bento-item-main > div { max-width:calc(100% - 2rem); max-height:4.2em; overflow:hidden; }
.property-detail-page #propertyLightboxModal > div > div:first-child { gap:0.6rem; }
.property-detail-page #propertyLightboxModal > div > div:first-child > span:nth-child(2) { min-width:0; max-width:70%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (min-width:1440px) { .property-amenities-list { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width:1100px) {
    .property-detail-page .property-detail-layout { grid-template-columns:minmax(0, 1fr) minmax(280px, 330px); gap:1.25rem; }
    .property-heading-layout { gap:1.5rem; grid-template-columns:minmax(0, 1fr) minmax(270px, 330px); }
    .property-heading-actions .btn { padding-inline:0.5rem; gap:0.4rem; letter-spacing:0.07em; }
}
@media (max-width:1024px) {
    .property-detail-page .property-detail-layout { grid-template-columns:minmax(0, 1fr); }
    .property-contact { position:static; }
    .property-detail-page .mobile-sticky-property-bar { display:grid; grid-template-columns:minmax(0, 1fr) auto; min-height:78px; gap:0.75rem; }
    .property-detail-page .mspb-price { min-width:0; }
    .property-detail-page .mspb-price strong { display:block; font-size:clamp(1.1rem, 3.5vw, 1.4rem); overflow-wrap:anywhere; }
    .property-detail-page .mspb-actions .btn { padding:0.65rem 0.8rem; min-height:44px; font-size:0.72rem; }
    .property-detail-page { padding-bottom:calc(90px + env(safe-area-inset-bottom, 0px)); }
    .property-detail-page .floating-smart-dock { bottom:calc(6rem + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width:700px) {
    .property-heading { padding:1.35rem 0; }
    .property-heading-layout { grid-template-columns:minmax(0, 1fr); gap:1.1rem; }
    .property-heading-title { font-size:clamp(1.9rem, 6.8vw, 2.5rem); line-height:1.12; text-wrap:pretty; }
    .property-heading-price { text-align:left; padding:1rem 0 0; border-left:0; border-top:1px solid var(--border-hairline); }
    .property-heading-actions { justify-content:flex-start; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0.5rem; }
    .property-heading-actions .btn { width:100%; font-size:0.69rem; padding:0.65rem 0.5rem; }
    .property-detail-page .arch-metrics-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .property-amenities-heading { flex-wrap:wrap; gap:0.75rem; }
    .property-amenities-count { font-size:0.7rem; }
    .property-amenities-list { gap:0.55rem; }
    .property-amenity { padding:0.8rem 0.65rem; gap:0.6rem; font-size:0.83rem; }
    .property-amenity-icon { width:28px; height:28px; }
    .property-detail-page .section-block { padding-top:1.5rem !important; }
    .property-detail-page .bento-item-main > div { display:none; }
    .property-detail-page .bento-open-lightbox-btn { left:0.75rem; right:0.75rem; bottom:0.75rem; max-width:calc(100% - 1.5rem); justify-content:center; text-align:center; font-size:0.68rem; }
    .property-contact .form-control { font-size:16px; }
    .property-detail-page .concierge-topbar-inner { flex-wrap:wrap; justify-content:space-between; }
    .property-detail-page .topbar-right { min-width:0; gap:0.55rem; }
    .property-detail-page .topbar-right .topbar-action-btn { max-width:180px; font-size:0.65rem; overflow:hidden; text-overflow:ellipsis; }
    .property-detail-page .header-inner { gap:0.5rem; }
    .property-detail-page .header-right-cluster { gap:0.4rem; }
    .property-detail-page .brand-logo-img { max-width:160px; height:auto; }
    .property-detail-page .header-tool-pill, .property-detail-page .mobile-menu-btn { min-width:40px; min-height:44px; padding:0.45rem; }
    .property-detail-page .header-tool-pill { position:relative; width:40px; flex:0 0 40px; justify-content:center; }
    .property-detail-page .header-tool-badge { position:absolute; top:1px; right:0; min-width:13px; width:13px; height:13px; font-size:8px; line-height:13px; padding:0; }
    .property-detail-page #propertyLightboxModal > div > div:first-child > span:nth-child(2) { display:none; }
}
@media (max-width:420px) {
    .property-amenities-list { grid-template-columns:minmax(0, 1fr); }
    .property-financial-grid { grid-template-columns:minmax(0, 1fr); gap:1rem; }
    .property-detail-page .arch-metric-box { padding:0.8rem 0.65rem; gap:0.55rem; }
    .property-detail-page .arch-metric-icon { width:28px; height:28px; }
    .property-detail-page .arch-metric-val { font-size:0.96rem; }
    .property-detail-page .arch-metric-lbl { font-size:0.6rem; letter-spacing:0.03em; }
    .property-detail-page .mobile-sticky-property-bar { grid-template-columns:minmax(0, 1fr); padding:0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom, 0px)); gap:0.5rem; }
    .property-detail-page .mspb-price { display:flex; align-items:center; justify-content:space-between; gap:0.75rem; }
    .property-detail-page .mspb-price span { flex-shrink:0; }
    .property-detail-page .mspb-price strong { font-size:1.2rem; text-align:right; }
    .property-detail-page .mspb-actions { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .property-detail-page .mspb-actions > :only-child { grid-column:1 / -1; }
    .property-detail-page { padding-bottom:calc(125px + env(safe-area-inset-bottom, 0px)); }
    .property-detail-page .floating-smart-dock { bottom:calc(8rem + env(safe-area-inset-bottom, 0px)); }
    .property-detail-page .header-buyer-tools { gap:0.25rem; }
    .property-detail-page .brand-logo-img { max-width:135px; }
}
.property-detail-page .mspb-actions .mspb-visit { background:var(--accent-bronze-deep); border-color:var(--accent-bronze-deep); color:#fff; }
.property-detail-page .mspb-actions .mspb-visit:hover { background:var(--accent-bronze-hover, #8b6a35); border-color:var(--accent-bronze-hover, #8b6a35); color:#fff; }
.property-detail-page .mspb-actions .mspb-visit:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .property-detail-page .pin-halo { animation:none !important; } }
@media print {
    .property-detail-page .mobile-sticky-property-bar, .property-heading-actions, .property-summary-toggle { display:none; }
    .property-heading-summary-text { display:block; overflow:visible; }
    .property-contact { position:static; }
    .property-amenities { background:#fff; color:#111; box-shadow:none; }
    .property-amenities h2, .property-amenities .eyebrow, .property-amenities-count { color:#111; }
    .property-amenity { color:#111; background:#fff; }
}

@media(max-width:400px),(max-height:500px) { .property-video-dialog-header .btn span { display:none; } .property-video-dialog-header .btn { min-width:44px; min-height:44px; justify-content:center; } .property-video-dialog-header h2 { font-size:21px; } }
@media(max-height:500px) { .property-video-dialog-content { padding:10px; } .property-video-dialog-header { padding-bottom:8px; } }
