/* Formules d'abonnement : une ligne, cartes de même hauteur, blocs alignés. */

.platform-plans-row,
.platform-offers-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 36px !important;
  box-sizing: border-box !important;
}
.platform-plans-row--abo,
.platform-plans-row--entreprise {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.platform-plans-row > *,
.platform-offers-grid > * {
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
}

.platform-plans-row .pricing-card.platform-offer-card,
.platform-offers-grid .pricing-card.platform-offer-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  height: 100% !important;
  overflow: visible !important;
  padding: 40px 16px 18px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  background: var(--surface, #fff) !important;
  border: 2px solid var(--line, #dde3ec) !important;
  border-radius: var(--radius-xl, 24px) !important;
  box-shadow: none;
}
.platform-plans-row .platform-offer-card:hover,
.platform-offers-grid .platform-offer-card:hover {
  box-shadow: var(--shadow, 0 10px 28px rgba(15, 23, 42, .08));
}
.platform-plans-row .platform-offer-card.featured,
.platform-offers-grid .platform-offer-card.featured {
  border-color: var(--brand, #4a6287) !important;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--brand, #4a6287) 18%, transparent);
}
.platform-plans-row .platform-offer-card--gratuit,
.platform-offers-grid .platform-offer-card--gratuit {
  border-style: dashed !important;
  background: var(--surface-2, #f8fafc) !important;
}
.pricing-card.platform-offer-card.featured::before,
.platform-offer-card.featured::before {
  content: none !important;
  display: none !important;
}

.platform-plans-row .platform-offer-badge,
.platform-offers-grid .platform-offer-badge {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3;
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 4px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #b8923c, #e8c872);
  color: #1a1a1a;
  white-space: nowrap;
  pointer-events: none;
}
.platform-plans-row .platform-offer-badge--active,
.platform-offers-grid .platform-offer-badge--active {
  background: #dcfce7;
  color: #166534;
  border: 1px solid #86efac;
}

.platform-plans-row .platform-offer-head,
.platform-offers-grid .platform-offer-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 auto;
  min-height: 7.5rem;
  margin: 0 0 4px !important;
}
.platform-plans-row .platform-offer-icon,
.platform-offers-grid .platform-offer-icon {
  display: inline-grid !important;
  place-items: center;
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px;
  background: var(--brand-muted, #e8eef5);
  color: var(--brand, #4a6287);
  font-size: 1.2rem;
  margin-bottom: 10px !important;
}
.platform-plans-row .platform-offer-card.featured .platform-offer-icon,
.platform-offers-grid .platform-offer-card.featured .platform-offer-icon {
  background: var(--accent-gradient, linear-gradient(135deg, var(--brand, #4a6287), #0d9488));
  color: #fff;
}
.platform-plans-row .platform-offer-title,
.platform-offers-grid .platform-offer-title {
  min-height: 1.5em;
  margin: 0 0 6px !important;
  font-size: 1.125rem !important;
  font-weight: 800;
  line-height: 1.25;
  font-family: var(--font-display, inherit);
}
.platform-plans-row .platform-offer-tagline,
.platform-offers-grid .platform-offer-tagline {
  min-height: 2.6em;
  max-height: 2.6em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0 !important;
  font-size: .78rem;
  line-height: 1.3;
  color: var(--ink-muted, #64748b);
}

.platform-plans-row .platform-offer-price-block,
.platform-offers-grid .platform-offer-price-block {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 0 0 auto;
  min-height: 4.85rem;
  margin: 6px 0 2px !important;
}
.platform-plans-row .price.platform-offer-price,
.platform-offers-grid .price.platform-offer-price {
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin: 0 0 4px !important;
  white-space: nowrap;
  color: var(--ink, #0f172a);
}
.platform-plans-row .price.platform-offer-price span,
.platform-offers-grid .price.platform-offer-price span {
  display: inline !important;
  font-size: .55em !important;
  font-weight: 500;
  color: var(--ink-muted, #64748b);
}
.platform-plans-row .platform-offer-annual,
.platform-plans-row .platform-offer-meta,
.platform-offers-grid .platform-offer-annual,
.platform-offers-grid .platform-offer-meta {
  min-height: 1.2em;
  margin: 0 !important;
  font-size: .75rem;
  color: var(--ink-muted, #64748b);
}
.platform-plans-row .platform-offer-annual:empty::before,
.platform-plans-row .platform-offer-meta:empty::before,
.platform-offers-grid .platform-offer-annual:empty::before,
.platform-offers-grid .platform-offer-meta:empty::before {
  content: "\00a0";
}

.platform-plans-row .platform-offer-features,
.platform-plans-row .platform-offer-features-list,
.platform-offers-grid .platform-offer-features,
.platform-offers-grid .platform-offer-features-list {
  flex: 1 1 auto !important;
  width: 100% !important;
  margin: 10px 0 14px !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: left;
}
.platform-plans-row .platform-offer-features-list__item,
.platform-offers-grid .platform-offer-features-list__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  font-size: .78rem;
  line-height: 1.35;
  border-bottom: 1px solid var(--line-soft, #eef2f6);
}
.platform-plans-row .platform-offer-features-list__item:last-child,
.platform-offers-grid .platform-offer-features-list__item:last-child {
  border-bottom: none;
}

.platform-plans-row .platform-offer-actions,
.platform-offers-grid .platform-offer-actions {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start;
  gap: 8px !important;
  width: 100%;
  min-height: 5.6rem;
  margin-top: auto !important;
}
.platform-plans-row .platform-offer-actions .btn,
.platform-offers-grid .platform-offer-actions .btn {
  width: 100%;
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: normal;
  line-height: 1.3;
}
.platform-plans-row .platform-offer-active,
.platform-offers-grid .platform-offer-active {
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

@supports (grid-template-rows: subgrid) {
  .platform-plans-row,
  .platform-offers-grid {
    grid-template-rows: auto auto minmax(6rem, 1fr) auto;
    grid-auto-rows: auto auto minmax(6rem, 1fr) auto;
  }
  .platform-plans-row > .pricing-card.platform-offer-card,
  .platform-offers-grid > .pricing-card.platform-offer-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: subgrid !important;
    grid-row: span 4 !important;
    height: auto !important;
  }
  .platform-plans-row .platform-offer-head,
  .platform-offers-grid .platform-offer-head {
    grid-row: 1;
    min-height: 0;
  }
  .platform-plans-row .platform-offer-price-block,
  .platform-offers-grid .platform-offer-price-block {
    grid-row: 2;
    min-height: 0;
  }
  .platform-plans-row .platform-offer-features,
  .platform-plans-row .platform-offer-features-list,
  .platform-offers-grid .platform-offer-features,
  .platform-offers-grid .platform-offer-features-list {
    grid-row: 3;
  }
  .platform-plans-row .platform-offer-actions,
  .platform-offers-grid .platform-offer-actions {
    grid-row: 4;
    margin-top: 0 !important;
  }
}

@media (max-width: 900px) {
  .platform-plans-row,
  .platform-offers-grid,
  .platform-plans-row--abo,
  .platform-plans-row--entreprise {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .platform-plans-row,
  .platform-offers-grid,
  .platform-plans-row--abo,
  .platform-plans-row--entreprise {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.platform-plans-row .platform-offer-features-list__label,
.platform-offers-grid .platform-offer-features-list__label,
.platform-plans-row .platform-offer-features-list__value,
.platform-offers-grid .platform-offer-features-list__value {
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal !important;
  min-width: 0;
}
.platform-plans-row .platform-offer-features-list__item,
.platform-offers-grid .platform-offer-features-list__item {
  min-width: 0;
}

.admin-offres-grid > .admin-offre-card-link {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  color: inherit;
  text-decoration: none;
}
.admin-offres-grid > .admin-offre-card-link > .pricing-card {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-width: 0 !important;
}

@supports (grid-template-rows: subgrid) {
  .admin-offres-grid {
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
  }
  .admin-offres-grid > .pricing-card.platform-offer-card,
  .admin-offres-grid > .admin-offre-card-link {
    display: flex !important;
    flex-direction: column !important;
    grid-row: auto !important;
    height: 100% !important;
  }
  .admin-offres-grid > .admin-offre-card-link > .pricing-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    grid-row: auto !important;
    grid-template-rows: none !important;
  }
}

