/* ==============================================
   KEY STATS SECTION
   ============================================== */
.key-stats {
  position: relative;
  margin-top: calc(var(--section-spacing-desktop) * -0.6);
  padding-bottom: 40px;
  z-index: 20;
}
@media (max-width: 768px) {
  .key-stats {
    margin-top: calc(var(--section-spacing-mobile) * -1);
    padding-bottom: 28px;
  }
}
.key-stats-panel {
  width: calc(100% - 48px);
  max-width: var(--container);
  margin: 0 auto;
  background: var(--white);
  border-radius: var(--radius-lg);
  box-shadow: 0 16px 40px rgba(32, 32, 30, 0.06);
  display: grid;
  /* The design assumed exactly four tiles. Trust badges come in threes, and other pages
       have two — so the column count follows the content and the dividers follow suit. */
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.key-stats-panel[data-cols="1"] {
  grid-template-columns: 1fr;
}
.key-stats-panel[data-cols="2"] {
  grid-template-columns: repeat(2, 1fr);
}
.key-stats-panel[data-cols="3"] {
  grid-template-columns: repeat(3, 1fr);
}
/* Dividers sit between tiles in a row, so the first tile of each row has none. */
.key-stats-panel[data-cols="2"] .stat:nth-child(2n + 1),
.key-stats-panel[data-cols="3"] .stat:nth-child(3n + 1),
.key-stats-panel[data-cols="4"] .stat:nth-child(4n + 1) {
  border-left: none;
}
/* And rows after the first need a rule above them. */
.key-stats-panel[data-cols="2"] .stat:nth-child(n + 3),
.key-stats-panel[data-cols="3"] .stat:nth-child(n + 4),
.key-stats-panel[data-cols="4"] .stat:nth-child(n + 5) {
  border-top: 1px solid var(--border);
}
.stat {
  text-align: center;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  border-left: 1px solid var(--border);
}
.stat:first-child {
  border-left: none;
}
.stat-icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  color: var(--brand-orange);
  margin-bottom: 2px;
}
.stat-number {
  font-size: 1.625rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.1;
}
.stat p {
  font-size: 0.75rem;
  margin: 0;
  color: var(--text-soft);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
@media (max-width: 1024px) {
  .key-stats-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .stat:nth-child(2) {
    border-left: none;
  }
  .stat:nth-child(3),
  .stat:nth-child(4) {
    border-top: 1px solid var(--border);
  }
}
@media (max-width: 768px) {
  .key-stats-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .stat {
    padding: 20px 12px;
    gap: 6px;
  }
  .stat:nth-child(2) {
    border-left: none;
  }
  .stat:nth-child(3),
  .stat:nth-child(4) {
    border-top: 1px solid var(--border);
  }
  .stat-icon {
    width: 36px;
    height: 36px;
    font-size: 16px;
    margin-bottom: 0;
  }
  .stat-number {
    font-size: 1.5rem;
  }
}
/* ==============================================
   STATS BLOCK (non-hero reuse of key-stats)
   ============================================== */
.stats-block {
  padding: var(--section-spacing-desktop) 0;
  background: var(--cream);
}
@media (max-width: 768px) {
  .stats-block {
    padding: var(--section-spacing-mobile) 0;
  }
}
/* Trust variant: the same panel, but the label is a sentence rather than a two-word
   caption, so it drops the uppercase treatment and gets room to wrap. */
.key-stats--trust .stat-number {
  font-size: 0.9375rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.key-stats--trust .stat p {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
}
/* A grid track is at least as wide as its longest unbreakable word unless it is told
   otherwise, and ANSVARSFÖRSÄKRING is seventeen characters that will not break. On a phone
   that pushed the panel — and with it the page — 167px past the edge of the screen. The
   tracks are minmax(0, 1fr) above so they may shrink; this lets the word wrap instead.
   Below 480px the three badges stack, because half a phone screen is not a column. */
.stat-number {
  overflow-wrap: anywhere;
}
@media (max-width: 480px) {
  .key-stats-panel {
    grid-template-columns: minmax(0, 1fr);
  }
  .key-stats-panel .stat {
    border-left: none;
  }
  .key-stats-panel .stat + .stat {
    border-top: 1px solid var(--border);
  }
}
/*# sourceMappingURL=style.css.map */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,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 */
