/* ============================================================
   Kat-kin: личный кабинет (макет «Kaskin»)
   Палитра: розовый #E91E63, тёмный #1A1A1A, границы #EEEEEE
   Скоуп: .ka (каркас кабинета) + body.woocommerce-account
   ============================================================ */

/* ---------- скрыть штатный заголовок страницы Woodmart ---------- */

body.woocommerce-account .wd-page-title {
	display: none;
}

/* ---------- дизайн-токены (только внутри кабинета) ---------- */

.ka {
	--ka-pink: #E91E63;
	--ka-pink-dark: #C1134E;
	--ka-pink-light: #FCE4EC;
	--ka-pink-bg: #FFF5F8;
	--ka-dark: #1A1A1A;
	--ka-text: #333333;
	--ka-gray: #666666;
	--ka-muted: #999999;
	--ka-border: #EEEEEE;
	--ka-border-soft: #F0F0F0;
	--ka-soft: #F8F8F8;
	--ka-soft-2: #F5F5F5;
	--ka-success: #4CAF50;
	--ka-warning: #FF9800;
	--ka-radius: 16px;
	--ka-radius-sm: 12px;
	--ka-shadow: 0 4px 16px -4px rgba(233, 30, 99, 0.5);

	font-size: 15px;
	line-height: 1.5;
	color: var(--ka-text);
}

.ka *,
.ka *::before,
.ka *::after {
	box-sizing: border-box;
}

.ka p {
	margin: 0;
}

.ka a {
	text-decoration: none;
	color: var(--ka-text);
}

/* тема вешает градиент и прозрачный цвет текста на все кнопки — сбрасываем */
.ka .ka-btn,
.ka .ka-pill,
.ka .ka-promo__btn,
.ka .ka-signout,
.ka .ka-address__edit,
.ka .ka-pagination__link,
.ka .ka-order__more,
.ka .ka-nav__link,
.ka .ka-user-chip,
.ka .ka-drawer-close {
	background-image: none !important;
}

.ka-icon {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

/* ---------- типографика ---------- */

.ka-h1 {
	font-size: 24px;
	font-weight: 700;
	color: var(--ka-dark);
	line-height: 1.25;
	margin: 0;
}

.ka-h2 {
	font-size: 17px;
	font-weight: 600;
	color: var(--ka-dark);
	margin: 0;
}

.ka-h3 {
	font-size: 16px;
	font-weight: 600;
	color: var(--ka-dark);
	margin: 0;
}

.ka-eyebrow {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--ka-muted);
}

.ka-sub {
	margin-top: 6px;
	font-size: 14px;
	color: var(--ka-gray);
}

.ka .ka-link {
	color: var(--ka-pink);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 2px;
	transition: text-decoration-color 0.15s ease;
}

.ka .ka-link:hover {
	text-decoration-color: currentColor;
}

/* ---------- логотип ---------- */

.ka .ka-logo {
	display: inline-flex;
	align-items: center;
	font-family: 'Pacifico', 'Brush Script MT', cursive;
	font-weight: 400;
	font-size: 26px;
	line-height: 1.2;
	color: var(--ka-pink);
	letter-spacing: -0.02em;
}

/* картинка логотипа из шапки сайта (фолбэк — текст Pacifico) */
.ka .ka-logo .ka-logo-img {
	display: block;
	width: auto;
	height: 40px;
	max-width: none;
}

.ka .ka-logo--xl .ka-logo-img {
	height: 56px;
}

.ka-logo--xl {
	font-size: 44px;
}

.ka-logo__sub {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: var(--ka-muted);
}

.ka-logo__sub--center {
	justify-content: center;
	margin-top: 4px;
}

.ka-logo__paw {
	width: 14px;
	height: 14px;
}

/* ---------- каркас: сайдбар + контент ---------- */

.ka-layout {
	display: flex;
	align-items: flex-start;
}

.ka-content {
	flex: 1;
	min-width: 0;
	padding: 4px 32px 64px;
}

.ka-scr {
	max-width: 768px;
}

/* страница входа — по центру, без сайдбара */
.ka--auth {
	display: flex;
	justify-content: center;
	padding: 24px 16px 64px;
}

.ka-auth {
	width: 100%;
	max-width: 576px;
}

/* ---------- сайдбар ---------- */

.ka-sidebar {
	position: sticky;
	top: 0;
	width: 288px;
	flex-shrink: 0;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 80px);
	max-height: 100vh;
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
	overflow-y: auto;
}

.ka-sidebar__head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 20px;
	border-bottom: 1px solid var(--ka-border);
}

.ka-logo__sub {
	display: none;
}

.ka-drawer-close {
	display: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-left: auto;
	border: 0;
	border-radius: 50%;
	background: var(--ka-soft-2);
	color: var(--ka-gray);
	cursor: pointer;
}

.ka-user-card {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 14px 14px 0;
	padding: 12px;
	background: var(--ka-soft);
	border-radius: var(--ka-radius);
}

.ka-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--ka-pink);
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	overflow: hidden;
}

/* аватар-фотография: любое фото ровно в кружок, без смещений */
.ka .ka-avatar--photo img,
.ka .ka-avatar .ka-avatar__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	border-radius: 50%;
}

.ka-avatar--sm {
	width: 36px;
	height: 36px;
	font-size: 15px;
}

.ka-avatar--xl {
	width: 88px;
	height: 88px;
	font-size: 32px;
	box-shadow: 0 8px 24px -4px rgba(233, 30, 99, 0.4);
}

.ka-user-card__text,
.ka-user-chip__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ka-user-card__label {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ka-muted);
}

.ka-user-card__value,
.ka-user-chip__value {
	font-size: 13px;
	font-weight: 600;
	color: var(--ka-dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ka-user-card__chevron {
	margin-left: auto;
	width: 16px;
	height: 16px;
	color: var(--ka-muted);
}

.ka-nav {
	flex: 1;
	padding: 16px 14px;
}

.ka-nav__label {
	margin: 0 10px 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ka-muted);
}

.ka-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ka .ka-nav__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--ka-radius-sm);
	font-size: 14px;
	font-weight: 500;
	color: var(--ka-text);
	transition: background 0.15s ease, color 0.15s ease;
}

.ka .ka-nav__link:hover {
	background: var(--ka-soft-2);
}

.ka .ka-nav__link.is-active {
	background: var(--ka-pink-light);
	color: var(--ka-pink);
}

.ka-nav__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: 10px;
	background: var(--ka-soft-2);
	color: var(--ka-gray);
	transition: background 0.15s ease, color 0.15s ease;
}

.ka-nav__icon .ka-icon {
	width: 18px;
	height: 18px;
}

.ka .ka-nav__link:hover .ka-nav__icon {
	background: var(--ka-border);
}

.ka .ka-nav__link.is-active .ka-nav__icon {
	background: var(--ka-pink);
	color: #fff;
}

.ka-nav__text {
	flex: 1;
	min-width: 0;
}

.ka-nav__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ka-pink);
}

