/*
 * Кафе Мечта — поръчката: количката, страницата за поръчка и потвърждението
 * (шаблоните в woocommerce/cart/ и woocommerce/checkout/). Зарежда се само на
 * количката и checkout-а, след woocommerce.css.
 */

:is(.km-co, .km-cartp, .km-ty) {
	--km-ink: var(--wp--preset--color--espresso);
	--km-ink-2: #4a3b30;
	--km-muted: var(--wp--preset--color--muted);
	--km-line: var(--wp--preset--color--line);
	--km-field: #d6c7b4;
	--km-ring: #b5a594;
	--km-paper: var(--wp--preset--color--paper);
	--km-crema: var(--wp--preset--color--crema);
	--km-chip: var(--wp--preset--color--latte);
	--km-info: #efe6da;
	--km-nudge: #f6e3d8;
	--km-nudge-ink: #8e3812;
	--km-accent: var(--wp--preset--color--mechta);
	--km-cta: var(--wp--preset--color--mechta-cta);
	--km-on-dark: #cdbfae;
}

/* ---------------------------------------------------------------
 * 1. Хедърът на поръчката: стъпките
 * ------------------------------------------------------------- */

.km-checkout-header .km-checkout-header__inner {
	min-height: 74px;
}

.km-checkout-header .km-brand__logo img {
	width: 44px !important;
	height: 48px !important;
	object-fit: contain !important;
}

.km-steps {
	flex: 1;
	min-width: 0;
}

.km-steps__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	font-weight: 600;
}

.km-steps__step {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}

.km-steps__step a {
	display: inherit;
	align-items: inherit;
	gap: inherit;
	color: inherit;
	text-decoration: none;
}

.km-steps__step a:hover {
	color: var(--wp--preset--color--espresso);
}

.km-steps__step.is-current {
	color: var(--wp--preset--color--espresso);
}

.km-steps__mark {
	display: grid;
	flex: none;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 1.5px solid #cdbfae;
	border-radius: 50%;
	font-size: 13px;
}

.km-steps__step.is-done .km-steps__mark {
	border: 0;
	background: var(--wp--preset--color--latte);
	color: var(--wp--preset--color--espresso);
}

