.kss-hpm-icon-grid {
  padding: 84px 0;
  background: var(--gruen);
  color: var(--creme);
}

.kss-hpm-icon-grid.beige {
  background: var(--sand);
  border-top: 1px solid var(--linie);
  border-bottom: 1px solid var(--linie);
  padding: 56px 0;
  color: var(--tinte);
}

.kss-hpm-icon-grid.traeger-karte.icon-kreis b{
  color:black;
}

.kss-hpm-icon-grid h2 {
  font-size: clamp(29px, 3.6vw, 40px);
  margin-bottom: 14px
}

.kss-hpm-icon-grid .intro {
  color: var(--tinte-weich);
  max-width: 56ch;
  margin-bottom: 52px
}

.kss-hpm-icon-grid .intro.rv {
  color: rgba(248, 243, 235, .82);
}

@media(max-width:900px) {
  .kss-hpm-icon-grid {
    padding: 60px 0
  }
}

/* ---------- Spaltenzahl ---------- */
.kss-hpm-icon-grid.spalten-3 .icon-grid__liste {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 2rem 0
}

.kss-hpm-icon-grid.spalten-4 .icon-grid__liste {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px
}

.kss-hpm-icon-grid.spalten-6 .icon-grid__liste {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px
}

@media(max-width:900px) {

  .kss-hpm-icon-grid.spalten-3 .icon-grid__liste,
  .kss-hpm-icon-grid.spalten-6 .icon-grid__liste {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px
  }

  .kss-hpm-icon-grid.spalten-4 .icon-grid__liste {
    grid-template-columns: 1fr 1fr;
    gap: 28px
  }
}

@media(max-width:600px) {
  .kss-hpm-icon-grid .icon-grid__liste {
    grid-template-columns: 1fr !important
  }
}

/* ---------- Icon-Stil: groß (ohne Kreis-Hintergrund) ---------- */
.kss-hpm-icon-grid.icon-gross .icon-grid__icon {
  display: inline-flex;
  margin-bottom: 16px;
  color: var(--rose-hell)
}

.kss-hpm-icon-grid.icon-gross .icon-grid__icon svg {
  width: 34px;
  height: 34px
}

.kss-hpm-icon-grid.icon-gross:not(.dunkel) .icon-grid__icon {
  color: var(--rose)
}

.kss-hpm-icon-grid.icon-gross h3 {
  font-size: 21px;
  margin-bottom: 10px
}

.kss-hpm-icon-grid.icon-gross p {
  font-size: 15.5px;
  margin-bottom: 0
}

/* ---------- Icon-Stil: Kreis (farbiger Hintergrund) ---------- */
.kss-hpm-icon-grid.icon-kreis .icon-grid__icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--gruen);
  color: var(--creme);
  margin-bottom: 15px;
}

.kss-hpm-icon-grid.icon-kreis .icon-grid__icon.rose {
  background: var(--rose);
  color: #fff
}

.kss-hpm-icon-grid.icon-kreis .icon-grid__icon svg {
  width: 20px;
  height: 20px
}

.kss-hpm-icon-grid.icon-kreis b {
  display: block;
  font-family: var(--display);
  font-size: 16.5px;
  font-weight: 600;
  margin-bottom: 3px
}

.kss-hpm-icon-grid.icon-kreis span {
  font-size: 14px;
  color: var(--tinte-weich);
  line-height: 1.55
}

/* ---------- Trägermaterial: flach (Spalten mit Trennlinie, wie "Für wen") ---------- */
.kss-hpm-icon-grid.traeger-flach .icon-grid__liste>.icon-grid__item {
  padding: 0 34px
}

.kss-hpm-icon-grid.traeger-flach.spalten-3 .icon-grid__liste>.icon-grid__item+.icon-grid__item {
  border-left: 1px dashed var(--linie)
}

.kss-hpm-icon-grid.traeger-flach.dunkel .icon-grid__liste>.icon-grid__item+.icon-grid__item {
  border-left: 1px dashed rgba(231, 205, 192, .34)
}

