/* ───── ek-account.css ─────
 * EK personal account — стили только для PR-A:
 *   sidebar + dashboard + login/register/lost-password.
 * Order list / view-order / addresses / details — придут в PR-B.
 *
 * Префикс ek-, скоупируется под .ek-page для изоляции от родителя.
 * Использует токены из ek-home.css (--ek-text, --ek-bg-secondary и т.п.).
 */

/* ──────────────────────────── Layout ──────────────────────────── */
.ek-page .ek-account-page { padding: 32px 0 96px; }

.ek-page .ek-account-grid {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
	align-items: start;
}

/* ──────────────────────────── Sidebar ─────────────────────────── */
.ek-page .ek-account-sidebar {
	position: sticky;
	top: calc(var(--ek-header-total) + 24px);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ek-page .ek-account-user {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	padding: 4px 12px 24px;
	border-bottom: 0.5px solid var(--ek-border);
	margin-bottom: 12px;
}
.ek-page .ek-account-avatar {
	width: 64px; height: 64px;
	border-radius: 50%;
	background: #4F8B5C;
	display: flex; align-items: center; justify-content: center;
	font-size: 22px; font-weight: 500;
	color: #fff;
	letter-spacing: 0.02em;
	margin-bottom: 8px;
}
.ek-page .ek-account-name {
	font-size: 18px; font-weight: 500;
	letter-spacing: -0.005em;
	color: var(--ek-text);
}
.ek-page .ek-account-email {
	font-size: 13px;
	color: var(--ek-text-muted);
}

.ek-page .ek-account-nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.ek-page .ek-an-link {
	display: flex; align-items: center;
	gap: 12px;
	height: 40px; padding: 0 12px;
	border-radius: var(--ek-radius-sm);
	font-size: 14px;
	color: var(--ek-text);
	text-decoration: none;
	transition: background .15s ease;
}
.ek-page .ek-an-link:hover { background: var(--ek-bg-secondary); }
.ek-page .ek-an-link.is-active {
	background: var(--ek-bg-secondary);
	font-weight: 500;
}
.ek-page .ek-an-link svg {
	width: 16px; height: 16px;
	color: var(--ek-text-muted);
	flex: none;
}
.ek-page .ek-an-link.is-active svg { color: var(--ek-text); }
.ek-page .ek-an-link .ek-an-label { flex: 1; min-width: 0; }

.ek-page .ek-an-badge {
	background: var(--ek-text); color: #fff;
	font-size: 10px; font-weight: 500;
	min-width: 18px; height: 18px;
	padding: 0 6px;
	border-radius: 9px;
	display: inline-flex; align-items: center; justify-content: center;
}
.ek-page .ek-an-meta {
	font-size: 12px;
	color: var(--ek-text-muted);
	font-variant-numeric: tabular-nums;
}
.ek-page .ek-an-divider {
	height: 0.5px;
	background: var(--ek-border);
	margin: 12px 4px;
}
.ek-page .ek-an-link.ek-an-logout { color: var(--ek-text-muted); }
.ek-page .ek-an-link.ek-an-logout:hover { color: #B84A4A; background: transparent; }
.ek-page .ek-an-link.ek-an-logout:hover svg { color: #B84A4A; }

/* ──────────────────────────── Content ─────────────────────────── */
.ek-page .ek-account-content { min-width: 0; }

/* ─────────── Common section blocks ─────────── */
.ek-page .ek-acc-greeting { margin-bottom: 40px; }
.ek-page .ek-acc-greeting h1 {
	font-size: 40px; font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 6px;
	color: var(--ek-text);
}
.ek-page .ek-acc-since {
	font-size: 14px;
	color: var(--ek-text-muted);
}

.ek-page .ek-acc-section { margin-top: 56px; }
.ek-page .ek-acc-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
.ek-page .ek-acc-section-head h2 {
	font-size: 24px; font-weight: 500;
	letter-spacing: -0.015em;
	margin: 0;
	color: var(--ek-text);
}
.ek-page .ek-acc-section-link {
	font-size: 14px;
	color: var(--ek-text);
	display: inline-flex; align-items: center; gap: 4px;
	text-decoration: none;
	transition: color .15s;
}
.ek-page .ek-acc-section-link:hover { color: var(--ek-text-muted); }

/* ─────────── Quick cards (2×2) ─────────── */
.ek-page .ek-dashboard-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.ek-page .ek-quick-card {
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-lg);
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 200px;
	text-decoration: none;
	color: inherit;
	transition: transform .2s ease;
}
.ek-page .ek-quick-card:hover { transform: translateY(-2px); }
.ek-page .ek-qc-head {
	display: flex; align-items: center; gap: 10px;
	font-size: 13px;
	color: var(--ek-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 500;
}
.ek-page .ek-qc-head svg {
	width: 16px; height: 16px;
	color: var(--ek-text-muted);
	flex: none;
}
.ek-page .ek-qc-body {
	flex: 1; display: flex; flex-direction: column; gap: 6px;
}
.ek-page .ek-qc-title {
	font-size: 17px; font-weight: 500;
	letter-spacing: -0.005em;
	color: var(--ek-text);
}
.ek-page .ek-qc-sub {
	font-size: 13px; color: var(--ek-text-muted);
}
.ek-page .ek-qc-bignum {
	font-size: 32px; font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--ek-text);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.ek-page .ek-qc-cta {
	display: inline-flex; align-items: center; gap: 4px;
	font-size: 13px;
	color: var(--ek-text);
	font-weight: 500;
	align-self: flex-start;
	margin-top: 4px;
}
.ek-page .ek-qc-cta .ek-chev {
	transition: transform .18s ease;
	display: inline-block;
}
.ek-page .ek-quick-card:hover .ek-chev { transform: translateX(3px); }

.ek-page .ek-qc-thumbs {
	display: flex;
	margin-top: 4px;
}
.ek-page .ek-qc-thumbs .ek-thumb {
	width: 36px; height: 36px;
	border-radius: 6px;
	background: #fff;
	border: 0.5px solid var(--ek-border);
	margin-left: -8px;
	background-image: repeating-linear-gradient(
		135deg,
		rgba(0,0,0,0.04) 0,
		rgba(0,0,0,0.04) 1px,
		transparent 1px,
		transparent 8px
	);
}
.ek-page .ek-qc-thumbs .ek-thumb:first-child { margin-left: 0; }

.ek-page .ek-qc-order .ek-qc-title { font-size: 16px; }

/* ─────────── Order card (последние заказы на dashboard) ─────────── */
.ek-page .ek-order-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ek-page .ek-order-card {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 24px;
	align-items: center;
	padding: 20px 24px;
	background: #fff;
	border: 0.5px solid var(--ek-border);
	border-radius: var(--ek-radius-lg);
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease;
}
.ek-page .ek-order-card:hover { border-color: #C7C7CC; }

.ek-page .ek-oc-thumbs {
	display: flex;
	flex: none;
}
.ek-page .ek-oc-thumb {
	width: 56px; height: 56px;
	border-radius: 10px;
	background: var(--ek-bg-secondary);
	border: 0.5px solid var(--ek-border);
	margin-left: -10px;
	display: flex; align-items: center; justify-content: center;
	padding: 4px;
	overflow: hidden;
}
.ek-page .ek-oc-thumb:first-child { margin-left: 0; }
.ek-page .ek-oc-thumb img {
	width: 100%; height: 100%;
	object-fit: contain;
}
.ek-page .ek-oc-thumb .ek-ph {
	width: 100%; height: 100%;
	border-radius: 4px;
	background-image: repeating-linear-gradient(
		135deg,
		rgba(0,0,0,0.04) 0,
		rgba(0,0,0,0.04) 1px,
		transparent 1px,
		transparent 8px
	);
}
.ek-page .ek-oc-thumb-more {
	width: 56px; height: 56px;
	border-radius: 10px;
	background: var(--ek-text);
	color: #fff;
	font-size: 13px; font-weight: 500;
	display: flex; align-items: center; justify-content: center;
	margin-left: -10px;
}

.ek-page .ek-oc-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.ek-page .ek-oc-id {
	font-size: 16px; font-weight: 500;
	color: var(--ek-text);
}
.ek-page .ek-oc-meta {
	font-size: 13px; color: var(--ek-text-muted);
}
.ek-page .ek-oc-status-row {
	display: flex; align-items: center; gap: 12px;
	margin-top: 4px;
	flex-wrap: wrap;
}

.ek-page .ek-oc-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}
.ek-page .ek-oc-total {
	font-size: 18px; font-weight: 500;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
	color: var(--ek-text);
}

/* ─────────── Status pills ─────────── */
.ek-page .ek-status-pill {
	display: inline-flex; align-items: center; gap: 6px;
	height: 24px; padding: 0 10px;
	border-radius: var(--ek-radius-pill);
	font-size: 12px; font-weight: 500;
	letter-spacing: 0.01em;
}
.ek-page .ek-status-pill::before {
	content: "";
	width: 6px; height: 6px;
	border-radius: 50%;
	background: currentColor;
}
.ek-page .ek-status-pill.ek-done       { background: rgba(79,139,92,0.12);  color: #4F8B5C; }
.ek-page .ek-status-pill.ek-processing { background: var(--ek-bg-secondary); color: var(--ek-text-muted); }
.ek-page .ek-status-pill.ek-shipping   { background: rgba(184,146,74,0.12); color: #B8924A; }
.ek-page .ek-status-pill.ek-cancelled  { background: rgba(184,74,74,0.10);  color: #B84A4A; }

/* ──────────────────────────── Auth screens ─────────────────────── */
.ek-page .ek-auth-page {
	padding: 80px 0 96px;
	min-height: 60vh;
	display: flex; align-items: flex-start; justify-content: center;
}
.ek-page .ek-auth-card {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	display: flex; flex-direction: column;
	gap: 28px;
}

.ek-page .ek-auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border-bottom: 0.5px solid var(--ek-border);
}
.ek-page .ek-auth-tab {
	position: relative;
	height: 48px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 15px;
	font-family: inherit;
	color: var(--ek-text-muted);
	background: none;
	border: 0;
	cursor: pointer;
	transition: color .15s;
}
.ek-page .ek-auth-tab:hover { color: var(--ek-text); }
.ek-page .ek-auth-tab.is-active {
	color: var(--ek-text);
	font-weight: 500;
}
.ek-page .ek-auth-tab.is-active::after {
	content: "";
	position: absolute;
	bottom: -0.5px; left: 0; right: 0;
	height: 1.5px;
	background: var(--ek-text);
}

.ek-page .ek-auth-head {
	display: flex; flex-direction: column;
	gap: 8px;
	margin-bottom: 4px;
}
.ek-page .ek-auth-head h1 {
	font-size: 28px; font-weight: 500;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--ek-text);
}
.ek-page .ek-auth-head p {
	font-size: 14px; color: var(--ek-text-muted); line-height: 1.5;
	margin: 0;
}

.ek-page .ek-auth-pane { display: none; }
.ek-page .ek-auth-pane.is-active { display: flex; flex-direction: column; gap: 28px; }
/* Если на странице один пейн (например, registration выключена) — показываем безусловно. */
.ek-page .ek-auth-card:not(:has(.ek-auth-tabs)) .ek-auth-pane { display: flex; flex-direction: column; gap: 28px; }

.ek-page .ek-auth-form {
	display: flex; flex-direction: column;
	gap: 16px;
}
.ek-page .ek-auth-form .ek-btn { width: 100%; }
.ek-page .ek-auth-form .ek-btn-buy { height: 48px; }

.ek-page .ek-auth-forgot {
	font-size: 13px;
	color: var(--ek-text-muted);
	text-align: center;
	transition: color .15s;
	padding: 4px 0;
	text-decoration: none;
}
.ek-page .ek-auth-forgot:hover { color: var(--ek-text); }

/* PR 14.5 — удалены правила .ek-auth-or и .ek-auth-social (разделитель «или» +
   обёртка кнопки «Войти через Telegram»). Сама кнопка убрана из form-login.php,
   классы больше нигде не используются. */

.ek-page .ek-auth-guest {
	text-align: center;
	font-size: 13px;
	color: var(--ek-text-muted);
	padding: 8px 0;
	border-top: 0.5px solid var(--ek-border);
	transition: color .15s;
	text-decoration: none;
}
.ek-page .ek-auth-guest:hover { color: var(--ek-text); }

.ek-page .ek-auth-footer {
	text-align: center;
	font-size: 13px;
	color: var(--ek-text-muted);
}
/* PR BLOCK-D: переключатель вкладки был <a href="#">, стал <button> —
   у действия внутри страницы адреса нет. Вид сохранён прежний. */
.ek-page .ek-auth-footer a,
.ek-page .ek-auth-switch {
	color: var(--ek-text);
	font-weight: 500;
	border-bottom: 0.5px solid var(--ek-text);
	text-decoration: none;
}
.ek-page .ek-auth-switch {
	appearance: none;
	background: none;
	border-width: 0 0 0.5px;
	border-style: solid;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	cursor: pointer;
}
.ek-page .ek-auth-switch:focus-visible {
	outline: 2px solid var(--ek-text);
	outline-offset: 2px;
}

.ek-page .ek-auth-note {
	font-size: 13px;
	color: var(--ek-text-muted);
	margin: 4px 0 0;
	line-height: 1.5;
}

/* ─────────── Form field (общий для auth + details) ─────────── */
.ek-page .ek-form-field { display: flex; flex-direction: column; gap: 6px; }
.ek-page .ek-form-field label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ek-text-muted);
	font-weight: 500;
}
.ek-page .ek-form-input {
	height: 44px;
	padding: 0 14px;
	border: 0.5px solid var(--ek-border);
	border-radius: var(--ek-radius-sm);
	background: #fff;
	font: 400 14px/1 var(--ek-font);
	color: var(--ek-text);
	outline: 0;
	transition: border-color .15s;
	width: 100%;
	box-sizing: border-box;
}
.ek-page .ek-form-input:focus { border-color: var(--ek-text); }
.ek-page .ek-form-input::placeholder { color: var(--ek-text-muted); }

/* ─────────── Custom checkbox ─────────── */
.ek-page .ek-fcheck {
	display: inline-flex; align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	color: var(--ek-text);
	cursor: pointer;
	user-select: none;
	line-height: 1.5;
	padding: 4px 0;
}
.ek-page .ek-fcheck input[type="checkbox"] {
	position: absolute;
	width: 1px; height: 1px;
	opacity: 0;
	pointer-events: none;
}
.ek-page .ek-fcheck-box {
	flex: none;
	width: 16px; height: 16px;
	border-radius: 4px;
	border: 1px solid var(--ek-border);
	background: #fff;
	margin-top: 1px;
	position: relative;
	transition: background .15s, border-color .15s;
}
.ek-page .ek-fcheck input[type="checkbox"]:checked + .ek-fcheck-box {
	background: var(--ek-text);
	border-color: var(--ek-text);
}
.ek-page .ek-fcheck input[type="checkbox"]:checked + .ek-fcheck-box::after {
	content: "";
	position: absolute;
	left: 4px; top: 1px;
	width: 5px; height: 9px;
	border: solid #fff;
	border-width: 0 1.5px 1.5px 0;
	transform: rotate(45deg);
}
.ek-page .ek-fcheck input[type="checkbox"]:focus + .ek-fcheck-box {
	box-shadow: 0 0 0 3px rgba(29,29,31,0.12);
}
.ek-page .ek-fcheck-label a {
	color: var(--ek-text);
	border-bottom: 0.5px solid currentColor;
	text-decoration: none;
}

/* ─────────── Кнопка ek-btn-buy (48px высота) ─────────── */
.ek-page .ek-btn.ek-btn-buy {
	height: 48px;
	font-size: 15px;
	border-radius: var(--ek-radius-pill);
}

/* ──────────────────────────── WC уведомления ──────────────────────────── */
/* Скоупируем дефолтные сообщения WooCommerce в стиль EK */
.ek-page .woocommerce-notices-wrapper { width: 100%; }
.ek-page .woocommerce-message,
.ek-page .woocommerce-info,
.ek-page .woocommerce-error {
	font-size: 14px;
	padding: 12px 16px;
	border-radius: var(--ek-radius-sm);
	margin: 0 0 16px;
	list-style: none;
}
.ek-page .woocommerce-message  { background: rgba(79,139,92,0.10);  color: #4F8B5C; }
.ek-page .woocommerce-info     { background: var(--ek-bg-secondary); color: var(--ek-text); }
.ek-page .woocommerce-error    { background: rgba(184,74,74,0.10);  color: #B84A4A; }
.ek-page .woocommerce-error li { list-style: none; }

/* ──────────────────────────── Orders toolbar ──────────────────────────── */
.ek-page .ek-orders-toolbar {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}
.ek-page .ek-filter-chips {
	display: flex; gap: 6px; flex-wrap: wrap;
}
.ek-page .ek-filter-chip {
	height: 32px; padding: 0 14px;
	border-radius: var(--ek-radius-pill);
	background: var(--ek-bg-secondary);
	color: var(--ek-text);
	font-size: 13px;
	font-family: inherit;
	border: 0;
	cursor: pointer;
	display: inline-flex; align-items: center;
	transition: background .15s, color .15s;
}
.ek-page .ek-filter-chip:hover { background: #ECECEE; }
.ek-page .ek-filter-chip.is-active {
	background: var(--ek-text);
	color: #fff;
}

.ek-page .ek-orders-search {
	position: relative;
	width: 240px;
}
.ek-page .ek-orders-search svg {
	position: absolute;
	left: 12px; top: 50%;
	transform: translateY(-50%);
	color: var(--ek-text-muted);
	pointer-events: none;
}
.ek-page .ek-orders-search input {
	width: 100%;
	height: 36px;
	padding: 0 14px 0 36px;
	border-radius: var(--ek-radius-pill);
	border: 0.5px solid var(--ek-border);
	background: #fff;
	font: 400 13px/1 var(--ek-font);
	color: var(--ek-text);
	outline: 0;
	transition: border-color .15s;
	box-sizing: border-box;
}
.ek-page .ek-orders-search input:focus { border-color: var(--ek-text); }
.ek-page .ek-orders-search input::placeholder { color: var(--ek-text-muted); }

/* Скрытие отфильтрованных карточек (JS-фильтр) */
.ek-page .ek-order-card.ek-is-hidden { display: none; }

/* ──────────────────────────── Pagination ──────────────────────────── */
.ek-page .ek-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 32px;
}
.ek-page .ek-pg-num,
.ek-page .ek-pg-arrow {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 32px; height: 32px;
	padding: 0 8px;
	border-radius: var(--ek-radius-sm);
	font-size: 13px;
	color: var(--ek-text);
	text-decoration: none;
	transition: background .15s, color .15s;
}
.ek-page .ek-pg-num:hover,
.ek-page .ek-pg-arrow:hover { background: var(--ek-bg-secondary); }
.ek-page .ek-pg-num.is-current {
	background: var(--ek-text);
	color: #fff;
	font-weight: 500;
}
.ek-page .ek-pg-arrow.is-disabled {
	color: var(--ek-text-muted);
	opacity: 0.4;
	pointer-events: none;
}

/* ──────────────────────────── Empty state (orders) ──────────────────────────── */
.ek-page .ek-empty-state {
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	gap: 12px;
	padding: 80px 24px;
	text-align: center;
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-lg);
}
.ek-page .ek-empty-icon {
	color: var(--ek-text-muted);
	margin-bottom: 4px;
}
.ek-page .ek-empty-title {
	font-size: 24px; font-weight: 500;
	letter-spacing: -0.01em;
	margin: 0;
	color: var(--ek-text);
}
.ek-page .ek-empty-body {
	font-size: 14px;
	color: var(--ek-text-muted);
	margin: 0 0 12px;
	max-width: 360px;
	line-height: 1.5;
}

/* ──────────────────────────── View order ──────────────────────────── */
.ek-page .ek-back-link {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 13px;
	color: var(--ek-text-muted);
	margin-bottom: 20px;
	transition: color .15s;
	text-decoration: none;
}
.ek-page .ek-back-link:hover { color: var(--ek-text); }

.ek-page .ek-view-order-head {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px;
	margin-bottom: 40px;
	flex-wrap: wrap;
}
.ek-page .ek-view-order-head h1 {
	font-size: 32px; font-weight: 500;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--ek-text);
}

.ek-page .ek-status-pill.ek-lg {
	height: 32px; padding: 0 16px;
	font-size: 14px;
}
.ek-page .ek-status-pill.ek-lg::before { width: 8px; height: 8px; }

/* Timeline */
.ek-page .ek-order-timeline {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0;
	margin-bottom: 48px;
	padding: 24px;
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-lg);
	position: relative;
}
.ek-page .ek-timeline-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	position: relative;
	z-index: 1;
}
.ek-page .ek-timeline-step::before,
.ek-page .ek-timeline-step::after {
	content: "";
	position: absolute;
	top: 14px;
	height: 1px;
	background: var(--ek-border);
	width: 50%;
	z-index: -1;
}
.ek-page .ek-timeline-step::before { left: 0; }
.ek-page .ek-timeline-step::after  { right: 0; }
.ek-page .ek-timeline-step:first-child::before,
.ek-page .ek-timeline-step:last-child::after { display: none; }

