/* =====================================================================
   VegaWear Interactive Invoice — v1.1.3
   Palette follows vegawear.ir globals:
   #0B0B0C #141518 #1D1C21 #2A2B30 · cream #F2EEE7 #F5F2EC · gold #C9A96E #B8955A · muted #A9A49B

   Specificity plan
   - Per-style rules use .vgw-inv:where([data-style]) so Elementor controls
     ({{WRAPPER}} .vgw-inv .x) always win over them.
   - Interactive elements are "theme-proofed" against Hello/WooCommerce
     resets ([type=button]:focus pink, input widths, floats) via vars.
   ===================================================================== */

.vgw-inv {
	--i-gap: 22px;
	--i-radius: 18px;
	--i-step: 28px;
	--i-divider: solid;
	--i-ease: cubic-bezier(.22, .9, .24, 1);
	/* Elementor global fonts (vegawear: primary = Estedad, text = Peyda) */
	--i-head: var(--e-global-typography-primary-font-family, "Estedad"), "Estedad", Tahoma, sans-serif;
	--i-body: var(--e-global-typography-text-font-family, "Peyda"), "Peyda", Tahoma, sans-serif;
	position: relative;
	direction: rtl;
	text-align: right;
	font-family: var(--i-body);
	font-size: 14px;
	line-height: 1.6;
	-webkit-tap-highlight-color: transparent;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
.vgw-inv *, .vgw-inv *::before, .vgw-inv *::after { box-sizing: border-box; }
.vgw-inv [hidden] { display: none !important; }
.vgw-inv button, .vgw-inv input, .vgw-inv select, .vgw-inv textarea { font-family: inherit; letter-spacing: inherit; }

/* ---------- palettes (overridable from Elementor) ---------- */
.vgw-inv:where([data-style="paper"]) {
	--i-bg: #F5F2EC; --i-fg: #1D1C21; --i-muted: #7E786E; --i-accent: #B8955A;
	--i-line: rgba(29, 28, 33, .14); --i-btn: #1D1C21; --i-btn-fg: #F5F2EC;
	--i-stage: #141518; --i-maxw: 520px; --i-total: 34px;
	--f-bg: transparent; --f-bd: rgba(29, 28, 33, .28); --f-r: 0px; --f-bd-f: #1D1C21;
}
.vgw-inv:where([data-style="block"]) {
	--i-bg: #C9A96E; --i-fg: #141518; --i-muted: rgba(20, 21, 24, .66); --i-accent: #0B0B0C;
	--i-line: rgba(20, 21, 24, .2); --i-btn: #141518; --i-btn-fg: #F2EEE7;
	--i-stage: #141518; --i-maxw: 1040px; --i-total: clamp(64px, 9vw, 132px);
	--f-bg: rgba(245, 242, 236, .42); --f-bd: rgba(20, 21, 24, .16); --f-r: 12px;
	--f-bg-f: #F5F2EC; --f-bd-f: #141518; --f-lbl: rgba(20, 21, 24, .78);
	--st-bd: rgba(20, 21, 24, .45);
}
.vgw-inv:where([data-style="terminal"]) {
	--i-bg: #0B0B0C; --i-fg: #F2EEE7; --i-muted: #A9A49B; --i-accent: #C9A96E;
	--i-line: #2A2B30; --i-btn: #1D1C21; --i-btn-fg: #F2EEE7;
	--i-stage: #141518; --i-maxw: 760px; --i-total: 40px;
	--f-bg: #141518; --f-bd: #2A2B30; --f-r: 6px; --f-bg-f: #0B0B0C; --f-bd-f: #C9A96E;
	--st-r: 5px; --st-bd: #2A2B30; --st-bg-h: var(--i-accent); --st-bd-h: var(--i-accent); --st-fg-h: #0B0B0C;
}
/* checkout form gets more room */
.vgw-inv.is-form:where([data-style="paper"]) { --i-maxw: 640px; }
.vgw-inv.is-form:where([data-style="terminal"]) { --i-maxw: 820px; }
.vgw-inv.is-form:where([data-style="block"]) { --i-maxw: 1120px; --i-total: clamp(52px, 6vw, 96px); }

/* ---------- stage ---------- */
.vgw-inv__stage {
	position: relative;
	padding: 28px 24px 34px;
	border-radius: 22px;
	background:
		radial-gradient(120% 55% at 50% 118%, rgba(201, 169, 110, .18), transparent 62%),
		var(--i-stage);
	transition: background-color .6s ease;
}

/* ---------- switcher ---------- */
.vgw-inv__switchwrap { display: flex; justify-content: center; margin-bottom: 20px; }
.vgw-inv__switch {
	--sw-fg: #A9A49B; --sw-fg-h: #F2EEE7; --sw-fg-on: #141518;
	position: relative;
	display: inline-flex;
	max-width: 100%;
	gap: 2px;
	padding: 4px;
	border-radius: 999px;
	background: rgba(242, 238, 231, .06);
	border: 1px solid rgba(242, 238, 231, .09);
}
.vgw-inv .vgw-inv__switch button,
.vgw-inv .vgw-inv__switch button:is(:hover, :focus, :active) {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 7px 15px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	outline: none;
	color: var(--sw-fg);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color .35s ease;
}
@media (hover: hover) {
	.vgw-inv .vgw-inv__switch button:hover { color: var(--sw-fg-h); }
}
.vgw-inv .vgw-inv__switch button.is-on,
.vgw-inv .vgw-inv__switch button.is-on:is(:hover, :focus, :active) { color: var(--sw-fg-on); }
.vgw-inv .vgw-inv__switch button:focus-visible { outline: 2px solid #C9A96E; outline-offset: 2px; }
.vgw-inv__switch svg { width: 14px; height: 14px; flex: none; }
.vgw-inv__switch button[data-set="block"] svg { color: #C9A96E; }
.vgw-inv__switch-ind {
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 0;
	width: 0;
	border-radius: 999px;
	background: #F2EEE7;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .35);
	transition: transform .5s var(--i-ease), width .5s var(--i-ease);
}

/* ---------- card (layout grid; same DOM in all styles) ---------- */
.vgw-inv__card {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: var(--i-maxw);
	margin: 0 auto;
	padding: 34px 32px 30px;
	color: var(--i-fg);
	display: grid;
	gap: var(--i-gap);
	align-items: start;
	transition: color .5s ease;
}
.vgw-inv__paper {
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: var(--i-radius);
	background: var(--i-bg);
	transform-origin: 0 0;
	transition: background-color .5s ease;
	pointer-events: none;
}

/* heading */
.vgw-inv__head { grid-area: head; min-width: 0; }
.vgw-inv .vgw-inv__title {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: .28em;
	color: inherit;
	font-family: var(--i-head);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
}
.vgw-inv__no { font-weight: 300; opacity: .9; }
.vgw-inv__prompt, .vgw-inv__caret { display: none; }

.vgw-inv__lbl {
	display: block;
	color: var(--i-muted);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1.4;
}

.vgw-inv__dates { grid-area: dates; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.vgw-inv__kv b { display: block; font-weight: 700; font-size: 13px; }
.vgw-inv__kv--dot .vgw-inv__lbl::before {
	content: "";
	display: inline-block;
	width: 6px; height: 6px;
	margin-inline-end: 5px;
	border-radius: 50%;
	background: var(--i-accent);
	vertical-align: middle;
}

.vgw-inv__parties { grid-area: parties; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vgw-inv__party b { display: block; font-size: 13px; font-weight: 700; margin-top: 2px; }
.vgw-inv__party span:not(.vgw-inv__lbl) { display: block; font-size: 12px; color: var(--i-muted); overflow-wrap: anywhere; }

/* table */
.vgw-inv__table { grid-area: table; min-width: 0; }
.vgw-inv__row {
	--cols: minmax(0, 1fr) auto minmax(6em, auto) minmax(7em, auto);
	display: grid;
	grid-template-columns: var(--cols);
	align-items: center;
	gap: 14px;
	padding-block: 11px;
	border-bottom: 1px var(--i-divider) var(--i-line);
	transition: border-color .5s ease, opacity .3s ease;
}
.vgw-inv.no-unit .vgw-inv__row { --cols: minmax(0, 1fr) auto minmax(7em, auto); }
.vgw-inv.no-unit .c-unit { display: none; }
.vgw-inv__row--head { padding-block: 0 8px; border-bottom-style: solid; }
.vgw-inv__row--head > span { color: var(--i-muted); font-size: 11px; font-weight: 500; }
.vgw-inv__row .c-qty { justify-self: center; }
.vgw-inv__row .c-unit { justify-self: end; color: var(--i-muted); font-size: 12px; }
.vgw-inv__row .c-total { justify-self: end; font-weight: 700; }
.vgw-inv__row.is-leaving { pointer-events: none; }

.vgw-inv .c-name { display: flex; align-items: center; gap: 10px; min-width: 0; }
.vgw-inv .vgw-inv__img {
	width: 40px; height: 40px; flex: none;
	max-width: none;
	object-fit: cover;
	border-radius: 8px;
	background: var(--i-line);
}
.vgw-inv.no-img .vgw-inv__img { display: none; }
.vgw-inv__pinfo { min-width: 0; display: flex; flex-direction: column; }
.vgw-inv .vgw-inv__pname {
	color: inherit;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.45;
	text-decoration: none;
	overflow-wrap: anywhere;
}
@media (hover: hover) { .vgw-inv a.vgw-inv__pname:hover { color: var(--i-accent); } }
.vgw-inv__pmeta { color: var(--i-muted); font-size: 11px; line-height: 1.5; }

/* stepper (theme-proof) */
.vgw-inv__step { display: inline-flex; align-items: center; gap: 6px; }
.vgw-inv .vgw-inv__step button,
.vgw-inv .vgw-inv__step button:is(:hover, :focus, :active) {
	display: inline-grid;
	place-items: center;
	width: var(--i-step);
	height: var(--i-step);
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--st-bd, color-mix(in srgb, var(--i-fg) 30%, transparent));
	border-radius: var(--st-r, 50%);
	background: var(--st-bg, transparent);
	color: var(--st-fg, var(--i-fg));
	box-shadow: none;
	outline: none;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
@media (hover: hover) {
	.vgw-inv .vgw-inv__step button:not(:disabled):hover {
		background: var(--st-bg-h, var(--i-fg));
		color: var(--st-fg-h, var(--i-bg));
		border-color: var(--st-bd-h, var(--i-fg));
	}
}
.vgw-inv .vgw-inv__step button:active { transform: scale(.88); }
.vgw-inv .vgw-inv__step button:focus-visible { outline: 2px solid var(--i-accent); outline-offset: 2px; }
.vgw-inv .vgw-inv__step button:disabled { opacity: .3; cursor: not-allowed; }
.vgw-inv__step svg { width: 46%; height: 46%; }
.vgw-inv__step .i-trash { display: none; width: 56%; height: 56%; }
.vgw-inv__row.is-one.can-remove .i-minus { display: none; }
.vgw-inv__row.is-one.can-remove .i-trash { display: block; }
.vgw-inv__q { display: inline-block; min-width: 1.7em; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }
.vgw-inv__q--static { color: var(--i-muted); font-weight: 500; }

/* sums */
.vgw-inv__sums { grid-area: sums; display: grid; gap: 6px; min-width: 0; }
.vgw-inv__sum { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; }
.vgw-inv__sum-l { color: var(--i-muted); }
.vgw-inv__sum-l small { font-size: .85em; opacity: .85; }
.vgw-inv__sum-v { font-weight: 600; white-space: nowrap; }
.vgw-inv__sum.is-discount .vgw-inv__sum-v { color: var(--i-accent); }
.vgw-inv__sum[data-sum="shipping"].is-text .vgw-m { display: none; }
.vgw-inv__shiptext:empty { display: none; }

/* shipping method chooser (checkout) */
.vgw-inv .vgw-inv__shipopts { margin: 4px 0 8px; padding: 0; list-style: none; display: grid; gap: 6px; }
.vgw-inv .vgw-inv__shipopts li { margin: 0; padding: 0; list-style: none; }
.vgw-inv .vgw-inv__shipopts label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--f-bd);
	border-radius: max(var(--f-r), 8px);
	background: var(--f-bg);
	color: var(--i-fg);
	font-size: 13px;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease;
}
.vgw-inv .vgw-inv__shipopts label .vgw-m { margin-inline-start: auto; font-weight: 700; }
.vgw-inv .vgw-inv__shipopts input { margin: 0; accent-color: var(--i-accent); width: 16px; height: 16px; flex: none; }
.vgw-inv .vgw-inv__shipopts li:has(input:checked) label { border-color: var(--i-fg); }

/* grand total */
.vgw-inv__grand {
	grid-area: grand;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	min-width: 0;
}
.vgw-inv__amount {
	display: block;
	min-width: 0;
	font-family: var(--i-head);
	font-size: var(--i-total);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
	white-space: nowrap;
}
.vgw-inv__amount .vgw-m { align-items: baseline; }
.vgw-inv__amount .vgw-m__c { font-size: max(.32em, 12px); font-weight: 500; letter-spacing: 0; }
.vgw-inv__amount .vgw-m__d { font-size: .4em; font-weight: 500; }

/* money + rolling digits */
.vgw-m { display: inline-flex; align-items: baseline; gap: .3em; white-space: nowrap; }
.vgw-m__n, .vgw-m__d { font-variant-numeric: tabular-nums; unicode-bidi: isolate; }
.vgw-inv .vgw-m__d { position: static; top: auto; line-height: inherit; vertical-align: baseline; }
.vgw-m__c { font-size: .78em; opacity: .75; font-weight: 400; }
.vgw-roll { display: inline-block; position: relative; }
.vgw-roll__o { position: absolute; inset: 0; text-align: center; pointer-events: none; }

/* coupon (theme-proof) */
.vgw-inv__coupon { grid-area: coupon; display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.vgw-inv .vgw-inv__coupon input,
.vgw-inv .vgw-inv__coupon input:focus {
	flex: 1 1 140px;
	width: auto;
	min-width: 0;
	height: 42px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--cp-bd, var(--f-bd));
	border-radius: var(--cp-r, 999px);
	background: var(--cp-bg, var(--f-bg));
	color: var(--cp-fg, var(--i-fg));
	box-shadow: none;
	outline: none;
	font-size: 13px;
}
.vgw-inv .vgw-inv__coupon input:focus { border-color: var(--i-accent); }
.vgw-inv .vgw-inv__coupon input::placeholder { color: var(--i-muted); opacity: 1; }
.vgw-inv .vgw-inv__coupon-btn,
.vgw-inv .vgw-inv__coupon-btn:is(:hover, :focus, :active) {
	display: inline-flex;
	align-items: center;
	width: auto;
	height: 42px;
	min-height: 0;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--i-fg);
	border-radius: var(--cp-r, 999px);
	background: transparent;
	color: var(--i-fg);
	box-shadow: none;
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	cursor: pointer;
}
@media (hover: hover) {
	.vgw-inv .vgw-inv__coupon-btn:hover { background: var(--i-fg); color: var(--i-bg); }
}
.vgw-inv__chips { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 6px; }
.vgw-inv__chips:empty { display: none; }
.vgw-inv .vgw-inv__chip,
.vgw-inv .vgw-inv__chip:is(:hover, :focus, :active) {
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 3px 10px;
	border: 1px dashed var(--i-accent);
	border-radius: 999px;
	background: transparent;
	color: var(--i-fg);
	box-shadow: none;
	font-size: 12px;
	text-transform: none;
	cursor: pointer;
}

.vgw-inv__note { grid-area: note; margin: 0; color: var(--i-muted); font-size: 11.5px; line-height: 1.7; }

/* actions + buttons (theme-proof, colours through vars) */
.vgw-inv__actions { grid-area: actions; display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.vgw-inv__btn--primary { --b-bg: var(--i-btn); --b-fg: var(--i-btn-fg); --b-bd: transparent; --b-sh-h: 0 10px 26px rgba(0, 0, 0, .28); }
.vgw-inv__btn--pdf { --b-bg: transparent; --b-fg: var(--i-fg); --b-bd: color-mix(in srgb, var(--i-fg) 35%, transparent); --b-bd-h: var(--i-fg); }
.vgw-inv .vgw-inv__btn {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex: 1 1 auto;
	width: auto;
	min-height: 48px;
	margin: 0;
	padding: 8px 22px 8px 8px;
	border: 1px solid var(--b-bd);
	border-radius: 999px;
	background: var(--b-bg);
	color: var(--b-fg);
	box-shadow: var(--b-sh, none);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-align: right;
	text-transform: none;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	touch-action: manipulation;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s ease, box-shadow .25s ease;
}
.vgw-inv .vgw-inv__btn:is(:focus, :active, :visited) {
	background: var(--b-bg);
	color: var(--b-fg);
	border-color: var(--b-bd);
	box-shadow: var(--b-sh, none);
	text-decoration: none;
	outline: none;
}
@media (hover: hover) {
	.vgw-inv .vgw-inv__btn:hover {
		background: var(--b-bg-h, var(--b-bg));
		color: var(--b-fg-h, var(--b-fg));
		border-color: var(--b-bd-h, var(--b-bd));
		box-shadow: var(--b-sh-h, var(--b-sh, none));
		text-decoration: none;
	}
	.vgw-inv .vgw-inv__btn--primary:hover .vgw-inv__arrow { transform: translateX(-4px); }
}
.vgw-inv .vgw-inv__btn:focus-visible { outline: 2px solid var(--i-accent); outline-offset: 3px; }
.vgw-inv .vgw-inv__btn:active { transform: scale(.98); }
.vgw-inv__arrow,
.vgw-inv__pdf-ico {
	display: inline-grid;
	place-items: center;
	width: 32px; height: 32px; flex: none;
	border-radius: 50%;
	background: var(--b-fg);
	color: var(--b-bg);
	padding: 8px;
	transition: transform .3s var(--i-ease), background-color .25s ease, color .25s ease;
}
.vgw-inv__btn--pdf .vgw-inv__pdf-ico { background: var(--i-fg); color: var(--i-bg); }
.vgw-inv__pdf-ico svg, .vgw-inv__arrow { overflow: visible; }
.vgw-inv__pdf-ico svg { width: 100%; height: 100%; }
.vgw-inv__btn--pdf > span { position: relative; z-index: 1; }
.vgw-inv__pdf-bar {
	position: absolute !important;
	inset-block: 0;
	inset-inline-start: 0;
	width: calc(var(--p, 0) * 1%);
	background: color-mix(in srgb, var(--i-accent) 30%, transparent);
	z-index: 0 !important;
	transition: width .25s linear;
}
.vgw-inv__btn--pdf.is-busy { cursor: progress; }
.vgw-inv__btn--pdf.is-busy .vgw-inv__pdf-ico svg { animation: vgw-spin 1s linear infinite; }
.vgw-inv__btn--pdf.is-done .vgw-inv__pdf-ico { background: var(--i-accent); color: var(--i-bg); }
.vgw-inv .vgw-inv__btn.is-loading { opacity: .7; pointer-events: none; }

/* stamp */
.vgw-inv__stamp {
	position: absolute;
	inset-inline-end: 26px;
	bottom: 86px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 2px solid var(--i-stamp, var(--i-accent));
	border-radius: 10px;
	color: var(--i-stamp, var(--i-accent));
	font-size: 13px;
	font-weight: 800;
	transform: rotate(-11deg) scale(1.8);
	opacity: 0;
	pointer-events: none;
	mix-blend-mode: multiply;
}
.vgw-inv.is-stamped .vgw-inv__stamp { animation: vgw-stamp .55s var(--i-ease) forwards; }

/* hint, toast, empty */
.vgw-inv__hint { margin: 14px 0 0; text-align: center; color: #A9A49B; font-size: 11px; opacity: .8; }
.vgw-inv__toast {
	position: fixed;
	z-index: 99999;
	left: 50%;
	bottom: max(24px, env(safe-area-inset-bottom));
	width: max-content;
	max-width: min(92vw, 420px);
	padding: 10px 18px;
	border-radius: 999px;
	background: #1D1C21;
	color: #F2EEE7;
	border: 1px solid #2A2B30;
	font-size: 13px;
	text-align: center;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
	transform: translate(-50%, 20px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease, transform .3s var(--i-ease);
}
.vgw-inv__toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.vgw-inv__toast.is-error { border-color: #a14a3b; }
.vgw-inv__empty { display: grid; justify-items: center; gap: 14px; padding: 40px 10px; color: #F2EEE7; text-align: center; }
.vgw-inv__empty .vgw-inv__btn { flex: none; --b-bg: #C9A96E; --b-fg: #141518; }

/* =====================================================================
   CHECKOUT FORM (WooCommerce fields + payment inside the invoice)
   ===================================================================== */
.vgw-inv__form { grid-area: form; min-width: 0; display: grid; gap: 18px; }
.vgw-inv__pay { grid-area: pay; min-width: 0; display: grid; gap: 10px; }
.vgw-inv__card > .woocommerce-NoticeGroup,
.vgw-inv__card > .woocommerce-error,
.vgw-inv__card > .woocommerce-message,
.vgw-inv__card > .woocommerce-info { grid-area: notices; margin: 0; }
.vgw-inv__notices { grid-area: notices; }
.vgw-inv__notices:empty { display: none; }
.vgw-inv__sect { display: flex; align-items: center; gap: 10px; color: var(--i-fg); font-size: 13px; font-weight: 800; }
.vgw-inv__sect::after { content: ""; flex: 1; border-top: 1px var(--i-divider) var(--i-line); }

/* WooCommerce wrappers → our grid */
.vgw-inv .vgw-inv__form :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields, .woocommerce-account-fields) { margin: 0; padding: 0; }
.vgw-inv .vgw-inv__form :is(.woocommerce-billing-fields, .woocommerce-additional-fields) > h3 { display: none; }
.vgw-inv .vgw-inv__form :is(.col2-set, .col-1, .col-2) { float: none; width: auto; max-width: none; margin: 0; padding: 0; }
.vgw-inv .vgw-inv__form :is(.col2-set) { display: grid; gap: 18px; }
.vgw-inv .vgw-inv__form :is(.col2-set)::before, .vgw-inv .vgw-inv__form :is(.col2-set)::after { display: none; }
.vgw-inv .vgw-inv__form :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper, .create-account, .shipping_address) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 14px;
}
.vgw-inv .vgw-inv__form .shipping_address { margin-top: 12px; }
.vgw-inv .vgw-inv__form .shipping_address[style*="none"] { display: none !important; }
.vgw-inv .vgw-inv__form .form-row {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}
.vgw-inv .vgw-inv__form .form-row:is(.form-row-first, .form-row-last) { grid-column: span 1; }
.vgw-inv .vgw-inv__form .form-row::before, .vgw-inv .vgw-inv__form .form-row::after { display: none; }
.vgw-inv .vgw-inv__form .form-row > label {
	margin: 0;
	padding: 0;
	color: var(--f-lbl, var(--i-muted));
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}
.vgw-inv .vgw-inv__form .form-row label .required { color: var(--f-req, var(--i-accent)); text-decoration: none; border: 0; font-weight: 800; }
.vgw-inv .vgw-inv__form .form-row label .optional { font-weight: 400; opacity: .75; }
.vgw-inv .vgw-inv__form .woocommerce-input-wrapper { display: block; width: 100%; }
.vgw-inv .vgw-inv__form .form-row :is(input.input-text, textarea, select),
.vgw-inv .vgw-inv__form .form-row :is(input.input-text, textarea, select):focus {
	display: block;
	width: 100%;
	max-width: none;
	height: var(--f-h, 44px);
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--f-bd);
	border-radius: var(--f-r);
	background: var(--f-bg);
	color: var(--f-fg, var(--i-fg));
	box-shadow: none;
	outline: none;
	font-size: 14px;
	line-height: 1.4;
	text-align: right;
	transition: border-color .2s ease, background-color .2s ease;
	-webkit-appearance: none;
	appearance: none;
}
.vgw-inv .vgw-inv__form .form-row textarea,
.vgw-inv .vgw-inv__form .form-row textarea:focus { height: 84px; min-height: 84px; padding: 10px 12px; resize: vertical; }
.vgw-inv .vgw-inv__form .form-row :is(input.input-text, textarea, select):focus { border-color: var(--f-bd-f, var(--i-fg)); background: var(--f-bg-f, var(--f-bg)); }
.vgw-inv .vgw-inv__form .form-row :is(input.input-text, textarea)::placeholder { color: var(--f-ph, var(--i-muted)); opacity: .8; }
.vgw-inv .vgw-inv__form .form-row :is(input[type="tel"], input[type="email"], input[name*="postcode"]) { direction: ltr; text-align: right; }
.vgw-inv .vgw-inv__form .form-row.woocommerce-invalid :is(input.input-text, select) { border-color: #b4412f; }
.vgw-inv .vgw-inv__form .form-row.woocommerce-validated :is(input.input-text, select) { border-color: var(--f-bd); }
.vgw-inv .vgw-inv__form .form-row :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--i-accent); width: 16px; height: 16px; margin: 0 0 0 8px; vertical-align: middle; }
.vgw-inv .vgw-inv__form #ship-to-different-address { margin: 0; padding: 0; font-size: 13px; font-weight: 700; color: var(--i-fg); font-family: inherit; }
.vgw-inv .vgw-inv__form #ship-to-different-address label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.vgw-inv .vgw-inv__form #ship-to-different-address input { margin: 0; accent-color: var(--i-accent); width: 16px; height: 16px; }
.vgw-inv .vgw-inv__form .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 8px; color: var(--i-fg); }
/* select2 / selectWoo (country/state) */
.vgw-inv .vgw-inv__form .select2-container { width: 100% !important; }
.vgw-inv .vgw-inv__form .select2-container .select2-selection--single {
	height: var(--f-h, 44px);
	border: 1px solid var(--f-bd);
	border-radius: var(--f-r);
	background: var(--f-bg);
	outline: none;
}
.vgw-inv .vgw-inv__form .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 12px 0 32px;
	color: var(--f-fg, var(--i-fg));
	line-height: calc(var(--f-h, 44px) - 2px);
	text-align: right;
}
.vgw-inv .vgw-inv__form .select2-container .select2-selection--single .select2-selection__arrow { height: calc(var(--f-h, 44px) - 2px); left: 8px; right: auto; }
.vgw-inv .vgw-inv__form .select2-container .select2-selection__arrow b { border-top-color: var(--i-muted); }
.vgw-inv .vgw-inv__form .select2-container--focus .select2-selection--single,
.vgw-inv .vgw-inv__form .select2-container--open .select2-selection--single { border-color: var(--f-bd-f, var(--i-fg)); background: var(--f-bg-f, var(--f-bg)); }

/* paper fields: receipt-style underlines */
.vgw-inv:where([data-style="paper"]) .vgw-inv__form .form-row :is(input.input-text, textarea, select),
.vgw-inv:where([data-style="paper"]) .vgw-inv__form .form-row :is(input.input-text, textarea, select):focus,
.vgw-inv:where([data-style="paper"]) .vgw-inv__form .select2-container .select2-selection--single {
	border-width: 0 0 1px;
	border-style: dashed;
	padding-inline: 2px;
}
.vgw-inv:where([data-style="paper"]) .vgw-inv__form .form-row textarea { border-width: 1px; padding: 10px; }
/* terminal labels */
.vgw-inv:where([data-style="terminal"]) .vgw-inv__form .form-row > label::before { content: "--"; color: var(--i-accent); margin-inline-end: 4px; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__sect::before { content: "#"; color: var(--i-accent); }

/* payment (#payment from WooCommerce, theme-proof) */
.vgw-inv .vgw-inv__pay #payment { margin: 0; padding: 0; background: transparent; border-radius: 0; color: var(--i-fg); }
.vgw-inv .vgw-inv__pay #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	display: grid;
	gap: 8px;
	text-align: right;
}
.vgw-inv .vgw-inv__pay #payment ul.payment_methods::before, .vgw-inv .vgw-inv__pay #payment ul.payment_methods::after { display: none; }
.vgw-inv .vgw-inv__pay #payment ul.payment_methods li {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid var(--f-bd);
	border-radius: max(var(--f-r), 8px);
	background: var(--f-bg);
	list-style: none;
	line-height: 1.6;
	text-align: right;
	transition: border-color .2s ease;
}
.vgw-inv .vgw-inv__pay #payment ul.payment_methods li:has(> input:checked) { border-color: var(--i-fg); }
.vgw-inv .vgw-inv__pay #payment ul.payment_methods li > input { margin: 0 0 0 8px; accent-color: var(--i-accent); width: 16px; height: 16px; vertical-align: middle; }
.vgw-inv .vgw-inv__pay #payment ul.payment_methods li > label { display: inline; margin: 0; color: var(--i-fg); font-size: 13px; font-weight: 700; cursor: pointer; }
.vgw-inv .vgw-inv__pay #payment ul.payment_methods li img { max-height: 26px; width: auto; margin: 0 8px 0 0; vertical-align: middle; float: none; box-shadow: none; }
.vgw-inv .vgw-inv__pay #payment div.payment_box {
	margin: 8px 0 0;
	padding: 0;
	background: transparent;
	color: var(--i-muted);
	font-size: 12px;
	line-height: 1.7;
	border-radius: 0;
}
.vgw-inv .vgw-inv__pay #payment div.payment_box::before { display: none; }
.vgw-inv .vgw-inv__pay #payment div.payment_box p:last-child { margin-bottom: 0; }
.vgw-inv .vgw-inv__pay #payment div.form-row,
.vgw-inv .vgw-inv__pay #payment .place-order { float: none; margin: 10px 0 0; padding: 0; border: 0; }
.vgw-inv .vgw-inv__pay #payment .woocommerce-privacy-policy-text,
.vgw-inv .vgw-inv__pay #payment .woocommerce-terms-and-conditions-wrapper { color: var(--i-muted); font-size: 11.5px; line-height: 1.7; }
.vgw-inv .vgw-inv__pay #payment .woocommerce-privacy-policy-text p { margin: 0 0 6px; }
.vgw-inv .vgw-inv__pay #payment a { color: var(--i-fg); text-decoration: underline; text-underline-offset: 3px; }
.vgw-inv .vgw-inv__pay #payment .woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: 8px; color: var(--i-fg); font-size: 12.5px; cursor: pointer; }
.vgw-inv .vgw-inv__pay #payment .woocommerce-form__label-for-checkbox input { margin: 3px 0 0; accent-color: var(--i-accent); width: 16px; height: 16px; flex: none; }
.vgw-inv .vgw-inv__pay #payment .woocommerce-info,
.vgw-inv .vgw-inv__pay #payment .woocommerce-notice { margin: 0; padding: 10px 12px; border: 1px dashed var(--f-bd); border-radius: 8px; background: transparent; color: var(--i-muted); font-size: 12px; }
.vgw-inv .vgw-inv__pay #payment .woocommerce-info::before { display: none; }
/* our styled button replaces WooCommerce's #place_order (still clicked under the hood) */
.vgw-inv.has-place .vgw-inv__pay #payment #place_order {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	border: 0 !important;
	opacity: 0 !important;
}
.vgw-inv:not(.has-place) .vgw-inv__pay #payment #place_order {
	float: none;
	width: 100%;
	min-height: 50px;
	margin-top: 12px;
	border: 0;
	border-radius: 999px;
	background: var(--i-btn);
	color: var(--i-btn-fg);
	font-weight: 700;
	font-size: 14px;
}
.vgw-inv .vgw-inv__card.processing { pointer-events: none; }
.vgw-inv .vgw-inv__card .blockUI.blockOverlay { border-radius: var(--i-radius); }

