.map-container.map-container--themed, body:not(.canvas-page) .map-container.map-container--admin-theme, .map-container {
  padding: 80px 24px;
  background-color: #FFFFFF; /* White background from Figma */
  color: #030804;
}

.map-container .map-container__inner {
  max-width: 1440px; /* Map goes wider than standard 1280px containers based on screenshot */
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Header Section */
.map-container .map-container__header {
  margin-bottom: 48px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 800px;
}

.map-container .map-container__eyebrow {
  margin-bottom: 0;
  width: 100%;
  color: #030804;
  font-size: 14px;
  font-weight: 600;
}

.map-container .map-container__title {
  margin-bottom: 0;
  width: 100%;
  font-size: 48px;
  font-weight: 300; /* Light/Regular per screenshot */
  line-height: 1.2;
  color: #030804;
  margin-top: 0;
}

.map-container .map-container__description {
  margin-bottom: 0;
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
  color: #030804; /* Light grey text */
}

/* Action Area (Buttons) */
.map-container .map-container__action {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  width: 100%;
  min-height: 48px;
}

/* Aggressively ensure the canvas slot wrapper has physical dimension even if completely empty */
.map-container .map-container__action > div {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  min-width: 120px;
  width: 100%;
  min-height: 48px !important;
  outline: 1px dashed rgba(0, 0, 0, 0.1);
}

/* Map/Media Section */
.map-container .map-container__media-wrapper {
  width: 100%;
  aspect-ratio: 16 / 9; /* Large wide format matching screenshot */
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  background-color: #E2E8F0; /* Soft grey fallback matching the placeholder */
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,0.05);
}

.map-container .map-container__media {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* Ensure dropped-in components (like images or GMaps) stretch to fill the wrapper */
.map-container .map-container__media > *,
.map-container .map-container__media img,
.map-container .map-container__media iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: none;
}

/* SVG Placeholder styling if media slot is empty */
.map-container .map-container__placeholder {
  width: 160px;
  height: 160px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CBD5E1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'%3E%3C/circle%3E%3Cpolyline points='21 15 16 10 5 21'%3E%3C/polyline%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Admin Theme Overrides (Dark Mode in Editor) */
.map-container.map-container--admin-theme {
  background-color: #092845; /* Dark blue background */
  color: #FFFFFF;
}

.map-container.map-container--admin-theme .map-container__eyebrow,
.map-container.map-container--admin-theme .map-container__title {
  color: #FFFFFF;
}

.map-container.map-container--admin-theme .map-container__description {
  color: #E2E8F0; /* Lighter text for description on dark bg */
}

/* Alternate Background Override */
.map-container.map-container--alternate-bg {
  background-color: #D9D9D9; /* Light grey/off-white background matching Figma */
}

/* Responsiveness */
@media (max-width: 992px) {
  .map-container.map-container--themed, body:not(.canvas-page) .map-container.map-container--admin-theme, .map-container {
    padding: 64px 32px;
  }
}

@media (max-width: 768px) {
  .map-container.map-container--themed, body:not(.canvas-page) .map-container.map-container--admin-theme, .map-container {
    padding: 48px 24px;
  }
  .map-container .map-container__title {
    font-size: 24px;
  }
  .map-container .map-container__description {
    font-size: 16px;
  }
  .map-container .map-container__media-wrapper {
    aspect-ratio: 4 / 3; /* Taller on mobile so map remains usable */
  }
}