.ek-page .ek-timeline-step.ek-is-done::before,
.ek-page .ek-timeline-step.ek-is-done::after,
.ek-page .ek-timeline-step.ek-is-active::before { background: var(--ek-text); }

.ek-page .ek-timeline-dot {
	width: 28px; height: 28px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid var(--ek-border);
	display: flex; align-items: center; justify-content: center;
	color: transparent;
}
.ek-page .ek-timeline-step.ek-is-done .ek-timeline-dot {
	background: var(--ek-text);
	border-color: var(--ek-text);
	color: #fff;
}
.ek-page .ek-timeline-step.ek-is-active .ek-timeline-dot {
	background: var(--ek-text);
	border-color: var(--ek-text);
	position: relative;
}
.ek-page .ek-timeline-step.ek-is-active .ek-timeline-dot::after {
	content: "";
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #fff;
}
.ek-page .ek-timeline-label {
	font-size: 12px;
	color: var(--ek-text-muted);
	text-align: center;
	line-height: 1.3;
	max-width: 120px;
}
.ek-page .ek-timeline-step.ek-is-done .ek-timeline-label,
.ek-page .ek-timeline-step.ek-is-active .ek-timeline-label { color: var(--ek-text); }
.ek-page .ek-timeline-step.ek-is-active .ek-timeline-label { font-weight: 500; }

