:root {
	--mlf-primary: var(--ml-primary, #86b882);
	--mlf-primary-hover: var(--ml-primary-hover, #709f6d);
	--mlf-primary-light: var(--ml-primary-light, #f3f8f2);
	--mlf-border: #e2e6e1;
	--mlf-text: #2f3931;
	--mlf-muted: #6f7971;
}


/* Favorites follow the CURRENT STOREFRONT PAGE palette.
 * A men's product shown on a regular MarLec page stays green; when the shopper
 * is actually on a men's-themed page, the selected state becomes blue. */
body.ml-shop-theme-mens {
	--mlf-primary: var(--ml-blue, #597b99);
	--mlf-primary-hover: var(--ml-blue-hover, #456582);
	--mlf-primary-light: var(--ml-light-blue, #e4ebf2);
}
.mlf-toggle,
.mlf-toggle * { box-sizing: border-box; }

.mlf-toggle {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid var(--mlf-border) !important;
	background: rgba(255,255,255,.94) !important;
	color: #454545 !important;
	cursor: pointer;
	font-family: Rajdhani, sans-serif !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	transition: transform .18s ease, border-color .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease;
	z-index: 12;
}

.mlf-toggle:hover,
.mlf-toggle:focus-visible {
	border-color: var(--mlf-primary) !important;
	color: var(--mlf-primary-hover) !important;
	box-shadow: 0 4px 14px rgba(43,60,45,.10);
}

.mlf-toggle:focus-visible { outline: 2px solid var(--mlf-primary); outline-offset: 2px; }
.mlf-toggle.is-saved { color: var(--mlf-primary-hover) !important; background: var(--mlf-primary-light) !important; border-color: var(--mlf-primary) !important; }
.mlf-toggle.is-busy { opacity: .62; pointer-events: none; }
.mlf-heart { display: inline-flex; align-items: center; justify-content: center; }
.mlf-heart svg { display: block; width: 21px; height: 21px; fill: currentColor; stroke: none; }
.mlf-heart__fill { display: none; }
.mlf-toggle.is-saved .mlf-heart__outline { display: none; }
.mlf-toggle.is-saved .mlf-heart__fill { display: block; }
.mlf-toggle.is-saved { color: var(--mlf-primary-hover) !important; }


/* MarLec Shop + standard loop hearts */
.ml-product-image > .mlf-toggle--card,
.products .product > .mlf-toggle--loop {
	position: absolute !important;
	top: auto !important;
	right: 12px !important;
	bottom: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50% !important;
	line-height: 1 !important;
}

.ml-product-image > .mlf-toggle--card .mlf-toggle__text,
.products .product > .mlf-toggle--loop .mlf-toggle__text { display: none !important; }

.products .product { position: relative; }

/* MarLec custom product page: JS places this in the image wrapper. */
.mlpp__main-image-wrap > .mlf-toggle--single {
	position: absolute !important;
	top: auto !important;
	right: 14px !important;
	bottom: 14px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	min-height: 40px !important;
	padding: 7px 12px !important;
	border-radius: 999px !important;
	font-size: 15px !important;
	line-height: 1 !important;
}

.mlf-standard-single { margin: 8px 0 14px; }
.mlf-standard-single .mlf-toggle--single {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 40px;
	padding: 7px 13px;
	border-radius: 9px !important;
	font-size: 16px;
}

/* Favorites page */
.mlf-page { width: 100%; font-family: Rajdhani, sans-serif; color: var(--mlf-text); }

/* The public Favorites page should behave like the custom shop pages, not a
 * default Divi page with its own title/sidebar widgets. */
body.mlf-favorites-page #main-content .entry-title { display: none !important; }
body.mlf-favorites-page #sidebar { display: none !important; }
body.mlf-favorites-page #left-area { width: 100% !important; padding-right: 0 !important; float: none !important; }
body.mlf-favorites-page #main-content .container::before { display: none !important; }
body.mlf-favorites-page .widget_recently_viewed_products { display: none !important; }

.mlf-page__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--mlf-border); }
.mlf-page__top h1 { margin: 0 0 4px !important; padding: 0 !important; font-family: Rajdhani, sans-serif !important; font-size: clamp(28px,3vw,40px) !important; font-weight: 600 !important; text-transform: uppercase; }
.mlf-page__intro { margin: 0 !important; color: var(--mlf-muted); font-size: 17px; line-height: 1.3 !important; text-transform: uppercase; letter-spacing: .01em; }
.mlf-page__count { flex: 0 0 auto; font-size: 16px; font-weight: 600; text-transform: uppercase; color: var(--mlf-muted); }
.mlf-status { padding: 24px 0; text-align: center; color: var(--mlf-muted); font-size: 16px; }
.mlf-results .ml-shop-grid { margin-left: -10px !important; margin-right: -10px !important; width: calc(100% + 20px) !important; }

.mlf-empty { max-width: 560px; margin: 34px auto; padding: 34px 26px; text-align: center; border: 1px solid var(--mlf-border); border-radius: 9px; background: #fff; }
.mlf-empty__heart { display: inline-flex; color: var(--mlf-primary); margin-bottom: 8px; }
.mlf-empty__heart svg { width: 34px; height: 34px; }
.mlf-empty h2 { margin: 0 0 7px !important; padding: 0 !important; font-family: Rajdhani, sans-serif !important; font-size: 24px !important; font-weight: 600 !important; text-transform: uppercase; }
.mlf-empty p { margin: 0 0 18px !important; color: var(--mlf-muted); font-size: 17px; }
.mlf-button { display: inline-flex !important; align-items: center; justify-content: center; min-height: 42px; padding: 8px 18px !important; border: 1px solid var(--mlf-primary) !important; border-radius: 9px !important; background: var(--mlf-primary) !important; color: #fff !important; font-family: Rajdhani, sans-serif !important; font-size: 17px !important; font-weight: 600 !important; letter-spacing: .02em; text-decoration: none !important; text-transform: uppercase; }
.mlf-button:hover,.mlf-button:focus-visible { background: var(--mlf-primary-hover) !important; border-color: var(--mlf-primary-hover) !important; color: #fff !important; }

/* Fallback cards if MarLec Shop is inactive. */
.mlf-grid:not(.ml-shop-grid) { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.mlf-card { position: relative; min-width: 0; padding: 10px; border: 1px solid var(--mlf-border); border-radius: 9px; background: #fff; text-align: center; }
.mlf-card > .mlf-toggle { position: absolute; top: 18px; right: 18px; width: 38px; height: 38px; padding: 0; border-radius: 50% !important; }
.mlf-card > .mlf-toggle .mlf-toggle__text { display: none; }
.mlf-card a { color: inherit !important; text-decoration: none !important; }
.mlf-card__image { overflow: hidden; aspect-ratio: 1; border-radius: 6px; }
.mlf-card__image img { width: 100%; height: 100%; object-fit: cover; }
.mlf-card h3 { margin: 10px 0 4px !important; font-family: Rajdhani,sans-serif !important; font-size: 18px !important; font-weight: 500 !important; text-transform: uppercase; }
.mlf-card__price { font-size: 18px; color: var(--mlf-primary-hover); }

/* Optional header icon shortcode */
.mlf-header-link {
	position: relative;
	display: inline-grid !important;
	place-items: center;
	flex: 0 0 25px !important;
	width: 25px !important;
	min-width: 25px !important;
	max-width: 25px !important;
	height: 25px !important;
	min-height: 25px !important;
	max-height: 25px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	background: transparent !important;
	box-shadow: none !important;
	color: #454545 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	vertical-align: middle;
	transform: translateX(-2px);
}
.mlf-header-link .mlf-heart {
	display: inline-grid !important;
	place-items: center;
	width: 25px !important;
	height: 25px !important;
	line-height: 1;
	transform: none !important;
}
.mlf-header-link .mlf-heart svg {
	display: block !important;
	width: 25px !important;
	height: 25px !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	color: currentColor !important;
	fill: currentColor !important;
	transform: none;
	transition: transform 180ms ease !important;
}
.mlf-header-link:hover,
.mlf-header-link:focus-visible {
	background: transparent !important;
	color: #454545 !important;
}
.mlf-header-link:hover .mlf-heart svg,
.mlf-header-link:focus-visible .mlf-heart svg {
	transform: scale(1.16);
}
.mlf-header-link:focus-visible {
	outline: 2px solid var(--ml-primary, #86b882);
	outline-offset: 3px;
}
.mlf-header-count {
	position: absolute !important;
	top: auto !important;
	right: -7px !important;
	bottom: -3px !important;
	display: grid !important;
	flex: none !important;
	place-items: center;
	width: 19px !important;
	min-width: 19px !important;
	max-width: 19px !important;
	height: 19px !important;
	min-height: 19px !important;
	max-height: 19px !important;
	margin: 0 !important;
	padding: 0 2px !important;
	border: 2px solid #fff !important;
	border-radius: 50% !important;
	background: var(--mlf-primary) !important;
	color: #fff !important;
	font-family: Rajdhani,sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 15px;
	text-align: center;
	transform: none !important;
	z-index: 2;
}
.mlf-header-label { font-family: Rajdhani,sans-serif; font-weight: 600; text-transform: uppercase; }

/* Make the Favorites icon match the custom MarLec Account navigation. */
.mla-account-nav__item--favorites .mla-menu-icon svg,
.mla-dropdown-menu__item[href*="/favorites"] .mla-menu-icon svg { display: none !important; }
.mla-account-nav__item--favorites .mla-menu-icon::before,
.mla-dropdown-menu__item[href*="/favorites"] .mla-menu-icon::before { content: ""; display: block; width: 24px; height: 24px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.96173%2018.9109L9.42605%2018.3219L8.96173%2018.9109ZM12%205.50063L11.4596%206.02073C11.601%206.16763%2011.7961%206.25063%2012%206.25063C12.2039%206.25063%2012.399%206.16763%2012.5404%206.02073L12%205.50063ZM15.0383%2018.9109L15.5026%2019.4999L15.0383%2018.9109ZM9.42605%2018.3219C7.91039%2017.1271%206.25307%2015.9603%204.93829%2014.4798C3.64922%2013.0282%202.75%2011.3345%202.75%209.1371H1.25C1.25%2011.8026%202.3605%2013.8361%203.81672%2015.4758C5.24723%2017.0866%207.07077%2018.3752%208.49742%2019.4999L9.42605%2018.3219ZM2.75%209.1371C2.75%206.98623%203.96537%205.18252%205.62436%204.42419C7.23607%203.68748%209.40166%203.88258%2011.4596%206.02073L12.5404%204.98053C10.0985%202.44352%207.26409%202.02539%205.00076%203.05996C2.78471%204.07292%201.25%206.42503%201.25%209.1371H2.75ZM8.49742%2019.4999C9.00965%2019.9037%209.55954%2020.3343%2010.1168%2020.6599C10.6739%2020.9854%2011.3096%2021.25%2012%2021.25V19.75C11.6904%2019.75%2011.3261%2019.6293%2010.8736%2019.3648C10.4213%2019.1005%209.95208%2018.7366%209.42605%2018.3219L8.49742%2019.4999ZM15.5026%2019.4999C16.9292%2018.3752%2018.7528%2017.0866%2020.1833%2015.4758C21.6395%2013.8361%2022.75%2011.8026%2022.75%209.1371H21.25C21.25%2011.3345%2020.3508%2013.0282%2019.0617%2014.4798C17.7469%2015.9603%2016.0896%2017.1271%2014.574%2018.3219L15.5026%2019.4999ZM22.75%209.1371C22.75%206.42503%2021.2153%204.07292%2018.9992%203.05996C16.7359%202.02539%2013.9015%202.44352%2011.4596%204.98053L12.5404%206.02073C14.5983%203.88258%2016.7639%203.68748%2018.3756%204.42419C20.0346%205.18252%2021.25%206.98623%2021.25%209.1371H22.75ZM14.574%2018.3219C14.0479%2018.7366%2013.5787%2019.1005%2013.1264%2019.3648C12.6739%2019.6293%2012.3096%2019.75%2012%2019.75V21.25C12.6904%2021.25%2013.3261%2020.9854%2013.8832%2020.6599C14.4405%2020.3343%2014.9903%2019.9037%2015.5026%2019.4999L14.574%2018.3219Z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.96173%2018.9109L9.42605%2018.3219L8.96173%2018.9109ZM12%205.50063L11.4596%206.02073C11.601%206.16763%2011.7961%206.25063%2012%206.25063C12.2039%206.25063%2012.399%206.16763%2012.5404%206.02073L12%205.50063ZM15.0383%2018.9109L15.5026%2019.4999L15.0383%2018.9109ZM9.42605%2018.3219C7.91039%2017.1271%206.25307%2015.9603%204.93829%2014.4798C3.64922%2013.0282%202.75%2011.3345%202.75%209.1371H1.25C1.25%2011.8026%202.3605%2013.8361%203.81672%2015.4758C5.24723%2017.0866%207.07077%2018.3752%208.49742%2019.4999L9.42605%2018.3219ZM2.75%209.1371C2.75%206.98623%203.96537%205.18252%205.62436%204.42419C7.23607%203.68748%209.40166%203.88258%2011.4596%206.02073L12.5404%204.98053C10.0985%202.44352%207.26409%202.02539%205.00076%203.05996C2.78471%204.07292%201.25%206.42503%201.25%209.1371H2.75ZM8.49742%2019.4999C9.00965%2019.9037%209.55954%2020.3343%2010.1168%2020.6599C10.6739%2020.9854%2011.3096%2021.25%2012%2021.25V19.75C11.6904%2019.75%2011.3261%2019.6293%2010.8736%2019.3648C10.4213%2019.1005%209.95208%2018.7366%209.42605%2018.3219L8.49742%2019.4999ZM15.5026%2019.4999C16.9292%2018.3752%2018.7528%2017.0866%2020.1833%2015.4758C21.6395%2013.8361%2022.75%2011.8026%2022.75%209.1371H21.25C21.25%2011.3345%2020.3508%2013.0282%2019.0617%2014.4798C17.7469%2015.9603%2016.0896%2017.1271%2014.574%2018.3219L15.5026%2019.4999ZM22.75%209.1371C22.75%206.42503%2021.2153%204.07292%2018.9992%203.05996C16.7359%202.02539%2013.9015%202.44352%2011.4596%204.98053L12.5404%206.02073C14.5983%203.88258%2016.7639%203.68748%2018.3756%204.42419C20.0346%205.18252%2021.25%206.98623%2021.25%209.1371H22.75ZM14.574%2018.3219C14.0479%2018.7366%2013.5787%2019.1005%2013.1264%2019.3648C12.6739%2019.6293%2012.3096%2019.75%2012%2019.75V21.25C12.6904%2021.25%2013.3261%2020.9854%2013.8832%2020.6599C14.4405%2020.3343%2014.9903%2019.9037%2015.5026%2019.4999L14.574%2018.3219Z'/%3E%3C/svg%3E") center/contain no-repeat; }

@media (max-width: 1024px) {
	.mlf-results .ml-shop-grid { --ml-columns: 3 !important; }
	.mlf-grid:not(.ml-shop-grid) { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 767px) {
	.ml-product-image > .mlf-toggle--card,
	.products .product > .mlf-toggle--loop { top: auto !important; right: 10px !important; bottom: 10px !important; width: 35px !important; height: 35px !important; min-width: 35px !important; min-height: 35px !important; }
	.mlf-toggle .mlf-heart svg { width: 19px; height: 19px; }
	.mlpp__main-image-wrap > .mlf-toggle--single { top: auto !important; right: 10px !important; bottom: 10px !important; min-height: 38px !important; padding: 6px 10px !important; font-size: 14px !important; }
	.mlf-page__top { align-items: flex-start; flex-direction: column; gap: 8px; }
	.mlf-page__intro { font-size: 15px; line-height: 1.25 !important; }
	.mlf-page__count { font-size: 15px; }
	.mlf-results .ml-shop-grid { --ml-columns: 2 !important; }
	.mlf-grid:not(.ml-shop-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
	.mlf-empty { margin: 24px auto; padding: 28px 18px; }
}