/* промо-баннер в сайдбаре */
.ka-sidebar__promo {
	margin-top: 24px;
	padding: 16px;
	border-radius: var(--ka-radius);
	background: linear-gradient(135deg, var(--ka-pink-light), #F8BBD0);
}

.ka-sidebar__promo-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.ka-sidebar__promo-paw {
	font-size: 24px;
	line-height: 1;
}

.ka-sidebar__promo-bell {
	width: 16px;
	height: 16px;
	color: var(--ka-pink);
}

.ka-sidebar__promo-title {
	margin-top: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ka-dark);
	line-height: 1.35;
}

.ka-sidebar__promo-text {
	margin-top: 4px;
	font-size: 12px;
	color: var(--ka-gray);
}

.ka-sidebar__footer {
	padding: 14px;
	border-top: 1px solid var(--ka-border);
}

.ka .ka-signout {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 12px;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius-sm);
	font-size: 14px;
	font-weight: 500;
	color: var(--ka-gray);
	transition: border-color 0.15s ease, color 0.15s ease;
}

.ka .ka-signout:hover {
	border-color: var(--ka-pink);
	color: var(--ka-pink);
}

.ka .ka-signout__icon {
	width: 16px;
	height: 16px;
}

/* ---------- мобильная шапка кабинета ---------- */

.ka-mobile-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 8px 4px 16px;
}

.ka .ka-user-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px 6px 6px;
	border: 0;
	border-radius: 999px;
	background: var(--ka-soft-2);
	cursor: pointer;
	font: inherit;
	transition: background 0.15s ease;
}

.ka .ka-user-chip:hover {
	background: var(--ka-border);
}

.ka .ka-user-chip__chevron {
	width: 16px;
	height: 16px;
	color: var(--ka-gray);
}

.ka-overlay {
	display: none;
}

/* ---------- заголовки экранов ---------- */

.ka-page-head {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--ka-border);
}

.ka-page-head .ka-h1 {
	margin-top: 4px;
}

.ka-page-head--mobile {
	border: 0;
	padding: 0 0 4px;
	margin: 0 0 16px;
}

/* ---------- программа лояльности (дашборд) ---------- */

.ka-loyalty {
	padding: 16px;
	margin-bottom: 24px;
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
}

.ka-loyalty__head {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ka-dark);
}

.ka-loyalty__icon {
	width: 18px;
	height: 18px;
	color: var(--ka-pink);
}

.ka-loyalty__value {
	margin-top: 8px;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--ka-pink);
}

.ka-loyalty__label {
	margin-top: 2px;
	font-size: 13px;
	color: var(--ka-muted);
}

/* ---------- карточка профиля на главной (14.10.26) ---------- */

.ka-me {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	margin-bottom: 20px;
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ka-me:hover {
	border-color: rgba(233, 30, 99, 0.35);
	box-shadow: 0 6px 18px -6px rgba(233, 30, 99, 0.2);
}

.ka-me .ka-avatar {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
}

.ka-me__who {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.ka-me__phone {
	font-size: 16px;
	font-weight: 700;
	color: var(--ka-dark);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ka-me__name {
	margin-top: 2px;
	font-size: 13px;
	color: var(--ka-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ka-me__points {
	flex-shrink: 0;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--ka-pink-light);
	font-size: 13px;
	font-weight: 700;
	color: var(--ka-pink);
	white-space: nowrap;
}

/* ---------- карточки разделов на главной ---------- */

.ka-sections {
	margin-bottom: 24px;
}

.ka-sections__head {
	margin-bottom: 12px;
}

.ka-sections__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ka-menu-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ka-menu-card:hover {
	border-color: var(--ka-pink);
	box-shadow: 0 4px 16px -4px rgba(233, 30, 99, 0.15);
}

.ka-menu-card.is-first {
	border-color: rgba(233, 30, 99, 0.4);
	background: var(--ka-pink-bg);
}

/* акцентные пункты главной: «Мои заказы», «Адреса доставки» (14.10.26) */
.ka-menu-card.is-accent {
	border-color: rgba(233, 30, 99, 0.25);
	background: var(--ka-pink-bg);
}

.ka-menu-card.is-accent .ka-menu-card__icon {
	background: var(--ka-pink);
	color: #fff;
}

.ka-menu-card.is-accent .ka-menu-card__chevron {
	color: var(--ka-pink);
}

.ka-menu-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--ka-radius-sm);
	background: var(--ka-soft-2);
	color: var(--ka-gray);
	transition: background 0.15s ease, color 0.15s ease;
}

.ka-menu-card__icon .ka-icon {
	width: 22px;
	height: 22px;
}

.ka-menu-card.is-first .ka-menu-card__icon,
.ka-menu-card:hover .ka-menu-card__icon {
	background: var(--ka-pink);
	color: #fff;
}

.ka-menu-card__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.ka-menu-card__title {
	font-size: 15px;
	font-weight: 600;
	color: var(--ka-dark);
}

.ka-menu-card__chevron {
	width: 20px;
	height: 20px;
	color: #BBBBBB;
	transition: transform 0.15s ease, color 0.15s ease;
}

.ka-menu-card:hover .ka-menu-card__chevron {
	transform: translateX(2px);
	color: var(--ka-pink);
}

/* ---------- промо-баннер дашборда ---------- */

.ka-promo {
	position: relative;
	overflow: hidden;
	padding: 20px;
	border-radius: var(--ka-radius);
	/* кот-фотография в правом нижнем углу поверх розового градиента;
	   на мобиле кот уменьшен до угла, на средних экранах добавлена вуаль */
	background-color: #F8BBD0;
	background-image:
		url("https://kat-kin.loc/wp-content/uploads/2026/10/ChatGPT-Image-9-%D0%BE%D0%BA%D1%82.-2026-%D0%B3.-15_55_27-1.webp"),
		linear-gradient(135deg, var(--ka-pink-bg), var(--ka-pink-light), #F8BBD0);
	background-position: right bottom, 0 0;
	background-repeat: no-repeat, no-repeat;
	background-size: auto 48%, cover;
	margin-bottom: 24px;
}

/* планшет: кот в полную высоту баннера + вуаль слева, чтобы текст читался */
@media (min-width: 640px) and (max-width: 1023.98px) {
	.ka-promo {
		background-image:
			linear-gradient(90deg, rgba(255, 245, 248, 0.95) 0%, rgba(255, 245, 248, 0.82) 45%, rgba(255, 245, 248, 0.3) 65%, rgba(255, 245, 248, 0) 85%),
			url("https://kat-kin.loc/wp-content/uploads/2026/10/ChatGPT-Image-9-%D0%BE%D0%BA%D1%82.-2026-%D0%B3.-15_55_27-1.webp"),
			linear-gradient(135deg, var(--ka-pink-bg), var(--ka-pink-light), #F8BBD0);
		background-position: 0 0, right bottom, 0 0;
		background-size: 100% 100%, auto 100%, cover;
	}
}

/* декоративный эмодзи-кот убран: его заменяет фотография-фон */

.ka-promo__inner {
	position: relative;
	max-width: 480px;
}

.ka-promo__tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ka-pink);
}

.ka .ka-promo__tag-icon {
	width: 15px;
	height: 15px;
}

.ka-promo__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--ka-dark);
	line-height: 1.3;
}

