/* Shared pricing typography and card layout for both Cloud pages. */
.pricing-section { padding:7rem 3rem; background:#FDFCFA; }
.pricing-grid,.plans {
  max-width:1200px; margin:0 auto; display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem; align-items:stretch;
}
.pricing-card,.plan {
  background:#FDFCFA; border:1.5px solid #E2E8F0; border-radius:20px;
  padding:2rem 1.5rem; position:relative; display:flex; flex-direction:column; min-width:0;
}
.pricing-card.featured,.plan.featured {
  border-color:#2563EB; box-shadow:0 12px 40px rgba(37,99,235,.12);
}
.pricing-card.featured::before,.plan.featured::before {
  content:'Most Popular'; position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:#2563EB; color:#FDFCFA; padding:.3rem 1rem; border-radius:100px;
  font:600 .68rem Outfit,Arial,sans-serif; letter-spacing:.04em; white-space:nowrap;
}
.pricing-tier,.plan h3 {
  font:600 .72rem/1.4 Outfit,Arial,sans-serif; letter-spacing:.12em;
  text-transform:uppercase; color:#707070; margin:0 0 .8rem;
}
.pricing-card.featured .pricing-tier,.plan.featured h3 { color:#2563EB; }
.pricing-price,.price {
  font:400 2.2rem/1 "DM Serif Display",Georgia,serif; color:#0B1D3A; margin:0 0 .2rem;
}
.pricing-period,.period {
  font:400 .78rem/1.5 Outfit,Arial,sans-serif; color:#707070; margin:0 0 1.25rem;
}
.pricing-card .pricing-capability,.plan .pricing-capability {
  font:600 1rem/1.5 Outfit,Arial,sans-serif; color:#0B1D3A; min-height:6em; margin:0;
}
.pricing-card .pricing-allowance,.plan .pricing-allowance {
  font:600 .9rem/1.5 Outfit,Arial,sans-serif; color:#0B1D3A;
  margin:1rem 0; padding:.7rem 0; border-top:1px solid #E2E8F0; border-bottom:1px solid #E2E8F0;
}
.pricing-card .pricing-extras-label,.plan .pricing-extras-label {
  font:600 .82rem/1.5 Outfit,Arial,sans-serif; color:#5A5A5A; margin:0 0 .7rem;
}
.pricing-features,.plan ul { list-style:none; padding:0; margin:0 0 1.5rem; }
.pricing-features li,.plan li {
  display:flex; align-items:flex-start; gap:.6rem; font:400 .82rem/1.5 Outfit,Arial,sans-serif;
  color:#5A5A5A; margin-bottom:.7rem;
}
.pricing-features li::before,.plan li::before { content:'\2713'; color:#22C55E; font-weight:700; flex-shrink:0; }
.pricing-features li.highlight { color:#0B1D3A; font-weight:500; }
.pricing-btn,.plan .button {
  display:flex; align-items:center; justify-content:center; width:100%; min-height:48px;
  margin-top:auto; padding:.8rem; border-radius:6px; text-align:center;
  font:500 .88rem/1.4 Outfit,Arial,sans-serif; text-decoration:none; cursor:pointer;
}
.pricing-btn-outline { color:#0B1D3A; border:1.5px solid #E2E8F0; }
.pricing-btn-outline:hover { border-color:#0B1D3A; }
.pricing-btn-filled { background:#2563EB; color:#FDFCFA; }
.pricing-btn-filled:hover { background:#3B82F6; }
.pricing-shared {
  max-width:850px; margin:0 auto 2rem; text-align:center;
  font:500 1rem/1.6 Outfit,Arial,sans-serif; color:#0B1D3A;
}
.pricing-environments,.pricing-note {
  max-width:850px; margin:1.5rem auto 0; text-align:center;
  font:400 .85rem/1.6 Outfit,Arial,sans-serif; color:#5A5A5A;
}
.pricing-note { margin-top:2rem; }
.pricing-comparison { max-width:1200px; margin:3rem auto 0; min-width:0; }
.pricing-comparison h3 { font:600 1.5rem/1.3 Outfit,Arial,sans-serif; color:#0B1D3A; margin:0 0 .7rem; }
.pricing-comparison p { font:400 .9rem/1.6 Outfit,Arial,sans-serif; color:#5A5A5A; margin:0 0 1rem; }
.pricing-table-scroll { position:relative; width:100%; overflow-x:auto; border:1px solid #DDE5EF; border-radius:12px; }
.pricing-table-scroll:focus-visible { outline:3px solid #2563EB; outline-offset:3px; }
.pricing-table { width:100%; min-width:42rem; border-collapse:separate; border-spacing:0; table-layout:fixed; background:#FDFCFA; font:400 .85rem/1.5 Outfit,Arial,sans-serif; color:#1A1A1A; }
.pricing-table th,.pricing-table td { padding:.8rem .7rem; border-bottom:1px solid #E2E8F0; text-align:center; vertical-align:middle; }
.pricing-table thead th { background:#F1F5F9; color:#0B1D3A; font-weight:600; }
.pricing-table th:first-child { width:14rem; text-align:left; position:sticky; left:0; background:#FDFCFA; z-index:1; }
.pricing-table thead th:first-child { background:#F1F5F9; z-index:2; }
.pricing-table tbody th { font-weight:500; }
.pricing-table tr:last-child th,.pricing-table tr:last-child td { border-bottom:0; }
.feature-check { color:#167443; font-size:1.1rem; font-weight:700; }
.feature-absent { color:#707070; }
.pricing-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.pricing-comparison .pricing-scroll-hint { display:none; }
@media(max-width:1200px) {
  .pricing-grid,.plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pricing-card .pricing-capability,.plan .pricing-capability { min-height:4.5em; }
}
@media(max-width:768px) {
  .pricing-grid,.plans { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .pricing-section { padding:5rem 1.25rem; }
  .pricing-section .section-title { font-size:2rem; }
  .pricing-card,.plan { padding:1.75rem 1.5rem; }
  .pricing-card .pricing-capability,.plan .pricing-capability { min-height:0; }
  .pricing-table th:first-child { width:10rem; }
  .pricing-comparison .pricing-scroll-hint { display:block; }
}
