/* Выбор города — плашка в шапке + модалка (mobile-first, в духе «Золотого яблока») */

.richard-city-bar {
	background: #fff;
	border-bottom: 1px solid #ececec;
	text-align: center;
	padding: 8px 12px;
	font-family: inherit;
}
.richard-city-open {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: none;
	border: 0;
	cursor: pointer;
	color: #272626;
	font: inherit;
	line-height: 1;
	padding: 6px 12px;
	border-radius: 999px;
	transition: background .15s ease;
}
.richard-city-open:hover { background: rgba(0, 0, 0, .045); }
.rc-pin { color: #272626; flex: none; }
.richard-city-open .rc-cap {
	color: #9a9591;
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 10.5px;
	font-weight: 600;
}
.richard-city-open .rc-city {
	font-size: 14px;
	font-weight: 600;
	color: #111;
	border-bottom: 1px solid transparent;
	transition: border-color .15s ease;
}
.richard-city-open:hover .rc-city { border-bottom-color: #111; }
.richard-city-open .rc-city--empty { color: #111; }
.rc-caret { color: #9a9591; flex: none; transition: transform .15s ease; }
.richard-city-open:hover .rc-caret { transform: translateY(1px); }

@media (min-width: 783px) {
	.richard-city-bar { padding: 9px 12px; }
	.richard-city-open { gap: 9px; padding: 7px 16px; }
	.richard-city-open .rc-cap { font-size: 11px; letter-spacing: .14em; }
	.richard-city-open .rc-city { font-size: 15px; }
}

.richard-city-modal {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .38);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	z-index: 99999;
}
.richard-city-modal[hidden] { display: none; }

.rc-modal-inner {
	background: #fff;
	width: 100%;
	max-width: 560px;
	border-radius: 16px 16px 0 0;
	padding: 18px;
	max-height: 82vh;
	display: flex;
	flex-direction: column;
}
.rc-modal-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
	font-size: 20px;
}
.rc-close { background: none; border: 0; font-size: 26px; line-height: 1; cursor: pointer; color: #2c2620; }
.rc-search {
	padding: 12px 14px;
	border: 1px solid #e0d9d0;
	border-radius: 10px;
	font-size: 16px;
	margin-bottom: 10px;
	outline: none;
}
.rc-search:focus { border-color: #111; }
.rc-hint {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: #9a9591;
	margin: 2px 2px 8px;
}
.rc-list { list-style: none; margin: 0; padding: 0; overflow: auto; }
.rc-list li button {
	display: flex;
	align-items: baseline;
	gap: 10px;
	width: 100%;
	text-align: left;
	background: none;
	border: 0;
	padding: 13px 6px;
	font-size: 16px;
	cursor: pointer;
	border-bottom: 1px solid #f0f0f0;
	color: #272626;
}
.rc-list li button:hover { background: #f7f7f7; }
.rc-name { flex: none; }
.rc-region { font-size: 12px; color: #9a9591; }
.rc-empty { padding: 14px 6px; color: #9a9591; }

@media (min-width: 560px) {
	.richard-city-modal { align-items: center; }
	.rc-modal-inner { border-radius: 16px; }
}

/* блок «Ваш уровень» в личном кабинете (вкладка «Баллы») */
.richard-loyalty-level {
	background: #faf8f5;
	border-left: 2px solid #111;
	padding: 12px 16px;
	margin: 0 0 18px;
	font-size: 14px;
	color: #272626;
}
.richard-loyalty-level strong { color: #111; }

/* Иконка входа в личный кабинет в шапке (добавляется JS рядом с корзиной) */
/* Контейнер иконок HFE делаем строкой, чтобы человечек встал В РЯД с корзиной,
   а не стопкой над ней (иначе смещён вверх и «криво»). */
.hfe-masthead-custom-menu-items {
	display: flex !important;
	align-items: center !important;
}
.richard-account-link {
	order: -1;                 /* человечек — слева от корзины */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #111;
	line-height: 0;
	margin: 0 16px 0 0;
	vertical-align: middle;
	transition: opacity .15s ease;
}
.richard-account-link:hover { opacity: .6; color: #111; }
.richard-account-link svg { display: block; }

/* Плавающая пилюля языка TranslatePress — сырая и наезжает на корзину, убираем */
#trp-floater-ls,
.trp-language-switcher-container.trp-floater { display: none !important; }

/* Плавающая мини-корзина не должна перекрывать меню/контент в личном кабинете */
.woocommerce-account .xoo-wsc-basket { display: none !important; }

/* Блок «спасибо за заказ» — предложить гостю аккаунт по телефону */
.richard-ty-register {
	border: 1px solid #ececec;
	border-left: 2px solid #111;
	background: #faf8f5;
	padding: 22px 24px;
	margin: 24px 0;
	max-width: 640px;
}
.richard-ty-register h3 { margin: 0 0 8px; font-size: 17px; color: #111; }
.richard-ty-register p { margin: 0 0 16px; color: #6b6b6b; font-size: 14px; line-height: 1.55; }
.richard-ty-btn {
	display: inline-block;
	background: #111;
	color: #fff !important;
	text-decoration: none !important;
	padding: 12px 26px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.richard-ty-btn:hover { background: #000; }

/* ==== Единое «здесь пока пусто» (корзина / каталог / заказы / баллы) ==== */
.richard-empty {
	max-width: 440px;
	margin: 56px auto;
	padding: 8px 16px;
	text-align: center;
}
.richard-empty__icon {
	display: inline-flex;
	width: 56px;
	height: 56px;
	margin: 0 0 20px;
	color: #111;
	opacity: .9;
}
.richard-empty__icon svg { width: 100%; height: 100%; display: block; }
.richard-empty__title {
	font-size: 21px;
	line-height: 1.2;
	color: #111;
	margin: 0 0 8px;
	letter-spacing: .01em;
}
.richard-empty__text {
	font-size: 15px;
	line-height: 1.55;
	color: #6b6b6b;
	margin: 0 auto 24px;
	max-width: 360px;
}
.richard-empty__cta {
	display: inline-block;
	background: #111;
	color: #fff !important;
	border: 1px solid #111;
	padding: 14px 30px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .15s ease;
}
.richard-empty__cta:hover { background: #000; color: #fff !important; }
/* На узких контейнерах (корзина/каталог) не жмёмся к краям */
.richard-empty--catalog { margin-top: 32px; margin-bottom: 40px; }

/* ==== Чистая история баллов (endpoint view-log) ==== */
.richard-points-history { margin: 4px 0 8px; }
.richard-ph__title { font-size: 22px; color: #111; margin: 0 0 18px; letter-spacing: .01em; }
table.richard-ph {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	margin: 0;
}
table.richard-ph th,
table.richard-ph td {
	text-align: left;
	padding: 14px 4px;
	border-bottom: 1px solid #ececec;
}
table.richard-ph thead th {
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #8a8a8a;
	font-weight: 600;
}
table.richard-ph .richard-ph__pts { text-align: right; white-space: nowrap; color: #111; font-weight: 600; }
table.richard-ph tfoot td {
	border-bottom: 0;
	border-top: 2px solid #111;
	padding-top: 16px;
	font-weight: 700;
	color: #111;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: .04em;
}
.richard-ph__back {
	display: inline-block;
	margin-top: 24px;
	color: #111;
	font-size: 13px;
	text-decoration: none;
	border-bottom: 1px solid #111;
	padding-bottom: 1px;
}
.richard-ph__back:hover { opacity: .6; color: #111; }

/* Видимый фокус клавиатуры на кастомных кнопках (a11y) */
.richard-city-open:focus-visible,
.rc-close:focus-visible,
.rc-pick:focus-visible,
.rc-search:focus-visible,
.richard-account-link:focus-visible {
	outline: 2px solid #111;
	outline-offset: 2px;
}