/* View order grid */
.ek-page .ek-view-order-grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 32px;
	align-items: start;
}

.ek-page .ek-view-order-items {
	display: flex; flex-direction: column;
	gap: 0;
	border-top: 0.5px solid var(--ek-border);
}
.ek-page .ek-vo-item {
	display: grid;
	grid-template-columns: 72px 1fr auto;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 0.5px solid var(--ek-border);
	align-items: center;
}
.ek-page .ek-vo-thumb {
	width: 72px; height: 72px;
	background: var(--ek-bg-secondary);
	border-radius: 10px;
	padding: 8px;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.ek-page .ek-vo-thumb img {
	width: 100%; height: 100%;
	object-fit: contain;
}
.ek-page .ek-vo-thumb .ek-ph {
	width: 100%; height: 100%;
	border-radius: 4px;
	background-image: repeating-linear-gradient(
		135deg,
		rgba(0,0,0,0.04) 0,
		rgba(0,0,0,0.04) 1px,
		transparent 1px,
		transparent 8px
	);
}
.ek-page .ek-vo-body {
	display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.ek-page .ek-vo-name {
	font-size: 15px; font-weight: 500; color: var(--ek-text);
}
.ek-page .ek-vo-specs {
	font-size: 13px; color: var(--ek-text-muted);
}
.ek-page .ek-vo-qty {
	font-size: 13px; color: var(--ek-text-muted); margin-top: 4px;
}
.ek-page .ek-vo-price {
	font-size: 17px; font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--ek-text);
	font-variant-numeric: tabular-nums;
}

.ek-page .ek-view-order-summary {
	position: sticky;
	top: calc(var(--ek-header-total) + 24px);
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-lg);
	padding: 28px;
	display: flex; flex-direction: column;
	gap: 20px;
}
.ek-page .ek-vo-block { display: flex; flex-direction: column; gap: 6px; }
.ek-page .ek-vo-block-label {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ek-text-muted);
	font-weight: 500;
}
.ek-page .ek-vo-block-content {
	font-size: 14px; color: var(--ek-text); line-height: 1.5;
}

