/*
 * High-Conversion Checkout — buy button + popup checkout.
 *
 * Isolation: the popup is a <dialog id="ivcc-checkout"> appended to <body>. Every rule inside it is prefixed with
 * #ivcc-checkout and starts from a reset (all: revert), so global theme / page-builder rules (button, input, label,
 * a, h2, svg, box-sizing …) cannot change it. Colours come only from the tokens below — never from the theme.
 * Themes: light (default), dark (designed separately, not inverted), custom (merchant palette, validated server-side).
 */

/* ---------- Tokens ---------- */
.ivcc-buy-wrap, #ivcc-checkout, body.ivcc-standalone {
	--ivcc-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, Arial, sans-serif;
	--ivcc-accent: #2563eb;
	--ivcc-on-accent: #ffffff;
	--ivcc-radius: 8px;          /* CTA corner radius (square / rounded / pill) */
	--ivcc-field-radius: 6px;
	--ivcc-ink: #1a1f2c;         /* headings, values */
	--ivcc-text: #3d4452;        /* body text */
	--ivcc-muted: #5f6878;       /* secondary text — 5.6:1 on white */
	--ivcc-line: #e3e6eb;        /* dividers, container borders */
	--ivcc-bg: #ffffff;          /* sheet */
	--ivcc-soft: #f6f7f9;        /* subtle fills */
	--ivcc-input-bg: #ffffff;
	--ivcc-input-line: #878f9c;   /* 3.3:1 — form field boundary (WCAG 1.4.11) */
	--ivcc-link: #1d4ed8;
	--ivcc-focus: color-mix(in srgb, var(--ivcc-accent) 45%, transparent);
	--ivcc-backdrop: rgba(17, 24, 39, .48);
	--ivcc-shadow: 0 24px 60px -18px rgba(17,24,39,.35), 0 0 0 1px rgba(17,24,39,.06);
	--ivcc-err-bg: #fdf2f1; --ivcc-err-ink: #9b1c14; --ivcc-err-line: #f3c7c2;
	--ivcc-info-bg: #eff4fe; --ivcc-info-ink: #1e3a8a; --ivcc-info-line: #cbd9f7;
	--ivcc-warn-bg: #fdf3d8; --ivcc-warn-ink: #7c4a03;
	--ivcc-ok-bg: #e7f6ec; --ivcc-ok-ink: #166534;
	--ivcc-page-bg: #f3f4f6;
}
#ivcc-checkout[data-ivcc-tone="dark"], body.ivcc-standalone[data-ivcc-tone="dark"] {
	--ivcc-ink: #f3f4f6;
	--ivcc-text: #d4d8de;
	--ivcc-muted: #a2a9b4;       /* 7:1 on the sheet */
	--ivcc-line: #2d323b;
	--ivcc-bg: #17191e;
	--ivcc-soft: #1f2228;
	--ivcc-input-bg: #111317;
	--ivcc-input-line: #646b77;
	--ivcc-link: #93b4ff;
	--ivcc-focus: color-mix(in srgb, var(--ivcc-accent) 60%, #ffffff 10%);
	--ivcc-backdrop: rgba(0, 0, 0, .66);
	--ivcc-shadow: 0 24px 60px -18px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.07);
	--ivcc-err-bg: #2a1716; --ivcc-err-ink: #fca5a0; --ivcc-err-line: #5b2a26;
	--ivcc-info-bg: #16213a; --ivcc-info-ink: #bcd0ff; --ivcc-info-line: #2a3b63;
	--ivcc-warn-bg: #2b2210; --ivcc-warn-ink: #f2cf7a;
	--ivcc-ok-bg: #12291b; --ivcc-ok-ink: #7ddc9f;
	--ivcc-page-bg: #0e1013;
}