.ka-promo__text {
	margin-top: 8px;
	padding-right: 60px; /* не наезжаем на кота в правом нижнем углу */
	font-size: 14px;
	color: var(--ka-gray);
}

.ka .ka-promo__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	padding: 9px 16px;
	border-radius: 999px;
	background: var(--ka-pink);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	transition: background 0.15s ease;
}

.ka .ka-promo__btn:hover {
	background: var(--ka-pink-dark);
}

.ka .ka-promo__btn-icon {
	width: 15px;
	height: 15px;
}

.ka-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 13px;
	color: var(--ka-muted);
}

.ka .ka-trust__icon {
	width: 16px;
	height: 16px;
	color: var(--ka-muted);
}

/* ---------- формы: поля, кнопки, чекбоксы ---------- */

.ka-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ka-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

.ka-field label,
.ka-form .form-row label {
	font-size: 14px;
	font-weight: 500;
	color: var(--ka-text);
}

.ka-req {
	color: var(--ka-pink);
}

.ka-input {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius-sm);
	background: var(--ka-soft);
	font: inherit;
	font-size: 15px;
	font-weight: 500;
	color: var(--ka-dark);
	outline: none;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.ka-input:focus {
	border-color: var(--ka-pink);
	background: #fff;
	box-shadow: 0 0 0 4px var(--ka-pink-light);
}

textarea.ka-input {
	height: auto;
	min-height: 96px;
	padding: 12px 16px;
	resize: vertical;
}

select.ka-input,
.ka-form select.input-text,
.ka-form select.select {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius-sm);
	background: var(--ka-soft);
	font: inherit;
	font-size: 15px;
	color: var(--ka-dark);
	outline: none;
}

.ka .ka-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 52px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--ka-radius-sm);
	background: var(--ka-pink);
	color: #fff;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	box-shadow: var(--ka-shadow);
	transition: background 0.15s ease, transform 0.1s ease;
}

.ka .ka-btn:hover {
	background: var(--ka-pink-dark);
	color: #fff;
}

.ka .ka-btn:active {
	transform: scale(0.99);
}

.ka-btn--inline {
	width: auto;
	margin-top: 16px;
}

.ka .ka-btn--ghost {
	width: 100%;
	background: #fff;
	border: 2px solid var(--ka-pink);
	color: var(--ka-pink);
	box-shadow: none;
}

.ka-btn--ghost:hover {
	background: var(--ka-pink-light);
	color: var(--ka-pink);
}

.ka-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	color: var(--ka-gray);
	cursor: pointer;
}

.ka-check--consent {
	align-items: center;
}

.ka-check__input {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin: 2px 0 0;
	accent-color: var(--ka-pink);
	cursor: pointer;
}

/* карточка с полями (профиль, адреса) */
.ka-card {
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
}

.ka-card--fields {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 16px;
	margin-bottom: 14px;
}

/* Отступ между полем адреса и комментарием к адресу */
.woocommerce-address-fields__field-wrapper .form-row + .form-row {
	margin-top: 16px;
}

.ka-card__head {
	margin-bottom: 2px;
}

.ka-card__hint {
	margin-top: 2px;
	font-size: 12px;
	color: var(--ka-muted);
}

/* поля из woocommerce_form_field (адреса) */
.ka-form .form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	float: none;
	width: 100%;
	clear: both;
}

.ka-form .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.ka-form .form-row .input-text,
.ka-form .form-row textarea,
.ka-form .form-row select {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--ka-border) !important;
	border-radius: var(--ka-radius-sm);
	background: var(--ka-soft);
	font: inherit;
	font-size: 15px;
	color: var(--ka-dark);
	outline: none;
	box-shadow: none;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.ka-form .form-row textarea.input-text {
	height: auto;
	min-height: 96px;
	padding: 12px 16px;
}

.ka-form .form-row .input-text:focus,
.ka-form .form-row select:focus {
	border-color: var(--ka-pink) !important;
	background: #fff;
	box-shadow: 0 0 0 4px var(--ka-pink-light);
}

.ka-form .form-row label {
	margin: 0;
}

.ka-form .form-row .required {
	color: var(--ka-pink);
	text-decoration: none;
}

/* ---------- тумблеры ---------- */

.ka-toggle {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	flex-shrink: 0;
}

.ka-toggle__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.ka-toggle__track {
	position: relative;
	display: inline-block;
	width: 48px;
	height: 28px;
	border-radius: 999px;
	background: #DDDDDD;
	transition: background 0.15s ease;
}

.ka-toggle__thumb {
	position: absolute;
	left: 2px;
	top: 2px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
	transition: transform 0.15s ease;
}

.ka-toggle__input:checked + .ka-toggle__track {
	background: var(--ka-pink);
}

.ka-toggle__input:checked + .ka-toggle__track .ka-toggle__thumb {
	transform: translateX(20px);
}

.ka-toggle__input:focus-visible + .ka-toggle__track {
	box-shadow: 0 0 0 4px var(--ka-pink-light);
}

/* ---------- уведомления ---------- */

.ka-notifs {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 100%;
}

.ka-card--list {
	overflow: hidden;
}

.ka-notifs__head {
	padding: 16px 16px 12px;
	border-bottom: 1px solid var(--ka-border-soft);
}

.ka-notifs__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--ka-border-soft);
}

.ka-notifs__row:last-child {
	border-bottom: 0;
}

/* неактивный тумблер «скоро будет доступно» */
.ka-notifs__row--soon {
	position: relative;
}

.ka-notifs__row--soon .ka-toggle {
	cursor: not-allowed;
	pointer-events: none; /* клики уходят на строку — там тап-подсказка */
}

.ka-notifs__row--soon .ka-toggle__input:disabled + .ka-toggle__track {
	opacity: 0.45;
}

.ka-notifs__row--soon::after {
	content: attr(data-tip);
	position: absolute;
	right: 56px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	padding: 7px 12px;
	border-radius: 9px;
	background: var(--ka-dark);
	color: #fff;
	font-size: 12px;
	white-space: nowrap;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.18s ease;
}

.ka-notifs__row--soon:hover::after,
.ka-notifs__row--soon.is-tip-visible::after {
	opacity: 1;
}

.ka-notifs__label {
	font-size: 14px;
	font-weight: 500;
	color: var(--ka-dark);
}

.ka-notifs__desc {
	margin-top: 2px;
	font-size: 12px;
	color: var(--ka-muted);
}

.ka-notifs__saved {
	font-size: 13px;
	font-weight: 600;
	color: var(--ka-success);
	text-align: center;
	min-height: 18px;
	transition: opacity 0.3s ease;
}

/* ---------- «Способы оплаты» ---------- */

.ka-pay {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 560px;
}

.ka-pay__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
}

.ka-pay__badge,
.ka-pay__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--ka-radius-sm);
	font-size: 18px;
	font-weight: 700;
}

.ka-pay__badge--dark {
	background: var(--ka-dark);
	color: #fff;
}

.ka-pay__badge--green {
	background: var(--ka-success);
	color: #fff;
}

.ka-pay__badge--yellow {
	background: #FFDD2D;
	color: #111;
}

