:root {
	--menu-accent: #bd2723;
	--menu-accent-dark: #941d1a;

	--menu-black: #111111;
	--menu-text: #292929;
	--menu-muted: #5f5f5f;
	--menu-border: #e5e5e5;
	--menu-white: #ffffff;

	--menu-container: 820px;
}


/* =========================================================
   RESET
========================================================= */

[hidden] {
	display: none !important;
}

html {
	scroll-behavior: smooth;
}

body.dona-order-standalone {
	margin: 0 !important;
	padding: 0 !important;

	background: #ffffff !important;

	overflow-x: hidden;
}

body.dona-order-standalone #page,
body.dona-order-standalone #content,
body.dona-order-standalone .site-content,
body.dona-order-standalone .ast-container,
body.dona-order-standalone #primary {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


.amc-order-page,
.amc-order-page *,
.amc-order-page *::before,
.amc-order-page *::after {
	box-sizing: border-box;
}


.amc-order-page {
	width: 100%;
	min-height: 100vh;

	padding-bottom: 115px;

	background: #ffffff;

	color: var(--menu-text);

	font-family:
		Arial,
		Helvetica,
		sans-serif;
}


.amc-menu-container {
	width: calc(100% - 30px);
	max-width: var(--menu-container);

	margin-inline: auto;
}


/* =========================================================
   TOP HEADER
========================================================= */

.amc-top-header {
	width: 100%;

	padding: 10px 0 8px;

	background: #ffffff;

	border-bottom: 1px solid #eeeeee;
}


.amc-top-header-inner {
	display: grid;

	grid-template-columns:
		60px
		minmax(0, 1fr);

	align-items: center;

	gap: 12px;
}


/* =========================================================
   LOGO
========================================================= */

.amc-top-logo {
	width: 60px;
	height: 60px;

	display: grid;
	place-items: center;

	overflow: hidden;

	border-radius: 50%;

	background: #111111;

	text-decoration: none !important;
}


.amc-top-logo img,
.amc-top-logo .dona-brand__image {
	display: block !important;

	width: 56px !important;
	height: 56px !important;

	max-width: 56px !important;
	max-height: 56px !important;

	margin: 0 !important;

	object-fit: contain !important;
}


.amc-top-logo .dona-brand__text {
	display: grid;

	place-items: center;

	width: 100%;
	height: 100%;

	color: #ffffff;

	font-size: 8px;

	text-align: center;
}


/* =========================================================
   SEARCH
========================================================= */

.amc-top-search {
	position: relative;

	width: 100%;

	display: flex;
	align-items: center;
}


.amc-search-icon {
	position: absolute;

	left: 20px;

	z-index: 2;

	width: 21px;
	height: 21px;

	border: 2.5px solid #1677ca;
	border-radius: 50%;

	pointer-events: none;
}


.amc-search-icon::after {
	content: "";

	position: absolute;

	right: -7px;
	bottom: -5px;

	width: 10px;
	height: 2.5px;

	border-radius: 999px;

	background: #1677ca;

	transform: rotate(45deg);
}


#amc-menu-search {
	width: 100%;

	min-height: 60px;

	padding:
		12px
		50px
		12px
		58px !important;

	border: 1px solid #d6d6d6 !important;

	border-radius: 999px !important;

	outline: none !important;

	background: #ffffff !important;

	color: #222222 !important;

	font-family:
		Arial,
		Helvetica,
		sans-serif !important;

	font-size: 16px !important;

	box-shadow:
		0 4px 16px
		rgb(0 0 0 / 5%) !important;
}


#amc-menu-search::placeholder {
	color: #8a8a8a;
	opacity: 1;
}


#amc-menu-search:focus {
	border-color: #888888 !important;
}


.amc-search-clear {
	position: absolute;

	right: 10px;
	top: 50%;

	width: 36px;
	height: 36px;

	display: grid;
	place-items: center;

	padding: 0;

	border: 0;

	border-radius: 50%;

	background: #eeeeee;

	color: #555555;

	font-size: 25px;

	transform: translateY(-50%);

	cursor: pointer;
}


/* =========================================================
   VIDEO / PROMO
========================================================= */

.amc-promo-video {
	width: 100%;

	padding: 6px 0 18px;

	background: #ffffff;
}


.amc-promo-video .amc-menu-container {
	width: calc(100% - 30px);
}


.amc-promo-video-frame {
	width: 100%;

	aspect-ratio: 2.05 / 1;

	overflow: hidden;

	border-radius: 18px;

	background: #f4a21d;

	box-shadow:
		0 8px 24px
		rgb(0 0 0 / 10%);
}


.amc-promo-video-frame video {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	border: 0;
}


/* =========================================================
   CATEGORY SHOWCASE
========================================================= */

