/* Interactive property map; styles are scoped to this page. */
.coco-interactive{padding:42px 0 56px}.coco-interactive .map-intro{margin-bottom:24px}.coco-interactive h1{font-size:clamp(32px,4vw,48px);margin:8px 0}.coco-interactive .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#537e44}.coco-interactive .layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}.coco-interactive .details{padding:22px;border:1px solid #e1e6dd;border-radius:14px;background:#fff}.coco-interactive .details h2{font-family:Georgia,serif;font-size:30px;margin:12px 0}.coco-interactive .details p{line-height:1.65}.coco-interactive .details li{margin:9px 0}.coco-interactive #location-photo{width:100%;height:auto;border-radius:8px;margin:12px 0}.coco-interactive #location-photo[hidden]{display:none}.coco-interactive .map{min-width:0;background:white}.coco-interactive svg{display:block;width:100%;height:auto}.coco-interactive .area{fill:transparent;stroke:transparent;pointer-events:all;cursor:pointer;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.coco-interactive .area:hover,.coco-interactive .area:focus,.coco-interactive .area.active{fill:#e8b95365;stroke:#c63232;stroke-width:2;outline:none}@media(max-width:850px){.coco-interactive{padding:24px 0 36px}.coco-interactive .layout{grid-template-columns:1fr;gap:18px}.coco-interactive .map{grid-row:1}.coco-interactive .details{grid-row:2}}

/* Highlight selected locations without a red outline. */
.coco-interactive .area:hover,
.coco-interactive .area:focus,
.coco-interactive .area.active {
  stroke: none;
  fill: rgba(232,185,83,.32);
  filter: drop-shadow(0 0 5px rgba(232,185,83,.75));
}

/* Map-page hero only; shared layout and interactive areas are unchanged. */
.coco-interactive{padding-top:0}
.coco-interactive .map-hero{padding:38px 0 44px}
.coco-interactive .map-hero .page-hero__title{font-size:clamp(34px,4vw,56px);margin:0 0 14px}
.coco-interactive .map-hero .page-hero__left{min-width:0}
.coco-interactive .map-content{padding-top:36px;scroll-margin-top:120px}
.coco-interactive .map-intro h2{font-size:clamp(26px,3vw,36px);margin:8px 0}
.coco-interactive .map-hero .p-btn:focus-visible{outline:3px solid #537e44;outline-offset:4px}
@media(max-width:850px){.coco-interactive{padding-top:0}.coco-interactive .map-hero{padding:26px 0 30px}.coco-interactive .map-content{padding-top:26px}}

/* Bring the hero photo closer to the text on desktop. */
@media(min-width:961px){
  .coco-interactive .map-hero .page-hero__inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px}
  .coco-interactive .map-hero .page-hero__sub{max-width:none}
}

/* Additional property information within the existing details panel. */
.coco-interactive #popup-description{white-space:pre-line}
.coco-interactive .details a{color:#006ba1;text-decoration:underline;text-underline-offset:3px}
.coco-interactive .details a:focus-visible{outline:2px solid #537e44;outline-offset:3px}
.coco-interactive .location-extra__section{margin-top:24px;padding-top:20px;border-top:1px solid #e1e6dd}
.coco-interactive .location-extra__section h3{font:700 22px/1.25 Georgia,serif;margin:0 0 14px}
.coco-interactive .location-extra__section img{display:block;width:100%;height:auto;border-radius:8px}

/* Reduce only the vertical space between the hero and the map. */
.coco-interactive .map-hero{padding-bottom:12px}
.coco-interactive .map-content{padding-top:16px}
.coco-interactive .map-intro{margin-bottom:14px}

/* Full-width map hero, using the image already in the page. */
.coco-interactive .map-hero{position:relative;isolation:isolate;overflow:hidden;background:#15364b;padding:72px 0 54px;min-height:520px}
.coco-interactive .map-hero .page-hero__inner{display:block;position:static}
.coco-interactive .map-hero .page-hero__imgWrap{position:absolute;inset:0;z-index:-1;border:0;border-radius:0;box-shadow:none;margin:0}
.coco-interactive .map-hero .page-hero__imgWrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.coco-interactive .map-hero .page-hero__imgWrap::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 540px at 22% 45%,rgba(2,6,23,.72),rgba(2,6,23,.22) 60%,rgba(2,6,23,.06) 100%),linear-gradient(0deg,rgba(2,6,23,.35),rgba(2,6,23,.15))}
.coco-interactive .map-hero .page-hero__left{position:relative;max-width:640px;color:#fff}
.coco-interactive .map-hero .page-hero__kicker{color:#fff;opacity:.9}
.coco-interactive .map-hero .page-hero__title{color:#fff}
.coco-interactive .map-hero .page-hero__sub{color:#fff;opacity:1}
.coco-interactive .map-hero .p-chip{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);box-shadow:none}
.coco-interactive .map-hero .p-btn:focus-visible{outline-color:#fff}
@media(max-width:980px){.coco-interactive .map-hero{padding:54px 0 40px}}
@media(max-width:768px){.coco-interactive .map-hero{padding:56px 0 34px;min-height:360px}.coco-interactive .map-hero .page-hero__title{font-size:clamp(28px,6vw,36px);line-height:1.05}.coco-interactive .map-hero .page-hero__sub{font-size:15px;line-height:1.55}}
