/*
 * uhl_customer_account — кабінет покупця, вітрина.
 *
 * Перенесено з погодженого макета (mockup/assets/cabinet.css) — лише те, що вже є на сторінках модуля;
 * решта переїжджає разом зі своїм екраном.
 *
 * Жетони --uxc-* — КОПІЯ дизайн-системи головної (uhl_home 2.97.32, core.css), оголошена на .uxa, а не на
 * :root і не через клас .uhl-home: стилі uhl_home на сторінках кабінету не вантажаться, а кабінет мусить
 * працювати й без нього («копія, а не залежність»). Значення не міняти «під кабінет» — лише слідом за
 * uhl_home. Шрифти Onest і Geologica сайт вантажить сам на всіх сторінках (uhl_header).
 *
 * Кільце фокуса — box-shadow, не outline: FilterVier глушить outline на всьому сайті з !important.
 */

.uxa,
.uxa-skip {
	--uxc-blue: #1f4f9e;
	--uxc-gold: #f5c518;
	--uxc-ink: #16243a;
	--uxc-ink2: #16222f;
	--uxc-ink3: #3c4859;
	--uxc-ink-head: #1e1e1e;
	--uxc-gold-cta: #fdd226;
	--uxc-gold-cta-hover: #f0c40f;
	--uxc-gold-eyebrow: #f5d049;
	--uxc-badge-hit-bg: #fdede0;
	--uxc-badge-hit-ink: #b34f00;
	--uxc-badge-new-bg: #e4f2f4;
	--uxc-badge-new-ink: #1a7884;
	--uxc-badge-sale: #e03131;
	--uxc-badge-sale-bg: #fbe6e6;
	--uxc-badge-sale-ink: #c72c2c;
	--uxc-mut: #5d6b7c;
	--uxc-mut2: #6d7785;
	--uxc-line: #e4e9f0;
	--uxc-line2: #e9eef5;
	--uxc-line3: #eef2f7;
	--uxc-tint: #f5f8fc;
	--uxc-tint2: #fbfcfe;
	--uxc-page: #f7f9fc;
	--uxc-in: 1480px;
	--uxc-pad: 24px;
	--ux-dur-fast: 180ms;
	--ux-ease: cubic-bezier(.4, 0, .2, 1);

	--uxa-r: 14px;          /* радіус панелей — як у карток категорій */
	--uxa-r-s: 10px;        /* пункти меню, поля */
	--uxa-side: 280px;
	--uxa-gap: 28px;
	--uxa-ring: 0 0 0 3px rgba(31, 79, 158, .32);
}

.uxa {
	display: block;
	padding-bottom: 64px;
	background: var(--uxc-page);
	font-family: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
	font-size: 16.5px;
	line-height: 1.5;
	color: var(--uxc-ink2);
	text-align: left;
}
.uxa [hidden] { display: none !important; }

/* Фон сторінки під кабінетом: між кабінетом і підвалом видно body теми іншого тону (так само робить uhl_home). */
body:has(#uxa) { background-color: #f7f9fc; }

.uxa-in {
	max-width: var(--uxc-in);
	margin: 0 auto;
	padding: 0 var(--uxc-pad);
}

/* Ширина сторінки — ті самі значення, що в uhl_home і uhl_category: normal 1480, wide 1760, full — від краю до
   краю з відступом 24 (типово, як шапка й підвал сайту). */
.uxa[data-width="wide"] { --uxc-in: 1760px; }
.uxa[data-width="full"] { --uxc-in: 100%; --uxc-pad: 24px; }

.uxa a:focus-visible,
.uxa button:focus-visible,
.uxa summary:focus-visible {
	outline: none;
	box-shadow: var(--uxa-ring);
}
.uxa h1[tabindex="-1"]:focus,
.uxa-main:focus { outline: none; }

/* «Перейти до кабінету» — скрипт переносить її на початок body, перед шапку з мегаменю. */
.uxa-skip {
	position: fixed;
	left: 16px;
	top: 12px;
	z-index: 2000;
	padding: 12px 18px;
	border-radius: 10px;
	background: var(--uxc-ink);
	color: #fff;
	font: 700 15px/1 'Onest', sans-serif;
	text-decoration: none;
	transform: translateY(-160%);
	transition: transform .18s;
}
.uxa-skip:focus { transform: none; color: #fff; text-decoration: none; outline: 3px solid var(--uxc-gold); outline-offset: 2px; }

/* ---- Крихти: розмітка теми, лише відступи ------------------------------ */
.uxa .uxa-crumbs {
	margin: 0;
	padding: 18px 0 14px;
	background: none;
}
/* Без крихт (0.13.21, типово) — той самий відступ від шапки сайту, що давали крихти. */
.uxa.is-flat .uxa-layout { padding-top: 24px; }

/* ---- Розкладка ----------------------------------------------------------- */
.uxa-layout {
	display: grid;
	grid-template-columns: var(--uxa-side) minmax(0, 1fr);
	gap: var(--uxa-gap);
	align-items: start;
}

/* ---- Ліва колонка -------------------------------------------------------- */
.uxa-side {
	position: sticky;
	top: 16px;
	background: #fff;
	border: 1px solid var(--uxc-line);
	border-radius: var(--uxa-r);
	padding: 18px 12px 12px;
}

.uxa-me {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 8px 16px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--uxc-line2);
}
.uxa-me__av {
	flex: none;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--uxc-blue);
	color: var(--uxc-gold);
	font: 700 16px/1 'Geologica', 'Onest', sans-serif;
	letter-spacing: .02em;
}
/* Колонка тексту не ширша за блок (0.13.25): у сітці з auto-колонкою break-word не зменшує мінімальну ширину, і email
   без пробілів (покупець без імені) розтягував колонку за межі. anywhere — запобіжник для задовгої частини до «@». */
.uxa-me__tx { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
.uxa-me__nm {
	font-size: 16px;
	font-weight: 700;
	color: var(--uxc-ink);
	line-height: 1.25;
	overflow-wrap: anywhere;
}
.uxa-me__co {
	font-size: 13.5px;
	color: var(--uxc-mut);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.uxa-nav { display: grid; gap: 2px; }

.uxa-nav__a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 9px 12px;
	border-radius: var(--uxa-r-s);
	font-size: 15.5px;
	font-weight: 500;
	color: var(--uxc-ink2);
	text-decoration: none;
	transition: background var(--ux-dur-fast) var(--ux-ease), color var(--ux-dur-fast) var(--ux-ease);
}
.uxa-nav__a:hover,
.uxa-nav__a:focus {
	background: var(--uxc-tint);
	color: var(--uxc-blue);
	text-decoration: none;
}
.uxa-nav__a[aria-current="page"] {
	background: #eaf0fa;
	color: var(--uxc-blue);
	font-weight: 700;
}
/* Золота риска — та сама, що в надзаголовках головної (.ux-eyebrow::before). */
.uxa-nav__a[aria-current="page"]::before {
	content: '';
	position: absolute;
	left: 0;
	top: 10px;
	bottom: 10px;
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: var(--uxc-gold);
}
.uxa-ic {
	flex: none;
	width: 22px;
	height: 22px;
}

.uxa-nav__a--out {
	margin-top: 6px;
	border-top: 1px solid var(--uxc-line2);
	border-radius: 0 0 var(--uxa-r-s) var(--uxa-r-s);
	padding-top: 14px;
	color: var(--uxc-mut);
}

/* ---- Екрани --------------------------------------------------------------- */
.uxa-main { min-width: 0; }

.uxa-scr__hd { margin-bottom: 22px; }
/* Заголовок — як .ux-h2 головної (h1-розмір), своїм класом. */
.uxa .uxa-h1 {
	margin: 0 0 6px;
	font-family: 'Geologica', 'Onest', system-ui, sans-serif;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.14;
	letter-spacing: -.015em;
	color: var(--uxc-ink-head);
}
.uxa-lead {
	margin: 0;
	font-size: 17px;
	color: var(--uxc-ink3);
}

/* Повідомлення з іншої сторінки («Дані збережено» після редагування). */
.uxa-flash {
	margin: 0 0 18px;
	padding: 12px 16px;
	border: 1px solid #bfe0e4;
	border-left: 4px solid var(--uxc-badge-new-ink);
	border-radius: var(--uxa-r-s);
	background: var(--uxc-badge-new-bg);
	color: var(--uxc-ink);
	font-size: 15px;
}

.uxa-card {
	background: #fff;
	border: 1px solid var(--uxc-line);
	border-radius: var(--uxa-r);
	padding: 22px 24px;
}
.uxa .uxa-card__t {
	margin: 0 0 12px;
	font: 700 19px/1.25 'Geologica', 'Onest', sans-serif;
	color: var(--uxc-ink-head);
}

/* ---- Огляд: дві колонки ------------------------------------------------ */
.uxa-ov {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 20px;
	align-items: start;
}
.uxa-ov__main, .uxa-ov__side { display: grid; gap: 20px; min-width: 0; }

/* ---- «Потрібна допомога?» ---------------------------------------------- */
.uxa-help__dep { margin: 0; font-size: 13.5px; color: var(--uxc-mut); }
.uxa-help__tel {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 2px 0 14px;
	font: 700 21px/1.3 'Geologica', 'Onest', sans-serif;
	color: var(--uxc-blue);
	text-decoration: none;
	white-space: nowrap;
}
.uxa-help__tel:hover { color: #163a73; text-decoration: none; }
.uxa-help__tel .uxa-ic { width: 20px; height: 20px; }

/* Номерів у відділу кілька (у шапці — 5): перший великим, решта розгортаються. */
.uxa-help__more { margin: -2px 0 12px; }
.uxa-help__more summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	font-size: 14px;
	font-weight: 700;
	color: var(--uxc-blue);
	cursor: pointer;
	list-style: none;
}
.uxa-help__more summary::-webkit-details-marker { display: none; }
.uxa-help__more summary::after {
	content: '';
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--ux-dur-fast) var(--ux-ease);
}
.uxa-help__more[open] summary::after { transform: rotate(-135deg) translateY(-1px); }
.uxa-help__more summary:focus-visible { border-radius: 6px; }
.uxa-help__tels { display: grid; gap: 2px; margin: 4px 0 0; padding: 0 0 0 28px; list-style: none; }
.uxa-help__tels a { display: inline-block; padding: 4px 0; font-size: 16px; font-weight: 700; color: var(--uxc-blue); text-decoration: none; white-space: nowrap; }
.uxa-help__tels a:hover { text-decoration: underline; }

