/* Pricing components: product-specific access, prices and checkout controls. */
.hv-pricing {
  --plan-line: rgba(213, 211, 225, .085);
  --plan-muted: #a2a0ae;
  --plan-text: #eeeef3;
  padding: 40px 0 24px;
  position: relative;
  scroll-margin-top: 120px;
}
.hv-pricing-wrap { width: min(1100px, calc(100% - 48px)); margin: 0 auto; }
.hv-pricing-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.hv-pricing .hv-pricing-heading h2 { margin: 0; color: var(--plan-text); font-size: 30px; font-weight: 600; line-height: 1.2; letter-spacing: -.04em; }
.hv-pricing-heading p { margin: 8px 0 0; color: var(--plan-muted); font-size: 14px; line-height: 1.5; }
.hv-pricing svg { display: block; flex-shrink: 0; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.hv-pricing-grid { display: grid; gap: 22px; align-items: stretch; }
.hv-pricing-grid--script { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hv-plan-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--plan-line);
  border-radius: 16px;
  background: linear-gradient(150deg, rgba(215, 213, 232, .025), transparent 48%), rgba(14, 14, 18, .72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .018), 0 12px 28px rgba(0, 0, 0, .10);
  color: var(--plan-text);
  position: relative;
  isolation: isolate;
  transition: border-color .2s ease;
}
.hv-plan-card--featured { border-color: rgba(176, 167, 203, .24); background: radial-gradient(ellipse at 90% 0, rgba(149, 133, 184, .045), transparent 60%), linear-gradient(150deg, rgba(215, 213, 232, .025), transparent 48%), rgba(16, 16, 21, .76); box-shadow: inset 0 1px 0 rgba(216, 208, 239, .04), 0 12px 28px rgba(0, 0, 0, .10); }
.hv-plan-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; }
.hv-pricing .hv-plan-top h3 { margin: 0; font-size: 25px; font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.hv-plan-duration { color: var(--plan-muted); font-size: 12px; }
.hv-plan-recommend { border: 1px solid rgba(188,178,220,.18); border-radius: 5px; background: rgba(179, 165, 217, .035); padding: 4px 9px; font-size: 11px; font-weight: 500; color: #c3bdcf; white-space: nowrap; border-color: rgba(188, 178, 220, .12); }
.hv-plan-desc { min-height: 21px; margin: 10px 0 19px; color: var(--plan-muted); font-size: 14px; line-height: 1.5; }
.hv-plan-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; }
.hv-plan-amount { display: inline-flex; align-items: baseline; gap: 2px; color: #f5f4f8; font-size: 50px; font-weight: 600; line-height: 1.1; letter-spacing: -.055em; font-variant-numeric: lining-nums tabular-nums; }
.hv-plan-amount > span { align-self: flex-start; margin-top: 7px; font-size: 25px; line-height: 1; letter-spacing: -.03em; color: #c4c3cc; }
.hv-plan-period { color: var(--plan-muted); font-size: 13px; }
.hv-plan-saving { display: flex; align-items: center; gap: 10px; min-height: 21px; margin-top: 8px; color: #b7afca; font-size: 12px; }
.hv-plan-saving s { color: #8d8998; text-decoration-thickness: 1px; }
.hv-pricing .hv-plan-buy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 47px;
  margin: 23px 0 0;
  padding: 12px 17px;
  border: 1px solid rgba(210,207,224,.2);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .03));
  color: #ededed;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  transition: border-color .18s ease, box-shadow .18s ease;
  border-color: rgba(255, 255, 255, .16);
}
.hv-pricing .hv-plan-buy:hover { background: linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .05)); border-color: rgba(255, 255, 255, .27); }
.hv-pricing .hv-plan-card--featured .hv-plan-buy { background: linear-gradient(180deg, #292929, #202020); color: #f0f0f0; border-color: #454545; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 3px 10px rgba(0, 0, 0, .12); }
.hv-pricing .hv-plan-card--featured .hv-plan-buy:hover { background: linear-gradient(180deg, #323232, #272727); border-color: #5b5b5b; }
.hv-pricing .hv-plan-buy:focus-visible, .hv-plan-details:focus-visible { outline: 2px solid #bdbdbd; outline-offset: 4px; }
.hv-plan-buy svg { width: 17px; height: 17px; }
.hv-plan-includes { margin: 23px 0 15px; padding-top: 21px; border-top: 1px solid var(--plan-line); color: #bbb7c8; font-size: 12px; font-weight: 500; }
.hv-plan-features { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.hv-plan-features li { display: flex; align-items: flex-start; gap: 10px; color: #bebacb; font-size: 13.5px; line-height: 1.5; }
.hv-plan-features li svg { width: 15px; height: 15px; margin-top: 2px; color: #a39ab9; stroke-width: 1.8; }
.hv-plan-detection { display: flex; align-items: center; gap: 11px; margin-top: 21px; padding: 16px 0; border-top: 1px solid var(--plan-line); border-bottom: 1px solid var(--plan-line); color: #908e9c; font-size: 13px; line-height: 1.5; }
.hv-plan-detection small { display: block; color: #858391; font-size: 11px; margin-top: 3px; }
.hv-plan-detection > svg:first-child { color: #9992b0; }
.hv-plan-detection > svg:last-child, .hv-plan-minus { margin-left: auto; }
.hv-plan-detection.is-included { color: #ded9ec; }
.hv-plan-detection.is-included small { color: #aba4bd; }
.hv-plan-details { display: inline-flex; align-items: center; justify-content: space-between; gap: 9px; margin-top: 16px; color: #aca7bc; font-size: 12px; text-decoration: none; }
.hv-plan-details:hover { color: #eeeaf8; }
.hv-plan-details svg { width: 14px; height: 14px; }
.hv-pricing-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; margin-top: 18px; color: #91909d; font-size: 12px; line-height: 1.5; }
.hv-pricing-foot > span { display: inline-flex; align-items: center; gap: 9px; }
.hv-pricing-foot i { color: #a7a2b8; font-size: 14px; }
.hv-pricing--cheat { padding-top: 48px; padding-bottom: 48px; }
.hv-pricing--cheat .hv-pricing-wrap { padding-top: 35px; border-top: 1px solid var(--plan-line); }
.hv-pricing-grid--cheat { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.hv-plan-card--compact { padding: 24px 22px; border-radius: 14px; }
.hv-pricing .hv-plan-card--compact h3 { font-size: 21px; }
.hv-plan-card--compact .hv-plan-top { gap: 7px; }
.hv-plan-card--compact .hv-plan-desc { margin-top: 8px; margin-bottom: 24px; font-size: 12px; }
.hv-plan-card--compact .hv-plan-amount { font-size: 38px; }
.hv-plan-card--compact .hv-plan-amount > span { font-size: 20px; margin-top: 5px; }
.hv-plan-card--compact .hv-plan-duration { font-size: 10px; }
.hv-plan-card--compact .hv-plan-recommend { padding: 3px 6px; font-size: 10px; }
.hv-plan-card--compact .hv-plan-buy { font-size: 13px; padding: 11px 12px; }
.hv-plan-card--compact .hv-plan-includes { margin-top: 22px; padding-top: 20px; font-size: 11px; }
.hv-plan-card--compact .hv-plan-features { gap: 12px; }
.hv-plan-card--compact .hv-plan-features li { font-size: 12px; gap: 7px; }

@media (max-width: 1000px) {
  .hv-pricing-grid--cheat { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .hv-plan-card--compact { padding: 26px; }
  .hv-plan-card--compact .hv-plan-amount { font-size: 43px; }
  .hv-plan-card--compact .hv-plan-features li { font-size: 13px; }
  .hv-plan-card--compact .hv-plan-desc { font-size: 13px; }
}
@media (max-width: 650px) {
  .hv-pricing { padding-top: 30px; scroll-margin-top: 100px; }
  .hv-pricing-wrap { width: calc(100% - 40px); }
  .hv-pricing-heading { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 21px; }
  .hv-pricing .hv-pricing-heading h2 { font-size: 28px; }
  .hv-pricing-grid--script, .hv-pricing-grid--cheat { grid-template-columns: 1fr; gap: 18px; }
  .hv-plan-card, .hv-plan-card--compact { padding: 25px; }
  .hv-plan-amount { font-size: 46px; }
  .hv-plan-features li { font-size: 12.5px; }
  .hv-pricing-foot { flex-direction: column; align-items: flex-start; gap: 9px; }
  .hv-plan-card--compact .hv-plan-top h3 { font-size: 23px; }
  .hv-plan-card--compact .hv-plan-duration, .hv-plan-card--compact .hv-plan-recommend { font-size: 11px; }
  .hv-pricing--cheat { padding-top: 24px; }
  .hv-pricing--cheat .hv-pricing-wrap { padding-top: 30px; }
}
@media (prefers-reduced-motion: reduce) { .hv-pricing .hv-plan-buy { transition: none; } }
.hv-plan-card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 26px;
  right: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(211, 207, 226, .14), transparent);
  pointer-events: none;
}
.hv-plan-card--featured::before {
  background: linear-gradient(90deg, transparent, rgba(189, 174, 217, .36), transparent);
}
@media (hover: hover) {
  .hv-plan-card:hover { border-color: rgba(194, 185, 214, .19); }
  .hv-plan-card--featured:hover { border-color: rgba(187, 172, 215, .36); }
}
@media (prefers-reduced-motion: reduce) { .hv-plan-card { transition: none; } }

/* Compact silver label seated on the lifetime card's upper edge. */
.hv-pricing .hv-plan-top { min-height: 36px; }
.hv-pricing .hv-plan-value {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -13px;
  right: 22px;
  z-index: 1;
  min-height: 26px;
  padding: 4px 13px;
  box-sizing: border-box;
  border: 1px solid #e4e4e6;
  border-radius: 10px;
  background: #dedee1;
  color: #202022;
  box-shadow: 0 2px 7px rgba(0, 0, 0, .2);
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 17px;
  letter-spacing: -.01em;
  white-space: nowrap;
  cursor: default;
}
/* Compact security label with a muted shield accent. */
.hv-pricing .hv-plan-security{display:inline-flex;align-self:flex-start;align-items:center;gap:7px;max-width:100%;min-height:27px;margin:0 0 17px;padding:3px 9px 3px 3px;border:1px solid rgba(188,185,206,.10);border-radius:7px;background:linear-gradient(110deg,rgba(126,175,151,.045),rgba(188,180,215,.025));color:#bdc8c4;box-shadow:inset 0 1px 0 rgba(224,230,227,.025);font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;line-height:17px;letter-spacing:.01em;text-transform:none;white-space:nowrap;cursor:default}
.hv-pricing .hv-plan-security svg{box-sizing:content-box;flex:0 0 auto;width:13px;height:13px;padding:3px;border-radius:4px;background:rgba(130,185,155,.085);color:#9bc3ad;stroke:currentColor;stroke-width:1.6;fill:none}
.hv-pricing .hv-pricing-product-copy{max-width:670px;line-height:1.7;font-size:14px;color:var(--plan-muted);margin-top:10px}
.hv-pricing .hv-plan-card--compact .hv-plan-security{font-size:10px;gap:6px;padding:3px 9px 3px 3px;margin-bottom:15px}
@media(max-width:650px){.hv-pricing .hv-pricing-product-copy{font-size:13px;line-height:1.75}.hv-pricing .hv-plan-security,.hv-pricing .hv-plan-card--compact .hv-plan-security{font-size:11px;gap:7px;margin-bottom:17px}}
