/* Maps page: interactive site hotspots over the official resort map (2026-11-12).
   Draws a thin ring on each site over the existing picture and a small paper card.
   Nothing here restyles the section: without the script the page is unchanged. */

.mpx-paper--map .mpx-paper__edge{position:relative}
.mpv__viewport{position:relative}

/* Hotspot layer: sits exactly on the picture, inside the paper padding. */
.mpi-layer{position:absolute;display:block;overflow:visible;z-index:1;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y pinch-zoom}
.mpx-paper__edge>.mpi-layer{inset:clamp(9px,1.05vw,16px);width:calc(100% - 2 * clamp(9px,1.05vw,16px));height:calc(100% - 2 * clamp(9px,1.05vw,16px))}
.mpv__viewport>.mpi-layer{left:0;top:0}

.mpi-pin{cursor:pointer;outline:0}
.mpi-pin__hit{fill:#fff;fill-opacity:0;pointer-events:all}
.mpi-pin__halo{fill:#fffaf0;fill-opacity:.14;stroke:#fffaf0;stroke-width:3;stroke-opacity:.92;vector-effect:non-scaling-stroke;pointer-events:none;transition:fill-opacity .22s ease,stroke-opacity .22s ease,stroke-width .22s ease}
.mpi-pin__ring{fill:none;stroke:#103f40;stroke-width:1.2;stroke-opacity:.62;vector-effect:non-scaling-stroke;pointer-events:none;transition:stroke-opacity .22s ease}
.mpi-pin:hover .mpi-pin__halo,.mpi-pin:focus-visible .mpi-pin__halo,.mpi-pin.is-active .mpi-pin__halo{fill-opacity:.38;stroke-opacity:1;stroke-width:5}
.mpi-pin:hover .mpi-pin__ring,.mpi-pin:focus-visible .mpi-pin__ring,.mpi-pin.is-active .mpi-pin__ring{stroke-opacity:1;stroke-width:1.8}
.mpi-pin.is-active .mpi-pin__halo{fill-opacity:.5}

@media (prefers-reduced-motion:reduce){
  .mpi-pin__halo,.mpi-pin__ring,.mpi-card{transition:none}
}

/* Site card: same paper, ink and type as the rest of the page. */
.mpi-card{position:fixed;left:0;top:0;z-index:40;box-sizing:border-box;width:max-content;min-width:224px;max-width:min(280px,calc(100vw - 24px));margin:0;padding:16px 20px 18px;border:1px solid #d9d1c2;border-radius:3px;background:#fffdfa;color:#293e4d;box-shadow:0 14px 26px -10px #53452c59,0 0 0 4px #fffaf0cc;text-align:left;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;pointer-events:none}
.mpi-card.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .18s ease;pointer-events:auto}
.mpi-card *{box-sizing:border-box}
.mpi-card::after{content:"";position:absolute;left:var(--mpi-notch,50%);width:12px;height:12px;margin-left:-6px;border:1px solid #d9d1c2;background:#fffdfa;transform:rotate(45deg)}
.mpi-card[data-side="top"]::after{bottom:-7px;border-left:0;border-top:0}
.mpi-card[data-side="bottom"]::after{top:-7px;border-right:0;border-bottom:0}
.mpi-card__eyebrow{margin:0;color:#806c59;font:400 10.5px/1 "HBS Univers","Helvetica Neue",Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.mpi-card__no{margin:7px 0 0;color:#103f40;font:700 30px/1 "Libre Baskerville",Georgia,"Times New Roman",serif;letter-spacing:-.01em}
.mpi-card__type{display:flex;align-items:center;gap:9px;margin:11px 0 0;color:#293e4d;font:400 18px/1.25 "Coastal Reading",Georgia,serif}
.mpi-card__type i{flex:none;width:14px;height:14px;border:2px solid #fffdf8;border-radius:4px;background:var(--mpi-site,#b59b84);box-shadow:0 1px 3px #53452c59;transform:rotate(-8deg)}
.mpi-card__size{margin:6px 0 0;color:#806c59;font:400 10.5px/1.5 "HBS Univers","Helvetica Neue",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.mpi-card__size:empty{display:none}
.mpi-card__book{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;margin:15px 0 0;padding:0 16px;border:1px solid #6E3E2E;border-radius:2px;background:#6E3E2E;color:#fffaf0;font:400 11px/1 "HBS Univers","Helvetica Neue",Arial,sans-serif;letter-spacing:.18em;white-space:nowrap;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.mpi-card__book:hover{background:#fffdfa;color:#6E3E2E}
.mpi-card__book:focus-visible{outline:3px solid #477b90;outline-offset:3px}
.mpi-card__book svg{flex:none;width:18px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.mpi-card__note{margin:13px 0 0;color:#46525a;font:400 15px/1.35 "Coastal Reading",Georgia,serif}
.mpi-card__note a{color:#6E3E2E;white-space:nowrap}
.mpi-card__close{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:none;color:#806c59;font:400 20px/1 Georgia,serif;cursor:pointer}
.mpi-card__close:hover{color:#103f40}
.mpi-card__close:focus-visible{outline:3px solid #477b90;outline-offset:-3px}