/* ---------- Buy button (inside the site's content; protected against typical content-area rules) ---------- */
.ivcc-buy-wrap { margin: 1em 0; max-width: 100%; box-sizing: border-box; }
.ivcc-align-center { text-align: center; }
.ivcc-align-right { text-align: right; }
.ivcc-buy-wrap a.ivcc-buy, .ivcc-buy-wrap button.ivcc-buy, form button.ivcc-buy, .ivcc-buy-wrap span.ivcc-buy {
	box-sizing: border-box !important; display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .25em .6em;
	width: auto; max-width: 100%; min-height: 44px; padding: .75em 1.4em; margin: 0; border: 0; border-radius: var(--ivcc-radius);
	background: var(--ivcc-accent); color: var(--ivcc-on-accent) !important; text-decoration: none !important; text-align: center; text-transform: none; text-shadow: none;
	font: 600 1rem/1.25 var(--ivcc-font); letter-spacing: 0; white-space: normal; overflow-wrap: anywhere;
	box-shadow: 0 1px 2px rgba(17,24,39,.14); cursor: pointer;
	transition: filter .15s ease, box-shadow .15s ease;
}
.ivcc-buy-wrap .ivcc-buy:hover { filter: brightness(1.06); box-shadow: 0 2px 6px rgba(17,24,39,.18); }
.ivcc-buy-wrap .ivcc-buy:focus-visible { outline: 3px solid var(--ivcc-focus); outline-offset: 2px; }
.ivcc-buy-wrap .ivcc-buy[aria-busy="true"] { opacity: .8; cursor: progress; }
.ivcc-buy-wrap .ivcc-buy__price { font-weight: 600; opacity: .9; font-variant-numeric: tabular-nums; }
.ivcc-buy-wrap .ivcc-buy__price::before { content: "·"; margin-right: .6em; opacity: .7; }
.ivcc-align-full a.ivcc-buy, .ivcc-w-full a.ivcc-buy, .ivcc-w-full span.ivcc-buy { display: flex; width: 100%; }
.ivcc-buy-wrap .ivcc-done-note { margin: 0; padding: .9em 1em; border-radius: var(--ivcc-field-radius); background: var(--ivcc-ok-bg); color: var(--ivcc-ok-ink); font: 500 .95rem/1.4 var(--ivcc-font); }
.ivcc-buy-wrap .ivcc-done-note a { color: inherit; font-weight: 600; }
.ivcc-admin-note { padding: .6em .8em; border: 1px dashed #b45309; background: #fffbeb; color: #78350f; font-size: .9em; }

/* ---------- Popup: isolation reset ---------- */
html.ivcc-lock { overflow: hidden; }
/* SVG is excluded: `all: revert` would also drop SVG presentation attributes (e.g. the path `d`), erasing icons. */
#ivcc-checkout, #ivcc-checkout *:not(svg, svg *), #ivcc-checkout *::before, #ivcc-checkout *::after { all: revert; box-sizing: border-box !important; }
#ivcc-checkout [hidden] { display: none !important; }
#ivcc-checkout {
	position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0;
	border: 0; background: transparent; color: var(--ivcc-ink); overflow: hidden;
	display: none; align-items: center; justify-content: center;
	font: 400 15px/1.5 var(--ivcc-font); letter-spacing: 0; text-transform: none; text-align: left;
	-webkit-font-smoothing: antialiased; color-scheme: light;
}
#ivcc-checkout[data-ivcc-tone="dark"] { color-scheme: dark; }
#ivcc-checkout[open] { display: flex; }
#ivcc-checkout::backdrop { background: rgba(17, 24, 39, .48); }
#ivcc-checkout[data-ivcc-tone="dark"]::backdrop { background: rgba(0, 0, 0, .66); }
#ivcc-checkout :is(p, h2, h3) { margin: 0; }
#ivcc-checkout button { font: inherit; color: inherit; cursor: pointer; }
#ivcc-checkout svg { display: inline-block; fill: currentColor; }

#ivcc-checkout .ivcc-sheet {
	position: relative; display: block; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 48px); overflow: auto; overscroll-behavior: contain;
	background: var(--ivcc-bg); color: var(--ivcc-ink); border-radius: 12px; padding: 24px 24px 18px; box-shadow: var(--ivcc-shadow);
	animation: ivcc-in .18s ease-out;
}
@keyframes ivcc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #ivcc-checkout .ivcc-sheet, #ivcc-checkout .ivcc-check-ico { animation: none; } .ivcc-buy-wrap .ivcc-buy, #ivcc-checkout .ivcc-btn { transition: none; } }

