/*
Theme Name:   Astra Child (Catchmop)
Theme URI:    https://catchmop.ru/
Description:  Дочерняя тема Astra для Catchmop. Нижнее фиксированное меню, страница каталога и избранное.
Author:       Catchmop
Template:     astra
Version:      1.2.8
Text Domain:  astra-child
*/

/* ==========================================================================
   1. Нижнее фиксированное меню (аналог nav.bottomMenu с pharmacosmetica.ru)
   ========================================================================== */

.bottomMenu {
	max-width: 576px;
	position: fixed;
	width: 100%;
	height: 75px;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transform: translate3d(0, 0, 0);
	z-index: 99999;
	background-color: #f1f1f1;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	pointer-events: all;
	flex-shrink: 0;
	padding: 0.5rem;
	padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
	box-shadow: 0 -0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.bottomMenu .pmenu {
	position: relative;
	display: flex;
	flex-direction: column;
	border: none;
	background: transparent;
	color: #5d5d5d;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 0.35rem;
	cursor: pointer;
	text-decoration: none;
	min-width: 0;
	transition: color 0.15s ease;
}

.bottomMenu .pmenu svg {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	margin-bottom: 0.25rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bottomMenu .pmenu b {
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.1;
	text-align: center;
	white-space: nowrap;
	letter-spacing: -0.01em;
}

.bottomMenu .pmenu.active,
.bottomMenu .pmenu:hover,
.bottomMenu .pmenu:focus-visible {
	color: #5babE6;
	outline: none;
}

/* Счётчик (корзина / избранное) */
.bottomMenu .pmenu .counter {
	display: none;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	position: absolute;
	top: -2px;
	right: 2px;
	z-index: 5;
	text-align: center;
	line-height: 22px;
	font-size: 10pt;
	font-weight: 700;
	color: #fff;
	background: #4092cd;
	border-radius: 20px;
	box-shadow: -3px 3px 3px rgba(0, 0, 0, 0.3);
}

.bottomMenu .pmenu .counter.active {
	display: block;
}

/* Место под фиксированное меню, чтобы контент и футер не прятались */
body.cm-has-bottom-menu {
	padding-bottom: calc(75px + env(safe-area-inset-bottom, 0px));
}

/* Бейдж reCAPTCHA живёт в правом нижнем углу (fixed) и перекрывает
 * зону «Корзины». Поднимаем его над нижним меню на мобильных. */
@media (max-width: 920px) {
	.grecaptcha-badge {
		bottom: 90px !important;
	}
}

/*
 * Нижнее меню показывается во всей мобильной версии — пока Astra
 * держит мобильную шапку, то есть до 921px (break_point темы Astra).
 * На десктопе (от 921px) меню и отступ под него скрываются полностью,
 * но разметка остаётся в HTML, чтобы меню появлялось сразу
 * при сужении окна, без перезагрузки.
 */
@media (min-width: 921px) {
	.bottomMenu {
		display: none !important;
	}

	body.cm-has-bottom-menu {
		padding-bottom: 0;
	}
}

/* ==========================================================================
   2. Страница «Каталог» — пять блоков-ссылок
   ========================================================================== */

.cm-catalog {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin: 24px 0 32px;
}

.cm-catalog-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 18px;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.cm-catalog-card:hover {
	border-color: #5babE6;
	box-shadow: 0 4px 14px rgba(91, 171, 230, 0.18);
	transform: translateY(-2px);
}

/* Весь блок — ссылка на родительскую категорию */
.cm-catalog-card__link {
	position: static;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
	color: #1a1a1a;
	text-decoration: none;
}

.cm-catalog-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 10px;
}

.cm-catalog-card__link:hover,
.cm-catalog-card__link:focus {
	color: #5babE6;
	text-decoration: none;
}

.cm-catalog-card__count {
	font-size: 0.85rem;
	color: #7a7a7a;
}

/* Подкатегории — кликабельны поверх общей ссылки блока */
.cm-catalog-card__subs {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 4px;
}

.cm-catalog-card__subs a {
	display: inline-block;
	padding: 4px 9px;
	font-size: 0.78rem;
	line-height: 1.3;
	color: #2b6ca3;
	background: #eef5fb;
	border: 1px solid #d5e6f4;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.15s ease;
}

.cm-catalog-card__subs a:hover,
.cm-catalog-card__subs a:focus {
	background: #d5e9f8;
	border-color: #5babE6;
	text-decoration: none;
}

.cm-catalog-card__arrow {
	position: relative;
	z-index: 2;
	margin-top: auto;
	padding-top: 6px;
	font-size: 1.2rem;
	color: #5babE6;
}

/* ==========================================================================
   3. Страница «Избранное»
   ========================================================================== */

.cm-wishlist {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 18px;
	margin: 24px 0 32px;
}

.cm-wishlist-item {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 12px;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 10px;
}

.cm-wishlist-item__media {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 6px;
	margin-bottom: 10px;
	background: #f7f7f7;
}

.cm-wishlist-item__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	margin: 0;
	display: block;
}

