/**
 * Distribution Map Block Styles
 * Layout only — typography/colors come from canonical classes/tokens.
 */

.distributionmap {
  position: relative;
  overflow: hidden;
  background: var(--color-card-navy);
  margin-bottom: 32px;
  padding-top: 0;
  padding-bottom: 0;
}

/* ---- Lineup: map + panel (flex) ---- */
.distributionmap-grid {
  display: flex;
  align-items: stretch;
  gap: var(--space-10);
}

.distributionmap-media {
  min-width: 0;
  display: flex;
  align-items: center;
  width: 65%;
  z-index: 2;
}

.distributionmap-image {
  display: block;
  width: 90%;
  max-width: 880px;
  height: auto;
}

.distributionmap-panel {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-6);
  padding: 195px 25px;
}

.distributionmap--flip .distributionmap-grid {
  flex-direction: row-reverse;
}

/* Background image + orange accent — absolute layers bound to the panel,
   so they always track the content. Behind the panel text via negative z. */
.distributionmap-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -90px;
  right: -100vw;
  background-size: cover;
  background-position: center;
  opacity: 0.15;
  clip-path: polygon(100px 0, 100% 0, 100% 100%, 0 100%);
  z-index: -2;
  pointer-events: none;
}

.distributionmap-accent {
  position: absolute;
  top: 50%;
  bottom: 0;
  left: -90px;
  width: 30px;
  background: var(--color-brand-orange);
  transform: skewX(-10deg);
  transform-origin: center;
  border-top-left-radius: 6px;
  z-index: -1;
  pointer-events: none;
}

/* Eyebrow with skewed light-blue background */
.distributionmap-eyebrow {
  position: relative;
  align-self: flex-start;
  display: inline-block;
  padding: 5px 12px;
  color: #ffffff;
  isolation: isolate;
}

.distributionmap-eyebrow::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(65, 143, 222, 0.6);
  transform: skewX(-12deg);
  border-radius: 2px;
  z-index: -1;
}

/* ---- Stat + title (grid) ---- */
.distributionmap-headline {
  display: grid;
  grid-template-columns: auto min-content;
  justify-content: start;
  align-items: center;
  gap: var(--space-4);
}

/* Checklist */
.distributionmap-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.distributionmap-list-item {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.distributionmap-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 768px) {
  .distributionmap-grid {
    flex-direction: column-reverse;
    gap: var(--space-10);
  }

  .distributionmap-panel {
    padding: 0 0 var(--space-10);
  }

  .distributionmap-accent,
  .distributionmap-bg {
    display: none;
  }

  .distributionmap {
    padding: 64px 20px;
  }

  /* Background spans the whole module on mobile (behind all content) */
  .distributionmap::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--dm-bg);
    background-size: cover;
    background-position: center;
    clip-path: polygon(60% 0, 100% 0, 100% 100%, 20% 100%);
    opacity: 0.15;
    z-index: 0;
    pointer-events: none;
  }

  .distributionmap > .container {
    position: relative;
    z-index: 1;
  }
  .distributionmap-media {
    justify-content: center;
    width: 100%;
  }
  .distributionmap-image {
    width: 100%;
  }
}
