/* Public listing controls share the site's navy and gold palette. */
.header-favorites{display:grid;place-items:center;position:relative;flex:none;width:40px;min-height:44px;color:var(--gold-ink)}
.header-favorites>.v-icon{width:24px;height:24px;stroke-width:1.6}
.header-favorites [data-favorite-count]{position:absolute;right:-4px;top:0;background:var(--navy);color:#fff;min-width:18px;height:18px;padding:0 4px;border-radius:10px;font-size:10px;line-height:18px;text-align:center}
.header-favorites [hidden],.share-dialog [hidden],.favorites-section [hidden]{display:none!important}
.card-visual{position:relative}.card-visual .card-image{overflow:hidden}.card-visual .image-caption{right:auto;left:12px;max-width:calc(100% - 122px)}
.property-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.property-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:#fff;border:1px solid #d9e1e6;border-radius:8px;color:var(--navy);padding:9px 13px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.property-actions .v-icon{width:20px;height:20px;flex:none;stroke-width:1.7}
.property-actions button:hover{background:#f8f5ed;border-color:var(--gold-ink)}
.property-actions button[aria-pressed="true"]{color:var(--gold-ink);border-color:var(--gold-ink)}
.property-actions button[aria-pressed="true"] .v-icon{fill:currentColor}
.property-actions.compact{position:absolute;right:12px;bottom:12px;z-index:2;flex-wrap:nowrap;gap:7px}
.property-actions.compact button{width:44px;height:44px;padding:10px;border:1px solid #fff;border-radius:50%;box-shadow:0 2px 9px #071c2f26}
.property-actions.compact button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.property-heading-aside{display:flex;flex-direction:column;align-items:flex-end;gap:16px;flex:none}
.property-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);width:max-content;max-width:calc(100% - 32px);padding:14px 20px;background:var(--navy);color:#fff;border-radius:10px;box-shadow:0 8px 28px #071c2f26;font-size:.9rem;line-height:1.5;z-index:150;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.property-toast.visible{opacity:1;transform:translate(-50%,0)}
.share-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;padding:28px;border:1px solid #e3e8ed;border-radius:16px;background:#fff;color:var(--navy);box-shadow:0 24px 80px #071c2f40}
.share-dialog::backdrop{background:#071c2fa8}
.share-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.share-dialog-heading h2{font-size:1.4rem;margin:0;line-height:1.3}
.share-dialog button,.share-options a{cursor:pointer;font:inherit}
.share-dialog-heading button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:0;background:#f0f3f5;border-radius:50%;color:var(--navy)}
#share-property-title{line-height:1.5;color:#526372;margin:16px 0 24px}
.share-dialog label{display:block;font-size:.85rem;font-weight:600;margin-bottom:8px}
.share-url-row{display:flex;gap:8px}.share-url-row input{min-width:0;width:100%;border:1px solid #d4dfe5;border-radius:8px;padding:12px;font:inherit;font-size:.8rem;color:#526372;background:#f7f9fa}
.share-url-row button,.share-options a,.share-options button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border:1px solid #d4dfe5;border-radius:8px;min-height:46px;font-size:.85rem;font-weight:600;text-decoration:none;color:var(--navy);background:#fff}
.share-url-row button{white-space:nowrap;background:var(--navy);color:#fff;border-color:var(--navy)}
.share-dialog .v-icon,.share-dialog .social-icon{width:20px;height:20px;flex:none}.share-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.share-options>*{flex:1}.share-options a{background:#f8f5ed;border-color:#e7ddc4}
.share-feedback{font-size:.85rem;line-height:1.5;margin:16px 0 0;color:#526372;min-height:1.5em}
.favorites-section{padding-top:32px;padding-bottom:80px;min-height:65vh}.favorites-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0}.favorites-heading h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;margin:8px 0 16px}.favorites-heading p{line-height:1.6;margin:0 0 8px}.favorites-heading small{color:#526372}
.favorites-grid{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.favorites-empty{padding:48px 24px;text-align:center;background:#f5f7f8;border:1px solid #e1e7eb;border-radius:12px}.favorites-empty>.v-icon{width:48px;height:48px;color:var(--gold-ink);margin:0 auto 20px}.favorites-empty h2{font-size:1.4rem;margin:0 0 12px}.favorites-empty p{color:#526372;line-height:1.6;margin:0 0 24px}.favorites-empty .button{display:inline-flex}
.favorites-unavailable{margin-top:28px;padding:20px;border:1px solid #e4ddcb;border-radius:10px;background:#fbf8f1}.favorites-unavailable p{margin:0 0 8px;line-height:1.5}.favorites-unavailable button{font:inherit;font-size:.85rem;color:var(--navy);text-decoration:underline;cursor:pointer;border:0;background:transparent;min-height:44px;padding:4px 0}
.property-actions button:focus-visible,.header-favorites:focus-visible,.share-dialog :focus-visible,.favorites-section button:focus-visible{outline:3px solid var(--gold-ink);outline-offset:3px}
@media(max-width:1100px){.property-heading{flex-wrap:wrap}.property-heading-aside{align-items:flex-start}.favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.favorites-heading{align-items:flex-start;flex-direction:column}.property-heading-aside{gap:12px}.share-dialog{padding:20px}.share-url-row{flex-wrap:wrap}.share-url-row input{flex-basis:100%}.share-url-row button{width:100%}.share-dialog-heading h2{font-size:1.2rem}}
@media(max-width:600px){.header-favorites{width:30px}.portal-header .header-actions{gap:5px}.portal-header .brand img{width:126px}.favorites-grid{grid-template-columns:1fr}.favorites-section{padding-bottom:48px}.property-toast{bottom:16px;font-size:.85rem}.favorites-empty{padding:32px 20px}}
@media(max-width:370px){.portal-header .header-actions{gap:3px}.portal-header .brand img{width:114px}.portal-header .header-account{width:30px;padding-left:3px}}
@media(prefers-reduced-motion:reduce){.property-toast,.property-actions button{transition:none}}
