/* imgLang pricing + Paddle checkout */
.pricing-section { margin-bottom: 2.5rem; }
.pricing-section h2 {
  margin-top: 0;
  margin-bottom: 0.35rem;
}
.pricing-section .section-lead {
  margin: 0 0 1.1rem;
  max-width: 40rem;
}
.pricing-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  align-items: stretch;
}
.pricing-offer {
  background: #fff;
  padding: 1.25rem 1.3rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 100%;
}
.pricing-offer--pro {
  background: var(--studio);
  color: var(--studio-ink);
}
.pricing-offer--pro h3,
.pricing-offer--pro .offer-price { color: #fff; }
.pricing-offer--pro p,
.pricing-offer--pro li { color: rgba(232, 245, 244, 0.9); }
.pricing-offer h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.offer-desc {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
}
.offer-price {
  font-family: var(--font-display);
  font-size: 1.85rem;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
  line-height: 1.15;
  min-height: 1.15em;
}
.offer-price.is-loading { opacity: 0.45; font-size: 1rem; font-family: var(--font-body); }
.offer-price.is-error { color: var(--signal); font-size: 0.95rem; font-family: var(--font-body); }
.offer-features {
  margin: 0;
  padding-left: 1.1rem;
  flex: 1;
}
.offer-features li { margin: 0.25rem 0; }
.pricing-offer .btn { align-self: flex-start; margin-top: 0; }
.pricing-offer--pro .btn-primary {
  background: #fff;
  color: var(--studio-deep) !important;
}

/* Side-by-side compare: title / desc / price / features / CTA share row tracks */
.pricing-grid--compare {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pricing-grid--compare .pricing-offer {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  gap: 0.65rem;
}
.pricing-grid--compare .pricing-offer h3 {
  /* keep title block height even if one wraps */
  min-height: calc(1.2em * 2);
}
.pricing-grid--compare .offer-desc {
  /* two-line band so short blurbs don't lift the price row */
  min-height: calc(1.45em * 2);
}
.pricing-grid--compare .offer-features {
  flex: unset;
}

@supports (grid-template-rows: subgrid) {
  .pricing-grid--compare {
    grid-template-rows: auto auto auto 1fr auto;
  }
  .pricing-grid--compare .pricing-offer {
    grid-template-rows: subgrid;
    grid-row: span 5;
  }
  .pricing-grid--compare .pricing-offer h3,
  .pricing-grid--compare .offer-desc {
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .pricing-grid--compare {
    grid-template-columns: 1fr;
  }
  @supports (grid-template-rows: subgrid) {
    .pricing-grid--compare {
      grid-template-rows: none;
    }
    .pricing-grid--compare .pricing-offer {
      grid-template-rows: auto auto auto 1fr auto;
      grid-row: auto;
    }
  }
}

.pricing-note {
  margin-top: 1.25rem;
  font-size: 0.92rem;
}
.paddle-banner {
  background: #fff3cd;
  color: #5c4a00;
  padding: 0.85rem 1rem;
  margin-bottom: 1rem;
}
.paddle-banner--error {
  background: #fde8e4;
  color: #7a2216;
}