#ivcc-checkout .ivcc-x {
	position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; margin: 0;
	border: 0; border-radius: 6px; background: transparent; color: var(--ivcc-muted); font-size: 22px; line-height: 1;
}
#ivcc-checkout .ivcc-x:hover { background: var(--ivcc-soft); color: var(--ivcc-ink); }
#ivcc-checkout :is(.ivcc-x, .ivcc-btn, .ivcc-link, .ivcc-policy-toggle, a):focus-visible { outline: 2px solid var(--ivcc-focus); outline-offset: 2px; }

/* Header: product + price, like an order summary line. */
#ivcc-checkout .ivcc-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 2px 12px; align-items: start; padding-right: 36px; margin-bottom: 20px; }
#ivcc-checkout .ivcc-thumb { display: block; width: 48px; height: 48px; border-radius: 6px; object-fit: cover; grid-row: span 2; border: 1px solid var(--ivcc-line); }
#ivcc-checkout .ivcc-titles { min-width: 0; grid-column: 2; }
#ivcc-checkout .ivcc-head:not(:has(.ivcc-thumb)) .ivcc-titles { grid-column: 1 / span 2; }
#ivcc-checkout .ivcc-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 16px; font-weight: 600; line-height: 1.35; color: var(--ivcc-ink); overflow-wrap: anywhere; }
#ivcc-checkout .ivcc-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; font-size: 14px; line-height: 1.45; color: var(--ivcc-muted); }
#ivcc-checkout .ivcc-price { font-size: 20px; font-weight: 600; line-height: 1.3; white-space: nowrap; color: var(--ivcc-ink); font-variant-numeric: tabular-nums; }
#ivcc-checkout .ivcc-badge { grid-column: 1 / -1; justify-self: start; margin-top: 6px; padding: 1px 6px; border-radius: 4px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ivcc-warn-ink); background: var(--ivcc-warn-bg); }
#ivcc-checkout .ivcc-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

#ivcc-checkout .ivcc-alert { display: block; margin: 0 0 16px; padding: 10px 12px; border-radius: var(--ivcc-field-radius); background: var(--ivcc-err-bg); color: var(--ivcc-err-ink); border: 1px solid var(--ivcc-err-line); font-size: 14px; }
#ivcc-checkout .ivcc-alert--info { background: var(--ivcc-info-bg); color: var(--ivcc-info-ink); border-color: var(--ivcc-info-line); }
#ivcc-checkout .ivcc-step-title { margin: 0 0 14px; font-weight: 600; font-size: 15px; color: var(--ivcc-ink); }

/* Fields */
#ivcc-checkout .ivcc-label { display: block; margin: 0 0 6px; padding: 0; font-size: 14px; font-weight: 500; color: var(--ivcc-text); text-transform: none; }
#ivcc-checkout .ivcc-input {
	display: block; width: 100%; height: 44px; padding: 0 12px; margin: 0 0 14px;
	border: 1px solid var(--ivcc-input-line); border-radius: var(--ivcc-field-radius); background: var(--ivcc-input-bg); color: var(--ivcc-ink);
	font: 400 16px/1.2 var(--ivcc-font); box-shadow: 0 1px 1px rgba(17,24,39,.04); appearance: none;
	transition: border-color .15s, box-shadow .15s;
}
#ivcc-checkout .ivcc-input::placeholder { color: var(--ivcc-muted); opacity: .85; }
#ivcc-checkout .ivcc-input--described { margin-bottom: 6px; }
#ivcc-checkout .ivcc-input:focus { outline: 0; border-color: color-mix(in srgb, var(--ivcc-accent) 70%, var(--ivcc-input-line)); box-shadow: 0 0 0 3px var(--ivcc-focus); }
#ivcc-checkout .ivcc-input[aria-invalid="true"] { border-color: #d92d20; }
#ivcc-checkout .ivcc-help { display: block; margin: 0 0 16px; font-size: 13px; line-height: 1.45; color: var(--ivcc-muted); }
#ivcc-checkout .ivcc-help + .ivcc-help { margin-top: -12px; }
#ivcc-checkout .ivcc-check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; padding: 0; font-size: 13px; font-weight: 400; line-height: 1.45; color: var(--ivcc-text); text-transform: none; cursor: pointer; }
#ivcc-checkout .ivcc-check--quiet { color: var(--ivcc-muted); }
#ivcc-checkout .ivcc-check input { width: 16px; height: 16px; margin: 2px 0 0; flex: none; accent-color: var(--ivcc-accent); }
#ivcc-checkout .ivcc-fine { display: block; margin: 0 0 12px; font-size: 13px; color: var(--ivcc-muted); }
#ivcc-checkout .ivcc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
#ivcc-checkout .ivcc-lead { display: block; margin-bottom: 4px; }
#ivcc-checkout .ivcc-who { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 12px; margin-bottom: 16px; background: var(--ivcc-soft); border: 1px solid var(--ivcc-line); border-radius: var(--ivcc-field-radius); font-size: 14px; color: var(--ivcc-ink); }
#ivcc-checkout .ivcc-who span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#ivcc-checkout .ivcc-link { display: inline; padding: 2px 4px; margin: 0; border: 0; background: none; color: var(--ivcc-link); font: 500 14px/1.4 var(--ivcc-font); text-decoration: underline; text-underline-offset: 2px; text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); }
#ivcc-checkout a { color: var(--ivcc-link) !important; text-decoration: underline; text-underline-offset: 2px; }