/* Месенджери — вигляд як у вікні «Зв'язатися з нами» в шапці, своїм класом. */
.uxa-msgs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.uxa-msg {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 10px 4px 8px;
	border: 1px solid #e6ecf4;
	border-radius: var(--uxa-r-s);
	background: #fff;
	color: var(--uxc-ink);
	font-size: 12.5px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--ux-dur-fast) var(--ux-ease);
}
.uxa-msg:hover,
.uxa-msg:focus { border-color: #cdd9ea; color: var(--uxc-ink); text-decoration: none; }
.uxa-msg svg { display: block; width: 28px; height: 28px; flex: none; }

/* ==========================================================================
   Спільні деталі екранів: кнопки, статуси, надзаголовок, плашки
   ========================================================================== */
.uxa-vh {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.uxa-mut { color: var(--uxc-mut); }
.uxa-ok { color: #1f8a52; font-weight: 600; }
.uxa-bad { color: var(--uxc-badge-sale-ink); font-weight: 600; }
.uxa-card__n { margin-left: 4px; font: 500 14px/1 'Onest', sans-serif; color: var(--uxc-mut); }

/* Надзаголовок із золотою рискою — як .ux-eyebrow головної. */
.uxa .uxa-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--uxc-blue);
}
.uxa-eyebrow::before { content: ''; flex: none; width: 22px; height: 2px; background: var(--uxc-gold); }

/* Кнопки. Золота — головна дія (як кошик картки), синя — перехід далі, контурна — другорядне. Висота 44 — під палець. */
.uxa .uxa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-radius: var(--uxa-r-s);
	font: 700 15px/1.2 'Onest', sans-serif;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background var(--ux-dur-fast) var(--ux-ease), border-color var(--ux-dur-fast) var(--ux-ease), color var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-btn:hover { text-decoration: none; }
.uxa .uxa-btn:active { transform: scale(.98); }
.uxa .uxa-btn[disabled], .uxa .uxa-btn[aria-busy="true"] { opacity: .6; cursor: progress; transform: none; }
.uxa-btn .uxa-ic { width: 19px; height: 19px; }
.uxa .uxa-btn--gold { background: var(--uxc-gold-cta); color: var(--uxc-ink); }
.uxa .uxa-btn--gold:hover { background: var(--uxc-gold-cta-hover); color: var(--uxc-ink); }
.uxa .uxa-btn--blue { background: var(--uxc-blue); color: #fff; }
.uxa .uxa-btn--blue:hover { background: #163a73; color: #fff; }
.uxa .uxa-btn--line { background: #fff; border-color: #cfdaea; color: var(--uxc-blue); }
.uxa .uxa-btn--line:hover { border-color: var(--uxc-blue); color: var(--uxc-blue); }
.uxa .uxa-btn--s { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.uxa .uxa-btn--wide { width: 100%; min-height: 50px; font-size: 16px; }
.uxa .uxa-btn--s.uxa-btn--wide { min-height: 40px; font-size: 14px; }

/* Посилання-кнопка: другорядні дії (ТТН). */
.uxa .uxa-lnk {
	min-height: 40px;
	padding: 8px 2px;
	border: 0;
	background: none;
	font: 700 14.5px/1.2 'Onest', sans-serif;
	color: var(--uxc-blue);
	text-decoration: none;
	cursor: pointer;
}
.uxa .uxa-lnk:hover { color: #163a73; text-decoration: underline; }

/* Статус замовлення. Кольори — з бейджів картки головної: хіт → чекає, новинка → виконано, знижка → помилка. */
.uxa-st {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.uxa-st::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.uxa-st--new  { background: #eaf0fa; color: var(--uxc-blue); }
.uxa-st--work { background: var(--uxc-blue); color: #fff; }
.uxa-st--work::before { background: var(--uxc-gold); }
.uxa-st--paid { background: var(--uxc-badge-new-bg); color: var(--uxc-badge-new-ink); }
.uxa-st--done { background: var(--uxc-badge-new-bg); color: var(--uxc-badge-new-ink); }
.uxa-st--wait { background: var(--uxc-badge-hit-bg); color: var(--uxc-badge-hit-ink); }
.uxa-st--err  { background: var(--uxc-badge-sale-bg); color: var(--uxc-badge-sale-ink); }
.uxa-st--off  { background: var(--uxc-line3); color: var(--uxc-mut); }

/* Потребує дії: червоний лише в значку й рамці зліва, не заливкою — це прохання, а не аварія. */
.uxa-alert {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #f3cccc;
	border-left: 4px solid var(--uxc-badge-sale);
	border-radius: var(--uxa-r);
}
.uxa-alert__ic {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--uxc-badge-sale-bg);
	color: var(--uxc-badge-sale-ink);
}
.uxa-alert__tx { display: grid; gap: 3px; }
.uxa-alert__tx b { font-size: 16px; color: var(--uxc-ink); }
.uxa-alert__tx span { font-size: 14.5px; color: var(--uxc-ink3); line-height: 1.45; }
.uxa-alert__act { display: flex; gap: 8px; flex-wrap: wrap; }
.uxa-alert--off { border-color: var(--uxc-line); border-left-color: var(--uxc-mut2); }
.uxa-alert--off .uxa-alert__ic { background: var(--uxc-line3); color: var(--uxc-mut); }

/* ==========================================================================
   Замовлення: картка в огляді, кроки, рядки товарів
   ========================================================================== */
.uxa-ord__hd {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
.uxa .uxa-ord__no {
	margin: 10px 0 0;
	font: 700 24px/1.2 'Geologica', 'Onest', sans-serif;
	color: var(--uxc-ink-head);
}
.uxa-ord__no span {
	margin-left: 6px;
	font: 400 15px/1.2 'Onest', sans-serif;
	color: var(--uxc-mut);
}

/* Кроки статусу: кружечки на лінії. Пройдене — синє з галочкою, поточне — золоте кільце, майбутнє — сіре. */
.uxa .uxa-steps {
	display: grid;
	grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr));
	margin: 22px 0 6px;
	padding: 0;
	list-style: none;
}
.uxa-steps li {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 2px;
	text-align: center;
	font-size: 13px;
	color: var(--uxc-mut);
}
/* лінія — від центру цього кроку до центру наступного */
.uxa-steps li:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 14px;
	left: calc(50% + 18px);
	right: calc(-50% + 18px);
	height: 2px;
	background: var(--uxc-line);
}
.uxa-steps li.is-done:not(:last-child)::after { background: var(--uxc-blue); }
.uxa-steps i {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	margin-bottom: 6px;
	border-radius: 50%;
	border: 2px solid var(--uxc-line);
	background: #fff;
	color: #fff;
}
.uxa-steps i .uxa-ic { width: 16px; height: 16px; }
.uxa-steps .is-done i { background: var(--uxc-blue); border-color: var(--uxc-blue); }
.uxa-steps .is-now i { border: 3px solid var(--uxc-gold); box-shadow: 0 0 0 4px rgba(245, 197, 24, .22); }
.uxa-steps .is-err i { background: var(--uxc-badge-sale); border-color: var(--uxc-badge-sale); box-shadow: 0 0 0 4px var(--uxc-badge-sale-bg); }
.uxa-steps .is-err b, .uxa-steps .is-err span { color: var(--uxc-badge-sale-ink); }
.uxa-steps b { font-size: 14px; font-weight: 600; color: var(--uxc-ink3); }
.uxa-steps .is-done b, .uxa-steps .is-now b { color: var(--uxc-ink); }
.uxa-steps .is-now b { font-weight: 700; }

.uxa .uxa-ois {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--uxc-line2);
}
.uxa-oi {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--uxc-line2);
}
.uxa .uxa-oi__img {
	width: 72px;
	height: 56px;
	object-fit: contain;
	border-radius: 8px;
	background: var(--uxc-tint);
}
/* Заглушка фото: товар без зображення (вимкнений, видалений) — значок на тлі, а не зламаний <img>. */
.uxa .uxa-noimg {
	flex: none;
	display: grid;
	place-items: center;
	width: 56px;
	height: 44px;
	border-radius: 7px;
	background: var(--uxc-tint);
	color: #b8c5d8;
}
.uxa .uxa-oi__img.uxa-noimg { width: 72px; height: 56px; border-radius: 8px; }
.uxa-noimg .uxa-ic { width: 22px; height: 22px; }
.uxa-oi__tx { display: grid; gap: 2px; min-width: 0; }
.uxa-oi__tx > * { min-width: 0; overflow-wrap: break-word; }
.uxa .uxa-oi__nm { font-size: 15px; font-weight: 600; color: var(--uxc-ink); text-decoration: none; line-height: 1.35; }
.uxa a.uxa-oi__nm:hover { color: var(--uxc-blue); text-decoration: underline; }
.uxa-oi__op { font-size: 13px; color: var(--uxc-ink3); }
.uxa-oi__q { font-size: 13.5px; color: var(--uxc-mut); }
.uxa-oi__sum { font-size: 15.5px; color: var(--uxc-ink); white-space: nowrap; }

.uxa .uxa-ord__meta {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: 12px 24px;
	margin: 16px 0 0;
	align-items: end;
}
.uxa-ord__meta dt { font-size: 13px; font-weight: 500; color: var(--uxc-mut); }
.uxa-ord__meta dd { margin: 2px 0 0; font-size: 15px; color: var(--uxc-ink); line-height: 1.4; }
.uxa-ord__tot { text-align: right; }
.uxa-ord__tot dd { font: 700 24px/1.15 'Geologica', 'Onest', sans-serif; white-space: nowrap; }
.uxa-ord__act {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--uxc-line2);
}

/* Кілька активних замовлень в огляді — розгортні картки (<details>): відкрита — як картка вище, згорнута — рядок
   «номер, дата, статус, сума». Сума в рядку лише згорнутої: у відкритій вона внизу картки. */
.uxa-ords { display: grid; gap: 10px; }
/* Сторінки поточних замовлень (0.13.22) — вигляд пагінації модуля категорій; праворуч «Усі замовлення (N)». */
.uxa-ords__ft { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 4px; }
.uxa-pager { display: flex; flex-wrap: wrap; gap: 8px; }
.uxa-pager[hidden] { display: none; }
.uxa .uxa-pager__i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #dfe4ec;
	border-radius: 10px;
	background: #fff;
	font: 600 14px/1 'Onest', system-ui, sans-serif;
	color: var(--uxc-ink3);
	cursor: pointer;
	transition: border-color var(--ux-dur-fast) var(--ux-ease), color var(--ux-dur-fast) var(--ux-ease), background var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-pager__i:hover:not(:disabled):not([aria-current]) { border-color: var(--uxc-blue); color: var(--uxc-blue); }
.uxa .uxa-pager__i[aria-current="page"] { background: var(--uxc-blue); border-color: var(--uxc-blue); color: #fff; cursor: default; }
.uxa .uxa-pager__i:focus-visible { outline: 2px solid var(--uxc-blue); outline-offset: 2px; }
.uxa .uxa-pager__i:disabled { opacity: .4; cursor: default; }
.uxa-pager__i .uxa-ic { width: 16px; height: 16px; transform: rotate(-90deg); }
.uxa-pager__i[data-p="prev"] .uxa-ic { transform: rotate(90deg); }
/* Сторінки «Усі …» (0.13.23): посилання й неактивні «назад / далі» — той самий вигляд, що в кнопок вище. */
.uxa a.uxa-pager__i { text-decoration: none; }
.uxa .uxa-pager__i[aria-disabled="true"], .uxa .uxa-pager__i[aria-disabled="true"]:hover { opacity: .4; cursor: default; border-color: #dfe4ec; color: var(--uxc-ink3); }
.uxa-pager__gap { display: inline-flex; align-items: flex-end; justify-content: center; min-width: 18px; padding-bottom: 8px; color: var(--uxc-mut); }
.uxa-pagebar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 28px; }
.uxa-pagebar__res { font-size: 13px; color: var(--uxc-mut); }
@media (max-width: 575.98px) {
	.uxa-pagebar { flex-direction: column-reverse; align-items: stretch; }
	.uxa-pagebar .uxa-pager { justify-content: center; }
	.uxa-pagebar__res { text-align: center; }
}
/* Частини, які підміняє скрипт (пошук, фільтр, сторінки): обгортка не ламає розкладку панелі, список під час
   завантаження блідне. */
.uxa-swapc { display: contents; }
[data-uxa-swap="list"][aria-busy="true"] { opacity: .55; transition: opacity var(--ux-dur-fast) var(--ux-ease); }
.uxa a.uxa-seg__b { text-decoration: none; }
.uxa-seg__b[aria-current="page"] i { color: var(--uxc-blue); }
@media (max-width: 1023.98px), (pointer: coarse) {
	.uxa .uxa-pager__i { min-width: 44px; height: 44px; }
}
.uxa .uxa-ords__t { margin: 0 0 2px; }
.uxa .uxa-ord--fold:not([open]) { padding-top: 14px; padding-bottom: 14px; }
.uxa .uxa-ord__sum {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 8px 16px;
	list-style: none;
	cursor: pointer;
	border-radius: var(--uxa-r-s);
}
.uxa-ord__sum::-webkit-details-marker { display: none; }
.uxa .uxa-ord__sum:focus-visible { outline: none; box-shadow: var(--uxa-ring); }
.uxa .uxa-ord--fold .uxa-ord__no { margin: 0; font-size: 19px; }
.uxa-ord__stot { font: 700 17px/1.2 'Geologica', 'Onest', sans-serif; color: var(--uxc-ink); white-space: nowrap; }
.uxa-ord--fold[open] .uxa-ord__stot { visibility: hidden; }
.uxa .uxa-ord__chev { width: 20px; height: 20px; color: var(--uxc-mut); transition: transform var(--ux-dur-fast) var(--ux-ease); }
.uxa-ord--fold[open] .uxa-ord__chev { transform: rotate(180deg); }
.uxa-ord__sum:hover .uxa-ord__chev { color: var(--uxc-blue); }
.uxa-ord__body { margin-top: 6px; }
@media (max-width: 575.98px) {
	.uxa .uxa-ord__sum { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "no chev" "st tot"; }
	.uxa-ord__sum .uxa-ord__no { grid-area: no; }
	.uxa-ord__sum .uxa-st { grid-area: st; justify-self: start; }
	.uxa-ord__stot { grid-area: tot; }
	.uxa-ord__chev { grid-area: chev; }
	.uxa .uxa-ord--fold .uxa-ord__no { font-size: 17px; }
}

/* Перші кроки новачка — пронумеровані картки-посилання. */
.uxa .uxa-start { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
/* Огляд без активних замовлень (0.13.10): останнє замовлення рядком і перехід до всіх, під ним — кроки. */
.uxa-last { display: grid; gap: 10px; }
.uxa .uxa-last__all { justify-self: start; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--uxc-blue); text-decoration: none; }
.uxa .uxa-last__all:hover { text-decoration: underline; }
.uxa .uxa-last__all .uxa-ic { width: 16px; height: 16px; }
.uxa-last + .uxa-start { margin-top: 24px; }
/* Колонка огляду вужча за сторінку «Замовлення»: рядок останнього — завжди компактний (як у переліку нижче 1280 px), інакше кнопки ховаються під праву колонку. */
.uxa-last .uxa-orow { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "id st" "th sum" "act act"; gap: 12px 16px; }
.uxa-last .uxa-orow__id { grid-area: id; }
.uxa-last .uxa-orow__st { grid-area: st; }
.uxa-last .uxa-orow__th { grid-area: th; flex-wrap: wrap; }
.uxa-last .uxa-orow__nm { flex-basis: 100%; }
.uxa-last .uxa-orow__sum { grid-area: sum; }
.uxa-last .uxa-orow__act { grid-area: act; justify-content: flex-start; padding-top: 12px; border-top: 1px solid var(--uxc-line2); }
.uxa .uxa-start a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 2px 16px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--uxc-line);
	border-radius: var(--uxa-r);
	text-decoration: none;
	transition: border-color var(--ux-dur-fast) var(--ux-ease), box-shadow var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-start a:hover { border-color: #cdd9ea; box-shadow: 0 10px 22px -16px rgba(31, 79, 158, .45); text-decoration: none; }
.uxa-start__n {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--uxc-gold);
	color: var(--uxc-ink);
	font: 700 17px/1 'Geologica', 'Onest', sans-serif;
}
.uxa-start b { font-size: 17px; color: var(--uxc-ink); }
.uxa-start a > span:last-child { font-size: 14.5px; line-height: 1.45; color: var(--uxc-ink3); }

/* «Передзвоніть мені» */
.uxa-help__cb { display: grid; gap: 4px; margin: 0 0 14px; }
.uxa-help__cbn { margin: 0; text-align: center; font-size: 12.5px; color: var(--uxc-mut); }
.uxa-help__cbn.is-ok { color: #1f8a52; font-weight: 600; }
.uxa-help__cbn.is-bad { color: var(--uxc-badge-sale-ink); font-weight: 600; }

/* ==========================================================================
   Замовлення — перелік
   ========================================================================== */
.uxa-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}
/* Перемикач-сегменти: одна смуга з тлом, натиснутий — білий з тінню. */
.uxa-seg {
	display: inline-flex;
	gap: 4px;
	max-width: 100%;
	padding: 4px;
	border-radius: 12px;
	background: var(--uxc-line3);
	overflow-x: auto;
	scrollbar-width: none;
}
.uxa-seg::-webkit-scrollbar { display: none; }
.uxa .uxa-seg__b {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 8px 14px;
	border: 0;
	border-radius: 9px;
	background: none;
	color: var(--uxc-ink3);
	font: 600 14.5px/1 'Onest', sans-serif;
	white-space: nowrap;
	cursor: pointer;
}
.uxa .uxa-seg__b:hover { color: var(--uxc-blue); }
.uxa-seg__b i { font-style: normal; font-size: 12.5px; color: var(--uxc-mut); }
.uxa .uxa-seg__b[aria-pressed="true"] { background: #fff; color: var(--uxc-ink); box-shadow: 0 1px 3px rgba(22, 36, 58, .14); }
.uxa-seg__b[aria-pressed="true"] i { color: var(--uxc-blue); }

.uxa .uxa-search { position: relative; display: flex; align-items: center; flex: 0 1 320px; margin: 0; font-weight: 400; }
.uxa-search .uxa-ic { position: absolute; left: 13px; width: 19px; height: 19px; color: var(--uxc-mut); pointer-events: none; }
.uxa .uxa-search input {
	width: 100%;
	height: 46px;
	padding: 0 14px 0 42px;
	border: 1px solid #cfdaea;
	border-radius: var(--uxa-r-s);
	background: #fff;
	font: 400 15px/1 'Onest', sans-serif;
	color: var(--uxc-ink);
}
.uxa .uxa-search input:focus { outline: none; border-color: var(--uxc-blue); box-shadow: var(--uxa-ring); }

.uxa-olist { display: grid; gap: 10px; }
/* Рядок: номер і дата | статус | мініатюри | сума | дії. Колонки фіксовані, щоб статуси й суми стояли стовпчиком. */
.uxa-orow {
	display: grid;
	grid-template-columns: 150px 190px minmax(0, 1fr) 130px auto;
	align-items: center;
	gap: 16px;
	padding: 14px 18px;
	background: #fff;
	border: 1px solid var(--uxc-line);
	border-radius: var(--uxa-r);
	transition: border-color var(--ux-dur-fast) var(--ux-ease), box-shadow var(--ux-dur-fast) var(--ux-ease);
}
.uxa-orow:hover { border-color: #cdd9ea; box-shadow: 0 10px 22px -16px rgba(31, 79, 158, .45); }
.uxa-orow__id { display: grid; gap: 2px; }
.uxa .uxa-orow__no { font: 700 17px/1.2 'Geologica', 'Onest', sans-serif; color: var(--uxc-ink); text-decoration: none; }
.uxa .uxa-orow__no:hover { color: var(--uxc-blue); text-decoration: underline; }
.uxa-orow__dt { font-size: 13.5px; color: var(--uxc-mut); }
.uxa-orow__st .uxa-st { white-space: normal; }
.uxa-orow__th { display: flex; align-items: center; gap: 8px 14px; min-width: 0; }
.uxa-orow__pics { display: flex; align-items: center; gap: 6px; flex: 0 1 auto; min-width: 0; overflow: hidden; }
/* Назва — до двох рядків, «і ще N товарів» — дрібним рядком під нею: уміщається у звичну висоту рядка (0.13.15). */
.uxa-orow__nm { display: grid; gap: 2px; flex: 1 1 0; min-width: 140px; font-size: 14px; line-height: 1.3; color: var(--uxc-ink); }
.uxa-orow__nm b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; font-weight: 500; }
.uxa-orow__nm span { font-size: 13px; color: var(--uxc-mut); white-space: nowrap; }
.uxa .uxa-orow__th img { width: 56px; height: 44px; object-fit: contain; border-radius: 7px; background: var(--uxc-tint); }
.uxa-orow__sum { display: grid; gap: 1px; text-align: right; }
.uxa-orow__sum b { font-size: 16.5px; color: var(--uxc-ink); white-space: nowrap; }
.uxa-orow__sum span { font-size: 13px; color: var(--uxc-mut); }
.uxa-orow__act { display: flex; gap: 8px; justify-content: flex-end; }

.uxa-empty {
	display: grid;
	justify-items: center;
	gap: 6px;
	padding: 40px 20px;
	border: 2px dashed #d5dfee;
	border-radius: var(--uxa-r);
	text-align: center;
	color: var(--uxc-ink3);
}
.uxa-empty b { font-size: 17px; color: var(--uxc-ink); }
.uxa-empty p { max-width: 460px; margin: 0 0 8px; line-height: 1.5; }
.uxa-empty__ic {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: #eaf0fa;
	color: var(--uxc-blue);
}
.uxa-empty__ic .uxa-ic { width: 26px; height: 26px; }
.uxa-empty__act { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* ==========================================================================
   Замовлення — сторінка
   ========================================================================== */
.uxa .uxa-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	margin: -6px 0 6px;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--uxc-blue);
	text-decoration: none;
}
.uxa .uxa-back:hover { color: #163a73; text-decoration: none; }
.uxa-back .uxa-ic { width: 18px; height: 18px; transition: transform var(--ux-dur-fast) var(--ux-ease); }
.uxa-back:hover .uxa-ic { transform: translateX(-3px); }

.uxa-od__hd { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.uxa-od__hd .uxa-st { margin-top: 10px; font-size: 14px; padding: 7px 14px; }
.uxa-alert + .uxa-od__steps, .uxa-alert + .uxa-od { margin-top: 16px; }
.uxa-od__steps { padding: 6px 24px 12px; }
.uxa-od__steps .uxa-steps { margin: 18px 0 4px; }
.uxa-od__steps + .uxa-od { margin-top: 20px; }
.uxa-od { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.uxa-od__main, .uxa-od__side { display: grid; gap: 20px; min-width: 0; }
.uxa .uxa-od .uxa-ois { margin-top: 4px; }

.uxa .uxa-od__tot { display: grid; gap: 6px; margin: 14px 0 0; }
.uxa-od__tot div { display: flex; justify-content: space-between; gap: 16px; }
.uxa-od__tot dt { font-weight: 500; color: var(--uxc-ink3); }
.uxa-od__tot dd { margin: 0; color: var(--uxc-ink); text-align: right; }
.uxa-od__sum { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--uxc-line2); }
.uxa-od__sum dt { font-size: 17px; font-weight: 700; color: var(--uxc-ink); }
.uxa-od__sum dd { font: 700 24px/1.15 'Geologica', 'Onest', sans-serif; white-space: nowrap; }

/* Історія — вертикальна стрічка, свіже зверху. */
.uxa .uxa-hist { margin: 0; padding: 0; list-style: none; }
.uxa-hist li { position: relative; display: flex; justify-content: space-between; gap: 16px; padding: 0 0 14px 22px; }
.uxa-hist li::before {
	content: '';
	position: absolute;
	left: 3px;
	top: 6px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--uxc-line);
}
.uxa-hist li:first-child::before { background: var(--uxc-blue); box-shadow: 0 0 0 4px #eaf0fa; }
.uxa-hist li:not(:last-child)::after {
	content: '';
	position: absolute;
	left: 7px;
	top: 18px;
	bottom: 2px;
	width: 1px;
	background: var(--uxc-line);
}
.uxa-hist li:last-child { padding-bottom: 0; }
.uxa-hist__tx { display: grid; gap: 4px; min-width: 0; }
.uxa-hist b { font-size: 15px; font-weight: 600; color: var(--uxc-ink); }
.uxa-hist__cm { font-size: 14px; line-height: 1.5; color: var(--uxc-ink3); white-space: pre-line; overflow-wrap: break-word; }
.uxa-hist time { font-size: 13.5px; color: var(--uxc-mut); white-space: nowrap; }

.uxa .uxa-dl { display: grid; gap: 12px; margin: 0; }
.uxa-dl dt { font-size: 13px; font-weight: 500; color: var(--uxc-mut); }
.uxa-dl dd { margin: 2px 0 0; font-size: 15px; line-height: 1.45; color: var(--uxc-ink); overflow-wrap: break-word; }
.uxa-od__docs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.uxa .uxa-dl + .uxa-od__docs { margin-top: 16px; }
.uxa-card__t + .uxa-od__docs { margin-top: 0; }
.uxa .uxa-od__cm { margin: 0; font-size: 15px; line-height: 1.55; color: var(--uxc-ink3); white-space: pre-line; overflow-wrap: break-word; }
.uxa-ttn__no { display: block; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.uxa-ttn__act { display: flex; gap: 16px; }
.uxa-ttn__act .uxa-lnk { min-height: 32px; padding: 4px 0; font-size: 14px; }

.uxa-od__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; margin-top: 20px; }
/* Рядок дій стоїть над сіткою блоків (0.13.9): той самий проміжок, що між кроками й сіткою. */
.uxa-od__foot + .uxa-od { margin-top: 20px; }
.uxa .uxa-od__lnk {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-size: 15px;
	font-weight: 700;
	color: var(--uxc-blue);
	text-decoration: none;
}
.uxa .uxa-od__lnk:hover { color: #163a73; text-decoration: none; }
/* «Скасувати замовлення» (фаза 8) — значення з макета (cabinet.css, .uxa-od__lnk--del, .uxa-opt, .uxa-cn__). */
.uxa .uxa-od__lnk--del { border: 0; background: none; padding: 0; cursor: pointer; color: var(--uxc-badge-sale-ink); font-family: inherit; }
.uxa .uxa-od__lnk--del:hover { color: #a31f1f; }
.uxa .uxa-btn--del { background: var(--uxc-badge-sale-ink); color: #fff; }
.uxa .uxa-btn--del:hover { background: #a31f1f; color: #fff; }
.uxa-opts { display: grid; gap: 6px; }
/* Сильніше за .uxa .uxa-fld label (жирний підпис поля): варіант причини — звичайним шрифтом. Висота — 44 px
   на дотик (у макеті 8 px відступу давали ~37 px). */
.uxa .uxa-fld .uxa-opt { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; margin: 0; padding: 10px 0; box-sizing: border-box; font-weight: 400; font-size: 15px; cursor: pointer; }
.uxa-opt input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--uxc-blue); }
.uxa-cn__act { display: flex; flex-wrap: wrap; gap: 10px; }
.uxa-cn__act .uxa-btn { flex: 1 1 200px; }
.uxa .uxa-cn__tip { margin: -6px 0 0; }
.uxa .uxa-cn__tip .uxa-lnk { display: inline; min-height: 0; padding: 0; font-size: inherit; vertical-align: baseline; }

/* «Питання щодо замовлення» і переписка (фаза 8) — значення з макета (cabinet.css, .uxa-chips, .uxa-qa, .uxa-help__q,
   .uxa-ord__ans). Посилання й чипи тут — кнопки й мітки, тому скидаємо рамку й тло кнопки та жирність .uxa-fld label. */
.uxa .uxa-help__q {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	margin-top: 14px;
	padding: 14px 0 0;
	border: 0;
	border-top: 1px solid var(--uxc-line2);
	background: none;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--uxc-blue);
	text-align: left;
	cursor: pointer;
}
.uxa .uxa-help__q:hover { color: #163a73; }
.uxa-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.uxa .uxa-fld .uxa-chips label { position: relative; margin: 0; font-weight: 600; cursor: pointer; }
.uxa-chips input { position: absolute; opacity: 0; }
/* 44 px на дотик (у макеті 38). */
.uxa-chips span {
	display: block;
	min-height: 44px;
	padding: 12px 14px;
	box-sizing: border-box;
	border: 1px solid #cfdaea;
	border-radius: 999px;
	font-size: 14px;
	line-height: 18px;
	color: var(--uxc-ink3);
	background: #fff;
}
.uxa-chips input:checked + span { background: var(--uxc-blue); border-color: var(--uxc-blue); color: #fff; }
.uxa-chips input:focus-visible + span { box-shadow: var(--uxa-ring); }
.uxa .uxa-ord__news { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 14px; }
.uxa .uxa-ord__ans { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14.5px; font-weight: 700; color: var(--uxc-blue); text-decoration: none; }
.uxa .uxa-ord__ans::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--uxc-badge-sale-ink); }
.uxa-qa__list { display: grid; gap: 10px; margin: 0 0 6px; padding: 0; list-style: none; }
.uxa-qa__m { display: grid; gap: 4px; max-width: 86%; padding: 10px 14px; border-radius: 4px 14px 14px 14px; background: #f1f4f8; justify-self: start; }
.uxa-qa__m--me { justify-self: end; border-radius: 14px 4px 14px 14px; background: #eaf0fa; }
.uxa .uxa-qa__m p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--uxc-ink); overflow-wrap: anywhere; }
.uxa-qa__who { font-size: 12.5px; color: var(--uxc-mut); }
.uxa-qa__m .uxa-st { justify-self: start; margin-top: 2px; }
.uxa .uxa-qa .uxa-od__lnk { border: 0; background: none; padding: 0; cursor: pointer; font-family: inherit; }
.uxa .uxa-od__foot button.uxa-od__lnk { border: 0; background: none; padding: 0; cursor: pointer; font-family: inherit; }
@media (max-width: 719.98px) {
	.uxa-qa__m { max-width: 100%; }
}

/* Повернення (фаза 10) — форма за макетом (cabinet.css, .uxa-ret, .uxa-ris, .uxa-ri); перелік заявок — свій.
   Мітки товарів — сильніші за .uxa .uxa-fld label (жирний підпис поля). */
.uxa-ret { max-width: 820px; }
/* Форма повернення з бічною колонкою (0.13.13): форма займає свою колонку цілком. */
.uxa-retgrid .uxa-ret { max-width: none; }
.uxa-next__ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: uxanext; }
.uxa-next__ol li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; row-gap: 2px; counter-increment: uxanext; }
.uxa-next__ol li::before { content: counter(uxanext); grid-row: span 2; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--uxc-gold, #f6c518); color: var(--uxc-ink); font-weight: 700; font-size: 14px; }
.uxa-next__ol b { font-size: 15px; color: var(--uxc-ink); }
.uxa-next__ol span { font-size: 14px; line-height: 1.45; color: var(--uxc-ink3); }
.uxa-ris { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--uxc-line2); }
.uxa-ri { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--uxc-line2); }
.uxa .uxa-fld .uxa-ri__ch { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; font-weight: 400; cursor: pointer; min-width: 0; }
.uxa-ri__ch input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--uxc-blue); }
.uxa .uxa-ri__ch img, .uxa .uxa-ri__ch .uxa-noimg { flex: none; width: 56px; height: 44px; object-fit: contain; border-radius: 7px; background: var(--uxc-tint); }
.uxa-ri__nm { display: grid; font-size: 15px; font-weight: 600; color: var(--uxc-ink); line-height: 1.35; min-width: 0; overflow-wrap: break-word; }
.uxa-ri__nm small { font-size: 13px; font-weight: 400; color: var(--uxc-mut); }
.uxa .uxa-fld .uxa-ri__q { margin: 0; }
.uxa .uxa-ri__q select { height: 44px; padding: 0 10px; border: 1px solid #cfdaea; border-radius: 8px; font: 500 15px/1 'Onest', sans-serif; }
.uxa .uxa-ret__who { margin: 0; font-size: 14px; color: var(--uxc-ink3); }
.uxa .uxa-ret__who a { font-weight: 700; color: var(--uxc-blue); }
.uxa-rets { margin: 0; padding: 0; list-style: none; }
.uxa-retrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; padding: 16px 24px; border-top: 1px solid var(--uxc-line2); }
.uxa-retrow:first-child { border-top: 0; }
.uxa .uxa-retrow__main { display: grid; gap: 2px; min-width: 0; color: var(--uxc-ink); text-decoration: none; }
.uxa .uxa-retrow__main:hover b { color: var(--uxc-blue); }
.uxa-retrow__pr { font-size: 15px; overflow-wrap: anywhere; }
.uxa-retrow__meta { display: grid; justify-items: end; gap: 4px; font-size: 14px; }
@media (max-width: 575.98px) {
	.uxa-retrow { padding: 14px 16px; }
	.uxa-retrow__meta { justify-items: start; }
}

/* ==========================================================================
   Вікно й повідомлення внизу
   Вікно — своя оболонка в межах .uxa (жетони доходять), не Bootstrap .modal.
   ========================================================================== */
.uxa-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: grid;
	place-items: center;
	padding: 16px;
}
.uxa-modal__bg { position: absolute; inset: 0; background: rgba(22, 36, 58, .55); }
.uxa-modal__box {
	position: relative;
	display: grid;
	gap: 16px;
	width: min(440px, 100%);
	max-height: calc(100vh - 32px);
	overflow: auto;
	padding: 30px 30px 26px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 30px 60px -20px rgba(22, 36, 58, .5);
	animation: uxa-pop .34s cubic-bezier(.23, 1, .32, 1);
}
.uxa-modal__box--wide { width: min(560px, 100%); }
@keyframes uxa-pop { from { opacity: 0; transform: translateY(10px) scale(.98); } }
/* padding-right — місце під хрестик: довгий заголовок інакше заходив під нього на телефоні. */
.uxa .uxa-modal__t { margin: 0; padding-right: 36px; font: 700 24px/1.2 'Geologica', 'Onest', sans-serif; color: var(--uxc-ink-head); }
.uxa-modal__lead { margin: -8px 0 0; font-size: 15px; line-height: 1.5; color: var(--uxc-ink3); }
.uxa .uxa-modal__x {
	position: absolute;
	top: 10px;
	right: 10px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--uxc-mut);
	cursor: pointer;
}
.uxa .uxa-modal__x:hover { background: var(--uxc-line3); color: var(--uxc-ink); }
.uxa-lock, .uxa-lock body { overflow: hidden; }
.uxa-form { display: grid; gap: 18px; }
.uxa-fld__err { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--uxc-badge-sale-ink); }
.uxa-fld__err::before { content: '! '; }

