/* Final responsive authority. Loaded after all legacy and intermediate layers. */

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

  .up-mobile-header,
  .up-mobile-header.is-sticky {
    position: sticky !important;
    top: 0 !important;
    z-index: 30000 !important;
    display: block !important;
    width: 100% !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 8px 16px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border-bottom: 1px solid #ececec !important;
    box-shadow: none !important;
    transition: none !important;
  }

  .up-mobile-header__actions,
  .up-mobile-header.is-sticky .up-mobile-header__actions { display: none !important; }

  .up-mobile-header__top { top: 8px !important; }
  .up-mobile-header__info { width:auto !important; min-height:40px !important; }
	.up-mobile-header__location,
	.up-mobile-header__hours { gap: 6px !important; }
	.up-mobile-header__location strong,
	.up-mobile-header__hours strong { font-size: 11px !important; line-height: 1.1 !important; }
	.up-mobile-header__location span,
	.up-mobile-header__hours span { font-size: 8.5px !important; line-height: 1.12 !important; }

  .unipizza-page .up-category-sticky,
  .unipizza-page .up-category-sticky.is-stuck,
  body.up-mobile-header-stuck .unipizza-page .up-category-sticky,
  body.up-mobile-header-stuck .unipizza-page .up-category-sticky.is-stuck,
  body:not(.up-mobile-header-stuck) .unipizza-page .up-category-sticky {
    position: sticky !important;
    top: 56px !important;
    z-index: 25000 !important;
    background: #fff !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.08) !important;
  }

	/* Bottom navigation stays above catalogue content and tags, below the header. */
  body .up-mobile-bottom-nav { z-index: 26000 !important; isolation: isolate !important; }
	body .up-mobile-bottom-nav * { z-index: auto !important; }
}

/* Smartphone header retains telephone and account controls without a scroll-state reflow. */
@media (max-width: 767px) {
	/* The sticky row never changes height; this prevents a scroll-time layout jump. */
	.up-mobile-header,
	.up-mobile-header.is-sticky {
		height:56px !important;
		min-height:56px !important;
		margin-bottom:24px !important;
		overflow:visible !important;
	}
	.up-mobile-header__info { grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) 30px !important; }
	.up-mobile-header__toggle { grid-column:4 !important; display:flex !important; width:30px !important; min-width:30px !important; height:30px !important; min-height:30px !important; margin-right:0 !important; padding:0 !important; box-sizing:border-box !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; }
	.up-mobile-header__toggle span { position:static !important; display:block !important; width:24px !important; height:2px !important; min-height:2px !important; margin:2px 0 !important; flex:0 0 2px !important; transform:none !important; }
	.up-mobile-header__cart { display:none !important; }
	.up-mobile-header__actions,
	.up-mobile-header:not(.is-sticky) .up-mobile-header__actions { position:absolute !important; top:56px !important; right:16px !important; left:16px !important; z-index:1 !important; display:flex !important; min-height:24px !important; margin:0 !important; align-items:center !important; justify-content:flex-end !important; gap:14px !important; background:#fff !important; visibility:visible !important; opacity:1 !important; transition:none !important; }
	.up-mobile-header.is-sticky .up-mobile-header__actions { position:absolute !important; top:56px !important; display:flex !important; visibility:hidden !important; opacity:0 !important; transition:none !important; }
	.up-mobile-header__phone,
	.up-mobile-header__login { display:inline-flex !important; font-size:11px !important; }
	body:not(.up-mobile-header-stuck) .unipizza-page .up-category-sticky { top:56px !important; }
	.unipizza-page .up-category-sticky.is-stuck,
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky {
		top:56px !important;
		display:block !important;
		visibility:visible !important;
		opacity:1 !important;
	}
}

@media (min-width:992px) {
	.up-header-info--phone { align-items:center !important; }
	.up-header-info--phone > div { display:flex !important; align-items:center !important; }
	.up-header-info--phone > div > a { display:block !important; line-height:24px !important; }
}