.amc-category-showcase {
	width: 100%;

	padding: 12px 0 12px;

	overflow: hidden;

	background: #ffffff;
}


.amc-category-slider {
	width: 100%;

	overflow: hidden;

	touch-action: pan-y;
}


.amc-category-slider-track {
	display: flex;

	width: 100%;

	transform: translate3d(0, 0, 0);

	transition:
		transform
		350ms
		cubic-bezier(.22, 1, .36, 1);
}


.amc-category-slider-page {
	flex: 0 0 100%;

	width: 100%;

	display: grid;

	grid-template-columns:
		repeat(
			4,
			minmax(0, 1fr)
		);

	grid-template-rows:
		repeat(2, auto);

	gap:
		26px
		12px;

	padding:
		8px
		2px
		14px;
}


/* =========================================================
   CATEGORY CARD
========================================================= */

.amc-category-icon-card {
	display: flex;

	flex-direction: column;

	align-items: center;

	gap: 10px;

	min-width: 0;

	color: #171717 !important;

	text-align: center;

	text-decoration: none !important;

	-webkit-tap-highlight-color: transparent;
}


.amc-category-icon-media {
	width: 78px;
	height: 78px;

	display: grid;
	place-items: center;

	overflow: hidden;

	border: 2px solid #368b20;

	border-radius: 12px;

	background: #ffffff;

	box-shadow:
		0 5px 14px
		rgb(0 0 0 / 12%);
}


.amc-category-icon-media img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.amc-category-icon-fallback {
	width: 100%;
	height: 100%;

	display: grid;
	place-items: center;

	background: var(--menu-accent);

	color: #ffffff;

	font-size: 27px;

	font-weight: 700;
}


.amc-category-icon-name {
	display: -webkit-box;

	width: 100%;

	min-height: 32px;

	overflow: hidden;

	color: #171717;

	font-size: 12px;

	font-weight: 700;

	line-height: 1.18;

	text-transform: none;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}


/* =========================================================
   SLIDER DOTS
========================================================= */

.amc-category-slider-dots {
	display: flex;

	align-items: center;
	justify-content: center;

	gap: 8px;

	height: 24px;

	margin-top: 6px;
}


.amc-category-slider-dot {
	width: 9px;
	height: 9px;

	padding: 0;

	border: 0;

	border-radius: 999px;

	background: #cecece;

	cursor: pointer;

	transition:
		width 180ms ease,
		background 180ms ease;
}


.amc-category-slider-dot.is-active {
	width: 26px;

	background: #111111;
}


/* =========================================================
   STICKY CATEGORY NAVIGATION
========================================================= */

.amc-category-navigation {
	position: sticky;

	top: 0;

	z-index: 100;

	display: none;

	padding: 10px 0;

	background:
		rgb(255 255 255 / 97%);

	border-top:
		1px solid #eeeeee;

	border-bottom:
		1px solid #eeeeee;

	box-shadow:
		0 4px 12px
		rgb(0 0 0 / 4%);

	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}


.admin-bar .amc-category-navigation {
	top: 32px;
}


.amc-category-navigation.is-visible {
	display: block;
}


.amc-category-scroll {
	display: flex;

	align-items: center;

	gap: 10px;

	overflow-x: auto;
	overflow-y: hidden;

	padding:
		3px
		0
		5px;

	scrollbar-width: none;

	-webkit-overflow-scrolling: touch;
}


.amc-category-scroll::-webkit-scrollbar {
	display: none;
}


.amc-category-chip {
	flex: 0 0 auto;

	min-height: 52px;

	display: inline-flex;

	align-items: center;
	justify-content: center;

	padding:
		11px
		19px;

	border:
		1px solid #d0d0d0;

	border-radius: 15px;

	background: #ffffff;

	color: #444444 !important;

	font-size: 16px;

	font-weight: 500;

	line-height: 1;

	text-decoration: none !important;

	white-space: nowrap;
}


.amc-category-chip.is-active {
	border-color: #111111;

	background: #111111;

	color: #ffffff !important;
}


/* =========================================================
   MENU
========================================================= */

.amc-menu-content {
	padding:
		30px
		0
		30px;

	background: #ffffff;
}


.amc-menu-category {
	margin-bottom: 48px;

	scroll-margin-top: 82px;
}


