:root {
	--menu-accent: #bd2723;
	--menu-green: #25d366;
	--menu-black: #111111;
	--menu-text: #292929;
	--menu-muted: #5f5f5f;
	--menu-border: #e5e5e5;
	--menu-container: 820px;
}


[hidden] {
	display: none !important;
}


html {
	scroll-behavior: smooth;
}


body.dona-order-standalone {
	margin: 0 !important;
	padding: 0 !important;

	background: #ffffff !important;

	overflow-x: hidden;
}


.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
========================================================= */

.amc-top-header {
	padding: 10px 0 8px;

	background: #ffffff;

	border-bottom: 1px solid #eeeeee;
}


.amc-top-header-inner {
	display: grid;

	grid-template-columns:
		60px
		minmax(0, 1fr);

	gap: 12px;

	align-items: center;
}


.amc-top-logo {
	width: 60px;
	height: 60px;

	display: grid;
	place-items: center;

	overflow: hidden;

	border-radius: 50%;

	background: #111111;
}


.amc-top-logo img,
.amc-top-logo .amc-real-logo {
	display: block !important;

	width: 56px !important;
	height: 56px !important;

	max-width: 56px !important;
	max-height: 56px !important;

	object-fit: contain !important;
}


/* =========================================================
   SEARCH
========================================================= */

.amc-top-search {
	position: relative;

	display: flex;
	align-items: center;
}


.amc-search-icon {
	position: absolute;

	left: 20px;

	width: 21px;
	height: 21px;

	border: 2.5px solid #1677ca;

	border-radius: 50%;
}


.amc-search-icon::after {
	content: "";

	position: absolute;

	right: -7px;
	bottom: -5px;

	width: 10px;
	height: 2.5px;

	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;

	background: #ffffff !important;

	font-size: 16px !important;

	outline: none !important;
}


.amc-search-clear {
	position: absolute;

	right: 10px;
	top: 50%;

	width: 36px;
	height: 36px;

	display: grid;
	place-items: center;

	border: 0;

	border-radius: 50%;

	background: #eeeeee;

	font-size: 25px;

	transform: translateY(-50%);
}


/* =========================================================
   VIDEO
========================================================= */

.amc-promo-video {
	padding: 6px 0 18px;
}


.amc-promo-video-frame {
	width: 100%;

	aspect-ratio: 2.05 / 1;

	overflow: hidden;

	border-radius: 18px;

	background: #eeeeee;

	box-shadow:
		0 8px 24px
		rgb(0 0 0 / 10%);
}


.amc-promo-video-frame video {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


/* =========================================================
   CATEGORY SLIDER
========================================================= */

.amc-category-showcase {
	padding: 12px 0;
}


.amc-category-slider {
	overflow: hidden;

	touch-action: pan-y;
}


.amc-category-slider-track {
	display: flex;

	transition:
		transform
		350ms
		cubic-bezier(.22, 1, .36, 1);
}


.amc-category-slider-page {
	flex: 0 0 100%;

	display: grid;

	grid-template-columns:
		repeat(
			4,
			minmax(0, 1fr)
		);

	grid-template-rows:
		repeat(2, auto);

	gap:
		26px 12px;

	padding:
		8px 2px 14px;
}


.amc-category-icon-card {
	display: flex;

	flex-direction: column;

	align-items: center;

	gap: 10px;

	color: #171717 !important;

	text-align: center;

	text-decoration: none !important;
}


.amc-category-icon-media {
	width: 78px;
	height: 78px;

	display: grid;
	place-items: center;

	overflow: hidden;

	border: 2px solid #e22121;

	border-radius: 12px;

	background: #ffffff;

	box-shadow:
		0 5px 14px
		rgb(0 0 0 / 12%);
}


.amc-category-icon-media img {
	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;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}


/* =========================================================
   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;
}


.amc-category-slider-dot.is-active {
	width: 26px;

	background: #111111;
}


/* =========================================================
   STICKY CATEGORY NAV
========================================================= */

.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);
}


.admin-bar
.amc-category-navigation {
	top: 32px;
}


.amc-category-navigation.is-visible {
	display: block;
}


.amc-category-scroll {
	display: flex;

	gap: 10px;

	overflow-x: auto;

	padding: 3px 0 5px;

	scrollbar-width: none;
}


.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;

	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;
}


.amc-menu-category {
	margin-bottom: 48px;

	scroll-margin-top: 82px;
}


/**
 * Nombre grande de la categoría.
 */
.amc-category-title {
	width: 100%;

	margin:
		0
		0
		28px !important;

	color:
		var(--menu-green) !important;

	font-family:
		Georgia,
		"Times New Roman",
		serif !important;

	font-size:
		30px !important;

	font-weight:
		700 !important;

	line-height:
		1.12 !important;

	text-align:
		center !important;
}


/* =========================================================
   PRODUCT
========================================================= */

.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-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 ins {
	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;
}


.amc-product-visual {
	position: relative;

	width: 130px;
	height: 130px;
}


.amc-product-visual img {
	width: 100%;
	height: 100%;

	object-fit: cover;

	border-radius: 20px;

	background: #f2f4f4;
}


