/*
 * Mantu overrides (phase T §4): inline style="..." attributes of the template become classes.
 * Template builders (c5/c6/T7) apply the class instead of the inline style.
 *
 * Original inline style                                  -> class                 scope
 * style="enable-background:new 0 0 512 512" (on <svg>)    -> mn-ov-svg-bg          global (header icons, product card icons, footer) and sections
 * style="display: block;" (on <ul> in sidebar category    -> mn-ov-block           global (shop sidebar/accordion lists)
 *   accordion, product-detail/shop pages)
 * style="background-color:#xxxxxx;" (colour swatch span)  -> NOT a static class: the colour is product data
 *   (option value). Render it through the option swatch markup with a data-driven value; if the CSP forbids
 *   style attributes, emit one generated class per colour (mn-ov-swatch-<hex>) or set the colour via the
 *   --mn-swatch custom property on a nonce'd <style> block. Used in product cards (T7) and quick view (global).
 * style="background-image:url('assets/img/product/bg/N.jpg');" (image swatch) -> same rule, image swatches
 *   use the option value's image (T7 product cards, quick view).
 * index.html page sections (hero/banners) have no inline styles: nothing to port for T7.
 */
.mn-ov-svg-bg {
  enable-background: new 0 0 512 512;
}
.mn-ov-block {
  display: block;
}