.ka-pay__badge--sbp {
	background: linear-gradient(135deg, #10B981, #9333EA);
	color: #fff;
	font-size: 13px;
}

.ka-pay__icon img {
	max-width: 48px;
	max-height: 32px;
}

.ka-pay__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.ka-pay__title {
	font-size: 15px;
	font-weight: 600;
	color: var(--ka-dark);
}

.ka-pay__desc {
	margin-top: 2px;
	font-size: 12px;
	color: var(--ka-muted);
}

.ka-pay__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	border-radius: 50%;
	border: 2px solid var(--ka-pink);
	background: var(--ka-pink);
	color: #fff;
}

.ka-pay__check .ka-icon {
	width: 14px;
	height: 14px;
}

.ka-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 8px;
	padding: 14px;
	border-radius: var(--ka-radius);
	background: var(--ka-soft);
	font-size: 13px;
	color: var(--ka-gray);
}

.ka-note__emoji {
	font-size: 16px;
	line-height: 1.4;
}

/* ---------- профиль ---------- */

.ka-profile__avatar {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

/* аватар с кнопкой смены фото */
.ka-profile__avatar-box {
	position: relative;
	display: inline-flex;
}

.ka .ka-avatar-edit {
	position: absolute;
	right: -2px;
	bottom: -2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 50% !important;
	background: #fff !important;
	background-image: none !important;
	color: var(--ka-pink) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.ka .ka-avatar-edit:hover {
	background: var(--ka-pink) !important;
	color: #fff !important;
	transform: scale(1.08);
}

.ka .ka-avatar-edit__icon {
	width: 14px;
	height: 14px;
}

.ka-profile__del-photo {
	margin-top: 2px;
	font-size: 12px;
	color: var(--ka-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.15s ease;
}

.ka-profile__del-photo:hover {
	color: var(--ka-pink-dark);
}

.ka-profile__who {
	text-align: center;
}

.ka-profile__name {
	font-size: 16px;
	font-weight: 600;
	color: var(--ka-dark);
}

.ka-profile__since {
	font-size: 12px;
	color: var(--ka-muted);
}

/* ---------- «Адреса доставки» ---------- */

.ka-addresses {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 16px;
}

.ka-address {
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ka-address:hover {
	border-color: rgba(233, 30, 99, 0.3);
	box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.05);
}

.ka-address__body {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px;
}

.ka-address__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--ka-radius-sm);
	background: var(--ka-pink-light);
	color: var(--ka-pink);
}

.ka-address__icon--alt {
	background: var(--ka-soft-2);
	color: var(--ka-gray);
}

.ka-address__info {
	flex: 1;
	min-width: 0;
}

.ka-address__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--ka-dark);
}

.ka-address__text {
	margin-top: 2px;
	font-size: 14px;
	color: var(--ka-text);
}

.ka-address__text--empty {
	color: var(--ka-muted);
	font-style: italic;
}

.ka .ka-address__edit {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ka-gray);
	background: var(--ka-soft);
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
}

.ka .ka-address__edit:hover {
	background: var(--ka-pink-light);
	color: var(--ka-pink);
}

.ka .ka-address__edit-icon {
	width: 15px;
	height: 15px;
}

.ka .ka-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 14px;
	font-size: 14px;
	font-weight: 500;
	color: var(--ka-gray);
	transition: color 0.15s ease;
}

.ka .ka-back:hover {
	color: var(--ka-pink);
}

/* ---------- пустые состояния ---------- */

.ka-empty {
	padding: 32px 16px;
	border: 1px dashed var(--ka-border);
	border-radius: var(--ka-radius);
	text-align: center;
}

.ka-empty--slim {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px;
	border: 0;
	font-size: 13px;
	color: var(--ka-muted);
	text-align: center;
}

.ka-empty__icon {
	width: 16px;
	height: 16px;
	color: var(--ka-muted);
}

.ka-empty__emoji {
	font-size: 36px;
	line-height: 1;
}

.ka-empty__title {
	margin-top: 8px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ka-dark);
}

.ka-empty__text {
	margin-top: 4px;
	font-size: 14px;
	color: var(--ka-muted);
}

/* ---------- фильтр-вкладки и пилюли ---------- */

.ka-tabs {
	margin-bottom: 16px;
}

.ka-tabs__pills {
	display: flex;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	scrollbar-width: none;
}

.ka-tabs__pills::-webkit-scrollbar {
	display: none;
}

/* мобильный фильтр: выпадающий список вместо табов */
.ka-tabs__select {
	display: none;
	width: 100%;
	height: 48px;
	padding: 0 40px 0 16px;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius-sm);
	background-color: var(--ka-soft);
	font: inherit;
	font-size: 15px;
	color: var(--ka-dark);
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 16px;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.ka-tabs__select:focus {
	border-color: var(--ka-pink);
	background-color: #fff;
	box-shadow: 0 0 0 4px var(--ka-pink-light);
}

@media (max-width: 767.98px) {
	.ka-tabs__pills {
		display: none;
	}

	.ka-tabs__select {
		display: block;
	}
}

.ka .ka-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
	padding: 8px 16px;
	border: 0;
	border-radius: 999px;
	background: var(--ka-soft-2);
	color: var(--ka-gray);
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.ka .ka-pill:hover {
	background: var(--ka-pink);
	color: #fff;
	box-shadow: 0 4px 12px -2px rgba(233, 30, 99, 0.4);
}

.ka .ka-pill:hover .ka-pill__count {
	color: rgba(255, 255, 255, 0.8);
}

.ka .ka-pill.is-active {
	background: var(--ka-pink);
	color: #fff;
	box-shadow: 0 4px 12px -2px rgba(233, 30, 99, 0.4);
}

.ka-pill__count {
	font-size: 12px;
	color: var(--ka-muted);
}

.ka .ka-pill.is-active .ka-pill__count {
	color: rgba(255, 255, 255, 0.8);
}

/* ---------- карточки заказов ---------- */

.ka-orders {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ka-order {
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ka-order:hover {
	border-color: rgba(233, 30, 99, 0.4);
	box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.06);
}

.ka-order__body {
	padding: 16px;
}

.ka-order__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.ka-order__eyebrow {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ka-muted);
}

.ka-order__num {
	font-size: 18px;
	font-weight: 700;
	color: var(--ka-dark);
}

.ka-order__date {
	margin-top: 2px;
	font-size: 12px;
	color: var(--ka-muted);
}

.ka-order__hr {
	height: 1px;
	margin: 14px 0;
	background: var(--ka-border-soft);
}

.ka-order__meta {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ka-order__thumbs {
	display: flex;
}

.ka-thumb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: var(--ka-radius-sm);
	border: 2px solid #fff;
	background: linear-gradient(135deg, var(--ka-pink-bg), var(--ka-pink-light));
	font-size: 20px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.ka-thumb + .ka-thumb {
	margin-left: -8px;
}

.ka-thumb--more {
	background: var(--ka-dark);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.ka-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.ka-thumb-img--placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.ka-order__sum {
	flex: 1;
	min-width: 0;
}

.ka-order__items {
	font-size: 13px;
	color: var(--ka-gray);
}

.ka-order__items .woocommerce-Price-amount {
	font-size: inherit;
}

.ka-order__total {
	font-size: 18px;
	font-weight: 700;
	color: var(--ka-dark);
}

.ka-order__total .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

/* нижняя строка карточки заказа: «Оплатить» + «Подробнее о заказе» */
.ka-order__actions {
	display: flex;
	align-items: stretch;
	border-top: 1px solid var(--ka-border-soft);
	background: #FAFAFA;
}

.ka .ka-order__pay {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: auto;
	height: auto;
	padding: 12px 18px;
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
	font-weight: 600;
	flex-shrink: 0;
}

.ka .ka-order__pay-icon {
	width: 15px;
	height: 15px;
}

.ka .ka-order__more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1;
	min-width: 0;
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ka-pink);
	transition: background 0.15s ease;
}