.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;

	box-shadow:
		0 3px 12px
		rgb(0 0 0 / 20%);
}


/* =========================================================
   CART
========================================================= */

.amc-order-bar {
	position: fixed;

	right: 0;
	bottom: 0;
	left: 0;

	z-index: 500;

	padding:
		12px
		16px
		calc(
			12px
			+
			env(safe-area-inset-bottom)
		);

	background:
		rgb(255 255 255 / 96%);

	border-top:
		1px solid #e9e9e9;

	box-shadow:
		0 -6px 22px
		rgb(0 0 0 / 9%);
}


.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-size: 17px;

	font-weight: 700;
}


.amc-order-summary {
	display: inline-flex;

	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;

	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;

	border: 0;

	border-radius: 50%;

	background: #eeeeee !important;

	font-size: 30px;
}


.amc-modal-body {
	position: relative;

	height:
		calc(
			100%
			-
			72px
		);
}


.amc-product-frame {
	width: 100%;
	height: 100%;

	border: 0;
}


.amc-modal-loading {
	position: absolute;

	inset: 0;

	z-index: 5;

	display: grid;

	place-content: center;

	background: #ffffff;
}


.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;
}


/* =========================================================
   PRODUCT INSIDE POPUP
========================================================= */

body.amc-quick-product
#wpadminbar,

body.amc-quick-product
header,

body.amc-quick-product
footer,

body.amc-quick-product
.elementor-location-header,

body.amc-quick-product
.elementor-location-footer,

body.amc-quick-product
#site-header,

body.amc-quick-product
#site-footer,

body.amc-quick-product
.woocommerce-breadcrumb,

body.amc-quick-product
.related,

body.amc-quick-product
.up-sells,

body.amc-quick-product
.woocommerce-tabs,

body.amc-quick-product
.product_meta {
	display: none !important;
}


body.amc-quick-product {
	margin: 0 !important;

	background: #ffffff !important;
}


body.amc-quick-product
#page,

body.amc-quick-product
#content,

body.amc-quick-product
.site-main,

body.amc-quick-product
.woocommerce {
	width: 100% !important;

	max-width: none !important;

	margin: 0 !important;

	padding: 0 !important;
}


body.amc-quick-product
div.product {
	width: 100% !important;

	margin: 0 !important;

	padding:
		18px
		18px
		110px !important;
}


body.amc-quick-product
div.product
.woocommerce-product-gallery,

body.amc-quick-product
div.product
.summary {
	width: 100% !important;

	float: none !important;
}


body.amc-quick-product
div.product
.woocommerce-product-gallery {
	max-width: 410px;

	margin:
		0 auto 18px !important;
}


body.amc-quick-product
div.product
.woocommerce-product-gallery img {
	border-radius: 20px;
}


body.amc-quick-product
.product_title {
	font-size:
		27px !important;
}


body.amc-quick-product
.single_add_to_cart_button {
	min-height: 58px;

	border-radius:
		14px !important;

	background:
		var(--menu-accent) !important;

	color:
		#ffffff !important;
}


/* Additional product options */

body.amc-quick-product
.wapf-field-input
input[type="radio"],

body.amc-quick-product
.wapf-field-input
input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;

	min-width: 18px !important;
	min-height: 18px !important;

	margin:
		0 10px 0 0 !important;

	accent-color:
		var(--menu-accent);
}


body.amc-quick-product
.wapf-checkable {
	display: flex !important;

	align-items: center !important;

	width: 100% !important;

	min-height: 48px !important;

	padding:
		12px 14px !important;

	border:
		1px solid #dddddd !important;

	border-radius:
		12px !important;
}


body.amc-quick-product
.wapf-field-input
input:not([type="radio"]):not([type="checkbox"]),

body.amc-quick-product
.wapf-field-input
select,

body.amc-quick-product
.wapf-field-input
textarea {
	width: 100% !important;

	min-height: 48px !important;

	border:
		1px solid #d1d1d1 !important;

	border-radius:
		12px !important;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 768px) {

	body.dona-order-standalone {
		background:
			#f3f3f3 !important;
	}


	.amc-order-page {
		width: min(
			100%,
			880px
		);

		margin-inline: auto;

		box-shadow:
			0 0 35px
			rgb(0 0 0 / 8%);
	}


	.amc-category-icon-media {
		width: 88px;
		height: 88px;
	}


	.amc-category-icon-name {
		font-size: 13px;
	}


	.amc-product-visual {
		width: 150px;
		height: 150px;
	}


	.amc-menu-product {
		grid-template-columns:
			minmax(0, 1fr)
			150px;

		min-height: 195px;
	}

}


/* =========================================================
   SMALL PHONE
========================================================= */

@media (max-width: 390px) {

	.amc-menu-container {
		width:
			calc(
				100% - 22px
			);
	}


	.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;
	}


	.amc-product-visual {
		width: 112px;
		height: 112px;
	}


	.amc-product-name {
		font-size:
			21px !important;
	}


	.amc-category-title {
		font-size:
			28px !important;
	}

}


@keyframes amc-spin {

	to {
		transform:
			rotate(360deg);
	}

}