/* Added by the port (not in the template): announcement strip, language switcher, font setting. */
.mn-topbar {
  gap: 16px;
  padding: 6px 15px;
  font-size: 13px;
  background-color: var(--mn-primary, #3a4ee5);
  color: #fff;
}
.mn-topbar .lang-switcher ul {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mn-topbar .lang-switcher a {
  color: #fff;
}
.mn-header-res-lan-curr .lang-switcher ul,
.header-res-lan-curr .lang-switcher ul {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.mn-font-quicksand {
  font-family: "Quicksand", sans-serif;
}

/* c6: cart sidebar forms and quick view controls that the template draws with links. */
.mn-side-cart .mn-cart-qty,
.mn-side-cart .mn-cart-remove {
  margin: 0;
}
.mn-side-cart button.cart-remove-item {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.mn-quickview-form .mn-quickview-cart button.mn-btn-1 {
  border: 0;
  cursor: pointer;
}
.mn-quickview-form .mn-pro-variations {
  margin-bottom: 16px;
}
.mn-search-list .mn-search-msg {
  padding: 12px 0;
  margin: 0;
}
.mn-side-search .mn-search form button {
  background: none;
  border: 0;
  cursor: pointer;
}

/* c3 (T7): banner slider, deal, testimonials, instagram sections */
.mn-modern-banner .modern-banner img.mn-banner-img {
  display: block;
  object-fit: cover;
}
.mn-testimonials .mn-test-content .mn-pro-rating {
  justify-content: center;
  margin-bottom: 8px;
}
.mn-instagram .mn-insta-handle {
  text-align: center;
  margin: 0 0 12px;
}
.mn-instagram .mn-insta-inner img {
  width: 100%;
  object-fit: cover;
}

/* T7 c2: home sections (hero slider, product tabs, services, category cards, product card). */
.mn-hero .mn-hero-slide { position: relative; }
.mn-hero .mn-hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.mn-hero .mn-hero-detail { position: relative; z-index: 1; }
.mn-hero-compact .mn-hero-slider .mn-hero-slide .mn-hero-detail { height: 400px; }
.mn-hero-tall .mn-hero-slider .mn-hero-slide .mn-hero-detail { height: 750px; }
.mn-product-tabs .mn-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 10px 32px; }
.mn-product-tabs .mn-tab-nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.mn-product-tabs .mn-tab-nav .nav-link { padding: 4px 14px; border: 0; background: none; font-size: 14px; font-weight: 600; color: var(--mn-text, #313b50); text-transform: capitalize; cursor: pointer; }
.mn-product-tabs .mn-tab-nav .nav-link.active { color: var(--mn-primary, #3a4ee5); }
.mn-ser-icon { font-size: 48px; line-height: 1; }
.mn-cat .mn-cat-card h3 a { color: inherit; }
.mn-cat .mn-cat-card ul { margin: 12px 0 0; padding: 0; list-style: none; }
.mn-cat .mn-cat-card ul img { width: 100%; border-radius: 10px; }
.mn-product-card .mn-noimg { display: block; width: 100%; padding-bottom: 100%; background: #e1e5e9; }
.mn-product-card .mn-options a { cursor: pointer; }

/* T7 c6: product page (option buttons, add-to-cart row, noimg gallery, sidebar). */
.mn-single-product .mn-pro-variation-content li label { display: block; margin: 0; cursor: pointer; }
.mn-single-product .mn-pro-variation-content li label span { display: block; }
.mn-single-product .mn-pro-variation-content li input:focus-visible + span { outline: 2px solid var(--mn-primary, #3a4ee5); outline-offset: 2px; }
.mn-single-product .mn-single-qty { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.mn-single-product .mn-single-price .mrp s { color: inherit; }
.mn-single-product .single-slide .mn-noimg { display: block; width: 100%; padding-bottom: 100%; background: #e1e5e9; }
.mn-single-product .product-video { margin-top: 16px; }
.mn-single-product .mn-single-desc ul { padding-left: 18px; }
.mn-single-product .reviews h2 { font-size: 20px; }
.mn-single-product .review-list { list-style: none; padding: 0; }

/* T7 c5: shop page (filters, swatches, load more). */
.mn-shop .mn-clr-block svg { display: block; width: 100%; height: 100%; border-radius: inherit; }
.mn-shop .mn-sidebar-block-clr .mn-sidebar-block-item { cursor: pointer; }
.mn-shop .mn-sidebar-block-item input[type="checkbox"] { cursor: pointer; }
.mn-shop .mn-sidebar-block-item.main { display: block; }
.mn-shop .mn-sidebar-block.mn-shop-apply { display: flex; flex-wrap: wrap; gap: 10px; }
.mn-shop .mn-load-more { display: flex; justify-content: center; }
.mn-shop .mn-cat-banner .mn-bnr-detail h2 { margin: 0 0 8px; font-size: 24px; }
.mn-shop .shop-pro-inner .empty { padding: 40px 0; text-align: center; }
.mn-shop .filter-close { cursor: pointer; }
.mn-shop .mn-price-filter .filter__input { width: 100%; }
.mn-shop .mn-shop-sidebar:not(.mn-filter-sidebar) .filter-close { display: none; }
.mn-shop .mn-shop-cats ul li { padding: 4px 0; }
.mn-cat .mn-cat-count { display: block; font-size: 13px; opacity: .7; }

/* T8 c4: composed pages (search, text page, errors, thanks, pay results, optout, reseller). */
.mn-c4-page .mn-c4-card, .mn-c4-card { background: #fff; border: 1px solid var(--mn-border, #e9e9e9); border-radius: var(--mn-radius, 5px); padding: 24px; margin-bottom: 24px; }
.mn-c4-page .mn-c4-h { font-size: 20px; margin: 24px 0 12px; }
.mn-c4-page.mn-c4-card h2:first-child { margin-top: 0; }
.mn-c4-searchform { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; max-width: 560px; }
.mn-c4-searchform input[type="search"] { flex: 1 1 220px; min-width: 0; height: 46px; padding: 0 16px; border: 1px solid var(--mn-border, #e9e9e9); border-radius: var(--mn-radius, 5px); }
.mn-c4-page .search-count { margin-bottom: 16px; }
.mn-c4-page .button-block { width: 100%; }
.mn-c4-page .field { margin-bottom: 16px; }
.mn-c4-page .field label { display: block; margin-bottom: 6px; font-weight: 500; }
.mn-c4-page .field input[type="text"], .mn-c4-page .field input[type="tel"], .mn-c4-page .field input[type="email"], .mn-c4-page .field input[type="password"], .mn-c4-page .field select, .mn-c4-page .field textarea { width: 100%; padding: 10px 14px; border: 1px solid var(--mn-border, #e9e9e9); border-radius: var(--mn-radius, 5px); background: #fff; }
.mn-c4-page .field.has-error input, .mn-c4-page .field.has-error select, .mn-c4-page .field.has-error textarea { border-color: #d63638; }
.mn-c4-page .field-error, .mn-c4-page .form-error { color: #d63638; margin: 6px 0; }
.mn-c4-page .field-hint { font-size: 13px; opacity: .7; margin: 6px 0; }
.mn-c4-page .notice { padding: 10px 14px; background: #f5f6f8; border-radius: var(--mn-radius, 5px); margin-bottom: 12px; }
.mn-c4-page .back-link { margin-bottom: 16px; }
.mn-c4-page .button { display: inline-block; padding: 10px 20px; background: var(--mn-primary, #3a4ee5); color: #fff; border: 0; border-radius: var(--mn-radius, 5px); cursor: pointer; }
.mn-c4-page .checkout-layout { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.mn-c4-page .checkout-form { flex: 2 1 420px; min-width: 0; }
.mn-c4-page .checkout-summary { flex: 1 1 300px; min-width: 0; }
.mn-c4-page .delivery-options { border: 0; padding: 0; margin: 0 0 16px; }
.mn-c4-page .delivery-option { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 8px 0; cursor: pointer; }
.mn-c4-page .summary-lines { list-style: none; padding: 0; margin: 0 0 16px; }
.mn-c4-page .summary-line { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--mn-border, #e9e9e9); }
.mn-c4-page .cart-line-name, .mn-c4-page .cart-line-variant, .mn-c4-page .cart-line-unit { margin: 0; }
.mn-c4-page .cart-subtotal { display: flex; justify-content: space-between; gap: 12px; margin: 8px 0; }
.mn-c4-page .cart-total { font-weight: 700; font-size: 18px; }
.mn-c4-page .content-body { overflow-wrap: anywhere; }
.mn-c4-page .content-body h2, .mn-c4-page .content-body h3 { margin: 24px 0 10px; }

/* ---- T8 c2: account entry pages (login, verify, register, forgot, reset, track, wishlist) ---- */
.mn-login-single { justify-content: center; }
.mn-login-single .mn-login-box { width: 100%; max-width: 560px; }
.mn-login-tabs { display: flex; gap: 8px; margin-bottom: 20px; }
.mn-login-tabs a { flex: 1; text-align: center; padding: 8px 12px; border: 1px solid #eee; border-radius: 5px; color: var(--mn-text, #313b50); }
.mn-login-tabs a.is-active { background: var(--mn-primary, #3a4ee5); border-color: var(--mn-primary, #3a4ee5); color: #fff; }
.mn-login-note { margin: 0 0 16px; }
.mn-form-error { display: block; margin: 0 0 12px; color: var(--mn-sale, #ff4d4d); font-size: 14px; }
.mn-field-hint { display: block; margin-top: 4px; font-size: 12px; opacity: .7; }
.mn-login-wrap.has-error input { border-color: var(--mn-sale, #ff4d4d); }
.mn-resend { margin-top: 16px; display: flex; align-items: center; gap: 12px; }
.mn-track-body { margin-top: 30px; }
.mn-track-actions { margin-top: 16px; display: flex; gap: 12px; flex-wrap: wrap; }
.mn-remove-form { display: inline; margin: 0; }
.mn-remove-form button { border: 0; cursor: pointer; }
.mn-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mn-wishlist-page .mn-wishlist-more { margin-top: 16px; }

/* T8 c1: cart and checkout (data from our view models, markup classes from the Mantu template). */
.mn-cart-page-msg, .mn-form-error { margin: 0 0 15px; padding: 10px 15px; border-radius: 10px; background: #fff7e0; color: var(--mn-text, #313b50); }
.mn-form-error, .mn-field-error, .mn-cart-coupan-error { color: var(--mn-sale, #f90c4c); font-size: 13px; margin: 6px 0 0; }
.mn-form-error { background: #fdecef; }
.mn-field-hint { display: block; margin-top: -18px; margin-bottom: 18px; color: #777; font-size: 12px; }
.mn-cart-empty { padding: 40px 0; text-align: center; }
.mn-cart-empty p { margin-bottom: 20px; }
.mn-cart-content .table-content table tbody > tr td form { margin: 0; }
.mn-cart-content .mn-cart-qty-form .cart-plus-minus { -moz-appearance: textfield; appearance: textfield; }
.mn-cart-content .mn-cart-qty-form .cart-plus-minus::-webkit-outer-spin-button, .mn-cart-content .mn-cart-qty-form .cart-plus-minus::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mn-cart-update-link { background: none; border: 0; color: var(--mn-primary, #3a4ee5); padding: 4px 0; text-decoration: underline; }
.mn-cart-remove-btn { background: none; border: 0; padding: 0; cursor: pointer; font-size: 20px; color: var(--mn-primary, #3a4ee5); }
.mn-cart-remove-btn:hover i { color: #ff9d9d; }
.mn-cart-section .mn-cart-summary > div { display: flex; justify-content: space-between; margin-bottom: 12px; gap: 10px; }
.mn-cart-section .mn-cart-summary-note { color: #777; font-size: 13px; }
.mn-cart-section .mn-cart-coupan-form { display: flex; flex-direction: column; gap: 10px; margin-bottom: 15px; }
.mn-cart-section .mn-cart-coupan-form .mn-coupan { width: 100%; padding: 10px 15px; border: 1px solid #e5e5e5; border-radius: 15px; outline: none; }
.mn-cart-section .mn-cart-coupan-remove { margin-bottom: 15px; }
.mn-cart-section .mn-cart-summary-total { font-weight: 600; border-top: 1px solid #e5e5e5; padding-top: 12px; }
.mn-cart-section .mn-cart-checkout-btn { display: block; text-align: center; margin-top: 15px; }
.mn-checkout-section .mn-bill-row { display: flex; flex-flow: row wrap; margin: 0 -15px; }
.mn-checkout-section .mn-bill-wrap { display: block; }
.mn-checkout-section .mn-check-bill-form textarea { width: 100%; margin-bottom: 26px; padding: 10px 15px; border: 1px solid #e5e5e5; border-radius: 15px; outline: none; background: transparent; color: var(--mn-text, #313b50); }
.mn-checkout-section .mn-check-bill-form input { padding: 0 15px; height: 45px; }
.mn-checkout-section .has-error input, .mn-checkout-section .has-error textarea, .mn-checkout-section .has-error .mn-bl-select-inner { border-color: var(--mn-sale, #f90c4c); }
.mn-checkout-section .mn-checkout-summary > div { display: flex; justify-content: space-between; margin-bottom: 12px; gap: 10px; }
.mn-checkout-section .mn-checkout-summary-total { font-weight: 600; border-top: 1px solid #e5e5e5; padding-top: 12px; }
.mn-checkout-section ul.mn-checkout-pro { list-style: none; margin: 15px 0 0; padding: 0; }
.mn-checkout-line { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid #e5e5e5; }
.mn-checkout-line-img { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 10px; object-fit: cover; background: #f5f5f5; }
.mn-checkout-line-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mn-checkout-line-name { font-size: 14px; font-weight: 500; margin: 0; line-height: 1.3; }
.mn-checkout-line-variant, .mn-checkout-line-unit { font-size: 12px; color: #777; }
.mn-checkout-line-total { font-weight: 600; white-space: nowrap; }
.mn-checkout-section .mn-del-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.mn-checkout-section .mn-del-option.mn-del-list { flex-direction: column; gap: 12px; }
.mn-checkout-section .mn-del-option.mn-del-list > * { width: 100%; }
.mn-checkout-section .mn-pay-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.mn-checkout-section .mn-pay-actions button { width: 100%; }
.mn-checkout-section .mn-pay-agree-label { margin: 0; font-size: 14px; }
.mn-checkout-section .mn-pay-consent { margin-top: 12px; font-size: 12px; color: #777; }
.mn-checkout-section.mn-checkout-single .mn-checkout-rightside { margin-top: 30px; }
.mn-bank-transfer .mn-bank-details { display: grid; grid-template-columns: auto 1fr; gap: 6px 15px; }
.mn-bank-transfer .mn-bank-details dd { margin: 0; }
.mn-bank-transfer .mn-bank-note { color: #777; }
@media (max-width: 767px) { .mn-checkout-section .mn-bill-half { width: 100% !important; } }

/* ---- T8 c3: signed-in account pages (dashboard, orders, order, addresses, profile, returns, reviews) ---- */
.mn-account-side { margin-bottom: 24px; }
.mn-account-nav { border: 1px solid #eee; border-radius: 5px; background: #fff; padding: 10px 0; }
.mn-account-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mn-account-nav a, .mn-account-nav .link-button { display: block; width: 100%; text-align: start; padding: 10px 20px; color: var(--mn-text, #313b50); font-size: 14px; background: none; border: 0; cursor: pointer; font-family: inherit; }
.mn-account-nav a:hover, .mn-account-nav .link-button:hover { color: var(--mn-primary, #3a4ee5); }
.mn-account-nav form { margin: 0; }
.mn-account .mn-vendor-dashboard-card { border: 1px solid #eee; border-radius: 5px; background: #fff; }
.mn-account .mn-vendor-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 15px 20px; border-bottom: 1px solid #eee; }
.mn-account .mn-vendor-card-header h5 { margin: 0; font-size: 18px; }
.mn-account .mn-vendor-card-body { padding: 20px; }
.mn-account-sub { margin: 24px 0 12px; font-size: 16px; font-weight: 600; }
.mn-account-sub:first-child { margin-top: 0; }
.mn-account-details { list-style: none; margin: 0 0 12px; padding: 0; }
.mn-account-more { margin-top: 16px; }
.mn-account-tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.mn-account-tabs a { padding: 6px 16px; border: 1px solid #eee; border-radius: 5px; color: var(--mn-text, #313b50); }
.mn-account-tabs a.is-active { background: var(--mn-primary, #3a4ee5); border-color: var(--mn-primary, #3a4ee5); color: #fff; }
.mn-account .mn-table { width: 100%; }
.mn-account-totals { max-width: 360px; margin-inline-start: auto; }
.mn-account-totals .cart-subtotal { display: flex; justify-content: space-between; margin: 6px 0; }
.mn-account-totals .cart-total { font-size: 16px; border-top: 1px solid #eee; padding-top: 8px; }
.mn-account-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 24px; }
.mn-account-actions form, .mn-account .order-pay form { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.mn-account .order-pay { margin-top: 20px; }
.mn-account .mn-checkout-lines { list-style: none; margin: 0 0 16px; padding: 0; }
.mn-account .mn-checkout-lines .summary-line { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #eee; }
.mn-account-form .mn-login-wrap, .mn-account .account-form .mn-login-wrap { display: block; margin-bottom: 16px; }
.mn-account-form input[type=text], .mn-account-form input[type=email], .mn-account-form input[type=tel], .mn-account-form input[type=password], .mn-account-form input[type=number], .mn-account-form select, .mn-account-form textarea,
.mn-account #address-form input[type=text], .mn-account #address-form input[type=tel], .mn-account #address-form select, .mn-account #address-form textarea { width: 100%; padding: 8px 12px; border: 1px solid #eee; border-radius: 5px; }
.mn-account #address-form .field { margin-bottom: 16px; }
.mn-account #address-form label, .mn-account-form label { display: block; margin-bottom: 4px; font-size: 14px; }
.mn-login-check label { display: flex; align-items: center; gap: 8px; }
.mn-account-fieldset { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.mn-account-fieldset legend { font-size: 14px; margin-bottom: 6px; }
.mn-account-fieldset label { display: inline-flex; align-items: center; gap: 6px; margin-inline-end: 16px; }
.mn-return-eligible, .mn-return-list, .mn-review-todo, .mn-review-list, .mn-address-list { list-style: none; margin: 0; padding: 0; }
.mn-return-eligible li { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid #eee; }
.mn-return-list li, .mn-review-card, .mn-address-card { border: 1px solid #eee; border-radius: 5px; padding: 14px 16px; margin-bottom: 12px; }
.mn-address-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.mn-address-list .mn-address-card { margin: 0; }
.mn-account .address-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.mn-account .address-actions form { margin: 0; }
.mn-account .link-button { background: none; border: 0; padding: 0; color: var(--mn-primary, #3a4ee5); cursor: pointer; font: inherit; }
.mn-form-success { color: #2b8a3e; margin-bottom: 14px; }
@media (max-width: 767px) { .mn-account .mn-vendor-card-body { padding: 14px; } .mn-account-totals { max-width: none; } }
.mn-cart-section h2.mn-sidebar-title, .mn-checkout-section h2.mn-sidebar-title, .mn-checkout-section h2.mn-checkout-title { font-size: 20px; font-weight: 600; letter-spacing: 0; margin-bottom: 0; }
.mn-checkout-section h2.mn-checkout-title { margin-bottom: 15px; }
.mn-checkout-section h3.mn-checkout-line-name { font-size: 14px; font-weight: 500; }
.mn-cart-content .table-content table tbody > tr td .cart-qty-plus-minus input.cart-plus-minus { -moz-appearance: textfield; appearance: textfield; }
.mn-cart-content .table-content table tbody > tr td .cart-qty-plus-minus input.cart-plus-minus::-webkit-inner-spin-button, .mn-cart-content .table-content table tbody > tr td .cart-qty-plus-minus input.cart-plus-minus::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
@media (max-width: 767px) {
  .mn-cart-content .cart-table-content table { min-width: 0; }
  .mn-cart-content .cart-table-content table, .mn-cart-content .cart-table-content tbody, .mn-cart-content .cart-table-content tr, .mn-cart-content .cart-table-content td { display: block; width: 100%; }
  .mn-cart-content .cart-table-content thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .mn-cart-content .table-content table tbody > tr { padding: 10px 0; }
  .mn-cart-content .table-content table tbody > tr td { display: flex; justify-content: space-between; align-items: center; padding: 8px 14px; text-align: right; }
  .mn-cart-content .table-content table tbody > tr td::before { content: attr(data-label); font-weight: 600; margin-right: 12px; }
  .mn-cart-content .table-content table tbody > tr td.mn-cart-pro-name { width: 100%; }
  .mn-cart-content .table-content table tbody > tr td.mn-cart-pro-name::before, .mn-cart-content .table-content table tbody > tr td.mn-cart-pro-remove::before { display: none; }
  .mn-cart-content .table-content table tbody > tr td.mn-cart-pro-remove { width: 100%; justify-content: flex-end; }
}
.mn-account .mn-account-nav .link-button { display: block; width: 100%; padding: 10px 20px; text-align: start; color: var(--mn-text, #313b50); font-size: 14px; }
.mn-account .mn-account-nav .link-button:hover { color: var(--mn-primary, #3a4ee5); }
.mn-account .mn-login-check label { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; width: auto; }
.mn-account .mn-login-check input[type=checkbox], .mn-account-fieldset input[type=radio] { width: auto; margin: 0; flex: 0 0 auto; }
.mn-account .mn-login-check .mn-field-hint { display: block; margin-top: 4px; }
.mn-account .mn-login-wrap > small { display: block; position: static; margin-top: 6px; }

/* Touch screens have no hover: keep the card actions (quick view, cart) visible. */
@media (hover: none) {
	.mn-product-card .mn-product-img .mn-img .mn-options { opacity: 1; }
}

/* ---- Order-flow fixes ---- */
/* Account tables scroll sideways inside their card instead of being clipped. */
.mn-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Cart coupon box: toggle button looks like the template's link; open when a coupon is applied or failed. */
.mn-cart-summary .mn-cart-coupan { background: none; border: 0; padding: 0; color: var(--mn-primary, #3a4ee5); cursor: pointer; font: inherit; text-decoration: underline; }
.mn-cart-summary-bottom .mn-cart-summary .mn-cart-coupan-content.is-open { display: block; }
.mn-cart-coupan-remove { margin: 0 0 10px; }
/* Thanks page actions. */
.mn-thanks-actions { display: flex; flex-wrap: wrap; gap: 10px; }
/* Order timeline stepper (shopper order detail and guest tracking): vertical rail, dots per step. */
.order-timeline { list-style: none; margin: 0 0 24px; padding: 0; position: relative; }
.order-timeline .order-step { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; padding: 0 0 18px 32px; margin: 0; color: var(--mn-text-light, #777); font-size: 14px; }
.order-timeline .order-step::before { content: ""; position: absolute; left: 6px; top: 20px; bottom: -2px; width: 2px; background: var(--mn-border, #e9e9e9); }
.order-timeline .order-step:last-child { padding-bottom: 0; }
.order-timeline .order-step:last-child::before { display: none; }
.order-timeline .order-step::after { content: ""; position: absolute; left: 0; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 2px solid var(--mn-border, #e9e9e9); box-sizing: border-box; }
.order-timeline .order-step.is-done { color: var(--mn-text, #313b50); }
.order-timeline .order-step.is-done::before { background: var(--mn-primary, #3a4ee5); }
.order-timeline .order-step.is-done::after { background: var(--mn-primary, #3a4ee5); border-color: var(--mn-primary, #3a4ee5); }
.order-timeline .order-step.is-current { font-weight: 600; }
.order-timeline .order-step.is-current::after { box-shadow: 0 0 0 4px rgba(58, 78, 229, 0.18); }
.order-timeline .order-step-label { font-weight: inherit; }
.order-timeline .order-step-at { font-size: 12px; font-weight: 400; color: var(--mn-text-light, #777); }
@media (min-width: 768px) {
  .order-timeline { display: flex; }
  .order-timeline .order-step { flex: 1 1 0; flex-direction: column; padding: 28px 8px 0 0; gap: 2px; }
  .order-timeline .order-step::before { left: 14px; right: 0; top: 6px; bottom: auto; width: auto; height: 2px; }
  .order-timeline .order-step::after { top: 0; }
}