/* Повтор замовлення: позначки товарів, «було → зараз», підсумок позначеного. */
.uxa .uxa-reps { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--uxc-line2); }
.uxa-reps:empty { display: none; }
.uxa-rep {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--uxc-line2);
}
.uxa .uxa-rep__ch { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; font-weight: 400; cursor: pointer; }
.uxa-rep__ch input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--uxc-blue); }
.uxa .uxa-rep__ch img { flex: none; width: 56px; height: 44px; object-fit: contain; border-radius: 7px; background: var(--uxc-tint); }
.uxa-rep__nm { display: grid; gap: 1px; min-width: 0; font-size: 14.5px; font-weight: 600; color: var(--uxc-ink); line-height: 1.35; overflow-wrap: break-word; }
.uxa-rep__nm small { font-size: 13px; font-weight: 400; color: var(--uxc-mut); }
.uxa-rep__chg { font-size: 12.5px; font-weight: 600; color: var(--uxc-badge-new-ink); }
.uxa-rep__chg.is-up { color: var(--uxc-badge-hit-ink); }
.uxa-rep__sum { font-size: 15px; white-space: nowrap; }
.uxa-rep:has(input:not(:checked)) { opacity: .5; }
.uxa-rep.is-gone .uxa-rep__ch { cursor: default; }
.uxa-reps__tot { display: flex; align-items: baseline; justify-content: space-between; color: var(--uxc-ink3); }
.uxa-reps__tot b { font: 700 22px/1.1 'Geologica', 'Onest', sans-serif; color: var(--uxc-ink); }

