/*
 * The pricing pages in their own design (bin/pricing_pages.py v4_page(): any
 * website, Shopify and WordPress; approved mockup
 * docs/mockups/pricing-any-website-v4.html).
 * Everything is scoped to .pv so nothing here reaches the rest of the site,
 * and the site's own rules don't reach in. Loaded by functions.php when a page
 * has class="pv"; the switches are in assets/js/pricing-v4.js.
 */
.pv {
	--pv-ink: #0c0b0d; --pv-ink-2: #37353a; --pv-muted: #67636b; --pv-faint: #8b8790;
	--pv-line: #eceaea; --pv-line-2: #e3e3ea; --pv-layer: #f7f7f9; --pv-layer-2: #f1f1f5;
	--pv-brand: #1A2370; --pv-brand-soft: #EEF0F8; --pv-brand-line: #D5D9EE;
	--pv-good: #1f7a4d; --pv-good-soft: #e8f5ee; --pv-amber: #8a5608; --pv-amber-soft: #fdf4e3;
	--pv-calm: linear-gradient(135deg, #f4f7ff 0%, #EEF0F8 45%, #f6f1ff 100%);
	color: var(--pv-ink);
	font-family: var(--sans, "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	font-size: 16px;
	line-height: 1.55;
}
.pv *, .pv *::before, .pv *::after { box-sizing: border-box; }
.pv a { color: inherit; }
.pv h1, .pv h2, .pv h3, .pv p { margin: 0; }
.pv .pv-wrap { max-width: 1160px; margin: 0 auto; padding-inline: 24px; }
.pv .pv-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* buttons */
.pv .pv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 20px; border-radius: 12px; border: 1px solid transparent; font-weight: 600; font-size: 15.5px; text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.pv .pv-btn:hover { transform: translateY(-1px); }
.pv .pv-btn-brand { background: var(--pv-brand); color: #fff; box-shadow: 0 12px 24px -12px rgba(26,35,112,.7); }
.pv .pv-btn-ink { background: var(--pv-ink); color: #fff; }
.pv .pv-btn-line { background: #fff; color: var(--pv-ink); border-color: var(--pv-line-2); }
.pv .pv-btn-sm { height: 38px; padding: 0 14px; font-size: 14px; }
.pv .pv-btn-xs { height: 32px; padding: 0 12px; font-size: 13px; box-shadow: none; }
.pv .pv-link { all: unset; cursor: pointer; font-weight: 600; font-size: 14px; color: var(--pv-brand); }
.pv .pv-link:focus-visible, .pv button:focus-visible, .pv summary:focus-visible, .pv a:focus-visible { outline: 2px solid var(--pv-brand); outline-offset: 2px; border-radius: 8px; }

/* hero and plans */
.pv .pv-hero { position: relative; padding: 72px 0 56px; text-align: center; overflow: hidden; }
.pv .pv-hero::before { content: ""; position: absolute; inset: -40% -10% auto; height: 520px; background: radial-gradient(closest-side, rgba(26,35,112,.10), transparent); pointer-events: none; }
.pv .pv-crumb { position: relative; font: 600 12px var(--mono, ui-monospace, monospace); letter-spacing: .1em; text-transform: uppercase; color: var(--pv-brand); }
.pv .pv-hero h1 { position: relative; margin: 14px auto 0; max-width: 15ch; font-size: clamp(38px, 5.4vw, 64px); font-weight: 750; line-height: 1.02; letter-spacing: -0.045em; text-wrap: balance; }
.pv .pv-hero h1 span { color: var(--pv-brand); }
.pv .pv-lede { position: relative; max-width: 38em; margin: 18px auto 0; font-size: 18px; color: var(--pv-muted); }
.pv .pv-platforms { position: relative; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.pv .pv-platforms span { padding: 4px 11px; border-radius: 999px; border: 1px solid var(--pv-line); background: var(--pv-layer); font-size: 13px; color: var(--pv-ink-2); }
.pv .pv-bill, .pv .pv-seg { display: inline-flex; align-items: center; gap: 4px; padding: 4px; border-radius: 14px; border: 1px solid var(--pv-line); background: var(--pv-layer-2); }
.pv .pv-bill { position: relative; margin-top: 30px; }
.pv .pv-bill button, .pv .pv-seg button { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 10px; font-weight: 600; font-size: 14.5px; color: var(--pv-muted); }
.pv .pv-bill button[aria-pressed="true"], .pv .pv-seg button[aria-pressed="true"] { background: #fff; color: var(--pv-ink); box-shadow: 0 1px 2px rgba(16,18,32,.06), 0 4px 10px -4px rgba(16,18,32,.12); }
.pv .pv-bill em, .pv .pv-seg em { font-style: normal; font-size: 11.5px; font-weight: 700; border-radius: 999px; padding: 2px 8px; color: var(--pv-good); background: var(--pv-good-soft); }
.pv .pv-seg em { color: var(--pv-brand); background: var(--pv-brand-soft); }
.pv .pv-plans { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 920px; margin: 34px auto 0; align-items: stretch; text-align: left; }
.pv .pv-plan { position: relative; display: flex; flex-direction: column; gap: 18px; padding: 30px 28px 28px; border-radius: 24px; border: 1px solid var(--pv-line-2); background: #fff; }
.pv .pv-plan-rec { background: var(--pv-calm); border: 2px solid var(--pv-brand); box-shadow: 0 30px 60px -36px rgba(26,35,112,.55); }
.pv .pv-badge { position: absolute; top: 22px; right: 22px; padding: 4px 10px; border-radius: 999px; background: var(--pv-brand); color: #fff; font: 600 11px var(--mono, ui-monospace, monospace); letter-spacing: .08em; text-transform: uppercase; }
.pv .pv-plan h2 { font-size: 22px; letter-spacing: -.02em; }
.pv .pv-for { margin-top: 4px; font-size: 14.5px; color: var(--pv-muted); }
.pv .pv-price { display: flex; align-items: baseline; gap: 6px; }
.pv .pv-price b { font-size: 56px; font-weight: 750; letter-spacing: -0.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.pv .pv-price span { font-size: 15px; color: var(--pv-muted); }
.pv .pv-price-sub { margin-top: -10px; min-height: 1.5em; font-size: 13.5px; color: var(--pv-muted); }
.pv .pv-limits { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pv .pv-limits div { padding: 12px 14px; border-radius: 14px; background: var(--pv-layer); }
.pv .pv-plan-rec .pv-limits div { background: #fff; border: 1px solid #e3e8fb; }
.pv .pv-limits b { display: block; font-size: 20px; letter-spacing: -.02em; }
.pv .pv-limits small { font-size: 12.5px; color: var(--pv-muted); }
.pv .pv-cta-note { margin-top: -8px; font-size: 12.5px; text-align: center; color: var(--pv-muted); }
.pv .pv-feat { margin: 0; padding: 18px 0 0; border-top: 1px solid var(--pv-line); list-style: none; display: grid; gap: 10px; font-size: 14.5px; }
.pv .pv-plan-rec .pv-feat { border-color: #dfe6ff; }
.pv .pv-feat .pv-h { font: 600 12px var(--mono, ui-monospace, monospace); letter-spacing: .06em; text-transform: uppercase; color: var(--pv-faint); }
.pv .pv-feat li:not(.pv-h) { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.pv .pv-feat li:not(.pv-h)::before { content: ""; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; background: var(--pv-good-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f7a4d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 12px no-repeat; }
.pv .pv-feat li.pv-plus::before { background: var(--pv-brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231447e6' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 12px no-repeat; }
.pv .pv-custom { position: relative; display: flex; align-items: center; gap: 16px; max-width: 920px; margin: 16px auto 0; padding: 16px 20px; border-radius: 18px; border: 1px dashed var(--pv-line-2); text-align: left; }
.pv .pv-custom b { font-size: 15.5px; }
.pv .pv-custom span { font-size: 14px; color: var(--pv-muted); }
.pv .pv-custom .pv-btn { margin-left: auto; }

/* sections */
.pv .pv-band { padding: 84px 0; }
.pv .pv-soft { background: var(--pv-layer); border-block: 1px solid var(--pv-line); }
.pv .pv-head { max-width: 640px; }
.pv .pv-head.pv-c { margin-inline: auto; text-align: center; }
.pv .pv-eb { font: 600 12px var(--mono, ui-monospace, monospace); letter-spacing: .1em; text-transform: uppercase; color: var(--pv-brand); }
.pv .pv-head h2 { margin-top: 10px; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.08; letter-spacing: -0.035em; text-wrap: balance; }
.pv .pv-head > p:not(.pv-eb) { margin-top: 12px; font-size: 17px; color: var(--pv-muted); }

/* comparison */
.pv .pv-cmp-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 30px; }
.pv .pv-seg button { padding: 8px 14px; font-size: 14px; }
.pv .pv-cmp-top { position: sticky; top: 64px; z-index: 10; display: grid; grid-template-columns: 40% 1fr 1fr; margin-top: 18px; padding: 12px 0; background: rgba(255,255,255,.95); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--pv-line-2); }
.admin-bar .pv .pv-cmp-top { top: 96px; }
.pv .pv-ck { align-self: center; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-inline: 16px 18px; font: 600 12px var(--mono, ui-monospace, monospace); letter-spacing: .08em; text-transform: uppercase; color: var(--pv-faint); }
.pv .pv-ck .pv-link { font-family: var(--sans, "Geist", system-ui, sans-serif); text-transform: none; letter-spacing: normal; white-space: nowrap; user-select: none; }
.pv .pv-p { display: flex; align-items: center; justify-content: center; gap: 12px; margin-inline: 6px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--pv-line-2); background: #fff; }
.pv .pv-p-rec { background: var(--pv-brand-soft); border: 2px solid var(--pv-brand); }
.pv .pv-p b { font-size: 16px; }
.pv .pv-p small { font-size: 13px; color: var(--pv-muted); }
.pv .pv-g { border-bottom: 1px solid var(--pv-line-2); }
.pv .pv-g summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 18px 16px; cursor: pointer; font-size: 17px; font-weight: 650; letter-spacing: -.015em; }
.pv .pv-g summary::-webkit-details-marker { display: none; }
.pv .pv-g summary::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--pv-faint); border-bottom: 2px solid var(--pv-faint); transform: rotate(45deg); transition: transform .2s; }
.pv .pv-g[open] summary::after { transform: rotate(225deg); }
.pv .pv-n { padding: 1px 8px; border-radius: 999px; background: var(--pv-layer-2); font-size: 12px; font-weight: 600; color: var(--pv-muted); }
.pv .pv-d { padding: 1px 8px; border-radius: 999px; background: var(--pv-brand-soft); font-size: 12px; font-weight: 600; color: var(--pv-brand); }
.pv table { width: 100%; min-width: 0; margin: 0 0 10px; border-collapse: collapse; table-layout: fixed; }
.pv col.pv-c1 { width: 40%; }
.pv tbody tr { border-top: 1px solid var(--pv-line); }
.pv tbody tr:nth-child(odd) { background: var(--pv-layer); }
.pv tbody th { padding: 14px 16px; text-align: left; font: 550 15px/1.4 var(--sans, system-ui, sans-serif); text-transform: none; letter-spacing: normal; color: var(--pv-ink); background: none; border: 0; }
.pv tbody th small { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--pv-muted); }
.pv tbody th[aria-describedby] { position: relative; cursor: help; }
.pv tbody th[aria-describedby]:focus { outline: none; }
.pv tbody th[aria-describedby]:focus-visible .pv-fn { outline: 2px solid var(--pv-brand); outline-offset: 2px; border-radius: 4px; }
.pv .pv-fn::after { content: "i"; display: inline-grid; place-items: center; width: 15px; height: 15px; margin-inline-start: 7px; border-radius: 50%; border: 1.5px solid #c9c6cf; color: var(--pv-faint); font: italic 700 9.5px/1 Georgia, serif; vertical-align: 1px; transition: border-color .15s, color .15s; }
.pv tbody th:not([aria-describedby]) .pv-fn::after { content: none; }
.pv tbody tr:hover .pv-fn::after, .pv tbody th:focus .pv-fn::after { border-color: var(--pv-ink); color: var(--pv-ink); }
.pv .pv-tip { display: none; position: absolute; inset-inline-start: 16px; top: calc(100% - 8px); z-index: 30; width: max-content; max-width: min(340px, 78vw); padding: 10px 13px; border-radius: 11px; background: #1d1c21; color: #f4f3f6; font: 450 13.5px/1.45 var(--sans, system-ui, sans-serif); text-transform: none; letter-spacing: normal; box-shadow: 0 14px 30px -12px rgba(12, 11, 13, .45); pointer-events: none; }
.pv .pv-tip::before { content: ""; position: absolute; inset-inline-start: 18px; top: -5px; width: 10px; height: 10px; background: inherit; transform: rotate(45deg); border-radius: 2px; }
.pv tbody th:focus .pv-tip { display: block; }
@media (hover: hover) { .pv tbody tr:hover .pv-tip { display: block; } }
.pv tbody td { padding: 14px 8px; text-align: center; vertical-align: middle; font-size: 16px; border: 0; }
.pv tbody td b { font-weight: 650; }
.pv tbody td .pv-sub { display: block; margin-top: 2px; font-size: 12.5px; color: var(--pv-muted); }
.pv td.pv-rec { background: rgba(26,35,112,.045); }
.pv tr.pv-diff th { box-shadow: inset 3px 0 0 var(--pv-brand); }
.pv .pv-y { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--pv-good); color: #fff; font-size: 13px; font-weight: 700; line-height: 1; }
.pv .pv-x { color: #b4b1ba; font-size: 18px; }
.pv .pv-only-diff tr:not(.pv-diff), .pv .pv-only-diff .pv-g.pv-nodiff { display: none; }
.pv .pv-cmp-foot { margin-top: 16px; font-size: 14px; color: var(--pv-muted); }
.pv .pv-cmp-foot a { color: var(--pv-brand); font-weight: 600; }

/* what both plans give */
.pv .pv-buys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.pv .pv-buy { display: flex; flex-direction: column; gap: 10px; padding: 24px 22px 20px; border-radius: 20px; border: 1px solid var(--pv-line-2); background: #fff; }
.pv .pv-buy-top { display: flex; align-items: center; justify-content: space-between; }
.pv .pv-ic { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: var(--cs); color: var(--c); }
.pv .pv-ic svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pv .pv-k { font: 600 11px var(--mono, ui-monospace, monospace); letter-spacing: .06em; text-transform: uppercase; color: var(--c); }
.pv .pv-big { margin-top: 8px; font-size: 44px; font-weight: 750; letter-spacing: -0.045em; line-height: 1; }
.pv .pv-big span { margin-left: 5px; font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--pv-muted); }
.pv .pv-buy h3 { font-size: 17px; letter-spacing: -0.015em; line-height: 1.3; }
.pv .pv-buy > p:not(.pv-big) { font-size: 14px; color: var(--pv-ink-2); }
.pv .pv-viz { display: grid; gap: 8px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--pv-line); font-size: 12.5px; color: var(--pv-muted); }
.pv .pv-meter { display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: 8px; }
.pv .pv-meter s { position: relative; display: block; height: 8px; border-radius: 99px; background: var(--cs); overflow: hidden; text-decoration: none; }
.pv .pv-meter s::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: 99px; background: var(--c); }
.pv .pv-meter b { color: var(--pv-ink); }
.pv .pv-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pv .pv-chips span { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--pv-line-2); font-weight: 550; color: var(--pv-ink-2); }
.pv .pv-chips em { width: 18px; height: 18px; border-radius: 6px; display: grid; place-items: center; font: 700 10px var(--sans, system-ui, sans-serif); font-style: normal; color: #fff; }
.pv .pv-team { display: flex; }
.pv .pv-team i { width: 30px; height: 30px; margin-left: -8px; border-radius: 50%; border: 2px solid #fff; display: grid; place-items: center; font: 600 11px var(--sans, system-ui, sans-serif); font-style: normal; color: #fff; }
.pv .pv-team i:first-child { margin-left: 0; }
.pv .pv-team .pv-more { background: var(--pv-good-soft); color: var(--pv-good); }
.pv .pv-path { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pv .pv-path li { display: flex; align-items: center; gap: 8px; color: var(--pv-ink-2); }
.pv .pv-path span { width: 22px; height: 22px; flex: none; border-radius: 7px; display: grid; place-items: center; font-size: 11px; font-weight: 700; }
.pv .pv-path li:nth-child(1) span { background: var(--pv-brand-soft); color: var(--pv-brand); }
.pv .pv-path li:nth-child(2) span { background: var(--pv-amber-soft); color: var(--pv-amber); }
.pv .pv-path li:nth-child(3) span { background: var(--pv-good-soft); color: var(--pv-good); }

/* how it is counted */
.pv .pv-count { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
.pv .pv-steps { display: grid; gap: 12px; }
.pv .pv-steps > div { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; padding: 18px; border-radius: 18px; border: 1px solid var(--pv-line-2); background: #fff; }
.pv .pv-no { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; font-weight: 750; font-size: 18px; }
.pv .pv-tx { min-width: 0; padding-top: 2px; }
.pv .pv-tx b { display: block; font-size: 16px; }
.pv .pv-tx span { display: block; margin-top: 4px; font-size: 14.5px; color: var(--pv-ink-2); }

/* questions */
.pv .pv-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 34px; align-items: start; }
.pv .pv-faq details { padding: 0 20px; border-radius: 16px; border: 1px solid var(--pv-line-2); background: #fff; }
.pv .pv-faq summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 18px 0; cursor: pointer; font-weight: 600; font-size: 16px; }
.pv .pv-faq summary::-webkit-details-marker { display: none; }
.pv .pv-faq summary::after { content: ""; margin-left: auto; flex: none; width: 9px; height: 9px; border-right: 2px solid var(--pv-faint); border-bottom: 2px solid var(--pv-faint); transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.pv .pv-faq details[open] summary::after { transform: translateY(2px) rotate(225deg); }
.pv .pv-faq p { margin: 0 0 18px; font-size: 15px; color: var(--pv-ink-2); }

/* closing call */
.pv .pv-final { padding: 84px 0 96px; }
.pv .pv-box { position: relative; overflow: hidden; isolation: isolate; display: grid; grid-template-columns: 1.3fr 1fr; gap: 32px; align-items: center; padding: 56px 52px; border-radius: 28px; border: 1px solid #dfe6ff; background: var(--pv-calm); }
.pv .pv-box::before { content: ""; position: absolute; right: -80px; top: -120px; z-index: -1; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(closest-side, rgba(26,35,112,.18), transparent); }
.pv .pv-box h2 { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.06; letter-spacing: -0.035em; }
.pv .pv-box > div > p { margin-top: 12px; font-size: 17px; color: var(--pv-muted); }
.pv .pv-acts { display: grid; gap: 10px; justify-items: start; margin-top: 26px; }
.pv .pv-acts small { color: var(--pv-muted); }
.pv .pv-mini { display: grid; gap: 12px; }
.pv .pv-mini > div { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; border: 1px solid #e3e8fb; background: #fff; box-shadow: 0 10px 24px -18px rgba(26,35,112,.5); }
.pv .pv-mini i { width: 36px; height: 36px; flex: none; border-radius: 11px; display: grid; place-items: center; background: var(--pv-brand-soft); color: var(--pv-brand); font-style: normal; font-weight: 700; }
.pv .pv-mini b { display: block; font-size: 15px; }
.pv .pv-mini small { font-size: 13px; color: var(--pv-muted); }

/* Shopify and WordPress: three plans (Free, Pro, Business) */
.pv[data-plans="3"] .pv-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 1112px; }
.pv[data-plans="3"] .pv-plan { padding: 28px 22px 24px; }
.pv[data-plans="3"] .pv-price b { font-size: 48px; }
.pv[data-plans="3"] .pv-custom { max-width: 1112px; }
.pv[data-plans="3"] .pv-cmp-top { grid-template-columns: 34% 1fr 1fr 1fr; }
.pv[data-plans="3"] col.pv-c1 { width: 34%; }
.pv .pv-offer { position: relative; margin: 18px auto 0; font-size: 15px; color: var(--pv-ink-2); }
.pv .pv-offer b { color: var(--pv-good); }
.pv .pv-price s { font-size: 20px; font-weight: 500; color: var(--pv-faint); }
.pv .pv-tag { align-self: flex-start; margin-top: -10px; padding: 3px 10px; border-radius: 999px; background: var(--pv-amber-soft); color: var(--pv-amber); font-size: 12px; font-weight: 600; }
.pv .pv-plans-note { position: relative; max-width: 1112px; margin: 18px auto 0; font-size: 13.5px; color: var(--pv-muted); }

/* WordPress: every price */
.pv .pv-prices { display: grid; gap: 16px; }
.pv .pv-prices table { margin: 0; border: 1px solid var(--pv-line-2); border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.pv .pv-prices thead th { padding: 12px 16px; text-align: center; font: 600 12px var(--mono, ui-monospace, monospace); letter-spacing: .06em; text-transform: uppercase; color: var(--pv-faint); background: var(--pv-layer); border: 0; }
.pv .pv-prices thead th:first-child { text-align: start; }
.pv .pv-prices tbody tr:nth-child(odd) { background: none; }
.pv .pv-prices s { margin-inline-start: 4px; font-size: 14px; color: var(--pv-faint); }
.pv .pv-prices > p { font-size: 13.5px; color: var(--pv-muted); }

@media (max-width: 980px) {
	.pv[data-plans="3"] .pv-plans { grid-template-columns: 1fr; max-width: 560px; }
	.pv .pv-buys { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pv .pv-count { grid-template-columns: 1fr; }
	.pv .pv-box { grid-template-columns: 1fr; padding: 40px 28px; }
}
@media (max-width: 720px) {
	.pv .pv-wrap { padding-inline: 16px; }
	.pv .pv-hero { padding: 48px 0 40px; }
	.pv .pv-plans { grid-template-columns: 1fr; }
	.pv .pv-plan { padding: 26px 20px 22px; }
	.pv .pv-price b { font-size: 48px; }
	.pv .pv-custom { flex-wrap: wrap; }
	.pv .pv-custom .pv-btn { margin-left: 0; }
	.pv .pv-buys { grid-template-columns: 1fr; }
	.pv .pv-band { padding: 60px 0; }
	.pv .pv-faq { grid-template-columns: 1fr; }
	.pv .pv-seg { display: flex; width: 100%; }
	.pv .pv-seg { box-sizing: border-box; max-width: 100%; }
	/* Long labels (French, German) wrap inside their half instead of widening the page. */
	.pv .pv-seg button { flex: 1 1 0; min-width: 0; justify-content: center; flex-wrap: wrap; gap: 5px; padding: 8px 6px; font-size: 13px; white-space: normal; text-align: center; line-height: 1.25; }
	.pv .pv-seg em { padding: 2px 6px; }
	.pv .pv-ck { flex-direction: column; align-items: flex-start; gap: 4px; padding-inline: 4px 6px; font-size: 10.5px; }
	.pv .pv-ck .pv-link { font-size: 13px; }
	.pv .pv-p { flex-direction: column; gap: 0; margin-inline: 3px; padding: 8px 4px; }
	.pv .pv-p .pv-btn { display: none; }
	.pv tbody th { padding: 12px 6px; font-size: 14px; }
	.pv tbody th small { font-size: 12px; }
	.pv tbody td { padding: 12px 4px; font-size: 14.5px; }
	.pv .pv-g summary { padding: 16px 6px; font-size: 16px; }
	.pv .pv-final { padding: 60px 0 72px; }
	.pv[data-plans="3"] .pv-cmp-top { grid-template-columns: 31% 1fr 1fr 1fr; }
	.pv[data-plans="3"] col.pv-c1 { width: 31%; }
	.pv[data-plans="3"] tbody td { font-size: 13.5px; }
}
@media (prefers-reduced-motion: reduce) { .pv .pv-btn, .pv .pv-g summary::after { transition: none; } }