/* Intermediate layouts retain a visible cart in the compact header. */
@media (min-width:768px) and (max-width:991px) {
	.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:auto !important; min-height:40px !important; margin:0 !important; grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr) 30px 34px !important; align-items:center !important; gap:6px !important; }
	.up-mobile-header__location,
	.up-mobile-header__hours { display:flex !important; min-width:0 !important; align-items:center !important; gap:6px !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__location svg { width:16px !important; height:16px !important; flex:0 0 16px !important; fill:none !important; stroke:#ed1c24 !important; stroke-width:2 !important; }
	.up-mobile-header__hours i { display:block !important; width:9px !important; height:9px !important; flex:0 0 9px !important; border-radius:50% !important; background:#39b54a !important; }
	.up-mobile-header__location strong,
	.up-mobile-header__hours strong,
	.up-mobile-header__location span,
	.up-mobile-header__hours span { display:block !important; white-space:nowrap !important; }
	.up-mobile-header__location strong,
	.up-mobile-header__hours strong { font-size:11px !important; line-height:1.1 !important; }
	.up-mobile-header__location span,
	.up-mobile-header__hours span { margin-top:1px !important; color:#777 !important; font-size:8.5px !important; line-height:1.12 !important; }
	.up-mobile-header__toggle { grid-column:4 !important; justify-self:end !important; display:block !important; width:30px !important; height:30px !important; min-height:30px !important; margin:0 !important; padding:2px 0 !important; border:0 !important; background:transparent !important; }
	.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__cart { grid-column:5 !important; display:inline-flex !important; width:34px !important; height:34px !important; align-items:center !important; justify-content:center !important; color:#ed1c24 !important; text-decoration:none !important; }
	.up-mobile-header__cart .up-header-cart__icon { position:relative !important; display:block !important; width:25px !important; height:25px !important; }
	.up-mobile-header__cart svg { position:static !important; display:block !important; width:25px !important; height:25px !important; margin:0 !important; transform:none !important; fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
	.up-mobile-header__cart .up-header-cart__count { position:absolute !important; top:-5px !important; right:-7px !important; display:flex !important; min-width:16px !important; height:16px !important; padding:0 3px !important; align-items:center !important; justify-content:center !important; border:2px solid #fff !important; border-radius:50% !important; background:#ed1c24 !important; color:#fff !important; font-size:9px !important; line-height:1 !important; }
}

/* In the intermediate desktop header the count follows the cart icon, like on the wide desktop. */
@media (min-width:992px) and (max-width:1199px) {
	body .up-header__main .up-header-cart,
	body .up-sticky-header .up-sticky-header__cart { position:relative !important; }
	body .up-header__main .up-header-cart__count,
	body .up-sticky-header .up-sticky-header__cart .up-header-cart__count {
		top:-5px !important;
		right:auto !important;
		left:18px !important;
		border-color:#fff !important;
		background:#ffd321 !important;
		color:#222 !important;
	}
}

/* The price field remains visually clean but is the real add-to-cart button. */
.up-product-card__bottom {
	position:relative !important;
	cursor:pointer !important;
	transition:background-color .16s ease, transform .12s ease, box-shadow .16s ease !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 {
	position:absolute !important;
	inset:0 !important;
	z-index:2 !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:inherit !important;
	opacity:0 !important;
	cursor:pointer !important;
}
.up-product-card__bottom:hover,
.up-product-card__bottom:focus-within { background:#cf131b !important; box-shadow:0 3px 8px rgba(237,28,36,.24) !important; }
.up-product-card__bottom:active { transform:translateY(1px) !important; box-shadow:none !important; }

/* Contacts belong to the normal compact header; the pinned state keeps only the utility row. */
@media (min-width:768px) and (max-width:991px) {
	.up-mobile-header.is-sticky .up-mobile-header__actions {
		visibility:hidden !important;
		pointer-events:none !important;
	}
}

@media (min-width:576px) and (max-width:991px) {
	body .up-mobile-header__cart .up-header-cart__icon { display:flex !important; width:25px !important; max-width:25px !important; height:25px !important; min-width:25px !important; min-height:25px !important; flex:0 0 25px !important; align-items:center !important; justify-content:center !important; }
	body .up-mobile-header__cart .up-header-cart__icon svg { display:block !important; width:25px !important; height:25px !important; min-width:25px !important; min-height:25px !important; }
}

@media (max-width:767px) {
	.up-product-card__body h3 { margin:0 0 12px !important; font-size:14px !important; line-height:1.35 !important; }
	.up-product-card__bottom { margin-top:12px !important; }
}

/* Same price CTA as the phone layout: centered price, no circular plus control. */
.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; }

/* The grey product field reaches both viewport edges when sidebar cart is absent. */
@media (max-width: 1199px) {
  body.home .up-product-category,
  body.page-template-index_home .up-product-category {
    background: #f6f6f6 !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 {
    background: #f6f6f6 !important;
    box-shadow: 0 0 0 100vmax #f6f6f6 !important;
    clip-path: inset(0 -100vmax) !important;
  }
}

/* Desktop sticky-header icons and cart remain visible at every desktop width. */
@media (min-width: 992px) {
	.up-sticky-header__location,
	.up-sticky-header__hours { gap: 9px !important; }
	.up-sticky-header__location,
	.up-sticky-header__hours { align-items: center !important; }
	.up-sticky-header__location strong,
	.up-sticky-header__hours strong {
		display: block !important;
		color: #1a1a1a !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 19.6px !important;
	}
	.up-sticky-header__location span,
	.up-sticky-header__hours span {
		display: block !important;
		margin-top: 3px !important;
		color: #797979 !important;
		font-size: 11px !important;
		font-weight: 400 !important;
		line-height: 15.4px !important;
	}
  .up-sticky-header__location svg {
    display: block !important;
    fill: none !important;
    stroke: #ed1c24 !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,
  .up-sticky-header__cart .up-header-cart__icon,
  .up-sticky-header__cart .up-header-cart__icon svg {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* No sidebar-cart range: the regular desktop header keeps a real, red cart control. */
@media (min-width:992px) and (max-width:1199px) {
	#up-intermediate-header-cart { display:flex !important; }
	.up-header__main-inner { grid-template-columns:150px minmax(0,1fr) minmax(0,1fr) minmax(170px,1fr) auto auto !important; }
	#up-intermediate-header-cart { grid-column:6 !important; grid-row:1 !important; }
	html body.home .up-header .up-header__main > .up-header-cart,
	html body.page-template-index_home .up-header .up-header__main > .up-header-cart,
	html body .up-header .up-header__main > .up-header-cart {
		display:flex !important;
	}
	body .up-header__main .up-header-cart {
		position:static !important;
		display:flex !important;
		width:auto !important;
		min-width:0 !important;
		height:auto !important;
		min-height:0 !important;
		margin:0 !important;
		padding:0 !important;
		align-items:center !important;
		border-radius:0 !important;
		background:transparent !important;
		box-shadow:none !important;
		transform:none !important;
	}
	body .up-header__main .up-header-cart__icon { position:relative !important; display:block !important; width:28px !important; height:28px !important; }
	body .up-header__main .up-header-cart__icon svg,
	body .up-sticky-header .up-sticky-header__cart .up-header-cart__icon svg { position:static !important; display:block !important; width:28px !important; height:28px !important; margin:0 !important; transform:none !important; fill:none !important; stroke:#ed1c24 !important; stroke-width:1.8 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
	body .up-header__main .up-header-cart__count { border-color:#fff !important; background:#ed1c24 !important; color:#fff !important; }
}

/* The compact header begins only at the actual hamburger breakpoint. */
@media (min-width:768px) and (max-width:991px) {
	.up-header,
	.up-sticky-header { display:none !important; }
	.up-mobile-header,
	.up-mobile-header.is-sticky { position:sticky !important; top:0 !important; z-index:30000 !important; display:block !important; width:100% !important; height:80px !important; min-height:80px !important; margin:0 !important; padding:8px 16px !important; box-sizing:border-box !important; background:#fff !important; border-bottom:1px solid #ececec !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:auto !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:6px !important; }
	.up-mobile-header__location,
	.up-mobile-header__hours { display:flex !important; min-width:0 !important; align-items:center !important; gap:6px !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; display:flex !important; width:30px !important; min-width:30px !important; height:30px !important; min-height:30px !important; margin:0 !important; padding:0 !important; align-items:center !important; justify-content:center !important; }
	.up-mobile-header__toggle span { position:static !important; display:block !important; width:24px !important; height:2px !important; margin:2px 0 !important; transform:none !important; background:#ed1c24 !important; }
	.up-mobile-header__actions,
	.up-mobile-header.is-sticky .up-mobile-header__actions { display:flex !important; min-height:24px !important; margin-top:3px !important; align-items:center !important; justify-content:flex-end !important; gap:14px !important; visibility:visible !important; opacity:1 !important; }
	.up-mobile-header__phone,
	.up-mobile-header__login { display:inline-flex !important; font-size:11px !important; }
	.up-mobile-header__cart { display:none !important; }
	.unipizza-page .up-category-sticky,
	.unipizza-page .up-category-sticky.is-stuck,
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky,
	body:not(.up-mobile-header-stuck) .unipizza-page .up-category-sticky { top:80px !important; }
	/* The tablet bar deliberately uses the same component geometry and colours as the phone bar. */
	.up-mobile-bottom-nav { position:fixed !important; right:0 !important; bottom:0 !important; left:0 !important; z-index:26000 !important; display:grid !important; grid-template-columns:repeat(4, 1fr) !important; height:calc(64px + env(safe-area-inset-bottom)) !important; padding-bottom:env(safe-area-inset-bottom) !important; background:#53585e !important; box-shadow:0 -3px 16px rgba(57,35,12,.18) !important; }
	.up-mobile-bottom-nav__item { position:relative !important; display:flex !important; min-width:0 !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:3px !important; color:rgba(255,255,255,.78) !important; font-size:10px !important; font-weight:700 !important; line-height:1.1 !important; text-decoration:none !important; }
	.up-mobile-bottom-nav__item--menu { color:rgba(255,255,255,.78) !important; }
	.up-mobile-bottom-nav__item svg { width:23px !important; height:23px !important; fill:none !important; stroke:currentColor !important; stroke-width:2 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
	.up-mobile-bottom-nav__cart-icon { position:relative !important; height:23px !important; }
	.up-mobile-bottom-nav .up-header-cart__count { top:-8px !important; right:-11px !important; border-color:#53585e !important; background:#ed1c24 !important; color:#fff !important; }
	.unipizza-page { padding-bottom:84px !important; }
}

@media (min-width:768px) and (max-width:991px) {
	body .up-mobile-header__cart .up-header-cart__icon svg { stroke:#ed1c24 !important; }
}

/* Keep the two header actions compact and inside the hamburger header. */
@media (min-width:768px) and (max-width:991px) {
	.up-mobile-header__info {
		height:40px !important;
		max-height:40px !important;
		overflow:hidden !important;
	}
	.up-mobile-header__actions,
	.up-mobile-header.is-sticky .up-mobile-header__actions {
		position:static !important;
		top:auto !important;
		right:auto !important;
		bottom:auto !important;
		left:auto !important;
		display:flex !important;
		height:21px !important;
		min-height:21px !important;
		margin:3px 0 0 !important;
		padding:0 !important;
		overflow:hidden !important;
		background:transparent !important;
		visibility:visible !important;
		opacity:1 !important;
	}
	.up-mobile-header__phone,
	.up-mobile-header__login {
		display:inline-flex !important;
		height:21px !important;
		min-height:21px !important;
		align-items:center !important;
		font-size:11px !important;
		line-height:1 !important;
		color:#202020 !important;
	}
}

@media (min-width:768px) and (max-width:991px) {
	.up-mobile-header__location svg {
		display:block !important;
		width:16px !important;
		height:16px !important;
		min-width:16px !important;
		min-height:16px !important;
		flex:0 0 16px !important;
		fill:none !important;
		stroke:#ed1c24 !important;
		stroke-width:2 !important;
		stroke-linecap:round !important;
		stroke-linejoin:round !important;
	}
	.up-mobile-header__location > div,
	.up-mobile-header__hours > div { display:block !important; min-width:0 !important; }
	.up-mobile-header__location strong,
	.up-mobile-header__hours strong {
		display:block !important;
		font-size:11px !important;
		font-weight:700 !important;
		line-height:1.1 !important;
		white-space:nowrap !important;
	}
	.up-mobile-header__location span,
	.up-mobile-header__hours span {
		display:block !important;
		font-size:8.5px !important;
		font-weight:400 !important;
		line-height:1.12 !important;
		white-space:nowrap !important;
	}
	.up-mobile-header__hours i {
		display:block !important;
		width:9px !important;
		height:9px !important;
		min-width:9px !important;
		min-height:9px !important;
		flex:0 0 9px !important;
		border-radius:50% !important;
		background:#39b54a !important;
	}
	.up-mobile-header__toggle {
		flex-direction:column !important;
	}
	.up-mobile-header__toggle span {
		width:24px !important;
		min-width:24px !important;
		flex:0 0 2px !important;
	}
	.up-mobile-header__menu {
		position:absolute !important;
		top:100% !important;
		right:0 !important;
		left:0 !important;
		display:none !important;
		margin:0 !important;
		padding:8px 16px 14px !important;
		background:#fff !important;
		box-shadow:0 8px 14px rgba(0,0,0,.12) !important;
	}
	.up-mobile-header__menu.is-open { display:block !important; }
	.up-mobile-header__menu .up-menu { display:block !important; margin:0 !important; padding:0 !important; list-style:none !important; }
	.up-mobile-header__menu .up-menu a { display:block !important; padding:11px 0 !important; border-bottom:1px solid #eee !important; color:#222 !important; text-decoration:none !important; }
}

/* Final cascade guards for the intermediate desktop cart and price CTA. */
@media (min-width:992px) and (max-width:1199px) {
	body .up-header__main .up-header-cart,
	body .up-sticky-header .up-sticky-header__cart { position:relative !important; }
	body .up-header__main .up-header-cart__count,
	body .up-sticky-header .up-sticky-header__cart .up-header-cart__count {
		top:-5px !important;
		right:auto !important;
		left:18px !important;
		border-color:#fff !important;
		background:#ffd321 !important;
		color:#222 !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 {
	position:absolute !important;
	inset:0 !important;
	z-index:2 !important;
	display:block !important;
	width:100% !important;
	height:100% !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:inherit !important;
	opacity:0 !important;
	cursor:pointer !important;
}
@media (min-width:768px) and (max-width:991px) {
	.up-mobile-header.is-sticky .up-mobile-header__actions { visibility:hidden !important; pointer-events:none !important; }
}

/* Final geometry: the intermediate cart is an icon control, not a displaced full-width cell. */
@media (min-width:992px) and (max-width:1199px) {
	body .up-header__main .up-header-cart,
	body .up-sticky-header .up-sticky-header__cart {
		position:static !important;
		top:auto !important;
		right:auto !important;
		bottom:auto !important;
		left:auto !important;
		width:28px !important;
		min-width:28px !important;
		height:28px !important;
		min-height:28px !important;
		align-self:center !important;
		justify-self:end !important;
	}
	body .up-header__main .up-header-cart__icon,
	body .up-sticky-header .up-sticky-header__cart .up-header-cart__icon {
		position:relative !important;
		display:flex !important;
		width:28px !important;
		max-width:28px !important;
		height:28px !important;
		min-width:28px !important;
		min-height:28px !important;
		flex:0 0 28px !important;
		align-items:center !important;
		justify-content:center !important;
	}
	body .up-header__main .up-header-cart__icon .up-header-cart__count,
	body .up-sticky-header .up-sticky-header__cart .up-header-cart__icon .up-header-cart__count {
		top:-5px !important;
		right:-5px !important;
		bottom:auto !important;
		left:auto !important;
		border-color:#fff !important;
		background:#ffd321 !important;
		color:#222 !important;
	}
}

/* A variation needs a size choice first; until then show its "from" price, not a disabled plus button. */
.up-product-card .up-add-button.disabled,
.up-product-card .up-add-button.is-disabled,
.up-product-card .up-variation-add-button.disabled,
.up-product-card .up-variation-add-button.is-disabled { display:none !important; }

/* Same compact pinned geometry as the smartphone header. */
@media (min-width:768px) and (max-width:991px) {
	.up-mobile-header.is-sticky {
		height:56px !important;
		min-height:56px !important;
		/* Keep the original 80px document footprint while the visible row becomes compact. */
		margin:0 0 24px !important;
		padding-top:8px !important;
		padding-bottom:8px !important;
	}
	.unipizza-page .up-category-sticky,
	.unipizza-page .up-category-sticky.is-stuck,
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky,
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky.is-stuck { top:56px !important; }
}

/* A shadow is a pinned-state cue, never a default state. */
@media (max-width:991px) {
	body:not(.up-mobile-header-stuck) .unipizza-page .up-category-sticky:not(.is-stuck),
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky:not(.is-stuck) { box-shadow:none !important; }
}

/* Tablet sticky categories use the full viewport; phones retain their existing pinned treatment. */
@media (min-width:768px) and (max-width:991px) {
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky.is-stuck,
	body:not(.up-mobile-header-stuck) .unipizza-page .up-category-sticky.is-stuck {
		width:100vw !important;
		max-width:none !important;
		margin-left:calc((100vw - 100%) / -2) !important;
		margin-right:calc((100vw - 100%) / -2) !important;
	}
	body.up-mobile-header-stuck .unipizza-page .up-category-sticky.is-stuck .up-category-tabs,
	body:not(.up-mobile-header-stuck) .unipizza-page .up-category-sticky.is-stuck .up-category-tabs {
		box-sizing:border-box !important;
		padding-left:24px !important;
		padding-right:24px !important;
	}
}

/* Desktop side-cart controls need the same readable scale as the rest of the PC interface. */
@media (min-width:1200px) {
	.up-cart-panel .up-cart-item__content strong { font-size:14px !important; line-height:1.25 !important; }
	.up-cart-panel .up-cart-item__content strong { margin-bottom:5px !important; }
	.up-cart-panel .up-cart-item__content small,
	.up-cart-panel .up-cart-item__content small .amount { font-size:12px !important; line-height:1.3 !important; }
	.up-cart-panel .up-cart-item__content small { margin:0 0 8px !important; }
	.up-cart-panel .up-cart-item__qty button,
	.up-cart-panel .up-cart-item__qty input { font-size:15px !important; line-height:1 !important; }
	.up-cart-panel .up-cart-item__remove { font-size:22px !important; line-height:1 !important; }
}

/* Checkout: explain a disabled order button and mark exactly the blocking control. */
.up-place-order { position:relative !important; }
.up-place-order--blocked::before {
	content:attr(data-up-validation-hint);
	position:absolute;
	bottom:calc(100% + 8px);
	left:50%;
	z-index:20;
	display:none;
	width:max-content;
	max-width:min(360px, calc(100vw - 32px));
	padding:8px 10px;
	transform:translateX(-50%);
	border-radius:6px;
	background:#2d2d2d;
	color:#fff;
	font-size:12px;
	font-weight:600;
	line-height:1.3;
	text-align:center;
	pointer-events:none;
}
.up-place-order--blocked:hover::before { display:block; }
.up-place-order #place_order:disabled { pointer-events:none !important; }
.test11-personal-data input[type="checkbox"].up-consent-error {
	outline:1px solid #ed1c24 !important;
	outline-offset:2px;
}

/* Временное скрытие входа: этот файл подключается после основного CSS. */
.up-login,
.up-mobile-header__login,
.up-sticky-header__login {
	display:none !important;
}

/* В нижней мобильной панели временно скрываем профиль, сохраняя ровную сетку. */
@media (max-width:991px) {
	.up-mobile-bottom-nav {
		grid-template-columns:repeat(3, 1fr) !important;
	}
	.up-mobile-bottom-nav__item:nth-child(3) {
		display:none !important;
	}
}
