/* ManaMana Products — base styles. Every value here can be overridden from the Elementor style tab. */

.elementor-widget-mm-product-image,
.elementor-widget-mm-labels-pills,
.elementor-widget-mm-labels-marquee,
.elementor-widget-mm-product-details,
.elementor-widget-mm-product-specifications,
.elementor-widget-mm-nutrition-facts,
.elementor-widget-mm-product-ingredients,
.elementor-widget-mm-product-catalog {
	--mm-green: #112c13;
	--mm-cream: #fff8e9;
}

.mm-editor-notice {
	padding: 12px 16px;
	border: 1px dashed #c3c4c7;
	border-radius: 6px;
	font: 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: #50575e;
	background: #f6f7f7;
}

.mm-section-title { margin: 0 0 16px; }

/* Image */
.mm-image img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; }

/* Title / description */
.mm-title { margin: 0; }
.mm-title a { color: inherit; text-decoration: none; }
.mm-description > :last-child { margin-bottom: 0; }

/* Pills */
.mm-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mm-pill {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	padding: 6px 14px;
	border: 1px solid var(--mm-green, #112c13);
	border-radius: 999px;
	color: var(--mm-green, #112c13);
	background-color: transparent;
	font-size: 14px;
	line-height: 1.2;
	transition: color .2s, background-color .2s, border-color .2s;
}

/* Label icons (pills, marquee, catalog) */
.mm-label { display: inline-flex; align-items: center; gap: .45em; }
.mm-label__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	font-size: 1em;
	line-height: 1;
}
.mm-label__icon--img { object-fit: contain; }
.mm-label__icon--tint {
	background-color: currentColor;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}
.mm-label__icon--lib svg { width: 1em; height: 1em; fill: currentColor; }
.mm-label__icon--lib i { font-size: 1em; }
.mm-marquee-outline-yes .mm-label__icon--tint { background-color: var(--mm-cream, #fff8e9); }

/* Marquee */
.mm-marquee {
	--mm-marquee-gap: 32px;
	--mm-marquee-fade: 80px;
	display: flex;
	overflow: hidden;
	background-color: var(--mm-green, #112c13);
	padding: 16px 0;
}
.mm-marquee.has-fade {
	-webkit-mask-image: linear-gradient(to right, transparent, #000 var(--mm-marquee-fade), #000 calc(100% - var(--mm-marquee-fade)), transparent);
	mask-image: linear-gradient(to right, transparent, #000 var(--mm-marquee-fade), #000 calc(100% - var(--mm-marquee-fade)), transparent);
}
.mm-marquee__track {
	display: flex;
	flex-shrink: 0;
	width: max-content;
	animation: mm-marquee 30s linear infinite;
	will-change: transform;
}
.mm-marquee--right .mm-marquee__track { animation-direction: reverse; }
.mm-marquee.is-pausable:hover .mm-marquee__track { animation-play-state: paused; }
.mm-marquee__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--mm-marquee-gap);
	padding-right: var(--mm-marquee-gap);
}
.mm-marquee__item {
	white-space: nowrap;
	color: var(--mm-cream, #fff8e9);
	font-size: 35px;
	line-height: 30px;
}
.mm-marquee__item.mm-pill { border-color: var(--mm-cream, #fff8e9); font-size: 16px; line-height: 1.2; }
.mm-marquee-outline-yes .mm-marquee__item {
	color: transparent !important;
	-webkit-text-stroke-color: var(--mm-cream, #fff8e9);
	-webkit-text-stroke-width: 1px;
}
.mm-marquee__sep {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	font-size: 20px;
	color: var(--mm-cream, #fff8e9);
}
.mm-marquee__sep svg { width: 1em; height: 1em; fill: currentColor; }

@keyframes mm-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.mm-marquee__track { animation: none; }
}

/* Details / specifications */
.mm-kv {
	--mm-kv-divider-color: rgba(17, 44, 19, .2);
	--mm-kv-divider-width: 1px;
	--mm-kv-divider-style: solid;
}
.mm-kv__list { margin: 0; padding: 0; display: flex; flex-direction: column; }
.mm-kv__row { display: flex; gap: 16px; padding: 10px 0; }
.mm-kv__label { margin: 0; font-weight: 700; }
.mm-kv__value { margin: 0; }
.mm-kv--rows .mm-kv__row { justify-content: space-between; align-items: baseline; }
.mm-kv--rows .mm-kv__label { flex: 0 0 40%; }
.mm-kv--rows .mm-kv__value { flex: 1 1 auto; text-align: right; }
.mm-kv--stacked .mm-kv__row,
.mm-kv--grid .mm-kv__row { flex-direction: column; gap: 4px; }
.mm-kv--grid .mm-kv__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.mm-kv-divider-yes .mm-kv__row { border-bottom: var(--mm-kv-divider-width) var(--mm-kv-divider-style) var(--mm-kv-divider-color); }
.mm-kv-divider-yes .mm-kv--rows .mm-kv__row:last-child,
.mm-kv-divider-yes .mm-kv--stacked .mm-kv__row:last-child { border-bottom: 0; }

/* Ingredients */
.mm-ingredients__content { margin: 0; }
.mm-ingredients__content > :last-child { margin-bottom: 0; }
.mm-ingredients__list { padding-left: 1.2em; }

/* Nutrition facts (Figma: Nutrition Facts Panel) */
.mm-nf {
	--mm-nf-rule: #112c13;
	--mm-nf-rule-thin: 1px;
	--mm-nf-rule-medium: 5px;
	--mm-nf-rule-thick: 10px;
	--mm-nf-indent: 16px;
	--mm-nf-row-pad: 4px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	max-width: 460px;
	padding: 18px 20px;
	border: 1.5px solid #112c13;
	border-radius: 16px;
	background: #fff;
	color: #112c13;
	font-size: 16px;
	line-height: normal;
}
.mm-nf__title { font-size: 44px; font-weight: 900; line-height: 1.1; }
.mm-nf__rule { width: 100%; background: var(--mm-nf-rule); flex: 0 0 auto; }
.mm-nf__rule--thin { height: var(--mm-nf-rule-thin); }
.mm-nf__rule--medium { height: var(--mm-nf-rule-medium); }
.mm-nf__rule--thick { height: var(--mm-nf-rule-thick); }
.mm-nf__servings { font-size: 17px; }
.mm-nf__serving-size {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 2px 0 6px;
	font-size: 19px;
	font-weight: 900;
}
.mm-nf__aps { font-size: 13px; font-weight: 700; }
.mm-nf__dv-head { padding: 4px 0; text-align: right; font-size: 13px; font-weight: 700; }
.mm-nf__calories { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 2px; font-weight: 900; }
.mm-nf__cal-label { font-size: 32px; line-height: 1.1; }
.mm-nf__cal-value { font-size: 44px; line-height: 1; }
.mm-nf__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: var(--mm-nf-row-pad) 0;
}
.mm-nf__row--indent-1 .mm-nf__row-label { padding-left: var(--mm-nf-indent); }
.mm-nf__row--indent-2 .mm-nf__row-label { padding-left: calc(var(--mm-nf-indent) * 2); }
.mm-nf__row.is-bold .mm-nf__name { font-weight: 700; }
.mm-nf__dv { font-weight: 700; white-space: nowrap; }
.mm-nf__name { white-space: pre-wrap; }
.mm-nf__footnote { margin: 8px 0 0; font-size: 12px; line-height: 1.3; }

/* Catalog */
.mm-catalog__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.mm-catalog__filter {
	cursor: pointer;
	padding: 8px 16px;
	border: 1px solid var(--mm-green, #112c13);
	border-radius: 999px;
	background: transparent;
	color: var(--mm-green, #112c13);
	font: inherit;
	line-height: 1.2;
	transition: color .2s, background-color .2s, border-color .2s;
}
.mm-catalog__filter.is-active { background: var(--mm-green, #112c13); color: var(--mm-cream, #fff8e9); }
.mm-catalog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.mm-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform .25s, box-shadow .25s, background-color .25s, border-color .25s;
}
.mm-card[hidden] { display: none; }
.mm-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}
.mm-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.mm-card__labels--overlay { position: absolute; top: 12px; left: 12px; right: 12px; z-index: 2; pointer-events: none; }
.mm-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 0 0; flex: 1 1 auto; }
.mm-card__title { margin: 0; }
.mm-card__title a { color: inherit; text-decoration: none; }
.mm-card__excerpt > :last-child { margin-bottom: 0; }
.mm-card__button {
	display: inline-flex;
	margin-top: auto;
	padding: 10px 20px;
	border: 1px solid var(--mm-green, #112c13);
	border-radius: 999px;
	background: var(--mm-green, #112c13);
	color: var(--mm-cream, #fff8e9);
	text-decoration: none;
	line-height: 1.2;
	transition: color .2s, background-color .2s, border-color .2s;
}
.mm-catalog-cardlink-yes .mm-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mm-catalog-cardlink-yes .mm-card__button { position: relative; z-index: 2; }
.mm-catalog__pagination { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 40px; }
.mm-catalog__pagination .page-numbers {
	display: inline-flex;
	min-width: 40px;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--mm-green, #112c13);
	text-decoration: none;
}
.mm-catalog__pagination .page-numbers.current { background: var(--mm-green, #112c13); color: var(--mm-cream, #fff8e9); }
.mm-catalog__empty { margin: 0; }
