/* Only the location module: preserve the Villa composition and all neighbouring modules. */
.module-map-explorer .module-map-grid{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);align-items:center}
.module-map-explorer .module-map-section-title{margin:0 0 clamp(18px,2.5vw,28px);font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.15;overflow-wrap:anywhere}
.module-map-explorer .module-map-copy{padding:clamp(22px,3vw,38px)}
.module-map-explorer .module-map-copy .actions-row{margin-top:22px;gap:12px}
.module-map-explorer .module-map-route-actions{flex-wrap:wrap}
.module-map-explorer .module-map-route-actions .btn{min-height:44px;white-space:normal;text-align:center}
.module-map-explorer .module-map-route-actions .btn span{margin-left:.35em}
.module-map-explorer .module-map-viewer{margin:0;min-width:0;overflow:hidden;border:1px solid var(--border,#e2d8ca);border-radius:30px;background:var(--surface,#f5f0e8);box-shadow:var(--shadow,0 15px 40px #28322712)}
.module-map-explorer .module-map-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;align-items:center}
.module-map-explorer .module-map-toolbar button,.module-map-explorer .module-map-toolbar a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font:inherit;font-size:.85rem;font-weight:600;line-height:1.2;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;padding:10px 15px;text-decoration:none;cursor:pointer}
.module-map-explorer .module-map-toolbar button[aria-pressed="true"]{background:var(--accent,#a24634);color:#fff;border-color:var(--accent,#a24634)}
.module-map-explorer .module-map-toolbar button:disabled{opacity:.5;cursor:default}
.module-map-explorer .module-map-toolbar button:focus-visible,.module-map-explorer .module-map-toolbar a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.module-map-explorer .module-map-canvas{position:relative;height:clamp(340px,36vw,500px);background:#e8ede6;overflow:hidden}
.module-map-explorer .module-map-canvas iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}
.module-map-explorer .module-map-canvas iframe[hidden]{display:none}
.module-map-explorer .module-map-canvas>img{width:100%;height:100%;object-fit:cover}
.module-map-explorer .module-map-canvas::before{content:'';position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50% 50% 50% 0;transform:translate(-50%,-100%) rotate(-45deg);background:var(--accent,#a24634);box-shadow:0 2px 5px #0003}
.module-map-explorer .module-map-viewer .module-map-directions{display:flex;justify-content:flex-end;padding:12px 16px;margin:0;font-size:.9rem;font-weight:600}
.module-map-explorer .module-map-directions a{text-underline-offset:4px}
@media(max-width:900px){.module-map-explorer .module-map-grid{grid-template-columns:1fr;gap:20px}.module-map-explorer .module-map-copy{box-shadow:none;background:transparent;border:0;padding:0}.module-map-explorer .module-map-canvas{height:380px}}
@media(max-width:520px){.module-map-explorer .module-map-viewer{border-radius:22px}.module-map-explorer .module-map-canvas{height:340px}.module-map-explorer .module-map-toolbar{padding:8px}.module-map-explorer .module-map-toolbar button,.module-map-explorer .module-map-toolbar a{flex:1 1 calc(50% - 6px);padding:10px}.module-map-explorer .module-map-route-actions .btn{flex:1 1 100%}.module-map-explorer .module-map-viewer .module-map-directions{justify-content:center}}