.ek-page .ek-vo-totals {
	display: flex; flex-direction: column; gap: 8px;
	padding-top: 16px;
	border-top: 0.5px solid var(--ek-border);
}
.ek-page .ek-sum-row {
	display: flex; align-items: center; justify-content: space-between;
	font-size: 13px;
	color: var(--ek-text);
}
.ek-page .ek-sum-row .ek-sum-label { color: var(--ek-text-muted); }
.ek-page .ek-sum-row .ek-sum-value { font-variant-numeric: tabular-nums; }
.ek-page .ek-sum-row.ek-free .ek-sum-value { color: #4F8B5C; font-weight: 500; }
.ek-page .ek-sum-total {
	display: flex; align-items: baseline; justify-content: space-between;
	margin-top: 8px;
	padding-top: 12px;
	border-top: 0.5px solid var(--ek-border);
}
.ek-page .ek-sum-total-label {
	font-size: 14px; color: var(--ek-text);
}
.ek-page .ek-sum-total-value {
	font-size: 22px; font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--ek-text);
	font-variant-numeric: tabular-nums;
}

.ek-page .ek-vo-actions {
	display: flex; flex-direction: column; gap: 8px;
	margin-top: 4px;
}
.ek-page .ek-vo-actions .ek-btn { width: 100%; gap: 8px; }

