:root{
  --vhpt-border: rgba(0,0,0,.08);
  --vhpt-border-soft: rgba(0,0,0,.06);
  --vhpt-bg: #fff;
  --vhpt-bg-soft: rgba(0,0,0,.02);
  --vhpt-text: rgba(0,0,0,.88);
  --vhpt-muted: rgba(0,0,0,.62);
  --vhpt-radius: 16px;
  --vhpt-row-hover: rgba(0,0,0,.03);
  --vhpt-cta-bg: #ffffff;
  --vhpt-cta-text: rgba(0,0,0,.88);
  --vhpt-cta-border: rgba(0,0,0,.14);
  --vhpt-link: rgba(0,0,0,.88);
}

.vhpt-table{margin:24px 0;}
.vhpt-front-list{display:flex;flex-direction:column;gap:24px;}
.vhpt-front-item{width:100%;}

.vhpt-cols{display:grid;gap:16px;}
.vhpt-cols-1{grid-template-columns:1fr;}
.vhpt-cols-2{grid-template-columns:repeat(2,1fr);}
.vhpt-cols-3{grid-template-columns:repeat(3,1fr);}
.vhpt-cols-4{grid-template-columns:repeat(4,1fr);}

/* Tier card */
.vhpt-tier{
  border:1px solid var(--vhpt-border);
  border-radius:var(--vhpt-radius);
  overflow:hidden;
  background:var(--vhpt-bg);
  display:flex;
  flex-direction:column;
}
.vhpt-tier.is-featured{border-width:2px; box-shadow:0 10px 28px rgba(0,0,0,.08); transform:translateY(-2px);}

.vhpt-tier-head{padding:20px; border-bottom:1px solid var(--vhpt-border-soft);}

.vhpt-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  color:var(--vhpt-muted);
  margin-bottom:10px;
}

.vhpt-tier-name{margin:0 0 10px 0; font-size:18px; line-height:1.2; font-weight:800; color:var(--vhpt-text);}

.vhpt-prices{margin-bottom:6px;}
.vhpt-price{display:flex;align-items:baseline;gap:6px;font-size:30px;font-weight:900;letter-spacing:-.02em;color:var(--vhpt-text);}
.vhpt-price-unit{font-size:12px;font-weight:700;color:var(--vhpt-muted);}
.vhpt-subprice{font-size:12px;color:var(--vhpt-muted);margin-top:6px;}

/* CTA */
.vhpt-cta{
  display:inline-flex;
  width:100%;
  justify-content:center;
  align-items:center;
  margin-top:12px;
  padding:11px 12px;
  border-radius:12px;
  font-weight:900;
  text-decoration:none;
  border:1px solid var(--vhpt-cta-border);
  background: var(--vhpt-cta-bg);
  color: var(--vhpt-cta-text);
}
.vhpt-cta:hover{filter:brightness(.98);}

/* Included services list (feature style, not nav) */
.vhpt-services{list-style:none;margin:0;padding:0;}
.vhpt-service{border-top:1px solid var(--vhpt-border-soft);}
.vhpt-service:hover{background:var(--vhpt-row-hover);}

.vhpt-service a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  text-decoration:none;
  color:inherit;
}
.vhpt-service a:hover{background:var(--vhpt-bg-soft);}

.vhpt-service-title{flex:1 1 auto;min-width:0;font-size:14px;font-weight:600;color:var(--vhpt-link);}

.vhpt-service-price{flex:0 0 auto;font-size:12px;color:var(--vhpt-muted);white-space:nowrap;}

/* Underline only the title on hover (keeps it from feeling like a nav menu) */
.vhpt-service a:hover .vhpt-service-title{text-decoration:underline;}

@media (max-width: 900px){
  .vhpt-cols-3,.vhpt-cols-4{grid-template-columns:1fr;}
}
