/* ==========================================================================
   Cart + checkout flow: progress bar, sign-in card, order summary, trust/help cards.
   ========================================================================== */
.mm-co { padding-bottom: 48px; }

.mm-cosp { display: flex; justify-content: center; gap: 0; list-style: none; margin: 0; padding: 18px var(--gutter) 8px; }

.mm-cosp li { display: flex; align-items: center; gap: 8px; color: var(--subtle); font-size: 13.5px; font-weight: 600; }

.mm-cosp li + li::before { content: ""; width: clamp(14px, 5vw, 56px); height: 2px; margin: 0 8px; background: var(--line); }

.mm-cosp li.dn + li::before,.mm-cosp li.on::before { background: var(--teal); }

.mm-cosp i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--bg-2); color: var(--mute); font: 700 12.5px var(--font); font-style: normal; }

.mm-cosp .dn i { background: var(--teal); color: var(--ink); }

.mm-cosp .on i { background: var(--pri); color: #fff; }

.mm-cosp .on { color: var(--pri); }

.mm-cosp .dn { color: var(--teal-ink); }

.mm-cosp i .mm-ico { width: 13px; height: 13px; }

@media (max-width: 560px) { .mm-cosp li:not(.on) span { display: none; }
 .mm-cosp li + li::before { width: 18px; margin: 0 4px; }
}


.mm-co__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; padding-top: 12px; }

.mm-co__back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 12px; color: var(--mute); font-weight: 600; font-size: 14px; }

.mm-co__back .mm-ico { width: 16px; height: 16px; }

.mm-co__side { display: grid; gap: 14px; position: sticky; top: calc(var(--header-h) + 16px); }

.mm-priority { margin-bottom: 14px; }

.mm-sumwrap { display: grid; gap: 14px; }

@media (max-width: 900px) {
	.mm-co__grid { grid-template-columns: 1fr; }

	.mm-co__side { order: -1; position: static; }

	.mm-co__side .mm-trust,.mm-co__side .mm-helpbox { display: none; }
}


/* ---- Sign-in card ---- */
.mm-otp { margin-inline: auto; }

.mm-otp__ico { display: grid; place-items: center; color: var(--pri); margin-bottom: 14px; }

.mm-otp__ico .mm-ico { width: 26px; height: 26px; }

.mm-otp h2 { font-size: 26px; }

.mm-otp__lead { color: var(--mute); }

.mm-otp__fld { position: relative; }

.mm-otp__fld .mm-ico { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 19px; height: 19px; color: var(--mute); }

.mm-otp__sent { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 16px; background: var(--soft); font-weight: 700; color: var(--ink); word-break: break-all; }

.mm-otp__code { display: grid; grid-template-columns: repeat(6, 1fr); }