/* Primary CTA (Pay / Continue / Done) — the one accent element. */
#ivcc-checkout .ivcc-btn {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 12px 16px; margin: 12px 0 0;
	border: 0; border-radius: min(var(--ivcc-radius), 24px); background: var(--ivcc-accent); color: var(--ivcc-on-accent);
	font: 600 16px/1.25 var(--ivcc-font); letter-spacing: 0; text-transform: none; text-align: center;
	box-shadow: 0 1px 2px rgba(17,24,39,.12); transition: filter .15s;
}
#ivcc-checkout .ivcc-btn:hover:not(:disabled) { filter: brightness(1.06); }
#ivcc-checkout .ivcc-btn:disabled { opacity: .5; cursor: not-allowed; }
#ivcc-checkout .ivcc-btn[aria-busy="true"] { cursor: progress; opacity: .8; }
#ivcc-checkout .ivcc-btn--ghost { background: transparent; color: var(--ivcc-ink); border: 1px solid var(--ivcc-input-line); box-shadow: none; }
#ivcc-checkout .ivcc-btn--paypal { background: #ffc439; color: #111111; } /* text fallback when the official PayPal button cannot load */

/* Payment methods: ONE container, rows separated by dividers (no nested boxes). */
#ivcc-checkout .ivcc-methods { display: block; border: 1px solid var(--ivcc-line); border-radius: 10px; background: var(--ivcc-bg); }
#ivcc-checkout .ivcc-method { display: block; min-width: 0; }
#ivcc-checkout .ivcc-method + .ivcc-method { border-top: 1px solid var(--ivcc-line); }
#ivcc-checkout .ivcc-method__head { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 14px; margin: 0; font-size: 15px; font-weight: 500; color: var(--ivcc-ink); text-transform: none; cursor: pointer; }
#ivcc-checkout .ivcc-method.is-active .ivcc-method__head { font-weight: 600; }
#ivcc-checkout .ivcc-method__head:has(input:focus-visible) { outline: 2px solid var(--ivcc-focus); outline-offset: -2px; border-radius: 9px; }
#ivcc-checkout .ivcc-method__head input { width: 18px; height: 18px; margin: 0; flex: none; accent-color: var(--ivcc-accent); }
#ivcc-checkout .ivcc-method__label { flex: 1; min-width: 0; }
#ivcc-checkout .ivcc-panel { display: block; min-width: 0; padding: 0 14px 16px; }
#ivcc-checkout .ivcc-panel > * { max-width: 100%; }
#ivcc-checkout .ivcc-methods--single { border: 0; background: transparent; }
#ivcc-checkout .ivcc-methods--single .ivcc-method__head { display: none; }
#ivcc-checkout .ivcc-methods--single .ivcc-panel { padding: 0; }
#ivcc-checkout .ivcc-ico { display: inline-block; width: 18px; height: 18px; vertical-align: -3px; fill: currentColor; }
#ivcc-checkout .ivcc-ico--m { width: 20px; height: 20px; flex: none; color: var(--ivcc-muted); }
#ivcc-checkout .ivcc-pp-mark { font: italic 700 14px/1 Verdana, Arial, sans-serif; color: #003087; }
#ivcc-checkout[data-ivcc-tone="dark"] .ivcc-pp-mark { color: #b9cdf5; }
#ivcc-checkout .ivcc-pe { display: block; min-height: 120px; }
#ivcc-checkout .ivcc-stripe, #ivcc-checkout .ivcc-paypal { display: block; min-width: 0; max-width: 100%; }
#ivcc-checkout .ivcc-paypal { min-height: 48px; }
/* Official PayPal web component: block, full width of the panel, never wider (its look is PayPal's). */
#ivcc-checkout paypal-button, #ivcc-checkout .ivcc-ppbtn { display: block; width: 100%; max-width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; }
#ivcc-checkout .ivcc-pp-help { display: block; margin: 10px auto 0; font-size: 13px; }
#ivcc-checkout .ivcc-sim { display: grid; gap: 8px; }
#ivcc-checkout .ivcc-sim .ivcc-btn { margin-top: 0; }
#ivcc-checkout .ivcc-sim-note { padding: 8px 10px; border-radius: var(--ivcc-field-radius); background: var(--ivcc-warn-bg); color: var(--ivcc-warn-ink); }