.uxa-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 1300;
	display: flex;
	align-items: center;
	gap: 18px;
	max-width: min(560px, calc(100vw - 32px));
	padding: 12px 14px 12px 20px;
	border-radius: 12px;
	background: var(--uxc-ink);
	color: #fff;
	font-size: 15px;
	line-height: 1.4;
	box-shadow: 0 16px 36px -14px rgba(22, 36, 58, .55);
	opacity: 0;
	transform: translate(-50%, 12px);
	transition: opacity .24s cubic-bezier(.23, 1, .32, 1), transform .24s cubic-bezier(.23, 1, .32, 1);
}
.uxa-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.uxa .uxa-toast [data-a] {
	flex: none;
	padding: 6px 12px;
	border-radius: 8px;
	color: var(--uxc-gold);
	font: 700 14.5px/1.6 'Onest', sans-serif;
	text-decoration: none;
	white-space: nowrap;
}
.uxa .uxa-toast [data-a]:hover { background: rgba(255, 255, 255, .08); color: var(--uxc-gold); }

/* ==========================================================================
   Планшет і телефон: ліва колонка стає смугою над вмістом.
   Межа 1024 — нижче в колонці 280px вмісту лишається менше 680px.
   ========================================================================== */
@media (max-width: 1023.98px) {
	.uxa-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}
	.uxa-side {
		position: static;
		padding: 0;
		background: none;
		border: 0;
	}
	.uxa-me {
		padding: 0 0 14px;
		margin: 0;
		border: 0;
	}

	/* Смуга-перемикач: прокручується вбік, не переноситься. */
	.uxa-nav {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		/* 0.13.22: тонка видима смуга — видно, що стрічка гортається (раніше схована). Chrome і Safari — ::-webkit-scrollbar
		   нижче; стандартні scrollbar-width/-color лише для Firefox (@supports), бо в Chrome вони перебивають тонкий
		   стиль і додають стрілочки на кінцях. */
		margin: 0 calc(var(--uxc-pad) * -1);
		padding: 2px var(--uxc-pad) 10px;
		scroll-padding-inline: var(--uxc-pad);
	}
	/* Тема сайту глобально ховає горизонтальні смуги (::-webkit-scrollbar:horizontal { display: none }) і фарбує повзунок
	   у зелений — тож тут і стан :horizontal (вища точність), і доріжка без тіні теми. */
	.uxa-nav::-webkit-scrollbar, .uxa-nav::-webkit-scrollbar:horizontal { display: block; height: 4px; }
	.uxa-nav::-webkit-scrollbar-track, .uxa-nav::-webkit-scrollbar-track:horizontal { background: transparent; -webkit-box-shadow: none; box-shadow: none; }
	.uxa-nav::-webkit-scrollbar-thumb, .uxa-nav::-webkit-scrollbar-thumb:horizontal, .uxa-nav::-webkit-scrollbar-thumb:horizontal:hover { background: #c3cdda; border-radius: 4px; }

	.uxa-nav__a {
		flex: none;
		min-height: 42px;
		padding: 8px 13px;
		gap: 8px;
		background: #fff;
		border: 1px solid var(--uxc-line);
		border-radius: 999px;
		font-size: 15px;
		white-space: nowrap;
	}
	.uxa-nav__a .uxa-ic { width: 20px; height: 20px; }
	.uxa-nav__a[aria-current="page"] {
		background: var(--uxc-blue);
		border-color: var(--uxc-blue);
		color: #fff;
		font-weight: 700;
	}
	.uxa-nav__a[aria-current="page"]::before { content: none; }

	/* У макеті «Вийти» на смузі сховано — він живе у вкладках профілю. Вкладок профілю ще немає (фаза 2),
	   тому поки «Вийти» лишається останньою пігулкою, інакше з телефона вийти нема як. */
	.uxa-nav__a--out {
		margin: 0;
		padding-top: 8px;
		border-top: 1px solid var(--uxc-line);
		border-radius: 999px;
	}
}

