.lalista-map-block{
  --lalista-bg: #2b1019;
  --lalista-bg-deep: #200b12;
  --lalista-cream: #f3ece6;
  --lalista-cream-dim: rgba(243,236,230,0.55);
  --lalista-line: rgba(243,236,230,0.22);
  --lalista-gold: #c9a36a;

  background: var(--lalista-bg);
  color: var(--lalista-cream);
  font-family: 'Jost', sans-serif;
  box-sizing: border-box;
}
.lalista-map-block *{ box-sizing:border-box; }
.lalista-map-block.is-contained{ max-width: var(--lalista-max-width, 1300px); margin: 0 auto; padding: 0 40px; }
.lalista-map-block.is-full{ width:100%; padding: 0 40px; }


.lalista-map-main{
  display:grid;
  grid-template-columns: 280px 1fr 190px;
  gap:20px;
  padding:60px 0;
  align-items:center;
}

.lalista-map-heading{ font-family:'Fraunces',serif; font-size:34px; line-height:1.15; font-weight:400; margin:0 0 18px; }
.lalista-map-heading p{ margin:0; font-family:inherit; font-size:inherit; line-height:inherit; font-weight:inherit; }
.lalista-map-text{ font-size:14px; line-height:1.7; color: var(--lalista-cream-dim); max-width:280px; }
.lalista-map-text p{ margin:0 0 16px; }
.lalista-map-heading em, .lalista-map-text em{ font-style:italic; font-family:'Fraunces',serif; }
.lalista-map-text em{ color: var(--lalista-gold); }
.lalista-map-heading strong, .lalista-map-text strong{ font-weight:600; }
.lalista-map-heading a, .lalista-map-text a{ color:inherit; text-decoration:underline; }
.lalista-map-cta{
  display:inline-block; margin-top:10px; padding:12px 26px;
  border:1px solid var(--lalista-cream-dim); color: var(--lalista-cream);
  font-size:11px; letter-spacing:.12em; text-decoration:none; text-transform:uppercase;
  transition:.2s;
}
.lalista-map-cta:hover{ background: var(--lalista-cream); color: var(--lalista-bg); border-color: var(--lalista-cream); }

.lalista-map-area{ position:relative; }
.lalista-map-area svg{ width:100%; height:auto; display:block; }
.lalista-map-region-path{ fill:none; stroke: var(--lalista-line); stroke-width:1; stroke-linejoin:round; }

.lalista-map-pin{ cursor:pointer; }
.lalista-map-pin circle.lalista-map-dot{ fill: var(--lalista-gold); }
.lalista-map-pin path.lalista-map-pinshape{ fill:none; stroke: var(--lalista-cream); stroke-width:1.3; transition:.2s; }
.lalista-map-pin:hover path.lalista-map-pinshape,
.lalista-map-pin.is-active path.lalista-map-pinshape{ stroke: var(--lalista-gold); }
.lalista-map-pin:hover circle.lalista-map-dot,
.lalista-map-pin.is-active circle.lalista-map-dot{ fill: var(--lalista-gold); }

.lalista-map-tooltip{
  position:absolute; min-width:220px; max-width:260px;
  background: var(--lalista-bg-deep); border:1px solid var(--lalista-line);
  padding:0 0 8px; font-size:12px; z-index:5;
  box-shadow:0 12px 30px rgba(0,0,0,.4);
  display:none;
  overflow:hidden;
}
.lalista-map-tooltip.is-visible{ display:block; }
.lalista-map-tooltip .lalista-map-region-image{ display:block; width:100%; height:120px; object-fit:cover; margin-bottom:12px; }
.lalista-map-tooltip .lalista-map-region-name{
  font-family:'Fraunces',serif; font-style:italic; font-size:15px; color: var(--lalista-gold);
  margin:0 16px 6px; display:block; text-decoration:none; transition:.2s;
}
a.lalista-map-region-name:hover{ color: var(--lalista-cream); text-decoration:underline; cursor:pointer; }
.lalista-map-tooltip .lalista-map-region-alias{ font-family:'Jost',sans-serif; font-style:normal; font-size:11px; color: var(--lalista-cream-dim); letter-spacing:.03em; }
.lalista-map-tooltip .lalista-map-region-desc{ margin:0 16px 10px; font-size:12px; line-height:1.6; color: var(--lalista-cream-dim); }
.lalista-map-tooltip .lalista-map-region-empty{ margin:0 16px 10px; font-size:12px; font-style:italic; color: var(--lalista-cream-dim); opacity:.7; }
.lalista-map-tooltip a.lalista-map-venue-link{ display:block; color: var(--lalista-cream); text-decoration:none; padding:5px 16px; border-top:1px solid var(--lalista-line); font-size:12.5px; }
.lalista-map-tooltip a.lalista-map-venue-link:first-of-type{ border-top:1px solid var(--lalista-line); }
.lalista-map-tooltip .lalista-map-region-image + .lalista-map-region-name{ margin-top:0; }
.lalista-map-tooltip > .lalista-map-region-name:first-child{ margin-top:16px; }
.lalista-map-tooltip a.lalista-map-venue-link:hover{ color: var(--lalista-gold); }

.lalista-map-regionlist{ display:flex; flex-direction:column; gap:14px; align-items:flex-end; }
.lalista-map-regionlist button{
  background:none; border:none; color: var(--lalista-cream-dim);
  font-family:'Jost',sans-serif; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  cursor:pointer; padding:0; text-align:right;
}
.lalista-map-regionlist button:hover,
.lalista-map-regionlist button.is-active{ color: var(--lalista-gold); }
.lalista-map-regionlist button.is-disabled{ opacity:.3; cursor:default; }

@media (max-width:1000px){
  .lalista-map-main{ grid-template-columns:1fr; }
  .lalista-map-regionlist{ flex-direction:row; flex-wrap:wrap; align-items:flex-start; }
}
