/* Касса и корзина (Figma 1043:3860 «checkout»): скин поверх БЛОЧНОГО чекаута WooCommerce.
   Сами блоки Woo не трогаем — на них висят оплата, налоги, доставка и Germanized;
   переписывать разметку = ломать магазин. Здесь только оформление под макет: слева
   форма с полями-пилюлями, справа «Your order» с карточками позиций и итогами.
   Только токены. */

.woocommerce-checkout,
.woocommerce-cart {
	background: var(--wp--preset--color--base);
}
/* Первый светлый блок резервирует 120px под фикс-шапку (правило проекта). */
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-cart .wp-block-woocommerce-cart {
	max-width: var(--wp--custom--layout--content-cap);
	margin: 0 auto;
	padding: calc(120px + var(--wp--preset--spacing--r-40)) var(--wp--custom--layout--gutter)
		var(--wp--preset--spacing--r-96);
}

/* ── Заголовки колонок ── */
.wc-block-checkout__main > h1,
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
	font-family: var(--wp--preset--font-family--heading) !important;
	color: var(--wp--preset--color--contrast) !important;
	font-weight: 700 !important;
	letter-spacing: 0.24px;
}
.wc-block-components-checkout-step__title { font-size: var(--wp--preset--font-size--r-20) !important; }
.wc-block-components-checkout-step__description { color: var(--wp--preset--color--muted) !important; }

/* ── Поля формы: белые, бордер leaf, pill (Figma) ── */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea,
.wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-select__container {
	border: 1px solid var(--wp--preset--color--leaf) !important;
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--r-16) !important;
	min-height: 48px;
	padding-left: var(--wp--preset--spacing--r-16) !important;
	padding-right: var(--wp--preset--spacing--r-16) !important;
	box-shadow: none !important;
}
.wc-block-components-textarea { border-radius: var(--wp--custom--radius--large) !important; }
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
	border-color: var(--wp--preset--color--primary) !important;
	outline: 2px solid rgba(49, 129, 0, 0.18);
	outline-offset: 1px;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step__heading label {
	color: var(--wp--preset--color--muted) !important;
	font-size: var(--wp--preset--font-size--r-14) !important;
}

/* ── Правая колонка «Your order» ── */
.wc-block-components-sidebar,
.wp-block-woocommerce-checkout-totals-block,
.wp-block-woocommerce-cart-totals-block {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--xl);
	padding: var(--wp--preset--spacing--r-24);
}
/* Позиция заказа — карточка как в боковой корзине (Figma 966:2101). */
.wc-block-components-order-summary-item {
	background: var(--wp--preset--color--base);
	border-radius: var(--wp--custom--radius--large);
	padding: var(--wp--preset--spacing--r-8) !important;
	margin-bottom: var(--wp--preset--spacing--r-16);
	box-shadow: 0 12px 14.55px rgba(24, 64, 0, 0.06);
	border: 0 !important;
}
.wc-block-components-order-summary-item__image img {
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--surface-muted);
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.wc-block-components-order-summary-item__total-price,
.wc-block-components-product-price__value {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--primary) !important;
}

/* Итоги: подписи muted, сумма — крупная зелёная (Figma: Total 32/700 primary). */
.wc-block-components-totals-item__label { color: var(--wp--preset--color--muted); }
.wc-block-components-totals-item__value { color: var(--wp--preset--color--contrast); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--r-32) !important;
	font-weight: 700;
	color: var(--wp--preset--color--primary) !important;
}

/* ── Кнопки: pill, primary (как везде на сайте) ── */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: var(--wp--custom--radius--pill) !important;
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--on-dark) !important;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700 !important;
	min-height: 56px;
	transition: background var(--wp--custom--transition--fast), transform var(--wp--custom--transition--fast);
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: var(--wp--preset--color--contrast) !important;
	transform: translateY(-1px);
}
.wc-block-components-button.is-link,
.wc-block-components-order-summary__button-text {
	color: var(--wp--preset--color--primary) !important;
}
.wc-block-components-checkout-return-to-cart-button {
	color: var(--wp--preset--color--primary) !important;
	font-weight: 700;
}

/* Удаление позиции — красная ссылка (Figma 966:2112). */
.wc-block-cart-item__remove-link { color: #c5283d !important; }

/* Уведомления/ошибки в тоне темы. */
.wc-block-components-notice-banner.is-error { border-radius: var(--wp--custom--radius--large); }
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success {
	border-radius: var(--wp--custom--radius--large);
	border-color: var(--wp--preset--color--leaf);
}

/* ── Правки под макет 1043:3861 (27.07) ── */

/* Заголовок колонки «Kasse» (в макете «Checkout»). Блок Woo своего слота под него
   не даёт, а вставлять h1 в разметку блока = лезть в чужой блок; печатаем стилем. */
.woocommerce-checkout .wc-block-checkout__main::before {
	content: "Kasse";
	display: block;
	margin-bottom: var(--wp--preset--spacing--r-24);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--r-32);
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}

/* Фото позиции: в макете крупная картинка на светлой плашке, а не 48×48-миниатюра. */
.wc-block-components-order-summary-item__image {
	width: 96px !important;
	min-width: 96px;
}
/* Двойной селектор + !important: у Woo своё правило на эту картинку (48px), и оно
   выигрывает у одиночного класса — та же грабля, что с высотой фото в каталоге. */
.woocommerce-checkout .wc-block-components-order-summary-item__image img,
.woocommerce-cart .wc-block-components-order-summary-item__image img {
	width: 96px !important;
	/* Woo держит на этой картинке `max-width: 48px` — без его снятия ширина
	   остаётся 48 даже с !important (высота при этом слушается, и фото вытягивается). */
	max-width: 96px !important;
	height: 96px !important;
	object-fit: contain;
	background: var(--wp--preset--color--surface-mint);
	padding: var(--wp--preset--spacing--r-4);
}

/* Цена в карточке дублировалась: «за штуку» под именем и итог позиции справа.
   В макете она одна — оставляем итоговую справа. */
.wc-block-components-order-summary-item__description .wc-block-components-order-summary-item__individual-prices {
	display: none;
}

/* Описание товара в сводке макет не показывает — только имя, цена и вариация.
   Оно длинное (первые строки описания товара) и ломает ритм карточек. */
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description {
	display: none;
}

/* Ссылка «+ Weitere Produkte» (макет: «+ ADD MORE PRODUCTS»), вставляет checkout.js. */
.gp-checkout__more {
	display: inline-block;
	margin: var(--wp--preset--spacing--r-8) 0 var(--wp--preset--spacing--r-16);
	font-weight: 700;
	text-decoration: underline;
	color: var(--wp--preset--color--primary);
}

@media (max-width: 1024px) {
	.woocommerce-checkout .wp-block-woocommerce-checkout,
	.woocommerce-cart .wp-block-woocommerce-cart {
		padding-top: calc(120px + var(--wp--preset--spacing--r-24));
	}
}

@media (max-width: 782px) {
	/* Фото 96px на телефоне съедало колонку: под имя оставалось 45px и «Kischtle»
	   рвалось по буквам (у Woo `overflow-wrap: anywhere`). Уменьшаем фото и
	   запрещаем разрыв слова. */
	.woocommerce-checkout .wc-block-components-order-summary-item__image img,
	.woocommerce-cart .wc-block-components-order-summary-item__image img {
		width: 64px !important;
		max-width: 64px !important;
		height: 64px !important;
	}
	.wc-block-components-order-summary-item__image { width: 64px !important; min-width: 64px; }
	.wc-block-components-product-name {
		overflow-wrap: normal;
		word-break: normal;
	}
}
