/**
 * Olive Ordering — menu & checkout UI.
 */

.olive-ordering-app {
	--olive-gold: #99700a;
	--olive-gold-light: #b8891a;
	--olive-dark: #2f3636;
	--olive-cream: #f3f0e6;
	--olive-lake: #3a7ca5;
	--olive-turquoise: #2eb8c4;
	--olive-radius: 0.85rem;
	--olive-radius-lg: 1.15rem;
	--olive-shadow: 0 8px 30px rgba(47, 54, 54, 0.08);
	--olive-shadow-sm: 0 2px 8px rgba(47, 54, 54, 0.06);
	--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
	--gradient-gold: linear-gradient(135deg, #c99a2e 0%, #99700a 55%, #7a5a08 100%);
	--gradient-gold-hover: linear-gradient(135deg, #99700a 0%, #7a5a08 100%);
	--gradient-cream: linear-gradient(180deg, #faf8f4 0%, #f3f0e6 45%, #ebe6d8 100%);
	--gradient-card: linear-gradient(145deg, #ffffff 0%, #faf7f0 100%);
}

@keyframes olive-fade-up {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes olive-scale-in {
	from {
		opacity: 0;
		transform: scale(0.92);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes olive-cart-pop {
	0% { transform: scale(1); }
	40% { transform: scale(1.35); }
	100% { transform: scale(1); }
}

@keyframes olive-slide-up-bar {
	from {
		opacity: 0;
		transform: translateY(100%);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes olive-modal-in {
	from {
		opacity: 0;
		transform: scale(0.96) translateY(12px);
	}
	to {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

@keyframes olive-success-pop {
	0% { transform: scale(0.9); opacity: 0; }
	60% { transform: scale(1.02); opacity: 1; }
	100% { transform: scale(1); }
}

.olive-ordering-app {
	animation: olive-fade-up 0.5s ease both;
}

/* ── Toolbar ── */
.olive-menu-toolbar {
	position: sticky;
	top: 3.75rem;
	z-index: 102;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 247, 240, 0.96) 100%);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(47, 54, 54, 0.07);
	border-bottom: 1px solid rgba(153, 112, 10, 0.15);
	border-radius: var(--olive-radius);
	padding: 0.55rem 0.65rem 0.6rem;
	margin-bottom: 1rem;
	box-shadow: 0 2px 12px rgba(47, 54, 54, 0.05);
}

.olive-menu-toolbar__row--controls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.45rem;
}

.olive-menu-toolbar__categories {
	flex: 1;
	min-width: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.olive-menu-toolbar__categories::-webkit-scrollbar {
	display: none;
}

.olive-menu-toolbar__label {
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--olive-gold);
}

.olive-menu-toolbar__top {
	display: none;
}

/* Category tabs — single scrollable row */
.olive-category-tabs {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 0.35rem !important;
	padding: 0;
	margin: 0;
	list-style: none;
}

.olive-category-tabs .nav-item {
	margin: 0 !important;
	flex-shrink: 0;
}

.olive-ordering-app .nav-pills .nav-link {
	color: var(--olive-dark);
	border: 1px solid rgba(47, 54, 54, 0.12);
	border-radius: 999px;
	padding: 0.32rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
	background: #fff;
	transition: all 0.2s ease;
	margin: 0;
}

.olive-ordering-app .nav-pills .nav-link:hover {
	border-color: var(--olive-gold);
	color: var(--olive-gold);
	background: #fff;
}

.olive-ordering-app .nav-pills .nav-link.active {
	background: var(--gradient-gold);
	border-color: transparent;
	color: #fff;
	box-shadow: 0 4px 14px rgba(153, 112, 10, 0.28);
}

/* Filters row */
.olive-menu-filters {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.4rem 0.5rem;
}

.olive-menu-filters .olive-filter-btn {
	padding: 0.2rem 0.45rem;
	font-size: 0.72rem;
}

.olive-menu-filters .form-select-sm {
	padding-top: 0.2rem;
	padding-bottom: 0.2rem;
	font-size: 0.75rem;
	min-height: auto;
}

.olive-search-wrap {
	position: relative;
	min-width: 180px;
	max-width: 320px;
	flex: 1 1 180px;
}

.olive-search-wrap .bi-search {
	position: absolute;
	left: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(47, 54, 54, 0.4);
	pointer-events: none;
	font-size: 0.9rem;
}

.olive-search-input {
	padding-left: 2.35rem !important;
	border-radius: 999px !important;
	border-color: rgba(47, 54, 54, 0.12) !important;
	font-size: 0.875rem;
	background: var(--olive-cream);
}

.olive-search-input:focus {
	border-color: var(--olive-gold) !important;
	box-shadow: 0 0 0 3px rgba(153, 112, 10, 0.12) !important;
	background: #fff;
}

.olive-filter-toggles .olive-filter-btn {
	border-radius: 999px !important;
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 0.35rem 0.85rem;
	border-color: rgba(47, 54, 54, 0.15);
}

.olive-filter-toggles .olive-filter-btn.active,
.olive-filter-toggles .olive-filter-btn[aria-pressed="true"] {
	background: var(--olive-gold);
	border-color: var(--olive-gold);
	color: #fff;
}

.olive-sort-select {
	width: auto;
	min-width: 9rem;
	border-radius: 999px !important;
	font-size: 0.8125rem;
	font-weight: 600;
	border-color: rgba(47, 54, 54, 0.12);
	background-color: #fff;
}

.olive-menu-results {
	margin-top: -0.5rem;
}

/* Buttons */
.olive-ordering-app .btn-olive {
	background: var(--gradient-gold);
	border: none;
	color: #fff;
	border-radius: 999px;
	font-weight: 600;
	box-shadow: 0 4px 14px rgba(153, 112, 10, 0.28);
}

.olive-ordering-app .btn-olive:hover,
.olive-ordering-app .btn-olive:focus {
	background: var(--gradient-gold-hover);
	color: #fff;
	transform: translateY(-1px);
}

#olive-cart-count {
	border-radius: 999px;
	min-width: 1.4rem;
	font-weight: 700;
	transition: transform 0.2s ease;
}

#olive-cart-count.is-pop {
	animation: olive-cart-pop 0.45s cubic-bezier(0.34, 1.4, 0.64, 1);
}

.olive-cart-toggle {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.olive-cart-toggle.is-bump {
	animation: olive-cart-pop 0.5s ease;
}

/* Product cards */
.olive-menu-grid {
	margin-top: 0.25rem;
}

.olive-menu-card {
	border: 1px solid rgba(47, 54, 54, 0.07);
	border-radius: var(--olive-radius-lg);
	overflow: hidden;
	background: #fff;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	animation: olive-fade-up 0.45s ease both;
}

.olive-menu-card.is-entering {
	animation: olive-scale-in 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.olive-menu-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--olive-shadow);
}

.olive-menu-card__image-wrap {
	overflow: hidden;
	background: var(--olive-cream);
}

.olive-menu-card__image {
	height: 190px;
	width: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.olive-menu-card:hover .olive-menu-card__image {
	transform: scale(1.05);
}

.olive-menu-card .card-body {
	padding: 1.2rem 1.3rem 1.3rem;
}

.olive-menu-card .card-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.08rem;
	font-weight: 700;
	margin-bottom: 0.35rem;
	line-height: 1.3;
}

.olive-menu-card .olive-price {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--olive-gold);
}

.olive-menu-card .badge {
	font-weight: 600;
	font-size: 0.62rem;
	border-radius: 999px;
}

.olive-menu-card .btn-add {
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 700;
	white-space: nowrap;
}

/* Cart — above sticky header (1030) and mobile bar (1045) */
.olive-cart-offcanvas {
	z-index: 1080 !important;
	display: flex;
	flex-direction: column;
	top: 0;
	right: 0;
	height: 100dvh;
	max-height: 100dvh;
	width: min(100%, 24rem);
}

body.admin-bar .olive-cart-offcanvas {
	top: 32px;
	height: calc(100dvh - 32px);
	max-height: calc(100dvh - 32px);
}

@media (max-width: 782px) {
	body.admin-bar .olive-cart-offcanvas {
		top: 46px;
		height: calc(100dvh - 46px);
		max-height: calc(100dvh - 46px);
	}
}

.offcanvas-backdrop.show {
	z-index: 1075 !important;
}

#olive-checkout-modal {
	z-index: 1090 !important;
}

.modal-backdrop.show {
	z-index: 1085 !important;
}

.olive-cart-offcanvas .offcanvas-header {
	background: var(--olive-cream);
	flex-shrink: 0;
}

.olive-cart-offcanvas .offcanvas-title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 700;
}

.olive-cart-offcanvas__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 1rem;
	padding-bottom: 0;
}

.olive-cart-items {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 0.75rem;
}

.olive-cart-footer {
	flex-shrink: 0;
	background: #fff;
	margin-top: auto;
	padding: 0.85rem 0 calc(1rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 767.98px) {
	body.olive-menu-page .olive-cart-footer {
		padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	}
}

.olive-cart-footer .btn-olive {
	min-height: 2.85rem;
	font-weight: 600;
}

/* ── Checkout modal ── */
.olive-checkout-modal {
	border: none;
	border-radius: 1.25rem;
	overflow: hidden;
	box-shadow: 0 28px 70px rgba(47, 54, 54, 0.2);
}

.modal.show .olive-checkout-modal {
	animation: olive-modal-in 0.35s cubic-bezier(0.34, 1.1, 0.64, 1) both;
}

.olive-checkout-section {
	background: #fafaf8;
	border: 1px solid rgba(47, 54, 54, 0.06);
	border-radius: var(--olive-radius-lg);
	padding: 1.15rem 1.25rem;
	margin-bottom: 1rem;
	animation: olive-fade-up 0.4s ease both;
}

.olive-checkout-section:nth-child(2) { animation-delay: 0.05s; }
.olive-checkout-section:nth-child(3) { animation-delay: 0.1s; }
.olive-checkout-section:nth-child(4) { animation-delay: 0.15s; }

.olive-checkout-modal__header {
	background: linear-gradient(180deg, var(--olive-cream) 0%, #fff 100%);
	padding: 1.35rem 1.5rem 0.5rem !important;
}

.olive-checkout-modal__header .modal-title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 700;
}

.olive-test-badge {
	background: #fef3c7;
	color: #92400e;
	font-size: 0.7rem;
	font-weight: 700;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.olive-checkout-section--last {
	background: #fff;
}

.olive-checkout-section__title {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--olive-gold);
	margin-bottom: 0.85rem;
}

#olive-checkout-form .form-label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--olive-dark);
	margin-bottom: 0.35rem;
}

#olive-checkout-form .form-control,
#olive-checkout-form .form-select {
	border-radius: 0.75rem;
	border-color: rgba(47, 54, 54, 0.12);
	background: #fff;
}

#olive-checkout-form .form-control-lg,
#olive-checkout-form .form-select-lg {
	padding: 0.65rem 0.9rem;
	font-size: 0.9375rem;
}

