/* =========================
   FEDV PRICING PAGE
   - relies on fedv-core / fedv-pages tokens
========================= */

.fedv-pricing-page{
  padding: clamp(22px, 3vw, 42px) 0;
}

/* Layout */
.fedv-pricing-page .wrap{
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 var(--page-px, 16px);
}

/* Headings */
.fedv-pricing-page h1{
  margin: 0 0 10px;
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.fedv-pricing-page h2{
  margin: clamp(18px, 2.6vw, 28px) 0 10px;
  font-size: clamp(18px, 2vw, 24px);
  letter-spacing: -0.015em;
  line-height: 1.25;
}

.fedv-pricing-page p{
  margin: 0 0 10px;
  color: var(--fedv-muted, #4c5b66);
}

/* Info box */
.fedv-pricing-page .note{
  background: var(--fedv-surface, #fafbfd);
  border: 1px solid var(--fedv-border1, #dde4ea);
  border-radius: 14px;
  padding: 12px 14px;
}

/* Overview */
.fedv-pricing-page .overview{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 14px 0 8px;
}
@media (max-width: 900px){
  .fedv-pricing-page .overview{ grid-template-columns: 1fr; }
}

.fedv-pricing-page .ov{
  border: 1px solid var(--fedv-border1, #dde4ea);
  border-radius: 14px;
  padding: 16px 18px;
  background:#fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
.fedv-pricing-page .ov .k{
  font-size: 12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  color: var(--fedv-label, #7c8d9a);
}
.fedv-pricing-page .ov .v{
  margin-top:6px;
  font-weight:900;
  color: var(--fedv-text, #1a1a1a);
}

/* Tables */
.fedv-pricing-page .table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--fedv-border1, #dde4ea);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.fedv-pricing-page .table th,
.fedv-pricing-page .table td{
  padding:12px;
  border-bottom:1px solid var(--fedv-border1, #dde4ea);
  text-align:left;
  vertical-align:top;
}

.fedv-pricing-page .table thead th{
  background: var(--fedv-surface, #fafbfd);
  font-weight:900;
  color: var(--fedv-text, #1a1a1a);
}

.fedv-pricing-page .table tbody tr:last-child td{
  border-bottom:0;
}

.fedv-pricing-page .num{
  text-align:right;
  white-space:nowrap;
  font-variant-numeric: tabular-nums;
  font-weight:900;
  color: var(--fedv-text, #1a1a1a);
}

.fedv-pricing-page .muted{
  color: var(--fedv-muted, #4c5b66);
  font-weight:600;
}

/* Percentage badges */
.fedv-pricing-page .badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--fedv-border2, #ccd8e3);
  background: rgba(27,71,218,.06);
  color: var(--fedv-brand2, #003d8f);
  font-weight:900;
  font-size:12px;
  letter-spacing:.04em;
  white-space:nowrap;
}

/* Separator */
.fedv-pricing-page .sep{
  height:1px;
  background: var(--fedv-border1, #dde4ea);
  margin: clamp(16px, 2.6vw, 26px) 0;
}

/* Mobile */
@media (max-width:640px){
  .fedv-pricing-page .table th,
  .fedv-pricing-page .table td{
    padding:10px;
  }
  .fedv-pricing-page .hide-sm{ display:none; }
}

/* Print */
@media print{
  .fedv-pricing-page{
    padding:0;
  }
  .fedv-pricing-page .table,
  .fedv-pricing-page .ov{
    box-shadow:none;
  }
}
