/* Standalone native component iframe; match the Funchal Easy booking theme. */
@font-face{font-family:FEMapSans;src:url('../fonts/fe-sans-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:FEMapSans;src:url('../fonts/fe-sans-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
body.fe-location-map-page{margin:0;padding:0;background:#f5f8f2;color:#173628;font:400 14px/1.55 FEMapSans,Arial,sans-serif}
.fe-location-map,.fe-location-map *{box-sizing:border-box}
.fe-location-map [hidden]{display:none!important}
.fe-location-map{max-width:1400px;margin:auto;padding:22px}
.fe-location-map button,.fe-location-map a{font:inherit}
.fe-location-map button:focus-visible,.fe-location-map a:focus-visible,.fe-location-map .leaflet-container:focus-visible{outline:3px solid #80bba1;outline-offset:3px}
.fe-location-map-heading{margin:0 0 18px}
.fe-location-map-eyebrow{color:#176b3b;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.fe-location-map-heading h1{margin:5px 0 7px;color:#173628;font:700 clamp(22px,3vw,30px)/1.2 FEMapSans,Arial,sans-serif}
.fe-location-map-heading p{margin:0;color:#647568;font-size:13px}
.fe-location-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,30%);gap:16px;align-items:start}
.fe-location-map-canvas{height:calc(100vh - 160px);height:calc(100dvh - 160px);min-height:300px;max-height:740px;border:1px solid #d6e4d5;border-radius:16px;background:#e7eee3;isolation:isolate}
.fe-location-map-sidebar{min-width:0;max-height:calc(100vh - 160px);overflow:auto;scrollbar-width:thin}
.fe-location-map-sidebar h2{margin:0 0 10px;color:#173628;font:700 15px/1.4 FEMapSans,Arial,sans-serif}
.fe-location-map-status{margin:0 0 12px;color:#4d6353;font-size:12px;overflow-wrap:anywhere}
.fe-location-map-status:empty{display:none}
.fe-location-map-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.fe-location-map-card{padding:15px;border:1px solid #dce8dd;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.fe-location-map-card.is-current{border-color:#398852;box-shadow:0 0 0 1px #398852}
.fe-location-map-focus{display:block;width:100%;padding:0;border:0;background:none;color:#173628;text-align:start;font-weight:700!important;cursor:pointer;overflow-wrap:anywhere}
.fe-location-map-focus:hover{color:#176b3b;text-decoration:underline}
.fe-location-map-description{margin:8px 0 10px;color:#647568;font-size:12px;white-space:pre-line;overflow-wrap:anywhere}
.fe-location-map-actions{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 10px}
.fe-location-map-actions button{flex:1 1 100px;min-height:36px;padding:7px 9px;border:1px solid #bfd8bd;border-radius:8px;background:#eff6eb;color:#176b3b;font-size:11px;font-weight:700;cursor:pointer}
.fe-location-map-actions button:hover:enabled{border-color:#176b3b;background:#e2efdd}
.fe-location-map-actions button:disabled{opacity:.45;cursor:default}
.fe-location-map-external{display:inline-flex;gap:6px;align-items:center;margin-top:7px;color:#176b3b;font-size:11px!important;text-decoration:underline;text-underline-offset:3px}
.fe-location-map .leaflet-container{font:400 12px/1.45 FEMapSans,Arial,sans-serif}
.fe-location-map .leaflet-popup-content{color:#173628;overflow-wrap:anywhere}
.fe-location-map .leaflet-popup-content strong{font-size:14px}
.fe-location-map .leaflet-popup-content p{margin:7px 0 0;white-space:pre-line}
.fe-location-map .leaflet-control-attribution{font-size:10px;line-height:1.5;background:#ffffffed;color:#334d3a}
.fe-location-map .leaflet-control-attribution a{color:#176b3b;text-decoration:underline}
.fe-location-map-pin{border:0;background:none}
.fe-location-map-pin svg{display:block;width:32px;height:40px;filter:drop-shadow(0 2px 2px #0003)}
@media(max-width:700px){
  .fe-location-map{padding:15px}
  .fe-location-map-heading{margin-bottom:13px}
  .fe-location-map-layout{grid-template-columns:minmax(0,1fr);gap:18px}
  .fe-location-map-canvas{height:48vh;height:48dvh;min-height:240px;max-height:420px;border-radius:12px}
  .fe-location-map-sidebar{max-height:none;overflow:visible}
  .fe-location-map-actions button{flex-basis:90px}
}
@media(prefers-reduced-motion:reduce){.fe-location-map-card{transition:none}}
