/* ── Map container ───────────────────────────────────────────── */
.map-container { height: 640px; position: relative; cursor: pointer; }
.map-container iframe { width: 100%; height: 100%; border: none; display: block; }

/* Click shield (iframe swallows pointer events without this) */
.map-click-shield {
  position: absolute;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}
.map-container.map-morphing .map-click-shield { display: none; }

/* Expand hint icon */
.map-expand-hint {
  position: absolute;
  bottom: 10px; right: 10px;
  z-index: 2;
  background: rgba(0,48,87,.72);
  color: #fff;
  border-radius: 6px;
  width: 30px; height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
}
.map-container:hover .map-expand-hint { opacity: 1; }
.map-container.map-morphing .map-expand-hint { display: none; }

/* Close button (only visible when expanded) */
#mapCloseBtn {
  position: absolute;
  top: 12px; right: 12px;
  z-index: 3;
  background: rgba(0,0,0,.55);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 34px; height: 34px;
  font-size: 1rem;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  transition: background .15s;
}
#mapCloseBtn:hover { background: rgba(0,0,0,.82); }
.map-container.map-morphing #mapCloseBtn { display: flex; }

/* Dark backdrop */
#mapBackdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.65);
  z-index: 1055;
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease;
}
#mapBackdrop.active { opacity: 1; pointer-events: all; }

/* Tablet: reduce from 640px so all 3 sections (quotes, competitor, map) are roughly equal height */
@media (max-width: 1199px) {
  .map-container { height: 380px; }
}

/* FLIP morph transition */
.map-container.map-morphing {
  position: fixed !important;
  z-index: 1060 !important;
  margin: 0 !important;
  transition:
    top    .42s cubic-bezier(.4,0,.2,1),
    left   .42s cubic-bezier(.4,0,.2,1),
    width  .42s cubic-bezier(.4,0,.2,1),
    height .42s cubic-bezier(.4,0,.2,1),
    border-radius .42s ease !important;
}