/* ── Help section (view-order footer) ── */
.ek-page .ek-help-section {
	margin-top: 64px;
	padding: 32px;
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-lg);
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px;
}
.ek-page .ek-help-text { display: flex; flex-direction: column; gap: 4px; }
.ek-page .ek-help-text strong { font-size: 17px; font-weight: 500; color: var(--ek-text); }
.ek-page .ek-help-text span   { font-size: 13px; color: var(--ek-text-muted); }
.ek-page .ek-help-actions { display: flex; gap: 12px; flex: none; }

/* Order notes (если есть) */
.ek-page .ek-order-notes {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex; flex-direction: column; gap: 12px;
}
.ek-page .ek-order-note {
	padding: 16px;
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-sm);
}
.ek-page .ek-order-note-meta {
	font-size: 12px;
	color: var(--ek-text-muted);
	margin-bottom: 4px;
}
.ek-page .ek-order-note-body {
	font-size: 14px;
	color: var(--ek-text);
}

/* ──────────────────────────── Addresses ──────────────────────────── */
.ek-page .ek-acc-intro {
	font-size: 14px;
	color: var(--ek-text-muted);
	margin: -16px 0 24px;
	line-height: 1.5;
}
.ek-page .ek-addresses-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.ek-page .ek-address-card {
	background: #fff;
	border: 0.5px solid var(--ek-border);
	border-radius: var(--ek-radius-lg);
	padding: 28px;
	display: flex; flex-direction: column;
	gap: 16px;
	min-height: 240px;
	position: relative;
}
.ek-page .ek-address-card.ek-is-primary { border-color: #4F8B5C; }
.ek-page .ek-ac-head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.ek-page .ek-ac-type {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 13px; font-weight: 500;
	color: var(--ek-text);
}
.ek-page .ek-ac-type svg {
	width: 16px; height: 16px; color: var(--ek-text);
}
.ek-page .ek-ac-primary-badge {
	display: inline-flex; align-items: center; gap: 4px;
	height: 22px; padding: 0 10px;
	border-radius: var(--ek-radius-pill);
	background: rgba(79,139,92,0.12);
	color: #4F8B5C;
	font-size: 11px; font-weight: 500;
}
.ek-page .ek-ac-body {
	flex: 1; display: flex; flex-direction: column; gap: 6px;
}
.ek-page .ek-ac-addr   { font-size: 15px; color: var(--ek-text); line-height: 1.5; }
.ek-page .ek-ac-empty  { font-size: 14px; color: var(--ek-text-muted); font-style: italic; }
.ek-page .ek-ac-name   { font-size: 13px; color: var(--ek-text-muted); }
.ek-page .ek-ac-phone  { font-size: 13px; color: var(--ek-text-muted); font-variant-numeric: tabular-nums; }
.ek-page .ek-ac-actions {
	display: flex; gap: 8px; flex-wrap: wrap;
	padding-top: 12px;
	border-top: 0.5px solid var(--ek-border);
}
.ek-page .ek-ac-action {
	background: none; border: 0; padding: 0;
	font-size: 13px;
	color: var(--ek-text-muted);
	text-decoration: none;
	transition: color .15s;
}
.ek-page .ek-ac-action.ek-is-primary { color: var(--ek-text); font-weight: 500; }
.ek-page .ek-ac-action:hover { color: var(--ek-text); }

/* ──────────────────────────── Details form ──────────────────────────── */
.ek-page .ek-details-form {
	display: flex; flex-direction: column;
	gap: 32px;
}
.ek-page .ek-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 24px;
}
.ek-page .ek-form-field-full { grid-column: 1 / -1; }

.ek-page .ek-form-field select.ek-form-input {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none' stroke='%2386868B' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M2 4l3 3 3-3'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 10px 10px;
	padding-right: 36px;
}

.ek-page .ek-form-optional {
	text-transform: none;
	letter-spacing: 0;
	color: var(--ek-text-muted);
	margin-left: 4px;
	font-weight: 400;
}

.ek-page .ek-form-section {
	padding: 32px;
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-lg);
}
.ek-page .ek-form-section h2 {
	font-size: 20px; font-weight: 500;
	letter-spacing: -0.01em;
	margin: 0 0 20px;
	color: var(--ek-text);
}
.ek-page .ek-form-section .ek-form-grid { background: transparent; }

.ek-page .ek-form-actions {
	display: flex; gap: 12px;
	margin-top: 8px;
}

/* WC form-row внутри ek-form-grid (form-edit-address: WC рендерит свои <p class="form-row">).
   🔴 НЕ display:contents — он растаскивал метку и поле по разным ячейкам грида
   (метка справа, инпут слева — форма адреса «рассыпалась»). Каждый .form-row —
   ячейка-колонка: метка над полем; first/last в две колонки, wide — во всю ширину. */
.ek-page .ek-form-grid .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	min-width: 0;
	grid-column: 1 / -1;
}
.ek-page .ek-form-grid .form-row-first { grid-column: 1 / 2; }
.ek-page .ek-form-grid .form-row-last  { grid-column: 2 / 3; }
.ek-page .ek-form-grid .woocommerce-input-wrapper { display: block; width: 100%; min-width: 0; }
.ek-page .ek-form-grid .form-row label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ek-text-muted);
	font-weight: 500;
	display: block;
	margin-bottom: 0;
}
.ek-page .ek-form-grid .form-row input.input-text,
.ek-page .ek-form-grid .form-row select,
.ek-page .ek-form-grid .form-row .select2-selection,
.ek-page .ek-form-grid .form-row textarea {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	border: 0.5px solid var(--ek-border);
	border-radius: var(--ek-radius-sm);
	background: #fff;
	font: 400 14px/1 var(--ek-font);
	color: var(--ek-text);
	outline: 0;
	transition: border-color .15s;
	box-sizing: border-box;
}
.ek-page .ek-form-grid .form-row input.input-text:focus,
.ek-page .ek-form-grid .form-row select:focus,
.ek-page .ek-form-grid .form-row textarea:focus { border-color: var(--ek-text); }
.ek-page .ek-form-grid .form-row textarea { height: auto; padding: 12px 14px; min-height: 100px; line-height: 1.5; }
/* select2 (WC адреса страны/региона) */
.ek-page .ek-form-grid .form-row .select2-container { width: 100% !important; }
.ek-page .ek-form-grid .form-row .select2-selection--single {
	display: flex; align-items: center;
	padding: 0 36px 0 14px;
}
.ek-page .ek-form-grid .form-row .select2-selection__rendered { padding: 0 !important; }