.ka .ka-order__more:hover {
	background: var(--ka-pink-light);
}

.ka .ka-order__more-icon {
	width: 16px;
	height: 16px;
}

/* бейджи статусов */
.ka-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

.ka-badge__icon {
	width: 14px;
	height: 14px;
}

.ka-badge--delivered {
	background: rgba(76, 175, 80, 0.15);
	color: var(--ka-success);
}

.ka-badge--processing {
	background: rgba(255, 152, 0, 0.15);
	color: var(--ka-warning);
}

.ka-badge--unpaid {
	background: rgba(233, 30, 99, 0.12);
	color: var(--ka-pink-dark);
}

.ka-badge--cancelled {
	background: rgba(153, 153, 153, 0.15);
	color: var(--ka-muted);
}

/* пагинация */
.ka-pagination {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
}

.ka .ka-pagination__link {
	padding: 10px 16px;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius-sm);
	background: #fff;
	font-size: 14px;
	font-weight: 500;
	color: var(--ka-gray);
	transition: border-color 0.15s ease, color 0.15s ease;
}

.ka .ka-pagination__link:hover {
	border-color: var(--ka-pink);
	color: var(--ka-pink);
}

/* ---------- детали заказа ---------- */

.ka-od-statusrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.ka-od-date {
	font-size: 14px;
	color: var(--ka-muted);
}

.ka-od-section {
	margin-bottom: 24px;
}

.ka-od-section .ka-h2 {
	margin-bottom: 12px;
}

.ka-od-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--ka-border-soft);
}

.ka-od-item__thumb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	border-radius: var(--ka-radius-sm);
	background: linear-gradient(135deg, var(--ka-pink-bg), var(--ka-pink-light));
	overflow: hidden;
}

.ka-od-item__thumb .ka-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ka-od-item__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.ka-od-item__name {
	font-size: 14px;
	font-weight: 600;
	color: var(--ka-dark);
	line-height: 1.35;
}

.ka .ka-od-item__name a:hover {
	color: var(--ka-pink);
}

.ka-od-item__spec {
	margin-top: 2px;
	font-size: 13px;
	color: var(--ka-muted);
}

.ka-od-item__spec .woocommerce-Price-amount {
	font-size: inherit;
	color: inherit;
}

.ka-od-item__price {
	flex-shrink: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--ka-dark);
	text-align: right;
}

.ka-od-item__price .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.ka-od-shipping {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #FAFAFA;
}

.ka-od-shipping__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 10px;
	background: #fff;
	color: var(--ka-gray);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.ka-od-shipping__body {
	flex: 1;
	min-width: 0;
}

.ka-od-shipping__name {
	font-size: 14px;
	font-weight: 500;
	color: var(--ka-dark);
}

/* дата/время доставки под названием способа */
.ka-od-shipping__when {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	color: var(--ka-muted);
}

.ka-od-shipping__price {
	font-size: 14px;
	font-weight: 600;
	color: var(--ka-dark);
}

.ka-od-shipping__price .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

/* белая карточка «Итого» */
.ka-od-total {
	padding: 16px;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
	background: #fff;
	color: var(--ka-dark);
	margin-bottom: 24px;
}

.ka-od-total__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 4px;
}

.ka-od-total__row .woocommerce-Price-amount {
	font-size: inherit;
	color: inherit;
}

/* внутри блока только строка «Итого» — разделительная линия не нужна */
.ka-od-total__grand {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	font-size: 15px;
	color: var(--ka-dark);
}

.ka-od-total__grand .woocommerce-Price-amount {
	font-size: 26px;
	font-weight: 700;
	color: var(--ka-pink);
}

.ka-od-address {
	padding: 16px;
	margin-bottom: 24px;
}

.ka-od-address__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--ka-dark);
}

.ka-od-address__icon {
	width: 16px;
	height: 16px;
	color: var(--ka-pink);
}

.ka-od-address__text {
	font-size: 14px;
	color: var(--ka-gray);
}

/* квартира/подъезд/этаж из мет заказа */
.ka-od-address__extra {
	margin-top: 4px;
	font-size: 14px;
	color: var(--ka-gray);
}

.ka-od-address__note {
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: 10px;
	background: var(--ka-soft);
	font-size: 13px;
	color: var(--ka-gray);
}

.ka-od-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* кнопка «Повторить заказ» от WooCommerce */
.ka-od-actions form {
	margin: 0;
}

.ka-od-actions .woocommerce-Button,
.ka-od-actions button.button,
.ka-od-actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 52px;
	padding: 0 20px;
	border: 2px solid var(--ka-pink) !important;
	border-radius: var(--ka-radius-sm) !important;
	background: #fff !important;
	color: var(--ka-pink) !important;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	text-shadow: none;
	box-shadow: none;
	cursor: pointer;
	transition: background 0.15s ease;
}

.ka-od-actions .woocommerce-Button:hover,
.ka-od-actions button.button:hover,
.ka-od-actions .button:hover {
	background: var(--ka-pink-light) !important;
	color: var(--ka-pink) !important;
}

/* ---------- уведомления WooCommerce (ошибки и подтверждения) ---------- */

.ka .woocommerce-notices-wrapper:empty {
	display: none;
}

.ka .woocommerce-message,
.ka .woocommerce-error,
.ka .woocommerce-info {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 16px;
	padding: 14px 40px 14px 16px;
	border: 0;
	border-left: 4px solid var(--ka-gray);
	border-radius: var(--ka-radius-sm);
	background: var(--ka-soft);
	color: var(--ka-text);
	font-size: 14px;
	list-style: none;
}

.ka .woocommerce-message {
	border-left-color: var(--ka-success);
	background: rgba(76, 175, 80, 0.08);
}

.ka .woocommerce-error {
	border-left-color: var(--ka-pink-dark);
	background: rgba(193, 19, 78, 0.07);
}

.ka .woocommerce-info {
	border-left-color: #4A90D9;
	background: rgba(74, 144, 217, 0.07);
}

.ka .woocommerce-message::before,
.ka .woocommerce-error::before,
.ka .woocommerce-info::before {
	display: none;
}

.ka .woocommerce-error li,
.ka .woocommerce-message li,
.ka .woocommerce-info li {
	list-style: none;
	margin: 0;
}

.ka .woocommerce-message .button,
.ka .woocommerce-error .button,
.ka .woocommerce-info .button {
	margin: 4px 0 0;
	padding: 6px 12px;
	border: 0;
	border-radius: 8px;
	background: var(--ka-pink);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	float: right;
	box-shadow: none;
}