.cm-wishlist-item__title {
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
	color: #1a1a1a;
	text-decoration: none;
	margin-bottom: 6px;
}

.cm-wishlist-item__title:hover {
	color: #5babE6;
	text-decoration: none;
}

.cm-wishlist-item__price {
	font-size: 1rem;
	font-weight: 700;
	color: #1a1a1a;
	margin-bottom: 10px;
}

.cm-wishlist-item__price .woocommerce-Price-amount {
	color: inherit;
}

.cm-wishlist-item__actions {
	display: flex;
	gap: 8px;
	margin-top: auto;
}

.cm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	padding: 9px 12px;
	font-size: 0.85rem;
	font-weight: 600;
	border-radius: 6px;
	border: 1px solid transparent;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.cm-btn--cart {
	background: #5babE6;
	color: #fff;
}

.cm-btn--cart:hover {
	background: #3f95d6;
	color: #fff;
	text-decoration: none;
}

.cm-btn--remove {
	background: #fff;
	border-color: #e0e0e0;
	color: #8a8a8a;
}

.cm-btn--remove:hover {
	border-color: #e05a5a;
	color: #e05a5a;
	text-decoration: none;
}

.cm-wishlist-empty {
	padding: 32px 20px;
	text-align: center;
	background: #fafafa;
	border: 1px dashed #dcdcdc;
	border-radius: 10px;
	color: #666;
}

.cm-wishlist-empty p {
	margin: 0 0 14px;
}

.cm-wishlist-empty a {
	color: #5babE6;
	font-weight: 600;
}

/* Кнопка «В избранное» на карточках товара */
.cm-wish-btn {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 6;
	width: 36px;
	height: 36px;
	padding: 0; /* Astra даёт кнопкам паддинги 15px 30px — они съедают иконку */
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid #e6e6e6;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	transition: transform 0.15s ease, border-color 0.15s ease;
}

.cm-wish-btn:hover {
	transform: scale(1.08);
	border-color: #5babE6;
}

.cm-wish-btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: #9a9a9a;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: fill 0.15s ease, stroke 0.15s ease;
}

.cm-wish-btn.is-active svg {
	fill: #e8467c;
	stroke: #e8467c;
}

.woocommerce ul.products li.product {
	position: relative;
}

/* ==========================================================================
   4. Адаптив
   ========================================================================== */