/* =====================================================================
   STYLE 1 — PAPER (receipt)
   ===================================================================== */
.vgw-inv:where([data-style="paper"]) .vgw-inv__card {
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"notices notices"
		"head dates"
		"parties parties"
		"form form"
		"table table"
		"sums sums"
		"grand grand"
		"coupon coupon"
		"pay pay"
		"note note"
		"actions actions";
	filter: drop-shadow(0 22px 34px rgba(0, 0, 0, .45));
	padding-block: 40px 36px;
}
.vgw-inv:where([data-style="paper"]) .vgw-inv__paper {
	border-radius: 3px;
	--z: 7px;
	-webkit-mask:
		radial-gradient(var(--z) at 50% 0, #0000 97%, #000) 50% 0 / calc(var(--z) * 2.4) 51% repeat-x,
		radial-gradient(var(--z) at 50% 100%, #0000 97%, #000) 50% 100% / calc(var(--z) * 2.4) 51% repeat-x;
	mask:
		radial-gradient(var(--z) at 50% 0, #0000 97%, #000) 50% 0 / calc(var(--z) * 2.4) 51% repeat-x,
		radial-gradient(var(--z) at 50% 100%, #0000 97%, #000) 50% 100% / calc(var(--z) * 2.4) 51% repeat-x;
}
.vgw-inv:where([data-style="paper"]) .vgw-inv__dates { flex-direction: column; align-items: flex-end; text-align: left; gap: 4px; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__kv { text-align: left; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__kv b { font-size: 12px; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__sums { padding-top: 2px; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__grand { padding-top: 14px; border-top: 2px solid var(--i-fg); align-items: center; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__grand .vgw-inv__lbl { font-size: 14px; font-weight: 800; color: var(--i-fg); }
.vgw-inv:where([data-style="paper"]) .vgw-inv__row { --i-divider: dashed; --cols: minmax(0, 1fr) auto minmax(7em, auto); }
.vgw-inv:where([data-style="paper"]) .c-unit { display: none; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__row--head { border-bottom: 1px solid var(--i-fg); }
.vgw-inv:where([data-style="paper"]) .vgw-inv__actions { justify-content: flex-end; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__btn { flex: 0 1 auto; min-height: 44px; font-size: 13px; }
.vgw-inv.is-form:where([data-style="paper"]) .vgw-inv__btn--primary { flex: 1 1 auto; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__arrow,
.vgw-inv:where([data-style="paper"]) .vgw-inv__pdf-ico { width: 28px; height: 28px; padding: 7px; }
.vgw-inv:where([data-style="paper"]) .vgw-inv__sect { --i-divider: dashed; }

/* =====================================================================
   STYLE 2 — BLOCK (bold gold poster)
   ===================================================================== */
.vgw-inv:where([data-style="block"]) .vgw-inv__card {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
	grid-template-areas:
		"notices notices"
		"head parties"
		"dates table"
		"dates sums"
		"grand coupon"
		"grand note"
		"grand actions";
	column-gap: clamp(24px, 4vw, 56px);
	row-gap: 16px;
	padding: clamp(24px, 3.4vw, 44px);
}
/* checkout: summary on the start side, form + payment on the other */
.vgw-inv.is-form:where([data-style="block"]) .vgw-inv__card {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	grid-template-areas:
		"notices notices"
		"head form"
		"dates form"
		"table form"
		"sums form"
		"grand pay"
		"coupon pay"
		"note actions";
	row-gap: 18px;
}
.vgw-inv.is-form:where([data-style="block"]) .vgw-inv__form { align-self: stretch; }
.vgw-inv:where([data-style="block"]) .vgw-inv__title { font-size: clamp(30px, 4vw, 48px); font-weight: 800; letter-spacing: -.03em; }
.vgw-inv:where([data-style="block"]) .vgw-inv__no { font-weight: 300; }
.vgw-inv:where([data-style="block"]) .vgw-inv__kv b { font-size: 15px; font-weight: 800; }
.vgw-inv:where([data-style="block"]) .vgw-inv__grand {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	align-self: end;
	gap: 6px;
	padding-top: 18px;
	border-top: 1px solid var(--i-line);
}
.vgw-inv:where([data-style="block"]) .vgw-inv__grand .vgw-inv__lbl { font-size: 13px; font-weight: 700; color: var(--i-fg); }
.vgw-inv:where([data-style="block"]) .vgw-inv__amount { max-width: 100%; letter-spacing: -.045em; font-weight: 900; }
.vgw-inv:where([data-style="block"]) .vgw-inv__amount .vgw-m__c { font-size: max(.16em, 13px); font-weight: 700; }
.vgw-inv:where([data-style="block"]) .vgw-inv__amount .vgw-m__d { font-size: .28em; font-weight: 700; align-self: flex-start; }
.vgw-inv:where([data-style="block"]) .c-unit { display: none; }
.vgw-inv:where([data-style="block"]) .vgw-inv__row { --cols: minmax(0, 1fr) auto minmax(7em, auto); padding-block: 9px; }
.vgw-inv:where([data-style="block"]) .vgw-inv__row .c-total { font-weight: 800; }
.vgw-inv:where([data-style="block"]) .vgw-inv__img { width: 34px; height: 34px; border-radius: 6px; mix-blend-mode: multiply; }
.vgw-inv:where([data-style="block"]) .vgw-inv__sum { font-size: 12.5px; }
.vgw-inv:where([data-style="block"]) .vgw-inv__sum-l { color: var(--i-fg); opacity: .7; }
.vgw-inv:where([data-style="block"]) .vgw-inv__actions { align-self: end; }
.vgw-inv:where([data-style="block"]) .vgw-inv__btn { min-height: 54px; }
.vgw-inv:where([data-style="block"]) .vgw-inv__btn--pdf { --b-bd: rgba(20, 21, 24, .5); }
.vgw-inv:where([data-style="block"]) .vgw-inv__coupon { --cp-bd: rgba(20, 21, 24, .4); }
.vgw-inv:where([data-style="block"]) .vgw-inv__sum.is-discount .vgw-inv__sum-v { color: #6b1f12; }

/* =====================================================================
   STYLE 3 — TERMINAL
   ===================================================================== */
.vgw-inv:where([data-style="terminal"]) .vgw-inv__card {
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "notices" "head" "dates" "parties" "form" "table" "sums" "grand" "coupon" "pay" "note" "actions";
	padding-top: 62px;
	gap: 18px;
}
.vgw-inv:where([data-style="terminal"]) .vgw-inv__paper {
	border-radius: 14px;
	border: 1px solid #2A2B30;
	background:
		radial-gradient(circle at 20px 18px, #E26D5C 4.5px, transparent 5px),
		radial-gradient(circle at 38px 18px, #E2B45C 4.5px, transparent 5px),
		radial-gradient(circle at 56px 18px, #6FBF73 4.5px, transparent 5px),
		linear-gradient(#141518 0 36px, #2A2B30 36px 37px, var(--i-bg) 37px);
	box-shadow: 0 30px 60px rgba(0, 0, 0, .5);
}
.vgw-inv:where([data-style="terminal"]) .vgw-inv__title { font-size: 20px; font-weight: 500; letter-spacing: 0; gap: .5em; direction: ltr; justify-content: flex-end; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__prompt { display: inline; color: var(--i-accent); order: -1; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__t { direction: ltr; unicode-bidi: isolate; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__caret {
	display: inline-block;
	width: .55em;
	height: 1.05em;
	align-self: center;
	background: var(--i-accent);
	animation: vgw-blink 1s steps(1) infinite;
}
.vgw-inv:where([data-style="terminal"]) .vgw-inv__no { font-weight: 500; color: var(--i-accent); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__dates { gap: 4px 26px; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__kv { display: flex; gap: 8px; align-items: baseline; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__kv .vgw-inv__lbl::after { content: ":"; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__kv b { font-weight: 500; font-size: 12px; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__party b { font-weight: 500; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__lbl { font-size: 11px; letter-spacing: 0; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__row { --i-divider: dashed; padding-block: 8px; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__row--head > span.c-name::before { content: "# "; color: var(--i-accent); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__img { display: none; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__pname { font-weight: 500; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__row .c-total { font-weight: 500; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__q { font-weight: 500; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__sum { font-size: 12px; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__sum-v { font-weight: 500; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__grand { padding-top: 14px; border-top: 1px solid var(--i-line); align-items: baseline; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__grand .vgw-inv__lbl { font-size: 12px; color: var(--i-fg); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__grand .vgw-inv__lbl::before { content: "> "; color: var(--i-accent); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__amount { font-weight: 300; letter-spacing: -.02em; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__amount .vgw-m__d { color: var(--i-accent); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__note::before { content: "# "; color: var(--i-accent); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__btn { border-radius: 8px; min-height: 44px; font-weight: 500; font-size: 13px; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__btn--primary { --b-bd: var(--i-accent); --b-bg-h: var(--i-accent); --b-fg-h: #0B0B0C; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__arrow,
.vgw-inv:where([data-style="terminal"]) .vgw-inv__pdf-ico { border-radius: 5px; width: 28px; height: 28px; padding: 7px; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__btn--pdf { --b-bd: #2A2B30; --b-bd-h: var(--i-accent); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__btn--pdf .vgw-inv__pdf-ico { background: #2A2B30; color: var(--i-accent); }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__coupon { --cp-r: 8px; --cp-bd: #2A2B30; }
.vgw-inv:where([data-style="terminal"]) .vgw-inv__stamp { border-radius: 6px; mix-blend-mode: normal; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.vgw-inv.is-form:where([data-style="block"]) .vgw-inv__card {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "notices" "head" "dates" "form" "table" "sums" "grand" "coupon" "pay" "note" "actions";
	}
	.vgw-inv.is-form:where([data-style="block"]) .vgw-inv__grand { align-self: stretch; }
}
@media (max-width: 860px) {
	.vgw-inv:where([data-style="block"]) .vgw-inv__card {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "notices" "head" "dates" "parties" "form" "table" "sums" "grand" "coupon" "pay" "note" "actions";
	}
	.vgw-inv:where([data-style="block"]) .vgw-inv__grand { align-self: stretch; }
}
@media (max-width: 767px) {
	/* iOS zooms into any field under 16px — keep them at 16px on phones */
	.vgw-inv .vgw-inv__coupon input,
	.vgw-inv .vgw-inv__coupon input:focus,
	.vgw-inv .vgw-inv__form .form-row :is(input.input-text, textarea, select),
	.vgw-inv .vgw-inv__form .form-row :is(input.input-text, textarea, select):focus,
	.vgw-inv .vgw-inv__form .select2-container .select2-selection__rendered { font-size: 16px; }
	.vgw-inv { --i-step: 34px; }
}
@media (max-width: 560px) {
	.vgw-inv__stage { padding: 14px 8px 20px; border-radius: 18px; }
	.vgw-inv__card { padding: 24px 16px 22px; --i-gap: 18px; }
	.vgw-inv:where([data-style="paper"]) .vgw-inv__card { padding-block: 32px 30px; }
	.vgw-inv:where([data-style="block"]) .vgw-inv__card { padding: 22px 16px; }
	.vgw-inv:where([data-style="terminal"]) .vgw-inv__card { padding-top: 52px; }
	.vgw-inv:where([data-style="paper"]) .vgw-inv__card {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "notices" "head" "dates" "parties" "form" "table" "sums" "grand" "coupon" "pay" "note" "actions";
	}
	.vgw-inv:where([data-style="paper"]) .vgw-inv__dates { flex-direction: row; align-items: flex-start; text-align: right; }
	.vgw-inv:where([data-style="paper"]) .vgw-inv__kv { text-align: right; }
	.vgw-inv .vgw-inv__title { font-size: 24px; }
	.vgw-inv:where([data-style="block"]) .vgw-inv__title { font-size: 32px; }
	.vgw-inv:where([data-style="terminal"]) .vgw-inv__title { font-size: 18px; }
	.vgw-inv__parties { gap: 12px; }

	/* rows: name on top, qty + total below */
	.vgw-inv .vgw-inv__row,
	.vgw-inv.no-unit .vgw-inv__row,
	.vgw-inv:where([data-style]) .vgw-inv__row {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas: "name name" "qty total";
		row-gap: 10px;
		padding-block: 12px;
	}
	.vgw-inv__row .c-name { grid-area: name; }
	.vgw-inv__row .c-qty { grid-area: qty; justify-self: start; }
	.vgw-inv__row .c-total { grid-area: total; }
	.vgw-inv__row .c-unit { display: none; }
	.vgw-inv__row--head { display: none; }

	/* grand total stacks: label above, number full width */
	.vgw-inv:where([data-style]) .vgw-inv__grand { flex-direction: column; align-items: flex-start; gap: 8px; }
	.vgw-inv:where([data-style="paper"]) .vgw-inv__amount,
	.vgw-inv:where([data-style="terminal"]) .vgw-inv__amount { font-size: min(var(--i-total), 40px); }
	.vgw-inv:where([data-style="block"]) .vgw-inv__amount { font-size: min(var(--i-total), 64px); }

	.vgw-inv .vgw-inv__switch button,
	.vgw-inv .vgw-inv__switch button:is(:hover, :focus, :active) { padding: 8px 11px; gap: 5px; }
	.vgw-inv .vgw-inv__switch button span { font-size: 12px; }

	.vgw-inv .vgw-inv__form :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper, .create-account, .shipping_address) { grid-template-columns: minmax(0, 1fr); }
	.vgw-inv .vgw-inv__form .form-row:is(.form-row-first, .form-row-last) { grid-column: 1 / -1; }

	.vgw-inv__actions { flex-direction: column; }
	.vgw-inv:where([data-style]) .vgw-inv__btn { width: 100%; flex: 1 1 auto; min-height: 52px; }
	.vgw-inv__stamp { bottom: 150px; }
}
@media (max-width: 360px) {
	.vgw-inv .vgw-inv__switch button svg { display: none; }
	.vgw-inv__parties { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.vgw-inv *, .vgw-inv *::before, .vgw-inv *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ---------- keyframes ---------- */
@keyframes vgw-blink { 50% { opacity: 0; } }
@keyframes vgw-spin { to { transform: rotate(360deg); } }
@keyframes vgw-stamp {
	0% { opacity: 0; transform: rotate(-11deg) scale(1.8); }
	60% { opacity: 1; transform: rotate(-11deg) scale(.94); }
	100% { opacity: .92; transform: rotate(-11deg) scale(1); }
}

/* ---------- PDF capture + print ---------- */
.vgw-inv.is-capturing .vgw-inv__card { filter: none !important; }
.vgw-inv.is-capturing [data-pdf-ignore] { visibility: hidden; }
@media print {
	body.vgw-inv-printing * { visibility: hidden !important; }
	body.vgw-inv-printing .vgw-inv.is-printing .vgw-inv__card,
	body.vgw-inv-printing .vgw-inv.is-printing .vgw-inv__card * { visibility: visible !important; }
	body.vgw-inv-printing .vgw-inv.is-printing [data-pdf-ignore],
	body.vgw-inv-printing .vgw-inv.is-printing [data-pdf-ignore] * { visibility: hidden !important; }
	body.vgw-inv-printing .vgw-inv.is-printing .vgw-inv__card {
		position: fixed; top: 0; left: 0; right: 0; margin: 0 auto; filter: none;
	}
	.vgw-inv * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