.ka .woocommerce-form__label.woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* ---------- экран входа / регистрации ---------- */

.ka-auth__hero {
	text-align: center;
	margin-bottom: 32px;
}

.ka-auth__tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 24px;
}

.ka-auth__tabs .ka-pill {
	flex: 1;
	justify-content: center;
	padding: 10px 16px;
}

.ka-auth__panel.is-hidden {
	display: none;
}

.ka-auth__panel .ka-sub {
	margin-bottom: 22px;
}

.ka-auth__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
}

.ka-auth__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--ka-border-soft);
}

.ka-auth__secure {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--ka-muted);
}

.ka-auth__secure-icon {
	width: 16px;
	height: 16px;
	color: var(--ka-muted);
}

.ka-auth__cat {
	font-size: 40px;
	line-height: 1;
	opacity: 0.3;
}

.ka--auth .woocommerce-notices-wrapper {
	margin-bottom: 20px;
}

/* ---------- адаптив: сайдбар → drawer на мобиле ---------- */

@media (min-width: 640px) {
	.ka-h1 {
		font-size: 26px;
	}

	.ka-loyalty {
		padding: 20px;
	}

	.ka-loyalty__value {
		font-size: 40px;
	}

	.ka-menu-card {
		gap: 16px;
		padding: 16px;
	}

	.ka-menu-card__icon {
		width: 56px;
		height: 56px;
	}

	.ka-menu-card__title {
		font-size: 16px;
	}

	.ka-thumb {
		width: 56px;
		height: 56px;
	}
}

@media (max-width: 1023.98px) {

	/* приветствие — только на десктопе, как в макете */
	.ka-page-head--desktop {
		display: none;
	}

	.ka-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		z-index: 100000;
		width: min(88vw, 380px);
		min-height: 0;
		max-height: none;
		border: 0;
		border-right: 1px solid var(--ka-border);
		border-radius: 0;
		transform: translateX(-105%);
		transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
		overscroll-behavior: contain;
	}

	.ka-sidebar.is-open {
		transform: translateX(0);
		box-shadow: 0 0 40px rgba(0, 0, 0, 0.25);
	}

	.ka-drawer-close {
		display: inline-flex;
	}

	.ka-overlay.is-visible {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 99999;
		background: rgba(0, 0, 0, 0.45);
	}

	body.ka-drawer-lock {
		overflow: hidden !important;
	}
}

@media (min-width: 1024px) {

	.ka {
		font-size: 15px;
	}

	.ka-mobile-top {
		display: none;
	}

	.ka-content {
		padding: 4px 40px 72px;
	}

	.ka-page-head {
		padding-bottom: 22px;
		margin-bottom: 26px;
	}

	.ka-page-head .ka-h1,
	.ka-page-head--desktop .ka-h1 {
		font-size: 30px;
	}

	.ka-page-head--mobile {
		display: none;
	}

	.ka-promo {
		padding: 24px;
		/* на широких экранах тексту хватает места — вуаль не нужна */
		background-image:
			url("https://kat-kin.loc/wp-content/uploads/2026/10/ChatGPT-Image-9-%D0%BE%D0%BA%D1%82.-2026-%D0%B3.-15_55_27-1.webp"),
			linear-gradient(135deg, var(--ka-pink-bg), var(--ka-pink-light), #F8BBD0);
		background-position: right bottom, 0 0;
		background-size: auto 100%, cover;
	}

	.ka-promo__text {
		padding-right: 0;
	}

	.ka-promo__title {
		font-size: 20px;
	}

	.ka-orders {
		gap: 16px;
	}

	.ka-order__body,
	.ka-od-item,
	.ka-od-shipping,
	.ka-address__body {
		padding: 20px;
	}

	.ka-order__more {
		padding: 12px 20px;
	}

	.ka-thumb {
		width: 56px;
		height: 56px;
	}

	.ka-od-item__thumb {
		width: 64px;
		height: 64px;
	}
}

/* уменьшенная высота инпутов/кнопок на больших экранах — как в макете */
@media (min-width: 1024px) {

	.ka-input,
	.ka-form .form-row .input-text,
	.ka-form .form-row select {
		height: 52px;
	}

	.ka-btn {
		height: 56px;
		font-size: 17px;
	}
}

/* ==== ТЗ 11.10.26: фиксы мобильной вёрстки (в конце файла — чтобы перебить базовые правила) ==== */

/* на мобильных кнопка редактирования адреса — компактный карандаш,
   иначе она съедает ширину строки и адрес переносится по 1-2 слова */
@media (max-width: 767.98px) {
	.ka a.ka-address__edit {
		font-size: 0;
		gap: 0;
		padding: 9px;
		flex-shrink: 0;
	}

	.ka a.ka-address__edit .ka-icon {
		width: 18px;
		height: 18px;
	}
}

/* 14.10.26: адаптив «Адресов доставки» — иконка и действия (карандаш,
   «Удалить») в верхнем ряду, текст адреса ниже во всю ширину карточки,
   иначе кнопки съедают место и адрес переносится по одному слову */
@media (max-width: 767.98px) {
	.ka-address__body {
		flex-wrap: wrap;
		padding: 14px 16px;
		row-gap: 12px;
	}

	.ka-address__icon {
		order: 1;
		width: 40px;
		height: 40px;
	}

	.ka-address__actions {
		order: 2;
		margin-left: auto;
		flex-direction: row;
		align-items: center;
		gap: 8px;
	}

	.ka-address__info {
		order: 3;
		flex: 1 1 100%;
	}
}

/* системные уведомления Woo внутри кабинета — во всю ширину, кнопка-ссылка под текстом */
.ka .woocommerce-message,
.ka .woocommerce-info,
.ka .woocommerce-error {
	display: block !important;
}

.ka .woocommerce-message a.button,
.ka .woocommerce-info a.button,
.ka .woocommerce-error a.button {
	float: none !important;
	display: table !important;
	margin: 0 0 10px !important;
	max-width: 100%;
}

/* ============================================================
   v1.4.0: программа лояльности + адресная книга
   ============================================================ */

/* ---------- блок «Баллы на счету» (дашборд, один прямоугольник) ---------- */

a.ka-loyalty {
	display: block;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

a.ka-loyalty:hover {
	border-color: rgba(233, 30, 99, 0.35);
	box-shadow: 0 6px 18px -6px rgba(233, 30, 99, 0.25);
}

.ka-loyalty__hint {
	margin-top: 6px;
	font-size: 13px;
	color: var(--ka-muted);
}

/* ---------- страница «Баллы» ---------- */

.ka-loyalty--page {
	margin-bottom: 20px;
}

.ka-log {
	padding: 16px;
	background: #fff;
	border: 1px solid var(--ka-border);
	border-radius: var(--ka-radius);
}

.ka-log__head {
	margin-bottom: 4px;
	font-size: 15px;
	font-weight: 700;
	color: var(--ka-dark);
}

.ka-log__row {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--ka-border-soft);
	font-size: 14px;
}

.ka-log__row:last-child {
	border-bottom: 0;
	padding-bottom: 2px;
}

.ka-log__date {
	flex-shrink: 0;
	width: 110px;
	font-size: 13px;
	color: var(--ka-muted);
}

.ka-log__note {
	flex: 1;
	min-width: 0;
	color: var(--ka-text);
}

.ka-log__delta {
	white-space: nowrap;
	font-weight: 700;
}

.ka-log__delta--plus {
	color: var(--ka-success);
}

.ka-log__delta--minus {
	color: var(--ka-pink);
}

.ka-log__empty {
	padding: 8px 0 2px;
	font-size: 14px;
	color: var(--ka-muted);
}

/* ---------- адресная книга ---------- */

.ka-address__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

.ka .ka-address__del {
	border: 0;
	cursor: pointer;
	font-family: inherit;
	color: #c62828;
	background: #FDECEC;
}

.ka .ka-address__del:hover {
	background: #F8D7DA;
	color: #a02020;
}

.ka-address__text--extras {
	margin-top: 4px;
	font-size: 13px;
	color: var(--ka-gray);
}

.ka-address__text--comment {
	margin-top: 4px;
	font-size: 13px;
	color: var(--ka-muted);
}

.ka-abook__empty {
	padding: 24px 16px;
	text-align: center;
	color: var(--ka-gray);
	font-size: 14px;
}

.ka-abook__empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 10px;
	border-radius: 50%;
	background: var(--ka-pink-light);
	color: var(--ka-pink);
}