@media (max-width: 767px) {
	/* Фиксированная ширина 700px у блоков популярного (осталась от старого
	 * дизайна) распирает мобильную страницу по горизонтали, из-за чего
	 * фиксированное меню центрируется в широком макете и уезжает вправо. */
	.ditop,
	.ditopp {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Страховка: страница не должна скроллиться по горизонтали. */
	html,
	body {
		overflow-x: hidden;
	}

	.cm-catalog {
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
		gap: 12px;
	}

	.cm-catalog-card {
		padding: 16px 14px;
	}

	.cm-catalog-card__link {
		font-size: 1rem;
	}

	.cm-wishlist {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 12px;
	}
}

@media (max-width: 400px) {
	.bottomMenu .pmenu b {
		font-size: 0.62rem;
	}

	.bottomMenu .pmenu {
		padding: 0.5rem 0.15rem;
	}
}

/* ==========================================================================
   5. Cookie-баннер (уведомление + политика конфиденциальности)
   ========================================================================== */

.cm-cookie {
	position: fixed;
	left: 0;
	right: 0;
	bottom: calc(85px + env(safe-area-inset-bottom, 0px)); /* над нижним меню */
	z-index: 100000; /* выше bottomMenu (99999) */
	margin: auto;
	width: calc(100% - 24px);
	max-width: 560px;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: #ffffff;
	color: #5d5d5d;
	border-radius: 12px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.cm-cookie__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	font-size: 0.82rem;
	line-height: 1.45;
}

.cm-cookie__text b {
	font-size: 0.9rem;
	color: #333;
}

.cm-cookie__text a {
	color: #4092cd;
	text-decoration: underline;
}

.cm-cookie__btn {
	flex-shrink: 0;
	padding: 9px 18px;
	border: none;
	border-radius: 8px;
	background: #4092cd;
	color: #fff;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}

.cm-cookie__btn:hover,
.cm-cookie__btn:focus-visible {
	background: #5babe6;
	outline: none;
}

.cm-cookie.is-hidden {
	opacity: 0;
	transform: translateY(12px);
}

/* На десктопе нижнего меню нет — баннер прижат к нижнему краю.
   Карточка выровнена по левому краю экрана (справа внизу — виджет связи). */
@media (min-width: 768px) {
	.cm-cookie {
		left: 20px;
		right: auto;
		margin: 0;
		bottom: 20px;
	}
}

/* ==========================================================================
   6. Страница «Контакты»: карта слева, контактный блок справа
   ========================================================================== */

.cm-contacts {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 32px;
	align-items: start;
	margin: 20px 0 40px;
}

.cm-contacts__map iframe {
	display: block;
	width: 100%;
	height: 450px;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.cm-contacts__info h2 {
	font-size: 1.05rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 22px 0 8px;
}

.cm-contacts__info h2:first-child {
	margin-top: 0;
}

.cm-contacts__info p {
	margin: 0 0 6px;
	line-height: 1.55;
}

.cm-contacts__info a {
	color: #4092cd;
}

.cm-contacts__vk {
	display: inline-block;
	margin-top: 20px;
	padding: 9px 18px;
	border-radius: 8px;
	background: #4092cd;
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s ease;
}

.cm-contacts__vk:hover,
.cm-contacts__vk:focus-visible {
	background: #5babe6;
	color: #fff !important;
	outline: none;
}

/* Моб. раскладка: карта над контактами */
@media (max-width: 920px) {
	.cm-contacts {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.cm-contacts__map iframe {
		height: 300px;
	}
}

/* ==========================================================================
   7. Плавающий виджет связи: Telegram + MAX
   ========================================================================== */

.cm-contact-widget {
	position: fixed;
	right: 20px;
	bottom: 24px;
	z-index: 100001; /* выше cookie-баннера и нижнего меню */
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}

/* Кнопка-«фаб» */
.cm-cw__fab {
	width: 56px;
	height: 56px;
	padding: 0;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	background: linear-gradient(135deg, #4092cd 0%, #2f77b4 100%);
	color: #fff;
	box-shadow: 0 4px 16px rgba(47, 119, 180, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cm-cw__fab:hover,
.cm-cw__fab:focus-visible {
	transform: scale(1.06);
	box-shadow: 0 6px 20px rgba(47, 119, 180, 0.55);
	outline: none;
}

.cm-cw__fab svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	position: absolute;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.cm-cw__ic-close {
	opacity: 0;
	transform: rotate(-90deg) scale(0.6);
}

.is-open .cm-cw__ic-chat {
	opacity: 0;
	transform: rotate(90deg) scale(0.6);
}

.is-open .cm-cw__ic-close {
	opacity: 1;
	transform: rotate(0deg) scale(1);
}

.is-open .cm-cw__fab {
	background: linear-gradient(135deg, #5d6d7e 0%, #46576a 100%);
}

/* Пилюли мессенджеров */
.cm-cw__items {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}

.is-open .cm-cw__items {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cm-cw__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 6px 6px 16px;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.16);
	text-decoration: none;
	transform: translateX(8px);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.is-open .cm-cw__item {
	transform: translateX(0);
}

.cm-cw__item:hover,
.cm-cw__item:focus-visible {
	transform: translateX(-2px);
	box-shadow: 0 5px 18px rgba(0, 0, 0, 0.22);
	outline: none;
}

.cm-cw__label {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	text-align: right;
}

.cm-cw__label b {
	font-size: 0.86rem;
	color: #333;
}

.cm-cw__label i {
	font-style: normal;
	font-size: 0.72rem;
	color: #8a8a8a;
	white-space: nowrap;
}

.cm-cw__icon {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.cm-cw__icon svg {
	width: 22px;
	height: 22px;
}

.cm-cw__item--tg .cm-cw__icon {
	background: #229ed9;
	color: #fff;
}

.cm-cw__item--tg .cm-cw__icon svg {
	fill: currentColor;
	stroke: none;
}

.cm-cw__item--max .cm-cw__icon {
	background: linear-gradient(135deg, #7c4dff 0%, #6534e0 100%);
	color: #fff;
}

.cm-cw__item--max .cm-cw__icon svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

/* Позиция с учётом нижнего меню (моб.) и cookie-баннера */
@media (max-width: 767px) {
	.cm-contact-widget {
		right: 12px;
		bottom: calc(90px + env(safe-area-inset-bottom, 0px)); /* над нижним меню */
	}
}

/* Пока cookie-баннер виден, виджет поднимается над ним (управляет JS) */
.cm-contact-widget.cm-cw--raised {
	bottom: calc(195px + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 768px) {
	.cm-contact-widget.cm-cw--raised {
		bottom: 130px;
	}
}

/* ==========================================================================
   9. Оформление заказа (/checkout/): поля, «Ваш заказ», кнопка заказа
      Акцент сайта — #0170b9, границы #e5e5e5, текст #3a3a3a.
   ========================================================================== */

/* --- Заголовки разделов формы --- */
.woocommerce-checkout form.checkout h3,
.woocommerce-checkout #order_review_heading {
	font-size: 20px;
	font-weight: 700;
	color: #3a3a3a;
	margin: 0 0 18px;
}

/* --- Подписи полей --- */
.woocommerce-checkout form.checkout .form-row label {
	font-weight: 600;
	color: #3a3a3a;
	margin-bottom: 6px;
	display: inline-block;
}
.woocommerce-checkout form.checkout .form-row label .required {
	color: #0170b9;
	text-decoration: none;
}

/* --- Поля ввода: единая скруглённая геометрия --- */
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout select,
.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
	border: 1px solid #dcdce3;
	border-radius: 10px;
	background: #fff;
	font-size: 16px;
	color: #3a3a3a;
}
.woocommerce-checkout form.checkout .input-text,
.woocommerce-checkout form.checkout textarea.input-text {
	padding: 12px 14px;
	line-height: 1.35;
	width: 100%;
}
.woocommerce-checkout form.checkout .select2-container .select2-selection--single {
	height: 47px;
	padding: 10px 14px;
}
.woocommerce-checkout form.checkout .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 25px;
	color: #3a3a3a;
}
.woocommerce-checkout form.checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 45px;
	right: 8px;
}
.woocommerce-checkout form.checkout .input-text:focus,
.woocommerce-checkout form.checkout select:focus,
.woocommerce-checkout form.checkout textarea.input-text:focus,
.woocommerce-checkout form.checkout .select2-container--focus .select2-selection--single {
	border-color: #0170b9;
	box-shadow: 0 0 0 3px rgba(1, 112, 185, 0.12);
	outline: none;
}
.woocommerce-checkout form.checkout ::placeholder {
	color: #a5a5ad;
	opacity: 1;
}

/* --- Строки «Имя | Телефон» и отступы между полями --- */
.woocommerce-checkout form.checkout .form-row {
	margin-bottom: 16px;
}
.woocommerce-checkout form.checkout .form-row-first,
.woocommerce-checkout form.checkout .form-row-last {
	width: 48%;
	float: left;
}
.woocommerce-checkout form.checkout .form-row-first {
	margin-right: 4%;
	float: left;
}
.woocommerce-checkout form.checkout .form-row-last {
	float: right;
}
.woocommerce-checkout form.checkout .form-row-wide {
	width: 100%;
	clear: both;
}
.woocommerce-checkout form.checkout::after {
	content: "";
	display: table;
	clear: both;
}

/* --- Ошибки валидации --- */
.woocommerce-checkout form.checkout .form-row.woocommerce-invalid .input-text {
	border-color: #d63638;
	background: #fcf0f1;
}
.woocommerce-checkout form.checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
	border-top-color: #d63638;
	border-radius: 10px;
}

/* --- Блок «Создать учётную запись» --- */
.woocommerce-checkout form.checkout .create-account {
	margin-top: 4px;
}
.woocommerce-checkout form.checkout .create-account label {
	font-weight: 400;
}
.woocommerce-checkout form.checkout input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: #0170b9;
	vertical-align: middle;
	position: relative;
	top: -1px;
}

/* --- Комментарий к заказу --- */
.woocommerce-checkout form.checkout textarea#order_comments {
	min-height: 88px;
	resize: vertical;
}

/* --- Карточка «Ваш заказ» --- */
.woocommerce-checkout #order_review_heading {
	margin-top: 0;
}
.woocommerce-checkout #order_review {
	border: 1px solid #e5e5e5;
	border-radius: 14px;
	background: #fff;
	padding: 20px 22px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	padding: 10px 0;
	border-top: 1px solid #efeff2;
	font-size: 15px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	border-top: none;
	border-bottom: 2px solid #3a3a3a;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #4b4f58;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	font-weight: 600;
	color: #3a3a3a;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td strong .woocommerce-Price-amount {
	font-size: 18px;
	font-weight: 700;
	color: #0170b9;
}

/* --- Способы оплаты --- */
.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0 0 14px 14px;
}
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid #efeff2;
	padding: 0;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: #f8f8fb;
	border: 1px solid #ececf2;
	border-radius: 10px;
	margin-bottom: 10px;
	padding: 12px 14px;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	accent-color: #0170b9;
}
.woocommerce-checkout #payment div.payment_box {
	background: transparent;
	padding: 6px 0 0;
	font-size: 14px;
	color: #4b4f58;
}
.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