/* ──────────────────────────── ek-btn-sm ──────────────────────────── */
.ek-page .ek-btn.ek-btn-sm {
	height: 32px;
	padding: 0 14px;
	font-size: 13px;
	border-radius: var(--ek-radius-pill);
}

/* ──────────────────────────── Адаптив ──────────────────────────── */
@media (max-width: 1024px) {
	.ek-page .ek-account-grid { grid-template-columns: 1fr; gap: 24px; }
	.ek-page .ek-account-sidebar { position: static; }
	.ek-page .ek-acc-greeting h1,
	.ek-page .ek-view-order-head h1,
	.ek-page .ek-acc-section-head h1,
	.ek-page .ek-acc-section-head h2 { font-size: 32px; }
	.ek-page .ek-dashboard-grid { grid-template-columns: 1fr 1fr; }
	.ek-page .ek-view-order-grid { grid-template-columns: 1fr; gap: 24px; }
	.ek-page .ek-view-order-summary { position: static; }
	.ek-page .ek-addresses-grid { grid-template-columns: 1fr; }
	.ek-page .ek-form-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.ek-page .ek-account-page { padding: 16px 0 64px; }
	.ek-page .ek-acc-greeting h1,
	.ek-page .ek-view-order-head h1,
	.ek-page .ek-acc-section-head h1 { font-size: 26px; }
	.ek-page .ek-dashboard-grid { grid-template-columns: 1fr; }

	.ek-page .ek-order-card {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.ek-page .ek-oc-right {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.ek-page .ek-order-timeline { padding: 16px 8px; }
	.ek-page .ek-timeline-label { font-size: 11px; }

	.ek-page .ek-orders-toolbar { flex-direction: column; align-items: stretch; }
	.ek-page .ek-orders-search  { width: 100%; }

	.ek-page .ek-help-section { flex-direction: column; align-items: stretch; text-align: left; }
	.ek-page .ek-help-actions { flex-direction: column; }

	.ek-page .ek-auth-page { padding: 32px 0; }
	.ek-page .ek-auth-tab { font-size: 14px; height: 44px; }

	.ek-page .ek-form-section { padding: 24px; }
}

/* ═══════════════════════════════════════════════════════════════════════
   TIER-1 ELEVATION — редизайн личного кабинета (2026-09).
   Переопределяет ключевые блоки выше: карточная глубина, премиальный
   sidebar, строка статов, герой активного заказа, услуги, встроенные
   вкладки Избранное/Сравнение, мобильная лента вкладок. Класс-контракт
   шаблонов сохранён — меняется только визуальный слой.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
	--ek-acc-shadow:        0 1px 2px rgba(0,0,0,.05), 0 1px 1px rgba(0,0,0,.03);
	--ek-acc-shadow-hover:  0 14px 38px -14px rgba(0,0,0,.18);
	--ek-acc-cborder:       rgba(0,0,0,.07);
	--ek-acc-accent:        #4F8B5C;
}

/* ── Layout ─────────────────────────────────────────────────────────── */
.ek-page .ek-account-page { padding: 28px 0 100px; }
/* 🔴 minmax(0,1fr), не 1fr: у 1fr автоминимум = min-content контента, и
   широкий потомок (сетка статов/таблица сравнения) распирал колонку за
   пределы вьюпорта, а .ek-page клипал overflow — на мобильном статы
   обрезались. minmax(0,…) сажает минимум трека в 0. */
.ek-page .ek-account-grid { grid-template-columns: 264px minmax(0, 1fr); gap: 32px; }

/* ── Sidebar как карточка ───────────────────────────────────────────── */
.ek-page .ek-account-sidebar {
	background: #fff;
	border: 1px solid var(--ek-acc-cborder);
	border-radius: 20px;
	box-shadow: var(--ek-acc-shadow);
	padding: 8px;
	gap: 2px;
	top: calc(var(--ek-header-total) + 20px);
}
.ek-page .ek-account-user {
	align-items: center;
	text-align: center;
	padding: 22px 14px 18px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--ek-border);
}
.ek-page .ek-account-avatar {
	width: 60px; height: 60px;
	font-size: 20px; font-weight: 600;
	background: linear-gradient(140deg, #5AA06A, #3C6E47);
	box-shadow: 0 6px 16px -6px rgba(79,139,92,.55);
	margin-bottom: 12px;
}
.ek-page .ek-account-name { font-size: 16px; font-weight: 600; }
.ek-page .ek-account-email { font-size: 12.5px; word-break: break-word; }

.ek-page .ek-account-nav { gap: 3px; }
.ek-page .ek-an-link {
	height: 42px; padding: 0 12px; gap: 12px;
	border-radius: 12px;
	font-size: 14px;
	transition: background .16s ease, color .16s ease;
}
.ek-page .ek-an-link:hover { background: var(--ek-bg-secondary); }
.ek-page .ek-an-link.is-active {
	background: var(--ek-text);
	color: #fff; font-weight: 500;
}
.ek-page .ek-an-link.is-active svg { color: #fff; }
.ek-page .ek-an-link.is-active .ek-an-badge { background: #fff; color: var(--ek-text); }
.ek-page .ek-an-divider { margin: 8px 10px; }
.ek-page .ek-an-link.ek-an-logout { height: 40px; }

/* ── Общий заголовок секции ЛК (H2 внутри контента, встроенные вкладки) ─ */
.ek-page .ek-acc-greeting { margin-bottom: 24px; }
.ek-page .ek-acc-greeting h1 { font-size: 34px; }
.ek-page .ek-acc-since { font-size: 14px; margin: 0; }
.ek-page .ek-acc-h {
	font-size: 26px; font-weight: 600;
	letter-spacing: -.02em; line-height: 1.1;
	margin: 0; color: var(--ek-text);
}

/* ── Строка статов ──────────────────────────────────────────────────── */
.ek-page .ek-acc-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 28px;
}
.ek-page .ek-stat {
	position: relative;
	display: flex; flex-direction: column; gap: 3px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--ek-acc-cborder);
	border-radius: 18px;
	box-shadow: var(--ek-acc-shadow);
	text-decoration: none; color: inherit;
	transition: box-shadow .22s ease, transform .22s ease;
}
.ek-page .ek-stat:hover { box-shadow: var(--ek-acc-shadow-hover); transform: translateY(-2px); }
.ek-page .ek-stat-ic {
	width: 40px; height: 40px;
	border-radius: 12px;
	background: var(--ek-bg-secondary);
	display: grid; place-items: center;
	margin-bottom: 12px;
}
.ek-page .ek-stat-ic svg { width: 20px; height: 20px; color: var(--ek-text); }
.ek-page .ek-stat-num {
	font-size: 30px; font-weight: 600;
	letter-spacing: -.02em; line-height: 1;
	font-variant-numeric: tabular-nums;
}
.ek-page .ek-stat-label { font-size: 13px; color: var(--ek-text-muted); }
.ek-page .ek-stat-go {
	position: absolute; top: 18px; right: 18px;
	font-size: 18px; line-height: 1;
	color: var(--ek-text-muted);
	transition: transform .18s ease, color .18s ease;
}
.ek-page .ek-stat:hover .ek-stat-go { transform: translateX(3px); color: var(--ek-text); }

/* ── Активный заказ — карточка-герой ────────────────────────────────── */
.ek-page .ek-acc-active {
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: 1fr auto;
	gap: 28px; align-items: center;
	padding: 24px 28px 24px 30px;
	background: #fff;
	border: 1px solid var(--ek-acc-cborder);
	border-radius: 20px;
	box-shadow: var(--ek-acc-shadow);
	text-decoration: none; color: inherit;
	margin-bottom: 32px;
	transition: box-shadow .22s ease, transform .22s ease;
}
.ek-page .ek-acc-active::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0;
	width: 4px; background: linear-gradient(var(--ek-acc-accent), #3C6E47);
}
.ek-page .ek-acc-active:hover { box-shadow: var(--ek-acc-shadow-hover); transform: translateY(-2px); }
.ek-page .ek-aa-main { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ek-page .ek-aa-top { display: flex; align-items: center; gap: 12px; margin-bottom: 2px; }
.ek-page .ek-aa-kicker {
	font-size: 11px; font-weight: 600;
	text-transform: uppercase; letter-spacing: .08em;
	color: var(--ek-acc-accent);
}
.ek-page .ek-aa-id { font-size: 20px; font-weight: 600; letter-spacing: -.01em; color: var(--ek-text); }
.ek-page .ek-aa-meta { font-size: 13.5px; color: var(--ek-text-muted); }
.ek-page .ek-aa-cta { display: flex; align-items: center; gap: 16px; margin-top: 14px; flex-wrap: wrap; }
.ek-page .ek-aa-total {
	font-size: 18px; font-weight: 600; letter-spacing: -.01em;
	font-variant-numeric: tabular-nums; color: var(--ek-text);
}
.ek-page .ek-aa-thumbs { display: flex; flex: none; }
.ek-page .ek-aa-thumb {
	width: 74px; height: 74px;
	border-radius: 14px;
	background: var(--ek-bg-secondary);
	border: 1px solid var(--ek-border);
	margin-left: -12px;
	display: flex; align-items: center; justify-content: center;
	padding: 7px; overflow: hidden;
	box-shadow: 0 2px 6px -2px rgba(0,0,0,.1);
}
.ek-page .ek-aa-thumb:first-child { margin-left: 0; }
.ek-page .ek-aa-thumb img { width: 100%; height: 100%; object-fit: contain; }
.ek-page .ek-aa-thumb-more {
	background: var(--ek-text); color: #fff;
	font-size: 14px; font-weight: 600; padding: 0;
}

/* ── Order card: глубина + «Подробнее» ──────────────────────────────── */
.ek-page .ek-order-card {
	border-color: var(--ek-acc-cborder);
	border-radius: 16px;
	box-shadow: var(--ek-acc-shadow);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.ek-page .ek-order-card:hover {
	border-color: var(--ek-acc-cborder);
	box-shadow: var(--ek-acc-shadow-hover);
	transform: translateY(-1px);
}
.ek-page .ek-oc-open {
	display: inline-flex; align-items: center; gap: 3px;
	font-size: 13px; color: var(--ek-text-muted);
	transition: color .16s ease;
}
.ek-page .ek-order-card:hover .ek-oc-open { color: var(--ek-text); }
.ek-page .ek-order-card:hover .ek-oc-open .ek-chev { transform: translateX(2px); }
.ek-page .ek-oc-open .ek-chev { transition: transform .16s ease; display: inline-block; }

/* ── Услуги ─────────────────────────────────────────────────────────── */
.ek-page .ek-acc-services-sec { margin-top: 48px; }
.ek-page .ek-acc-services {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}
.ek-page .ek-service {
	display: flex; align-items: center; gap: 14px;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--ek-acc-cborder);
	border-radius: 16px;
	box-shadow: var(--ek-acc-shadow);
	text-decoration: none; color: inherit;
	transition: box-shadow .2s ease, transform .2s ease;
}
.ek-page .ek-service:hover { box-shadow: var(--ek-acc-shadow-hover); transform: translateY(-2px); }
.ek-page .ek-service-ic {
	width: 42px; height: 42px; flex: none;
	border-radius: 12px; background: var(--ek-bg-secondary);
	display: grid; place-items: center;
}
.ek-page .ek-service-ic svg { width: 20px; height: 20px; color: var(--ek-text); }
.ek-page .ek-service-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.ek-page .ek-service-title { font-size: 14.5px; font-weight: 500; color: var(--ek-text); }
.ek-page .ek-service-sub { font-size: 12.5px; color: var(--ek-text-muted); }
.ek-page .ek-service .ek-chev { color: var(--ek-text-muted); transition: transform .16s ease; }
.ek-page .ek-service:hover .ek-chev { transform: translateX(3px); color: var(--ek-text); }

/* ── Status pill: чуть плотнее ──────────────────────────────────────── */
.ek-page .ek-status-pill { height: 25px; font-weight: 500; }
.ek-page .ek-status-pill.ek-processing { background: #ECECEE; color: var(--ek-text-muted); }

/* ── Встроенные вкладки Избранное/Сравнение внутри ЛК ───────────────── */
.ek-page .ek-acc-embed { min-width: 0; }
.ek-page .ek-acc-embed-inner { width: 100%; }
/* Отступ у section внутри ЛК — контент уже в колонке контента. */
.ek-page .ek-acc-embed .ek-wishlist-page,
.ek-page .ek-acc-embed .ek-compare-page { padding: 0; }
.ek-page .ek-acc-embed .ek-wishlist-head { margin-bottom: 22px; }
.ek-page .ek-acc-embed .ek-compare-head { margin-bottom: 22px; }
/* Сетка избранного в ЛК — 3 колонки (колонка контента уже сузила ширину). */
.ek-page .ek-acc-embed-wishlist .ek-wishlist-grid { grid-template-columns: repeat(3, 1fr); }
/* Пустое состояние внутри ЛК — компактнее, без «страничного» вида. */
.ek-page .ek-acc-embed .ek-empty-state { padding: 56px 24px; }

/* ── Focus-visible на карточках-ссылках ЛК ──────────────────────────── */
.ek-page .ek-stat:focus-visible,
.ek-page .ek-acc-active:focus-visible,
.ek-page .ek-service:focus-visible,
.ek-page .ek-order-card:focus-visible {
	outline: 2px solid var(--ek-text);
	outline-offset: 2px;
}

/* ── Адаптив: планшет ───────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.ek-page .ek-account-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.ek-page .ek-account-sidebar,
	.ek-page .ek-account-content { min-width: 0; max-width: 100%; }

	/* Sidebar → компактная шапка + лента вкладок. */
	.ek-page .ek-account-sidebar {
		position: static;
		flex-direction: column;
		padding: 14px;
		gap: 12px;
	}
	.ek-page .ek-account-user {
		flex-direction: row; text-align: left;
		align-items: center; gap: 14px;
		padding: 4px 4px 14px; margin-bottom: 0;
	}
	.ek-page .ek-account-avatar { width: 46px; height: 46px; font-size: 16px; margin-bottom: 0; }
	.ek-page .ek-account-nav {
		flex-direction: row;
		gap: 8px;
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: 2px;
		margin: 0 -14px; padding-left: 14px; padding-right: 14px;
		scroll-snap-type: x proximity;
	}
	.ek-page .ek-account-nav::-webkit-scrollbar { display: none; }

	/* Форма адреса на планшете/телефоне — в один столбец: first/last не
	   должны форсить неявную 2-ю колонку в одностолбцовом гриде. */
	.ek-page .ek-form-grid .form-row-first,
	.ek-page .ek-form-grid .form-row-last { grid-column: 1 / -1; }
	.ek-page .ek-an-link {
		flex: none;
		height: 38px;
		padding: 0 14px;
		border-radius: var(--ek-radius-pill);
		background: var(--ek-bg-secondary);
		white-space: nowrap;
		scroll-snap-align: start;
	}
	.ek-page .ek-an-link:hover { background: #ECECEE; }
	.ek-page .ek-an-divider { display: none; }
	.ek-page .ek-an-link.ek-an-logout { color: var(--ek-text-muted); }

	.ek-page .ek-acc-embed-wishlist .ek-wishlist-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Адаптив: телефон ───────────────────────────────────────────────── */
@media (max-width: 640px) {
	.ek-page .ek-account-page { padding: 16px 0 72px; }
	.ek-page .ek-acc-greeting h1 { font-size: 26px; }
	.ek-page .ek-acc-stats { grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.ek-page .ek-stat { padding: 14px 12px; border-radius: 14px; }
	.ek-page .ek-stat-ic { width: 34px; height: 34px; margin-bottom: 8px; }
	.ek-page .ek-stat-ic svg { width: 17px; height: 17px; }
	.ek-page .ek-stat-num { font-size: 22px; }
	.ek-page .ek-stat-label { font-size: 11.5px; }
	.ek-page .ek-stat-go { display: none; }

	.ek-page .ek-acc-active {
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 20px 20px 20px 22px;
	}
	.ek-page .ek-aa-thumbs { order: -1; }
	.ek-page .ek-aa-thumb { width: 60px; height: 60px; }

	.ek-page .ek-acc-services { grid-template-columns: 1fr; }
	.ek-page .ek-acc-embed-wishlist .ek-wishlist-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Вход через Яндекс ID + разделитель + ошибка OAuth ─────────────── */
.ek-page .ek-auth-or {
	display: flex; align-items: center; gap: 12px;
	margin: 4px 0;
	color: var(--ek-text-muted);
	font-size: 12px;
}
.ek-page .ek-auth-or::before,
.ek-page .ek-auth-or::after {
	content: ""; flex: 1; height: 1px; background: var(--ek-border);
}
.ek-page .ek-btn.ek-yandex-btn {
	width: 100%;
	height: 48px;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	background: #FC3F1D;
	color: #fff;
	border: 0;
	border-radius: var(--ek-radius-pill);
	font-size: 15px; font-weight: 500;
	text-decoration: none;
	transition: opacity .16s ease;
}
.ek-page .ek-btn.ek-yandex-btn:hover { opacity: .92; color: #fff; }
.ek-page .ek-yandex-ic {
	width: 22px; height: 22px;
	border-radius: 50%;
	background: #fff; color: #FC3F1D;
	display: grid; place-items: center;
	font-weight: 700; font-size: 14px; line-height: 1;
}
.ek-page .ek-auth-alert {
	padding: 12px 14px;
	border-radius: var(--ek-radius-sm);
	background: rgba(184,74,74,0.10);
	color: #B84A4A;
	font-size: 13.5px; line-height: 1.45;
}

/* ── Привязка Яндекс ID в «Данных аккаунта» ───────────────────────── */
.ek-page .ek-linked-accounts {
	margin-top: 8px;
	padding: 24px;
	background: var(--ek-bg-secondary);
	border-radius: var(--ek-radius-lg);
}
.ek-page .ek-linked-accounts h2 { font-size: 18px; font-weight: 600; margin: 0 0 6px; letter-spacing: -.01em; }
.ek-page .ek-linked-sub { font-size: 13px; color: var(--ek-text-muted); margin: 0 0 16px; line-height: 1.5; }
.ek-page .ek-linked-row {
	display: flex; align-items: center; gap: 14px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid var(--ek-acc-cborder, rgba(0,0,0,.07));
	border-radius: 14px;
}
.ek-page .ek-linked-row .ek-yandex-ic { width: 32px; height: 32px; font-size: 18px; flex: none; background: #FC3F1D; color: #fff; }
.ek-page .ek-linked-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ek-page .ek-linked-name { font-size: 14.5px; font-weight: 500; color: var(--ek-text); }
.ek-page .ek-linked-state { font-size: 12.5px; color: var(--ek-text-muted); }
.ek-page .ek-linked-state.is-on { color: #4F8B5C; }
.ek-page .ek-linked-action { flex: none; }
