/* UniPizza: единая корзина, оформление, вариации и адаптив по ТЗ 03.09.2026. */
:root {
	--up-red: #ed1c24;
	--up-red-dark: #c81018;
	--up-yellow: #ffd321;
	--up-text: #242424;
	--up-muted: #6d6d6d;
	--up-line: #e6e6e6;
	--up-soft: #f7f7f7;
}

/* ==================================================
   МОДАЛЬНЫЙ ВЫБОР РАЗМЕРА И СТРЕЛКИ КАТЕГОРИЙ
================================================== */

.up-product-modal__variation-label {
	display: none;
	margin: 18px 0 8px;
	color: #202020;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
}

.up-product-modal__variation-label + .up-product-modal__variations:not(:empty) {
	display: flex !important;
}

.up-product-modal__variation-label:has(+ .up-product-modal__variations:not(:empty)) {
	display: block;
}

.up-product-modal__action {
	position: relative;
}

.up-product-modal__variation-notice {
	position: absolute;
	right: 0;
	bottom: calc(100% + 9px);
	z-index: 2;
	display: block;
	width: max-content;
	max-width: min(280px, 80vw);
	padding: 8px 10px;
	border-radius: 7px;
	background: #2c2c2c;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	opacity: 0;
	transform: translateY(4px);
	pointer-events: none;
	transition: opacity .16s ease, transform .16s ease;
}

.up-product-modal__variation-notice::after {
	content: '';
	position: absolute;
	right: 18px;
	top: 100%;
	border: 5px solid transparent;
	border-top-color: #2c2c2c;
}

.up-product-modal__variation-notice.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.up-category-tabs-shell {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: center;
	gap: 8px;
	padding: 0 8px;
	box-sizing: border-box;
}

.up-category-tabs-shell .up-category-tabs {
	flex: 1 1 auto !important;
	width: auto !important;
	padding: 0 2px !important;
}

.up-category-tabs-arrow {
	position: relative;
	z-index: 4;
	display: none;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 1px solid #e3e3e3;
	border-radius: 50%;
	background: #fff !important;
	color: #333;
	font-size: 0;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 3px 10px rgba(0,0,0,.10);
	transition: border-color .2s ease, box-shadow .2s ease;
}


