/* Shared safeguards for the final-customer experience. Keep selectors scoped so
   inline links and legacy admin controls retain their intended dimensions. */
:where(button, [type="button"], [type="submit"], [role="button"], .btn, .mfp-close):focus-visible,
:where(input, select, textarea, a):focus-visible {
	outline: 3px solid var(--restaurant-focus, #087f75);
	outline-offset: 3px;
}

:where(button, [type="button"], [type="submit"], [role="button"], .btn, .mfp-close) {
	min-height: 44px;
}

.mfp-close,
.cpp-checkout-header .close,
.smart-table-modal .close {
	min-width: 44px;
}

header.header_in #logo > a,
header.header_in a.open_close,
header.header_in .cpp-profile-entry,
header.header_in ul#top_menu li a.cart_bt {
	box-sizing: border-box;
	min-height: 44px;
	min-width: 44px;
}

header.header_in #logo > a,
header.header_in a.open_close {
	align-items: center;
	display: inline-flex;
	justify-content: center;
}

header.header_in ul#top_menu li a.cart_bt::before {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

header.header_in ul#top_menu li a.cart_bt strong {
	bottom: 0 !important;
	right: 0;
}

.cpp-sticky-submit,
.bottomAddToCart,
.product-modal-actionbar {
	padding-bottom: max(12px, env(safe-area-inset-bottom));
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within { scroll-behavior: auto !important; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