.km-steps__step.is-current:not(.is-done) .km-steps__mark {
	border: 0;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-steps__step.is-current.is-done .km-steps__mark {
	background: var(--wp--preset--color--mechta);
	color: #fff;
}

.km-steps__line {
	flex: none;
	width: 36px;
	height: 2px;
	border-radius: 2px;
	background: #d6c7b4;
}

.km-steps__line.is-done {
	background: var(--wp--preset--color--mechta);
}

.km-steps__mobile {
	display: none;
}

/* Потвърждението: „Сигурна поръчка“ вече не е нужно. */
.woocommerce-order-received .km-checkout-header__secure {
	display: none;
}

@media (max-width: 1023.98px) {
	.km-steps__list .km-steps__step:not(.is-current) {
		display: none;
	}

	.km-steps__line {
		display: none;
	}
}

@media (max-width: 781.98px) {
	.km-checkout-header {
		position: sticky;
		top: 0;
		z-index: 20;
		background: rgba(244, 238, 230, 0.94);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
	}

	.km-checkout-header .km-checkout-header__inner {
		min-height: 64px;
		flex-wrap: wrap !important;
	}

	.km-checkout-header .km-brand__logo img {
		width: 36px !important;
		height: 40px !important;
	}

	.km-checkout-header .km-brand__name {
		display: block;
		font-size: 17px;
	}

	.km-checkout-header .km-checkout-header__phone {
		display: none;
	}

	.km-checkout-header__secure {
		height: 36px;
		padding: 0 12px;
		font-size: 13px;
	}

	/* Стъпките: „Стъпка 2 от 3 · Данни и доставка“ с лента, под хедъра. */
	.km-steps {
		flex-basis: 100%;
		order: 3;
		padding-bottom: 12px;
	}

	.km-steps__list {
		display: none;
	}

	.km-steps__mobile {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 8px 12px;
		align-items: center;
	}

	.km-steps__now,
	.km-steps__next {
		margin: 0;
		font-size: 13px;
		font-weight: 600;
	}

	.km-steps__next {
		color: var(--wp--preset--color--muted);
		font-weight: 500;
	}

	.km-steps__bar {
		grid-column: 1 / -1;
		height: 6px;
		border-radius: 999px;
		background: var(--wp--preset--color--line);
	}

	.km-steps__bar > span {
		display: block;
		height: 100%;
		border-radius: inherit;
		background: var(--wp--preset--color--mechta);
	}
}

/* ---------------------------------------------------------------
 * 2. Общо: карти, плочки, подсказка за нивото
 * ------------------------------------------------------------- */

.woocommerce-checkout main.km-checkout {
	padding-top: clamp(20px, 3vw, 40px);
	padding-bottom: 72px;
}

/* Плочка-радио: доставка и плащане. Радиото е скрито, но остава във
 * формата и в реда на табулацията; плочката е неговият етикет. Селекторите
 * с #shipping_method/#payment — срещу стиловете на WooCommerce за тях. */
:is(.km-co, form#order_review) .km-co-methods,
.woocommerce-checkout :is(.km-co, form#order_review) #payment ul.km-co-methods {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

:is(.km-co, form#order_review) .km-co-methods::before,
:is(.km-co, form#order_review) .km-co-methods::after,
:is(.km-co, form#order_review) .km-co-methods > li::before,
:is(.km-co, form#order_review) .km-co-methods > li::after {
	display: none !important;
}

:is(.km-co, form#order_review) .km-co-methods > li.km-co-method,
:is(.km-co, form#order_review) ul#shipping_method > li.km-co-method,
.woocommerce-checkout :is(.km-co, form#order_review) #payment ul.payment_methods > li.km-co-method {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	line-height: 1.45;
}

:is(.km-co, form#order_review) .km-co-method > input[type="radio"],
:is(.km-co, form#order_review) .km-co-method > input[type="hidden"] {
	position: absolute;
	top: 22px;
	left: 22px;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

:is(.km-co, form#order_review) .km-co-methods > li > label.km-co-tile,
:is(.km-co, form#order_review) ul#shipping_method > li > label.km-co-tile {
	display: grid;
	flex: 1;
	box-sizing: border-box;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 6px 14px;
	align-content: start;
	margin: 0;
	padding: 18px;
	border: 1px solid var(--km-field);
	border-radius: 20px;
	background: transparent;
	color: var(--km-ink);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

/* Кръгчето на радиото */
:is(.km-co, form#order_review) .km-co-methods > li > label.km-co-tile::before {
	content: "";
	grid-row: 1 / span 2;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	box-sizing: border-box;
	border: 2px solid var(--km-ring);
	border-radius: 50%;
	background: radial-gradient(circle, var(--km-accent) 0 4.5px, transparent 5px) center / 0 0 no-repeat;
}

:is(.km-co, form#order_review) .km-co-methods > li > input:checked + label.km-co-tile,
:is(.km-co, form#order_review) .km-co-methods--single > li > label.km-co-tile,
:is(.km-co, form#order_review) ul#shipping_method > li > input:checked + label.km-co-tile,
:is(.km-co, form#order_review) ul#shipping_method.km-co-methods--single > li > label.km-co-tile {
	padding: 17px;
	border: 2px solid var(--km-ink);
	background: #fff;
}

:is(.km-co, form#order_review) .km-co-methods > li > input:checked + label.km-co-tile::before,
:is(.km-co, form#order_review) .km-co-methods--single > li > label.km-co-tile::before,
:is(.km-co, form#order_review) ul#shipping_method > li > input:checked + label.km-co-tile::before,
:is(.km-co, form#order_review) ul#shipping_method.km-co-methods--single > li > label.km-co-tile::before {
	border-color: var(--km-accent);
	background-size: 100% 100%;
}

:is(.km-co, form#order_review) .km-co-method > input:focus-visible + .km-co-tile {
	outline: 3px solid rgba(184, 74, 26, 0.35);
	outline-offset: 2px;
}

:is(.km-co, form#order_review) .km-co-method > input:not(:checked) + .km-co-tile:hover,
:is(.km-co, form#order_review) ul#shipping_method > li > input:not(:checked) + .km-co-tile:hover {
	border-color: var(--km-ink-2);
}

.km-co-tile__head,
.km-co-tile__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.km-co-tile__head .km-oi {
	flex: none;
}

.km-co-tile__text {
	grid-column: 2;
	color: var(--km-muted);
	font-size: 14px;
	line-height: 1.45;
}

.km-co-tile__text p {
	margin: 0;
}

.km-co-tile__text--short {
	display: none;
}

/* „Още 5 пакета и цената пада до 12.40 € / пакет“ + „+5 пакета“ */
.km-nudge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	margin: 0;
	padding: 6px 6px 6px 12px;
	border-radius: 12px;
	background: var(--km-nudge);
	color: var(--km-nudge-ink);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.35;
}

.km-nudge__text {
	margin: 0;
}

.km-nudge__short {
	display: none;
}

.km-nudge__unit {
	margin-left: 0.3em;
}

.km-nudge__add {
	display: inline-flex;
	flex: none;
	align-items: center;
	height: 32px;
	padding: 0 12px;
	border: 0;
	border-radius: 999px;
	background: var(--km-cta);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}

.km-nudge__add:hover {
	background: var(--km-nudge-ink);
}

.km-nudge__add:disabled {
	opacity: 0.6;
	cursor: progress;
}

.km-saved {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px 10px;
	border-radius: 10px;
	background: var(--km-chip);
	color: #3a2a20;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.35;
}

.km-saved .km-oi {
	flex: none;
}

/* ---------------------------------------------------------------
 * 3. Страницата за поръчка
 * ------------------------------------------------------------- */

.km-co-top {
	margin-bottom: 32px;
}

.km-co-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 18px;
	color: var(--wp--preset--color--muted);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.km-co-back:hover {
	color: var(--wp--preset--color--espresso);
}

.km-co-intro {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 32px;
}

.km-co-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1;
}

.km-co-title em {
	color: var(--wp--preset--color--mechta);
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 1.3em;
	font-style: italic;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.km-co-lead {
	max-width: 420px;
	margin: 0;
	color: #4a3b30;
	font-size: 16px;
	line-height: 1.5;
}

/* Промо кодът и съобщенията — над формата */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .wc-block-components-notice-banner {
	margin-bottom: 16px;
}

.woocommerce form.checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 24px;
	padding: 16px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--sm);
	background: var(--wp--preset--color--paper);
}

.woocommerce form.checkout_coupon[style*="display: none"],
.woocommerce form.checkout_coupon[style*="display:none"] {
	display: none;
}

.woocommerce form.checkout_coupon > p:not(.form-row) {
	flex-basis: 100%;
	margin: 0;
}

.woocommerce form.checkout_coupon .form-row {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce form.checkout_coupon .form-row-first {
	flex: 1;
	min-width: 180px;
}

.woocommerce form.checkout_coupon .clear {
	display: none;
}

/* Двете колони */
.woocommerce form.km-co {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 28px;
}

.km-co > .woocommerce-NoticeGroup {
	flex: 1 1 100%;
}

.km-co__main {
	display: flex;
	flex: 999 1 560px;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.km-co__details {
	display: contents;
}

.km-co__aside {
	position: sticky;
	top: 24px;
	flex: 1 1 380px;
	min-width: 0;
}

.km-co-card,
.km-co-sum {
	box-sizing: border-box;
	border: 1px solid var(--km-line);
	border-radius: 28px;
	background: var(--km-paper);
}

.km-co-card {
	padding: 28px;
}

.km-co-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 22px;
}

.km-co-card__title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.km-co-card__head .km-co-card__title {
	margin: 0;
}

.km-co-num {
	display: grid;
	flex: none;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
}

.km-co-card__note {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--km-muted);
	font-size: 13px;
}

/* Полетата */
.km-co .woocommerce-billing-fields__field-wrapper,
.km-co .woocommerce-shipping-fields__field-wrapper,
.km-co .woocommerce-additional-fields__field-wrapper {
	gap: 0 16px;
}

.km-co .form-row {
	margin-bottom: 16px;
}

.km-co .form-row label:not(.checkbox):not(.km-co-tile) {
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
}

.woocommerce .km-co .form-row :is(.input-text, select),
.woocommerce .km-co .form-row .select2-container .select2-selection--single {
	height: 52px;
	border: 1px solid var(--km-field);
	border-radius: 14px;
	background-color: #fff;
}

.woocommerce .km-co .form-row textarea.input-text {
	height: auto;
	min-height: 96px;
	padding: 14px 16px;
	resize: vertical;
}

/* Подсказката под полето — винаги видима (WooCommerce я показва само при
 * фокус, като синьо балонче). */
.woocommerce .km-co .form-row .woocommerce-input-wrapper .description {
	display: block !important;
	height: auto !important;
	margin: 8px 0 0;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--km-muted);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

.woocommerce .km-co .form-row .woocommerce-input-wrapper .description::before {
	display: none;
}

.km-co .km-co-hidden {
	display: none !important;
}

/* Фактурата на „Българизация“: същата отметка, като суич в пунктирано каре.
 * Етикетът покрива цялото каре (::after), за да се натиска навсякъде. */
.woocommerce .km-co .form-row.km-co-switch {
	margin: 4px 0 16px;
}

.woocommerce .km-co .form-row.km-co-switch .woocommerce-input-wrapper {
	position: relative;
	display: block;
	min-height: 56px;
	padding: 12px 80px 12px 16px;
	box-sizing: border-box;
	border: 1px dashed #cdbfae;
	border-radius: 16px;
}

.woocommerce .km-co .form-row.km-co-switch label.checkbox {
	display: block;
	margin: 0;
	padding: 4px 0 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	cursor: pointer;
}

.woocommerce .km-co .form-row.km-co-switch label.checkbox::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.km-co .form-row.km-co-switch .optional {
	display: none;
}

.woocommerce .km-co .form-row.km-co-switch input[type="checkbox"] {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 46px;
	height: 28px;
	margin: -14px 0 0;
	border-radius: 999px;
	background: #cdbfae;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.15s ease;
}

.woocommerce .km-co .form-row.km-co-switch input[type="checkbox"]::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(30, 18, 11, 0.3);
	transition: transform 0.15s ease;
}

.woocommerce .km-co .form-row.km-co-switch input[type="checkbox"]:checked {
	background: var(--wp--preset--color--mechta);
}

.woocommerce .km-co .form-row.km-co-switch input[type="checkbox"]:checked::after {
	transform: translateX(18px);
}

.woocommerce .km-co .form-row.km-co-switch input[type="checkbox"]:focus-visible {
	outline: 3px solid rgba(184, 74, 26, 0.35);
	outline-offset: 2px;
}

.woocommerce .km-co .form-row.km-co-switch .woocommerce-input-wrapper .description {
	margin: 2px 0 0;
	font-size: 12.5px;
	pointer-events: none;
}

/* Телефон и имейл — една до друга (на телефон — на цял ред). */
.km-co-you .woocommerce-billing-fields__field-wrapper > :is(#billing_phone_field, #billing_email_field) {
	grid-column: auto;
}

/* Картата „Доставка“ */
.km-co-ship .km-co-methods {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.km-co-ship .km-co-methods--single {
	grid-template-columns: minmax(0, 1fr);
}

.km-co-ship .km-co-tile {
	min-height: 112px;
}

.km-co-ship__package {
	margin: 0 0 8px;
	font-weight: 700;
}

.km-co-ship__none {
	margin: 0;
	padding: 14px 16px;
	border-radius: 16px;
	background: var(--km-info);
	color: #4a3b30;
	font-size: 14px;
}

/* Мястото на търсенето на офис, докато плъгинът го нарисува (то се мести
 * под населеното място — checkout.js). */
.km-co-method .woo-bg-additional-fields:empty {
	display: none;
}

.km-co-address {
	margin-top: 22px;
}

.km-co-address .form-row {
	margin-bottom: 16px;
}

/* Населено място и област — една до друга; на телефон една под друга
 * (иначе „Велико Търново“ и „Изберете област“ се режат). */
.km-co-address .woocommerce-billing-fields__field-wrapper > :is(#billing_city_field, #billing_state_field, #billing_postcode_field) {
	grid-column: auto;
}

@media (max-width: 520px) {
	.km-co-address .woocommerce-billing-fields__field-wrapper > :is(#billing_city_field, #billing_state_field, #billing_postcode_field) {
		grid-column: 1 / -1;
	}
}

/* Населено място: търсачка из цяла България (assets/js/places.js). „Област“
 * остава във формата, но не се вижда; без данните на Еконт (km-co--places-off)
 * или без JavaScript — вижда се. */
html.km-js .km-co:not(.km-co--places-off) #billing_state_field {
	display: none !important;
}

.km-co .km-place {
	position: relative;
}

.km-co .km-place-region {
	display: block;
	margin-top: 6px;
	color: var(--km-muted);
	font-size: 13px;
	line-height: 1.4;
}

.km-co .km-place-region[hidden] {
	display: none;
}

.km-co .km-place__list {
	position: absolute;
	z-index: 60;
	top: calc(100% + 6px);
	right: 0;
	left: 0;
	max-height: 320px;
	margin: 0;
	padding: 6px;
	overflow-y: auto;
	border: 1px solid var(--km-field);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(30, 18, 11, 0.16);
	list-style: none;
}

.km-co .km-place__list[hidden] {
	display: none;
}

.km-co .km-place__option {
	display: flex;
	flex-direction: column;
	gap: 1px;
	margin: 0;
	padding: 9px 12px;
	border-radius: 10px;
	cursor: pointer;
}

.km-co .km-place__option:hover,
.km-co .km-place__option.is-active {
	background: var(--km-chip);
}

.km-co .km-place__name {
	color: var(--km-ink);
	font-size: 15px;
	font-weight: 600;
}

.km-co .km-place__meta {
	color: var(--km-muted);
	font-size: 12.5px;
}

.km-co .km-place__none {
	margin: 0;
	padding: 10px 12px;
	color: var(--km-muted);
	font-size: 14px;
}

/* Няма го / няколко области / друга област — под полетата на адреса. */
.km-co .km-place-msg {
	margin: -4px 0 16px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--km-nudge);
	color: var(--km-nudge-ink);
	font-size: 14px;
	line-height: 1.45;
}

.km-co .km-place-msg[hidden] {
	display: none;
}

.km-co .km-place-msg__text {
	margin: 0;
	font-weight: 600;
}

.km-co .km-place-msg__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.km-co .km-place-msg__fix {
	min-height: 36px;
	padding: 0 14px;
	border: 0;
	border-radius: 999px;
	background: var(--km-cta);
	color: #fff;
	font: inherit;
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
}

.km-co .km-place-msg__fix:hover {
	background: var(--km-nudge-ink);
}

/* Офисът/улицата чакат населеното място — вместо търсенето на плъгина. */
.km-co .km-place-hint {
	margin: -2px 0 16px;
	padding: 14px 16px;
	border: 1px dashed var(--km-ring);
	border-radius: 16px;
	color: var(--km-ink-2);
	font-size: 14px;
	line-height: 1.45;
}

.km-co .km-place-hint[hidden],
.km-co.km-co--place-pending .km-co-carrier {
	display: none !important;
}

/* Адресът, който „Българизация“ попълва сама от избрания офис/адрес.
 * !important: address-i18n.js на WooCommerce показва полетата с .show(). */
.km-co:is([data-km-kind="office"], [data-km-kind="automat"], [data-km-kind="address"]) :is(#billing_address_1_field, #billing_address_2_field) {
	display: none !important;
}

.km-co-carrier:empty {
	display: none;
}

.km-co-carrier {
	margin: -2px 0 16px;
}

.km-co-info {
	margin: 0;
	padding: 14px 16px;
	border-radius: 16px;
	background: var(--km-info);
	color: #4a3b30;
	font-size: 14px;
	line-height: 1.45;
}

.km-co-info[hidden] {
	display: none;
}

/* Търсенето на офис/адрес на „Българизация“ (vue-multiselect) — като полетата. */
.km-co-carrier .woo-bg--econt-delivery,
.km-co-carrier [class*="woo-bg--"][class*="-delivery"] {
	display: grid;
	gap: 12px;
	margin: 0;
}

.km-co-carrier .multiselect {
	min-height: 52px;
	color: var(--km-ink);
	font-size: 16px;
}

.km-co-carrier .multiselect__tags {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 8px 44px 8px 16px;
	box-sizing: border-box;
	border: 1px solid var(--km-field);
	border-radius: 14px;
	background: #fff;
	font-size: 16px;
}

.km-co-carrier .multiselect--active .multiselect__tags {
	border-color: var(--wp--preset--color--mechta-cta);
	box-shadow: var(--km-focus-ring);
}

.km-co-carrier .multiselect__select {
	height: 50px;
}

.km-co-carrier :is(.multiselect__input, .multiselect__single, .multiselect__placeholder) {
	margin: 0;
	padding: 0;
	background: transparent;
	font-size: 16px;
	line-height: 1.3;
}

.km-co-carrier .multiselect__content-wrapper {
	border: 1px solid var(--km-field);
	border-radius: 0 0 14px 14px;
}

.km-co-carrier .multiselect__option--highlight,
.km-co-carrier .multiselect__option--highlight::after {
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-co-carrier input:not([type="checkbox"]):not([type="radio"]) {
	box-sizing: border-box;
	min-height: 48px;
	border: 1px solid var(--km-field);
	border-radius: 14px;
	background: #fff;
	font-size: 16px;
}

.km-co-carrier input.multiselect__input:not([type="checkbox"]) {
	min-height: 0;
	border: 0;
	border-radius: 0;
}

.km-co-carrier .multiselect__single {
	font-weight: 600;
}

/* „Избери от картата“ (офис локаторът на Еконт) */
.km-co-carrier #woo-bg--econt-office-locator {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	justify-self: start;
	font-size: 14px;
	text-underline-offset: 3px;
}

.km-co-carrier #woo-bg--econt-office-locator::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.km-co-carrier-label {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
}

.km-co-carrier-label:has(+ .km-co-carrier:empty),
.km-co-carrier-label:empty {
	display: none;
}

/* Стиловете на плъгина са под #shipping_method — тук са същите, за новото място. */
.km-co-carrier .multiselect__option {
	white-space: normal;
}

.km-co-carrier .multiselect__option--selected span {
	display: inline-block;
	max-width: 80%;
}

.km-co-carrier li.multiselect__element {
	display: block !important;
}

.km-co-carrier .multiselect__content-wrapper ul.multiselect__content {
	margin: 0;
	padding: 0;
}

.km-co-carrier .multiselect__select {
	height: 100%;
}

.km-co-carrier .woo-bg-multiselect {
	margin-bottom: 0;
}

.km-co-carrier .woo-bg-multiselect--additional-field {
	width: 100%;
	box-sizing: border-box;
}

.km-co-carrier .woo-bg-econt-address-details {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
}

.km-co-carrier .woo-bg-econt-address-details--quarter {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.km-co-carrier .woo-bg--office-error {
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--km-info);
	color: #4a3b30;
	font-size: 14px;
}

.km-co-carrier a {
	color: var(--wp--preset--color--mechta-cta);
	font-weight: 600;
}

.km-co-carrier .checkout-inline-error-message {
	margin: 8px 0 0;
}

/* Картата „Плащане“ */
.km-co-pay {
	background: none;
	border-radius: 0;
}

.woocommerce-checkout :is(.km-co, form#order_review) #payment {
	padding: 0;
	background: none;
}

.km-co-methods--pay {
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

:is(.km-co, form#order_review) .payment_box {
	margin: 10px 0 0;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--km-info);
	font-size: 14px;
}

:is(.km-co, form#order_review) .payment_box::before {
	display: none;
}

.km-co-notes {
	margin-top: 18px;
}

.km-co-note__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 4px;
	color: var(--wp--preset--color--mechta-cta);
	font-size: 15px;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.km-co-note__toggle::-webkit-details-marker {
	display: none;
}

.km-co-note[open] .km-co-note__toggle .km-oi {
	transform: rotate(45deg);
}

.km-co-note .woocommerce-additional-fields__field-wrapper {
	margin-top: 8px;
}

/* Обобщението */
.km-co-sum {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 26px;
}

.km-co-sum__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--km-line);
}

.km-co-sum__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.km-co-sum__edit {
	color: var(--wp--preset--color--mechta-cta);
	font-size: 14px;
	font-weight: 600;
}

.km-co-review {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.km-co-toggle {
	display: none;
}

.km-co-lines {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.km-co-line {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) auto;
	gap: 0 14px;
	padding: 14px 0;
	border-top: 1px solid var(--km-line);
}

.km-co-line:first-child {
	padding-top: 0;
	border-top: 0;
}

.km-co-line__img {
	grid-row: 1 / span 3;
	align-self: start;
	overflow: hidden;
	width: 58px;
	height: 58px;
	border-radius: 14px;
	background: var(--km-chip);
}

.km-co-line__img img {
	display: block;
	width: 100%;
	height: calc(100% / 0.78);
	object-fit: cover;
	object-position: top;
}

.km-co-line__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.km-co-line__name {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.km-co-line__meta,
.km-co-line__qty {
	color: var(--km-muted);
	font-size: 13px;
	line-height: 1.4;
}

/* „10 бр. · ≈ 13.81 € / бр.“ — цената като текста около нея. */
:is(.km-co-line__qty, .km-ty-line__qty) .woocommerce-Price-amount {
	color: inherit;
	font: inherit;
}

.km-co-line__total {
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.km-co-line > :is(.km-nudge, .km-saved) {
	grid-column: 2 / -1;
	justify-self: start;
	margin-top: 8px;
}

.km-co-totals {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 16px;
	border-top: 1px solid var(--km-line);
}

.km-co-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

.km-co-row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 15px;
}

.km-co-row dt {
	color: #4a3b30;
}

.km-co-row dd {
	margin: 0;
	font-weight: 700;
	text-align: right;
}

.km-co-row dd.is-pending {
	color: var(--km-muted);
	font-weight: 400;
}

.km-co-row .includes_tax {
	display: none;
}

.km-co-row .woocommerce-remove-coupon {
	margin-left: 6px;
	color: var(--km-muted);
	font-weight: 400;
}

.km-co-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	border-radius: 20px;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-co-total__label {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 16px;
	font-weight: 700;
}

.km-co-total__vat {
	color: var(--km-on-dark);
	font-size: 12.5px;
	font-weight: 400;
}

.km-co-total__vat .woocommerce-Price-amount {
	font: inherit;
}

.km-co-total__sum {
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.1;
	white-space: nowrap;
}

.km-co-extra {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 14px;
}

.km-co-extra :is(th, td) {
	padding: 4px 0;
	border: 0;
	background: none;
	text-align: left;
}

.km-co-extra td:last-child {
	text-align: right;
}

/* Условията и бутонът */
.woocommerce form .km-co-place.form-row {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
}

.km-co-terms {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

.km-co-terms .form-row {
	margin: 0;
}

.km-co-terms label.checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	cursor: pointer;
}

.km-co-terms label.checkbox input {
	flex: none;
	margin-top: 1px;
}

.km-co-terms abbr.required {
	display: none;
}

.km-co-terms a,
.km-co-terms__note a {
	color: var(--wp--preset--color--mechta-cta);
}

.km-co-terms__note {
	margin: 0;
	color: #4a3b30;
}

.woocommerce .km-co #place_order,
.km-co-bar__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--mechta-cta);
	color: #fff;
	font-family: var(--wp--preset--font-family--onest);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
}

.woocommerce .km-co #place_order::before,
.km-co-bar__btn::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce .km-co #place_order:hover,
.km-co-bar__btn:hover {
	background: var(--km-nudge-ink);
}

.km-co-trust {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: #4a3b30;
	font-size: 13.5px;
	list-style: none;
}

.km-co-trust li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.km-co-trust .km-oi {
	flex: none;
	margin-top: 2px;
	color: var(--wp--preset--color--mechta-cta);
}

.km-co-bar {
	display: none;
}

/* Полетата за фирма: скрити, докато „Фактура на фирма“ не е включена — иначе
 * се виждат, докато скриптът на „Българизация“ не ги скрие, и картата
 * „Доставка“ подскача нагоре (CLS). Когато е включена, ги показва плъгинът. */
html.km-js .km-co:has(#woo-billing-to-company:not(:checked)) .woo-bg-company-info {
	display: none;
}

/* Грешките: под полето (WooCommerce) и известието най-горе. */
.km-co .woocommerce-invalid :is(.input-text, select) {
	border-color: var(--wp--custom--state--error);
}

.km-co > .woocommerce-NoticeGroup .woocommerce-error,
.km-co > .woocommerce-NoticeGroup .wc-block-components-notice-banner {
	margin: 0;
}

.km-co > .woocommerce-NoticeGroup a {
	color: inherit;
	font-weight: 500;
	text-decoration-thickness: 1px;
}

/* ---------------------------------------------------------------
 * 3a. Поръчката на таблет и телефон: една колона; поръчката свита
 *     най-горе, сметката с условията най-долу, бутонът в лента долу.
 * ------------------------------------------------------------- */

@media (max-width: 1023.98px) {
	.woocommerce form.km-co {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.km-co__main,
	.km-co__aside,
	.km-co-sum,
	.km-co #order_review,
	.km-co-review {
		display: contents;
	}

	.km-co-sum__head {
		display: none;
	}

	.km-co > .woocommerce-NoticeGroup {
		order: 0;
	}

	.km-co-toggle {
		order: 1;
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		min-height: 64px;
		padding: 12px 16px;
		box-sizing: border-box;
		border: 1px solid var(--km-line);
		border-radius: 20px;
		background: var(--km-paper);
		color: var(--km-ink);
		font: inherit;
		text-align: left;
		cursor: pointer;
	}

	.km-co-toggle__thumbs {
		display: flex;
		flex: none;
	}

	.km-co-toggle__thumb {
		overflow: hidden;
		width: 38px;
		height: 38px;
		box-sizing: border-box;
		border: 2px solid var(--km-paper);
		border-radius: 10px;
		background: var(--km-chip);
	}

	.km-co-toggle__thumb + .km-co-toggle__thumb {
		margin-left: -14px;
	}

	.km-co-toggle__thumb img {
		display: block;
		width: 100%;
		height: calc(100% / 0.78);
		object-fit: cover;
		object-position: top;
	}

	.km-co-toggle__text {
		display: flex;
		flex: 1;
		flex-direction: column;
		gap: 2px;
		min-width: 0;
	}

	.km-co-toggle__label {
		font-size: 14px;
		font-weight: 600;
		line-height: 1.3;
	}

	.km-co-toggle__count {
		color: var(--km-muted);
		font-size: 12.5px;
	}

	.km-co-toggle__total {
		font-family: var(--wp--preset--font-family--unbounded);
		font-size: 16px;
		font-weight: 700;
		white-space: nowrap;
	}

	.km-co-items {
		order: 2;
		display: none;
		margin-top: -6px;
		padding: 4px 16px;
		border: 1px solid var(--km-line);
		border-radius: 20px;
		background: var(--km-paper);
	}

	.km-co--open .km-co-items {
		display: block;
	}

	.km-co-items .km-co-line,
	.km-co-items .km-co-line:first-child {
		grid-template-columns: 48px minmax(0, 1fr) auto;
		gap: 0 12px;
		padding: 12px 0;
		border-top: 0;
		border-bottom: 1px solid var(--km-line);
	}

	.km-co-items .km-co-line:last-child {
		border-bottom: 0;
	}

	.km-co-line__img {
		width: 48px;
		height: 48px;
		border-radius: 12px;
	}

	.km-co-line__name {
		font-size: 14px;
	}

	.km-co-line__total {
		font-size: 14px;
	}

	.km-co__details {
		order: 3;
		display: flex;
		flex-direction: column;
		gap: 14px;
	}

	.km-co-card--pay {
		order: 4;
	}

	.km-co-card {
		padding: 20px;
		border-radius: 24px;
	}

	.km-co-card__title {
		gap: 12px;
		margin-bottom: 18px;
		font-size: 18px;
	}

	.km-co-card__head {
		margin-bottom: 18px;
	}

	.km-co-card__note {
		display: none;
	}

	.km-co-num {
		width: 30px;
		height: 30px;
		font-size: 13px;
	}

	/* Сметката, условията — тъмното каре най-долу. */
	.km-co-totals {
		order: 5;
		gap: 12px;
		padding: 20px 20px 4px;
		border: 0;
		border-radius: 24px 24px 0 0;
		background: var(--wp--preset--color--espresso);
		color: var(--wp--preset--color--crema);
	}

	.km-co-row {
		font-size: 14px;
	}

	.km-co-row dt,
	.km-co-row dd.is-pending {
		color: var(--km-on-dark);
	}

	.km-co-row.fee dd,
	.km-co-row.cart-discount dd {
		color: var(--wp--preset--color--caramel);
	}

	.km-co-total {
		padding: 14px 0 0;
		border-top: 1px solid rgba(244, 238, 230, 0.16);
		border-radius: 0;
	}

	.km-co-total__label {
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
		font-size: 15px;
	}

	.km-co-total__sum {
		font-size: 26px;
	}

	.woocommerce form .km-co-place.form-row {
		order: 6;
		margin-top: -14px;
		padding: 4px 20px 20px;
		border-radius: 0 0 24px 24px;
		background: var(--wp--preset--color--espresso);
		color: var(--wp--preset--color--crema);
	}

	.km-co-terms label.checkbox,
	.km-co-terms__note {
		color: var(--wp--preset--color--crema);
	}

	.km-co-terms a,
	.km-co-terms__note a {
		color: var(--wp--preset--color--caramel);
	}

	.km-co-terms input[type="checkbox"] {
		accent-color: var(--wp--preset--color--caramel);
	}

	.woocommerce .km-co #place_order {
		display: none;
	}

	.km-co-trust {
		order: 7;
		padding: 0 4px;
	}

	.km-co-bar {
		position: sticky;
		bottom: 0;
		z-index: 15;
		order: 8;
		display: block;
		margin: 0 calc(-1 * var(--wp--style--root--padding-right, 16px)) 0 calc(-1 * var(--wp--style--root--padding-left, 16px));
		padding: 12px 16px 20px;
		border-top: 1px solid var(--km-line);
		background: rgba(244, 238, 230, 0.96);
	}

	.km-co-bar__btn {
		height: 56px;
		font-size: 16px;
	}

	/* blockUI на обобщението покрива цялата форма, когато то е „contents“. */
	.km-co-review > .blockUI {
		display: none !important;
	}
}

@media (max-width: 781.98px) {
	.km-co-top {
		margin-bottom: 20px;
	}

	.km-co-back {
		display: none;
	}

	.km-co-title {
		font-size: 34px;
	}

	.km-co-lead {
		font-size: 15px;
	}

	.km-co-ship .km-co-methods {
		gap: 10px;
	}

	:is(.km-co, form#order_review) .km-co-methods > li > label.km-co-tile,
	:is(.km-co, form#order_review) ul#shipping_method > li > label.km-co-tile {
		gap: 6px 10px;
		padding: 14px;
		border-radius: 18px;
	}

	:is(.km-co, form#order_review) .km-co-methods > li > input:checked + label.km-co-tile,
	:is(.km-co, form#order_review) .km-co-methods--single > li > label.km-co-tile,
	:is(.km-co, form#order_review) ul#shipping_method > li > input:checked + label.km-co-tile,
	:is(.km-co, form#order_review) ul#shipping_method.km-co-methods--single > li > label.km-co-tile {
		padding: 13px;
	}

	:is(.km-co, form#order_review) .km-co-ship ul#shipping_method > li > label.km-co-tile {
		grid-template-columns: minmax(0, 1fr);
		min-height: 92px;
	}

	:is(.km-co, form#order_review) .km-co-ship ul#shipping_method > li > label.km-co-tile::before {
		display: none;
	}

	.km-co-ship .km-co-tile__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		font-size: 15px;
	}

	.km-co-ship .km-co-tile__text {
		grid-column: 1;
	}

	.km-co-tile__text--long {
		display: none;
	}

	.km-co-tile__text--short {
		display: block;
		font-size: 12.5px;
		line-height: 1.35;
	}

	.km-co-methods--pay .km-co-tile__text {
		font-size: 13px;
	}

	.woocommerce .km-co .form-row :is(.input-text, select),
	.woocommerce .km-co .form-row .select2-container .select2-selection--single {
		height: 50px;
	}

	.km-co .form-row label:not(.checkbox):not(.km-co-tile) {
		font-size: 13px;
	}

	/* Имейлът и телефонът — на цял ред. */
	.km-co-you .woocommerce-billing-fields__field-wrapper > :is(#billing_phone_field, #billing_email_field) {
		grid-column: 1 / -1;
	}

	.km-nudge {
		gap: 8px;
		padding: 5px 5px 5px 10px;
		font-size: 12px;
		line-height: 1.3;
	}

	.km-nudge__long,
	.km-nudge__unit {
		display: none;
	}

	.km-nudge__short {
		display: inline;
	}

	.km-nudge__add {
		padding: 0 10px;
		font-size: 12.5px;
	}

	.km-saved {
		padding: 5px 8px;
		border-radius: 8px;
		font-size: 12px;
	}
}

/* „Плати сега“ (order-pay): същите плочки, бутонът като „Поръчай“. */
.woocommerce form#order_review #payment {
	margin-top: 24px;
	padding: 24px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 28px;
	background: var(--wp--preset--color--paper);
}

.woocommerce form#order_review #payment .form-row.place-order {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 18px 0 0;
	padding: 0;
	background: none;
}

.woocommerce form#order_review #place_order {
	width: 100%;
	height: 56px;
	border-radius: 999px;
	background: var(--wp--preset--color--mechta-cta);
	color: #fff;
	font-size: 17px;
	font-weight: 700;
}

.woocommerce form#order_review .km-co-terms__note,
.woocommerce form#order_review .woocommerce-terms-and-conditions-wrapper {
	margin: 0;
	font-size: 14px;
}

/* ---------------------------------------------------------------
 * 4. Потвърждението (order-received)
 * ------------------------------------------------------------- */

.woocommerce-order-received main.km-checkout {
	padding-top: clamp(28px, 4vw, 56px);
}

.km-ty {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.km-ty-hero {
	display: flex;
	align-items: flex-start;
	gap: 28px;
}

.km-ty-hero__mark {
	display: grid;
	flex: none;
	place-items: center;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: var(--wp--preset--color--mechta);
	box-shadow: 0 0 0 12px #f6e3d8;
	color: #fff;
	margin: 12px;
}

.km-ty-hero.is-failed .km-ty-hero__mark {
	background: var(--wp--custom--state--error);
	box-shadow: 0 0 0 12px #f3dcd9;
}

.km-ty-hero__text {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.km-ty-eyebrow {
	margin: 0;
	color: var(--wp--preset--color--mechta-cta);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.km-ty-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: clamp(32px, 4.6vw, 64px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.04;
}

.km-ty-title em {
	color: var(--wp--preset--color--mechta);
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 1.15em;
	font-style: italic;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.km-ty-lead {
	max-width: 640px;
	margin: 0;
	color: #4a3b30;
	font-size: 17px;
	line-height: 1.6;
}

.km-ty-lead strong {
	color: var(--wp--preset--color--espresso);
	font-weight: 600;
}

.km-ty-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 6px 0 0;
}

.km-ty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 24px;
	box-sizing: border-box;
	border: 1.5px solid var(--wp--preset--color--espresso);
	border-radius: 999px;
	color: var(--wp--preset--color--espresso);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.km-ty-btn:hover {
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-ty-btn--cta {
	border-color: var(--wp--preset--color--mechta-cta);
	background: var(--wp--preset--color--mechta-cta);
	color: #fff;
}

.km-ty-btn--block {
	width: 100%;
}

/* Данните за превод */
.km-ty-bank {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 48px;
	padding: 28px;
	border-radius: 28px;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-ty-bank__intro {
	flex: 1 1 320px;
}

.km-ty-bank__title {
	margin: 0 0 10px;
	color: var(--wp--preset--color--crema);
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.km-ty-bank__intro p {
	margin: 0;
	color: var(--km-on-dark);
	font-size: 15px;
	line-height: 1.55;
}

.km-ty-bank__data {
	display: grid;
	flex: 2 1 480px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 32px;
	margin: 0;
}

.km-ty-bank__data dt {
	margin-bottom: 4px;
	color: var(--km-on-dark);
	font-size: 13px;
}

.km-ty-bank__data dd {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.km-ty-bank__sum {
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 22px !important;
	font-weight: 700 !important;
}

.km-ty-bank__iban {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	user-select: all;
}

/* Двете колони */
.km-ty-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 28px;
}

.km-ty-main {
	display: flex;
	flex: 999 1 560px;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}

.km-ty-card {
	box-sizing: border-box;
	padding: 28px;
	border: 1px solid var(--km-line);
	border-radius: 28px;
	background: var(--km-paper);
}

.km-ty-card__title,
.km-ty-order__title {
	margin: 0 0 20px;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 21px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.km-ty-steps {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.km-ty-steps__item {
	position: relative;
	display: flex;
	gap: 18px;
	padding-bottom: 22px;
}

.km-ty-steps__item:last-child {
	padding-bottom: 0;
}

.km-ty-steps__item:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 36px;
	bottom: 2px;
	left: 17px;
	width: 2px;
	background: #d6c7b4;
}

.km-ty-steps__num {
	display: grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	box-sizing: border-box;
	border: 2px solid var(--wp--preset--color--espresso);
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 14px;
	font-weight: 600;
}

.km-ty-steps__item.is-now .km-ty-steps__num {
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-ty-steps__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 6px;
}

.km-ty-steps__title {
	font-size: 16px;
	font-weight: 700;
}

.km-ty-steps__text {
	color: #4a3b30;
	font-size: 15px;
	line-height: 1.5;
}

.km-ty-boxes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.km-ty-box {
	padding: 22px;
	border-radius: 24px;
}

.km-ty-box__label {
	margin: 0 0 10px;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--onest);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.km-ty-box__title {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
}

.km-ty-box__text {
	margin: 0;
	color: #4a3b30;
	font-size: 15px;
	line-height: 1.55;
}

.km-ty-box a {
	color: var(--wp--preset--color--mechta-cta);
}

/* Докато чакате пратката */
.km-ty-wait {
	display: flex;
	align-items: center;
	gap: 24px;
	overflow: hidden;
	min-height: 150px;
	padding-right: 22px;
	border-radius: 28px;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-ty-wait__img {
	flex: none;
	align-self: stretch;
	width: 220px;
	height: 150px;
	min-height: 100%;
	object-fit: cover;
}

.km-ty-wait__text {
	flex: 1;
	min-width: 0;
	padding: 22px 0;
}

.km-ty-wait__title {
	margin: 0 0 6px;
	color: var(--wp--preset--color--crema);
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.km-ty-wait__text p {
	margin: 0;
	color: var(--km-on-dark);
	font-size: 15px;
	line-height: 1.5;
}

.km-ty-wait__btn {
	display: inline-flex;
	flex: none;
	align-items: center;
	min-height: 48px;
	padding: 0 20px;
	border-radius: 999px;
	background: var(--wp--preset--color--crema);
	color: var(--wp--preset--color--espresso);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.km-ty-wait__btn:hover {
	background: #fff;
	color: var(--wp--preset--color--espresso);
}

/* Поръчката вдясно */
.km-ty-order {
	position: sticky;
	top: 24px;
	display: flex;
	flex: 1 1 360px;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	padding: 26px;
}

.km-ty-order__title {
	margin: 0;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--km-line);
	font-size: 19px;
}

.km-ty-lines {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0 0 18px;
	border-bottom: 1px solid var(--km-line);
	list-style: none;
}

.km-ty-line {
	display: flex;
	align-items: center;
	gap: 14px;
}

.km-ty-line__img {
	flex: none;
	overflow: hidden;
	width: 50px;
	height: 50px;
	border-radius: 12px;
	background: var(--km-chip);
}

.km-ty-line__img img {
	display: block;
	width: 100%;
	height: calc(100% / 0.78);
	object-fit: cover;
	object-position: top;
}

.km-ty-line__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.km-ty-line__name {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.km-ty-line__qty {
	color: var(--wp--preset--color--muted);
	font-size: 13px;
}

.km-ty-line__total {
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
}

.km-ty-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
}

.km-ty-rows > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 15px;
}

.km-ty-rows dt {
	color: #4a3b30;
}

.km-ty-rows dd {
	margin: 0;
	font-weight: 700;
	text-align: right;
}

.km-ty-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	border-radius: 20px;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-ty-total__label {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 15px;
	font-weight: 700;
}

.km-ty-total__label small {
	color: var(--km-on-dark);
	font-size: 12.5px;
	font-weight: 400;
}

.km-ty-total__label small .woocommerce-Price-amount {
	font: inherit;
}

.km-ty-total__sum {
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.km-ty-help {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: 13.5px;
	line-height: 1.5;
	text-align: center;
}

.km-ty-note {
	margin: 0;
	padding: 18px 22px;
	border-radius: 20px;
	background: var(--km-info);
	color: #4a3b30;
	font-size: 15px;
	line-height: 1.5;
}

.km-ty-note > :first-child {
	margin-top: 0;
}

.km-ty-note > :last-child {
	margin-bottom: 0;
}

.km-ty-help a {
	color: var(--wp--preset--color--mechta-cta);
}

@media (max-width: 1023.98px) {
	.km-ty-order {
		position: static;
	}
}

@media (max-width: 781.98px) {
	.km-ty {
		gap: 20px;
	}

	.km-ty-hero {
		flex-direction: column;
		gap: 18px;
	}

	.km-ty-hero__mark {
		width: 64px;
		height: 64px;
		margin: 8px;
		box-shadow: 0 0 0 8px #f6e3d8;
	}

	.km-ty-hero__mark .km-oi {
		width: 32px;
		height: 32px;
	}

	.km-ty-title {
		font-size: 32px;
	}

	.km-ty-lead {
		font-size: 15px;
	}

	.km-ty-bank,
	.km-ty-card {
		padding: 20px;
		border-radius: 24px;
	}

	.km-ty-bank__data {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.km-ty-boxes {
		grid-template-columns: minmax(0, 1fr);
	}

	.km-ty-wait {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 0 20px 20px;
	}

	.km-ty-wait__img {
		align-self: auto;
		width: auto;
		height: 170px;
		min-height: 0;
		margin: 0 -20px;
	}

	.km-ty-wait__text {
		padding: 18px 0 14px;
	}

	.km-ty-wait__btn {
		justify-content: center;
	}
}

/* ---------------------------------------------------------------
 * 5. Количката (/cart/)
 * ------------------------------------------------------------- */

.woocommerce-cart main.km-cart-page {
	padding-top: clamp(24px, 4vw, 56px);
	padding-bottom: 72px;
}

.km-cartp__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 32px;
	margin-bottom: 28px;
}

.km-cartp__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: clamp(40px, 6vw, 80px);
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1;
}

.km-cartp__count {
	margin: 10px 0 0;
	color: var(--wp--preset--color--muted);
	font-size: 17px;
}

.km-cartp__continue {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wp--preset--color--mechta-cta);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.km-cartp__continue:hover {
	color: #8e3812;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.km-cartp__continue--end {
	display: none;
}

.km-cartp__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 28px;
}

.km-cartp__main {
	display: flex;
	flex: 999 1 560px;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}

.km-cartp__aside {
	position: sticky;
	top: 110px;
	flex: 1 1 340px;
	min-width: 0;
}

.woocommerce .km-cartp .cart-collaterals,
.woocommerce .km-cartp .cart-collaterals .cart_totals {
	float: none;
	width: auto;
}

.km-lines {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.km-line {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px;
	border: 1px solid var(--km-line);
	border-radius: 28px;
	background: var(--km-paper);
	transition: opacity 0.15s ease;
}

.km-line.is-changing {
	opacity: 0.7;
}

.km-line__row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: 0 20px;
}

.km-line__img {
	display: block;
	overflow: hidden;
	width: 92px;
	height: 92px;
	border-radius: 16px;
	background: var(--km-chip);
}

.km-line__img img {
	display: block;
	width: 100%;
	height: calc(100% / 0.78);
	object-fit: cover;
	object-position: top;
}

.km-line__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.km-line__name {
	margin: 0;
	font-family: var(--wp--preset--font-family--onest);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.3;
}

.km-line__name a {
	color: inherit;
	text-decoration: none;
}

.km-line__name a:hover {
	color: var(--wp--preset--color--mechta-cta);
}

.km-line__meta {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: 14px;
}

.km-line__price {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: 14px;
}

.km-line__price strong {
	color: var(--wp--preset--color--espresso);
	font-weight: 700;
}

.km-line__price .woocommerce-Price-amount {
	font: inherit;
}

.km-line__total {
	min-width: 6ch;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-align: right;
	white-space: nowrap;
}

.km-line__total .woocommerce-Price-amount {
	font: inherit;
}

.woocommerce-page .woocommerce-cart-form .km-line__remove {
	width: auto;
}

.woocommerce .km-line__remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--km-line);
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--muted) !important;
	font-size: 0;
}

.woocommerce .km-line__remove a.remove:hover {
	border-color: var(--wp--preset--color--espresso);
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema) !important;
}

/* Броячът „− N +“ — като на продукта */
.km-line .km-stepper {
	display: inline-flex;
	align-items: center;
	height: 48px;
	box-sizing: border-box;
	border: 1px solid #d6c7b4;
	border-radius: 999px;
	background: #fff;
}

.km-line .km-stepper__btn {
	display: grid;
	place-items: center;
	width: 44px;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--espresso);
	font-size: 20px;
	cursor: pointer;
}

.km-line .km-stepper__btn:hover {
	background: rgba(30, 18, 11, 0.06);
}

.km-line .km-stepper__input {
	width: 4ch;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--espresso);
	font: inherit;
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.km-line .km-stepper__input::-webkit-outer-spin-button,
.km-line .km-stepper__input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.km-line .km-stepper:focus-within {
	border-color: var(--wp--preset--color--mechta-cta);
	box-shadow: 0 0 0 4px rgba(184, 74, 26, 0.16);
}

/* Подсказката за нивото в количката: на цял ред, с лента за напредък. */
.km-nudge--cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px 16px;
	padding: 12px 12px 12px 16px;
	border-radius: 16px;
	font-size: 14px;
}

.km-nudge--cart .km-nudge__bar {
	grid-column: 1;
	grid-row: 2;
	height: 4px;
	border-radius: 999px;
	background: rgba(184, 74, 26, 0.18);
}

.km-nudge--cart .km-nudge__bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--wp--preset--color--mechta-cta);
}

.km-nudge--cart .km-nudge__add {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	height: 40px;
	padding: 0 16px;
	font-size: 14px;
}

.km-nudge--cart .km-nudge__unit {
	display: none;
}

.km-line > .km-saved {
	padding: 10px 16px;
	border-radius: 14px;
	font-size: 14px;
}

.km-cartp__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.km-cartp__coupon summary {
	color: var(--wp--preset--color--mechta-cta);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.km-cartp__coupon-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
}

.woocommerce .km-cartp__coupon-form .input-text {
	width: 220px;
	height: 48px;
}

html.km-js .km-cartp__update {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Често се взимат заедно */
.km-cartp__extras-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.03em;
}

.km-cartp .km-cartp__minis {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 14px;
	margin: 16px 0 0;
	padding: 0;
	overflow: visible;
}

.km-cartp .km-cartp__minis > li[hidden] {
	display: none;
}

.km-cartp .km-cartp__minis .km-card--mini {
	flex-direction: row;
	align-items: center;
	gap: 14px;
	padding: 10px;
	border-radius: 22px;
}

.km-cartp .km-cartp__minis .km-card--mini .km-card__media {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	border-radius: 14px;
}

.km-cartp .km-cartp__minis .km-card--mini .km-card__meta {
	display: none;
}

.km-cartp .km-cartp__minis .km-card--mini .km-card__title {
	font-size: 15px;
}

.km-cartp .km-cartp__minis .km-card--mini .km-card__amount {
	color: var(--wp--preset--color--muted);
	font-size: 14px;
	font-weight: 500;
}

/* Сметката */
.km-sum {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 26px;
	border: 1px solid var(--km-line);
	border-radius: 28px;
	background: var(--km-paper);
}

.km-sum__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.03em;
}

.km-sum__rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}

.km-sum__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 15px;
}

.km-sum__row dt {
	color: #4a3b30;
}

.km-sum__row dd {
	margin: 0;
	font-weight: 700;
	text-align: right;
}

.km-sum__row dd.is-pending {
	color: var(--wp--preset--color--muted);
	font-size: 14px;
	font-weight: 400;
}

.km-sum__row--saving dd {
	color: var(--wp--preset--color--mechta-cta);
}

.km-sum__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px;
	border-radius: 20px;
	background: var(--wp--preset--color--espresso);
	color: var(--wp--preset--color--crema);
}

.km-sum__total-label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 16px;
	font-weight: 700;
}

.km-sum__total-label small {
	color: var(--km-on-dark);
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.4;
}

.km-sum__total-label small .woocommerce-Price-amount {
	font: inherit;
}

.km-sum__total-sum {
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.woocommerce .km-sum .wc-proceed-to-checkout {
	margin: 0;
	padding: 0;
}

.woocommerce .km-sum a.checkout-button.km-sum__cta {
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 60px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--mechta-cta);
	color: #fff;
	font-size: 17px;
	font-weight: 700;
}

.woocommerce .km-sum a.checkout-button.km-sum__cta:hover {
	background: #8e3812;
}

.km-sum__tiers {
	padding: 16px;
	border-radius: 18px;
	background: var(--km-chip);
	font-size: 14px;
}

.km-sum__tiers-title {
	margin: 0 0 8px;
	font-weight: 700;
}

.km-sum__tiers dl {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

.km-sum__tiers dl > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
}

.km-sum__tiers dd {
	margin: 0;
}

.km-sum__trust {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: #4a3b30;
	font-size: 14px;
	list-style: none;
}

.km-sum__trust li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.km-sum__trust .km-oi {
	flex: none;
	margin-top: 3px;
	color: var(--wp--preset--color--mechta-cta);
}

.km-sum__bar {
	display: none;
}

/* Празна количка */
.km-cartp__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	max-width: 560px;
	padding: 32px;
	border: 1px solid var(--km-line);
	border-radius: 28px;
	background: var(--km-paper);
}

.km-cartp__empty .wc-empty-cart-message,
.km-cartp__empty .cart-empty {
	margin: 0;
}

.km-cartp__empty .wc-empty-cart-message :is(.cart-empty, .wc-block-components-notice-banner) {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--wp--preset--font-family--unbounded);
	font-size: 20px;
	font-weight: 600;
}

.km-cartp__empty .wc-empty-cart-message .wc-block-components-notice-banner > svg,
.km-cartp__empty .wc-empty-cart-message .cart-empty::before {
	display: none;
}

.km-cartp__empty > .woocommerce-notices-wrapper,
.km-cartp__empty > .woocommerce-notices-wrapper > * {
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.km-cartp__empty-text {
	margin: 0;
	color: #4a3b30;
}

.km-cartp__empty .return-to-shop {
	margin: 6px 0 0;
}

.km-cartp__empty-btn {
	display: inline-flex;
	align-items: center;
	height: 52px;
	padding: 0 24px;
	border-radius: 999px;
	background: var(--wp--preset--color--mechta-cta);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.km-cartp__empty-btn:hover {
	background: #8e3812;
	color: #fff;
}

@media (max-width: 1023.98px) {
	.km-cartp__aside {
		position: static;
	}
}

@media (max-width: 781.98px) {
	.km-cartp__head {
		align-items: baseline;
		gap: 6px 14px;
		margin-bottom: 16px;
	}

	.km-cartp__heading {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 4px 12px;
	}

	.km-cartp__title {
		font-size: 40px;
	}

	.km-cartp__count {
		margin: 0;
		font-size: 14px;
	}

	.km-cartp__head .km-cartp__continue {
		display: none;
	}

	.km-cartp__continue--end {
		display: flex;
		justify-content: center;
		margin-top: 20px;
	}

	.km-cartp__main {
		gap: 28px;
	}

	.km-line {
		padding: 14px;
		border-radius: 24px;
	}

	.km-line__row {
		grid-template-columns: 76px minmax(0, 1fr) auto;
		grid-template-areas:
			"img info remove"
			"qty qty total";
		gap: 14px 12px;
		align-items: start;
	}

	.km-line__img {
		grid-area: img;
		width: 76px;
		height: 76px;
		border-radius: 14px;
	}

	.km-line__info {
		grid-area: info;
	}

	.km-line__name {
		font-size: 15px;
	}

	.km-line__meta,
	.km-line__price {
		font-size: 13px;
	}

	.km-line__remove {
		grid-area: remove;
	}

	.woocommerce .km-line__remove a.remove {
		width: 32px;
		height: 32px;
		border: 0;
	}

	.km-line__qty {
		grid-area: qty;
	}

	.km-line__total {
		grid-area: total;
		align-self: center;
		font-size: 18px;
	}

	.km-nudge--cart {
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 12px;
		font-size: 13px;
	}

	.km-nudge--cart .km-nudge__long {
		display: inline;
	}

	.km-nudge--cart .km-nudge__short {
		display: none;
	}

	.km-cartp .km-cartp__minis {
		grid-template-columns: minmax(0, 1fr);
		margin: 12px 0 0;
	}

	/* Сметката — тъмна, най-долу; бутонът е в лента долу на екрана. */
	.km-sum {
		gap: 14px;
		padding: 20px;
		border: 0;
		border-radius: 24px;
		background: var(--wp--preset--color--espresso);
		color: var(--wp--preset--color--crema);
	}

	.km-sum__title,
	.km-sum__tiers,
	.woocommerce .km-sum .wc-proceed-to-checkout {
		display: none;
	}

	.km-sum__row {
		font-size: 14px;
	}

	.km-sum__row dt,
	.km-sum__row dd.is-pending {
		color: var(--km-on-dark);
	}

	.km-sum__row--saving dt,
	.km-sum__row--saving dd {
		color: var(--wp--preset--color--caramel);
	}

	.km-sum__total {
		padding: 14px 0 0;
		border-top: 1px solid rgba(244, 238, 230, 0.16);
		border-radius: 0;
	}

	.km-sum__total-label {
		font-size: 15px;
	}

	.km-sum__total-sum {
		font-size: 26px;
	}

	.km-sum__trust {
		color: var(--km-on-dark);
		font-size: 13px;
	}

	.km-sum__trust .km-oi {
		color: var(--wp--preset--color--caramel);
	}

	.km-sum__bar {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 30;
		display: block;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--wp--preset--color--line);
		background: rgba(244, 238, 230, 0.96);
	}

	.km-sum__bar-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		height: 56px;
		border-radius: 999px;
		background: var(--wp--preset--color--mechta-cta);
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		text-decoration: none;
	}

	.km-sum__bar-btn:hover {
		background: #8e3812;
		color: #fff;
	}

	/* Мястото на лентата — съдържанието не остава под нея. */
	.woocommerce-cart:has(.km-sum__bar) {
		padding-bottom: 84px;
	}
}

.km-cartp__empty .wc-empty-cart-message .wc-block-components-notice-banner__content {
	padding: 0;
}
