/* Pricing-Section: SectionHeader über (stacked, Default) oder neben (split)
   einem Grid aus Pricing-Cards (2–5 Spalten). Vertikaler Rhythmus aus
   .d35-section, das dunkle Band aus .d35-section-dark. */
.d35-pricing-section__inner {
  width: min(100%, var(--d35-container));
  margin-inline: auto;
  padding-inline: var(--d35-gap);
  display: grid;
  gap: clamp(1.75rem, 4vw, 3rem);
}

/* Split: der Header sitzt in einer eigenen (schmaleren) Spalte neben dem Grid. */
.d35-pricing-section--layout-split .d35-pricing-section__inner {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.d35-pricing-section__header {
  min-width: 0;
}

/* stretch: Pricing-Cards einer Reihe sollen gleich hoch laufen. */
.d35-pricing-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

/* Die height:100%/min-height:100%-Mechanik von Card-Wrap und Karte ist für
   Bricks-Flex-Container gebaut; im Grid lösen die Prozente zyklisch gegen
   die Reihenhöhe auf und lassen die Karten aus ihren Wraps laufen. Hier
   komplett ohne Prozente: align-items: stretch (Grid) liefert die gleiche
   Reihenhöhe, flex: 1 füllt die Karte bis zum Wrap-Boden. */
.d35-pricing-section__grid > .d35-pricing-card-wrap {
  height: auto;
  min-height: 0;
}

.d35-pricing-section__grid > .d35-pricing-card-wrap > .d35-pricing-card {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
}

.d35-pricing-section__grid--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.d35-pricing-section__grid--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.d35-pricing-section__grid--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.d35-pricing-section__grid--cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1280px) {
  .d35-pricing-section__grid--cols-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .d35-pricing-section--layout-split .d35-pricing-section__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.75rem, 4vw, 3rem);
  }

  .d35-pricing-section__grid--cols-3,
  .d35-pricing-section__grid--cols-4,
  .d35-pricing-section__grid--cols-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .d35-pricing-section__grid--cols-2,
  .d35-pricing-section__grid--cols-3,
  .d35-pricing-section__grid--cols-4,
  .d35-pricing-section__grid--cols-5 {
    grid-template-columns: minmax(0, 1fr);
  }
}