.mm-otp__code input { width: 100%; text-align: center; font: 700 24px var(--display); border: 1.5px solid #d3cce9; color: var(--ink); background: #fff; padding: 0; }

.mm-otp__code input:focus { outline: 0; border-color: var(--pri); }

.mm-otp__resend { text-align: center; margin: 10px 0 0; }

.mm-otp__fine { font-size: 13px; color: var(--mute); text-align: center; margin: 10px 0 0; }

.mm-otp__terms { margin-top: 18px; }

.mm-otp .mm-error { justify-content: center; }


/* ---- Order summary ---- */
.mm-sum { padding: 0; overflow: hidden; }

.mm-sum__head,.mm-sum__tg { display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; }

.mm-sum__head h3,.mm-sum__tg h3 { margin: 0; font: 700 13px var(--font); letter-spacing: .09em; text-transform: uppercase; color: var(--mute); }

.mm-sum__head span { background: var(--soft); color: var(--pri); border-radius: 999px; padding: 2px 10px; font: 700 12.5px var(--font); }

.mm-sum__tg { display: none; width: 100%; border: 0; background: #fff; }

.mm-sum__tg span { display: flex; align-items: center; gap: 8px; font-size: 18px; color: #351e63; }

.mm-sum__tg .mm-ico { width: 16px; height: 16px; color: var(--mute); }

.mm-sum.is-open .mm-sum__tg .mm-ico { transform: rotate(180deg); }

.mm-sum__body { padding: 0 18px 18px; }

.mm-sum__list { list-style: none; margin: 0; padding: 0; }

.mm-sum__list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line-2); }

.mm-sum__img { width: 52px; height: 52px; flex: none; border-radius: 12px; background: #f6f5fa; padding: 4px; }

.mm-sum__txt { flex: 1; min-width: 0; }

.mm-sum__txt b { display: block; font-size: 14.5px; color: var(--ink); line-height: 1.25; }

.mm-sum__txt small { color: var(--mute); font-size: 13px; }

.mm-sum__p { font-weight: 700; color: var(--ink); }

.mm-sum__coupon { margin-top: 10px; }

.mm-sum__couponf { display: flex; gap: 8px; margin-top: 6px; }

.mm-sum__couponf .mm-input { min-height: 44px; }

.mm-sum__rows { margin-top: 12px; border-top: 1px solid var(--line-2); padding-top: 10px; display: grid; gap: 8px; }

.mm-sum__rows > div { display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; color: var(--body); }

.mm-sum__rows small { color: var(--mute); font-size: 13.5px; }

.mm-sum__rows .is-save { color: var(--green); }

.mm-sum__rows .mm-sum__total { padding-top: 10px; border-top: 1px solid var(--line-2); font: 700 20px var(--display); color: var(--ink); }

@media (max-width: 900px) {
	.mm-sum__head { display: none; }

	.mm-sum__tg { display: flex; }

	.mm-sum__body { display: none; }

	.mm-sum.is-open .mm-sum__body { display: block; }
}

.mm-trust { display: grid; gap: 10px; font-size: 13.5px; color: var(--body); }

.mm-trust > div { display: flex; gap: 10px; align-items: center; }

.mm-trust .mm-ico { width: 18px; height: 18px; color: var(--teal); }


/* Bulk-pack and payment detail text printed by inc/bulk-pricing.php and the gateways */
.mm-bulk-note { font-size: 13px; color: var(--mute); }

.mm-bulk-del { color: var(--subtle); text-decoration: line-through; }

.mm-unit { color: var(--mute); font-size: 12.5px; }


/* ---- Order received ---- */
.mm-ty { max-width: 860px; padding-block: 28px 56px; }

.mm-ty__hero { text-align: center; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 28px 22px; margin-bottom: 18px; }

.mm-ty__tick { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--teal); color: var(--ink); margin-bottom: 10px; }

.mm-ty__tick .mm-ico { width: 28px; height: 28px; }

.mm-ty__hero h1 { font-size: clamp(24px, 4vw, 32px); margin-bottom: 6px; }

.mm-ty__hero > p { color: var(--mute); max-width: 52ch; margin: 0 auto 18px; }

.mm-ty__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 18px; }

.mm-ty__facts div { background: var(--bg); border-radius: var(--r-md); padding: 8px 16px; text-align: left; }

.mm-ty__facts dt { font-size: 12px; color: var(--mute); text-transform: uppercase; letter-spacing: .06em; }

.mm-ty__facts dd { margin: 0; font-weight: 700; color: var(--ink); }

.mm-ty .woocommerce-order-details,.mm-ty .woocommerce-customer-details { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px 20px; margin-bottom: 16px; }

.mm-ty h2 { font-size: 19px; margin-bottom: 12px; }

.mm-ty table { width: 100%; border-collapse: collapse; }

.mm-ty th,.mm-ty td { padding: 10px 0; border-bottom: 1px solid var(--line-2); text-align: left; }

.mm-ty th:last-child,.mm-ty td:last-child { text-align: right; }

.mm-ty tfoot th { color: var(--mute); font-weight: 600; }

.mm-ty address { font-style: normal; line-height: 1.6; }

.mm-ty a { font-weight: 600; }


/* ---- Cart: save for later ---- */
.mm-cartrow__later { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: var(--pri); font: 700 13px var(--font); min-height: 40px; padding: 0 6px; }

.mm-cartrow__later .mm-ico { width: 15px; height: 15px; }




