/* ===== HERO (Figma-style overlay) ===== */
.pr-home-hero{
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 60px;
}

.wp-site-blocks {
  background: transparent !important;
}
/* IMPORTANT: keep the hero tall enough for overlay layout */
.pr-home-hero .wp-block-columns{
  position: relative;
  min-height: 680px; /* ~= 608 map height + breathing room */
}

/* Map wrapper (Figma: 1035 x 608) */
.pr-home-mapwrap{
  position: relative;
  width: 1035px;
  height: 608px;
  margin-left: auto; /* pushes map to the right */
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0,0,0,0.18);
}

/* The shortcode outputs this container */
.pr-home-map{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #4a4a4a;
}

#pr-home-map-canvas{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Left stack overlays on top of map (Figma positions) */
.pr-home-leftstack{
  position: absolute;
  left: 98px;
  top: 145px;
  z-index: 10;
}

/* Card base */
.pr-home-card{
  box-sizing: border-box;
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

/* Clamp WP default spacing inside hero cards */
.pr-home-card > .wp-block-group__inner-container{
  padding: 0 !important;
}

.pr-home-card h1,
.pr-home-card h2,
.pr-home-card h3,
.pr-home-card p{
  margin-top: 0;
}

/* Race card (Figma: 300 x 321) */
.pr-home-card--race{
  width: 300px;
  min-height: 321px;
}

/* CTA card (Figma: 405 x 170) */
.pr-home-card--cta{
  width: 405px;
  min-height: 170px;
  margin-top: 24px;
}

/* CTA card: stop buttons / button group from stretching weird */
.pr-home-card--cta .wp-block-buttons{
  margin-top: 16px;
}
.pr-home-card--cta .wp-block-button__link{
  display: inline-block;
}

/* ===== Responsive safety ===== */
@media (max-width: 1200px){
  .pr-home-mapwrap{
    width: 100%;
    max-width: 1035px;
    height: min(608px, 56vw);
  }

  .pr-home-leftstack{
    left: 24px;
    top: 24px;
  }

  .pr-home-card--race{ width: min(300px, 90vw); }
  .pr-home-card--cta{ width: min(405px, 90vw); }
}

@media (max-width: 820px){
  .pr-home-leftstack{
    position: relative;
    left: 0;
    top: 0;
    margin-bottom: 18px;
  }
}