#olive-checkout-form .form-control:focus,
#olive-checkout-form .form-select:focus {
	border-color: var(--olive-gold);
	box-shadow: 0 0 0 3px rgba(153, 112, 10, 0.12);
}

/* Payment option cards */
.olive-payment-cards {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.olive-payment-card {
	display: block;
	margin: 0;
	cursor: pointer;
}

.olive-payment-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.olive-payment-card__inner {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.9rem 1rem;
	background: #fff;
	border: 2px solid rgba(47, 54, 54, 0.1);
	border-radius: var(--olive-radius);
	transition: border-color 0.2s, box-shadow 0.2s, background 0.2s, transform 0.2s;
}

.olive-payment-card__icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.65rem;
	background: var(--olive-cream);
	color: var(--olive-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.15rem;
	flex-shrink: 0;
}

.olive-payment-card__icon--stripe {
	background: #eef2ff;
	color: #4f46e5;
}

.olive-payment-card__icon--paypal {
	background: #eff6ff;
	color: #0070ba;
}

.olive-payment-card__icon--frisbii {
	background: linear-gradient(135deg, #1a3a5c 0%, #2d6a9f 100%);
	color: #fff;
}

.olive-payment-card__icon--adyen {
	background: #f0fdf4;
	color: #0abf53;
}

.olive-adyen-dropin {
	border: 1px solid rgba(153, 112, 10, 0.2);
	border-radius: 0.75rem;
	padding: 1rem;
	background: #fff;
}

.olive-payment-card__text {
	flex: 1;
	min-width: 0;
}

.olive-payment-card__text strong {
	display: block;
	font-size: 0.9375rem;
	color: var(--olive-dark);
}

.olive-payment-card__text small {
	display: block;
	font-size: 0.75rem;
	color: rgba(47, 54, 54, 0.6);
	line-height: 1.35;
	margin-top: 0.15rem;
}

.olive-payment-card__check {
	color: var(--olive-gold);
	font-size: 1.25rem;
	opacity: 0;
	transition: opacity 0.2s;
}

.olive-payment-card input:checked + .olive-payment-card__inner {
	border-color: var(--olive-gold);
	background: linear-gradient(135deg, rgba(243, 240, 230, 0.5), #fff);
	box-shadow: 0 0 0 3px rgba(153, 112, 10, 0.1);
	transform: scale(1.01);
}

.olive-payment-card input:checked + .olive-payment-card__inner .olive-payment-card__check {
	opacity: 1;
}

.olive-payment-card:hover .olive-payment-card__inner {
	border-color: rgba(153, 112, 10, 0.35);
}

/* SO'USE browse-only mode */
.olive-ordering-app--souse .olive-menu-card__actions .btn-olive {
	min-width: 7.5rem;
}

.olive-souse-banner {
	margin-bottom: 0.5rem;
}

.olive-souse-banner .btn {
	font-size: 0.85rem;
	padding: 0.45rem 0.75rem;
}

.olive-souse-mobile-bar {
	animation: olive-slide-up-bar 0.4s cubic-bezier(0.34, 1.1, 0.64, 1) both;
}

body.olive-menu-page .olive-ordering-app--souse {
	padding-bottom: 4.5rem;
}

@media (min-width: 768px) {
	body.olive-menu-page .olive-ordering-app--souse {
		padding-bottom: 0;
	}
}

/* Mobile cart bar */
.olive-mobile-cart-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1045;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(12px);
	border-top: 1px solid rgba(47, 54, 54, 0.08);
	box-shadow: 0 -8px 30px rgba(47, 54, 54, 0.1);
	animation: olive-slide-up-bar 0.4s cubic-bezier(0.34, 1.1, 0.64, 1) both;
}

body.olive-menu-page {
	padding-bottom: 4.5rem;
}

@media (min-width: 768px) {
	body.olive-menu-page {
		padding-bottom: 0;
	}

	.olive-menu-filters {
		flex-wrap: nowrap;
	}
}

@media (max-width: 575.98px) {
	.olive-menu-toolbar {
		padding: 0.85rem;
		top: 3.15rem;
	}

	.olive-menu-filters {
		flex-wrap: wrap;
	}

	.olive-search-wrap {
		max-width: 100%;
		flex: 1 1 100%;
		min-width: 0;
	}

	.olive-filter-toggles {
		flex: 1 1 auto;
		min-width: 0;
	}

	.olive-filter-toggles .olive-filter-btn {
		padding: 0.35rem 0.55rem;
		font-size: 0.68rem;
	}

	.olive-sort-select {
		flex: 1 1 100%;
		width: 100%;
		min-width: 0;
	}

	.olive-menu-hero-strip__text {
		font-size: 0.875rem;
	}

	.olive-menu-card__image {
		height: 160px;
	}

	.olive-menu-card .card-body {
		padding: 1rem;
	}

	.olive-menu-card .d-flex.justify-content-between {
		flex-wrap: wrap;
	}

	.olive-menu-card .btn-add,
	.olive-menu-card .btn-olive.btn-sm {
		width: 100%;
		justify-content: center;
	}

	.olive-checkout-steps {
		flex-direction: column;
		gap: 0.35rem;
	}

	.olive-checkout-steps__item {
		font-size: 0.72rem;
		padding: 0.45rem 0.5rem;
	}

	#olive-checkout-modal .modal-dialog {
		margin: 0.5rem auto;
		max-width: calc(100vw - 1rem);
	}

	.olive-checkout-modal__header {
		padding: 1rem 1rem 0.35rem !important;
	}

	.olive-checkout-modal .modal-body {
		padding: 0.75rem 1rem 1rem;
	}

	.olive-checkout-section {
		padding: 1rem;
	}

	.olive-payment-card__inner {
		padding: 0.75rem;
		gap: 0.65rem;
	}

	.olive-mobile-cart-bar .container-xxl {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}

@media (max-width: 767.98px) {
	body.olive-menu-page .olive-ordering-app {
		overflow-x: hidden;
	}

	.olive-menu-toolbar__row--controls {
		align-items: flex-start;
	}

	.olive-menu-filters {
		flex-wrap: wrap;
	}

	.olive-menu-hero-strip .container-xxl {
		flex-direction: column;
		align-items: flex-start !important;
	}

	#olive-checkout-modal .modal-dialog.modal-lg {
		max-width: calc(100vw - 1rem);
	}
}

/* Contact form (shared) */
.olive-contact-form .form-label {
	font-weight: 600;
}

.olive-contact-success {
	color: #198754;
	font-weight: 600;
}

/* Toast notifications */
.olive-toast-host {
	position: fixed;
	top: 5.5rem;
	right: 1rem;
	z-index: 1090;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	max-width: min(420px, calc(100vw - 2rem));
	pointer-events: none;
}

.olive-toast {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1rem 1.1rem;
	background: #fff;
	border: 1px solid rgba(47, 54, 54, 0.08);
	border-left: 4px solid var(--olive-gold);
	border-radius: var(--olive-radius);
	box-shadow: 0 16px 40px rgba(47, 54, 54, 0.15);
	opacity: 0;
	transform: translateX(1.25rem) scale(0.95);
	transition: opacity 0.35s cubic-bezier(0.34, 1.2, 0.64, 1),
		transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
	pointer-events: auto;
}

.olive-toast.is-visible {
	opacity: 1;
	transform: translateX(0) scale(1);
}

#olive-order-success:not([hidden]) {
	animation: olive-success-pop 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.olive-adyen-dropin:not([hidden]) {
	animation: olive-fade-up 0.4s ease both;
}

@media (prefers-reduced-motion: reduce) {
	.olive-ordering-app,
	.olive-menu-card,
	.olive-checkout-section,
	.olive-toast,
	.olive-mobile-cart-bar,
	.modal.show .olive-checkout-modal {
		animation: none !important;
		transition: none !important;
	}
}

.olive-toast--error {
	border-left-color: #c41e3a;
}

.olive-toast__icon {
	color: var(--olive-gold);
	font-size: 1.35rem;
	line-height: 1;
	flex-shrink: 0;
}

.olive-toast--error .olive-toast__icon {
	color: #c41e3a;
}

.olive-toast__body {
	flex: 1;
	min-width: 0;
}

.olive-toast__title {
	display: block;
	font-size: 0.9375rem;
	color: var(--olive-dark);
	margin-bottom: 0.2rem;
}

.olive-toast__detail {
	display: block;
	font-size: 0.8125rem;
	color: rgba(47, 54, 54, 0.65);
	line-height: 1.4;
}

.olive-toast__close {
	flex-shrink: 0;
	opacity: 0.5;
}

@media (max-width: 575.98px) {
	.olive-toast-host {
		left: 1rem;
		right: 1rem;
		max-width: none;
	}
}

/* ── v2.6 Menu preview ── */
.olive-menu-preview__chips {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.5rem;
	overflow-x: auto;
	padding-bottom: 0.75rem;
	margin-bottom: 1.25rem;
	scrollbar-width: none;
}

.olive-menu-preview__chips::-webkit-scrollbar {
	display: none;
}

.olive-preview-chip {
	border: 1px solid rgba(47, 54, 54, 0.12);
	background: #fff;
	border-radius: var(--olive-radius-pill);
	padding: 0.45rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--olive-dark-soft);
	white-space: nowrap;
	transition: all 0.2s ease;
}

