/**
 * Mashouf Account Hub 2.0
 * One OTP login, one customer hub and in-panel cooperation membership.
 */

:root {
	--msha-green: #173f2a;
	--msha-green-2: #1e4d36;
	--msha-green-soft: #edf3ef;
	--msha-gold: #c89b4c;
	--msha-gold-deep: #a97725;
	--msha-gold-soft: #fff7e9;
	--msha-cream: #f7f3ea;
	--msha-surface: #fffdfa;
	--msha-text: #1f2d25;
	--msha-muted: #727873;
	--msha-line: rgba(30, 77, 54, 0.13);
	--msha-gold-line: rgba(200, 155, 76, 0.32);
	--msha-shadow: 0 14px 38px rgba(19, 54, 37, 0.08);
	--msha-radius: 17px;
	--msha-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.msh-login-only,
.msh-login-only *,
.msh-account-identity,
.msh-account-identity *,
.msh-customer-dashboard,
.msh-customer-dashboard *,
.msh-account-section,
.msh-account-section *,
.msh-membership-page,
.msh-membership-page * {
	box-sizing: border-box;
}

.msh-icon {
	display: block;
	width: 24px;
	height: 24px;
	flex: 0 0 auto;
}

/* -------------------------------------------------------------------------
 * Guest: a single login surface. Digits can create the customer silently on
 * the first verified mobile; registration, email and password UI stay hidden.
 * ---------------------------------------------------------------------- */

.msh-login-only {
	position: relative;
	width: min(100%, 520px);
	margin: 32px auto 64px;
	padding: 34px;
	overflow: hidden;
	border: 1px solid var(--msha-gold-line);
	border-radius: 25px;
	background:
		radial-gradient(circle at 100% 0, rgba(234, 217, 181, 0.34), transparent 33%),
		linear-gradient(145deg, #fff, var(--msha-surface));
	box-shadow: 0 22px 62px rgba(17, 49, 34, 0.13);
	color: var(--msha-text);
	font-family: inherit;
	text-align: right;
	direction: rtl;
	isolation: isolate;
}

.msh-login-only::before {
	position: absolute;
	z-index: -1;
	top: -108px;
	left: -90px;
	width: 230px;
	height: 230px;
	border: 1px solid rgba(200, 155, 76, 0.15);
	border-radius: 50%;
	content: "";
}

.msh-login-only__brand {
	display: flex;
	margin-bottom: 24px;
	color: var(--msha-green);
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.msh-login-only__brand > span {
	display: grid;
	width: 39px;
	height: 39px;
	border: 1px solid var(--msha-gold-line);
	border-radius: 13px;
	background: var(--msha-gold-soft);
	color: var(--msha-gold-deep);
	place-items: center;
}

.msh-login-only__brand > span .msh-icon {
	width: 25px;
	height: 25px;
}

.msh-login-only__brand strong {
	font-size: 22px;
	font-weight: 850;
	letter-spacing: -0.3px;
}

.msh-login-only__header {
	margin-bottom: 22px;
	text-align: center;
}

.msh-login-only__header h1 {
	margin: 0;
	color: var(--msha-green);
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 850;
	line-height: 1.5;
}

.msh-login-only__header p {
	max-width: 390px;
	margin: 7px auto 0;
	color: var(--msha-muted);
	font-size: 13px;
	line-height: 1.9;
}

.msh-login-only__form {
	min-height: 130px;
}

.msh-login-only__form :is(input[type="tel"], input[type="text"], input[type="number"]) {
	width: 100% !important;
	min-height: 54px !important;
	margin: 0 0 12px !important;
	border: 1px solid rgba(30, 77, 54, 0.2) !important;
	border-radius: 13px !important;
	outline: 0 !important;
	background: #fff !important;
	color: var(--msha-text) !important;
	box-shadow: none !important;
	font-family: inherit !important;
	text-align: right !important;
	direction: ltr;
}

.msh-login-only__form :is(input[type="tel"], input[type="text"], input[type="number"]):focus {
	border-color: var(--msha-gold) !important;
	box-shadow: 0 0 0 3px rgba(200, 155, 76, 0.12) !important;
}

.msh-login-only__form :is(button[type="submit"], input[type="submit"], .button, .digits-form_submit) {
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 10px 20px !important;
	border: 0 !important;
	border-radius: 13px !important;
	background: linear-gradient(145deg, #235a40, var(--msha-green)) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	box-shadow: 0 10px 24px rgba(23, 63, 42, 0.2) !important;
}

.msh-login-only__form :is(input[type="password"], input[type="email"]),
.msh-login-only__form :is(.dig_register, .dig_reg_btn, .digits-form_register, .digits-form_footer, .digits-form_footer_content, .forgot, .lost_password, [data-form="signup"]),
.msh-login-only__form [data-msh-auth-hidden],
.msh-login-only__form .msh-dial-code-hidden,
[data-msh-login-form] .msh-dial-code-hidden,
[data-msh-login-form] [data-msh-auth-hidden],
[data-msh-login-form] .msh-password-login-hidden {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

/* Digits 9.x official shortcode: keep its AJAX flow intact and only
   normalize the visual surface to mobile + OTP. */
[data-msh-login-form] .msh-digits-otp-only,
[data-msh-login-form] .digits-form_wrapper,
[data-msh-login-form] .digits-form_shortcode_render {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

[data-msh-login-form] .digits-form_input_row {
	width: 100% !important;
	margin-bottom: 12px !important;
}

[data-msh-login-form] :is(.digits-form_submit, .digits-form_submit-btn) {
	width: 100% !important;
	min-height: 49px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: linear-gradient(135deg, #1e5b40, #123c29) !important;
	color: #fff !important;
	font-family: inherit !important;
	font-weight: 800 !important;
}

[data-msh-login-form][data-msh-otp-selected="true"] .digits-form_tab-bar {
	display: none !important;
}

.msh-login-only__note {
	display: flex;
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--msha-line);
	color: var(--msha-muted);
	font-size: 11px;
	line-height: 1.8;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.msh-login-only__note .msh-icon {
	width: 18px;
	height: 18px;
	color: var(--msha-gold-deep);
}

.msh-login-only__unavailable {
	padding: 18px;
	border-radius: 13px;
	background: var(--msha-cream);
	color: #825c1d;
	text-align: center;
}

/* WooCommerce's old side-by-side login/register form must never coexist. */
.woocommerce .msh-login-only ~ #customer_login,
#login-form-popup .msh-login-only ~ #customer_login,
#login-form-popup .msh-login-only ~ :is(.woocommerce-form-login, .woocommerce-form-register),
.msh-login-only-active #customer_login {
	display: none !important;
}

/* Flatsome desktop lightbox normalization. */
.mfp-wrap #login-form-popup {
	width: min(92vw, 540px) !important;
	max-width: 540px !important;
	max-height: min(90vh, 720px);
	padding: 0 !important;
	overflow-x: hidden;
	overflow-y: auto;
	border-radius: 25px !important;
	background: transparent !important;
	box-shadow: 0 26px 88px rgba(8, 24, 16, 0.26);
	scrollbar-width: thin;
}

.mfp-wrap #login-form-popup :is(.account-container, .account-login-inner, .lightbox-inner) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mfp-wrap #login-form-popup :is(.account-container, .account-login-inner, .lightbox-inner) > h3 {
	display: none !important;
}

.mfp-wrap #login-form-popup .msh-login-only {
	width: 100%;
	margin: 0;
	padding: 30px;
	border-radius: 24px;
	box-shadow: none;
}

/* -------------------------------------------------------------------------
 * Logged-in account shell.
 * ---------------------------------------------------------------------- */

.msh-account-hub-active :is(.page-title, .page-title-inner, .woocommerce-breadcrumb) {
	display: none !important;
}

.msh-account-hub-active .page-wrapper {
	padding-top: 34px !important;
	padding-bottom: 70px !important;
	background:
		linear-gradient(rgba(255, 255, 255, 0.73), rgba(255, 255, 255, 0.73)),
		var(--msha-cream);
}

.msh-account-hub-active :is(.page-inner, .entry-content) {
	width: 100% !important;
	max-width: 1520px !important;
}

.msh-account-hub-active .woocommerce {
	display: grid;
	width: min(calc(100vw - 48px), 1450px) !important;
	max-width: 1450px !important;
	margin: 0 auto;
	grid-template-columns: minmax(0, 1fr) 275px;
	grid-template-areas:
		"content identity"
		"content navigation";
	column-gap: 22px;
	align-items: start;
	direction: ltr;
}

/*
 * Flatsome can retain column widths on the shortcode's ancestors. Reset only
 * the dedicated account page so the dashboard cards use the available desktop
 * width instead of being squeezed into a content column.
 */
.msh-account-hub-active :is(
	#main,
	.content-area,
	.site-main,
	.page-inner,
	.entry-content,
	.entry-content-single-page
) {
	width: 100% !important;
	max-width: none !important;
	flex-basis: 100% !important;
}

.msh-account-hub-active :is(.row-main, .row-large, .row-divided) {
	max-width: none !important;
}

.msh-account-hub-active :is(.col, .large-12, .medium-12, .small-12):has(> .col-inner > .woocommerce) {
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: 100% !important;
}

.msh-account-hub-active .woocommerce::after,
.msh-account-hub-active .woocommerce::before {
	display: none;
}

.msh-account-hub-active .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
	margin-bottom: 14px;
	direction: rtl;
}

.msh-account-hub-active .account-user:not(.msh-account-identity) {
	display: none !important;
}

.msh-account-identity {
	grid-area: identity;
	width: 100%;
	padding: 22px 18px 16px;
	border: 1px solid var(--msha-gold-line);
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	background: var(--msha-surface);
	color: var(--msha-text);
	box-shadow: 0 12px 34px rgba(20, 58, 39, 0.06);
	direction: rtl;
}

.msh-account-identity__brand {
	display: flex;
	padding: 0 3px 17px;
	border-bottom: 1px solid var(--msha-line);
	color: var(--msha-green) !important;
	text-decoration: none !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
}
.msh-account-identity__brand > .msh-brand-logo {
	display: inline-flex;
	width: auto;
	height: auto;
	max-width: 176px;
	max-height: 64px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--msha-green);
	place-items: initial;
}

.msh-account-identity__brand > span {
	display: grid;
	width: 42px;
	height: 42px;
	border: 1px solid var(--msha-gold-line);
	border-radius: 13px;
	background: var(--msha-gold-soft);
	color: var(--msha-gold-deep);
	place-items: center;
}

.msh-account-identity__brand > span .msh-icon {
	width: 27px;
	height: 27px;
}

.msh-account-identity__brand strong {
	font-size: 25px;
	font-weight: 900;
}

.msh-account-identity__user {
	display: flex;
	padding: 17px 4px 0;
	align-items: center;
	gap: 11px;
}

.msh-account-identity__user > span {
	display: grid;
	width: 42px;
	height: 42px;
	border-radius: 13px;
	background: var(--msha-green-soft);
	color: var(--msha-green);
	place-items: center;
}

.msh-account-identity__user > span .msh-icon {
	width: 22px;
	height: 22px;
}

.msh-account-identity__user strong,
.msh-account-identity__user small {
	display: block;
}

.msh-account-identity__user strong {
	color: var(--msha-text);
	font-size: 14px;
	font-weight: 800;
}

.msh-account-identity__user small {
	margin-top: 2px;
	color: var(--msha-muted);
	font-size: 10px;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation {
	grid-area: navigation;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 10px 13px;
	float: none !important;
	overflow: hidden;
	border: 1px solid var(--msha-gold-line);
	border-top: 0;
	border-radius: 0 0 18px 18px;
	background: var(--msha-surface);
	box-shadow: 0 18px 38px rgba(20, 58, 39, 0.07);
	direction: rtl;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation ul {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation li + li {
	border-top: 1px solid rgba(30, 77, 54, 0.08) !important;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation a {
	display: flex !important;
	min-height: 53px;
	margin: 3px 0;
	padding: 10px 12px !important;
	border-radius: 11px;
	color: #303933 !important;
	font-size: 13px;
	font-weight: 650;
	text-decoration: none !important;
	align-items: center;
	gap: 11px;
	transition: 180ms ease;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation a:hover {
	background: rgba(237, 243, 239, 0.68);
	color: var(--msha-green) !important;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation .is-active a {
	position: relative;
	background: var(--msha-green-soft);
	color: var(--msha-green) !important;
	font-weight: 820;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation .is-active a::after {
	position: absolute;
	top: 9px;
	right: -10px;
	bottom: 9px;
	width: 3px;
	border-radius: 3px;
	background: var(--msha-green);
	content: "";
}

.msh-account-nav-icon {
	display: grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	color: currentColor;
	place-items: center;
}

.msh-account-nav-icon svg {
	display: block;
	width: 21px;
	height: 21px;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation-link--msh-membership a {
	color: var(--msha-gold-deep) !important;
}

.msh-account-hub-active .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #8a3f3f !important;
}

.msh-account-hub-active .woocommerce-MyAccount-content {
	grid-area: content;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	color: var(--msha-text);
	direction: rtl;
}

.msh-account-hub-active .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

/* Dashboard */
.msh-customer-dashboard {
	color: var(--msha-text);
}

.msh-dashboard-hero {
	display: flex;
	min-height: 114px;
	padding: 25px 29px;
	border: 1px solid var(--msha-gold-line);
	border-radius: var(--msha-radius);
	background:
		radial-gradient(circle at 100% 0, rgba(234, 217, 181, 0.35), transparent 37%),
		var(--msha-surface);
	box-shadow: var(--msha-shadow);
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.msh-dashboard-hero__eyebrow {
	display: block;
	margin-bottom: 4px;
	color: var(--msha-gold-deep);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.2px;
}

.msh-dashboard-hero h1 {
	margin: 0;
	color: var(--msha-green);
	font-size: clamp(23px, 2.5vw, 31px);
	font-weight: 900;
	line-height: 1.5;
}

.msh-dashboard-hero p {
	margin: 4px 0 0;
	color: var(--msha-muted);
	font-size: 13px;
}

.msh-membership-strip {
	display: grid;
	margin-top: 15px;
	padding: 17px 19px;
	border: 1px solid var(--msha-gold-line);
	border-radius: var(--msha-radius);
	background: linear-gradient(110deg, #fffaf1, var(--msha-surface));
	box-shadow: 0 9px 25px rgba(20, 58, 39, 0.05);
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 13px;
}

.msh-membership-strip.is-approved {
	border-color: rgba(30, 77, 54, 0.25);
	background: linear-gradient(110deg, #eef6f1, var(--msha-surface));
}

.msh-membership-strip__icon {
	display: grid;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--msha-gold-soft);
	color: var(--msha-gold-deep);
	place-items: center;
}

.msh-membership-strip.is-approved .msh-membership-strip__icon {
	background: var(--msha-green-soft);
	color: var(--msha-green);
}

.msh-membership-strip small,
.msh-membership-strip strong,
.msh-membership-strip p {
	display: block;
}

.msh-membership-strip small {
	color: var(--msha-muted);
	font-size: 9px;
}

.msh-membership-strip strong {
	margin-top: 1px;
	color: var(--msha-green);
	font-size: 15px;
	font-weight: 850;
}

.msh-membership-strip p {
	margin: 2px 0 0;
	color: var(--msha-muted);
	font-size: 10px;
	line-height: 1.7;
}

.msh-hub-button {
	display: inline-flex !important;
	min-height: 43px;
	margin: 0 !important;
	padding: 8px 17px !important;
	border: 1px solid transparent !important;
	border-radius: 10px !important;
	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	text-decoration: none !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform 180ms var(--msha-ease), box-shadow 180ms ease, background 180ms ease;
}

.msh-hub-button:hover {
	transform: translateY(-1px);
}

.msh-hub-button--primary {
	background: linear-gradient(145deg, #235a40, var(--msha-green)) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(23, 63, 42, 0.17);
}

.msh-hub-button--gold {
	background: linear-gradient(145deg, #d5aa58, #b9842e) !important;
	color: #fff !important;
	box-shadow: 0 8px 18px rgba(169, 119, 37, 0.16);
}

.msh-hub-button--outline {
	border-color: rgba(30, 77, 54, 0.34) !important;
	background: #fff !important;
	color: var(--msha-green) !important;
}

.msh-hub-stats {
	display: grid;
	margin-top: 15px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 13px;
}

.msh-hub-stat {
	display: grid;
	min-height: 104px;
	padding: 17px;
	border: 1px solid var(--msha-line);
	border-radius: var(--msha-radius);
	background: var(--msha-surface);
	box-shadow: 0 9px 24px rgba(20, 58, 39, 0.05);
	grid-template-columns: 43px minmax(0, 1fr);
	align-items: center;
	gap: 11px;
}

.msh-hub-stat > span {
	display: grid;
	width: 43px;
	height: 43px;
	border-radius: 13px;
	background: var(--msha-green-soft);
	color: var(--msha-green);
	place-items: center;
}

.msh-hub-stat:nth-child(4) > span {
	background: var(--msha-gold-soft);
	color: var(--msha-gold-deep);
}

.msh-hub-stat small,
.msh-hub-stat strong {
	display: block;
}

.msh-hub-stat small {
	color: var(--msha-muted);
	font-size: 9px;
	line-height: 1.6;
}

.msh-hub-stat strong {
	margin-top: 5px;
	color: var(--msha-green);
	font-size: clamp(14px, 1.4vw, 18px);
	font-weight: 850;
	line-height: 1.4;
}

/* Latest order */
.msh-latest-order {
	margin-top: 15px;
	padding: 22px;
	border: 1px solid var(--msha-gold-line);
	border-radius: var(--msha-radius);
	background: var(--msha-surface);
	box-shadow: var(--msha-shadow);
}

.msh-latest-order__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.msh-latest-order__head small {
	display: block;
	color: var(--msha-muted);
	font-size: 9px;
}

.msh-latest-order__head h2 {
	margin: 3px 0 0;
	color: var(--msha-green);
	font-size: 21px;
	font-weight: 850;
}

.msh-order-badge {
	display: inline-flex;
	min-height: 28px;
	padding: 5px 11px;
	border: 1px solid rgba(200, 155, 76, 0.24);
	border-radius: 999px;
	background: var(--msha-gold-soft);
	color: var(--msha-gold-deep);
	font-size: 9px;
	font-weight: 750;
	align-items: center;
	white-space: nowrap;
}

.msh-order-badge.is-completed {
	border-color: rgba(30, 77, 54, 0.15);
	background: var(--msha-green-soft);
	color: var(--msha-green);
}

.msh-order-progress {
	position: relative;
	display: grid;
	margin: 29px 7px 24px;
	grid-template-columns: repeat(6, 1fr);
}

.msh-order-progress::before,
.msh-order-progress::after {
	position: absolute;
	z-index: 0;
	top: 16px;
	right: calc(100% / 12);
	left: calc(100% / 12);
	height: 2px;
	border-radius: 2px;
	content: "";
}

.msh-order-progress::before {
	background: #e1e3e1;
}

.msh-order-progress::after {
	left: auto;
	width: calc((100% - (100% / 6)) * var(--msh-order-progress) / 100);
	background: linear-gradient(90deg, #d7b15f, var(--msha-gold));
}

.msh-order-progress > div {
	position: relative;
	z-index: 1;
	text-align: center;
}

.msh-order-progress > div > span {
	display: grid;
	width: 33px;
	height: 33px;
	margin: 0 auto 8px;
	border: 1px solid #d6d9d7;
	border-radius: 50%;
	background: #fff;
	color: var(--msha-muted);
	font-size: 10px;
	font-weight: 800;
	place-items: center;
}

.msh-order-progress > div.is-done > span {
	border-color: var(--msha-gold);
	background: linear-gradient(145deg, #d8ae58, #b9852c);
	color: #fff;
	box-shadow: 0 5px 13px rgba(169, 119, 37, 0.18);
}

.msh-order-progress > div > span .msh-icon {
	width: 17px;
	height: 17px;
}

.msh-order-progress small {
	color: var(--msha-muted);
	font-size: 9px;
	font-weight: 650;
}

.msh-order-progress .is-done small {
	color: var(--msha-text);
}

.msh-latest-order__actions {
	display: flex;
	padding-top: 15px;
	border-top: 1px solid var(--msha-line);
	gap: 10px;
}

/* Middle cards */
.msh-hub-grid {
	display: grid;
	margin-top: 15px;
	grid-template-columns: 1.25fr 0.9fr;
	gap: 15px;
}

.msh-hub-card {
	min-width: 0;
	padding: 19px;
	border: 1px solid var(--msha-line);
	border-radius: var(--msha-radius);
	background: var(--msha-surface);
	box-shadow: 0 9px 24px rgba(20, 58, 39, 0.05);
}

.msh-hub-card__head,
.msh-hub-card__head > div {
	display: flex;
	align-items: center;
}

.msh-hub-card__head {
	margin-bottom: 13px;
	justify-content: space-between;
	gap: 12px;
}

.msh-hub-card__head > div {
	gap: 8px;
}

.msh-hub-card__head > div > span {
	color: var(--msha-green);
}

.msh-hub-card__head > div > span .msh-icon {
	width: 21px;
	height: 21px;
}

.msh-hub-card__head h2 {
	margin: 0;
	color: var(--msha-green);
	font-size: 16px;
	font-weight: 850;
}

.msh-hub-card__head > a {
	color: var(--msha-green) !important;
	font-size: 9px;
	font-weight: 750;
	text-decoration: none !important;
}

.msh-recent-orders {
	display: grid;
	gap: 8px;
}

.msh-recent-orders > a {
	display: grid;
	min-height: 76px;
	padding: 8px;
	border: 1px solid var(--msha-line);
	border-radius: 12px;
	background: #fff;
	color: var(--msha-text) !important;
	text-decoration: none !important;
	grid-template-columns: 61px minmax(0, 1fr) auto 18px;
	align-items: center;
	gap: 10px;
}

.msh-recent-orders__image {
	display: grid;
	width: 61px;
	height: 61px;
	overflow: hidden;
	border-radius: 10px;
	background: var(--msha-cream);
	place-items: center;
}

.msh-recent-orders__image img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.msh-recent-orders__image .msh-icon {
	color: var(--msha-green);
}

.msh-recent-orders__meta strong,
.msh-recent-orders__meta small {
	display: block;
}

.msh-recent-orders__meta strong {
	color: var(--msha-text);
	font-size: 12px;
	font-weight: 800;
}

.msh-recent-orders__meta small {
	margin-top: 3px;
	color: var(--msha-muted);
	font-size: 9px;
}

.msh-recent-orders__arrow {
	color: var(--msha-green);
	font-size: 23px;
}

.msh-hub-address {
	min-height: 103px;
	margin-bottom: 13px;
	padding: 16px;
	border: 1px solid var(--msha-line);
	border-radius: 12px;
	background: #fff;
}

.msh-hub-address address,
.msh-hub-address p {
	margin: 0;
	color: var(--msha-text);
	font-size: 11px;
	font-style: normal;
	line-height: 2;
}

.msh-hub-quick {
	display: grid;
	margin-top: 15px;
	padding: 0;
	border: 1px solid var(--msha-line);
	border-radius: var(--msha-radius);
	overflow: hidden;
	background: var(--msha-surface);
	box-shadow: 0 9px 24px rgba(20, 58, 39, 0.05);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.msh-hub-quick > a {
	display: flex;
	min-height: 86px;
	padding: 16px 22px;
	color: var(--msha-text) !important;
	text-decoration: none !important;
	align-items: center;
	justify-content: center;
	gap: 13px;
}

.msh-hub-quick > a + a {
	border-right: 1px solid var(--msha-line);
}

.msh-hub-quick > a > span {
	display: grid;
	width: 43px;
	height: 43px;
	border-radius: 13px;
	background: var(--msha-green-soft);
	color: var(--msha-green);
	place-items: center;
}

.msh-hub-quick strong,
.msh-hub-quick small {
	display: block;
}

.msh-hub-quick strong {
	color: var(--msha-green);
	font-size: 14px;
	font-weight: 850;
}

.msh-hub-quick small {
	margin-top: 2px;
	color: var(--msha-muted);
	font-size: 9px;
}

.msh-hub-empty {
	padding: 24px;
	border: 1px dashed var(--msha-gold-line);
	border-radius: 13px;
	background: #fffcf7;
	text-align: center;
}

.msh-hub-empty p {
	margin: 0 0 14px;
	color: var(--msha-muted);
	font-size: 12px;
	line-height: 1.9;
}

/* Account endpoints */
.msh-account-section,
.msh-membership-page {
	min-height: 640px;
	padding: 24px;
	border: 1px solid var(--msha-gold-line);
	border-radius: var(--msha-radius);
	background: var(--msha-surface);
	box-shadow: var(--msha-shadow);
}

.msh-account-section__head {
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--msha-line);
}

.msh-account-section__head > div {
	display: flex;
	align-items: center;
	gap: 13px;
}

.msh-account-section__head > div > span {
	display: grid;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--msha-green-soft);
	color: var(--msha-green);
	place-items: center;
}

.msh-account-section__head h1 {
	margin: 0;
	color: var(--msha-green);
	font-size: 25px;
	font-weight: 900;
}

.msh-account-section__head p {
	margin: 3px 0 0;
	color: var(--msha-muted);
	font-size: 11px;
}

.msh-reorder-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
}

.msh-reorder-grid article {
	display: flex;
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--msha-line);
	border-radius: 14px;
	background: #fff;
	flex-direction: column;
}

.msh-reorder-grid__image {
	display: block;
	overflow: hidden;
	border-radius: 11px;
	background: var(--msha-cream);
	aspect-ratio: 1 / 0.82;
}

.msh-reorder-grid__image img {
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
}

.msh-reorder-grid h3 {
	margin: 12px 0 5px;
	font-size: 13px;
	line-height: 1.7;
}

.msh-reorder-grid h3 a {
	color: var(--msha-text) !important;
	text-decoration: none !important;
}

.msh-reorder-grid__price {
	margin-bottom: 12px;
	color: var(--msha-green);
	font-size: 12px;
	font-weight: 800;
}

.msh-reorder-grid .msh-hub-button {
	width: 100%;
	margin-top: auto !important;
}

.msh-hub-table {
	overflow-x: auto;
	border: 1px solid var(--msha-line);
	border-radius: 13px;
}

.msh-hub-table table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.msh-hub-table th,
.msh-hub-table td {
	padding: 13px 12px;
	border: 0;
	border-bottom: 1px solid var(--msha-line);
	font-size: 11px;
	text-align: right;
	white-space: nowrap;
}

.msh-hub-table th {
	background: var(--msha-cream);
	color: var(--msha-green);
	font-weight: 800;
}

.msh-hub-table tr:last-child td {
	border-bottom: 0;
}

.msh-hub-table td a {
	color: var(--msha-green) !important;
	font-weight: 800;
}

.msh-support-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.msh-support-cards article {
	display: flex;
	min-height: 260px;
	padding: 24px 19px;
	border: 1px solid var(--msha-line);
	border-radius: 15px;
	background: #fff;
	text-align: center;
	align-items: center;
	flex-direction: column;
}

.msh-support-cards article > span {
	display: grid;
	width: 58px;
	height: 58px;
	border-radius: 17px;
	background: var(--msha-green-soft);
	color: var(--msha-green);
	place-items: center;
}

.msh-support-cards h3 {
	margin: 15px 0 5px;
	color: var(--msha-green);
	font-size: 16px;
	font-weight: 850;
}

.msh-support-cards p {
	margin: 0 0 18px;
	color: var(--msha-muted);
	font-size: 10px;
	line-height: 1.9;
}

.msh-support-cards .msh-hub-button {
	margin-top: auto !important;
}

/* Membership endpoint reuses the protected business form. */
.msh-membership-page .msh-partner-application,
.msh-membership-page .msh-partner-status {
	max-width: none;
	margin: 0;
	box-shadow: none;
}

.msh-membership-approved {
	max-width: 700px;
	margin: 50px auto;
	padding: 38px;
	border: 1px solid rgba(30, 77, 54, 0.2);
	border-radius: 18px;
	background: linear-gradient(145deg, #f1f7f3, #fff);
	text-align: center;
}

.msh-membership-approved__icon {
	display: grid;
	width: 68px;
	height: 68px;
	margin: 0 auto 15px;
	border-radius: 20px;
	background: var(--msha-green);
	color: #fff;
	place-items: center;
}

.msh-membership-approved__icon .msh-icon {
	width: 34px;
	height: 34px;
}

.msh-membership-approved h2 {
	margin: 5px 0;
	color: var(--msha-green);
	font-size: 26px;
	font-weight: 900;
}

.msh-membership-approved p {
	margin: 0 auto 20px;
	color: var(--msha-muted);
	font-size: 12px;
	line-height: 2;
}

.msh-membership-approved__actions {
	display: flex;
	justify-content: center;
	gap: 10px;
}

/* Woo default endpoints are brought into the same visual system. */
.msh-account-hub-active .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table, .shop_table) {
	border: 1px solid var(--msha-line) !important;
	border-radius: 14px !important;
	overflow: hidden;
	background: var(--msha-surface);
	box-shadow: var(--msha-shadow);
}

.msh-account-hub-active .woocommerce-MyAccount-content :is(input.input-text, textarea, select) {
	min-height: 49px;
	border: 1px solid rgba(30, 77, 54, 0.2);
	border-radius: 11px;
	background: #fff;
	box-shadow: none;
	font-family: inherit;
}

.msh-account-hub-active .woocommerce-MyAccount-content textarea {
	min-height: 100px;
}

.msh-account-hub-active .woocommerce-MyAccount-content button.button {
	min-height: 44px;
	border-radius: 10px;
	background: var(--msha-green);
	font-family: inherit;
}

@media (max-width: 1180px) {
	.msh-account-hub-active .woocommerce {
		grid-template-columns: minmax(0, 1fr) 235px;
		column-gap: 16px;
	}

	.msh-hub-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.msh-reorder-grid,
	.msh-support-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 849px) {
	.msh-login-only {
		width: calc(100% - 24px);
		margin: 16px auto 40px;
		padding: 24px 18px;
		border-radius: 21px;
	}

	.msh-login-only__header h1 {
		font-size: 24px;
	}

	.mfp-wrap #login-form-popup {
		width: min(94vw, 520px) !important;
		max-height: 88vh;
		border-radius: 22px !important;
	}

	.mfp-wrap #login-form-popup .msh-login-only {
		width: 100%;
		margin: 0;
		padding: 23px 18px;
		border-radius: 21px;
	}

	.msh-account-hub-active .page-wrapper {
		padding: 14px 10px 86px !important;
	}

	.msh-account-hub-active .woocommerce {
		display: block;
		width: 100% !important;
	}

	.msh-account-identity {
		display: flex;
		padding: 12px;
		border: 1px solid var(--msha-gold-line);
		border-radius: 15px;
		align-items: center;
		justify-content: space-between;
	}

	.msh-account-identity__brand {
		padding: 0;
		border: 0;
		justify-content: flex-start;
	}

	.msh-account-identity__brand > span {
		width: 37px;
		height: 37px;
	}

	.msh-account-identity__brand > .msh-brand-logo {
		width: auto;
		height: auto;
		max-width: 118px;
		max-height: 42px;
	}

	.msh-account-identity__brand strong {
		font-size: 20px;
	}

	.msh-account-identity__user {
		padding: 0;
	}

	.msh-account-identity__user > span {
		width: 37px;
		height: 37px;
	}

	.msh-account-identity__user div {
		display: none;
	}

	.msh-account-hub-active .woocommerce-MyAccount-navigation {
		width: 100% !important;
		margin: 9px 0 13px !important;
		padding: 5px !important;
		overflow-x: auto;
		border: 1px solid var(--msha-line);
		border-radius: 13px;
		white-space: nowrap;
		scrollbar-width: none;
	}

	.msh-account-hub-active .woocommerce-MyAccount-navigation::-webkit-scrollbar {
		display: none;
	}

	.msh-account-hub-active .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 4px;
	}

	.msh-account-hub-active .woocommerce-MyAccount-navigation li + li {
		border: 0 !important;
	}

	.msh-account-hub-active .woocommerce-MyAccount-navigation a {
		min-height: 42px;
		margin: 0;
		padding: 8px 10px !important;
		font-size: 10px;
		gap: 6px;
	}

	.msh-account-hub-active .woocommerce-MyAccount-navigation .is-active a::after {
		display: none;
	}

	.msh-account-nav-icon {
		width: 23px;
		height: 23px;
		flex-basis: 23px;
	}

	.msh-account-nav-icon svg {
		width: 18px;
		height: 18px;
	}

	.msh-dashboard-hero {
		min-height: 0;
		padding: 20px;
		align-items: flex-start;
		flex-direction: column;
	}

	.msh-dashboard-hero h1 {
		font-size: 23px;
	}

	.msh-dashboard-hero .msh-hub-button {
		width: 100%;
	}

	.msh-membership-strip {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.msh-membership-strip__icon {
		width: 42px;
		height: 42px;
	}

	.msh-membership-strip .msh-hub-button {
		width: 100%;
		grid-column: 1 / -1;
	}

	.msh-hub-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
	}

	.msh-hub-stat {
		min-height: 93px;
		padding: 13px;
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 8px;
	}

	.msh-hub-stat > span {
		width: 38px;
		height: 38px;
	}

	.msh-hub-stat strong {
		font-size: 13px;
	}

	.msh-latest-order {
		padding: 18px 13px;
	}

	.msh-order-progress {
		display: flex;
		margin: 23px 0 20px;
		padding-bottom: 4px;
		overflow-x: auto;
	}

	.msh-order-progress::before,
	.msh-order-progress::after {
		display: none;
	}

	.msh-order-progress > div {
		min-width: 86px;
	}

	.msh-latest-order__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.msh-latest-order__actions .msh-hub-button:first-child {
		grid-column: 1 / -1;
	}

	.msh-hub-grid {
		grid-template-columns: 1fr;
	}

	.msh-hub-quick {
		grid-template-columns: 1fr;
	}

	.msh-hub-quick > a + a {
		border-top: 1px solid var(--msha-line);
		border-right: 0;
	}

	.msh-account-section,
	.msh-membership-page {
		min-height: 0;
		padding: 16px;
	}

	.msh-reorder-grid,
	.msh-support-cards {
		grid-template-columns: 1fr;
	}

	.msh-hub-table table,
	.msh-hub-table tbody,
	.msh-hub-table tr,
	.msh-hub-table td {
		display: block;
	}

	.msh-hub-table thead {
		display: none;
	}

	.msh-hub-table tr {
		padding: 11px;
		border-bottom: 1px solid var(--msha-line);
	}

	.msh-hub-table td {
		display: flex;
		padding: 6px 0;
		border: 0;
		justify-content: space-between;
		white-space: normal;
	}

	.msh-hub-table td::before {
		color: var(--msha-muted);
		content: attr(data-label);
		font-size: 9px;
	}

	.msh-membership-approved {
		margin: 15px auto;
		padding: 25px 17px;
	}

	.msh-membership-approved__actions {
		flex-direction: column;
	}
}

@media (max-width: 430px) {
	.msh-hub-stats {
		grid-template-columns: 1fr;
	}

	.msh-recent-orders > a {
		grid-template-columns: 54px minmax(0, 1fr) 15px;
	}

	.msh-recent-orders__image {
		width: 54px;
		height: 54px;
	}

	.msh-recent-orders .msh-order-badge {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.msh-login-only *,
	.msh-account-hub-active * {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

.msh-dashboard-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.msh-hub-button--quiet {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #66736c !important;
}

/* Shared brand output: site custom logo first, compact internal mark as fallback. */
.msh-brand-logo {
	display: inline-flex;
	max-width: 190px;
	max-height: 72px;
	color: var(--msha-green, #174d35);
	text-decoration: none;
	align-items: center;
	justify-content: center;
	gap: 9px;
}
.msh-brand-logo img { display: block; width: auto; max-width: 100%; height: auto; max-height: 72px; object-fit: contain; }
.msh-brand-logo__seal { display: grid; width: 42px; height: 46px; color: #c99b4c; place-items: center; }
.msh-brand-logo__seal svg { width: 100%; height: 100%; }
.msh-brand-logo__word { color: #174d35; font-size: 25px; font-weight: 900; }
.msh-login-only__brand { display: flex; min-height: 75px; align-items: center; justify-content: center; }
.msh-login-only__brand .msh-brand-logo { max-width: 185px; }

.msh-order-thanks {
	display: grid;
	margin-bottom: 18px;
	padding: 19px 21px;
	border: 1px solid rgba(47, 137, 82, .24);
	border-radius: 17px;
	background: linear-gradient(135deg, #eff9f2, #fffdf7);
	box-shadow: 0 9px 28px rgba(23, 77, 53, .07);
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
}
.msh-order-thanks > span {
	display: grid;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #1f7a4d;
	color: #fff;
	place-items: center;
}
.msh-order-thanks > span svg { width: 25px; height: 25px; }
.msh-order-thanks small { color: #317352; font-weight: 750; }
.msh-order-thanks h2 { margin: 2px 0 3px; color: #174d35; font-size: 20px; }
.msh-order-thanks p { margin: 0; color: #52635a; }
.msh-hub-profile { display: grid; gap: 9px; }
.msh-hub-profile > div {
	display: flex;
	padding: 10px 0;
	border-bottom: 1px solid var(--msha-line, #e8e0d4);
	justify-content: space-between;
	gap: 10px;
}
.msh-hub-profile small { color: var(--msha-muted, #788079); }
.msh-hub-profile strong { color: var(--msha-green, #174d35); text-align: left; }

.msh-checkout-login[hidden] { display: none !important; }
.msh-checkout-login {
	position: fixed;
	inset: 0;
	z-index: 1000000;
	display: grid;
	padding: 22px;
	place-items: center;
	opacity: 0;
	transition: opacity 240ms ease;
}
.msh-checkout-login.is-visible { opacity: 1; }
.msh-checkout-login__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(6, 24, 16, .64);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.msh-checkout-login__panel {
	position: relative;
	width: min(490px, 100%);
	padding: 35px 37px 30px;
	border: 1px solid rgba(201, 155, 76, .42);
	border-radius: 26px;
	background: radial-gradient(circle at 90% 0, rgba(201, 155, 76, .12), transparent 35%), #fffdf9;
	box-shadow: 0 35px 100px rgba(4, 28, 18, .3);
	color: #25332b;
	text-align: center;
	transform: translateY(18px) scale(.98);
	transition: transform 300ms cubic-bezier(.22, 1, .36, 1);
}
.msh-checkout-login.is-visible .msh-checkout-login__panel { transform: none; }
.msh-checkout-login__close {
	position: absolute;
	top: 13px;
	left: 15px;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(23, 77, 53, .07);
	color: #536159;
	font-size: 28px;
	line-height: 1;
}
.msh-checkout-login__brand { display: flex; min-height: 67px; align-items: center; justify-content: center; }
.msh-checkout-login__brand .msh-brand-logo { max-width: 170px; }
.msh-checkout-login__eyebrow {
	display: inline-flex;
	margin-top: 7px;
	padding: 5px 11px;
	border-radius: 50px;
	background: #edf4ef;
	color: #174d35;
	font-size: 11px;
	font-weight: 800;
}
.msh-checkout-login h2 { margin: 9px 0 4px; color: #174d35; font-size: 24px; }
.msh-checkout-login p { margin: 0 auto 15px; color: #68756e; font-size: 13px; line-height: 1.9; }
.msh-checkout-login__form { padding: 15px; border: 1px solid #e6dfd3; border-radius: 16px; background: #fff; text-align: right; }
.msh-checkout-login__form :is(input, select) { min-height: 48px; border-radius: 11px !important; }
.msh-checkout-login__form button[type="submit"],
.msh-checkout-login__form input[type="submit"] {
	width: 100% !important;
	min-height: 49px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: linear-gradient(135deg, #1e5b40, #123c29) !important;
	color: #fff !important;
	font-weight: 800 !important;
}
.msh-checkout-login__trust { margin-top: 14px; color: #64726a; font-size: 11px; }
.msh-checkout-login__trust svg { width: 16px; height: 16px; margin-left: 4px; vertical-align: middle; }
.msh-checkout-login-open { overflow: hidden; }

@media (max-width: 849px) {
	/* The bottom mobile navigation already opens this exact menu as a drawer. */
	.msh-account-hub-active .woocommerce-MyAccount-navigation {
		display: none !important;
	}

	.msh-checkout-login { padding: 0; align-items: end; }
	.msh-checkout-login__panel {
		width: 100%;
		max-height: calc(100vh - 86px);
		padding: 25px 17px 18px;
		overflow: auto;
		border-radius: 27px 27px 0 0;
		transform: translateY(100%);
	}
	.msh-checkout-login__brand { min-height: 48px; }
	.msh-checkout-login__brand .msh-brand-logo { max-width: 145px; max-height: 50px; }
	.msh-checkout-login h2 { font-size: 21px; }
	.msh-order-thanks { grid-template-columns: 42px minmax(0, 1fr); padding: 15px; }
	.msh-order-thanks > span { width: 42px; height: 42px; }
	.msh-order-thanks > a { grid-column: 1 / -1; }
}

.msh-account-identity__brand > .msh-brand-logo {
	display: inline-flex;
	width: auto;
	height: auto;
	max-width: 176px;
	max-height: 64px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

@media (max-width: 849px) {
	.msh-account-identity__brand > .msh-brand-logo {
		width: auto;
		height: auto;
		max-width: 118px;
		max-height: 42px;
	}
}