.kss-hpm-icon-grid.traeger-flach .icon-grid__liste>.icon-grid__item:first-child {
  padding-left: 0
}

.kss-hpm-icon-grid.traeger-flach .icon-grid__liste>.icon-grid__item:last-child {
  padding-right: 0
}

.kss-hpm-icon-grid.traeger-flach.spalten-4 .icon-grid__item {
  padding: 0;
  text-align: left
}

@media(max-width:900px) {
  .kss-hpm-icon-grid.traeger-flach .icon-grid__liste>.icon-grid__item {
    padding: 0
  }

  .kss-hpm-icon-grid.traeger-flach.spalten-3 .icon-grid__liste>.icon-grid__item+.icon-grid__item {
    border-left: 0;
    border-top: 1px dashed var(--linie);
    padding-top: 34px;
  }

  .kss-hpm-icon-grid.traeger-flach.dunkel.spalten-3 .icon-grid__liste>.icon-grid__item+.icon-grid__item {
    border-top-color: rgba(231, 205, 192, .34);
  }
}

/* ---------- Trägermaterial: Karte (bordered card) ---------- */
.kss-hpm-icon-grid.traeger-karte .icon-grid__item {
  display: block;
  text-decoration: none;
  color: inherit;
  background: var(--papier);
  border: 1px solid var(--linie);
  border-radius: 16px;
  padding: 30px 28px;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}

.kss-hpm-icon-grid.traeger-karte .icon-grid__item:hover {
  border-color: var(--rose);
  transform: translateY(-3px);
  box-shadow: 0 18px 34px -18px rgba(169, 108, 85, .28);
}

.kss-hpm-icon-grid.traeger-karte h3 {
  font-size: 19px;
  margin-bottom: 9px
}

.kss-hpm-icon-grid.traeger-karte p:not(.kss-hpm .kicker ) {
  font-size: 15px;
  color: var(--tinte-weich);
  margin: 0;
  line-height: 1.6
}

.kss-hpm-icon-grid.traeger-karte .preis {
  display: block;
  font-family: var(--hand);
  font-size: 22px;
  color: var(--rose-tief);
  margin-top: 14px;
}

.kss-hpm-icon-grid.traeger-karte.icon-kreis .icon-grid__item {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 26px 24px
}

.kss-hpm-icon-grid.traeger-karte.icon-kreis .icon-grid__icon {
  width: 40px;
  height: 40px;
  margin-bottom: 0
}

.kss-hpm-icon-grid.traeger-karte.icon-kreis .icon-grid__icon svg {
  width: 18px;
  height: 18px
}

.kss-hpm-icon-grid.traeger-karte.icon-kreis b {
  font-family: var(--display);
  font-size: 17px
}

.kss-hpm-icon-grid.traeger-karte.icon-kreis span {
  word-break: break-word
}

/* ---------- "Mehr dazu"-Link unter der Karte ---------- */
.kss-hpm-icon-grid .icon-grid__mehr {
  margin: 14px 0 0
}

.kss-hpm-icon-grid .icon-grid__mehr a {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--rose-hell);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}

.kss-hpm-icon-grid:not(.dunkel) .icon-grid__mehr a {
  color: var(--rose-tief)
}

/* ---------- Farbschema dunkel ---------- */
.kss-hpm-icon-grid.dunkel {
  background: var(--gruen);
  color: var(--creme)
}

.kss-hpm-icon-grid.dunkel h2 {
  color: var(--creme)
}

.kss-hpm-icon-grid.dunkel .kicker {
  color: var(--rose-hell)
}

.kss-hpm-icon-grid.dunkel .intro {
  color: rgba(248, 243, 235, .82)
}

.kss-hpm-icon-grid.dunkel h3 {
  color: var(--creme)
}

.kss-hpm-icon-grid.dunkel p {
  color: rgba(248, 243, 235, .78)
}