#ivcc-checkout .ivcc-loading { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 140px; color: var(--ivcc-muted); font-size: 14px; text-align: center; }
#ivcc-checkout .ivcc-loading--sm { min-height: 64px; }
#ivcc-checkout .ivcc-spin { display: inline-block; width: 18px; height: 18px; flex: none; border-radius: 50%; border: 2px solid var(--ivcc-line); border-top-color: var(--ivcc-accent); animation: ivcc-rot .8s linear infinite; }
@keyframes ivcc-rot { to { transform: rotate(360deg); } }
#ivcc-checkout .ivcc-fatal { padding: 16px 0 4px; text-align: center; color: var(--ivcc-text); }
#ivcc-checkout .ivcc-fatal p { margin: 0 0 6px; }

/* Success */
#ivcc-checkout .ivcc-success { padding: 4px 0 0; text-align: center; }
#ivcc-checkout .ivcc-check-ico { display: inline-block; width: 48px; height: 48px; padding: 11px; border-radius: 50%; background: var(--ivcc-ok-bg); fill: var(--ivcc-ok-ink); animation: ivcc-pop .3s ease-out; }
@keyframes ivcc-pop { from { transform: scale(.7); opacity: 0; } to { transform: none; opacity: 1; } }
#ivcc-checkout .ivcc-success__title { margin: 12px 0 4px; font-size: 19px; font-weight: 600; line-height: 1.3; color: var(--ivcc-ink); text-transform: none; letter-spacing: 0; }
#ivcc-checkout .ivcc-success p { margin: 0 0 6px; font-size: 14px; color: var(--ivcc-text); }
#ivcc-checkout .ivcc-success .ivcc-order-no { color: var(--ivcc-muted); font-variant-numeric: tabular-nums; }

/* Merchant trust message + in-checkout policy details (no second modal; checkout state is kept). */
#ivcc-checkout .ivcc-trust { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--ivcc-text); text-align: center; text-wrap: pretty; }
#ivcc-checkout .ivcc-trust__lead { white-space: nowrap; }
#ivcc-checkout .ivcc-trust__ico { display: inline-block; width: 1.15em; height: 1.15em; margin-right: .35em; vertical-align: -.22em; fill: var(--ivcc-ok-ink); }
#ivcc-checkout .ivcc-policy-toggle { display: inline; margin: 0 0 0 .4em; padding: 0 2px; border: 0; background: none; color: var(--ivcc-link); font: 500 13px/1.5 var(--ivcc-font); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
#ivcc-checkout .ivcc-policy { display: block; margin: 10px 0 0; padding: 12px 14px; max-height: 220px; overflow: auto; border: 1px solid var(--ivcc-line); border-radius: 8px; background: var(--ivcc-soft); color: var(--ivcc-text); font-size: 13px; line-height: 1.55; text-align: left; }
#ivcc-checkout .ivcc-policy p, #ivcc-checkout .ivcc-policy li { margin: 0 0 .6em; }
#ivcc-checkout .ivcc-policy ul, #ivcc-checkout .ivcc-policy ol { margin: 0 0 .6em; padding-left: 1.2em; }
#ivcc-checkout .ivcc-policy :is(h1, h2, h3, h4) { margin: .2em 0 .5em; font-size: 14px; font-weight: 600; color: var(--ivcc-ink); }
#ivcc-checkout .ivcc-policy__full { display: inline-block; margin-top: 4px; font-weight: 500; }