.olive-preview-chip.is-active,
.olive-preview-chip:hover {
	background: var(--gradient-gold);
	border-color: transparent;
	color: #fff;
}

.olive-preview-card {
	height: 100%;
	overflow: hidden;
	animation: olive-scale-in 0.5s ease both;
}

.olive-preview-card__link {
	display: block;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.olive-preview-card__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--gradient-cream);
}

.olive-preview-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s var(--ease-out-expo, ease);
}

.olive-preview-card:hover .olive-preview-card__media img {
	transform: scale(1.06);
}

.olive-preview-card__body {
	padding: 1rem 1.1rem 1.15rem;
}

.olive-preview-card__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1rem;
	margin-bottom: 0.35rem;
}

.olive-preview-card__desc {
	font-size: 0.8rem;
	color: var(--olive-muted);
	margin-bottom: 0.5rem;
}

.olive-preview-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.olive-preview-card__price {
	font-weight: 700;
	color: var(--olive-gold);
}

/* ── v2.6 Order page ── */
.olive-menu-hero-strip {
	background: linear-gradient(135deg, #2eb8c4 0%, #3a7ca5 55%, #1e5a8a 100%);
	color: #fff;
	border-radius: 0 0 var(--olive-radius-lg) var(--olive-radius-lg);
	margin-bottom: 1.25rem;
}

.olive-menu-hero-strip__eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.92;
}

