/* Match the existing hero/page gutters without changing the hero itself. */
.ff-pricing-shell {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 24px;
}
.ff-pricing-nav {
  padding: 20px 24px;
  border: 1px solid #303d51;
  border-radius: 16px;
  background: #111927;
}
.ff-pricing-nav .ff-page-nav__inner { max-width: none; margin: 0; gap: 12px 24px; }
.ff-pricing-nav .ff-page-nav__label { flex-shrink: 0; }
#vergoedingscheck { padding-block: 24px 40px; }
.ff-pricing-check {
  padding: 24px;
  border: 1px solid #303d51;
  border-radius: 20px;
  background: linear-gradient(115deg, #141e2d, #111927);
}
.ff-pricing-check__heading { text-align: left; margin-bottom: 28px; }
.ff-pricing-check__heading h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.25; margin-top: 12px; }
.ff-pricing-check__heading p { max-width: 64ch; margin: 12px 0 0; color: #bbc8d9; }
.ff-pricing-check__fields { gap: 20px; align-items: end; }
.ff-pricing-check .vc-select { min-height: 52px; font-size: 16px; background-color: #0d1420; }
.ff-pricing-check .vc-select:focus-visible { outline: 2px solid #90d8ff; outline-offset: 3px; }
.ff-pricing-check__notes { padding-top: 24px; border-top: 1px solid #303d51; }
.ff-pricing-check__footnote { margin-top: 16px; padding-inline: 24px; text-align: left; color: #a4b2c5; line-height: 1.6; }
.ff-pricing-check #vc-result { text-align: left; }
.ff-pricing-assurance { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.ff-pricing-assurance > a { justify-self: start; }
.ff-pricing-cards { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) {
  .ff-pricing-shell { padding-inline: 48px; }
  .ff-pricing-nav { padding-inline: 32px; }
  .ff-pricing-check { padding: 32px; }
  .ff-pricing-check__footnote { padding-inline: 32px; }
  .ff-pricing-assurance, .ff-pricing-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .ff-pricing-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .ff-pricing-assurance { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; }
}
@media (max-width: 600px) {
  .ff-pricing-nav { padding: 20px; }
  .ff-pricing-check { padding: 20px; }
  .ff-pricing-check__footnote { padding-inline: 20px; }
  .ff-pricing-nav .ff-page-nav__links { width: 100%; }
  .ff-pricing-nav .ff-page-nav__links a { justify-content: space-between; flex: 1 1 180px; }
  .ff-pricing-check__heading h2 { font-size: 26px; }
}