.up-category-tabs-arrow svg {
	display: block;
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-category-tabs-arrow:hover:not(:disabled) {
	border-color: #bdbdbd;
	background: #fff;
	color: #333;
	box-shadow: 0 4px 12px rgba(0,0,0,.14);
}

.up-category-tabs-shell .up-category-tabs {
	cursor: grab;
}

.up-category-tabs-shell .up-category-tabs a {
	-webkit-user-drag: none;
	user-select: none;
}

.up-category-tabs-shell .up-category-tabs.is-dragging {
	cursor: grabbing;
	user-select: none;
	scroll-behavior: auto;
}

@media (min-width: 768px) {
	.up-category-tabs-shell.has-overflow .up-category-tabs-arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.up-category-tabs-arrow:disabled {
		opacity: 1;
		border-color: #dedede;
		background: #fff;
		color: #242424;
		cursor: default;
	}
}

@media (max-width: 767px) {
	.up-category-tabs-shell {
		padding: 0 !important;
	}

	.up-product-modal__variation-notice {
		right: auto;
		left: 0;
		max-width: 100%;
	}

	.up-product-modal__variation-notice::after {
		right: auto;
		left: 18px;
	}
}

/* Same centered upper row in ordinary and compact states. */
@media (max-width: 767px), (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	.up-mobile-header { min-height: 0 !important; padding-top: 7px !important; padding-bottom: 7px !important; }
	.up-mobile-header__top {
		position: absolute !important;
		top: 7px !important;
		left: 50% !important;
		z-index: 2;
		width: 52px !important;
		margin: 0 !important;
		transform: translateX(-50%) !important;
	}
	.up-mobile-header__logo img { width: 52px !important; }
	.up-mobile-header__info {
		display: grid !important;
		width: 100% !important;
		min-height: 37px !important;
		margin: 0 !important;
		grid-template-columns: minmax(0,1fr) 52px minmax(0,1fr) 28px !important;
		align-items: center !important;
		gap: 5px !important;
	}
	.up-mobile-header__location { grid-column: 1 !important; justify-self: start !important; }
	.up-mobile-header__hours { grid-column: 3 !important; justify-self: end !important; }
	.up-mobile-header__toggle { grid-column: 4 !important; justify-self: end !important; }
	.up-mobile-header__actions { min-height: 27px !important; margin-top: 3px !important; }
	/* Pinned state is one compact row; actions are removed from its height. */
	.up-mobile-header.is-sticky { height: 51px !important; min-height: 51px !important; padding-top: 7px !important; padding-bottom: 7px !important; }
	.up-mobile-header.is-sticky .up-mobile-header__actions { display: none !important; }
body.up-mobile-header-stuck .unipizza-page .up-category-sticky { top: 51px !important; }
}

/* RESPONSIVE REPAIR 23.09.2026: one header and catalogue-card layout per breakpoint. */
@media (min-width: 992px) {
	:root { --up-sticky-header-height: 66px; }
	body .up-sticky-header { z-index: 40000 !important; height: 66px !important; }
	.up-sticky-header__inner { display:grid !important; grid-template-columns:auto auto auto minmax(180px,1fr) auto !important; grid-template-rows:1fr !important; gap:clamp(14px,2vw,28px) !important; align-items:center !important; }
	.up-sticky-header__logo { grid-column:1; }
	.up-sticky-header__location { grid-column:2; display:flex !important; }
	.up-sticky-header__hours { grid-column:3; display:flex !important; }
	.up-sticky-header__phone { grid-column:4; justify-self:end; display:inline-flex !important; }
	.up-sticky-header__cart { grid-column:5; }
	.up-sticky-header__menu, .up-sticky-header__login { display:none !important; }
	.unipizza-page .up-category-sticky { top:66px !important; z-index:30000 !important; }
	.unipizza-page .up-product-category { scroll-margin-top:124px !important; }
}

@media (max-width: 991px) {
	:root { --up-mobile-header-sticky-height:56px; }
	.up-header, .up-sticky-header { display:none !important; }
	.up-mobile-header { position:sticky !important; top:0 !important; z-index:30000 !important; display:block !important; width:100% !important; min-height:96px !important; padding:8px 16px !important; box-sizing:border-box !important; border-bottom:1px solid #ececec !important; background:#fff !important; box-shadow:none !important; transition:none !important; }
	.up-mobile-header__top { position:absolute !important; top:8px !important; left:50% !important; z-index:2 !important; width:54px !important; height:auto !important; margin:0 !important; transform:translateX(-50%) !important; }
	.up-mobile-header__logo img { display:block !important; width:54px !important; height:auto !important; }
	.up-mobile-header__info { display:grid !important; width:100% !important; min-height:40px !important; margin:0 !important; grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) 30px !important; align-items:center !important; gap:5px !important; }
	.up-mobile-header__location { grid-column:1 !important; justify-self:start !important; }
	.up-mobile-header__hours { grid-column:3 !important; justify-self:end !important; }
	.up-mobile-header__toggle { grid-column:4 !important; justify-self:end !important; margin:0 !important; }
	.up-mobile-header__location strong, .up-mobile-header__hours strong { font-size:10px !important; line-height:1.1 !important; }
	.up-mobile-header__location span, .up-mobile-header__hours span { font-size:8px !important; line-height:1.1 !important; }
	.up-mobile-header__actions { display:flex !important; min-height:27px !important; margin-top:4px !important; }
	.up-mobile-header.is-sticky { height:var(--up-mobile-header-sticky-height) !important; min-height:var(--up-mobile-header-sticky-height) !important; padding-top:8px !important; padding-bottom:8px !important; }
	.up-mobile-header.is-sticky .up-mobile-header__actions { display:none !important; }
	.unipizza-page .up-category-sticky, .unipizza-page .up-category-sticky.is-stuck { top:var(--up-mobile-header-sticky-height) !important; z-index:20000 !important; padding:7px 0 8px !important; background:#fff !important; box-shadow:0 4px 10px rgba(0,0,0,.08) !important; }
	.unipizza-page .up-category-sticky::before, .unipizza-page .up-category-sticky.is-stuck::before { display:none !important; }
	.unipizza-page .up-category-sticky .up-category-tabs { position:relative !important; z-index:1 !important; }
	.unipizza-page .up-product-category { scroll-margin-top:116px !important; }
	.up-mobile-bottom-nav { z-index:10000 !important; }
	.up-header-cart, body.home .up-header-cart, body.page-template-index_home .up-header-cart, .single-product .up-header-cart { display:none !important; }
	.unipizza-page { padding-bottom:calc(84px + env(safe-area-inset-bottom)) !important; }
	.unipizza-page .up-catalog { padding-bottom:88px !important; }
}

/* Identical card hierarchy on home, category and catalogue pages; only grid column count varies. */
.up-product-card { display:flex !important; min-width:0 !important; height:auto !important; flex-direction:column !important; }
.up-product-card__media { width:100% !important; min-height:0 !important; }
.up-product-card__body { display:flex !important; min-height:0 !important; padding:12px !important; flex:1 1 auto !important; flex-direction:column !important; }
.up-product-card__body h3 { min-height:0 !important; margin:0 0 9px !important; text-align:center !important; font-weight:800 !important; }
.up-product-card__body > p { display:none !important; }
.up-product-card__variations { justify-content:center !important; min-height:0 !important; margin:0 0 10px !important; }
.up-product-card__variations.is-placeholder { display:none !important; }
.up-product-card__bottom { display:flex !important; min-height:43px !important; margin-top:auto !important; padding:0 8px 0 13px !important; align-items:center !important; justify-content:space-between !important; border-radius:9px !important; background:var(--up-red) !important; }
.up-product-card__bottom > strong, .up-product-card__bottom .price, .up-product-card__bottom del { color:#fff !important; }
.up-product-card .up-add-button, .up-product-card .up-add-button:hover, .up-product-card .up-add-button.loading, .up-product-card .up-add-button.added { display:inline-flex !important; width:29px !important; min-width:29px !important; height:29px !important; padding:0 !important; border:0 !important; border-radius:50% !important; background:rgba(255,255,255,.2) !important; }
.up-product-card .up-add-button::before, .up-product-card .up-add-button.loading::before, .up-product-card .up-add-button.added::before { color:#fff !important; }

@media (max-width:1199px) { body.home .up-product-category, body.page-template-index_home .up-product-category { margin:0 !important; padding:18px 12px 20px !important; background:#f6f6f6 !important; } }
@media (max-width:991px) { .woocommerce-shop .up-archive-main, .tax-product_cat .up-archive-main, .tax-product_tag .up-archive-main { padding:18px 12px 20px !important; background:#f6f6f6 !important; } }

@media (max-width: 767px), (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	/* Equal inset to the login control. */
	.up-mobile-header__toggle { margin-right: 4px !important; }
	/* Tags have no individual shadow; it is drawn only below the whole pinned block. */
	.unipizza-page .up-category-sticky,
	.unipizza-page .up-category-sticky::before,
	.unipizza-page .up-category-sticky.is-stuck::before {
		box-shadow: none !important;
		filter: none !important;
	}
	.unipizza-page .up-category-sticky { border: 0 !important; }
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky {
		box-shadow: 0 5px 12px rgba(0,0,0,.13) !important;
	}
	/* Prevent a browser animation of the lower edge when the compact state begins. */
	.up-mobile-header,
	.up-mobile-header *,
	.unipizza-page .up-category-sticky { transition: none !important; }
}

/* Final mobile-header behaviour: ordinary and compact sticky states. */
@media (max-width: 767px), (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	.up-mobile-header {
		position: sticky !important;
		top: 0;
		box-shadow: none !important;
		transition: box-shadow .18s ease;
	}
	/* In the ordinary state all primary elements are aligned in one row. */
	.up-mobile-header__top {
		position: absolute;
		top: 9px;
		left: 16px;
		height: 35px;
	}
	.up-mobile-header__logo img { width: 52px !important; }
	.up-mobile-header__info {
		min-height: 35px;
		margin-left: 62px;
		grid-template-columns: minmax(0,1fr) auto 28px !important;
	}
	.up-mobile-header__location strong,
	.up-mobile-header__hours strong { font-size: 10px !important; }
	.up-mobile-header__location span,
	.up-mobile-header__hours span { font-size: 7px !important; }
	.up-mobile-header__actions { min-height: 28px; margin-top: 3px; }
	/* Once pinned, only logo / city / hours / hamburger remain. */
	.up-mobile-header.is-sticky {
		box-shadow: 0 3px 12px rgba(0,0,0,.14) !important;
	}
	.up-mobile-header.is-sticky .up-mobile-header__actions { display: none !important; }
	.up-mobile-header.is-sticky .up-mobile-header__top { top: 7px; }
	.up-mobile-header.is-sticky .up-mobile-header__info { min-height: 35px; }
	body:not(.up-mobile-header-stuck) .unipizza-page .up-category-sticky { top: 0 !important; }
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky { top: 51px !important; }
	.unipizza-page .up-catalog { padding-bottom: 120px !important; }
}

/* Independent mobile header: does not inherit legacy theme layout. */
@media (max-width: 767px), (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	.up-header,
	.up-sticky-header { display: none !important; }
	.up-mobile-header {
		position: sticky;
		z-index: 16000;
		top: 0;
		display: block;
		width: 100%;
		padding: 7px 16px 8px;
		box-sizing: border-box;
		border-bottom: 1px solid #eee;
		background: rgba(255,255,255,.98);
		box-shadow: 0 3px 10px rgba(0,0,0,.06);
		font-family: Montserrat, Arial, sans-serif;
	}
	.up-mobile-header__top { display: flex; height: 35px; align-items: flex-start; justify-content: center; }
	.up-mobile-header__logo img { display: block; width: 64px; height: auto; }
	.up-mobile-header__info { display: grid; grid-template-columns: minmax(0,1fr) auto 30px; align-items: center; gap: 8px; }
	.up-mobile-header__location,
	.up-mobile-header__hours { display: flex; min-width: 0; align-items: center; gap: 6px; color: #222; }
	.up-mobile-header__location svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: #ed1c24; stroke-width: 2; }
	.up-mobile-header__hours i { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: #39b54a; box-shadow: 0 0 0 3px rgba(57,181,74,.13); }
	.up-mobile-header__location strong,
	.up-mobile-header__hours strong,
	.up-mobile-header__location span,
	.up-mobile-header__hours span { display: block; white-space: nowrap; }
	.up-mobile-header__location strong,
	.up-mobile-header__hours strong { font-size: 11px; line-height: 1.1; }
	.up-mobile-header__location span,
	.up-mobile-header__hours span { margin-top: 2px; color: #777; font-size: 8px; line-height: 1.1; }
	.up-mobile-header__toggle { display: block !important; width: 30px; height: 29px; min-height: 29px; margin: 0; padding: 2px 0; border: 0; background: transparent; }
	.up-mobile-header__toggle span { position: static !important; display: block !important; width: 24px !important; height: 2px !important; margin: 4px auto !important; transform: none !important; background: #ed1c24 !important; }
	.up-mobile-header__actions { display: flex; justify-content: flex-end; align-items: center; gap: 18px; min-height: 31px; margin-top: 4px; }
	.up-mobile-header__phone,
	.up-mobile-header__login { display: inline-flex; align-items: center; gap: 6px; color: #222; font-size: 12px; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; }
	.up-mobile-header__phone svg,
	.up-mobile-header__login svg { width: 18px; height: 18px; fill: none; stroke: #ed1c24; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	.up-mobile-header__login svg { stroke: #333; }
	.up-mobile-header__menu { display: none; position: absolute; top: 100%; right: 0; left: 0; padding: 8px 16px 14px; background: #fff; box-shadow: 0 10px 18px rgba(0,0,0,.14); }
	.up-mobile-header__menu.is-open { display: block; }
	.up-mobile-header__menu .up-menu { display: block; margin: 0; padding: 0; list-style: none; }
	.up-mobile-header__menu .up-menu a { display: block; padding: 11px 0; border-bottom: 1px solid #eee; color: #222; font-size: 14px; text-decoration: none; }
	.unipizza-page .up-category-sticky { top: 0 !important; }
}

@media (min-width: 992px) { .up-mobile-header { display: none; } }

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

.up-archive-main,
.single-product .up-single-main-column {
	width: 100%;
	min-width: 0;
}

/* Drawer-корзина */
.up-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 50000;
	pointer-events: none;
	visibility: hidden;
}

.up-cart-drawer.is-open {
	pointer-events: auto;
	visibility: visible;
}

.up-cart-drawer__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: rgba(20, 20, 20, .54);
	opacity: 0;
	transition: opacity .22s ease;
}

.up-cart-drawer.is-open .up-cart-drawer__overlay {
	opacity: 1;
}

.up-cart-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	width: min(420px, 94vw);
	height: 100%;
	height: 100dvh;
	max-width: 100%;
	box-sizing: border-box;
	flex-direction: column;
	background: #fff;
	box-shadow: -12px 0 40px rgba(0, 0, 0, .2);
	transform: translateX(102%);
	transition: transform .24s ease;
}

.up-cart-drawer.is-open .up-cart-drawer__panel {
	transform: translateX(0);
}

.up-cart-drawer__header {
	display: flex;
	min-height: 72px;
	padding: 18px 22px 10px;
	box-sizing: border-box;
	align-items: center;
	justify-content: space-between;
	border: 0;
}

.up-cart-drawer__header h2 {
	margin: 0;
	color: var(--up-text);
	font-size: 24px;
	font-weight: 800;
}


.up-cart-drawer__content {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
}


.up-cart-drawer__notice {
	margin: 10px 22px 12px;
	padding: 11px 13px;
	border: 0;
	border-radius: 10px;
	background: #f1f1f1;
	color: #555;
	font-size: 12px;
	line-height: 1.35;
}

.up-cart-drawer__items {
	min-height: 0;
	padding: 0 22px;
	flex: 1;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.up-cart-drawer-item {
	position: relative;
	display: grid;
	padding: 14px 0;
	grid-template-columns: 72px minmax(0, 1fr) 30px;
	gap: 12px;
	border-bottom: 1px solid #ededed;
	transition: opacity .15s ease;
}

.up-cart-drawer-item.is-updating {
	opacity: .5;
	pointer-events: none;
}

.up-cart-drawer-item__image img {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 10px;
	object-fit: cover;
}

.up-cart-drawer-item__content {
	min-width: 0;
}

.up-cart-drawer-item__content > strong {
	display: block;
	padding-right: 4px;
	color: var(--up-text);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
}

.up-cart-drawer-item__variation,
.up-cart-drawer-item__variation dl,
.up-cart-drawer-item__variation p {
	margin: 3px 0 0;
	color: var(--up-muted);
	font-size: 11px;
	line-height: 1.3;
}

.up-cart-drawer-item__variation dt,
.up-cart-drawer-item__variation dd {
	display: inline;
	margin: 0;
}

.up-cart-drawer-item__price {
	margin-top: 5px;
	color: var(--up-text);
	font-size: 13px;
	font-weight: 700;
}



.up-cart-drawer__footer {
	padding: 14px 22px calc(18px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--up-line);
	background: #fff;
}

.up-delivery-threshold {
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 9px;
	background: #fff4dc;
	color: #5c4817;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
}

.up-delivery-threshold.is-free {
	background: #eaf8ed;
	color: #237633;
}

.up-cart-drawer__checkout,
.up-cart-drawer__empty a {
	display: flex;
	min-height: 50px;
	padding: 12px 16px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: var(--up-red);
	color: #fff !important;
	font-size: 14px;
	font-weight: 800;
	text-align: center;
	text-decoration: none !important;
}

.up-cart-drawer__checkout:hover,
.up-cart-drawer__empty a:hover {
	background: var(--up-red-dark);
}

.up-cart-drawer__empty {
	display: flex;
	padding: 48px 28px;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.up-cart-drawer__empty svg,
.up-cart-empty-page svg {
	width: 64px;
	height: 64px;
	margin-bottom: 18px;
	fill: none;
	stroke: var(--up-red);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-cart-drawer__empty strong {
	font-size: 19px;
}

.up-cart-drawer__empty span {
	margin: 6px 0 22px;
	color: var(--up-muted);
	font-size: 13px;
}

.up-cart-drawer__empty a {
	width: 100%;
}

/* Оформление заказа */
.up-cart-checkout-page {
	padding: 34px 0 70px;
	background: #f7f7f7;
}

.up-cart-checkout-page .woocommerce-notices-wrapper,
.up-cart-checkout-page .woocommerce-NoticeGroup {
	max-width: 1280px;
	margin: 0 auto 18px;
}

.up-checkout-back {
	display: inline-flex;
	margin-bottom: 13px;
	color: #555 !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

.up-checkout-back:hover {
	color: var(--up-red) !important;
}

.up-checkout-title {
	margin: 0 0 25px;
	color: var(--up-text);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 800;
	line-height: 1.1;
}

.up-checkout-form,
.up-checkout-form * {
	box-sizing: border-box;
}

.up-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 400px);
	align-items: start;
	gap: 26px;
}

.up-checkout-main {
	display: grid;
	min-width: 0;
	gap: 18px;
}

.up-checkout-section,
.test11-personal-data,
.up-checkout-summary {
	padding: 24px;
	border: 1px solid #ececec;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .035);
}

.up-checkout-section > h2,
.up-checkout-summary > h2 {
	display: flex;
	margin: 0 0 19px;
	align-items: center;
	gap: 10px;
	color: var(--up-text);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.25;
}

.up-checkout-section > h2 > span {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	place-items: center;
	border-radius: 50%;
	background: var(--up-red);
	color: #fff;
	font-size: 13px;
}

.up-checkout-contacts .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
}

.up-checkout-contacts .woocommerce-billing-fields__field-wrapper > .form-row {
	grid-column: auto !important;
	grid-row: auto !important;
}

.up-checkout-form .form-row {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.up-checkout-form .woocommerce-input-wrapper {
	display: block !important;
	width: 100% !important;
}

.up-checkout-form .form-row label,
.up-checkout-form legend {
	display: block;
	margin: 0 0 7px;
	color: #333;
	font-size: 12px;
	font-weight: 700;
}

.up-checkout-form input[type="text"],
.up-checkout-form input[type="tel"],
.up-checkout-form input[type="email"],
.up-checkout-form input[type="date"],
.up-checkout-form select,
.up-checkout-form textarea {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 11px 13px;
	border: 1px solid #dcdcdc;
	border-radius: 8px;
	background: #fff;
	color: #252525;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.35;
	outline: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.up-checkout-form textarea {
	min-height: 88px;
	resize: vertical;
}

.up-checkout-form input:focus,
.up-checkout-form select:focus,
.up-checkout-form textarea:focus {
	border-color: var(--up-red);
	box-shadow: 0 0 0 3px rgba(237, 28, 36, .1);
}

.up-segmented {
	display: grid;
	max-width: 430px;
	margin-bottom: 14px;
	padding: 4px;
	grid-template-columns: 1fr 1fr;
	border-radius: 10px;
	background: #efefef;
}

.up-segmented label {
	display: flex;
	min-height: 42px;
	margin: 0;
	align-items: center;
	justify-content: center;
	border-radius: 7px;
	color: #444;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
}

.up-segmented label.is-selected {
	background: var(--up-red);
	color: #fff;
	box-shadow: 0 2px 7px rgba(200, 16, 24, .18);
}

.up-segmented label.is-disabled {
	color: #9b9b9b;
	cursor: not-allowed;
}

.up-segmented input,
.up-choice-cards input,
.up-pickup-card > input,
.up-delivery-method-card > input,
.up-payment-cards > li > input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.up-fulfillment-panel {
	display: none;
}

.up-fulfillment-panel.is-active {
	display: block;
}

.up-delivery-method-card {
	display: flex;
	margin-bottom: 16px;
	padding: 15px;
	align-items: center;
	border: 1px solid var(--up-red);
	border-radius: 10px;
	background: #fff7f7;
	cursor: pointer;
}

.up-delivery-method-card span,
.up-choice-cards strong,
.up-choice-cards small {
	display: block;
}

.up-delivery-method-card strong {
	display: block;
	font-size: 14px;
}

.up-delivery-method-card small {
	display: block;
	margin-top: 3px;
	color: var(--up-muted);
	font-size: 12px;
}

.up-delivery-fields {
	display: grid;
	gap: 15px;
}

.up-address-types {
	display: flex;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	gap: 8px;
	border: 0;
}

.up-address-types legend {
	width: 100%;
}

.up-address-types label {
	position: relative;
	display: flex;
	min-height: 36px;
	margin: 0;
	padding: 7px 12px;
	align-items: center;
	gap: 7px;
	border: 1px solid #dedede;
	border-radius: 999px;
	background: #fff;
	font-size: 12px;
	cursor: pointer;
}

.up-address-types label:has(input:checked) {
	border-color: var(--up-red);
	background: #fff7f7;
	color: var(--up-red-dark);
}

.up-address-types input {
	accent-color: var(--up-red);
}

.up-address-details {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.up-pickup-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.up-pickup-card {
	position: relative;
	display: flex;
	min-height: 190px;
	margin: 0;
	padding: 16px;
	box-sizing: border-box;
	flex-direction: column;
	align-items: flex-start;
	border: 1px solid #e0e0e0;
	border-radius: 11px;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.up-pickup-card:hover,
.up-pickup-card.is-selected {
	border-color: var(--up-red);
	background: #fff8f8;
	box-shadow: 0 5px 16px rgba(237, 28, 36, .07);
}

.up-pickup-card__marker {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 16px;
	height: 16px;
	border: 2px solid #c9c9c9;
	border-radius: 50%;
}

.up-pickup-card.is-selected .up-pickup-card__marker {
	border: 5px solid var(--up-red);
}

.up-pickup-card > strong {
	max-width: calc(100% - 22px);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

.up-pickup-card > small {
	margin: 9px 0;
	color: var(--up-muted);
	font-size: 11px;
	line-height: 1.45;
}

.up-pickup-card > a {
	margin-bottom: 12px;
	color: #333;
	font-size: 12px;
	font-weight: 700;
}

.up-pickup-card > b {
	margin-top: auto;
	color: var(--up-red);
	font-size: 12px;
}

.up-choice-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.up-choice-cards label {
	display: block;
	min-height: 84px;
	margin: 0;
	padding: 15px;
	border: 1px solid #dedede;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
}

.up-choice-cards label.is-selected {
	border-color: var(--up-red);
	background: #fff7f7;
	box-shadow: 0 0 0 1px rgba(237, 28, 36, .08);
}

.up-choice-cards strong {
	color: #2a2a2a;
	font-size: 14px;
	font-weight: 800;
}

.up-choice-cards small {
	margin-top: 5px;
	color: var(--up-muted);
	font-size: 11px;
	line-height: 1.35;
}

.up-scheduled-fields {
	display: none;
	margin-top: 13px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.up-scheduled-fields.is-active {
	display: grid;
}

.up-checkout-form #payment,
.up-checkout-form .woocommerce-checkout-payment {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.up-payment-cards {
	display: grid !important;
	margin: 0 !important;
	padding: 0 !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	list-style: none !important;
}

.up-payment-cards .wc_payment_method {
	position: relative;
	min-height: 128px;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #dedede !important;
	border-radius: 10px;
	background: #fff !important;
	overflow: hidden;
}

.up-payment-cards .wc_payment_method.is-selected {
	border-color: var(--up-red) !important;
	background: #fff7f7 !important;
	box-shadow: 0 0 0 1px rgba(237, 28, 36, .08);
}

.up-payment-cards .wc_payment_method > label {
	display: flex !important;
	min-height: 128px;
	margin: 0 !important;
	padding: 15px !important;
	box-sizing: border-box;
	flex-direction: column;
	align-items: flex-start !important;
	cursor: pointer;
}

.up-payment-card__icon {
	display: block;
	width: 34px;
	height: 25px;
	margin-bottom: 12px;
	border: 2px solid var(--up-red);
	border-radius: 5px;
	background: linear-gradient(to bottom, transparent 7px, var(--up-red) 7px, var(--up-red) 11px, transparent 11px);
}

.up-payment-cards label strong {
	color: #292929;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
}

.up-payment-cards label small {
	display: block;
	margin-top: 6px;
	color: var(--up-muted);
	font-size: 11px;
	line-height: 1.35;
}

.up-payment-cards .payment_box {
	display: none !important;
}

.up-receipt-email-note {
	display: none;
	margin: 10px 0 0;
	color: var(--up-muted);
	font-size: 12px;
}

.test11-personal-data {
	margin: 0 !important;
}

.test11-personal-data .form-row,
.test11-personal-data label {
	margin: 0 !important;
}

.test11-personal-data label {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}

.test11-personal-data input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	flex: 0 0 20px;
	accent-color: var(--up-red);
}

.test11-personal-data .woocommerce-terms-and-conditions-checkbox-text {
	font-size: 12px;
	line-height: 1.45;
}

.up-checkout-summary {
	position: sticky;
	top: 18px;
	min-width: 0;
}

.up-review-order__items {
	display: grid;
	gap: 12px;
}

.up-review-order-item {
	display: grid;
	padding-bottom: 12px;
	grid-template-columns: 58px minmax(0, 1fr) auto;
	gap: 10px;
	border-bottom: 1px solid #ececec;
}

.up-review-order-item__image img {
	display: block;
	width: 58px;
	height: 58px;
	border-radius: 8px;
	object-fit: cover;
}

.up-review-order-item__info {
	min-width: 0;
}

.up-review-order-item__info > strong {
	display: block;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.3;
}

.up-review-order-item__info small,
.up-review-order-item__variation,
.up-review-order-item__variation dl,
.up-review-order-item__variation p {
	margin: 3px 0 0;
	color: var(--up-muted);
	font-size: 11px;
	line-height: 1.3;
}

.up-review-order-item__variation dt,
.up-review-order-item__variation dd {
	display: inline;
	margin: 0;
}

.up-review-order-item > b {
	font-size: 12px;
	white-space: nowrap;
}

.up-review-order__totals {
	display: grid;
	margin-top: 14px;
	gap: 9px;
}

.up-review-order__totals > div {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 15px;
	color: #555;
	font-size: 12px;
}

.up-review-order__totals > div strong {
	color: #303030;
	font-weight: 700;
	text-align: right;
}

.up-review-order__totals .up-review-order__total {
	margin-top: 4px;
	padding-top: 13px;
	border-top: 1px solid var(--up-line);
	color: var(--up-text);
	font-size: 18px;
	font-weight: 800;
}

.up-review-order__total strong,
.up-review-order__total .amount {
	font-size: 20px;
	font-weight: 800;
}

.up-checkout-details-summary {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--up-line);
}

.up-checkout-details-summary h3 {
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 800;
}

.up-checkout-details-summary dl {
	display: grid;
	margin: 0;
	gap: 7px;
}

.up-checkout-details-summary dl > div {
	display: grid;
	grid-template-columns: 105px minmax(0, 1fr);
	gap: 8px;
	font-size: 11px;
	line-height: 1.35;
}

.up-checkout-details-summary dt {
	color: var(--up-muted);
}

.up-checkout-details-summary dd {
	margin: 0;
	color: #333;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.up-place-order {
	margin-top: 18px !important;
}

.up-place-order #place_order {
	float: none !important;
	width: 100% !important;
	min-height: 52px;
	margin: 0 !important;
	padding: 12px 15px !important;
	border: 1px solid var(--up-red) !important;
	border-radius: 9px !important;
	background: var(--up-red) !important;
	color: #fff !important;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
}

.up-place-order #place_order:disabled,
.up-place-order #place_order[aria-disabled="true"] {
	border-color: transparent !important;
	background: #bdbdbd !important;
	color: #fff !important;
	opacity: 1 !important;
	cursor: not-allowed !important;
}

.up-place-order__delivery-note {
	margin: 9px 0 0;
	color: #6c6c6c;
	font-size: 11px;
	line-height: 1.35;
	text-align: center;
}

.up-has-error input,
.up-has-error select,
.up-has-error textarea,
.up-has-error.up-segmented,
.up-has-error.up-address-types,
.up-has-error.up-choice-cards,
.up-has-error.up-pickup-grid,
.up-has-error.up-payment-cards,
.up-has-error.test11-personal-data {
	border-color: var(--up-red) !important;
}

.up-field-error {
	display: block;
	width: 100%;
	margin-top: 6px;
	color: var(--up-red-dark);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
}

/* Пустая корзина */
.up-cart-empty-page {
	display: flex;
	max-width: 560px;
	min-height: 430px;
	margin: 45px auto 70px;
	padding: 45px 25px;
	box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.up-cart-empty-page h1 {
	margin: 0;
	font-size: 30px;
	font-weight: 800;
}

.up-cart-empty-page p {
	margin: 8px 0 22px;
	color: var(--up-muted);
	font-size: 14px;
}

.up-cart-empty-page .button {
	min-height: 48px;
	padding: 13px 25px;
	border: 0;
	border-radius: 8px;
	background: var(--up-red);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
}

/* Акции */
.up-promotions-page {
	padding: 34px 0 70px;
}

.up-offers__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.up-offers__grid .up-offer-card {
	width: 100%;
	min-width: 0;
}

/* Вариативные товары: одинаковый резерв под плашки и одна цена. */
.up-product-card__variations {
	min-height: 34px !important;
	margin: 0 0 10px !important;
	align-content: flex-start;
}

.up-product-card__variations.is-placeholder {
	visibility: hidden;
}

.up-variation-chip {
	border: 1px solid #d8d8d8 !important;
	background: #fff !important;
	color: #333 !important;
}

.up-variation-chip.is-selected,
.up-variation-chip.is-selected:hover,
.up-variation-chip.is-selected:focus {
	border-color: var(--up-red) !important;
	background: var(--up-red) !important;
	color: #fff !important;
}

.up-variation-chip.is-unavailable,
.up-variation-chip:disabled {
	border-color: #e6e6e6 !important;
	background: #f3f3f3 !important;
	color: #999 !important;
	opacity: .65;
	cursor: not-allowed;
}

.up-product-card .up-variation-add-button.is-disabled,
.up-product-modal .up-product-modal__add.is-disabled,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed {
	border: 0 !important;
	background: #bdbdbd !important;
	color: #fff !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: not-allowed !important;
}

.up-product-modal__variations {
	margin: 16px 0 20px !important;
}

.up-product-modal__variations .up-product-card__variations {
	min-height: 0 !important;
	margin: 0 !important;
}

.up-product-modal__add:not(.is-disabled),
.single-product .single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed) {
	border-color: var(--up-red) !important;
	background: var(--up-red) !important;
	color: #fff !important;
}

.single-product .woocommerce-variation-price {
	display: none !important;
}

/* Сортировка */
.up-archive-toolbar .woocommerce-ordering,
.up-archive-toolbar .woocommerce-ordering select {
	width: 250px !important;
	max-width: 100%;
}

/* Экран принятого заказа */
.up-thankyou {
	padding: 42px 16px 70px;
	background: #f7f7f7;
}

.up-thankyou__card {
	max-width: 760px;
	margin: 0 auto;
	padding: 34px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .07);
}

.up-thankyou__check {
	display: grid;
	width: 54px;
	height: 54px;
	margin-bottom: 16px;
	place-items: center;
	border-radius: 50%;
	background: var(--up-red);
	color: #fff;
	font-size: 28px;
	font-weight: 800;
}

.up-thankyou h1 {
	margin: 0 0 9px;
	font-size: 30px;
	font-weight: 800;
}

.up-thankyou__card > p {
	margin: 0 0 24px;
	color: var(--up-muted);
	font-size: 14px;
}

.up-thankyou__items {
	display: grid;
	gap: 10px;
}

.up-thankyou-item {
	display: grid;
	padding: 10px 0;
	grid-template-columns: 54px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid var(--up-line);
}

.up-thankyou-item img {
	width: 54px;
	height: 54px;
	border-radius: 8px;
	object-fit: cover;
}

.up-thankyou-item span > strong,
.up-thankyou-item span > small {
	display: block;
}

.up-thankyou-item span > strong {
	font-size: 13px;
}

.up-thankyou-item span > small,
.up-thankyou-item .wc-item-meta {
	margin: 3px 0 0;
	color: var(--up-muted);
	font-size: 11px;
}

.up-thankyou__details {
	display: grid;
	margin: 22px 0;
	gap: 8px;
}

.up-thankyou__details > div {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 12px;
	font-size: 13px;
}

.up-thankyou__details dt {
	color: var(--up-muted);
}

.up-thankyou__details dd {
	margin: 0;
	font-weight: 700;
}

.up-thankyou__details .up-thankyou__total {
	margin-top: 6px;
	padding-top: 12px;
	border-top: 1px solid var(--up-line);
	font-size: 18px;
}

.up-thankyou__card > .button {
	min-height: 48px;
	padding: 13px 22px;
	border-radius: 8px;
	background: var(--up-red);
	color: #fff;
	font-weight: 800;
}

@media (max-width: 1024px) {
	.up-checkout-layout {
		grid-template-columns: minmax(0, 1fr) 330px;
		gap: 18px;
	}

	.up-pickup-grid,
	.up-payment-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.up-offers__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.up-header-cart,
	.woocommerce-cart .up-header-cart,
	.woocommerce-checkout .up-header-cart {
		display: flex !important;
	}

	.up-cart-drawer__panel {
		width: min(430px, 94vw);
	}

	.up-cart-drawer__header {
		min-height: 62px;
		padding: 13px 16px;
	}

	.up-cart-drawer__header h2 {
		font-size: 20px;
	}


	.up-cart-drawer__notice {
		margin: 8px 16px 10px;
		font-size: 14px;
	}

	.up-cart-drawer__items {
		padding: 0 16px;
	}

	.up-cart-drawer__footer {
		padding: 12px 16px calc(13px + env(safe-area-inset-bottom));
	}

	.up-cart-checkout-page {
		padding: 22px 0 95px;
	}

	.up-cart-checkout-page > .container {
		padding-right: 14px;
		padding-left: 14px;
	}

	.up-checkout-title {
		margin-bottom: 18px;
		font-size: 28px;
	}

	.up-checkout-layout {
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	.up-checkout-main,
	.up-checkout-summary {
		width: 100%;
	}

	.up-checkout-summary {
		position: static;
		order: 2;
	}

	.up-checkout-section,
	.test11-personal-data,
	.up-checkout-summary {
		padding: 18px 15px;
		border-radius: 11px;
	}

	.up-checkout-section > h2,
	.up-checkout-summary > h2 {
		margin-bottom: 15px;
		font-size: 17px;
	}

	.up-checkout-contacts .woocommerce-billing-fields__field-wrapper,
	.up-address-details,
	.up-scheduled-fields {
		grid-template-columns: 1fr;
	}

	.up-pickup-grid,
	.up-payment-cards,
	.up-choice-cards,
	.up-offers__grid {
		grid-template-columns: 1fr;
	}

	.up-pickup-card {
		min-height: 166px;
	}

	.up-payment-cards .wc_payment_method,
	.up-payment-cards .wc_payment_method > label {
		min-height: 112px;
	}

	.up-payment-cards .wc_payment_method > label {
		padding: 13px !important;
	}

	.up-product-card__variations {
		min-height: 32px !important;
	}

	.up-product-card__body h3,
	.up-product-card__body p,
	.up-product-card__price,
	.up-product-card__bottom {
		font-size: 13px;
	}

	.up-product-card__body p,
	.up-pickup-card > small,
	.up-choice-cards small,
	.up-payment-cards label small,
	.up-checkout-details-summary dl > div,
	.up-place-order__delivery-note {
		font-size: 11px;
	}

	#fancybox-wrap {
		position: fixed !important;
		top: 12px !important;
		left: 12px !important;
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		max-height: calc(100vh - 24px) !important;
		max-height: calc(100dvh - 24px) !important;
		box-sizing: border-box !important;
	}

	#fancybox-content {
		width: 100% !important;
		max-width: 100% !important;
		max-height: calc(100vh - 24px) !important;
		max-height: calc(100dvh - 24px) !important;
		box-sizing: border-box !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	#up-question-modal,
	#fancybox-content #up-question-modal {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		max-height: none !important;
		padding: 22px 16px !important;
		box-sizing: border-box !important;
		overflow: visible !important;
	}

	#up-question-modal .skidka-popup {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.up-archive-toolbar .woocommerce-ordering,
	.up-archive-toolbar .woocommerce-ordering select {
		width: 100% !important;
	}

	.up-thankyou {
		padding: 22px 12px 90px;
	}

	.up-thankyou__card {
		padding: 24px 16px;
	}

	.up-thankyou h1 {
		font-size: 24px;
	}

	.up-thankyou__details > div {
		grid-template-columns: 1fr;
		gap: 2px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.up-payment-cards .wc_payment_method:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@media (max-width: 360px) {
	.up-cart-drawer__panel {
		width: 100vw;
	}

	.up-cart-drawer-item {
		grid-template-columns: 62px minmax(0, 1fr) 26px;
		gap: 9px;
	}

	.up-cart-drawer-item__image img {
		width: 62px;
		height: 62px;
	}

	.up-checkout-section,
	.test11-personal-data,
	.up-checkout-summary {
		padding-right: 12px;
		padding-left: 12px;
	}
}

/* Дополнительные правки по финальному ТЗ 04.09.2026. */

/* Компактная закреплённая строка шапки. */
:root {
	--up-sticky-header-height: 66px;
}

.up-sticky-header {
	position: fixed;
	z-index: 15000;
	top: 0;
	right: 0;
	left: 0;
	height: var(--up-sticky-header-height);
	border-bottom: 1px solid #e7e7e7;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 5px 18px rgba(0, 0, 0, .08);
	transform: translateY(-110%);
	transition: transform .2s ease;
	pointer-events: none;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.up-sticky-header.is-visible {
	transform: translateY(0);
	pointer-events: auto;
}

.up-sticky-header__inner {
	display: grid;
	height: 100%;
	grid-template-columns: auto minmax(180px, 1fr) auto auto;
	align-items: center;
	gap: 24px;
}

.up-sticky-header__logo img {
	display: block;
	width: 76px;
	height: auto;
}

.up-sticky-header__phone,
.up-sticky-header__login {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #222 !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
}

.up-sticky-header__phone svg,
.up-sticky-header__login svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: var(--up-red);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .up-sticky-header .up-header-cart {
	position: static !important;
	display: flex !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}

.unipizza-page .up-category-sticky {
	top: var(--up-sticky-header-height) !important;
}

.unipizza-page .up-product-category {
	scroll-margin-top: calc(var(--up-sticky-header-height) + 54px) !important;
}

.up-cart-panel,
.up-archive-cart .up-cart-panel,
.single-product .up-single-cart-panel .up-cart-panel,
.up-checkout-summary {
	top: calc(var(--up-sticky-header-height) + 16px);
}

/* Боковые корзины и исходная ширина товарных областей. */
@media (min-width: 1200px) {
	body.home .unipizza-page .up-catalog-grid,
	body.page-template-index_home .unipizza-page .up-catalog-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 3fr) minmax(270px, 1fr) !important;
		gap: 28px !important;
	}

	body.home .unipizza-page .up-cart-column,
	body.page-template-index_home .unipizza-page .up-cart-column {
		display: block !important;
	}
}

@media (min-width: 992px) {
	.woocommerce-shop .up-archive-layout,
	.tax-product_cat .up-archive-layout,
	.tax-product_tag .up-archive-layout,
	.single-product .up-single-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 28px !important;
	}

	.up-archive-cart,
	.single-product .up-single-cart-panel {
		display: block !important;
	}
}

.up-product-card__body p {
	min-height: 56px;
	font-size: 12.5px;
	line-height: 1.5;
}

.up-product-card__body {
	min-height: 205px;
}

/* Промокоды WooCommerce и финансовые блоки. */
.up-coupon {
	padding: 14px 0;

}

.up-coupon__title {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
}

.up-coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 7px;
}

.up-coupon__form input {
	width: 100%;
	min-width: 0;
	height: 40px;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid #dcdcdc;
	border-radius: 7px;
	background: #fff;
	font-size: 12px;
}

.up-coupon__form button {
	height: 40px;
	margin: 0;
	padding: 0 11px;
	border: 0;
	border-radius: 7px;
	background: var(--up-red);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
}

.up-coupon__form button:disabled {
	opacity: .55;
	cursor: wait;
}

.up-coupon__feedback {
	min-height: 0;
	margin-top: 6px;
	color: #237633;
	font-size: 11px;
	line-height: 1.35;
}

.up-coupon__feedback:empty {
	display: none;
}

.up-coupon__feedback.is-error {
	color: var(--up-red-dark);
}

.up-coupon__applied {
	display: grid;
	margin-top: 9px;
	gap: 6px;
}

.up-coupon__applied > div,
.up-cart-totals > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.up-coupon__applied span,
.up-coupon__applied small {
	display: inline-flex;
	gap: 5px;
	font-size: 11px;
}

.up-coupon__applied button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--up-red);
	font-size: 11px;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.up-cart-totals {
	display: grid;
	padding: 13px 0;
	gap: 7px;
	border-bottom: 1px solid var(--up-line);
}

.up-cart-totals > div {
	padding: 0;
	font-size: 12px;
}

.up-cart-totals .up-cart-total {
	padding-top: 8px;
	border-top: 1px solid var(--up-line);
	font-size: 15px;
	font-weight: 800;
}

.up-cart-totals .up-cart-total strong {
	font-size: 18px;
}

.up-cart-totals__discount strong,
.up-review-order__discount strong {
	color: #237633 !important;
}

.up-cart-panel__body > .up-delivery-threshold {
	margin-top: 12px;
}

.up-cart-drawer__content > .up-coupon {
	margin: 0 22px;
}

.up-cart-drawer__footer .up-cart-totals {
	padding-top: 0;
}

.up-cart-drawer__footer .up-delivery-threshold {
	margin-top: 12px;
}

.test11-cart-toast--cart {
	cursor: default !important;
}

/* Динамический адрес и разные иконки способов оплаты. */
.up-address-detail-field[hidden],
[data-address-label][hidden],
.up-delivery-threshold--minimum[hidden],
.up-place-order__delivery-note[hidden] {
	display: none !important;
}

.up-payment-card__icon {
	display: block;
	width: 34px;
	height: 25px;
	margin-bottom: 12px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.up-payment-card__icon svg {
	display: block;
	width: 34px;
	height: 25px;
	fill: none;
	stroke: var(--up-red);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.up-place-order__delivery-note {
	margin: 0 0 10px;
	padding: 10px 11px;
	border-radius: 8px;
	background: #fff4dc;
	color: #5c4817;
	font-weight: 600;
	text-align: left;
}

@media (max-width: 1199px) {
	body .up-sticky-header .up-sticky-header__cart {
		display: none !important;
	}
}

@media (max-width: 767px) {
	:root {
		--up-sticky-header-height: 62px;
	}

	.up-sticky-header__inner {
		grid-template-columns: 60px minmax(0, 1fr) auto;
		gap: 8px;
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	.up-sticky-header__logo img {
		width: 58px;
	}

	.up-sticky-header__phone,
	.up-sticky-header__login {
		gap: 5px;
		font-size: 14px;
		white-space: nowrap;
	}

	.up-sticky-header__phone {
		justify-self: center;
	}

	.up-sticky-header__phone svg,
	.up-sticky-header__login svg {
		width: 18px;
		height: 18px;
	}

	.up-header__main-inner {
		grid-template-columns: 64px minmax(0, 1fr) auto !important;
		gap: 10px 7px !important;
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	.up-logo img {
		width: 62px !important;
	}

	.up-header-info--phone > div > a,
	.up-login span,
	.up-header-info--location strong,
	.up-header-info--hours strong,
	.up-mobile-menu-toggle b {
		font-size: 14px !important;
	}

	.up-header-info--location span,
	.up-header-info--hours span {
		font-size: 12px !important;
	}

	.up-login,
	.up-login span {
		display: inline-flex !important;
	}

	.up-login {
		width: auto !important;
		min-width: 62px !important;
		padding: 0 3px !important;
	}

	.up-product-card__body {
		min-height: 222px;
	}

	.up-product-card__body h3,
	.up-product-card__price,
	.up-product-card__bottom {
		font-size: 16px !important;
	}

	.up-product-card__body p {
		min-height: 63px;
		font-size: 14px !important;
		line-height: 1.5;
	}

	.up-product-card__variations .up-variation-chip,
	.up-category-sticky .up-category-tabs a {
		font-size: 14px !important;
	}

	.up-cart-drawer-item__content > strong,
	.up-cart-drawer__checkout,
	.up-cart-drawer__empty span,
	.up-cart-drawer__empty a {
		font-size: 16px;
	}

	.up-cart-drawer-item__variation,
	.up-cart-drawer-item__variation dl,
	.up-cart-drawer-item__variation p,
	.up-cart-drawer-item__price,
	.up-delivery-threshold,
	.up-coupon__title,
	.up-coupon__form input,
	.up-coupon__form button,
	.up-coupon__feedback,
	.up-coupon__applied span,
	.up-coupon__applied small,
	.up-coupon__applied button,
	.up-cart-totals > div {
		font-size: 14px;
	}

	.up-cart-drawer__content > .up-coupon {
		margin-right: 16px;
		margin-left: 16px;
	}

	.up-checkout-form .form-row label,
	.up-checkout-form legend,
	.up-segmented label,
	.up-choice-cards small,
	.up-payment-cards label small,
	.up-pickup-card > small,
	.up-pickup-card > a,
	.up-receipt-email-note,
	.test11-personal-data .woocommerce-terms-and-conditions-checkbox-text,
	.up-review-order-item__info small,
	.up-review-order-item__variation,
	.up-review-order-item__variation dl,
	.up-review-order-item__variation p,
	.up-review-order-item > b,
	.up-review-order__totals > div,
	.up-checkout-details-summary dl > div,
	.up-place-order__delivery-note {
		font-size: 14px !important;
	}

	.up-checkout-form input[type="text"],
	.up-checkout-form input[type="tel"],
	.up-checkout-form input[type="email"],
	.up-checkout-form input[type="date"],
	.up-checkout-form select,
	.up-checkout-form textarea,
	.up-pickup-card > strong,
	.up-choice-cards strong,
	.up-payment-cards label strong,
	.up-review-order-item__info > strong,
	.up-checkout-details-summary h3 {
		font-size: 16px !important;
	}

	.up-checkout-section > h2,
	.up-checkout-summary > h2 {
		font-size: 18px;
	}

	.up-footer h2 {
		font-size: 17px !important;
	}

	.up-footer a,
	.up-footer li,
	.up-footer__contacts strong,
	.up-footer__contacts small,
	.up-footer__bottom,
	.up-footer__legal a {
		font-size: 14px !important;
		line-height: 1.5;
	}
}

@media (max-width: 360px) {
	.up-sticky-header__inner {
		grid-template-columns: 54px minmax(0, 1fr) auto;
		gap: 5px;
		padding-right: 9px !important;
		padding-left: 9px !important;
	}

	.up-sticky-header__logo img {
		width: 52px;
	}

	.up-sticky-header__phone,
	.up-sticky-header__login {
		font-size: 14px;
	}

	.up-sticky-header__phone svg,
	.up-sticky-header__login svg {
		width: 16px;
		height: 16px;
	}

	.up-header__main-inner {
		grid-template-columns: 58px minmax(0, 1fr) auto !important;
		gap: 9px 5px !important;
	}

	.up-logo img {
		width: 56px !important;
	}
}
/* ==================================================
   SIDEBAR CART — FINAL DESKTOP FIX
================================================== */
/* Мобильная закреплённая шапка: логотип, город, график и главное меню. */
@media (max-width: 767px) {
	:root { --up-sticky-header-height: 96px; }
	.up-sticky-header__inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto !important;
		grid-template-rows: 47px 42px !important;
		gap: 0 8px !important;
		padding: 4px 12px !important;
	}
	.up-sticky-header__logo {
		grid-column: 1 / -1;
		grid-row: 1;
		justify-self: center;
	}
	.up-sticky-header__logo img { width: 78px !important; }
	.up-sticky-header__location,
	.up-sticky-header__hours {
		display: flex;
		align-items: center;
		gap: 6px;
		min-width: 0;
		color: #222;
	}
	.up-sticky-header__location { grid-column: 1; grid-row: 2; }
	.up-sticky-header__hours { grid-column: 2; grid-row: 2; }
	.up-sticky-header__location svg {
		width: 17px;
		height: 17px;
		flex: 0 0 17px;
		fill: none;
		stroke: var(--up-red);
		stroke-width: 2;
	}
	.up-sticky-header__hours i {
		width: 9px;
		height: 9px;
		flex: 0 0 9px;
		border-radius: 50%;
		background: #39b54a;
		box-shadow: 0 0 0 3px rgba(57,181,74,.13);
	}
	.up-sticky-header__location strong,
	.up-sticky-header__hours strong,
	.up-sticky-header__location span,
	.up-sticky-header__hours span { display: block; white-space: nowrap; }
	.up-sticky-header__location strong,
	.up-sticky-header__hours strong { font-size: 11px; line-height: 1.1; }
	.up-sticky-header__location span,
	.up-sticky-header__hours span { margin-top: 2px; color: #777; font-size: 8px; line-height: 1.1; }
	.up-sticky-header__menu {
		grid-column: 3;
		grid-row: 2;
		display: block !important;
		width: 28px;
		min-height: 30px;
		margin: 0 !important;
		padding: 4px 0 !important;
		border: 0;
		background: transparent;
	}
	.up-sticky-header__menu span {
		position: static !important;
		display: block !important;
		width: 24px !important;
		height: 2px !important;
		margin: 4px auto !important;
		transform: none !important;
		background: #ed1c24 !important;
	}
	.up-sticky-header__menu b,
	.up-sticky-header__phone,
	.up-sticky-header__login,
	body .up-sticky-header .up-sticky-header__cart { display: none !important; }
}

@media (min-width: 992px) {

	/* Вся боковая корзина должна помещаться в видимую область */
	.up-cart-panel,
	.up-archive-cart .up-cart-panel,
	.single-product .up-single-cart-panel .up-cart-panel {
		position: sticky !important;
		top: calc(var(--up-sticky-header-height, 66px) + 12px) !important;

		display: flex !important;
		flex-direction: column !important;

		max-height: calc(100vh - var(--up-sticky-header-height, 66px) - 24px) !important;

		overflow: hidden !important;
	}

	/* Тело корзины */
	.up-cart-panel__body {
		display: flex !important;
		min-height: 0 !important;
		flex: 1 1 auto !important;
		flex-direction: column !important;

		padding-bottom: 12px !important;

		overflow: hidden !important;
	}

	/* Прокручиваются только товары */
	.up-cart-panel .up-cart-items {
		min-height: 0 !important;
		max-height: 300px !important;
		flex: 0 1 300px !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	/* Немного компактнее сами позиции */
	.up-cart-panel .up-cart-item {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	/* Промокод и нижние блоки не должны сжиматься */
	.up-cart-panel .up-coupon,
	.up-cart-panel .up-cart-totals,
	.up-cart-panel .up-delivery-threshold,
	.up-cart-panel .up-cart-checkout {
		flex: 0 0 auto !important;
	}

	/* На странице товара отменяем старое ограничение */
	.single-product .up-single-cart-panel .up-cart-panel {
		max-height: calc(100vh - var(--up-sticky-header-height, 66px) - 24px) !important;
	}

	.single-product .up-single-cart-panel .up-cart-items {
		max-height: 300px !important;
	}
}
/* ==================================================
   CART TOTALS — CLEAN DIVIDERS
================================================== */

.up-cart-totals {
	border: 0 !important;
}

.up-cart-totals .up-cart-total {
	padding-top: 0 !important;
	border-top: 0 !important;
}

.up-cart-drawer__footer {
	border-top: 0 !important;
}

.up-cart-drawer__footer .up-cart-totals {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
/* ==================================================
   DRAWER CART — FINAL UI
   qty + remove icons + close button
================================================== */

/* -----------------------------------------------
   КОЛИЧЕСТВО ТОВАРА
------------------------------------------------ */

.up-cart-drawer-item__qty {
	display: grid !important;
	width: 100px !important;
	height: 30px !important;
	margin-top: 8px !important;
	grid-template-columns: 30px 40px 30px !important;
	gap: 0 !important;

	border: 1px solid #dedede !important;
	border-radius: 6px !important;
	background: #fff !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.up-cart-drawer-item__qty button,
.up-cart-drawer-item__qty input {
	display: block !important;
	width: 100% !important;
	height: 28px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;

	font-family: inherit !important;
	font-size: 14px !important;
	line-height: 28px !important;
	text-align: center !important;
}

.up-cart-drawer-item__qty button {
	color: #ed1c24 !important;
	font-weight: 600 !important;
	cursor: pointer !important;
}

.up-cart-drawer-item__qty button:hover,
.up-cart-drawer-item__qty button:focus {
	background: #fff7f7 !important;
	color: #c81018 !important;
}

.up-cart-drawer-item__qty input {
	border-right: 1px solid #ededed !important;
	border-left: 1px solid #ededed !important;

	color: #333 !important;
	font-weight: 400 !important;

	appearance: textfield !important;
	-moz-appearance: textfield !important;
}

.up-cart-drawer-item__qty input::-webkit-outer-spin-button,
.up-cart-drawer-item__qty input::-webkit-inner-spin-button {
	margin: 0 !important;
	-webkit-appearance: none !important;
}


/* -----------------------------------------------
   КРЕСТИК УДАЛЕНИЯ ТОВАРА
   такой же, как в боковой корзине
------------------------------------------------ */

.up-cart-drawer-item__remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 26px !important;
	height: 26px !important;
	min-width: 26px !important;
	margin: -4px -4px 0 0 !important;
	padding: 0 !important;

	border: 1px solid rgba(237, 28, 36, .2) !important;
	border-radius: 50% !important;

	background: #fff1f1 !important;
	color: #ed1c24 !important;

	font-family: Arial, sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1 !important;

	box-shadow: none !important;
	cursor: pointer !important;
}

.up-cart-drawer-item__remove:hover,
.up-cart-drawer-item__remove:focus {
	border-color: #ed1c24 !important;
	background: #ed1c24 !important;
	color: #fff !important;
}


/* -----------------------------------------------
   КРЕСТИК ЗАКРЫТИЯ DRAWER
   как у всплывающей карточки товара
------------------------------------------------ */

.up-cart-drawer__header [data-up-cart-close] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 50% !important;

	background: #fff !important;
	color: #333 !important;

	font-family: Arial, sans-serif !important;
	font-size: 29px !important;
	font-weight: 400 !important;
	line-height: 1 !important;

	box-shadow: 0 5px 20px rgba(0, 0, 0, .16) !important;

	cursor: pointer !important;

	transition:
		transform .2s ease,
		background-color .2s ease,
		color .2s ease !important;
}

.up-cart-drawer__header [data-up-cart-close]:hover {
	background: #ed1c24 !important;
	color: #fff !important;
	transform: rotate(90deg) !important;
}

/* -----------------------------------------------
   МОБИЛЬНАЯ ВЕРСИЯ
------------------------------------------------ */

@media (max-width: 767px) {

	.up-cart-drawer__header [data-up-cart-close] {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		font-size: 27px !important;
	}

	.up-cart-drawer-item__qty {
		width: 100px !important;
	}
}
/* ==================================================
   CHECKOUT SUMMARY — STABLE FINAL
================================================== */

/*
 * ВАЖНО:
 * правую карточку целиком по высоте больше НЕ режем.
 * Прокручивается только список товаров.
 */
.up-checkout-summary {
	position: sticky;
	top: calc(var(--up-sticky-header-height, 66px) + 16px);
	min-width: 0;
	max-height: none !important;
	height: auto !important;
	overflow: visible !important;
}

.up-checkout-summary #order_review,
.up-checkout-summary .up-review-order {
	display: block !important;
	max-height: none !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

/* ==================================================
   ТОВАРЫ — ПРИМЕРНО 3 ПОЗИЦИИ
================================================== */

.up-review-order__items {
	display: grid;
	max-height: 240px !important;
	min-height: 0 !important;
	padding-right: 5px;
	gap: 12px;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #cfcfcf transparent;
}

.up-review-order__items::-webkit-scrollbar {
	width: 5px;
}

.up-review-order__items::-webkit-scrollbar-track {
	background: transparent;
}

.up-review-order__items::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: #cfcfcf;
}

/* ==================================================
   ПРОМОКОД
================================================== */

.up-review-order > .up-coupon {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 12px 0 0 !important;
	padding: 12px 0 !important;
	box-sizing: border-box !important;
	border: 0 !important;
	overflow: visible !important;
}

.up-review-order > .up-coupon .up-coupon__form {
	display: grid !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 7px !important;
}

.up-review-order > .up-coupon .up-coupon__form input {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.up-review-order > .up-coupon .up-coupon__form button {
	flex: 0 0 auto;
	white-space: nowrap;
}

/* ==================================================
   ИТОГО + КОЛИЧЕСТВО
================================================== */

.up-review-order__totals {
	display: grid !important;
	width: 100% !important;
	margin-top: 8px !important;
	gap: 6px !important;
	overflow: visible !important;
}

.up-review-order__totals .up-review-order__total {
	display: flex !important;
	margin: 0 !important;
	padding: 10px 0 12px !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	border-top: 0 !important;
	border-bottom: 1px solid var(--up-line) !important;
	color: var(--up-text);
}

.up-review-order__total-label {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
}

.up-review-order__total-label > span {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
}

.up-review-order__total-label > small {
	display: block !important;
	color: var(--up-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

.up-review-order__total > strong,
.up-review-order__total > strong .amount {
	flex: 0 0 auto;
	font-size: 20px;
	font-weight: 800;
	white-space: nowrap;
}

/* ==================================================
   СООБЩЕНИЕ О ДОСТАВКЕ
================================================== */

.up-place-order__delivery-note {
	display: block;
	width: 100%;
	margin: 12px 0 10px !important;
	padding: 10px 11px !important;
	box-sizing: border-box;
	border-radius: 8px;
	background: #fff4dc !important;
	color: #5c4817 !important;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
}

.up-place-order__delivery-note[hidden] {
	display: none !important;
}

.up-place-order__delivery-note.is-free {
	background: #eaf8ed !important;
	color: #237633 !important;
}

/* ==================================================
   КНОПКА + СОГЛАСИЕ
================================================== */

.up-place-order {
	display: block !important;
	width: 100% !important;
	margin-top: 0 !important;
	overflow: visible !important;
}

.up-place-order #place_order {
	display: flex !important;
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 12px 15px !important;
	box-sizing: border-box !important;
	align-items: center;
	justify-content: center;
	float: none !important;
	border: 1px solid var(--up-red) !important;
	border-radius: 9px !important;
	background: var(--up-red) !important;
	color: #fff !important;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
}

.up-place-order #place_order:disabled,
.up-place-order #place_order[aria-disabled="true"] {
	border-color: transparent !important;
	background: #bdbdbd !important;
	color: #fff !important;
	opacity: 1 !important;
	cursor: not-allowed !important;
}

.up-place-order .test11-personal-data {
	display: block !important;
	width: 100% !important;
	margin: 12px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.up-place-order .test11-personal-data .form-row {
	margin: 0 !important;
	padding: 0 !important;
}

.up-place-order .test11-personal-data label {
	display: flex !important;
	margin: 0 !important;
	align-items: flex-start;
	gap: 9px;
	color: #555;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	cursor: pointer;
}

.up-place-order .test11-personal-data input[type="checkbox"] {
	width: 19px !important;
	height: 19px !important;
	margin: 1px 0 0 !important;
	flex: 0 0 19px;
	accent-color: var(--up-red);
}

/* ==================================================
   MOBILE PICKUP — 3 РЕСТОРАНА + СТРЕЛКИ
================================================== */

.up-pickup-mobile-nav {
	display: none;
}

@media (max-width: 767px) {
	.up-checkout-summary {
		position: static !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.up-review-order__items {
		max-height: 270px !important;
	}

	.up-review-order__total-label > small {
		font-size: 14px !important;
	}

	.up-place-order__delivery-note {
		font-size: 14px !important;
	}

	.up-place-order .test11-personal-data label,
	.up-place-order .test11-personal-data .woocommerce-terms-and-conditions-checkbox-text {
		font-size: 12px !important;
	}

	.up-fulfillment-panel--pickup .up-pickup-grid {
		display: flex !important;
		height: 522px !important;
		max-height: 522px !important;
		padding-right: 3px;
		flex-direction: column;
		gap: 12px;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		scroll-behavior: smooth;
		scroll-snap-type: y mandatory;
		overscroll-behavior: contain;
		scrollbar-width: none;
	}

	.up-fulfillment-panel--pickup .up-pickup-grid::-webkit-scrollbar {
		display: none;
	}

	.up-fulfillment-panel--pickup .up-pickup-card {
		min-height: 166px !important;
		height: 166px !important;
		flex: 0 0 166px !important;
		scroll-snap-align: start;
	}

	.up-pickup-mobile-nav {
		display: grid;
		margin-top: 10px;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.up-pickup-mobile-nav button {
		display: flex;
		min-height: 42px;
		margin: 0;
		padding: 8px 12px;
		align-items: center;
		justify-content: center;
		border: 1px solid #dedede;
		border-radius: 8px;
		background: #fff;
		color: var(--up-red);
		font-family: Montserrat, Arial, sans-serif;
		font-size: 20px;
		font-weight: 700;
		line-height: 1;
		box-shadow: none;
		cursor: pointer;
	}

	.up-pickup-mobile-nav button:hover,
	.up-pickup-mobile-nav button:focus-visible {
		border-color: var(--up-red);
		background: #fff7f7;
	}

	.up-pickup-mobile-nav button:disabled {
		border-color: #e5e5e5;
		background: #f6f6f6;
		color: #b7b7b7;
		cursor: default;
	}
}
/* ==================================================
   UNIPIZZA — VARIATIONS RESTORE FINAL
   Карточки каталога + modal + single product
   Возвращает рабочий вид плашек и изолирует старые Woo-стили.
================================================== */

/* ---------- ОБЩИЕ ПЛАШКИ ---------- */

.up-product-card__variations,
.up-single-variation-pills {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
}

.up-product-card__variations {
	min-height: 34px !important;
	margin: 0 0 10px !important;
	align-content: flex-start !important;
}

.up-product-card__variations.is-placeholder {
	visibility: hidden !important;
}

.up-variation-chip {
	display: inline-flex !important;
	min-height: 29px !important;
	margin: 0 !important;
	padding: 5px 10px !important;

	align-items: center !important;
	justify-content: center !important;

	border: 1px solid #dedede !important;
	border-radius: 999px !important;

	background: #fff !important;
	color: #383838 !important;

	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;

	text-align: center !important;
	text-decoration: none !important;

	box-shadow: none !important;
	outline: 0 !important;
	cursor: pointer !important;

	transition:
		border-color .15s ease,
		background-color .15s ease,
		color .15s ease,
		opacity .15s ease !important;
}

.up-variation-chip:hover:not(:disabled),
.up-variation-chip:focus:not(:disabled) {
	border-color: var(--up-red) !important;
	background: #fff !important;
	color: var(--up-red-dark) !important;
}

.up-variation-chip.is-selected,
.up-variation-chip.is-selected:hover,
.up-variation-chip.is-selected:focus {
	border-color: var(--up-red) !important;
	background: var(--up-red) !important;
	color: #fff !important;
}

.up-variation-chip.is-unavailable,
.up-variation-chip:disabled {
	border-color: #e6e6e6 !important;
	background: #f3f3f3 !important;
	color: #999 !important;
	text-decoration: line-through !important;
	opacity: .65 !important;
	cursor: not-allowed !important;
}

/* ---------- КАРТОЧКИ КАТАЛОГА ---------- */

.up-product-card .up-variation-add-button.is-disabled,
.up-product-card .up-variation-add-button.disabled {
	border: 0 !important;
	background: #bdbdbd !important;
	color: #fff !important;
	box-shadow: none !important;
	opacity: 1 !important;
	pointer-events: none !important;
	cursor: not-allowed !important;
}

.up-product-card .up-variation-add-button.is-disabled::before,
.up-product-card .up-variation-add-button.disabled::before {
	color: #fff !important;
}

/* ---------- MODAL ---------- */

.up-product-modal__variations {
	display: flex !important;
	margin: 16px 0 20px !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px !important;
}

.up-product-modal__variations:empty {
	display: none !important;
	margin: 0 !important;
}

.up-product-modal__variations .up-product-card__variations {
	display: flex !important;
	min-height: 0 !important;
	margin: 0 !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px !important;
}

.up-product-modal__variations .up-variation-chip {
	min-height: 28px !important;
	padding: 4px 10px !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
}

.up-product-modal__variations .up-variation-chip.is-selected,
.up-product-modal__variations .up-variation-chip.is-selected:hover,
.up-product-modal__variations .up-variation-chip.is-selected:focus {
	border-color: var(--up-red) !important;
	background: var(--up-red) !important;
	color: #fff !important;
}

.up-product-modal__action {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 12px !important;
}

.up-product-modal__action .up-product-card__variations {
	justify-content: flex-end !important;
	margin: 0 !important;
}

.up-product-modal__bottom {
	display: flex !important;
	margin-top: auto !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
}

.up-product-modal__price {
	white-space: nowrap !important;
}

.up-product-modal__add.is-disabled,
.up-product-modal__add[aria-disabled="true"],
.up-product-modal__add.is-disabled:hover,
.up-product-modal__add[aria-disabled="true"]:hover,
.up-product-modal__add.is-disabled:focus,
.up-product-modal__add[aria-disabled="true"]:focus {
	border: 0 !important;
	border-color: transparent !important;
	background: #d9d9d9 !important;
	color: #fff !important;
	box-shadow: none !important;
	outline: 0 !important;
	opacity: .75 !important;
	cursor: not-allowed !important;
}

.up-product-modal__add:not(.is-disabled):not([aria-disabled="true"]) {
	border-color: var(--up-red) !important;
	background: var(--up-red) !important;
	color: #fff !important;
}

/* ---------- SINGLE PRODUCT ---------- */

/*
 * Старый style.css задаёт flex для .add_to_cart_and_consultation form.
 * Для новой UniPizza-формы это полностью отменяем.
 */
.single-product form.variations_form.up-single-cart-form,
.single-product .add_to_cart_and_consultation form.variations_form.up-single-cart-form {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Таблица вариаций превращается в обычный вертикальный блок */
.single-product .up-variations-enhanced table.variations {
	display: block !important;
	width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
}

.single-product .up-variations-enhanced table.variations tbody,
.single-product .up-variations-enhanced table.variations tr,
.single-product .up-variations-enhanced table.variations th,
.single-product .up-variations-enhanced table.variations td {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.single-product .up-variations-enhanced table.variations tr + tr {
	margin-top: 14px !important;
}

.single-product .up-variations-enhanced table.variations td.label {
	margin-bottom: 8px !important;
}

.single-product .up-variations-enhanced table.variations td.label label {
	display: block !important;
	margin: 0 !important;
	color: #2a2a2a !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

/*
 * Родной select WooCommerce остаётся в DOM для логики,
 * но визуально полностью скрыт.
 */
.single-product .up-variations-enhanced table.variations select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 1px !important;
	min-height: 1px !important;
	max-width: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Убираем стандартную ссылку очистки */
.single-product .up-variations-enhanced .reset_variations {
	display: none !important;
}

/* Наши плашки размера */
.single-product .up-single-variation-pills {
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 8px !important;
}

.single-product .up-single-variation-chip {
	min-height: 38px !important;
	padding: 8px 15px !important;
	font-size: 13px !important;
}

/* Цена вариации не дублируется */
.single-product .single_variation .woocommerce-variation-price,
.single-product .woocommerce-variation-price {
	display: none !important;
}

.single-product .up-variations-enhanced .single_variation_wrap {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
}

.single-product .up-variations-enhanced .woocommerce-variation.single_variation:empty {
	display: none !important;
}

/*
 * Quantity + кнопка располагаются в одну аккуратную строку.
 * Перебиваем старые размеры из style.css.
 */
.single-product .up-variations-enhanced .woocommerce-variation-add-to-cart {
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
}

.single-product .up-variations-enhanced .quantity {
	display: block !important;
	width: 72px !important;
	min-width: 72px !important;
	margin: 0 !important;
	flex: 0 0 72px !important;
}

.single-product .up-variations-enhanced .quantity input.qty {
	display: block !important;
	width: 72px !important;
	height: 50px !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 8px !important;
	box-sizing: border-box !important;

	border: 1px solid #dedede !important;
	border-radius: 8px !important;
	background: #fff !important;

	font-size: 14px !important;
	line-height: 1 !important;
	text-align: center !important;
	box-shadow: none !important;
}

.single-product .up-variations-enhanced .single_add_to_cart_button {
	display: inline-flex !important;
	width: auto !important;
	min-width: 190px !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 12px 22px !important;

	flex: 1 1 auto !important;
	align-items: center !important;
	justify-content: center !important;

	border: 1px solid var(--up-red) !important;
	border-radius: 8px !important;

	background: var(--up-red) !important;
	color: #fff !important;

	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	box-shadow: none !important;
	opacity: 1 !important;
}

.single-product .up-variations-enhanced .single_add_to_cart_button.disabled,
.single-product .up-variations-enhanced .single_add_to_cart_button.wc-variation-selection-needed,
.single-product .up-variations-enhanced .single_add_to_cart_button:disabled,
.single-product .up-variations-enhanced .single_add_to_cart_button.disabled:hover,
.single-product .up-variations-enhanced .single_add_to_cart_button.wc-variation-selection-needed:hover {
	border: 0 !important;
	border-color: transparent !important;
	background: #d9d9d9 !important;
	color: #fff !important;
	box-shadow: none !important;
	outline: 0 !important;
	opacity: .75 !important;
	pointer-events: none !important;
	cursor: not-allowed !important;
}

.single-product .up-variations-enhanced .single_add_to_cart_button:not(.disabled):not(:disabled):not(.wc-variation-selection-needed) {
	border-color: var(--up-red) !important;
	background: var(--up-red) !important;
	color: #fff !important;
	opacity: 1 !important;
	cursor: pointer !important;
}

/* ---------- MOBILE ---------- */

@media (max-width: 767px) {
	.up-product-card__variations {
		gap: 5px !important;
	}

	.up-product-card__variations .up-variation-chip {
		min-height: 27px !important;
		padding: 4px 8px !important;
		font-size: 10px !important;
	}

	.up-product-modal__action,
	.up-product-modal__action .up-product-card__variations {
		width: 100% !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
	}

	.single-product .up-single-variation-chip {
		min-height: 36px !important;
		padding: 7px 13px !important;
		font-size: 12px !important;
	}

	.single-product .up-variations-enhanced .woocommerce-variation-add-to-cart {
		align-items: stretch !important;
		flex-wrap: wrap !important;
	}

	.single-product .up-variations-enhanced .quantity {
		width: 72px !important;
		flex: 0 0 72px !important;
	}

	.single-product .up-variations-enhanced .single_add_to_cart_button {
		min-width: 0 !important;
		flex: 1 1 calc(100% - 84px) !important;
	}
}

/* ==================================================
   DRAWER TOTALS — COUNT UNDER "ИТОГО"
================================================== */

.up-cart-total {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 14px !important;
}

.up-cart-total__label {
	display: flex !important;
	min-width: 0 !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 3px !important;
}

.up-cart-total__label > span {
	display: block !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

.up-cart-total__label > small {
	display: block !important;
	margin: 0 !important;
	color: var(--up-muted, #6d6d6d) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}

.up-cart-total > strong,
.up-cart-total > strong .amount {
	flex: 0 0 auto !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	white-space: nowrap !important;
}

@media (max-width: 767px) {
	.up-cart-total__label > small {
		font-size: 14px !important;
	}
}

/* ==================================================
   CATEGORY STICKY — SINGLE FINAL VERSION
   Desktop: full-width blur under cart.
   Mobile: one white header + tags layer.
   Floating cart always below the mobile sticky layer.
================================================== */

.unipizza-page .up-category-sticky,
.unipizza-page .up-category-sticky.is-stuck {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: var(--up-sticky-header-height, 66px) !important;
	z-index: 30000 !important;

	display: block !important;
	width: 100% !important;
	max-width: 100% !important;

	margin: 0 !important;
	padding: 8px 0 !important;

	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;

	overflow: visible !important;
}

.unipizza-page .up-category-sticky .up-category-tabs {
	position: relative !important;
	z-index: 2 !important;

	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 8px !important;

	overflow-x: auto !important;
	overflow-y: hidden !important;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;

	scrollbar-width: none !important;
	-webkit-overflow-scrolling: touch;
}

.unipizza-page .up-category-sticky .up-category-tabs::-webkit-scrollbar {
	display: none !important;
}

/* Теги */
.unipizza-page .up-category-sticky .up-category-tabs a {
	display: inline-flex !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 7px 14px !important;

	flex: 0 0 auto !important;
	align-items: center !important;
	justify-content: center !important;

	border: 1px solid #dedede !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #333 !important;

	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;

	text-decoration: none !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

.unipizza-page .up-category-sticky .up-category-tabs a:hover {
	border-color: #d0d0d0 !important;
	background: #f7f7f7 !important;
	color: #222 !important;
}

.unipizza-page .up-category-sticky .up-category-tabs a.is-active,
.unipizza-page .up-category-sticky .up-category-tabs a.active,
.unipizza-page .up-category-sticky .up-category-tabs li.active > a {
	border-color: var(--up-red) !important;
	background: var(--up-red) !important;
	color: #fff !important;
}

/* ---------------- DESKTOP ---------------- */

@media (min-width: 768px) {

	/*
	 * Full-width blur is a separate layer only.
	 * The sticky element itself stays inside the catalog column,
	 * so tags do not move.
	 */
	.unipizza-page .up-category-sticky::before,
	.unipizza-page .up-category-sticky.is-stuck::before {
		content: "" !important;
		position: absolute !important;
		z-index: 0 !important;

		top: 0 !important;
		left: 50% !important;
		display: block !important;

		width: 100vw !important;
		height: 100% !important;

		transform: translateX(-50%) !important;

		background: rgba(255,255,255,.01) !important;
		border: 0 !important;
		box-shadow: none !important;

		-webkit-backdrop-filter: blur(12px) !important;
		backdrop-filter: blur(12px) !important;

		pointer-events: none !important;
	}

	/* Sidebar cart remains visually sharp and above the blur layer. */
	.up-cart-column,
	.up-archive-cart,
	.single-product .up-single-cart-panel {
		position: relative;
		z-index: 31000;
	}
}

/* ---------------- MOBILE ---------------- */

@media (max-width: 767px) {

	/*
	 * Единый белый мобильный header + строка тегов.
	 * Sticky-header остаётся самым верхним интерфейсным слоем.
	 */
	body .up-sticky-header {
		z-index: 30000 !important;
		background: #fff !important;
		border-bottom: 0 !important;
		box-shadow: none !important;

		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}

	/*
	 * ВАЖНО:
	 * плавающая корзина находится внутри .up-header.
	 * Поэтому родительский stacking context должен быть ВЫШЕ тегов,
	 * иначе сама корзина с любым z-index всё равно уходит под них.
	 */
	body .up-header {
		position: relative !important;
		z-index: 20000 !important;
	}

	/*
	 * Теги выше товаров, но ниже основной шапки/плавающей корзины.
	 */
	.unipizza-page .up-category-sticky,
	.unipizza-page .up-category-sticky.is-stuck {
		top: var(--up-sticky-header-height, 62px) !important;
		z-index: 12000 !important;

		padding: 7px 0 8px !important;

		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		clip-path: none !important;

		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}

	/*
	 * Белый фон строки тегов от края до края viewport.
	 * Без огромного spread-shadow, который раньше заходил вниз
	 * и визуально съедал верхнюю границу поиска.
	 */
	.unipizza-page .up-category-sticky::before,
	.unipizza-page .up-category-sticky.is-stuck::before {
		content: "" !important;
		position: absolute !important;
		z-index: 0 !important;

		top: 0 !important;
		bottom: 0 !important;
		left: 50% !important;

		display: block !important;
		width: 100vw !important;
		height: auto !important;

		transform: translateX(-50%) !important;

		background: #fff !important;
		border: 0 !important;
		box-shadow: 0 4px 10px rgba(0, 0, 0, .045) !important;

		pointer-events: none !important;
	}

	.unipizza-page .up-category-sticky .up-category-tabs {
		position: relative !important;
		z-index: 2 !important;

		gap: 7px !important;
		background: transparent !important;

		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
	}

	/*
	 * Плавающая корзина остаётся поверх строки тегов.
	 * Геометрию, размер, фон и положение кнопки не меняем.
	 */
	body.home .up-header-cart,
	body.page-template-index_home .up-header-cart,
	.single-product .up-header-cart,
	.unipizza-page .up-header-cart,
	.up-header-cart {
		z-index: 20000 !important;
	}

	.unipizza-page .up-category-sticky .up-category-tabs a {
		min-height: 34px !important;
		padding: 7px 12px !important;
		font-size: 13px !important;
	}

	/*
	 * Возвращаем исходную границу мобильного поиска.
	 * Никаких размеров/отступов блока поиска не меняем.
	 */
	.up-catalog-search .dgwt-wcas-search-input {
		border: 1px solid var(--up-border, #e8e8e8) !important;
	}

	.up-catalog-search .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit {
		border: 1px solid var(--up-border, #e8e8e8) !important;
		border-left: 0 !important;
	}
}

/* Mobile header layout override (loaded after theme stylesheet). */
@media (max-width: 767px) {
	.up-header__main-inner { display:block !important; position:relative !important; height:133px !important; min-height:133px !important; padding:0 16px !important; }
	.up-logo { position:absolute !important; top:7px !important; left:50% !important; transform:translateX(-50%) !important; }
	.up-logo img { width:92px !important; }
	.up-header-info--location { position:absolute !important; top:57px !important; left:16px !important; display:flex !important; }
	.up-header-info--hours { position:absolute !important; top:57px !important; right:52px !important; display:flex !important; margin:0 !important; }
	.up-header-info--location span, .up-header-info--hours span { display:block !important; margin-top:2px !important; font-size:9px !important; line-height:1.1 !important; }
	.up-header-info--hours strong { font-size:11px !important; }
	.up-header-info--hours span { font-size:8px !important; }
	.up-header-info--phone { position:absolute !important; top:101px !important; left:16px !important; display:flex !important; }
	.up-header-info--phone > svg { display:block !important; }
	.up-login { position:absolute !important; top:98px !important; right:16px !important; display:inline-flex !important; }
	.up-header-mobile-menu-inline { position:absolute !important; top:57px !important; right:16px !important; z-index:5; display:block !important; width:30px !important; min-height:31px !important; margin:0 !important; padding:4px 0 !important; border:0 !important; background:transparent !important; }
	.up-header-mobile-menu-inline span { position:static !important; display:block !important; width:24px !important; height:2px !important; margin:4px auto !important; transform:none !important; background:#ed1c24 !important; }
	.up-header-mobile-menu-inline b { display:none !important; }
	.up-header__nav, .up-header__nav-inner { height:0 !important; min-height:0 !important; overflow:visible !important; }
	.up-header__nav .up-mobile-menu-toggle { display:none !important; }
	.up-header__nav nav { position:fixed !important; top:0 !important; right:0 !important; left:0 !important; z-index:16000; max-height:100vh !important; padding-top:104px !important; }
}

/* ==================================================
   DESKTOP — STOP STICKY AT CATALOG END
   + KEEP STICKY HEADER CLICKABLE
================================================== */

@media (min-width: 768px) {

	/*
	 * Теги и боковая корзина остаются sticky только визуально
	 * внутри каталога. Когда заканчивается .up-catalog-grid,
	 * они больше не рисуются поверх следующих секций.
	 *
	 * По горизонтали clipping расширен на viewport,
	 * поэтому полноширинный blur тегов сохраняется.
	 */
	.unipizza-page .up-catalog-grid {
		position: relative !important;
		clip-path: inset(0 -100vw 0 -100vw) !important;
	}

	/*
	 * Закреплённая шапка всегда выше sticky-тегов и всей
	 * боковой колонки корзины. Это возвращает кликабельность
	 * корзины в закреплённой шапке.
	 */
body .up-sticky-header {
		z-index: 40000 !important;
	}
}

/* =========================================================
   MOBILE HEADER AND CATALOG — 23.09.2026
   Isolated from legacy theme geometry; desktop is untouched.
   ========================================================= */
@media (max-width: 767px), (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	/* Normal header: logo; city / hours / menu; phone / login. */
	.up-header { overflow: visible !important; }
	.up-header__nav,
	.up-header__nav-inner { height: 0 !important; min-height: 0 !important; overflow: visible !important; }
	.up-header__nav .up-mobile-menu-toggle { display: none !important; }
	.up-header__nav nav {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		left: 0 !important;
		z-index: 16001 !important;
		max-height: 100vh !important;
		padding-top: 92px !important;
	}
	.up-header__main-inner {
		display: flex !important;
		width: 100vw !important;
		min-height: 128px !important;
		margin: 0 !important;
		padding: 7px 16px 9px !important;
		box-sizing: border-box !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 5px 8px !important;
	}
	.up-header__main-inner > * { position: static !important; transform: none !important; }
	.up-logo { display: flex !important; width: 100% !important; flex: 0 0 100% !important; order: 1; justify-content: center !important; }
	.up-logo img { width: 76px !important; }
	.up-header-info--location { display: flex !important; flex: 1 1 auto !important; order: 2; }
	.up-header-info--hours { display: flex !important; flex: 0 0 auto !important; order: 2; margin: 0 !important; }
	.up-header-info--location strong,
	.up-header-info--hours strong { font-size: 12px !important; }
	.up-header-info--location span,
	.up-header-info--hours span { display: block !important; margin-top: 1px !important; font-size: 9px !important; line-height: 1.15 !important; }
	.up-header-mobile-menu-inline {
		display: block !important;
		order: 2;
		width: 28px !important;
		min-width: 28px !important;
		height: 30px !important;
		min-height: 30px !important;
		margin: 0 !important;
		padding: 3px 0 !important;
		border: 0 !important;
		background: transparent !important;
	}
	.up-header-mobile-menu-inline span { position: static !important; display: block !important; width: 24px !important; height: 2px !important; margin: 4px auto !important; transform: none !important; background: #ed1c24 !important; }
	.up-header-mobile-menu-inline b { display: none !important; }
	.up-header-info--phone { display: flex !important; flex: 0 0 calc(100% - 72px) !important; order: 3; margin-top: 2px !important; }
	.up-header-info--phone > svg { display: block !important; }
	.up-header-info--phone > div > a { font-size: 13px !important; }
	.up-login { display: inline-flex !important; width: auto !important; min-width: 0 !important; order: 3; margin-top: 2px !important; padding: 0 2px !important; }
	.up-header__main > .up-header-cart { display: none !important; }

	/* Sticky header keeps only the compact upper group. */
	:root { --up-sticky-header-height: 82px; }
	.up-sticky-header__inner {
		display: flex !important;
		width: 100vw !important;
		height: 82px !important;
		margin: 0 !important;
		padding: 5px 16px !important;
		box-sizing: border-box !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 3px 8px !important;
	}
	.up-sticky-header__logo { display: flex !important; width: 100% !important; flex: 0 0 100% !important; justify-content: center !important; }
	.up-sticky-header__logo img { width: 58px !important; }
	.up-sticky-header__location { display: flex !important; flex: 1 1 auto !important; align-items: center !important; gap: 5px !important; }
	.up-sticky-header__hours { display: flex !important; flex: 0 0 auto !important; align-items: center !important; gap: 5px !important; }
	.up-sticky-header__location strong,
	.up-sticky-header__hours strong { font-size: 10px !important; }
	.up-sticky-header__location span,
	.up-sticky-header__hours span { display: block !important; margin-top: 1px !important; font-size: 8px !important; line-height: 1.1 !important; white-space: nowrap !important; }
	.up-sticky-header__menu { display: block !important; width: 26px !important; min-width: 26px !important; height: 28px !important; min-height: 28px !important; margin: 0 !important; padding: 3px 0 !important; border: 0 !important; background: transparent !important; }
	.up-sticky-header__menu span { position: static !important; display: block !important; width: 22px !important; height: 2px !important; margin: 4px auto !important; transform: none !important; background: #ed1c24 !important; }
	.up-sticky-header__menu b,
	.up-sticky-header__phone,
	.up-sticky-header__login,
	body .up-sticky-header .up-sticky-header__cart { display: none !important; }

	/* Bottom panel replaces floating cart; catalog has room above it. */
	.up-mobile-bottom-nav { background: #53585e !important; }
	.up-mobile-bottom-nav__item { color: rgba(255,255,255,.78) !important; }
	.up-mobile-bottom-nav__item--menu { color: rgba(255,255,255,.78) !important; }
	.up-mobile-bottom-nav .up-header-cart__count { border-color: #53585e !important; }
	body.home .up-header-cart,
	body.page-template-index_home .up-header-cart,
	.single-product .up-header-cart,
	.up-header-cart { display: none !important; }
	.unipizza-page { padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important; }
	.unipizza-page .up-catalog { padding-bottom: 112px !important; }
	.unipizza-page .up-category-sticky { z-index: 30 !important; bottom: auto !important; }

	/* Price is the full red call-to-action, without a plus control. */
	.up-product-card__bottom { justify-content: center !important; padding: 0 12px !important; background: #ed1c24 !important; }
	.up-product-card__bottom > strong,
	.up-product-card__bottom .price { width: 100% !important; text-align: center !important; }
	.up-product-card .up-add-button { display: none !important; }
}

/* Stable mobile sticky header and a single shadow below header + category tags. */
@media (max-width: 767px), (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	.up-mobile-header { transition: none !important; box-shadow: none !important; }
	/* Height is constant: hiding actions does not reflow the document while scrolling. */
	.up-mobile-header__actions { visibility: visible; opacity: 1; transition: none !important; }
	.up-mobile-header.is-sticky .up-mobile-header__actions { visibility: hidden !important; opacity: 0 !important; display: flex !important; }
	.up-mobile-header.is-sticky { box-shadow: none !important; }
	/* Compact line: centered logo, balanced information groups, menu at the edge. */
	.up-mobile-header.is-sticky .up-mobile-header__top {
		position: absolute !important;
		top: 8px !important;
		left: 50% !important;
		z-index: 2;
		width: 54px;
		margin: 0 !important;
		transform: translateX(-50%);
	}
	.up-mobile-header.is-sticky .up-mobile-header__logo img { width: 54px !important; }
	.up-mobile-header.is-sticky .up-mobile-header__info {
		display: grid !important;
		width: 100%;
		min-height: 37px;
		margin: 0 !important;
		grid-template-columns: minmax(0,1fr) 54px minmax(0,1fr) 28px !important;
		align-items: center;
		gap: 5px;
	}
	.up-mobile-header.is-sticky .up-mobile-header__location { grid-column: 1; justify-self: start; }
	.up-mobile-header.is-sticky .up-mobile-header__hours { grid-column: 3; justify-self: end; }
	.up-mobile-header.is-sticky .up-mobile-header__toggle { grid-column: 4; justify-self: end; }
	/* The visual shadow belongs to the combined sticky navigation block only. */
	.up-mobile-header,
	.unipizza-page .up-category-sticky { box-shadow: none !important; }
	.unipizza-page .up-category-sticky {
		z-index: 15999 !important;
		border-bottom: 1px solid #ececec;
	}
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky {
		top: 76px !important;
		box-shadow: 0 5px 12px rgba(0,0,0,.13) !important;
	}
}

@media (max-width: 767px), (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
	.up-mobile-header__top { top: 7px !important; left: 50% !important; width: 52px !important; margin: 0 !important; transform: translateX(-50%) !important; }
	.up-mobile-header__logo img { width: 52px !important; }
	.up-mobile-header__info { min-height: 37px !important; margin: 0 !important; grid-template-columns: minmax(0,1fr) 52px minmax(0,1fr) 28px !important; gap: 5px !important; }
	.up-mobile-header__location { grid-column: 1 !important; justify-self: start !important; }
	.up-mobile-header__hours { grid-column: 3 !important; justify-self: end !important; }
	.up-mobile-header__toggle { grid-column: 4 !important; justify-self: end !important; }
	.up-mobile-header__actions { min-height: 27px !important; margin-top: 3px !important; }
	.up-mobile-header.is-sticky { height: 51px !important; min-height: 51px !important; padding-top: 7px !important; padding-bottom: 7px !important; }
	.up-mobile-header.is-sticky .up-mobile-header__actions { display: none !important; }
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky { top: 51px !important; }
}

/* Final cascade guard: this block deliberately stays last. */
@media (max-width: 991px) {
	.up-header, .up-sticky-header { display: none !important; }
	.up-mobile-header { z-index: 30000 !important; }
	.up-mobile-header.is-sticky { height: 56px !important; min-height: 56px !important; }
	.unipizza-page .up-category-sticky, .unipizza-page .up-category-sticky.is-stuck { top: 56px !important; z-index: 20000 !important; }
	.up-mobile-bottom-nav { z-index: 10000 !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
	.up-header > .up-header__main .up-header-cart { display: none !important; }
}

@media (min-width: 992px) {
	body .up-sticky-header .up-sticky-header__cart { display: flex !important; }
	.up-sticky-header__location,
	.up-sticky-header__hours { width: auto !important; min-width: 0 !important; white-space: nowrap !important; }
	.up-sticky-header__location > div,
	.up-sticky-header__hours > div,
	.up-sticky-header__location strong,
	.up-sticky-header__location span,
	.up-sticky-header__hours strong,
	.up-sticky-header__hours span { white-space: nowrap !important; }
	.up-sticky-header__location { gap: 6px !important; }
	.up-sticky-header__location svg { flex: 0 0 18px !important; width: 18px !important; height: 18px !important; }
	.up-sticky-header__location strong,
	.up-sticky-header__location span,
	.up-sticky-header__hours strong,
	.up-sticky-header__hours span { display: block !important; }
}

/* Final visual rules: desktop header icons and the exact mobile-price button on every grid. */
@media (min-width: 992px) {
	.up-sticky-header__location svg { display:block !important; fill:none !important; stroke:var(--up-red) !important; stroke-width:2 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
	.up-sticky-header__hours i { display:block !important; width:9px !important; height:9px !important; flex:0 0 9px !important; border-radius:50% !important; background:#39b54a !important; box-shadow:0 0 0 3px rgba(57,181,74,.13) !important; }
	body .up-sticky-header .up-sticky-header__cart { display:flex !important; visibility:visible !important; opacity:1 !important; }
	.up-sticky-header__cart .up-header-cart__icon,
	.up-sticky-header__cart .up-header-cart__icon svg { display:block !important; visibility:visible !important; opacity:1 !important; }
}

.up-product-card__bottom {
	justify-content:center !important;
	padding:0 12px !important;
}
.up-product-card__bottom > strong,
.up-product-card__bottom .price {
	width:100% !important;
	text-align:center !important;
}
.up-product-card .up-add-button,
.up-product-card .up-add-button:hover,
.up-product-card .up-add-button.loading,
.up-product-card .up-add-button.added { display:none !important; }

@media (max-width:1199px) {
	body.home .up-product-category,
	body.page-template-index_home .up-product-category {
		position:relative !important;
		z-index:0 !important;
		background:transparent !important;
		box-shadow:0 0 0 100vmax #f6f6f6 !important;
		clip-path:inset(0 -100vmax) !important;
	}
}
@media (max-width:991px) {
	.woocommerce-shop .up-archive-main,
	.tax-product_cat .up-archive-main,
	.tax-product_tag .up-archive-main {
		box-shadow:0 0 0 100vmax #f6f6f6 !important;
		clip-path:inset(0 -100vmax) !important;
	}
}

/* Крупнее только выбор размера внутри всплывающей карточки. */
.up-product-modal__variations .up-variation-chip {
	min-height: 32px !important;
	padding: 6px 12px !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
}

/* Временные переключатели: вернуть удалением этого блока. */
/* Акции и подпись «Выгодные предложения» временно скрыты полностью. */
.up-offers {
	display: none !important;
}

/* Личный кабинет временно недоступен. Нижняя мобильная навигация намеренно не затрагивается. */
.up-login,
.up-mobile-header__login,
.up-sticky-header__login {
	display: none !important;
}

/* Электронные чеки временно недоступны; печатный чек выбран по умолчанию. */
.up-checkout-receipt .up-receipt-option--electronic {
	display: none !important;
}

/* Весовые товары отмечаются тем же шильдиком, что «Острое» и «Новинка». */
.up-product-badge--vesovoy,
.up-product-badge[class*="%d0%b2%d0%b5%d1%81%d0%be%d0%b2%d0%be%d0%b9"] {
	border-color: #8b5e34 !important;
	background: #8b5e34 !important;
}