/* Огляд: права колонка під основну — двома картками поруч, поки є місце. */
@media (max-width: 1279.98px) {
	.uxa-ov { grid-template-columns: minmax(0, 1fr); }
	.uxa-ov__side { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

/* Відступ від краю — як у шапки сайту (uhl_header: --uhd-gut 24 → 16 з 760 px), щоб вміст стояв під логотипом. */
@media (max-width: 760px) {
	.uxa, .uxa-skip, .uxa[data-width="full"] { --uxc-pad: 16px; }
}

@media (max-width: 719.98px) {
	.uxa-ov__side { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 575.98px) {
	.uxa { padding-bottom: 40px; }
	.uxa-card { padding: 18px 16px; }
	.uxa .uxa-crumbs { padding: 12px 0 10px; }
	.uxa.is-flat .uxa-layout { padding-top: 16px; }
	.uxa-me__av { width: 40px; height: 40px; font-size: 14px; }
	.uxa-scr__hd { margin-bottom: 16px; }
	.uxa-lead { font-size: 15.5px; }
}

/* ==========================================================================
   Профіль: меню з підпунктами, вкладки, форми
   ========================================================================== */
/* Група «Профіль»: заголовок веде на перший підпункт, підсвічується підпункт. */
.uxa-nav__a--grp[data-open] { color: var(--uxc-ink); font-weight: 600; }
.uxa-nav__sub {
	display: grid;
	gap: 2px;
	margin: 0 0 4px 23px;
	padding-left: 10px;
	border-left: 1px solid var(--uxc-line);
}
.uxa .uxa-nav__sub .uxa-nav__a { min-height: 40px; padding: 8px 12px; font-size: 14.5px; }

/* Вкладки профілю — лише на планшеті й телефоні (там у смузі підпунктів немає). */
.uxa-ptabs { display: none; }

.uxa-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
/* align-content: start — інакше поле поруч із сусідом, у якого є підказка, розтягувалось. */
.uxa-fld { display: grid; gap: 6px; align-content: start; min-width: 0; margin: 0; padding: 0; border: 0; }
.uxa .uxa-fld label,
.uxa .uxa-fld legend {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--uxc-ink);
}
.uxa .uxa-fld legend { margin-bottom: 6px; }
.uxa-fld label i, .uxa-fld legend i, .uxa-form__note i { color: var(--uxc-badge-sale); font-style: normal; }
/* Поля — свої, не bootstrap: тема дає .form-control іншу висоту й рамку на кожній сторінці. 16px — iOS не
   збільшує сторінку при фокусі. */
.uxa .uxa-fld input[type="text"],
.uxa .uxa-fld input[type="tel"],
.uxa .uxa-fld input[type="email"],
.uxa .uxa-fld input[type="password"],
.uxa .uxa-fld input[type="time"],
.uxa .uxa-fld select {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid #cfdaea;
	border-radius: var(--uxa-r-s);
	background: #fff;
	font: 400 16px/1.2 'Onest', sans-serif;
	color: var(--uxc-ink);
	box-shadow: none;
	transition: border-color var(--ux-dur-fast) var(--ux-ease), box-shadow var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-fld select { appearance: auto; }
.uxa .uxa-fld input:hover, .uxa .uxa-fld select:hover { border-color: #b5c6de; }
.uxa .uxa-fld input:focus, .uxa .uxa-fld select:focus { outline: none; border-color: var(--uxc-blue); box-shadow: var(--uxa-ring); }
.uxa .uxa-fld input::placeholder { color: #98a3b3; }
.uxa .uxa-fld input[aria-invalid="true"],
.uxa .uxa-fld select[aria-invalid="true"] { border-color: var(--uxc-badge-sale); background: #fffafa; }
.uxa .uxa-fld input[aria-invalid="true"]:focus,
.uxa .uxa-fld select[aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(224, 49, 49, .22); }
.uxa-fld__hint { margin: 0; font-size: 13px; line-height: 1.4; color: var(--uxc-mut); }

/* Підказки під полем (місто, відділення НП — 0.13.17, замість <datalist>): на всю ширину поля, до 8 рядків. */
.uxa-sugw { position: relative; display: block; }
.uxa-sug {
	position: absolute;
	z-index: 30;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
	max-height: 336px;
	margin: 0;
	padding: 4px;
	overflow-y: auto;
	list-style: none;
	background: #fff;
	border: 1px solid #cfdaea;
	border-radius: var(--uxa-r-s);
	box-shadow: 0 14px 30px -12px rgba(22, 36, 58, .28);
}
.uxa-sug[hidden] { display: none; }
.uxa-sug li { padding: 10px 12px; border-radius: 8px; font-size: 15px; line-height: 1.3; color: var(--uxc-ink); cursor: pointer; }
.uxa-sug li b { font-weight: 700; }
.uxa-sug li:hover, .uxa-sug li.is-on { background: var(--uxc-tint); color: var(--uxc-blue); }

.uxa-form__act { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding-top: 6px; }
.uxa-form__note { margin: 0; font-size: 13px; color: var(--uxc-mut); }

/* Радіо-сегменти: вибір з двох-трьох — видно всі варіанти одразу. */
.uxa-radioseg {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	justify-self: start;
	padding: 4px;
	border-radius: 12px;
	background: var(--uxc-line3);
}
.uxa .uxa-radioseg label { position: relative; margin: 0; font-weight: 600; cursor: pointer; }
.uxa-radioseg input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.uxa-radioseg span {
	display: block;
	min-height: 40px;
	padding: 10px 18px;
	border-radius: 9px;
	font-size: 14.5px;
	line-height: 20px;
	color: var(--uxc-ink3);
	transition: background var(--ux-dur-fast) var(--ux-ease), color var(--ux-dur-fast) var(--ux-ease);
}
.uxa-radioseg input:checked + span { background: #fff; color: var(--uxc-blue); box-shadow: 0 1px 3px rgba(22, 36, 58, .14); }
.uxa-radioseg input:focus-visible + span { box-shadow: var(--uxa-ring); }
.uxa-radioseg--s span { padding: 10px 22px; }

.uxa .uxa-check { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; font-weight: 500; cursor: pointer; }
.uxa-check input { width: 20px; height: 20px; margin: 0; accent-color: var(--uxc-blue); }
.uxa-check input:focus-visible { box-shadow: var(--uxa-ring); }

.uxa-lnk--del, .uxa .uxa-lnk--del { color: var(--uxc-badge-sale-ink); }
.uxa .uxa-lnk--del:hover { color: #a31f1f; }
.uxa-flash--bad { border-color: #f3cccc; border-left-color: var(--uxc-badge-sale); background: #fffafa; }
.uxa-note { margin: 10px 0 12px; font-size: 13.5px; color: var(--uxc-mut); }
.uxa .uxa-kv { display: grid; gap: 8px; margin: 0; }
.uxa-kv div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; }
.uxa-kv dt { font-size: 13.5px; font-weight: 500; color: var(--uxc-mut); }
.uxa-kv dd { margin: 0; font-size: 14.5px; color: var(--uxc-ink); overflow-wrap: break-word; }

/* ---- Компанія: форма + «Так буде в рахунку» ---------------------------- */
.uxa-co { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.uxa-co__firm { display: grid; gap: 18px; }
.uxa-co__priv { margin: 0; padding: 14px 16px; border-radius: var(--uxa-r-s); background: var(--uxc-tint); color: var(--uxc-ink3); line-height: 1.5; }
.uxa-inv {
	position: sticky;
	top: 16px;
	background: linear-gradient(180deg, #fff 0%, var(--uxc-tint2) 100%);
	border-style: dashed;
	border-color: #c9d5e8;
}
.uxa .uxa-inv__dl { display: grid; gap: 10px; margin: 14px 0 0; }
.uxa-inv__dl div { display: grid; gap: 1px; }
.uxa-inv__dl dt { font-size: 12.5px; font-weight: 500; color: var(--uxc-mut); }
.uxa-inv__dl dd { margin: 0; font-size: 15px; font-weight: 600; color: var(--uxc-ink); word-break: break-word; }

/* ---- Адреси ------------------------------------------------------------ */
.uxa-addrs { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.uxa-addr { display: flex; flex-direction: column; gap: 10px; }
.uxa-addr.is-main { border-color: var(--uxc-blue); box-shadow: inset 0 0 0 1px var(--uxc-blue); }
.uxa-addr__hd { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.uxa-addr__type { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: var(--uxc-mut); }
.uxa-addr__type .uxa-ic { width: 18px; height: 18px; }
.uxa-addr__main { padding: 3px 10px; border-radius: 999px; background: var(--uxc-blue); color: #fff; font-size: 12px; font-weight: 700; }
.uxa .uxa-addr__tx { display: grid; gap: 2px; margin: 0; font-size: 15px; line-height: 1.45; color: var(--uxc-ink3); overflow-wrap: break-word; }
.uxa-addr__tx b { font-size: 16px; color: var(--uxc-ink); }
.uxa .uxa-addr__who { margin: 0; font-size: 14px; color: var(--uxc-mut); }
.uxa .uxa-addr__unl { display: flex; gap: 8px; margin: 0; font-size: 14px; line-height: 1.45; color: var(--uxc-ink2); }
.uxa-addr__unl .uxa-ic { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--uxc-mut); }
.uxa-addr__act {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 14px;
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--uxc-line2);
}
.uxa-addr__act form { display: inline-flex; margin: 0; }
/* Кнопки (POST-форми) і посилання «Змінити» — однієї висоти й на одній лінії. */
.uxa .uxa-addr__act .uxa-lnk { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 2px; font-size: 14px; line-height: 1.2; }
.uxa .uxa-addr--add {
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 190px;
	padding: 20px;
	border: 2px dashed #c9d5e8;
	border-radius: var(--uxa-r);
	background: none;
	color: var(--uxc-blue);
	text-align: center;
	text-decoration: none;
	transition: border-color var(--ux-dur-fast) var(--ux-ease), background var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-addr--add:hover { border-color: var(--uxc-blue); background: #f4f7fd; text-decoration: none; }
.uxa-addr--add b { font-size: 16px; }
.uxa-addr--add span:last-child { font-size: 13.5px; color: var(--uxc-mut); }
.uxa-addr__plus { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 6px; border-radius: 50%; background: #eaf0fa; font-size: 26px; line-height: 1; }
.uxa-addrs + .uxa-addrform { margin-top: 20px; }
.uxa-addrform { scroll-margin-top: 16px; }
.uxa-unl { display: grid; gap: 14px; padding: 16px; border: 1px dashed #cfdaea; border-radius: var(--uxa-r-s); }
.uxa .uxa-unl > legend { padding: 0 6px; }
.uxa-unl__grid { display: grid; grid-template-columns: 110px auto minmax(0, 1fr); gap: 14px; align-items: end; }
.uxa-hrs { display: flex; align-items: center; gap: 8px; }
.uxa .uxa-hrs input { flex: 1 1 0; width: auto; min-width: 0; }

/* ---- Сповіщення: перемикач ---------------------------------------------- */
.uxa-news { max-width: 720px; }
.uxa-news + .uxa-news { margin-top: 20px; }
.uxa .uxa-news__tx { font-size: 15.5px; }
.uxa .uxa-switch { position: relative; display: flex; align-items: flex-start; gap: 16px; margin: 0; font-weight: 400; cursor: pointer; }
.uxa-switch input { position: absolute; width: 52px; height: 30px; margin: 0; opacity: 0; cursor: pointer; }
.uxa-switch__t { position: relative; flex: none; width: 52px; height: 30px; border-radius: 999px; background: #c9d3e1; transition: background var(--ux-dur-fast) var(--ux-ease); }
.uxa-switch__t::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(22, 36, 58, .25);
	transition: transform var(--ux-dur-fast) var(--ux-ease);
}
.uxa-switch input:checked + .uxa-switch__t { background: var(--uxc-blue); }
.uxa-switch input:checked + .uxa-switch__t::after { transform: translateX(22px); }
.uxa-switch input:focus-visible + .uxa-switch__t { box-shadow: var(--uxa-ring); }
.uxa-switch__tx { display: grid; gap: 4px; }
.uxa-switch__tx > b { font-size: 17px; color: var(--uxc-ink); }
.uxa-switch__tx > span { font-size: 15px; line-height: 1.5; color: var(--uxc-ink3); }
/* Кнопка «Зберегти» розсилки — лише без скрипта: зі скриптом перемикач зберігає сам. */
.uxa.is-js [data-uxa-nojs] { display: none; }

/* ---- Профіль на вужчих екранах ------------------------------------------ */
@media (max-width: 1279.98px) {
	.uxa-co { grid-template-columns: minmax(0, 1fr); }
	.uxa-inv { position: static; }
}
@media (max-width: 1023.98px) {
	.uxa-nav__sub { display: none; }
	/* «Вийти» живе у вкладках профілю (у макеті так); на інших екранах — як досі, пігулкою смуги. */
	.uxa[data-profile] .uxa-nav__a--out { display: none; }
	.uxa-nav__a--grp[data-open] { background: var(--uxc-blue); border-color: var(--uxc-blue); color: #fff; font-weight: 700; }
	.uxa .uxa-ptabs {
		display: flex;
		gap: 4px;
		margin: -6px calc(var(--uxc-pad) * -1) 18px;
		padding: 0 var(--uxc-pad);
		overflow-x: auto;
		border-bottom: 1px solid var(--uxc-line);
	}
	.uxa-ptabs::-webkit-scrollbar, .uxa-ptabs::-webkit-scrollbar:horizontal { display: block; height: 4px; }
	.uxa-ptabs::-webkit-scrollbar-track, .uxa-ptabs::-webkit-scrollbar-track:horizontal { background: transparent; -webkit-box-shadow: none; box-shadow: none; }
	.uxa-ptabs::-webkit-scrollbar-thumb, .uxa-ptabs::-webkit-scrollbar-thumb:horizontal, .uxa-ptabs::-webkit-scrollbar-thumb:horizontal:hover { background: #c3cdda; border-radius: 4px; }
	@supports not selector(::-webkit-scrollbar) {
		.uxa-nav, .uxa .uxa-ptabs { scrollbar-width: thin; scrollbar-color: #c3cdda transparent; }
	}
	.uxa .uxa-ptabs__a {
		flex: none;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		min-height: 44px;
		padding: 10px 12px;
		border-bottom: 3px solid transparent;
		font-size: 15px;
		font-weight: 600;
		color: var(--uxc-ink3);
		text-decoration: none;
		white-space: nowrap;
	}
	.uxa .uxa-ptabs__a:hover { color: var(--uxc-blue); text-decoration: none; }
	.uxa .uxa-ptabs__a[aria-current="page"] { border-bottom-color: var(--uxc-gold); color: var(--uxc-blue); }
	.uxa .uxa-ptabs__a--out { margin-left: auto; color: var(--uxc-mut); }
	.uxa-ptabs__a .uxa-ic { width: 18px; height: 18px; }
}
@media (max-width: 719.98px) {
	.uxa-row2 { grid-template-columns: minmax(0, 1fr); }
	.uxa-form__act .uxa-btn { flex: 1 1 100%; }
	.uxa-radioseg { display: flex; justify-self: stretch; }
	.uxa .uxa-radioseg label { flex: 1 1 0; text-align: center; }
	.uxa-radioseg span { padding: 10px 8px; }
	.uxa-addrs { grid-template-columns: minmax(0, 1fr); }
	.uxa .uxa-addr--add { min-height: 120px; }
	.uxa-unl__grid { grid-template-columns: 1fr; }
}

/* ---- Лічильник у пункті меню («Замовлення 7») ------------------------- */
.uxa-nav__n {
	margin-left: auto;
	min-width: 26px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--uxc-line3);
	color: var(--uxc-ink3);
	font-size: 12.5px;
	font-weight: 700;
	font-style: normal;
	text-align: center;
}
.uxa-nav__a[aria-current="page"] .uxa-nav__n { background: var(--uxc-blue); color: #fff; }

/* ---- Замовлення на вужчих екранах ------------------------------------- */
@media (max-width: 1279.98px) {
	/* Сторінка замовлення: права колонка — під товари, двома картками поруч. */
	.uxa-od { grid-template-columns: minmax(0, 1fr); }
	.uxa-od__side { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }

	/* Рядок переліку — три ряди: номер і статус / фото і сума / дії. */
	.uxa-orow {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "id st" "th sum" "act act";
		gap: 12px 16px;
	}
	.uxa-orow__id { grid-area: id; }
	.uxa-orow__st { grid-area: st; }
	.uxa-orow__th { grid-area: th; flex-wrap: wrap; }
	/* Тісно поруч із сумою — назва під мініатюрами на всю ширину (0.13.15). */
	.uxa-orow__nm { flex-basis: 100%; }
	.uxa-orow__sum { grid-area: sum; }
	.uxa-orow__act { grid-area: act; padding-top: 12px; border-top: 1px solid var(--uxc-line2); }
}
@media (max-width: 1023.98px) {
	.uxa-nav__a[aria-current="page"] .uxa-nav__n { background: var(--uxc-gold); color: var(--uxc-ink); }
	.uxa-nav__n { margin-left: 2px; }
}
@media (max-width: 719.98px) {
	.uxa-alert { grid-template-columns: auto minmax(0, 1fr); }
	.uxa-alert__act { grid-column: 1 / -1; }
	.uxa-alert__act .uxa-btn { flex: 1 1 auto; }

	.uxa .uxa-ord__meta { grid-template-columns: 1fr 1fr; }
	.uxa-ord__tot {
		grid-column: 1 / -1;
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		padding-top: 12px;
		border-top: 1px solid var(--uxc-line2);
		text-align: left;
	}
	.uxa .uxa-ord__act .uxa-btn--blue { flex: 1 1 100%; }
	.uxa .uxa-ord__act .uxa-btn--line { flex: 1 1 0; }

	.uxa-tools { flex-direction: column; align-items: stretch; }
	.uxa .uxa-search { flex: none; }
	.uxa-seg { display: flex; }
	.uxa .uxa-seg__b { flex: 1 0 auto; justify-content: center; padding: 8px 10px; }
	.uxa-orow { padding: 14px 16px; }
	.uxa .uxa-orow__act .uxa-btn { flex: 1 1 0; }

	.uxa-od__side { grid-template-columns: minmax(0, 1fr); }
	.uxa-od__hd { flex-direction: column-reverse; gap: 8px; }
	.uxa-od__hd .uxa-st { margin-top: 0; }
	.uxa-od__steps { padding: 4px 12px 10px; }
	.uxa-od__foot { flex-direction: column; align-items: stretch; gap: 4px; }
	.uxa-od__foot .uxa-btn { margin-bottom: 8px; }

	/* Вікно — знизу на всю ширину, як аркуш. */
	.uxa-modal { align-items: end; padding: 0; }
	.uxa-modal__box { width: 100%; border-radius: 18px 18px 0 0; padding: 26px 18px 22px; max-height: 92vh; }
	.uxa-toast { bottom: 16px; font-size: 14.5px; }
}
@media (max-width: 575.98px) {
	.uxa-alert { padding: 14px 16px; gap: 12px; }
	.uxa-alert__ic { width: 38px; height: 38px; }
	.uxa-ord__hd { flex-direction: column-reverse; gap: 10px; }
	.uxa .uxa-ord__no { font-size: 21px; }
	.uxa-ord__no span { display: block; margin: 4px 0 0; }
	.uxa-steps b { font-size: 12.5px; }
	.uxa-steps span { font-size: 12px; }
	.uxa-oi { grid-template-columns: 56px minmax(0, 1fr); gap: 4px 12px; }
	.uxa .uxa-oi__img { width: 56px; height: 44px; grid-row: span 2; }
	.uxa-oi__sum { grid-column: 2; font-size: 14.5px; }
	.uxa .uxa-oi__nm { font-size: 14.5px; }
}
@media (max-width: 379.98px) {
	/* Чотири кроки статусу — підписи злипались. */
	.uxa-steps b { font-size: 11.5px; }
	.uxa-steps span { font-size: 11px; }
}

/* ==========================================================================
   Гість: вхід, реєстрація, відновлення пароля (фаза 3a). Розмітка й значення — з макета (auth.html).
   ========================================================================== */
.uxa.is-guest .uxa-layout { grid-template-columns: minmax(0, 1fr); }

.uxa-auth {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	max-width: 1060px;
	margin: 8px auto 0;
	background: #fff;
	border: 1px solid var(--uxc-line);
	border-radius: 18px;
	overflow: hidden;
}
.uxa-auth--reg, .uxa-auth--narrow { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.uxa-auth--narrow { max-width: 560px; }
.uxa-auth__main { padding: 36px 40px 34px; display: grid; gap: 18px; align-content: start; }
.uxa .uxa-auth__main .uxa-h1 { margin: 0; }
.uxa-auth__main .uxa-lead { margin-top: -10px; }

/* Права панель — синя, як підвал: «навіщо» відділено від «що ввести». */
.uxa-auth__side {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: 40px;
	background: linear-gradient(160deg, #1f4f9e 0%, #173d7c 100%);
	color: #fff;
}
.uxa .uxa-auth__eye { color: var(--uxc-gold-eyebrow); }
.uxa .uxa-auth__t { margin: 0; font: 700 26px/1.2 'Geologica', 'Onest', sans-serif; color: #fff; }
.uxa .uxa-ticks { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.uxa-ticks li { position: relative; padding-left: 32px; font-size: 16px; line-height: 1.45; color: #e6eefb; }
.uxa-ticks li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--uxc-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316243a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.uxa .uxa-auth__small { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--uxc-mut); }
.uxa .uxa-auth__side .uxa-auth__small { color: #c3d3ee; }
.uxa-auth__small a { color: inherit; text-decoration: underline; }
.uxa .uxa-auth__switch { margin: 0; text-align: center; font-size: 15px; color: var(--uxc-ink3); }
.uxa-auth__switch a { font-weight: 700; color: var(--uxc-blue); }

.uxa-fld__top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.uxa .uxa-fld__aside { font-size: 14px; font-weight: 600; color: var(--uxc-blue); }
.uxa-fld__top:has(.uxa-pwgen) { align-items: center; }

/* Смуги над формою: помилка входу (червона) і блокування (помаранчева). */
.uxa-banner {
	display: grid;
	gap: 3px;
	padding: 12px 16px;
	border-radius: var(--uxa-r-s);
	font-size: 14.5px;
	line-height: 1.45;
}
.uxa-banner--err { background: var(--uxc-badge-sale-bg); color: #8f2020; border: 1px solid #f3cccc; }
.uxa-banner--err b { color: var(--uxc-badge-sale-ink); }
.uxa-banner a { color: inherit; font-weight: 700; text-decoration: underline; }
.uxa-banner--lock { background: var(--uxc-badge-hit-bg); border: 1px solid #f5d2b3; color: #6b3a00; justify-items: start; }
.uxa-banner--lock b { color: var(--uxc-badge-hit-ink); }
.uxa-banner__act { display: flex; flex-wrap: wrap; gap: 8px; }
/* .uxa-banner a підкреслює посилання в тексті смуги — кнопці це не треба. */
.uxa .uxa-banner--lock .uxa-btn { margin-top: 8px; color: var(--uxc-blue); text-decoration: none; }

.uxa-or { display: flex; align-items: center; gap: 14px; font-size: 13.5px; color: var(--uxc-mut); }
.uxa-or::before, .uxa-or::after { content: ''; flex: 1; height: 1px; background: var(--uxc-line); }

/* Соцмережі: Google першим і великим (за правилами Google: біле тло, сіра рамка, «G» зліва), решта — рядом. */
.uxa-sso { display: grid; gap: 12px; }
.uxa .uxa-gbtn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	min-height: 50px;
	padding: 8px 48px;
	border: 1px solid #c8d1dc;
	border-radius: var(--uxa-r-s);
	background: #fff;
	font: 700 16px/1.2 'Onest', sans-serif;
	color: #1f1f1f;
	text-decoration: none;
	cursor: pointer;
	transition: border-color var(--ux-dur-fast) var(--ux-ease), box-shadow var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-gbtn:hover { border-color: #9fb0c6; box-shadow: 0 6px 16px -10px rgba(31, 79, 158, .5); color: #1f1f1f; text-decoration: none; }
.uxa-gbtn:focus-visible { outline: none; box-shadow: var(--uxa-ring); }
.uxa-gbtn__g { position: absolute; left: 16px; width: 22px; height: 22px; }
.uxa-sso__more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.uxa-sso__t { grid-column: 1 / -1; text-align: center; font-size: 13px; color: var(--uxc-mut); }
.uxa .uxa-ssob {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 0;
	min-height: 44px;
	padding: 4px 8px;
	border: 1px solid var(--uxc-line);
	border-radius: 999px;
	background: #fff;
	font: 600 13.5px/1 'Onest', sans-serif;
	color: var(--uxc-ink2);
	text-decoration: none;
	cursor: pointer;
}
.uxa-ssob__tx { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.uxa .uxa-ssob:hover { border-color: var(--uxc-blue); color: var(--uxc-blue); text-decoration: none; }
.uxa-ssob:focus-visible { outline: none; box-shadow: var(--uxa-ring); }
.uxa-soc__ic { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #fff; font: 700 13px/1 'Onest', sans-serif; }
.uxa-soc__ic .uxa-ic { width: 15px; height: 15px; }
.uxa-soc__ic[data-s="f"] { background: #1877f2; }
.uxa-soc__ic[data-s="t"] { background: #29a9eb; }
.uxa-soc__ic[data-s="l"] { background: #0a66c2; }
.uxa .uxa-sso__note { margin: -2px 0 0; text-align: center; font-size: 13px; color: var(--uxc-mut); }
/* Власний вхід через мережі ще в розробці (налаштування «Вхід через соцмережі» = own): кнопки видно, але вони
   приглушені й не натискаються — це span без адреси. */
.uxa .uxa-gbtn.is-off, .uxa .uxa-ssob.is-off { cursor: default; opacity: .45; filter: grayscale(1); box-shadow: none; }
.uxa .uxa-gbtn.is-off:hover { border-color: #c8d1dc; box-shadow: none; }
.uxa .uxa-ssob.is-off:hover { border-color: var(--uxc-line); color: var(--uxc-ink2); }

/* Пароль: «око» в полі, «Згенерувати» над полем. */
.uxa-pw { position: relative; }
.uxa .uxa-pw input { padding-right: 52px; }
/* згенерований пароль читають з екрана — моноширинний, як код */
.uxa .uxa-pw input[type="text"] { font-family: ui-monospace, 'Consolas', monospace; letter-spacing: .02em; }
.uxa .uxa-pw__eye {
	position: absolute;
	top: 2px;
	right: 2px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: none;
	color: var(--uxc-mut);
	cursor: pointer;
}
.uxa-pw__eye .uxa-ic { width: 20px; height: 20px; }
.uxa-pw__eye:hover, .uxa-pw__eye[aria-pressed="true"] { color: var(--uxc-blue); }
.uxa-pw__eye:focus-visible { outline: none; box-shadow: var(--uxa-ring); }
/* висота — як у підпису поля: інакше «Пароль» опускався нижче за сусіднє «Повторіть пароль» */
.uxa .uxa-pwgen { display: inline-flex; align-items: center; gap: 5px; min-height: 0; height: 18px; line-height: 18px; padding: 0; border: 0; background: none; cursor: pointer; font-family: inherit; }
.uxa-pwgen .uxa-ic { width: 15px; height: 15px; }
.uxa-pwgen:hover { text-decoration: underline; }
.uxa-pwgen:focus-visible { outline: none; box-shadow: var(--uxa-ring); border-radius: 6px; }
.uxa .uxa-pwgen__ok { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; font-size: 13px; line-height: 1.4; color: #1f8a52; }
.uxa .uxa-pwgen__ok .uxa-lnk { min-height: 0; padding: 0; font-size: 13px; }
/* правилу «4–40 символів» згенерований пароль відповідає — підказка зайва */
.uxa-pwgen__ok ~ .uxa-fld__hint { display: none; }

/* «Перевірте пошту», «Посилання не працює» */
/* Вхід: «Паролем / Кодом на email» — посилання (працюють без скрипта), вигляд — сегмента фільтра замовлень. */
.uxa-lmode { display: flex; }
.uxa .uxa-lmode .uxa-seg__b { flex: 1 1 0; justify-content: center; text-decoration: none; }
.uxa .uxa-seg__b[aria-current="page"] { background: #fff; color: var(--uxc-ink); box-shadow: 0 1px 3px rgba(22, 36, 58, .14); }

/* Код з листа: шість цифр розрядкою, моноширинно — видно, скільки лишилось. */
.uxa-otp { display: grid; gap: 14px; }
.uxa .uxa-otp__to { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--uxc-ink2); }
.uxa-otp__to .uxa-lnk { min-height: 0; padding: 0; }
.uxa .uxa-fld input.uxa-otp__in { font: 700 24px/1 ui-monospace, 'Consolas', monospace; letter-spacing: .45em; text-align: center; padding-left: .45em; }
.uxa .uxa-otp__re { justify-self: center; margin: 0; }
.uxa-otp__re .uxa-lnk:disabled, .uxa .uxa-lnk.uxa-otp__re:disabled { color: var(--uxc-mut); cursor: default; text-decoration: none; }
.uxa-fld .uxa-lnk.uxa-otp__re { justify-self: start; }

.uxa-sent { display: grid; justify-items: center; gap: 8px; text-align: center; padding: 10px 0; }
.uxa .uxa-sent p, .uxa .uxa-sent form { margin: 0; font-size: 16px; line-height: 1.5; }
.uxa-sent .uxa-lnk { min-height: 0; padding: 0; font-size: inherit; }
.uxa-empty__ic--warn { background: var(--uxc-badge-hit-bg); color: var(--uxc-badge-hit-ink); }

/* «Пароль і вхід»: пояснення для того, хто входить через соцмережу, — синє: це не помилка. */
.uxa .uxa-alert--info { grid-template-columns: auto minmax(0, 1fr); border-color: #cddcf3; border-left-color: var(--uxc-blue); margin-bottom: 20px; }
.uxa-alert--info .uxa-alert__ic { background: #fff; color: var(--uxc-blue); box-shadow: inset 0 0 0 1px var(--uxc-line); }
/* «G» — та сама, що в кнопці Google, але там вона absolute зліва від тексту; тут — у кружку. */
.uxa-alert--info .uxa-alert__ic svg { position: static; width: 20px; height: 20px; }
.uxa-alert--info .uxa-alert__tx { justify-items: start; }
.uxa-alert--info .uxa-btn { margin-top: 6px; }
.uxa-secf, .uxa .uxa-alert--info { max-width: 760px; }
/* Кабінет без пароля: поля вимкнені, доки не надіслано код, — видно одразу, без спроби щось ввести. */
.uxa .uxa-secf--nopw .uxa-fld input:disabled,
.uxa .uxa-secf--nopw .uxa-fld input:disabled:hover { background: var(--uxc-line3); border-color: var(--uxc-line); color: var(--uxc-mut); cursor: not-allowed; }
.uxa .uxa-secf--nopw .uxa-fld input:disabled::placeholder { color: var(--uxc-mut); }
.uxa .uxa-secf--nopw .uxa-pw__eye:disabled, .uxa .uxa-secf--nopw .uxa-btn[disabled] { cursor: not-allowed; }

@media (max-width: 1023.98px) {
	.uxa-auth { grid-template-columns: minmax(0, 1fr); }
	.uxa-auth__side { padding: 30px 28px; }
}
@media (max-width: 575.98px) {
	.uxa-auth { margin-top: 0; border-radius: 14px; }
	.uxa-auth__main { padding: 24px 18px; gap: 16px; }
	.uxa-auth__side { padding: 24px 18px; }
	.uxa .uxa-auth__t { font-size: 22px; }
	.uxa .uxa-gbtn { padding: 8px 16px 8px 48px; }
}
/* Телефон — лише значки мереж (назва лишається в aria-label): «Facebook» у вузькій клітинці обрізався. */
@media (max-width: 429.98px) {
	.uxa-ssob__tx { display: none; }
	.uxa .uxa-ssob { padding: 4px; }
}

/* ==========================================================================
   Товари (фаза 5): картка, сітка, стрічки огляду, обране, переглянуті, «Купували раніше», порівняння.
   Значення — з макета (cabinet.css: .uxa-strip, .uxa-hdrow, .uxa-day, .uxa-blist, .uxa-bbar, .uxa-cmpls).
   Картка — своя спрощена (у макеті — картка головної uhl_home): без стікерів і бейджів чужих модулів.
   ========================================================================== */

.uxa-hdrow { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 24px; }
.uxa-hdrow__act { display: flex; flex-wrap: wrap; gap: 10px; }

/* Сітка карток: 4 в ряд на широкій колонці кабінету, 3 на планшеті, 2 на телефоні. */
.uxa-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }

.uxa-pc {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding: 12px 12px 14px;
	background: #fff;
	border: 1px solid var(--uxc-line);
	border-radius: var(--uxa-r);
	transition: border-color var(--ux-dur-fast) var(--ux-ease), box-shadow var(--ux-dur-fast) var(--ux-ease);
}
.uxa-pc:hover { border-color: #cddcf3; box-shadow: 0 10px 26px -18px rgba(22, 36, 58, .45); }
.uxa-pc__tools { position: absolute; top: 8px; right: 8px; z-index: 2; display: flex; flex-direction: column; gap: 6px; }
.uxa .uxa-pc__tool {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid var(--uxc-line);
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--uxc-mut);
	cursor: pointer;
	transition: color var(--ux-dur-fast) var(--ux-ease), border-color var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-pc__tool:hover { color: var(--uxc-blue); border-color: #cddcf3; }
.uxa .uxa-pc__tool:focus-visible { outline: none; box-shadow: var(--uxa-ring); }
.uxa .uxa-pc__tool .uxa-ic { width: 19px; height: 19px; }
/* «В обраному» — тлом кнопки, не заливкою значка: у символі спрайту fill="none", і заливка з CSS до контуру
   в <use> не доходить. */
.uxa .uxa-pc__tool[data-uxa-wish].is-on { color: #fff; background: var(--uxc-badge-sale); border-color: var(--uxc-badge-sale); }
.uxa .uxa-pc__tool[data-uxa-cmp].is-on { color: #fff; background: var(--uxc-blue); border-color: var(--uxc-blue); }
.uxa .uxa-pc__tool[aria-busy="true"] { opacity: .6; cursor: progress; }
.uxa-pc__img { display: grid; place-items: center; aspect-ratio: 1 / 1; margin-bottom: 4px; border-radius: 10px; background: var(--uxc-tint2); overflow: hidden; }
.uxa .uxa-pc__img img { width: 100%; height: 100%; object-fit: contain; }
.uxa .uxa-pc__img .uxa-noimg { width: 100%; height: 100%; }
.uxa .uxa-pc__nm {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font: 600 15px/1.35 'Onest', sans-serif;
	color: var(--uxc-ink);
	text-decoration: none;
	overflow-wrap: break-word;
}
.uxa .uxa-pc__nm:hover { color: var(--uxc-blue); text-decoration: underline; }
.uxa-pc__meta { font-size: 13px; line-height: 1.4; color: var(--uxc-mut); }
.uxa-pc__ft { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.uxa-pc__pr { display: grid; gap: 1px; }
.uxa-pc__pr b { font: 700 18px/1.15 'Geologica', 'Onest', sans-serif; color: var(--uxc-ink); white-space: nowrap; }
.uxa-pc__pr s { font-size: 13px; color: var(--uxc-mut); }
.uxa-pc__pr span { font-size: 14px; font-weight: 600; color: var(--uxc-ink3); }
.uxa .uxa-pc__buy { padding-left: 12px; padding-right: 12px; }
.uxa .uxa-pc__buy.is-done { background: #e3f3ea; color: #1a7a45; }

/* Стрічки огляду — каруселі (0.13.22): повний перелік на своєму екрані. */
.uxa-strip { margin-top: 40px; }
.uxa-strip__hd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin-bottom: 16px; }
.uxa .uxa-h2 { margin: 0; font: 800 clamp(20px, 2vw, 26px)/1.2 'Geologica', 'Onest', sans-serif; color: var(--uxc-ink); }
.uxa-h2__n { margin-left: 6px; font: 600 .62em/1 'Onest', sans-serif; color: var(--uxc-mut); vertical-align: middle; }
.uxa-strip__act { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.uxa .uxa-seeall { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--uxc-blue); text-decoration: none; }
.uxa .uxa-seeall:hover { text-decoration: underline; }
.uxa-seeall .uxa-ic { width: 18px; height: 18px; }

/* Карусель стрічки (0.13.22) — рецепт стрічки «Повернутися до переглянутого» модуля категорій: рядок гортається сам
   (палець, тачпад, клавіатура по картках), видно «хвостик» наступної картки — 4⅓ / 3⅓ / 1½. Смуга прокрутки схована:
   є стрілки й хвостик. Поля зверху й знизу — щоб тінь і рамка картки при наведенні не обрізались. */
.uxa-rail {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 8px 2px 16px;
	margin: -8px -2px -16px;
}
.uxa-rail::-webkit-scrollbar { display: none; }
.uxa-rail > * { flex: 0 0 calc((100% - 64px) * 3 / 13); min-width: 0; scroll-snap-align: start; }
.uxa-rail > :last-child { scroll-snap-align: end; }
/* Усі товари стрічки вміщуються (0.13.23) — на весь ряд, як сітка до 0.13.22: 4 / від 1600 px 5 / 3 / 2. Клас ставить
   cabinet.js (без скрипта — карусель, теж гаразд). */
.uxa-rail.is-fit > * { flex-basis: calc((100% - 48px) / 4); }
@media (min-width: 1600px) { .uxa-rail.is-fit > * { flex-basis: calc((100% - 64px) / 5); } }
@media (max-width: 1023.98px) { .uxa-rail.is-fit > * { flex-basis: calc((100% - 32px) / 3); } }
@media (max-width: 719.98px) { .uxa-rail.is-fit > * { flex-basis: calc((100% - 10px) / 2); } }
.uxa-rail.is-drag-on { cursor: grab; }
.uxa-rail.is-dragging { cursor: grabbing; user-select: none; scroll-snap-type: none; }
.uxa-rail img { -webkit-user-drag: none; }
@media (min-width: 1600px) {
	.uxa-rail > * { flex-basis: calc((100% - 80px) * 3 / 16); }
}

/* Стрілки — круглі, по одній картці; на краю гаснуть, коли гортати нічого — ховаються (cabinet.js). */
.uxa-railnav { display: flex; gap: 8px; }
.uxa-railnav[hidden] { display: none; }
.uxa .uxa-railnav__b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #eef1f6;
	color: var(--uxc-ink);
	cursor: pointer;
	transition: background var(--ux-dur-fast) var(--ux-ease), color var(--ux-dur-fast) var(--ux-ease), opacity var(--ux-dur-fast) var(--ux-ease);
}
.uxa .uxa-railnav__b:hover:not(:disabled) { background: var(--uxc-blue); color: #fff; }
.uxa .uxa-railnav__b:focus-visible { outline: 2px solid var(--uxc-blue); outline-offset: 2px; }
.uxa .uxa-railnav__b:disabled { opacity: .45; cursor: default; }
.uxa-railnav__b .uxa-ic { width: 18px; height: 18px; transform: rotate(-90deg); }
.uxa-railnav__b[data-uxa-step="-1"] .uxa-ic { transform: rotate(90deg); }
@media (max-width: 1023.98px), (pointer: coarse) {
	.uxa .uxa-railnav__b { width: 44px; height: 44px; }
}

/* Переглянуті: день — розділ із лінією до краю. */
.uxa-day + .uxa-day { margin-top: 30px; }
.uxa .uxa-day__t {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	font: 700 13px/1 'Onest', sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--uxc-mut);
}
.uxa-day__t::after { content: ''; flex: 1; height: 1px; background: var(--uxc-line); }
.uxa-more { display: flex; justify-content: center; margin-top: 28px; }

/* Купували раніше. */
.uxa .uxa-blist { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.uxa-brow {
	display: grid;
	grid-template-columns: 28px 72px minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 14px;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid var(--uxc-line);
	border-radius: var(--uxa-r);
}
.uxa-brow:has(.uxa-brow__ch input:checked) { border-color: var(--uxc-blue); box-shadow: inset 0 0 0 1px var(--uxc-blue); }
.uxa .uxa-brow__ch { margin: 0; display: grid; place-items: center; width: 28px; height: 28px; cursor: pointer; }
.uxa .uxa-brow__ch input { width: 20px; height: 20px; margin: 0; accent-color: var(--uxc-blue); }
.uxa .uxa-brow img, .uxa .uxa-brow .uxa-noimg { width: 72px; height: 56px; object-fit: contain; border-radius: 8px; background: var(--uxc-tint); }
.uxa-brow__tx { display: grid; gap: 2px; min-width: 0; overflow-wrap: break-word; }
.uxa .uxa-brow__nm { font-weight: 600; color: var(--uxc-ink); text-decoration: none; line-height: 1.35; }
.uxa .uxa-brow__nm:hover { color: var(--uxc-blue); text-decoration: underline; }
.uxa-brow__tx span { font-size: 13px; color: var(--uxc-mut); }
.uxa-brow__pr { white-space: nowrap; font-size: 16px; color: var(--uxc-ink); }
.uxa-brow.is-off .uxa-brow__nm { color: var(--uxc-mut); }

.uxa-qty { display: inline-flex; align-items: center; border: 1px solid #cfdaea; border-radius: var(--uxa-r-s); overflow: hidden; background: #fff; }
.uxa .uxa-qty button { width: 36px; height: 40px; padding: 0; border: 0; background: none; font-size: 18px; color: var(--uxc-blue); cursor: pointer; }
.uxa .uxa-qty button:hover { background: var(--uxc-tint); }
.uxa .uxa-qty input { width: 46px; height: 40px; padding: 0; border: 0; text-align: center; font: 600 15px/1 'Onest', sans-serif; color: var(--uxc-ink); }
.uxa .uxa-qty input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--uxc-blue); }

/* Смуга «позначено» — прилипає до низу вікна, поки є позначені. */
.uxa-bbar {
	position: sticky;
	bottom: 16px;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 14px;
	padding: 10px 12px 10px 18px;
	border-radius: var(--uxa-r);
	background: var(--uxc-ink);
	color: #fff;
	font-weight: 600;
	box-shadow: 0 16px 36px -14px rgba(22, 36, 58, .55);
}

/* Порівняння — плитки списків (дані й таблиця — модуль uhl_category). */
/* Плитки списків порівняння (0.13.24): у ряду — однакової висоти (stretch), «Порівняти» притиснута донизу — без дір між
   плитками різної висоти і без прокрутки всередині плитки. Назви товарів — повні: обрізані до 2 рядків губили модель
   («Шафа одягова металева…» тричі поспіль), а саме за нею товари в списку й розрізняють. */
.uxa-cmpls { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 20px; align-items: stretch; }
.uxa-cmpl { display: flex; flex-direction: column; gap: 14px; }
.uxa-cmpl__hd { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 10px; }
.uxa .uxa-cmpl__x { display: grid; place-items: center; width: 36px; height: 36px; margin: -6px -8px 0 0; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--uxc-mut); cursor: pointer; }
.uxa .uxa-cmpl__x:hover { background: var(--uxc-badge-sale-bg); color: var(--uxc-badge-sale-ink); }
.uxa .uxa-cmpl__x:focus-visible { outline: none; box-shadow: var(--uxa-ring); }
.uxa .uxa-cmpl__t { margin: 0; font: 800 18px/1.3 'Onest', sans-serif; }
.uxa .uxa-cmpl__t a { color: var(--uxc-ink); text-decoration: none; }
.uxa .uxa-cmpl__t a:hover { color: var(--uxc-blue); }
.uxa .uxa-cmpl__n { margin: 0; font-size: 14px; color: var(--uxc-mut); }
.uxa-cmpl__its { display: grid; gap: 6px; }
.uxa .uxa-cmpl__it { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 6px 10px 6px 6px; border: 1px solid var(--uxc-line3); border-radius: var(--uxa-r-s); color: var(--uxc-ink); text-decoration: none; }
.uxa .uxa-cmpl__it:hover { border-color: #cddcf3; color: var(--uxc-blue); }
.uxa .uxa-cmpl__it img, .uxa .uxa-cmpl__it .uxa-noimg { width: 56px; height: 56px; object-fit: contain; }
.uxa-cmpl__nm { font-size: 14px; line-height: 1.35; overflow-wrap: break-word; }
.uxa-cmpl__pr { white-space: nowrap; font-size: 14.5px; }
.uxa .uxa-cmpl__one { margin: 0; font-size: 13.5px; color: var(--uxc-mut); }
.uxa-cmpl__act { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--uxc-line3); }

@media (max-width: 1279.98px) {
	.uxa-brow { grid-template-columns: 28px 64px minmax(0, 1fr) auto; grid-template-areas: "ch img tx tx" "ch img pr pr" ". . qty buy"; }
	.uxa-brow__ch { grid-area: ch; }
	.uxa .uxa-brow img, .uxa .uxa-brow .uxa-noimg { grid-area: img; width: 64px; height: 50px; }
	.uxa-brow__tx { grid-area: tx; }
	.uxa-brow__pr { grid-area: pr; }
	.uxa-brow .uxa-qty, .uxa-brow > span:not([class]) { grid-area: qty; justify-self: end; }
	.uxa-brow [data-uxa-buyone], .uxa-brow > a.uxa-btn { grid-area: buy; }
}
@media (max-width: 1023.98px) {
	.uxa-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.uxa-rail > * { flex-basis: calc((100% - 48px) * 3 / 10); }
}
@media (max-width: 719.98px) {
	.uxa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.uxa-rail { gap: 10px; }
	.uxa-rail > * { flex-basis: calc((100% - 10px) * 2 / 3); }
	.uxa-pc { padding: 10px 10px 12px; }
	.uxa .uxa-pc__nm { font-size: 14px; }
	.uxa-pc__pr b { font-size: 16px; }
	/* У вузькій картці підпис кнопки не вміщується — лишається значок (назва — в aria-label). */
	.uxa-pc__buy span { display: none; }
}
@media (max-width: 575.98px) {
	.uxa-hdrow__act { width: 100%; }
	.uxa-hdrow__act .uxa-btn { flex: 1 1 auto; }
	.uxa-brow { grid-template-columns: 28px 44px minmax(0, 1fr); grid-template-areas: "ch img tx" "ch img pr" "act act act"; gap: 8px; }
	.uxa .uxa-brow img, .uxa .uxa-brow .uxa-noimg { width: 44px; height: 35px; }
	.uxa-brow .uxa-qty, .uxa-brow > span:not([class]) { grid-area: act; justify-self: start; }
	.uxa-brow [data-uxa-buyone], .uxa-brow > a.uxa-btn { grid-area: act; justify-self: end; }
	.uxa .uxa-brow__nm { font-size: 15px; }
	.uxa-cmpl__act .uxa-btn { flex: 1 1 100%; }
	.uxa-bbar { bottom: 8px; }
}

/* ==========================================================================
   «Знайти замовлення» (фаза 7): результат — скорочена картка. Значення — з макета (cabinet.css, .uxa-trk).
   ========================================================================== */
.uxa-trk { display: grid; gap: 16px; }
.uxa-trk__hd { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.uxa .uxa-trk__hd p { margin: 0; }
.uxa .uxa-trk__no { font: 800 22px/1.2 'Onest', sans-serif; color: var(--uxc-ink); }
.uxa-trk__act { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; }
.uxa .uxa-trk__again { margin: 0; padding-top: 12px; border-top: 1px solid var(--uxc-line3); }
.uxa-trk .uxa-ord__meta { margin: 0; }
/* «Знайшли ваші замовлення» (фаза 7) — значення з макета (cabinet.css, .uxa-fnd). */
.uxa .uxa-fnd { display: grid; gap: 16px; border-color: #cddcf3; box-shadow: 0 18px 40px -26px rgba(31, 79, 158, .45); }
.uxa-fnd__hd { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; }
.uxa .uxa-fnd__hd .uxa-card__t { margin: 0 0 4px; }
.uxa .uxa-fnd__hd p { margin: 0; font-size: 14.5px; line-height: 1.5; }
.uxa-fnd__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: #eaf0fa; color: var(--uxc-blue); }
.uxa .uxa-fnd__list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.uxa .uxa-fnd__r label {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--uxc-line3);
	border-radius: var(--uxa-r-s);
	font-weight: 400;
	cursor: pointer;
}
.uxa-fnd__r label:has(input:checked) { border-color: #cddcf3; background: #f5f8fd; }
.uxa .uxa-fnd__r input { width: 18px; height: 18px; margin: 0; accent-color: var(--uxc-blue); }
.uxa-fnd__tx { display: flex; flex-wrap: wrap; gap: 2px 10px; align-items: baseline; }
.uxa-fnd__tx span { font-size: 14px; color: var(--uxc-mut); }
.uxa-fnd__sum { white-space: nowrap; }
.uxa-fnd__act { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 14px; }
.uxa-fnd__code { max-width: 320px; margin-top: 12px; }
.uxa .uxa-fnd .uxa-otp__to { margin: 0; }
.uxa .uxa-fnd .uxa-fld { margin: 0; border: 0; padding: 0; min-width: 0; }

@media (max-width: 575.98px) {
	.uxa-trk__act { flex-direction: column; align-items: flex-start; }
	.uxa .uxa-fnd__r label { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "ch tx sum" "ch st st"; row-gap: 6px; }
	.uxa-fnd__r input { grid-area: ch; }
	.uxa-fnd__tx { grid-area: tx; }
	.uxa-fnd__r .uxa-st { grid-area: st; justify-self: start; }
	.uxa-fnd__sum { grid-area: sum; }
	.uxa-fnd__act .uxa-btn { flex: 1 1 100%; }
	.uxa-fnd__code { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	.uxa *, .uxa-skip { transition: none !important; animation: none !important; }
}

/* ==========================================================================
   Друк: лише кабінет, без шапки сайту, меню й кнопок; зверху — хто продавець.
   ========================================================================== */
.uxa-print-hd { display: none; }

@media print {
	@page { size: A4; margin: 14mm 12mm; }
	/* Ховаємо всіх СУСІДІВ на шляху від body до кабінету, а не лише дітей body: на сайті кабінет вкладено в
	   main#uhd-content шапки uhl_header, і «body > *:not(#uxa)» сховав би його разом з обгорткою. */
	:has(#uxa) > :not(#uxa):not(:has(#uxa)) { display: none !important; }
	:has(> #uxa) { margin: 0 !important; padding: 0 !important; background: none !important; }
	html, body { background: #fff !important; }
	.uxa { background: #fff; padding: 0; }
	.uxa-in { max-width: none; padding: 0; }
	.uxa-crumbs, .uxa-side, .uxa-skip, .uxa-back, .uxa-toast, .uxa-modal, .uxa-od__foot, .uxa-od__docs,
	.uxa-alert__act, .uxa-ord__act, .uxa-help, .uxa-noprint { display: none !important; }

	.uxa-print-hd {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 12px;
		margin-bottom: 12px;
		padding-bottom: 8px;
		border-bottom: 2px solid #1f4f9e;
		font-size: 11pt;
		color: #16243a;
	}
	.uxa-print-hd span { font-size: 9pt; color: #5d6b7c; }

	.uxa-layout { display: block; }
	.uxa .uxa-h1 { font-size: 20pt; }
	.uxa-lead { font-size: 11pt; }
	.uxa-card, .uxa-alert { box-shadow: none !important; border-color: #c8d1dd !important; padding: 12px 14px; break-inside: avoid; }

	/* Сторінка замовлення — один аркуш: товари на всю ширину, під ними блоки в ряд. */
	.uxa-od { display: grid; grid-template-columns: 1fr; gap: 8px; }
	.uxa-od__main { gap: 8px; }
	.uxa-od__side { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.uxa-od__steps { padding: 2px 10px 6px; }
	.uxa-od__steps .uxa-steps { margin: 8px 0 2px; }
	.uxa-od__steps + .uxa-od, .uxa-alert + .uxa-od { margin-top: 8px; }
	.uxa .uxa-card__t { font-size: 12pt; margin-bottom: 6px; }
	.uxa .uxa-dl { gap: 6px; }
	.uxa-dl dd, .uxa-od__cm, .uxa-oi__nm, .uxa-od__tot dd, .uxa-od__tot dt { font-size: 9.5pt; }
	.uxa-dl dt, .uxa-oi__q, .uxa-oi__op, .uxa-hist time, .uxa-steps span { font-size: 8.5pt; }
	.uxa-od__sum dd { font-size: 15pt; }
	/* Історія — рядком «статус · дата», без стрічки з кружечками. */
	.uxa .uxa-hist { display: flex; flex-wrap: wrap; gap: 2px 18px; }
	.uxa-hist li { padding: 0; gap: 6px; }
	.uxa-hist li::before, .uxa-hist li::after { content: none !important; }
	.uxa-hist b { font-size: 9.5pt; }
	/* Статус і кроки — у кольорі: без нього «В роботі» на папері не відрізнити від «Скасовано». */
	.uxa-st, .uxa-steps i, .uxa-steps li::after, .uxa-alert { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.uxa-oi { padding: 6px 0; }
	.uxa .uxa-oi__img { width: 48px; height: 38px; }
	.uxa .uxa-oi__nm { color: #16243a !important; text-decoration: none !important; }
	.uxa a[href]::after { content: none !important; }
}