#ivcc-checkout .ivcc-foot { display: block; margin-top: 16px; }
#ivcc-checkout .ivcc-secure { display: block; margin: 0; font-size: 12px; line-height: 1.45; color: var(--ivcc-muted); text-align: center; text-wrap: pretty; }
#ivcc-checkout .ivcc-secure__lead { white-space: nowrap; }
#ivcc-checkout .ivcc-ico--lock { display: inline-block; width: 1em; height: 1em; margin-right: .3em; vertical-align: -.14em; fill: currentColor; }
#ivcc-checkout .ivcc-bot { display: block; margin: 4px 0 10px; }

/* Mobile: bottom sheet, full width, thumb-friendly; provider iframes get the full width. */
@media (max-width: 600px) {
	#ivcc-checkout { align-items: flex-end; }
	#ivcc-checkout .ivcc-sheet { width: 100%; max-height: 92dvh; border-radius: 14px 14px 0 0; padding: 20px 16px calc(16px + env(safe-area-inset-bottom)); animation-name: ivcc-up; }
	#ivcc-checkout .ivcc-x { top: 12px; right: 10px; }
	#ivcc-checkout .ivcc-panel { padding: 0 12px 14px; }
	#ivcc-checkout .ivcc-method__head { padding: 12px; }
	#ivcc-checkout .ivcc-price { font-size: 18px; }
	#ivcc-checkout .ivcc-thumb { width: 40px; height: 40px; }
	@keyframes ivcc-up { from { transform: translateY(32px); opacity: 0; } to { transform: none; opacity: 1; } }
}
@media (max-width: 360px) {
	#ivcc-checkout .ivcc-sheet { padding-left: 12px; padding-right: 12px; }
	#ivcc-checkout .ivcc-panel { padding-left: 8px; padding-right: 8px; }
}

/* ---------- Standalone checkout / utility pages (own template; no theme CSS) ---------- */
body.ivcc-standalone { margin: 0; min-height: 100vh; background: var(--ivcc-page-bg); font: 400 16px/1.6 var(--ivcc-font); color: var(--ivcc-ink); -webkit-font-smoothing: antialiased; }
body.ivcc-standalone *, body.ivcc-standalone *::before, body.ivcc-standalone *::after { box-sizing: border-box; }
.ivcc-page { display: flex; justify-content: center; padding: 48px 16px; }
.ivcc-card { width: min(520px, 100%); background: var(--ivcc-bg); border-radius: 12px; padding: 28px; box-shadow: var(--ivcc-shadow); overflow-wrap: anywhere; }
.ivcc-card--narrow { width: min(440px, 100%); text-align: center; }
.ivcc-card__img { display: block; width: 100%; max-height: 260px; object-fit: cover; border-radius: 8px; margin-bottom: 18px; }
.ivcc-card__title { margin: 0 0 8px; font-size: 22px; font-weight: 600; line-height: 1.3; }
.ivcc-card__desc { color: var(--ivcc-text); font-size: 15px; }
.ivcc-card h1 { font-size: 20px; font-weight: 600; }
@media (max-width: 480px) { .ivcc-page { padding: 16px 12px; } .ivcc-card { padding: 20px 16px; } }

/* [ivcc_order_summary] on post-purchase pages: neutral, follows the site theme's own text colour. */
.ivcc-order-summary { max-width: 560px; margin: 1em 0; padding: 14px 16px; border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: 8px; background: color-mix(in srgb, currentColor 4%, transparent); }
.ivcc-order-summary p { margin: 0; }
.ivcc-order-summary__title { font-weight: 600; }
.ivcc-order-summary__meta { opacity: .85; font-variant-numeric: tabular-nums; }
.ivcc-order-summary__test { margin-top: 6px !important; font-size: .8em; opacity: .75; }
