.location-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px);align-items:center}
.location-section address{font-style:normal;display:grid;gap:4px;margin-top:22px}
.location-section address p{display:flex;gap:10px;align-items:flex-start;margin:0}
.location-section address .icon{margin-top:.25em;color:var(--primary)}
.location-map{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:340px;background:var(--surface-2)}
.location-map>img,.location-map>iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.property-map{position:absolute;inset:0;z-index:0}
.property-map .leaflet-tile{max-width:none}
.property-map-pin span{display:block;width:28px;height:28px;border:3px solid white;border-radius:50% 50% 50% 0;background:#14647a;transform:rotate(-45deg);box-shadow:0 2px 6px #0006}
.property-amenities{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:20px 0;font-size:.95rem}
.property-amenities li::before{content:'✓';color:var(--primary);margin-right:8px}
.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px;font-size:.9rem}
.location-actions .btn{white-space:normal}
.google-rating{display:inline-block;padding:10px 14px;border:1px solid var(--line,#303a3022);border-radius:var(--radius);font-size:.95rem;text-decoration:none}
.rating-checked{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
.photo-status{font-size:.82rem;color:var(--muted,#596458);margin:8px 0 12px}
.address-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:.2em;text-decoration-thickness:1px}
/* Address links keep their surface colour on hover, so they stay readable over photos and dark bands. */
.address-link:hover,.address-link:focus-visible{color:inherit;text-decoration-color:currentColor;text-decoration-thickness:2px}
.address-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
.map-note,.map-link{position:absolute;left:16px;bottom:16px;display:inline-flex;gap:8px;align-items:center;margin:0;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.95);color:#111;font-weight:600;font-size:.9rem}
.boutique .location-section,.classic .location-section{padding:80px 6%;--primary:var(--accent);--muted:#596458;--surface-2:#e9e6dc}
.boutique .location-section .icon,.classic .location-section .icon{width:1.15em;height:1.15em;flex:none}
@media(max-width:850px){.location-section{grid-template-columns:1fr}.location-map{min-height:300px}}
@media(max-width:420px){.property-amenities{grid-template-columns:1fr}}