/* ---- flow: page-level rules ported from the previous design, one rule per selector ---- */
.mm-cartpage {padding-block:16px 40px}

.mm-cart {display:grid;gap:20px}

@media(min-width:1024px){
.mm-cart {grid-template-columns:1fr 380px;align-items:start}
}

.mm-cardbox {background:#fff;border:1.5px solid var(--line);border-radius:16px;box-shadow:var(--sh-xs);overflow:hidden}

.mm-cardbox__head {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line-2)}

.mm-cardbox__head h1 {font-size:18px;font-weight:800;margin:0}

.mm-cartrow {display:grid;grid-template-columns:96px 1fr;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line-2)}

.mm-cartrow:last-child {border:0}

@media(min-width:640px){
.mm-cartrow {grid-template-columns:110px 1fr auto}
}

.mm-cartrow__img {position:relative;display:block;width:100%;aspect-ratio:1;background:#eceef0;border-radius:12px;overflow:hidden}

.mm-cartrow__off {position:absolute;top:6px;left:6px;z-index:2;background:var(--green-bg);color:var(--green);font-size:12px;font-weight:700;border-radius:5px;padding:2px 6px}

.mm-cartrow__name {display:block;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none!important}

.mm-cartrow__by {font-size:12.5px;color:var(--mute)}

.mm-cartrow__pack {display:inline-block;margin-top:4px;background:var(--soft);color:var(--pri);border-radius:6px;padding:2px 10px;font-size:12px;font-weight:600}

.mm-cartrow__mol {margin-top:6px;font-size:12px;font-weight:700;text-transform:uppercase}

.mm-cartrow__tags span {display:inline-block;margin-top:6px;background:var(--pri);color:#fff;border-radius:99px;width:20px;height:20px;line-height:20px;text-align:center;font-size:12px;font-weight:700}

.mm-cartrow__side {grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px}

@media(min-width:640px){
.mm-cartrow__side {grid-column:auto;flex-direction:column;align-items:flex-end;justify-content:space-between}
}

.mm-cartrow__ctl {display:flex;align-items:center;gap:10px}

.mm-cartrow__del {display:flex;width:38px;height:38px;border:1.5px solid var(--line);border-radius:9px;background:#fff;color:var(--mute);align-items:center;justify-content:center}

.mm-cartrow__del:hover {border-color:var(--red);color:var(--red);background:var(--red-bg)}

.mm-cartrow__del .mm-ico {width:15px;height:15px}

.mm-cartrow__price {text-align:right}

.mm-cartrow__price b {display:block;font-family:var(--display);font-size:18px;color:var(--ink)}

.mm-cartrow__price s {font-size:12px;color:var(--subtle)}

.mm-cart__empty {text-align:center;padding:48px 20px}

.mm-cart__emptyico {display:flex;width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:var(--soft);color:var(--pri);align-items:center;justify-content:center}

.mm-cart__emptyico .mm-ico {width:30px;height:30px}

.mm-cart__empty h2 {font-size:20px}

.mm-cart__empty p {color:var(--mute)}

.mm-cart__searchbtn {border:0;border-radius:10px;background:var(--pri);color:#fff;font-weight:700;padding:0 24px;min-height:46px}

.mm-cart__banner {margin-top:16px;border-radius:16px;background:linear-gradient(135deg,#351e63,var(--pri));color:#fff;padding:22px}

.mm-cart__banner div {font-family:var(--display);font-size:22px;font-weight:800}

.mm-cart__banner p {margin:6px 0 0;color:rgba(255,255,255,.75);font-size:13px}

.mm-cart__side {display:grid;gap:14px}

.mm-support {display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;font-weight:700;color:var(--ink);font-size:14px}

.mm-support__btns {display:flex;gap:8px}

.mm-support__btns a {display:flex;width:38px;height:38px;border-radius:50%;align-items:center;justify-content:center}

.mm-support__btns .mm-ico {width:16px;height:16px}

.mm-totals {background:#fff;border:1.5px solid var(--line);border-radius:14px;overflow:hidden}

.mm-totals__rows {padding:16px 18px;display:grid;gap:10px;font-size:14px}

.mm-totals__rows>div {display:flex;justify-content:space-between}

.mm-totals__rows .is-green {background:none;color:var(--green);font-weight:600}

.mm-totals__order {border-top:1.5px dashed var(--line);padding-top:12px;font-family:var(--display);font-weight:800;font-size:17px;color:var(--ink)}

.mm-totals__saved {display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green-bg);color:var(--green);font-weight:700;padding:11px;font-size:13.5px}

.mm-totals__saved .mm-ico {width:16px;height:16px}

.mm-coupon {display:flex;gap:8px}

.mm-coupon input {flex:1;min-width:0;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;min-height:44px;font:inherit;font-size:14px;outline:none}

.mm-coupon input:focus {border-color:var(--pri)}

.mm-coupon button {border:0;border-radius:10px;background:var(--ink);color:#fff;font-weight:700;padding:0 20px}

.mm-proceed {display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:12px;background:linear-gradient(90deg,var(--teal),var(--teal-d));color:#fff;font-weight:800;font-size:15px;text-decoration:none!important;box-shadow:0 8px 24px rgba(0,184,169,.3)}

.mm-proceed:hover {filter:brightness(.95)}

.mm-proceed.is-disabled {opacity:.5;pointer-events:none}

.mm-proceed .mm-ico {display:none}

.mm-priority {background:var(--soft);border:1px solid var(--soft-2);border-radius:12px;padding:12px 16px;font-size:13px;color:var(--pri-d)}

.mm-priority a {font-weight:700}

.mm-step {background:#fff;border:1.5px solid var(--line);border-radius:16px;box-shadow:var(--sh-xs)}

.mm-step[hidden] {display:none}

.mm-step__head {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}

.mm-step__head h2 {display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800;margin:0}

.mm-step__head h2 .mm-ico {width:20px;height:20px;color:var(--pri)}

.mm-step__head h2 em {color:var(--red);font-style:normal}

.mm-step__head>span {font-size:12px;color:var(--mute)}

.mm-step__next {display:flex;width:100%;justify-content:center;align-items:center;min-height:48px;border:0;border-radius:12px;background:var(--pri);color:#fff;font-weight:700;font-size:14.5px;margin-top:16px}

.mm-step__next:hover {background:var(--pri-d)}

.mm-step__next[hidden] {display:none}

.mm-addrsel {display:flex;justify-content:space-between;gap:14px;border:1.5px solid var(--pri);background:var(--soft);border-radius:12px;padding:14px 16px}

.mm-addrsel strong {color:var(--ink)}

.mm-addrsel p {margin:4px 0;font-size:13.5px}

.mm-addrsel small {color:var(--mute)}

.mm-addrsel button {border:0;background:none;color:var(--pri);font-weight:700;font-size:13px;align-self:flex-start}

.woocommerce form .form-row {margin:0 0 12px;padding:0}

.woocommerce form .form-row .required {color:var(--red);text-decoration:none}

.woocommerce form .form-row input.input-text {width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;font:inherit;font-size:14px;background:#fff;color:var(--ink);outline:none;margin:0;min-height:46px}

.woocommerce form .form-row textarea {width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;font:inherit;font-size:14px;background:#fff;color:var(--ink);outline:none;margin:0;min-height:46px}

.woocommerce form .form-row select {width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;font:inherit;font-size:14px;background:#fff;color:var(--ink);outline:none;margin:0;min-height:46px}

.woocommerce form .form-row input.input-text:focus {border-color:var(--pri);box-shadow:0 0 0 3px rgba(79,45,144,.12)}

.woocommerce form .form-row select:focus {border-color:var(--pri);box-shadow:0 0 0 3px rgba(79,45,144,.12)}

.woocommerce form .form-row-last {width:calc(50% - 6px);float:left}

.woocommerce form .form-row-first {width:calc(50% - 6px);float:left;margin-right:12px}

.woocommerce form .form-row-wide {clear:both;width:100%}

.woocommerce-billing-fields h3 {display:none}

.woocommerce-shipping-fields h3 {display:none}

.woocommerce-billing-fields__field-wrapper::after {content:"";display:table;clear:both}

.woocommerce form .woocommerce-invalid input.input-text {border-color:var(--red)}

.woocommerce form .woocommerce-invalid select {border-color:var(--red)}

.woocommerce form .woocommerce-validated input.input-text {border-color:var(--line)}

.select2-container--default .select2-selection--single {height:46px;border:1.5px solid var(--line);border-radius:10px}

.select2-container--default .select2-selection--single .select2-selection__rendered {line-height:44px;padding-left:14px}

.select2-container--default .select2-selection--single .select2-selection__arrow {height:44px}

.mm-shipopt {display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);margin-bottom:10px;cursor:pointer;background:#fff}

.mm-shipopt.is-on {border-color:var(--pri);background:var(--soft)}

.mm-radio {display:flex;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);align-items:center;justify-content:center;flex:none}

.mm-radio i {width:10px;height:10px;border-radius:50%;background:transparent}

.mm-shipopt.is-on .mm-radio {border-color:var(--pri)}

.mm-shipopt.is-on .mm-radio i {background:var(--pri)}

.mm-shipopt__ico {width:20px;height:20px;color:var(--pri)}

.mm-shipopt__txt {flex:1}

.mm-shipopt__txt b {display:block;font-size:14px;color:var(--ink)}

.mm-shipopt__txt small {font-size:12.5px;color:var(--mute)}

.mm-shipopt__price {text-align:right}

.mm-shipopt__price b {font-family:var(--display);color:var(--ink)}

.mm-shipopt__price s {display:block;font-size:12px;color:var(--subtle)}

.mm-place {display:flex;width:100%;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;background:linear-gradient(90deg,var(--teal),var(--teal-d));color:#fff;font-weight:800;font-size:16px;box-shadow:0 8px 24px rgba(0,184,169,.3)}

.mm-place:disabled {background:var(--line);box-shadow:none;color:var(--mute);cursor:not-allowed}

.mm-place::before {content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27><rect width=%2718%27 height=%2711%27 x=%273%27 y=%2711%27 rx=%272%27/><path d=%27M7 11V7a5 5 0 0 1 10 0v4%27/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27><rect width=%2718%27 height=%2711%27 x=%273%27 y=%2711%27 rx=%272%27/><path d=%27M7 11V7a5 5 0 0 1 10 0v4%27/></svg>") center/contain no-repeat}

.woocommerce-error {list-style:none;border-radius:12px;padding:12px 16px;margin:0 0 16px;font-size:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--red-bg);color:#991b1b}

.woocommerce-message {list-style:none;border-radius:12px;padding:12px 16px;margin:0 0 16px;font-size:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--soft);color:var(--pri-d)}

.woocommerce-info {list-style:none;border-radius:12px;padding:12px 16px;margin:0 0 16px;font-size:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--soft);color:var(--pri-d)}

.woocommerce-NoticeGroup {margin-bottom:12px}

.woocommerce-ResetPassword input {width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;font:inherit;font-size:14px;outline:none;margin-bottom:12px;background:#fff}

.woocommerce form .form-row label {display:block;margin-bottom:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--body)}

.woocommerce form .form-row .optional {display:none}

.woocommerce-billing-fields__field-wrapper {display:block}

.mm-cart.is-empty {display:block;margin-inline:auto;max-width:none}


/* ---- Payment methods (WooCommerce's own list) ---- */
.mm-paylist { list-style: none; margin: 0 0 16px; padding: 0; display: grid; }

.mm-paylist li { margin: 0; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 14px; background: #fff; }

.mm-paylist li:has(input:checked) { border-color: var(--pri); background: var(--mist); }

.mm-paylist label { display: inline; font-weight: 700; color: var(--ink); cursor: pointer; }

.mm-paylist input[type=radio] { margin-right: 8px; accent-color: var(--pri); }

.mm-paylist .payment_box { margin: 10px 0 0; font-size: 13.5px; color: var(--body); }

.mm-paylist .payment_box p:last-child { margin-bottom: 0; }

.mm-pay .woocommerce-terms-and-conditions-wrapper { margin: 0 0 12px; font-size: 13px; }