/* --- Кнопка «Подтвердить заказ» --- */
.woocommerce-checkout #place_order {
	width: 100%;
	min-height: 52px;
	margin-top: 16px;
	padding: 14px 24px;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.02em;
	border-radius: 10px;
	background-color: #0170b9;
	color: #fff;
	transition: background-color 0.15s ease, transform 0.05s ease;
}
.woocommerce-checkout #place_order:hover {
	background-color: #015d9b;
	color: #fff;
}
.woocommerce-checkout #place_order:active {
	transform: translateY(1px);
}

/* --- Мобильная вёрстка --- */
@media (max-width: 768px) {
	.woocommerce-checkout form.checkout .form-row-first,
	.woocommerce-checkout form.checkout .form-row-last {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	.woocommerce-checkout #order_review {
		padding: 16px;
	}
	.woocommerce-checkout #place_order {
		min-height: 56px; /* крупнее под палец */
	}
}

/* --- Подсказка под полем адреса (оплата логистики после сборки) --- */
.woocommerce-checkout form.checkout .form-row .description {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: #4b4f58;
	background: #f2f7fc;
	border-left: 3px solid #0170b9;
	border-radius: 0 8px 8px 0;
	padding: 9px 12px;
}

/* ==========================================================================
   10. Фон сайта: лавандовый фон (заливка на весь экран, фиксированный)
      Картинка: /wp-content/uploads/2026/10/fon_catchmop.jpg (29 КБ).
      Слой body::before вместо background-attachment: fixed — иначе
      на iPhone фон дёргается. html > body перекрывает динамический CSS Astra.
   ========================================================================== */

html {
	background-color: #d9d8ea; /* цвет нижнего края картинки, пока грузится */
}

html > body {
	background-color: transparent !important;
	background-image: none !important;
}

html > body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background-image: url("https://catchmop.ru/wp-content/uploads/2026/10/fon_catchmop.jpg");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	pointer-events: none;
}