.olive-menu-hero-strip__text {
	font-size: 0.95rem;
	opacity: 0.95;
}

.olive-menu-hero-strip__badge {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	font-weight: 600;
	padding: 0.5rem 0.85rem;
}

.olive-menu-toolbar.is-sticky {
	position: sticky;
	top: 72px;
	z-index: 1020;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(12px);
	border-radius: var(--olive-radius);
	box-shadow: var(--olive-shadow);
	padding: 0.75rem;
	margin-bottom: 1rem;
}

.olive-menu-card {
	border: none;
	border-radius: var(--olive-radius-lg);
	background: var(--gradient-card);
	box-shadow: var(--olive-shadow-sm);
	overflow: hidden;
	animation: olive-scale-in 0.45s ease both;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.olive-menu-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--olive-shadow);
}

.olive-menu-card__image-btn {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
}

.olive-menu-card__image-wrap {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.olive-menu-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.olive-menu-card:hover .olive-menu-card__image {
	transform: scale(1.05);
}

.olive-checkout-steps {
	display: flex;
	gap: 0.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.olive-checkout-steps__item {
	flex: 1;
	text-align: center;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 0.5rem 0.35rem;
	border-radius: var(--olive-radius-pill);
	background: rgba(47, 54, 54, 0.06);
	color: var(--olive-muted);
	transition: all 0.2s ease;
}

.olive-checkout-steps__item.is-active {
	background: var(--gradient-gold);
	color: #fff;
}

.olive-quickview-modal__img {
	width: 100%;
	border-radius: var(--olive-radius);
	object-fit: cover;
	max-height: 240px;
}

.olive-allergen-accordion .accordion-button {
	font-weight: 600;
	background: transparent;
}

.olive-allergen-accordion .accordion-button:not(.collapsed) {
	color: var(--olive-gold);
	box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
	.olive-menu-card,
	.olive-preview-card {
		animation: none;
	}
}