.amc-category-title {
	margin:
		0
		0
		24px !important;

	color:
		#059334 !important;

	font-family:
		Georgia,
		"Times New Roman",
		serif !important;

	font-size:
		30px !important;

	font-weight:
		700 !important;

	line-height:
		1.12 !important;

	letter-spacing:
		-0.02em;

	text-align: center !important;

	width: 100%;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.amc-menu-product {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		130px;

	align-items: center;

	gap: 20px;

	min-height: 175px;

	padding:
		20px
		0;

	border-bottom:
		1px solid
		var(--menu-border);
}


.amc-menu-product[hidden] {
	display: none !important;
}


.amc-product-information {
	min-width: 0;
}


.amc-product-name {
	margin:
		0
		0
		6px !important;

	color:
		#171717 !important;

	font-family:
		Georgia,
		"Times New Roman",
		serif !important;

	font-size:
		23px !important;

	font-weight:
		700 !important;

	line-height:
		1.18 !important;
}


.amc-product-price {
	margin-bottom:
		13px;

	color: #111111;

	font-size: 18px;

	font-weight: 700;
}


.amc-product-price del {
	margin-right: 5px;
}


.amc-product-price ins {
	color: #111111;

	text-decoration: none;
}


.amc-product-description {
	display: -webkit-box;

	margin: 0 !important;

	overflow: hidden;

	color:
		#555555 !important;

	font-size:
		15px !important;

	line-height:
		1.5 !important;

	-webkit-box-orient: vertical;

	-webkit-line-clamp: 3;
}


/* =========================================================
   PRODUCT IMAGE
========================================================= */

.amc-product-visual {
	position: relative;

	width: 130px;
	height: 130px;

	align-self: center;
}


.amc-product-visual img {
	display: block;

	width: 100% !important;
	height: 100% !important;

	object-fit: cover;

	border-radius: 20px;

	background: #f2f4f4;
}


/* =========================================================
   PLUS BUTTON
========================================================= */

.amc-product-add {
	position: absolute;

	right: 6px;
	bottom: 6px;

	width: 48px;
	height: 48px;

	display: grid;
	place-items: center;

	padding: 0;

	border:
		1px solid #d0d0d0;

	border-radius: 50%;

	background:
		#ffffff !important;

	color:
		#111111 !important;

	font-size: 34px;

	font-weight: 400;

	line-height: 1;

	cursor: pointer;

	box-shadow:
		0 3px 12px
		rgb(0 0 0 / 20%);

	transition:
		transform 150ms ease,
		box-shadow 150ms ease;
}


.amc-product-add:active {
	transform: scale(.93);
}


/* =========================================================
   EMPTY SEARCH
========================================================= */

.amc-no-results,
.amc-message {
	padding:
		60px
		20px;

	text-align: center;
}


.amc-no-results h2,
.amc-message h1 {
	margin-bottom: 9px;

	font-family:
		Georgia,
		serif;

	font-size: 26px;
}


.amc-no-results p,
.amc-message p {
	color: #777777;

	font-size: 15px;
}


/* =========================================================
   FLOATING CART
========================================================= */

.amc-order-bar {
	position: fixed;

	right: 0;
	bottom: 0;
	left: 0;

	z-index: 500;

	padding:
		12px
		max(
			16px,
			env(safe-area-inset-right)
		)
		calc(
			12px
			+
			env(safe-area-inset-bottom)
		)
		max(
			16px,
			env(safe-area-inset-left)
		);

	background:
		rgb(255 255 255 / 96%);

	border-top:
		1px solid #e9e9e9;

	box-shadow:
		0 -6px 22px
		rgb(0 0 0 / 9%);

	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}


.amc-order-bar-button {
	width:
		min(
			100%,
			var(--menu-container)
		);

	min-height: 64px;

	display: flex;

	align-items: center;
	justify-content: space-between;

	margin-inline: auto;

	padding:
		14px
		22px;

	border: 0;

	border-radius: 15px;

	background:
		var(--menu-accent);

	color: #ffffff;

	font-family:
		Arial,
		Helvetica,
		sans-serif;

	font-size: 17px;

	font-weight: 700;

	cursor: pointer;
}


.amc-order-summary {
	display: inline-flex;

	align-items: center;

	gap: 5px;

	font-size: 15px;

	font-weight: 700;
}


/* =========================================================
   MODAL
========================================================= */

body.amc-modal-open {
	overflow: hidden;
}


.amc-product-modal {
	position: fixed;

	inset: 0;

	z-index: 999999;
}


.amc-modal-backdrop {
	position: absolute;

	inset: 0;

	background:
		rgb(0 0 0 / 55%);
}


.amc-modal-dialog {
	position: absolute;

	right: 0;
	bottom: 0;
	left: 0;

	width:
		min(
			100%,
			var(--menu-container)
		);

	height:
		min(
			93dvh,
			900px
		);

	margin-inline: auto;

	overflow: hidden;

	background: #ffffff;

	border-radius:
		25px
		25px
		0
		0;
}


.amc-modal-header {
	min-height: 72px;

	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 14px;

	padding:
		12px
		18px
		12px
		22px;

	border-bottom:
		1px solid #e8e8e8;
}


.amc-modal-header h2 {
	margin: 0 !important;

	color:
		#111111 !important;

	font-family:
		Georgia,
		serif !important;

	font-size:
		22px !important;
}


.amc-modal-close {
	width: 46px;
	height: 46px;

	display: grid;
	place-items: center;

	flex-shrink: 0;

	padding: 0;

	border: 0;

	border-radius: 50%;

	background:
		#eeeeee !important;

	color:
		#ffffff !important;

	font-size: 30px;

	cursor: pointer;
}


.amc-modal-body {
	position: relative;

	height:
		calc(
			100%
			-
			72px
		);
}


.amc-product-frame {
	display: block;

	width: 100%;
	height: 100%;

	border: 0;

	background: #ffffff;
}


.amc-modal-loading {
	position: absolute;

	inset: 0;

	z-index: 5;

	display: grid;

	place-content: center;
	justify-items: center;

	gap: 12px;

	background: #ffffff;

	color: #777777;

	font-size: 15px;
}


.amc-modal-loading span {
	width: 40px;
	height: 40px;

	border:
		4px solid #dddddd;

	border-top-color:
		var(--menu-accent);

	border-radius: 50%;

	animation:
		amc-spin
		.75s
		linear
		infinite;
}


/* =========================================================
   TABLET / DESKTOP
========================================================= */

@media (min-width: 768px) {

	body.dona-order-standalone {
		background: #f2f2f2 !important;
	}


	.amc-order-page {
		width: min(
			100%,
			880px
		);

		margin-inline: auto;

		box-shadow:
			0
			0
			35px
			rgb(0 0 0 / 9%);
	}


	.amc-menu-container {
		width:
			calc(
				100% - 42px
			);
	}


	.amc-top-header-inner {
		grid-template-columns:
			66px
			minmax(0, 1fr);

		gap: 14px;
	}


	.amc-top-logo {
		width: 66px;
		height: 66px;
	}


	.amc-top-logo img,
	.amc-top-logo .dona-brand__image {
		width: 62px !important;
		height: 62px !important;

		max-width: 62px !important;
		max-height: 62px !important;
	}


	#amc-menu-search {
		min-height: 64px;

		font-size:
			17px !important;
	}


	.amc-category-icon-media {
		width: 88px;
		height: 88px;
	}


	.amc-category-icon-name {
		font-size: 13px;
	}


	.amc-menu-product {
		grid-template-columns:
			minmax(0, 1fr)
			150px;

		min-height: 195px;
	}


	.amc-product-visual {
		width: 150px;
		height: 150px;
	}


	.amc-product-name {
		font-size:
			25px !important;
	}


	.amc-product-price {
		font-size: 19px;
	}


	.amc-product-description {
		font-size:
			16px !important;
	}


	.amc-category-title {
		font-size:
			32px !important;
	}


	.amc-modal-dialog {
		top: 50%;
		bottom: auto;

		height:
			min(
				90vh,
				860px
			);

		border-radius: 25px;

		transform:
			translateY(-50%);
	}

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

	.amc-menu-container {
		width:
			calc(
				100% - 22px
			);
	}


	.amc-top-header-inner {
		grid-template-columns:
			54px
			minmax(0, 1fr);

		gap: 9px;
	}


	.amc-top-logo {
		width: 54px;
		height: 54px;
	}


	.amc-top-logo img,
	.amc-top-logo .dona-brand__image {
		width: 50px !important;
		height: 50px !important;

		max-width: 50px !important;
		max-height: 50px !important;
	}


	#amc-menu-search {
		min-height: 55px;

		padding-left:
			52px !important;

		font-size:
			14px !important;
	}


	.amc-category-slider-page {
		gap:
			22px
			7px;
	}


	.amc-category-icon-media {
		width: 70px;
		height: 70px;
	}


	.amc-category-icon-name {
		font-size: 11px;
	}


	.amc-menu-product {
		grid-template-columns:
			minmax(0, 1fr)
			112px;

		gap: 14px;

		min-height: 155px;

		padding:
			18px 0;
	}


	.amc-product-visual {
		width: 112px;
		height: 112px;
	}


	.amc-product-name {
		font-size:
			21px !important;
	}


	.amc-product-price {
		font-size:
			16px;
	}


	.amc-product-description {
		font-size:
			14px !important;
	}


	.amc-category-title {
		font-size:
			28px !important;
	}


	.amc-category-chip {
		min-height: 48px;

		padding:
			10px
			17px;

		font-size: 15px;
	}

}


/* =========================================================
   ANIMATION
========================================================= */

@keyframes amc-spin {

	to {
		transform:
			rotate(360deg);
	}

}