.ka-abook__add {
	margin-top: 4px;
}

.ka-abook__limit {
	margin-top: 4px;
	font-size: 13px;
	color: var(--ka-muted);
}

.ka-abook__form .ka-card {
	padding: 16px;
}

.ka-abook__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px 16px;
	margin-bottom: 14px;
}

.ka-abook__field--wide {
	grid-column: 1 / -1;
}

.ka-abook__delete-form {
	margin: 0;
	line-height: 1;
}

@media (max-width: 768px) {
	.ka-log__date {
		width: 84px;
	}

	.ka-abook__grid {
		grid-template-columns: 1fr;
	}

	.ka-address__actions {
		flex-direction: row;
		align-items: center;
	}
}

/* ============================================================
   15.10.26 — правки по документу клиента (Frame 8, Frame 10)
   ============================================================ */

@media (max-width: 1023.98px) {

	/* п.6/7: верхний серый овал — только фото и стрелка, справа;
	   на главной кабинета скрыт полностью */
	.ka {
		position: relative;
	}

	.ka-mobile-top {
		position: absolute;
		top: -4px;
		right: 41px;
		padding: 0;
		z-index: 3;
		justify-content: flex-end;
	}

	.ka .ka-user-chip {
		width: 89px;
		height: 57px;
		padding: 0;
		justify-content: center;
		gap: 12px;
		background: #E9E9E9;
		border-radius: 32px;
	}

	.ka .ka-user-chip .ka-avatar--sm {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}

	.ka .ka-user-chip__text {
		display: none;
	}

	.ka .ka-user-chip__chevron {
		width: 12px;
		height: 12px;
	}

	body.woocommerce-dashboard .ka-mobile-top {
		display: none;
	}

	/* Frame 10: заголовок раздела. Шрифт привязан к ширине слева от
	   овала (89px + 56px от края), чтобы «Личные данные» и «Адреса
	   доставки» всегда помещались в одну строку: 430 — 22px,
	   390 — 18.1, 360 — 15.2, 320 — 11.5. */
	.ka .ka-h1,
	.ka .ka-page-head--mobile {
		font-family: 'Montserrat Alternates', sans-serif;
		font-size: clamp(11.5px, calc((100vw - 204px) * 0.0974), 22px);
		line-height: 34px;
		font-weight: 500;
		color: #000;
	}

	.ka .ka-page-head--mobile {
		padding-left: 6px;
		white-space: nowrap;
	}

	/* крестик ЛК: штатный серый фон, без розового градиента темы */
	html body .ka .ka-drawer-close:hover,
	html body .ka .ka-drawer-close:focus,
	html body .ka .ka-drawer-close:active {
		background-color: #F5F5F5 !important;
		background-image: none !important;
		box-shadow: none !important;
	}

	/* Frame 8: карточка профиля на главной */
	.ka .ka-me {
		min-height: 66px;
		padding: 7px 12px;
		gap: 12px;
		border: 1px solid #C5C5C5;
		border-radius: 9px;
	}

	.ka .ka-me .ka-avatar {
		width: 52px;
		height: 52px;
		font-size: 19px;
	}

	.ka .ka-me__phone {
		display: none;
	}

	.ka .ka-me__name {
		display: block;
		width: 100%;
		margin: 0;
		font-family: 'Montserrat Alternates', sans-serif;
		font-size: 16px;
		line-height: 20px;
		font-weight: 400;
		color: #000;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ka .ka-me__points {
		flex: 0 0 73px;
		width: 73px;
		height: 20px;
		padding: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 11px;
		background: #FFC6D2;
		font-family: 'Montserrat Alternates', sans-serif;
		font-size: 10px;
		line-height: 12px;
		font-weight: 500;
		color: #FF2C5B;
	}

	/* п.8: «Баллы на счету» и число — в одну строку */
	.ka .ka-loyalty--page {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: space-between;
		gap: 4px 12px;
	}

	.ka .ka-loyalty--page .ka-loyalty__label {
		margin: 0;
	}

	.ka .ka-loyalty--page .ka-loyalty__value {
		margin: 0;
	}

	.ka .ka-loyalty--page .ka-loyalty__hint {
		flex: 0 0 100%;
		margin-top: 10px;
	}
}

/* п.4: убрать абзац о персональных данных на регистрации */
.ka-form .woocommerce-privacy-policy-text {
	display: none !important;
}

/* 20.10.26: единый мобильный ритм кабинета — 24px после заголовка
   (и после фильтра заказов) до идущего ниже блока. */
@media (max-width: 767.98px) {
	.ka .ka-page-head--mobile {
		margin-bottom: 34px;
	}

	.ka .ka-tabs {
		margin-bottom: 34px;
	}
}


/* ==========================================================================
   29.10.26 — документ «Правки по сайту 22.10.26»
   ========================================================================== */

/* Карточка пользователя в сайдбаре: фото + имя + пилюля с баллами
   (такой же вид, как карточка на главной кабинета). */
.ka-user-card {
	gap: 14px;
	margin: 14px 14px 0;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--ka-border);
}

.ka .ka-user-card .ka-avatar {
	width: 60px;
	height: 60px;
	font-size: 22px;
}

.ka-user-card__name {
	display: block;
	overflow: hidden;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--ka-dark);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ka-user-card__points {
	flex-shrink: 0;
	margin-left: auto;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--ka-pink-light);
	font-size: 13px;
	font-weight: 700;
	color: var(--ka-pink);
	white-space: nowrap;
}

/* Логотип из шапки сайдбара убран: на десктопе блок пустой — прячем целиком. */
@media (min-width: 1024px) {
	.ka-sidebar__head {
		display: none;
	}
}

