/* ==========================================================================
   2026-09-30 — концепт: таможенные данные на шаге 2 для маршрутов вне ЕС (Украина).
   Блок 02 — список товаров (.psr-cx), блок 05 — документы (#customsCard),
   предпросмотр инвойса (.psr-cx-modal). Поля — штатные .input-field.rounded шага 2,
   здесь только раскладка и то, чего на странице ещё не было.
   ========================================================================== */

/* украинские подписи инвойса: в файлах Nunito Sans сайта нет кириллицы — браузер брал Inter.
   Кириллический набор того же Nunito Sans (Google Fonts, лицензия OFL), только для этих символов. */
@font-face {
	font-family: "Nunito Sans Cyrillic";
	font-style: normal;
	font-weight: 200 1000;
	font-display: swap;
	src: url("../../fonts/nunito-sans/NunitoSans-cyrillic.woff2") format("woff2");
	unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

.psr-cx { --cx-ink: #0f1115; --cx-muted: #6a7280; --cx-label: #4a5160; --cx-line: #eceff4; --cx-red: #F01A26; }

/* ---------- посылки из цены и что в них лежит ---------- */
.psr-cx-box {
	margin-top: 18px;
	padding: 14px 16px 12px;
	border: 1px solid var(--cx-line);
	border-radius: 14px;
	background: #fbfcfe;
}
.psr-cx-box + .psr-cx-box { margin-top: 12px; }
.psr-cx-box-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-bottom: 12px; }
.psr-cx-box-head i { align-self: center; color: var(--cx-red); font-size: 15px; }
.psr-cx-box-head b { color: var(--cx-ink); font-size: 14px; font-weight: 800; }
.psr-cx-box-head span { color: var(--cx-label); font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.psr-cx-box-head em { color: var(--cx-muted); font-size: 12px; font-style: normal; font-weight: 500; }
.psr-cx-box-foot { margin: 8px 0 0; color: var(--cx-muted); font-size: 12px; font-weight: 600; }
.psr-cx-box-foot.is-bad { color: var(--cx-red); }

/* одна строка: без колонки веса (вес = вес посылки из цены); две и больше — вес каждой строки */
.psr-cx-head,
.psr-cx-row {
	display: grid;
	grid-template-columns: minmax(0, 2.6fr) minmax(0, 1.3fr) 64px minmax(0, 1.05fr) minmax(0, 1.25fr) 36px;
	gap: 8px;
	align-items: start;
}
.psr-cx-box.is-multi .psr-cx-head,
.psr-cx-box.is-multi .psr-cx-row {
	grid-template-columns: minmax(0, 2.4fr) minmax(0, 1.25fr) 64px minmax(0, 1fr) minmax(0, .95fr) minmax(0, 1.2fr) 36px;
}
.psr-cx-box:not(.is-multi) .psr-cx-col-weight,
.psr-cx-box:not(.is-multi) .psr-cx-c-weight { display: none; }

.psr-cx-head {
	padding: 0 2px 8px;
	color: #16181d;
	font-size: 11px;
	font-weight: 700;
}

/* у сайта глобальное * { font-size } — подписи колонок задаём явно */
.psr-cx-head > span { font-size: 11px; }
.psr-cx-rows { display: grid; gap: 10px; }

.psr-cx-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; margin: 0; }
.psr-cx-lbl { display: none; color: #16181d; font-size: 11px; font-weight: 700; }
.psr-cx-lbl em { margin-left: 4px; color: var(--cx-muted); font-size: inherit !important; font-style: normal; font-weight: 600; }
/* «Brand and model» — вторая строка позиции, только для электроники (HS 84/85) */
.psr-cx-c-model { grid-column: 1 / 3; }
.psr-cx-lbl-on { display: block; }

.psr-cx .input-field { width: 100%; min-width: 0; }
.psr-cx input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
.psr-cx input[type="number"]::-webkit-outer-spin-button,
.psr-cx input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.psr-cx .psr-cx-c-qty input { text-align: center; padding-left: 6px; padding-right: 6px; }
.psr-cx select.input-field { padding-right: 26px; cursor: pointer; }

/* поле с «хвостом» справа: EUR / kg / Find — как .psr-price-cur у цены посылки */
.psr-cx-suffix { position: relative; display: block; }
.psr-cx-suffix .input-field { padding-right: 52px; }
.psr-cx-unit,
.psr-cx-find {
	position: absolute;
	top: 50%;
	right: 7px;
	transform: translateY(-50%);
	padding: 4px 8px;
	border: 0;
	border-radius: 8px;
	background: #fff1f2;
	color: var(--cx-red);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
}
.psr-cx-unit { pointer-events: none; }
.psr-cx-find { cursor: pointer; }
/* подсказка кода по описанию: «Suggested: 6110 11 90 · Use» — код подставляется только по клику */
.psr-cx-suggest { align-self: flex-start; padding: 0; border: 0; background: none; color: var(--cx-red); font-size: 11px !important; font-weight: 700; text-align: left; cursor: pointer; }
.psr-cx-suggest b { font-size: 11px; font-variant-numeric: tabular-nums; }
.psr-cx-suggest:hover { text-decoration: underline; text-underline-offset: 2px; }
.psr-cx-find:hover { background: #ffe1e4; }

.psr-cx-del {
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #9aa1ad;
	font-size: 14px;
	cursor: pointer;
	transition: color .15s, background-color .15s;
}
.psr-cx-del:hover { background: #fff1f2; color: var(--cx-red); }
.psr-cx-del[disabled] { visibility: hidden; }

.psr-cx-err { display: none; color: var(--cx-red); font-size: 11px; font-weight: 700; line-height: 1.3; }
.psr-cx-err.is-on { display: block; }
.psr-cx .input-field.is-bad,
#customsCard .input-field.is-bad { border-color: var(--cx-red) !important; }

/* «Add another product to this parcel» — тихая кнопка внутри посылки, чтобы не путалась с «Add another parcel» шага 1 */
.psr-cx-add {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	padding: 4px 2px;
	border: 0;
	background: none;
	color: var(--cx-red);
	font-size: 12.5px;
	font-weight: 800;
	cursor: pointer;
}
.psr-cx-add i { font-size: 13px; }
.psr-cx-add:hover { text-decoration: underline; text-underline-offset: 3px; }

/* итог */
.psr-cx-total {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin-top: 16px;
	padding: 14px 16px;
	border: 1px solid var(--cx-line);
	border-radius: 14px;
	background: #fbfcfe;
	font-variant-numeric: tabular-nums;
}
.psr-cx-total div { display: flex; align-items: baseline; gap: 8px; }
.psr-cx-total span { color: var(--cx-muted); font-size: 12px; font-weight: 600; }
.psr-cx-total b { color: var(--cx-ink); font-size: 16px; font-weight: 800; }
.psr-cx-total em { color: var(--cx-muted); font-size: 12px; font-style: normal; font-weight: 600; }
.psr-cx-total em.is-bad { color: var(--cx-red); }

.psr-cx-note {
	margin: 12px 0 0;
	padding: 12px 14px;
	border-radius: 12px;
	background: #fff7f7;
	color: #3b1417;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.45;
}
.psr-cx-note b { font-weight: 800; }

.psr-cx-hint {
	display: flex;
	gap: 8px;
	margin: 12px 0 0;
	color: var(--cx-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
}
.psr-cx-hint i { color: var(--cx-red); }

/* поиск HS-кода */
.psr-cx-hs-pop {
	position: absolute;
	z-index: 50;
	width: 340px;
	max-width: calc(100vw - 32px);
	padding: 10px;
	border: 1px solid #e6e8ec;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 40px -12px rgba(15, 17, 21, .22), 0 4px 10px rgba(15, 17, 21, .06);
}
.psr-cx-hs-pop .input-field { height: 36px; }
.psr-cx-hs-list { max-height: 260px; margin: 8px 0 0; padding: 0; overflow-y: auto; list-style: none; }
.psr-cx-hs-list li + li { border-top: 1px solid #f1f3f6; }
.psr-cx-hs-list button {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 9px 8px;
	border: 0;
	border-radius: 8px;
	background: none;
	color: var(--cx-ink);
	font-size: 12.5px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}
.psr-cx-hs-list button:hover,
.psr-cx-hs-list button:focus-visible { background: #fff5f5; }
.psr-cx-hs-list b { flex-shrink: 0; color: var(--cx-red); font-weight: 800; font-variant-numeric: tabular-nums; }
.psr-cx-hs-empty { padding: 10px 8px 4px; color: #6a7280; font-size: 12px; line-height: 1.4; }

/* ---------- блок 05 ---------- */
#customsCard { --cx-ink: #0f1115; --cx-muted: #6a7280; --cx-red: #F01A26; }
/* у колонок есть бутстраповский .d-flex (display: flex !important) — hidden иначе не прячет */
#customsCard [hidden],
.psr-cx [hidden] { display: none !important; }
#customsCard .psr-subsection-title { margin-top: 8px !important; }
#customsCard .psr-subsection-title ~ .psr-subsection-title { margin-top: 28px !important; }

.psr-cx-reasons { display: flex; flex-wrap: wrap; gap: 8px; }
.psr-cx-chip { position: relative; margin: 0; cursor: pointer; }
.psr-cx-chip input { position: absolute; opacity: 0; pointer-events: none; }
.psr-cx-chip span {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	border: 1px solid rgba(231, 234, 240, .95);
	border-radius: 999px;
	background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
	box-shadow: 0 1px 2px rgba(15, 17, 21, .04);
	color: #4a5160;
	font-size: 13px;
	font-weight: 700;
	transition: border-color .15s, color .15s;
}
.psr-cx-chip:hover span { border-color: rgba(15, 17, 21, .16); }
.psr-cx-chip input:checked + span { border-color: var(--cx-red); color: var(--cx-ink); box-shadow: 0 0 0 2px rgba(240, 26, 38, .08); }
.psr-cx-chip input:focus-visible + span { outline: 2px solid rgba(240, 26, 38, .35); outline-offset: 2px; }

.psr-cx-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.psr-cx-option {
	position: relative;
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 16px;
	border: 1px solid rgba(231, 234, 240, .95);
	border-radius: 14px;
	background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
	box-shadow: 0 1px 2px rgba(15, 17, 21, .04), 0 4px 10px -4px rgba(15, 17, 21, .08);
	cursor: pointer;
	transition: border-color .15s;
}
.psr-cx-option:hover { border-color: rgba(15, 17, 21, .16); }
.psr-cx-option:has(input:checked) { border-color: var(--cx-red); }
.psr-cx-option input { flex-shrink: 0; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--cx-red); }
.psr-cx-option-body { display: flex; flex-direction: column; gap: 5px; }
.psr-cx-option-title { color: var(--cx-ink); font-size: 14px; font-weight: 800; }
.psr-cx-option-text { color: var(--cx-muted); font-size: 12.5px; font-weight: 500; line-height: 1.45; }

.psr-cx-link {
	align-self: flex-start;
	padding: 0;
	border: 0;
	background: none;
	color: var(--cx-red);
	font-size: inherit;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.psr-cx-option .psr-cx-link { margin-top: 4px; font-size: 12.5px; }

.psr-cx-drop {
	margin-top: 12px;
	padding: 18px;
	border: 1.5px dashed #cfd5de;
	border-radius: 14px;
	background: #fbfcfe;
	text-align: center;
	transition: border-color .15s, background-color .15s;
}
.psr-cx-drop.is-over { border-color: var(--cx-red); background: #fff7f7; }
.psr-cx-drop-empty { color: #4a5160; font-size: 13px; line-height: 1.5; }
.psr-cx-drop-empty b { color: var(--cx-ink); font-weight: 800; }
.psr-cx-drop-empty small { display: block; margin-top: 2px; color: var(--cx-muted); font-size: 11.5px; }
.psr-cx-drop-file { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--cx-ink); font-size: 13px; font-weight: 700; }
.psr-cx-drop-file i { color: var(--cx-red); font-size: 20px; }

.psr-cx-help { color: var(--cx-muted); font-size: 11.5px; font-weight: 500; line-height: 1.4; }
.psr-cx-reason-note { margin: 12px 0 0; color: #4a5160; font-size: 12.5px; font-weight: 600; line-height: 1.45; }

/* компания, «Sign our invoice»: три шага строками, у выполненного — галочка */
.psr-cx-steps { display: grid; gap: 0; margin: 12px 0 0; padding: 0; border: 1px solid #eceff4; border-radius: 14px; background: #fff; list-style: none; counter-reset: cxstep; }
.psr-cx-step { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; counter-increment: cxstep; }
.psr-cx-step + .psr-cx-step { border-top: 1px solid #f0f2f5; }
.psr-cx-step-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.psr-cx-step-main b { color: #0f1115; font-size: 13px; font-weight: 800; }
.psr-cx-step-main b::before { content: counter(cxstep) ". "; color: #9aa1ad; }
.psr-cx-step.is-done .psr-cx-step-main b::before { content: "✓ "; color: #1a9f5b; }
.psr-cx-step-status { color: #6a7280; font-size: 12px; font-weight: 500; line-height: 1.4; }
.psr-cx-step.is-bad .psr-cx-step-status { color: #F01A26; font-weight: 700; }
.psr-cx-step-btn { display: inline-flex; flex-shrink: 0; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 1px solid rgba(240, 26, 38, .35); border-radius: 10px; background: #fff; color: #F01A26; font-size: 12.5px; font-weight: 800; cursor: pointer; }
.psr-cx-step-btn:hover { background: #fff7f7; }

/* проверка загруженного файла */
.psr-cx-checks { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; border: 0; }
.psr-cx-checks legend { margin: 0 0 4px; padding: 0; color: #0f1115; font-size: 13px; font-weight: 800; }
.psr-cx-checks label { display: flex; gap: 10px; align-items: flex-start; margin: 0; color: #0f1115; font-size: 12.5px; font-weight: 600; line-height: 1.45; cursor: pointer; }
.psr-cx-checks input { flex-shrink: 0; width: 17px; height: 17px; margin: 1px 0 0; accent-color: #F01A26; }
/* у сайта * { font-size } — тексты у галочек задаём явно */
.psr-cx-checks label > span,
.psr-cx-confirm > span { font-size: 13px; }
.psr-cx-checks legend { font-size: 13px !important; }
.psr-cx-esign-note { margin: 6px 0 0 28px; color: #6a7280; font-size: 12px; font-weight: 500; line-height: 1.45; }
.psr-cx-other { display: flex; flex-direction: column; gap: 4px; max-width: 420px; margin-top: 12px; }

.psr-cx-confirm {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 26px 0 0;
	color: var(--cx-ink);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	cursor: pointer;
}
.psr-cx-confirm input { flex-shrink: 0; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--cx-red); }
.psr-cx-err-confirm { margin-left: 28px; }
.psr-cx-foot { display: grid; gap: 6px; margin: 16px 0 0; padding: 0 0 0 18px; color: var(--cx-muted); font-size: 12px; font-weight: 500; line-height: 1.45; }
.psr-cx-foot li::marker { color: var(--cx-red); }

/* ---------- предпросмотр инвойса ---------- */
.psr-cx-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(15, 17, 21, .45);
}
.psr-cx-modal[hidden] { display: none; }
.psr-cx-modal-box {
	display: flex;
	flex-direction: column;
	width: min(880px, 100%);
	max-height: calc(100vh - 48px);
	border-radius: 18px;
	background: #eef1f5;
	box-shadow: 0 30px 80px -20px rgba(15, 17, 21, .4);
	overflow: hidden;
}
.psr-cx-modal-bar,
.psr-cx-modal-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 20px;
	background: #fff;
}
.psr-cx-modal-bar { border-bottom: 1px solid #e6e8ec; color: #0f1115; font-size: 15px; font-weight: 800; }
.psr-cx-modal-foot { border-top: 1px solid #e6e8ec; color: #6a7280; font-size: 12px; font-weight: 600; }
.psr-cx-modal-x { width: 34px; height: 34px; border: 0; border-radius: 10px; background: transparent; color: #4a5160; cursor: pointer; }
.psr-cx-modal-x:hover { background: #f3f4f6; }
.psr-cx-modal-btn {
	flex-shrink: 0;
	height: 38px;
	padding: 0 18px;
	border: 0;
	border-radius: 8px;
	background: linear-gradient(135deg, #ff3b41 0%, #F01A26 50%, #c11018 100%);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}
.psr-cx-modal-btn i { margin-right: 6px; }
.psr-cx-modal-btn-ghost { border: 1px solid #e3e6ec; background: #fff; color: #4a5160; }
.psr-cx-modal-actions { display: flex; flex-shrink: 0; gap: 10px; }
.psr-cx-modal-scroll { flex: 1 1 auto; min-height: 0; padding: 24px; overflow: auto; overscroll-behavior: contain; }

/* сам документ: лист A4 (794 × 1123 px при 96 dpi), чёрно-белый, цвет — только у логотипа.
   На узком экране лист не перестраивается, а уменьшается целиком: zoom ставит скрипт */
.psr-inv {
	display: flex;
	flex-direction: column;
	width: 794px;
	min-height: 1123px;
	margin: 0 auto;
	padding: 52px 56px 34px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(15, 17, 21, .1);
	color: #111;
	font-family: "Nunito Sans", "Nunito Sans Cyrillic", sans-serif;
	font-size: 11.5px;
	line-height: 1.45;
	font-variant-numeric: tabular-nums;
}
/* у сайта есть глобальное * { font-size } — внутри листа и окна размер только наследуем, свои размеры ниже */
.psr-inv *,
.psr-cx-modal-bar *,
.psr-cx-modal-foot * { font-size: inherit; }
.psr-inv { box-sizing: border-box; }
/* у сайта * { font-family: "Nunito Sans", Inter } — кириллица уходила в Inter; в документе всё Nunito Sans */
.psr-inv,
.psr-inv * { font-family: "Nunito Sans", "Nunito Sans Cyrillic", sans-serif; }
.psr-inv h2, .psr-inv h3, .psr-inv p, .psr-inv dl, .psr-inv dd { margin: 0; }
.psr-cx-modal.is-fit .psr-inv { cursor: zoom-in; touch-action: manipulation; }
.psr-cx-modal.is-zoomed .psr-inv { cursor: zoom-out; touch-action: manipulation; }
.psr-cx-modal-tools { display: flex; align-items: center; gap: 6px; }
.psr-cx-modal-bar .psr-cx-modal-zoom { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid #e3e6ec; border-radius: 10px; background: #fff; color: #4a5160; font-size: 12.5px; font-weight: 800; cursor: pointer; }
.psr-cx-modal-bar .psr-cx-modal-zoom[hidden] { display: none; }
.psr-inv dt { color: #6b6b6b; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.psr-inv dd { font-weight: 700; }
/* двуязычные подписи, как в образце инвойса Nova Poshta: англ. сверху, укр. строкой ниже */
.psr-inv small { display: block; margin-top: 1px; color: #8a8a8a; font-size: 8px; font-weight: 600; letter-spacing: .02em; text-transform: none; }
.psr-inv-title small { margin-top: 3px; color: #555; font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.psr-inv-note small,
.psr-inv-decl small { margin-top: 2px; color: #555; font-size: 10px; font-weight: 500; letter-spacing: 0; }

.psr-inv-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 2px solid #111; }
.psr-inv-brand { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.psr-inv-brand[hidden] { display: none; }
.psr-inv-bird { width: 78px; height: 78px; object-fit: contain; }
.psr-inv-word { width: 150px; height: auto; }
.psr-inv-letterhead { max-width: 330px; }
.psr-inv-letterhead[hidden] { display: none; }
.psr-inv-letterhead b { display: block; font-size: 19px; font-weight: 800; line-height: 1.2; }
.psr-inv-letterhead span { display: block; margin-top: 6px; color: #555; font-size: 10px; line-height: 1.45; }
.psr-inv-esign[hidden] { display: none; }
.psr-inv-head { text-align: right; }
.psr-inv-title { font-size: 21px; font-weight: 800; letter-spacing: .08em; line-height: 1.1; }
.psr-inv-meta { display: flex; justify-content: flex-end; gap: 18px; margin-top: 10px; }
.psr-inv-meta div { display: flex; flex-direction: column; gap: 2px; }
.psr-inv-meta dd { font-size: 12.5px; }

.psr-inv-parties { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding: 20px 0; border-bottom: 1px solid #d6d6d6; }
.psr-inv-parties h3 { margin-bottom: 6px; color: #6b6b6b; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.psr-inv-parties p { font-size: 12px; line-height: 1.5; white-space: pre-line; }

.psr-inv-terms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 24px; padding: 16px 0; border-bottom: 1px solid #d6d6d6; }
.psr-inv-terms div { display: flex; flex-direction: column; gap: 3px; }

.psr-inv-table { width: 100%; margin-top: 18px; border-collapse: collapse; }
.psr-inv-table th { padding: 7px 5px; border-top: 1.5px solid #111; border-bottom: 1.5px solid #111; color: #111; font-size: 8.5px; font-weight: 800; letter-spacing: .06em; text-align: left; text-transform: uppercase; vertical-align: bottom; }
.psr-inv-table td { padding: 8px 5px; border-bottom: 1px solid #e1e1e1; vertical-align: top; }
.psr-inv-table th:first-child,
.psr-inv-table td:first-child { width: 26px; padding-left: 0; }
.psr-inv-table th:nth-child(n+5),
.psr-inv-table td:nth-child(n+5) { text-align: right; }
.psr-inv-table th:last-child,
.psr-inv-table td:last-child { padding-right: 0; }
.psr-inv-table td:nth-child(2) { font-weight: 700; }
/* коды, количество, единицы и суммы не переносим — переносится только описание */
.psr-inv-table td:nth-child(1),
.psr-inv-table td:nth-child(3),
.psr-inv-table td:nth-child(n+5) { white-space: nowrap; }

.psr-inv-sum { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 14px 0 0; }
.psr-inv-sum dl { display: grid; grid-template-columns: auto auto; gap: 5px 18px; align-items: baseline; }
.psr-inv-sum div { display: contents; }
.psr-inv-sum-total { min-width: 230px; padding: 10px 0 0; border-top: 1.5px solid #111; }
.psr-inv-sum-total dd { text-align: right; }
.psr-inv-sum-total div:last-child dt { color: #111; }
.psr-inv-sum-total div:last-child dd { font-size: 15px; font-weight: 800; }

.psr-inv-note { margin-top: 22px; padding: 10px 12px; border: 1px solid #d6d6d6; font-size: 11px; }
.psr-inv-decl { margin-top: 14px; font-size: 11px; }
.psr-inv-sign { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 22px; margin-top: 30px; }
.psr-inv-sign div { display: flex; flex-direction: column; gap: 8px; }
.psr-inv-sign span { color: #6b6b6b; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.psr-inv-sign b { min-height: 17px; font-size: 12px; }
.psr-inv-sign i { display: block; height: 30px; border-bottom: 1px solid #111; }
.psr-inv-sign div[hidden] { display: none; }
.psr-inv .psr-inv-esign { margin-top: 18px; color: #555; font-size: 9.5px; }
.psr-inv-esign small { color: #777; font-size: 8.5px; }
.psr-inv-esign small[hidden] { display: none; }
.psr-inv-foot { display: flex; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 12px; border-top: 1px solid #d6d6d6; color: #6b6b6b; font-size: 9px; }
.psr-inv-sign + .psr-inv-foot { margin-top: auto; }

/* уведомление вместо отправки формы в концепте */
.psr-cx-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	z-index: 100001;
	max-width: min(520px, calc(100vw - 32px));
	padding: 12px 18px;
	border-radius: 12px;
	background: #0f1115;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	box-shadow: 0 16px 40px -12px rgba(15, 17, 21, .45);
	transform: translateX(-50%);
}
.psr-cx-toast[hidden] { display: none; }

/* ---------- телефон и узкие экраны ---------- */
@media (max-width: 991.98px) {
	.psr-cx-head { display: none; }
	.psr-cx-rows { gap: 12px; }
	.psr-cx-row {
		position: relative;
		grid-template-columns: repeat(10, minmax(0, 1fr));
		gap: 10px;
		padding: 14px;
		border: 1px solid #eceff4;
		border-radius: 14px;
		background: #fbfcfe;
	}
	.psr-cx-lbl { display: block; }
	.psr-cx-c-descr { grid-column: 1 / -1; padding-right: 40px; }
	.psr-cx-c-model { grid-column: 1 / -1; }
	.psr-cx-c-hs { grid-column: span 5; }
	.psr-cx-c-origin { grid-column: span 5; }
	/* количество — узкое, цена и вес — шире: иначе плашка EUR/kg закрывает число */
	.psr-cx-c-qty { grid-column: span 3; }
	.psr-cx-c-price { grid-column: span 7; }
	.psr-cx-box.is-multi .psr-cx-c-qty { grid-column: span 2; }
	.psr-cx-box.is-multi .psr-cx-c-price { grid-column: span 4; }
	.psr-cx-box.is-multi .psr-cx-c-weight { grid-column: span 4; }
	.psr-cx-box { padding: 12px 10px; }
	/* рамка уже у посылки — у строк на телефоне своей рамки нет, несколько строк разделяет линия */
	.psr-cx-box .psr-cx-row { grid-template-columns: repeat(10, minmax(0, 1fr)); padding: 0; border: 0; background: none; }
	.psr-cx-box.is-multi .psr-cx-row + .psr-cx-row { padding-top: 14px; border-top: 1px solid #e6e9ef; }
	.psr-cx-box .psr-cx-del { top: -4px; right: -2px; }
	.psr-cx-box.is-multi .psr-cx-row + .psr-cx-row .psr-cx-del { top: 10px; }
	.psr-cx-del { position: absolute; top: 8px; right: 8px; }
	.psr-cx-options { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
	.psr-cx-step { flex-wrap: wrap; }
	.psr-cx-step-btn { width: 100%; justify-content: center; }
	.psr-cx-c-hs,
	.psr-cx-c-origin { grid-column: 1 / -1; }
	.psr-cx-total { gap: 6px 18px; }
	.psr-cx-modal { padding: 0; }
	.psr-cx-modal-box { max-height: 100vh; height: 100%; border-radius: 0; }
	.psr-cx-modal-scroll { padding: 12px; }
	.psr-cx-modal-foot span { display: none; }
}

/* ---------- печать / «Download PDF»: только лист инвойса ----------
   класс на <html>: у body сайта есть отступ сверху под фиксированную шапку — при печати его обнуляем */
@media print {
	@page { size: A4; margin: 0; }
	html.psr-cx-printing,
	html.psr-cx-printing body { height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
	html.psr-cx-printing body > *:not(#psrCxModal) { display: none !important; }
	html.psr-cx-printing #psrCxModal { position: static !important; display: block !important; padding: 0 !important; background: none !important; }
	html.psr-cx-printing .psr-cx-modal-box { display: block; width: auto; max-height: none; border-radius: 0; background: #fff; box-shadow: none; overflow: visible; }
	html.psr-cx-printing .psr-cx-modal-bar,
	html.psr-cx-printing .psr-cx-modal-foot { display: none !important; }
	html.psr-cx-printing .psr-cx-modal-scroll { padding: 0; overflow: visible; }
	/* border-box и чуть меньше 297 мм — иначе подвал уезжает на вторую страницу */
	html.psr-cx-printing .psr-inv { width: 210mm; max-width: none; min-height: 296mm; margin: 0; padding: 16mm 15mm 11mm; box-shadow: none; zoom: 1 !important; }
	html.psr-cx-printing .psr-inv * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