/* «Личные данные» (Frame 22): фото и имя — в строку. */
.ka-profile__avatar {
	flex-direction: row;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.ka-profile__who {
	text-align: left;
}

/* «Личные данные» (Frame 22): Имя+Фамилия и Телефон+Email — парами в строку. */
.ka-fields-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ka-fields-row .ka-field {
	min-width: 0;
}

@media (max-width: 767.98px) {
	.ka-fields-row {
		grid-template-columns: 1fr;
	}
}

/* Кнопка «Повторить» в карточке заказа — стилистически как «Оплатить». */
.ka .ka-order__again {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: auto;
	height: auto;
	padding: 12px 18px;
	border-radius: 0;
	box-shadow: none;
	font-size: 14px;
	font-weight: 600;
	flex-shrink: 0;
}

.ka .ka-order__again-icon {
	width: 15px;
	height: 15px;
}

/* Карточка уже, чем референс: пилюля с баллами переносится под имя,
   чтобы имя не обрезалось (выравнивание — по левому краю текста). */
.ka-user-card {
	flex-wrap: wrap;
	row-gap: 2px;
}

.ka-user-card__name {
	font-size: 20px;
}

.ka-user-card__points {
	flex-basis: 100%;
	margin-left: 74px;
}

/* пилюля на второй строке не должна переполнять карточку */
.ka-user-card__points {
	flex-basis: calc(100% - 74px);
}

/* Длинные заголовки («Программа лояльности») на мобильном: разрешаем
   перенос на вторую строку, иначе текст уходит под чип-аватар
   (овал 89px + right 41px). Короткие заголовки остаются в одну строку. */
@media (max-width: 1023.98px) {
	.ka .ka-page-head--mobile--wrap {
		white-space: normal;
		max-width: calc(100% - 150px);
		line-height: 1.25;
	}
}

/* ==========================================================================
   29.10.26 (уточнение): карточка пользователя — фото + ИМЯ + пилюля баллов
   строго в ОДНУ строку (как на референсе из документа), на десктопе и мобиле.
   Имя не обрезается пилюлей; при совсем длинном имени — мягкий ellipsis.
   ========================================================================== */

/* сайдбар чуть шире, чтобы строка помещалась (только десктоп) */
@media (min-width: 1024px) {
	.ka-sidebar {
		width: 320px;
	}
}

.ka-user-card {
	flex-wrap: nowrap;
	row-gap: 0;
	gap: 12px;
	margin: 12px 12px 0;
	padding: 12px;
}

.ka .ka-user-card .ka-avatar {
	width: 52px;
	height: 52px;
	font-size: 20px;
}

.ka-user-card__name {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 16px;
	line-height: 1.2;
}

.ka-user-card__points {
	flex: 0 0 auto;
	margin-left: auto;
	padding: 6px 10px;
	font-size: 12px;
}

@media (max-width: 1023.98px) {
	.ka-user-card__name {
		font-size: 18px;
	}
}

/* ==========================================================================
   29.10.26 — «Личные данные» по Figma Frame 21
   (профиль-карточка с кнопками, поля-плейсхолдеры, полноширинная СОХРАНИТЬ)
   ========================================================================== */

.ka--endpoint-edit-account .ka-scr {
	max-width: 780px;
}

.ka-prof__avatar-card {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 22px 0;
	padding: 18px 16px 18px 20px;
	background: #fff;
	border: 1px solid #a8a8a8;
	border-radius: 14px;
}

.ka .ka-prof__avatar-card .ka-avatar {
	width: 62px;
	height: 62px;
	font-size: 22px;
	flex-shrink: 0;
}

.ka-prof__who {
	min-width: 0;
}

.ka-prof__name {
	overflow: hidden;
	font: 500 20px/24px 'Montserrat', Arial, sans-serif;
	color: #000;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ka-prof__since {
	margin-top: 3px;
	font: 500 15px/18px 'Montserrat', Arial, sans-serif;
	color: #9d9d9d;
}

.ka-prof__actions {
	display: flex;
	flex-shrink: 0;
	gap: 12px;
	margin-left: auto;
}

.ka .ka-prof__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 50px;
	padding: 0 20px;
	border-radius: 14px;
	font: 500 16px/20px 'Montserrat', Arial, sans-serif;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.ka .ka-prof__btn svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

.ka .ka-prof__btn-edit {
	background: #ff2c5b;
	border: 0;
	color: #fff !important;
}

.ka .ka-prof__btn-edit:hover {
	background: #d81b60;
}

.ka .ka-prof__btn-del {
	background: #fff;
	border: 1px solid #a8a8a8;
	color: #525252 !important;
}

.ka .ka-prof__btn-del:hover {
	border-color: #525252;
}

/* поля: плейсхолдеры вместо внешних лейблов */
.ka .ka-prof .ka-field {
	position: relative;
	margin: 0;
}

.ka .ka-prof .ka-field > label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.ka .ka-prof .ka-input {
	box-sizing: border-box;
	width: 100%;
	height: 50px;
	padding: 0 26px;
	border: 1px solid #a8a8a8;
	border-radius: 14px;
	background: #fff;
	box-shadow: none;
	font: 600 16px/20px 'Montserrat', Arial, sans-serif;
	color: #525252;
}

.ka .ka-prof .ka-input::placeholder {
	opacity: 1;
	font-weight: 600;
	color: #525252;
}

.ka .ka-prof .ka-input:focus {
	border-color: #ff2c5b;
	background: #fff;
	box-shadow: 0 0 0 3px var(--ka-pink-light, #fce4ec);
	outline: none;
}

.ka-prof__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
}

/* смена пароля */
.ka-prof__pass {
	margin-top: 51px;
}

.ka-prof__pass-title {
	margin: 0;
	font: 400 20px/24px 'Montserrat Alternates', 'Montserrat', sans-serif;
	color: #000;
}

.ka-prof__pass-hint {
	margin: 6px 0 32px;
	font: 500 13px/16px 'Montserrat Alternates', 'Montserrat', sans-serif;
	color: #7f7f7f;
}

.ka-prof__pass .ka-field + .ka-field {
	margin-top: 22px;
}

/* сохранить */
.ka .ka-prof__save {
	display: block;
	width: 100%;
	height: 65px;
	margin-top: 35px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: #e91e63;
	background-image: none !important;
	box-shadow: none;
	font: 500 20px/24px 'Montserrat', Arial, sans-serif;
	letter-spacing: 0.04em;
	color: #fff;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.1s ease;
}

.ka .ka-prof__save:hover {
	background: #c1134e;
}

.ka .ka-prof__save:active {
	transform: scale(0.995);
}

@media (max-width: 767.98px) {
	.ka-prof__avatar-card {
		flex-wrap: wrap;
		gap: 14px;
		padding: 16px 14px;
	}

	.ka-prof__actions {
		width: 100%;
		margin-left: 0;
	}

	.ka .ka-prof__btn {
		flex: 1;
		height: 46px;
		padding: 0 12px;
		font-size: 15px;
	}

	.ka-prof__row {
		grid-template-columns: 1fr;
	}

	.ka-prof__pass {
		margin-top: 36px;
	}

	.ka .ka-prof__save {
		height: 56px;
		font-size: 17px;
	}
}

/* «Клиент с …» — в одну строку (блок имени растягивается, кнопки справа) */
.ka-prof__who {
	flex: 1 1 auto;
}

.ka-prof__since {
	white-space: nowrap;
}
