/* =========================================================
   Mimobi design system — from checkout mock
   https://баофенг.рф/export/checkout_design.html
   Replaces NewStore skins (stylesheet / theme_8 / csseditor)
   ========================================================= */

:root {
  --mm-blue: #005bff;
  --mm-blue-deep: #035dff;
  --mm-blue-soft: #2b8cdb;
  --mm-blue-mist: #e8f0ff;
  --mm-orange: #ff8000;
  --mm-green: #89bd27;
  --mm-text: #2a2a2a;
  --mm-muted: #6b7280;
  --mm-line: #dce3ef;
  --mm-surface: rgba(255, 255, 255, 0.88);
  --mm-bg0: #eef3fb;
  --mm-bg1: #f7f9fc;
  --mm-danger: #da102f;
  --mm-radius: 14px;
  --mm-radius-lg: 18px;
  --mm-shadow: 0 18px 50px rgba(3, 93, 255, 0.08);
  --mm-shadow-sm: 0 10px 28px rgba(3, 93, 255, 0.06);
  --mm-font: "Manrope", system-ui, sans-serif;
  --mm-display: "Unbounded", "Manrope", sans-serif;
  --mm-fs: 1; /* normal 16px base */
}

@keyframes mm-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ========== BASE ========== */
html {
  scroll-behavior: smooth;
  font-size: calc(16px * var(--mm-fs)) !important;
}
body {
  font-family: var(--mm-font) !important;
  font-size: 1rem !important;
  color: var(--mm-text) !important;
  background:
    radial-gradient(1200px 600px at 12% -10%, rgba(3, 93, 255, 0.16), transparent 55%),
    radial-gradient(900px 500px at 100% 0%, rgba(255, 128, 0, 0.10), transparent 50%),
    linear-gradient(180deg, var(--mm-bg0) 0%, var(--mm-bg1) 45%, #fff 100%) !important;
  line-height: 1.5;
  min-height: 100vh;
}
a { color: var(--mm-blue); text-decoration: none; }
a:hover, a:focus { color: var(--mm-blue-deep); text-decoration: none; }
img { max-width: 100%; height: auto; }
img.mm-img-broken,
.mm-img-broken {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.mm-img-wrap-empty {
  background: linear-gradient(145deg, #eef3fb, #f7f9fc) !important;
  min-height: 80px;
}
.product-thumb .image.mm-img-wrap-empty {
  min-height: 160px;
}
.mm-cart-thumb.mm-img-wrap-empty::after {
  content: "·";
  font-weight: 800;
  color: var(--mm-muted);
}
h1, h2, h3, h4, .h1-prod-name, .box-heading, .title-module, .productany-title {
  font-family: var(--mm-display) !important;
  letter-spacing: -0.02em;
  color: var(--mm-text);
  font-weight: 700;
}
.container { max-width: 1180px; }

/* Shared panel */
.mm-panel,
.panel,
.well,
.thumbnail,
.box,
.box-content {
  background: var(--mm-surface) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(220, 227, 239, 0.9) !important;
  border-radius: var(--mm-radius-lg) !important;
  box-shadow: var(--mm-shadow-sm);
}

/* ========== BUTTONS ========== */
.btn,
button.btn,
input.btn {
  font-family: var(--mm-font) !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  transition: transform .15s ease, filter .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-general,
.btn-primary,
#button-cart,
.btn-checkout,
#button-confirm,
.simplecheckout-button-block .button,
body.checkout-checkout #button-confirm,
.cart .btn-general {
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(3, 93, 255, 0.28) !important;
  padding: 12px 18px !important;
}
.btn-general:hover,
.btn-primary:hover,
#button-cart:hover {
  filter: brightness(1.05);
  color: #fff !important;
}
.btn-warning,
.btn-fastorder {
  background: var(--mm-orange) !important;
  border-color: var(--mm-orange) !important;
  color: #fff !important;
  border-radius: 12px !important;
}
.btn-default,
.btn-link {
  border-radius: 999px !important;
}
.btn-default {
  background: #fff !important;
  border: 1px solid var(--mm-line) !important;
  color: var(--mm-text) !important;
  box-shadow: none !important;
}
.btn-default:hover {
  background: var(--mm-blue-mist) !important;
  border-color: rgba(3, 93, 255, 0.35) !important;
  color: var(--mm-blue-deep) !important;
}

/* ========== FORMS ========== */
.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
select,
textarea {
  border: 1px solid var(--mm-line) !important;
  background: #fff !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  color: var(--mm-text) !important;
  box-shadow: none !important;
  height: auto !important;
  font-family: var(--mm-font) !important;
}
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--mm-blue) !important;
  box-shadow: 0 0 0 4px rgba(3, 93, 255, 0.12) !important;
  outline: none !important;
}
label,
.control-label {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--mm-muted);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* ========== Maintenance notice ========== */
.mm-maintenance-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 9px 14px;
  background: linear-gradient(90deg, #fff4d6 0%, #ffe8a8 50%, #fff4d6 100%);
  border-bottom: 1px solid #f0c040;
  color: #7a4b00;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  position: relative;
  z-index: 1200;
}
.mm-maintenance-bar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(122, 75, 0, 0.12);
  color: #a86200;
  font-size: 11px;
  flex: 0 0 auto;
}
.mm-maintenance-bar__text {
  letter-spacing: 0.01em;
}
@media (max-width: 480px) {
  .mm-maintenance-bar {
    font-size: 12px;
    padding: 8px 10px;
  }
}

/* ========== HEADER ========== */
header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 14px 0 !important;
  padding: 0 !important;
  animation: mm-rise 0.55s ease both;
  position: relative;
  z-index: 1100;
}
header > .container {
  background: var(--mm-surface) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(220, 227, 239, 0.95);
  border-radius: 22px;
  box-shadow: var(--mm-shadow);
  padding: 10px 20px 16px !important;
  overflow: visible !important;
  position: relative;
  z-index: 1;
}
.mm-header-util {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px 16px;
  flex-wrap: nowrap;
  padding: 2px 0 10px;
}
.mm-header-util-start,
.mm-header-util-end {
  display: flex !important;
  align-items: center;
  gap: 2px 4px;
  flex-wrap: nowrap;
  min-width: 0;
}
.mm-header-util-start { flex: 1 1 auto; overflow: hidden; }
.mm-header-util-end {
  flex: 0 0 auto;
  margin-left: auto;
  justify-content: flex-end;
  gap: 2px;
}
.mm-header-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--mm-line), transparent);
  margin: 0 0 12px;
}
.mm-top-nav.box-dop-menu {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100%;
}
.mm-top-nav-list.nav.navbar-nav {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 2px;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
.mm-top-nav-list > li { float: none !important; display: block; flex: 0 0 auto; }
.mm-top-nav-link {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  padding: 5px 9px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--mm-muted) !important;
  white-space: nowrap;
  line-height: 1.2;
}
.mm-top-nav-link i {
  font-size: 13px;
  opacity: 0.9;
}
.mm-top-nav-link:hover {
  color: var(--mm-blue-deep) !important;
  background: var(--mm-blue-mist) !important;
}
.mm-top-icon-btn.btn-link,
.mm-header-util-end .mm-top-icon-btn,
.mm-header-util-end .box-account .btn-link.mm-top-icon-btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 10px !important;
  color: var(--mm-muted) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  border: 1px solid transparent !important;
}
.mm-top-icon-btn:hover,
.mm-header-util-end .box-account .btn-link.mm-top-icon-btn:hover {
  color: var(--mm-blue-deep) !important;
  background: var(--mm-blue-mist) !important;
  border-color: rgba(3, 93, 255, 0.18) !important;
}
.mm-header-util-end .box-account { margin: 0; }
.mm-header-util-end .caret { display: none !important; }
.mm-top-currency:empty,
.mm-top-language:empty { display: none !important; }
.mm-top-currency .btn-link,
.mm-top-language .btn-link {
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--mm-muted) !important;
}

.mm-header-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
  width: 100%;
}
.mm-header-top {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px;
  width: 100%;
}
.mm-header-brand { flex: 0 1 auto; min-width: 0; max-width: 42%; }
.mm-header-search-row {
  width: 100% !important;
  max-width: 100% !important;
  position: relative;
  z-index: 1;
}
.mm-header-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px;
  flex: 0 0 auto;
  margin-left: auto;
  position: relative;
  z-index: 40;
}
header .logo-top,
header .phone-box,
header .box-search,
header .box-cart {
  float: none !important;
  left: auto !important;
  right: auto !important;
  position: relative !important;
  width: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  clear: none !important;
}
.mm-logo {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 10px;
  text-align: left;
}
.mm-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: inherit;
}
.mm-logo-link img { display: none !important; }
.mm-brand-text {
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.45rem, 2.6vw, 1.85rem);
  letter-spacing: -0.03em;
  color: var(--mm-text);
  line-height: 1;
}
.mm-brand-text span { color: var(--mm-blue-deep); }
.mm-brand-note {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--mm-muted);
  flex: 0 1 220px;
}
@media (min-width: 992px) {
  .mm-brand-note::before {
    content: "·";
    margin-right: 10px;
    color: var(--mm-line);
  }
}
.mm-header-phone {
  position: relative;
  z-index: 45;
  flex: 0 1 auto;
  min-width: 0;
}
header #phone .contact-header {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  z-index: 45;
}
header #phone .dropdown-toggle.mm-phone-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 12px;
  background: linear-gradient(180deg, #fff, #f7f9fc);
  border: 1px solid var(--mm-line);
  cursor: pointer;
  white-space: nowrap;
}
header #phone .additional-tel {
  display: flex !important;
  align-items: center;
  gap: 6px;
  margin: 0 !important;
}
@media (min-width: 992px) {
  header .mm-phone-compact #phone .additional-tel.dth ~ .additional-tel.dth { display: none !important; }
}
header #phone .icon-image {
  width: 22px; height: 22px; border-radius: 7px;
  background: var(--mm-blue-mist); color: var(--mm-blue-deep);
  display: inline-flex !important; align-items: center; justify-content: center;
  font-size: 12px !important;
}
header #phone .icon-image .fa { font-size: 12px !important; }
header #phone .tel-info,
header #phone .dtch {
  font-family: var(--mm-font);
  font-weight: 700;
  font-size: 13px !important;
  line-height: 1.2 !important;
  color: var(--mm-text) !important;
}
header #phone .text_after_phone,
header #phone .mm-callback-btn {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
}
header #phone .text_after_phone a,
header #phone .mm-callback-btn a,
header #phone .text_after_phone > button,
header #phone .mm-callback-btn > button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 32px;
  padding: 0 10px !important;
  border-radius: 10px !important;
  border: 0 !important;
  background: linear-gradient(180deg, #ff9a33, var(--mm-orange)) !important;
  color: #fff !important;
  font-family: var(--mm-font) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(255, 128, 0, 0.22);
  text-decoration: none !important;
  cursor: pointer;
  transition: filter .15s ease, transform .15s ease;
}
header #phone .text_after_phone a:hover,
header #phone .mm-callback-btn a:hover {
  color: #fff !important;
  filter: brightness(1.05);
  transform: translateY(-1px);
}
header #phone .text_after_phone a .fa,
header #phone .mm-callback-btn a .fa {
  font-size: 12px !important;
}
header #phone .car-down { position: static !important; color: var(--mm-muted); font-size: 12px !important; }
header #phone .dropdown-menu.drop-contacts {
  display: none;
  border: 1px solid var(--mm-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--mm-shadow) !important;
  padding: 8px 0 !important;
  min-width: 220px;
  z-index: 1300 !important;
  top: 100% !important;
  left: 0 !important;
  margin-top: 0 !important;
}
header #phone .contact-header:hover > .dropdown-menu.drop-contacts,
header #phone .contact-header.open > .dropdown-menu.drop-contacts {
  display: block !important;
}

/* ========== Search bar ========== */
.mm-search,
#searchtop.mm-search { width: 100%; position: relative; }
.mm-search-bar.input-group,
header .mm-search-bar.input-group,
header #search.mm-search-bar {
  display: flex !important;
  width: 100% !important;
  align-items: stretch;
  background: #fff !important;
  border: 1px solid var(--mm-line) !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(3, 93, 255, 0.05);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.mm-search-bar:focus-within {
  border-color: rgba(3, 93, 255, 0.45) !important;
  box-shadow: 0 0 0 4px rgba(3, 93, 255, 0.12), 0 10px 28px rgba(3, 93, 255, 0.08);
}
.mm-search-cat,
header #search .categories.mm-search-cat,
#change_category,
header #search .btn-search-select {
  display: none !important;
}
.mm-search-input,
header #search .mm-search-input,
header #search input.form-control {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 48px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 15px !important;
  padding: 0 16px !important;
}
.mm-search-input:focus { box-shadow: none !important; }
.mm-search-submit { flex: 0 0 auto !important; width: auto !important; }
.mm-search-submit .btn-search,
header #search .btn-search {
  height: 48px !important;
  min-width: 52px;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: 0 18px !important;
}
.mm-search-submit .btn-search:hover { filter: brightness(1.05); }
.mm-search-hint {
  margin-top: 6px;
  font-size: 0.78rem;
  color: var(--mm-muted);
}
.mm-search-hint a {
  font-weight: 700;
  border-bottom: 1px dotted var(--mm-blue);
  margin-left: 4px;
}
/* Autocomplete */
#searchtop ul.dropdown-menu,
.mm-search ul.dropdown-menu.autosearch {
  border-radius: 16px !important;
  border: 1px solid var(--mm-line) !important;
  box-shadow: var(--mm-shadow) !important;
  padding: 8px !important;
  margin-top: 8px !important;
  width: 100%;
}
#searchtop .ajaxadvance {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 8px;
  border-radius: 12px;
}
#searchtop .ajaxadvance:hover { background: var(--mm-blue-mist); }
#searchtop .ajaxadvance .image img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 10px;
  border: 1px solid var(--mm-line);
  background: #fff;
}
#searchtop .ajaxadvance .name {
  margin: 0 0 4px;
  font-size: 0.88rem;
  font-weight: 700;
  font-family: var(--mm-font);
}
#searchtop .ajaxadvance .price {
  font-family: var(--mm-display);
  font-weight: 800;
  color: var(--mm-blue-deep);
  font-size: 0.95rem;
}
#searchtop .search-view-all-result {
  display: block;
  text-align: center;
  padding: 10px !important;
  font-weight: 700;
  color: var(--mm-blue-deep) !important;
}

/* ========== Cart button + dropdown ========== */
.mm-header-top,
.mm-header-grid {
  overflow: visible !important;
  position: relative;
  z-index: 30;
}
.mm-header-cart {
  min-width: 0;
  max-width: none;
  position: relative;
  z-index: 50;
  overflow: visible !important;
}
.mm-cart,
.shopping-cart.mm-cart,
header #cart,
.mm-cart #cart {
  position: relative !important;
  z-index: 50 !important;
  width: auto !important;
  overflow: visible !important;
}
.mm-cart-toggle.btn,
header #cart > .btn.mm-cart-toggle {
  height: auto !important;
  min-height: 40px;
  padding: 5px 10px 5px 8px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #fff, #f7f9fc) !important;
  border: 1px solid var(--mm-line) !important;
  color: var(--mm-text) !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  box-shadow: none !important;
  width: auto !important;
  white-space: nowrap;
}
.mm-cart-toggle:hover {
  border-color: rgba(3, 93, 255, 0.35) !important;
  box-shadow: 0 8px 18px rgba(3, 93, 255, 0.08) !important;
}
.mm-cart-icon-wrap {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: var(--mm-blue-mist);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mm-cart-icon-wrap .shop-bag,
.mm-cart-icon-wrap .fa-shopping-bag {
  color: var(--mm-blue-deep) !important;
  font-size: 15px !important;
  margin: 0 !important;
}
.mm-cart-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--mm-orange);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-shadow: 0 0 0 2px #fff;
}
.mm-cart-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  line-height: 1.15;
  text-align: left;
}
.mm-cart-meta-label {
  font-size: 11px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mm-muted);
}
.mm-cart-meta-sum,
.mm-cart-toggle .cart-total {
  font-family: var(--mm-font);
  font-size: 13px !important;
  font-weight: 700;
  color: var(--mm-text);
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mm-cart-toggle .car-down {
  color: var(--mm-muted);
  font-size: 12px;
  margin-left: 2px;
}
.mm-cart-dropdown.dropdown-menu,
header #cart .dropdown-menu.mm-cart-dropdown,
header #cart.open > .dropdown-menu,
.mm-cart #cart .dropdown-menu,
.shopping-cart #cart .dropdown-menu {
  width: 340px !important;
  min-width: 320px !important;
  max-width: min(340px, calc(100vw - 24px)) !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-top: 0 !important;
  top: calc(100% - 2px) !important;
  right: 0 !important;
  left: auto !important;
  border-radius: 18px !important;
  border: 1px solid rgba(220, 227, 239, 0.95) !important;
  box-shadow: 0 18px 50px rgba(15, 35, 80, 0.18) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(12px);
  overflow: hidden !important;
  list-style: none;
  z-index: 1400 !important;
  position: absolute !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}
/* Hover: keep dropdown open; bridge covers search row below */
header #cart:hover > .dropdown-menu,
header #cart.open > .dropdown-menu,
.mm-cart #cart:hover > .dropdown-menu,
.shopping-cart #cart:hover > .dropdown-menu,
.mm-header-cart:hover #cart > .dropdown-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
header #cart > .dropdown-menu::before,
.mm-cart #cart > .dropdown-menu::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -20px !important;
  height: 22px !important;
  background: transparent !important;
  display: block !important;
  pointer-events: auto !important;
  z-index: 1;
}
.mm-cart,
.shopping-cart.mm-cart,
header #cart {
  padding-bottom: 0 !important;
}
.mm-cart-head {
  padding: 16px 16px 10px;
  border-bottom: 1px solid var(--mm-line);
  border-radius: 18px 18px 0 0;
}
.mm-cart-eyebrow {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mm-orange);
  margin-bottom: 4px;
}
.mm-cart-title {
  font-family: var(--mm-display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.mm-cart-items {
  max-height: 280px;
  overflow-y: auto;
  padding: 4px 8px;
}
.mm-cart-item {
  display: grid;
  grid-template-columns: 52px 1fr auto 28px;
  gap: 10px;
  align-items: center;
  padding: 10px 8px;
  border-bottom: 1px solid var(--mm-line);
}
.mm-cart-item:last-child { border-bottom: 0; }
.mm-cart-thumb {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  border: 1px solid var(--mm-line);
  background: linear-gradient(145deg, #d7e5ff, #f5f8ff);
  display: grid;
  place-items: center;
  overflow: hidden;
}
.mm-cart-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.mm-cart-thumb-ph {
  font-weight: 800;
  font-size: 0.72rem;
  color: var(--mm-blue);
}
.mm-cart-name {
  display: block;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--mm-text) !important;
  margin-bottom: 2px;
}
.mm-cart-opts {
  font-size: 0.72rem;
  color: var(--mm-muted);
  margin-bottom: 2px;
}
.mm-cart-qty {
  font-size: 0.75rem;
  color: var(--mm-muted);
  font-weight: 600;
}
.mm-cart-sum {
  font-weight: 800;
  font-size: 0.88rem;
  color: var(--mm-blue-deep);
  white-space: nowrap;
}
.mm-cart-remove {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--mm-muted);
  padding: 0;
}
.mm-cart-remove:hover {
  background: rgba(218, 16, 47, 0.08);
  color: var(--mm-danger);
}
.mm-cart-foot {
  padding: 12px 14px 14px;
  background: #f7f9fc;
  border-top: 1px solid var(--mm-line);
  border-radius: 0 0 18px 18px;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.mm-cart-totals { display: grid; gap: 6px; margin-bottom: 12px; }
.mm-cart-total-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.88rem;
  color: var(--mm-muted);
  min-width: 0;
}
.mm-cart-total-row span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.mm-cart-total-row.is-grand {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px dashed var(--mm-line);
  color: var(--mm-text);
  font-weight: 800;
  font-size: 1rem;
}
.mm-cart-total-row.is-grand span:last-child {
  font-family: var(--mm-display);
  color: var(--mm-blue-deep);
  white-space: nowrap;
}
.mm-cart-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 8px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}
.mm-cart-btn-cart,
.mm-cart-btn-checkout,
.mm-cart-actions .btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  white-space: normal !important;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mm-cart-empty {
  padding: 28px 20px;
  text-align: center;
}
.mm-cart-empty-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  border-radius: 16px;
  background: var(--mm-blue-mist);
  color: var(--mm-blue-deep);
  display: grid;
  place-items: center;
  font-size: 20px;
}
.mm-cart-empty p {
  margin: 0;
  color: var(--mm-muted);
  font-weight: 600;
  font-size: 0.9rem;
}

@media (max-width: 991px) {
  .mm-cart-meta { display: none; }
  .mm-cart-toggle .car-down { display: none; }
}

/* Sticky clone of category menu — hide (was duplicating above header) */
#top-fixed {
  display: none !important;
}

/* Category menu inside header .container, under search */
header.mm-header .container .mm-header-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
  width: 100%;
}
header.mm-header .container .menu-fixed,
header.mm-header .container .mm-header-menu {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(220, 227, 239, 0.95) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
/* Avoid nested container padding when menu sits inside header container */
header.mm-header .container .menu-fixed > .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Horizontal category menu — flat bar under search (desktop) */
header .menu-fixed,
.mm-header .menu-fixed,
.menu-fixed {
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* Do NOT force display:block here — breaks .hidden-xs/.hidden-sm on mobile */
@media (min-width: 992px) {
  header .menu-fixed,
  .mm-header .menu-fixed,
  .menu-fixed {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}
@media (max-width: 991px) {
  /* Desktop category bar must stay hidden on phones/tablets */
  header .menu-fixed,
  header .menu-fixed.hidden-xs,
  header .menu-fixed.hidden-sm,
  .mm-header .menu-fixed,
  .menu-fixed.hidden-xs,
  .menu-fixed.hidden-sm {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
  }
  header > .container {
    overflow-x: hidden !important;
  }
  html, body {
    overflow-x: hidden;
    max-width: 100%;
  }
}
.menu-fixed > .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#horizontal-menu,
#menu-ocp,
nav.hmenu_type,
.nsmenu,
#menu {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: 100% !important;
  min-height: 0 !important;
}
#horizontal-menu > .container,
nav.hmenu_type > .container,
.navbar.hmenu_type,
#horizontal-menu.navbar.hmenu_type {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#horizontal-menu .nav > li > a,
#menu-ocp .nav > li > a,
nav.hmenu_type .nav > li > a {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--mm-text) !important;
  border-radius: 0 !important;
  padding: 14px 8px !important;
  margin: 0 !important;
  white-space: nowrap;
  background: transparent !important;
  box-shadow: none !important;
}
#horizontal-menu .nav > li > a:hover,
#horizontal-menu .nav > li.open > a,
#menu-ocp .nav > li > a:hover {
  background: transparent !important;
  color: var(--mm-blue-deep) !important;
  box-shadow: none !important;
}
#horizontal-menu .navbar-header,
#menu-ocp .navbar-header,
#horizontal-menu .navbar-toggle,
#menu-ocp .navbar-toggle {
  display: none !important;
}
#horizontal-menu .navbar-ex1-collapse,
#menu-ocp .navbar-ex1-collapse,
#horizontal-menu .collapse.navbar-collapse,
#menu-ocp .collapse.navbar-collapse {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
}
#horizontal-menu .mm-hmenu-nav,
#menu-ocp .mm-hmenu-nav,
#horizontal-menu .nav.navbar-nav {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: space-between;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#horizontal-menu .mm-hmenu-nav > li,
#menu-ocp .mm-hmenu-nav > li,
#horizontal-menu .nav.navbar-nav > li {
  float: none !important;
  flex: 1 1 0;
  display: flex;
  margin: 0 !important;
}
#horizontal-menu .mm-hmenu-nav > li > a,
#menu-ocp .mm-hmenu-nav > li > a,
#horizontal-menu .nav.navbar-nav > li > a {
  flex: 1 1 auto;
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
}
#horizontal-menu .dropdown-menu,
#menu-ocp .dropdown-menu {
  border-radius: 0 !important;
  border: 1px solid var(--mm-line) !important;
  box-shadow: none !important;
  padding: 8px !important;
}

/* ========== BREADCRUMB ========== */
.breadcrumb {
  background: var(--mm-surface) !important;
  border: 1px solid rgba(220, 227, 239, 0.9) !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  margin: 8px 0 16px !important;
  box-shadow: var(--mm-shadow-sm);
}
.breadcrumb > li + li::before { color: var(--mm-muted); }
.breadcrumb a, .breadcrumb span { font-weight: 600; font-size: 0.86rem; }

/* ========== PAGE TITLES ========== */
h1, .h1-prod-name {
  font-size: clamp(1.45rem, 3.2vw, 2.2rem) !important;
  margin: 0 0 18px !important;
  line-height: 1.15 !important;
}

/* ========== SIDEBAR ========== */
#column-left, #column-right { margin-bottom: 20px; }
#column-left .box,
#column-right .box,
#column-right .panel {
  padding: 14px !important;
  margin-bottom: 14px !important;
}
#column-left .box-heading,
#column-right .box-heading,
#column-left .panel-heading {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
/* Account / sidebar nav: plain line separators, no rounded cards */
#column-left > .list-group,
#column-right > .list-group {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
  overflow: visible !important;
}
#column-left > .list-group > a.list-group-item,
#column-left > .list-group > .list-group-item,
#column-right > .list-group > a.list-group-item,
#column-right > .list-group > .list-group-item {
  display: block !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(220, 227, 239, 0.95) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 12px 4px !important;
  margin: 0 !important;
  font-weight: 600;
  color: var(--mm-text) !important;
}
#column-left > .list-group > a.list-group-item:last-child,
#column-left > .list-group > .list-group-item:last-child,
#column-right > .list-group > a.list-group-item:last-child,
#column-right > .list-group > .list-group-item:last-child {
  border-bottom: 0 !important;
}
#column-left > .list-group > a.list-group-item:hover,
#column-left > .list-group > a.list-group-item.active,
#column-right > .list-group > a.list-group-item:hover,
#column-right > .list-group > a.list-group-item.active {
  background: transparent !important;
  color: var(--mm-blue-deep) !important;
}

/* ========== OCFILTER ========== */
#ocfilter,
.ocfilter,
#column-left #ocfilter {
  background: #fff !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  padding: 16px 14px 14px !important;
  margin-bottom: 16px !important;
  overflow: visible !important;
}
#ocfilter .panel-heading,
#column-left #ocfilter .panel-heading {
  font-family: var(--mm-display) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: var(--mm-text) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 14px !important;
  margin: 0 0 4px !important;
}
#ocfilter .list-group,
#column-left #ocfilter .list-group {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#ocfilter .list-group-item.ocfilter-option,
#column-left #ocfilter .list-group-item.ocfilter-option,
.ocfilter-option.list-group-item {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--mm-line) !important;
  border-radius: 0 !important;
  padding: 14px 0 12px !important;
  margin: 0 !important;
  overflow: visible !important;
}
#ocfilter .list-group-item.ocfilter-option:first-child {
  border-top: 0 !important;
  padding-top: 8px !important;
}
#ocfilter .list-group-item.ocfilter-option:hover,
#column-left #ocfilter .list-group-item.ocfilter-option:hover {
  background: transparent !important;
  color: inherit !important;
}
.ocfilter-option .ocf-option-name {
  font-family: var(--mm-font) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mm-muted) !important;
  margin: 0 0 10px !important;
}
.ocfilter-option .ocf-option-name #price-from,
.ocfilter-option .ocf-option-name #price-to {
  font-family: var(--mm-display);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--mm-text);
}
.ocfilter-option .ocf-option-values {
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow: visible !important;
}
.ocfilter-option label {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 8px;
  width: 100% !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 12px !important;
  background: #f7f9fc !important;
  color: var(--mm-text) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.ocfilter-option label:hover {
  border-color: rgba(3, 93, 255, 0.3) !important;
  background: var(--mm-blue-mist) !important;
}
.ocfilter-option label input[type="checkbox"],
.ocfilter-option label input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  pointer-events: none;
}
.ocfilter-option label::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 1.5px solid #c5cedd;
  background: #fff;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 11px;
}
.ocfilter-option label.ocf-selected,
.ocfilter-option label:has(input:checked) {
  border-color: rgba(3, 93, 255, 0.45) !important;
  background: var(--mm-blue-mist) !important;
  color: var(--mm-blue-deep) !important;
}
.ocfilter-option label.ocf-selected::before,
.ocfilter-option label:has(input:checked)::before {
  border-color: var(--mm-blue-deep);
  background-color: var(--mm-blue-deep);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2.5 6.2l2.4 2.4 4.6-5'/%3E%3C/svg%3E");
}
.ocfilter-option label.disabled {
  opacity: 0.45;
  cursor: default;
}
.ocfilter-option label small.badge,
.ocfilter-option label .badge {
  margin-left: auto !important;
  background: #fff !important;
  color: var(--mm-muted) !important;
  border: 1px solid #e1e7f0 !important;
  border-radius: 999px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  min-width: 0;
}
.ocfilter-option label.ocf-selected small.badge,
.ocfilter-option label:has(input:checked) small.badge {
  opacity: 1 !important;
  background: #fff !important;
  color: var(--mm-blue-deep) !important;
  border-color: rgba(3, 93, 255, 0.25) !important;
}
.ocfilter-option .ocf-color {
  float: none !important;
  margin: 0 !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #c5cedd;
  flex: 0 0 18px;
}
.ocfilter-option .ocf-image {
  float: none !important;
  margin: 0 !important;
  border-radius: 6px;
  flex: 0 0 22px;
}

/* Price scale / noUi */
#ocfilter .scale,
.ocfilter .scale {
  margin: 18px 10px 28px !important;
}
#ocfilter .noUi-target,
.ocfilter .noUi-target,
#scale-price.noUi-target {
  background: #e8eef8 !important;
  border: 0 !important;
  box-shadow: none !important;
  height: 6px !important;
  border-radius: 999px !important;
}
#ocfilter .noUi-connect,
.ocfilter .noUi-connect {
  background: linear-gradient(90deg, #1a6dff, var(--mm-blue-deep)) !important;
}
#ocfilter .noUi-handle,
.ocfilter .noUi-handle {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  background: var(--mm-blue-deep) !important;
  box-shadow: 0 4px 12px rgba(3, 93, 255, 0.35) !important;
  top: -7px !important;
  right: -10px !important;
  cursor: pointer;
}
#ocfilter .noUi-handle::before,
#ocfilter .noUi-handle::after,
.ocfilter .noUi-handle::before,
.ocfilter .noUi-handle::after {
  display: none !important;
}
#ocfilter .fields-price,
.ocfilter .fields-price {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}
#ocfilter .fields-price input,
.ocfilter .fields-price input,
#ocfilter .popover .form-control {
  height: 40px !important;
  border-radius: 10px !important;
  border: 1px solid var(--mm-line) !important;
  box-shadow: none !important;
  font-weight: 700;
}

/* Apply / floating button */
#ocfilter-button {
  position: sticky;
  top: 12px;
  z-index: 5;
  margin-bottom: 10px;
}
#ocfilter-button:not(.hidden),
#ocfilter-button[style*="display: block"],
#ocfilter-button.show {
  display: block !important;
}
#ocfilter-button .btn,
#ocfilter-button .btn-primary {
  width: 100%;
  min-height: 46px !important;
  border-radius: 12px !important;
  border: 0 !important;
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 0.92rem !important;
  box-shadow: 0 12px 24px rgba(3, 93, 255, 0.25) !important;
}
#ocfilter-button .btn.disabled,
#ocfilter-button .btn[disabled] {
  opacity: 0.55;
  box-shadow: none !important;
}

/* Show more / collapse */
#ocfilter .btn.btn-block,
#ocfilter button[data-target*="ocfilter-hidden"],
.collapse-value > button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--mm-blue-deep) !important;
  font-weight: 700 !important;
  font-size: 0.84rem !important;
  padding: 8px 4px !important;
  box-shadow: none !important;
  text-align: left !important;
  text-decoration: none !important;
}
.selected-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 0 10px !important;
  margin: 0 0 6px !important;
}
.selected-options .ocfilter-option {
  background: var(--mm-blue-mist) !important;
  border: 1px solid rgba(3, 93, 255, 0.2) !important;
  border-radius: 999px !important;
  color: var(--mm-blue-deep) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  padding: 6px 10px !important;
}

/* Mobile offcanvas handle */
.ocfilter-mobile,
.ocf-offcanvas.ocfilter-mobile {
  z-index: 1045;
}
.ocfilter-mobile-handle {
  position: fixed;
  left: 12px;
  bottom: 88px;
  z-index: 1046;
}
.ocfilter-mobile-handle .btn {
  min-height: 48px !important;
  padding: 0 16px !important;
  border-radius: 14px !important;
  border: 0 !important;
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 28px rgba(3, 93, 255, 0.3) !important;
}
.ocfilter-mobile.active #ocfilter,
.ocf-offcanvas.active #ocfilter {
  border-radius: 0 !important;
  border: 0 !important;
  min-height: 100%;
}

/* ========== PRODUCT CARDS — Lemana-like catalog tile ========== */
.row-price.category-page,
.product-grid,
.category-page {
  margin-left: -6px !important;
  margin-right: -6px !important;
}
.product-layout.product-grid {
  padding-left: 6px !important;
  padding-right: 6px !important;
  margin-bottom: 12px !important;
  display: flex;
}
.product-layout.product-grid > .product-thumb {
  width: 100%;
}
.product-thumb,
.mm-productany .product-thumb,
.product-layout .product-thumb,
.item .product-thumb {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  padding: 0 !important;
  overflow: hidden;
  position: relative;
  background: #fff !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.product-thumb:hover {
  transform: none;
  border-color: #d0d8e6 !important;
  box-shadow: 0 8px 24px rgba(15, 35, 80, 0.08) !important;
}
.product-thumb .image {
  margin: 0 !important;
  padding: 16px 16px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  text-align: center;
  min-height: 200px;
  height: 200px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.product-thumb .image > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: relative !important;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.product-thumb .image img {
  max-height: 168px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto;
  padding: 0 !important;
  object-fit: contain;
  transition: opacity .25s ease;
}
/* Hover twin overlays — never sits beside the main photo */
.product-thumb .image img.main-img {
  position: relative;
  z-index: 1;
  opacity: 1;
}
.product-thumb .image .additional-img-hover {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2;
  max-height: 168px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  opacity: 0;
  transform: translate(-50%, -50%) !important;
  pointer-events: none;
  transition: opacity .25s ease;
}
.product-thumb:hover .image img.main-img {
  opacity: 0;
}
.product-thumb:hover .image .additional-img-hover {
  opacity: 1;
  transform: translate(-50%, -50%) !important;
}
.product-thumb .image .image-carousel {
  width: 100%;
  height: 100%;
  position: relative;
}
.product-thumb .image .image-carousel .item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.product-thumb .image .image-carousel img {
  margin: 0 auto;
}
.product-thumb .caption {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 4px 14px 14px !important;
  margin: 0 !important;
  gap: 0;
}
.product-thumb .product-model:empty,
.product-thumb .product-description,
.product-thumb .option:empty,
.product-thumb .productany-opt:empty,
.product-thumb .option:not(:has(.radio-checbox-options, .image-radio, select)),
.product-thumb .productany-opt:not(:has(.radio-checbox-options, .image-radio, select)),
.product-thumb .actions-quick-order:empty,
.product-thumb .quick-order:empty,
.product-thumb .quantity_plus_minus,
.product-thumb .list-quick-order,
.product-thumb .actions-quick-order,
.product-thumb .grid-quick-order,
.product-thumb .action-timer,
.product-thumb .quickview {
  display: none !important;
}
.product-thumb .product-model:not(:empty) {
  order: 1;
  text-align: left !important;
  color: var(--mm-muted);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0 0 4px !important;
  text-transform: none;
}
.product-thumb .product-model:not(:empty)::before {
  content: "Арт. ";
  font-weight: 600;
}
.product-thumb .product-name,
.product-thumb h4 {
  order: 2;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  overflow: hidden;
  text-align: left !important;
}
.product-thumb .product-name a,
.product-thumb h4 a {
  font-family: var(--mm-font) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
  color: #1f2430 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-thumb .product-name a:hover,
.product-thumb h4 a:hover {
  color: var(--mm-blue-deep) !important;
}

/* Options as selectable chips — only on card hover */
.product-thumb .option:has(.radio-checbox-options, .image-radio, select),
.product-thumb .productany-opt:has(.radio-checbox-options, .image-radio, select),
.product-thumb .caption > .option:has(.radio-checbox-options, .image-radio, select) {
  order: 3;
  display: flex !important;
  flex-direction: column;
  gap: 6px;
  margin: 0 !important;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(6px);
  pointer-events: none;
  transition:
    max-height 0.28s ease,
    opacity 0.22s ease,
    transform 0.22s ease,
    margin 0.22s ease;
}
.product-thumb:hover .option:has(.radio-checbox-options, .image-radio, select),
.product-thumb:hover .productany-opt:has(.radio-checbox-options, .image-radio, select),
.product-thumb:hover .caption > .option:has(.radio-checbox-options, .image-radio, select),
.product-thumb:focus-within .option:has(.radio-checbox-options, .image-radio, select),
.product-thumb:focus-within .productany-opt:has(.radio-checbox-options, .image-radio, select),
.product-thumb:focus-within .caption > .option:has(.radio-checbox-options, .image-radio, select) {
  max-height: 280px;
  opacity: 1;
  margin: 0 0 10px !important;
  transform: translateY(0);
  pointer-events: auto;
}
@media (hover: none), (max-width: 991px) {
  .product-thumb .option:has(.radio-checbox-options, .image-radio, select),
  .product-thumb .productany-opt:has(.radio-checbox-options, .image-radio, select),
  .product-thumb .caption > .option:has(.radio-checbox-options, .image-radio, select) {
    max-height: none;
    opacity: 1;
    margin: 0 0 10px !important;
    transform: none;
    pointer-events: auto;
    overflow: visible;
  }
}
.product-thumb .option .form-group {
  margin: 0 !important;
}
.product-thumb .option .control-label,
.product-thumb .option label.control-label {
  display: block !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  color: var(--mm-muted) !important;
  margin: 0 0 6px !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.product-thumb .option .control-label .fa,
.product-thumb .option .required { display: none !important; }
.product-thumb .option [id^="input-option"] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.product-thumb .radio-checbox-options {
  position: relative;
  margin: 0 !important;
  flex: 1 1 100%;
}
.product-thumb .radio-checbox-options input[type="checkbox"],
.product-thumb .radio-checbox-options input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  pointer-events: none;
}
.product-thumb .radio-checbox-options label {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid #e1e7f0 !important;
  border-radius: 10px !important;
  background: #f7f9fc !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #2a2a2a !important;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.product-thumb .radio-checbox-options label::before {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border-radius: 5px;
  border: 1.5px solid #c5cedd;
  background: #fff;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 10px;
}
.product-thumb .radio-checbox-options input:checked + label {
  border-color: rgba(3, 93, 255, 0.45) !important;
  background: var(--mm-blue-mist) !important;
  color: var(--mm-blue-deep) !important;
}
.product-thumb .radio-checbox-options input:checked + label::before {
  border-color: var(--mm-blue-deep);
  background-color: var(--mm-blue-deep);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2.5 6.2l2.4 2.4 4.6-5'/%3E%3C/svg%3E");
}
.product-thumb .radio-checbox-options label:hover {
  border-color: rgba(3, 93, 255, 0.3) !important;
}
.product-thumb .option-name { flex: 1 1 auto; }
.product-thumb .option-price {
  flex: 0 0 auto;
  white-space: nowrap;
  font-weight: 800;
  color: var(--mm-blue-deep);
}
.product-thumb .image-radio {
  margin: 0 !important;
}
.product-thumb .image-radio label {
  margin: 0;
  cursor: pointer;
}
.product-thumb .image-radio input { display: none; }
.product-thumb .image-radio .color-option {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #c5cedd;
  display: inline-block;
}
.product-thumb .image-radio input:checked + .color-option,
.product-thumb .image-radio input:checked + img {
  box-shadow: 0 0 0 2px var(--mm-blue-deep);
}

/* Stars — no fa-stack overlap */
.product-thumb .rating {
  order: 4;
  text-align: left !important;
  margin: 0 0 10px !important;
  min-height: 18px;
}
.product-thumb .rating::before { display: none !important; }
.mm-stars,
.product-thumb .rating .rating-box,
.rating .rating-box.mm-stars,
.rating .mm-stars {
  background: transparent !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  flex-wrap: wrap;
  line-height: 1;
}
.mm-stars > .fa,
.mm-stars > i,
.product-thumb .rating .fa-stack,
.rating .fa-stack {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: relative !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 14px !important;
  font-size: 13px !important;
  margin: 0 !important;
  vertical-align: middle;
}
.product-thumb .rating .fa-stack .fa,
.rating .fa-stack .fa,
.product-thumb .rating .fa-stack-1x,
.product-thumb .rating .fa-stack-2x,
.rating .fa-stack-1x,
.rating .fa-stack-2x {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 14px !important;
  height: 14px !important;
  line-height: 14px !important;
  font-size: 13px !important;
}
.product-thumb .rating .fa-stack .fa-star + .fa-star-o,
.rating .fa-stack .fa-star + .fa-star-o {
  display: none !important;
}
.mm-star-full,
.product-thumb .rating .fa-star,
.rating .fa-star {
  color: #f5a623 !important;
}
.mm-star-empty,
.product-thumb .rating .fa-star-o,
.rating .fa-star-o {
  color: #d5dbe6 !important;
  opacity: 1 !important;
}
.quantity-reviews {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 0 0 6px !important;
  margin: 0 !important;
}
.quantity-reviews::after { display: none !important; }
.quantity-reviews a {
  color: var(--mm-muted) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  border-bottom: 1px dotted transparent;
}
.quantity-reviews a:empty { display: none !important; }
.quantity-reviews a:not(:empty)::after {
  content: " отзывов";
  font-weight: 600;
}
.product-thumb .price,
.product-thumb p.price {
  order: 5;
  margin: auto 0 12px !important;
  padding: 0 !important;
  text-align: left !important;
  font-family: var(--mm-font) !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  color: #111827 !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.product-thumb .price-old {
  display: inline-block;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  opacity: 1;
  text-decoration: line-through;
  color: var(--mm-muted) !important;
  margin-right: 6px;
}
.product-thumb .price-new {
  color: #111827 !important;
  font-weight: 800 !important;
}
.product-thumb .option-price {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.product-thumb .actions {
  order: 6;
  display: flex !important;
  align-items: stretch;
  gap: 8px;
  text-align: left !important;
  margin: 0 !important;
  position: relative;
}
.product-thumb .actions div {
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  float: none !important;
}
.product-thumb .actions .cart {
  flex: 1 1 auto;
  margin: 0 !important;
  width: auto !important;
}
.product-thumb .actions .cart .btn,
.product-thumb .actions .cart .btn-general {
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  padding: 0 14px !important;
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.product-thumb .actions .cart .btn:hover { transform: none; filter: brightness(1.05); }
.product-thumb .actions .cart .btn i { display: none !important; }
.product-thumb .actions .cart .btn span {
  font-size: 0 !important;
}
.product-thumb .actions .cart .btn span::after {
  content: "В корзину";
  font-size: 0.9rem;
  font-weight: 800;
}

/* Extra actions (wishlist / compare) — only on card hover */
.product-thumb .actions .wishlist,
.product-thumb .actions .compare {
  display: block !important;
  position: absolute !important;
  z-index: 5;
  width: auto !important;
  margin: 0 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px) scale(0.92);
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease;
}
.product-thumb .actions .wishlist {
  top: auto !important;
  bottom: calc(100% + 10px) !important;
  right: 48px !important;
  left: auto !important;
  transition-delay: 0.04s;
}
.product-thumb .actions .compare {
  top: auto !important;
  bottom: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  transition-delay: 0s;
}
.product-thumb:hover .actions .wishlist,
.product-thumb:hover .actions .compare,
.product-thumb:focus-within .actions .wishlist,
.product-thumb:focus-within .actions .compare {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.product-thumb .actions .btn-wishlist,
.product-thumb .actions .btn-compare {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border: 1px solid var(--mm-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--mm-blue-deep) !important;
  box-shadow: 0 8px 20px rgba(3, 93, 255, 0.12) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.product-thumb .actions .btn-wishlist:hover,
.product-thumb .actions .btn-compare:hover {
  background: var(--mm-blue-deep) !important;
  border-color: var(--mm-blue-deep) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.product-thumb .actions .btn-wishlist i,
.product-thumb .actions .btn-compare i {
  display: inline-block !important;
  font-size: 15px !important;
  margin: 0 !important;
}

/* Touch / no-hover: keep extras reachable without hover */
@media (hover: none), (max-width: 991px) {
  .product-thumb .actions .wishlist,
  .product-thumb .actions .compare {
    position: static !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    flex: 0 0 auto;
  }
  .product-thumb .actions {
    flex-wrap: nowrap;
  }
  .product-thumb .actions .wishlist { order: 1; }
  .product-thumb .actions .cart { order: 2; flex: 1 1 auto; }
  .product-thumb .actions .compare { order: 3; margin-left: 0 !important; right: auto !important; left: auto !important; }
  .product-thumb .actions .btn-wishlist,
  .product-thumb .actions .btn-compare {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    box-shadow: none !important;
    background: #f7f9fc !important;
  }
}

/* Stickers — compact corner badges */
.product-thumb .stickers-ns {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  pointer-events: none;
}
.product-thumb .stickers-ns:empty,
.product-thumb .stickers-ns:not(:has(.sticker-ns)) { display: none !important; }
.stickers-ns .sticker-ns,
.sticker-ns {
  border-radius: 6px !important;
  font-size: 0.68rem !important;
  font-weight: 800;
  padding: 3px 7px !important;
  margin: 0 !important;
  color: #fff !important;
  line-height: 1.2;
  box-shadow: none !important;
}
.sticker-ns.popular { background: var(--mm-blue-deep) !important; }
.sticker-ns.special,
.sticker-ns.procent-skidka { background: var(--mm-orange) !important; }
.sticker-ns.bestseller { background: var(--mm-green) !important; }
.sticker-ns.newproduct { background: var(--mm-blue) !important; }

/* List view: keep readable */
.product-list .product-thumb {
  flex-direction: row !important;
  align-items: stretch;
}
.product-list .product-thumb .image {
  width: 200px;
  flex: 0 0 200px;
  height: auto;
  min-height: 180px;
}
.product-list .product-thumb .caption { padding: 16px !important; }
.product-list .product-thumb .product-description {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--mm-muted);
  font-size: 0.82rem;
  margin-bottom: 8px;
}

/* ========== PRODUCTANY MODULES ========== */
.container-module-productany,
.container-module {
  margin: 0 0 24px !important;
  padding: 18px !important;
  background: var(--mm-surface) !important;
  backdrop-filter: blur(14px);
  border: 1px solid rgba(220, 227, 239, 0.95) !important;
  border-radius: 22px !important;
  box-shadow: var(--mm-shadow);
  position: relative !important;
  overflow: visible !important;
}
.container-module-productany.mm-productany {
  --mm-section-accent: var(--mm-blue-deep);
}
.mm-productany-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding-right: 96px;
  min-height: 40px;
}
.title-module {
  margin: 0 0 14px !important;
  padding: 0 96px 0 0 !important;
  position: relative;
  border: 0 !important;
  min-height: 40px;
  display: flex !important;
  align-items: center;
}
.title-module::before,
.title-module::after { display: none !important; }
.title-module span,
.mm-productany-title span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mm-display) !important;
  font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  padding: 0 !important;
}
.mm-productany-title span::before {
  content: "";
  width: 4px;
  height: 1.1em;
  border-radius: 999px;
  background: var(--mm-section-accent, var(--mm-blue-deep));
}

/* Owl nav — reset NewStore absolute/float mess */
.container-module-productany .owl-carousel,
.container-module .owl-carousel,
.productany .owl-carousel {
  position: relative !important;
}
.container-module-productany .owl-carousel .owl-controls,
.container-module .owl-carousel .owl-controls,
.productany .owl-carousel .owl-controls {
  margin: 0 !important;
  height: 0 !important;
  line-height: 0 !important;
}
.container-module-productany .owl-carousel .owl-buttons,
.container-module .owl-carousel .owl-buttons,
.productany .owl-carousel .owl-buttons {
  position: absolute !important;
  top: -54px !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  z-index: 6;
}
.container-module-productany .owl-carousel .owl-buttons div,
.container-module .owl-carousel .owl-buttons div,
.productany .owl-carousel .owl-buttons div,
.container-module-productany .owl-carousel .owl-buttons .owl-prev,
.container-module-productany .owl-carousel .owl-buttons .owl-next,
.container-module .owl-carousel .owl-buttons .owl-prev,
.container-module .owl-carousel .owl-buttons .owl-next,
.productany .owl-carousel .owl-buttons .owl-prev,
.productany .owl-carousel .owl-buttons .owl-next {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
}
.btn-carousel-module,
.container-module .btn-carousel-module,
.container-module-productany .btn-carousel-module,
.productany .btn-carousel-module {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 12px !important;
  background: #fff !important;
  border: 1px solid var(--mm-line) !important;
  color: var(--mm-text) !important;
  text-shadow: none !important;
  box-shadow: 0 4px 12px rgba(15, 35, 80, 0.06) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.btn-carousel-module:hover,
.btn-carousel-module:focus,
.btn-carousel-module:active {
  background: var(--mm-blue-mist) !important;
  border-color: rgba(3, 93, 255, 0.4) !important;
  color: var(--mm-blue-deep) !important;
  box-shadow: 0 6px 16px rgba(3, 93, 255, 0.12) !important;
}
.btn-carousel-module i,
.btn-carousel-module .fa,
.btn-carousel-module .arrow,
.container-module .owl-buttons div i,
.container-module-productany .owl-buttons div i,
.productany .owl-buttons div i {
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  position: static !important;
  top: auto !important;
  transform: none !important;
  color: inherit !important;
}
.mm-productany .item { background: transparent !important; padding: 0 6px; }
.mm-productany .product-thumb {
  background: #fff !important;
}

/* Product-card image carousel arrows — keep inside image */
.product-thumb .owl-buttons,
.product-thumb .image-carousel .owl-buttons {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 0 !important;
  margin: 0 !important;
  display: block !important;
  pointer-events: none;
  z-index: 4;
}
.product-thumb .owl-buttons .owl-prev,
.product-thumb .owl-buttons .owl-next,
.product-thumb .image-carousel .owl-buttons .owl-prev,
.product-thumb .image-carousel .owl-buttons .owl-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  float: none !important;
  opacity: 0 !important;
  pointer-events: auto;
  margin: 0 !important;
  transition: opacity .18s ease;
}
.product-thumb:hover .owl-buttons .owl-prev,
.product-thumb:hover .owl-buttons .owl-next {
  opacity: 1 !important;
}
.product-thumb .owl-buttons .owl-prev { left: 8px !important; right: auto !important; }
.product-thumb .owl-buttons .owl-next { right: 8px !important; left: auto !important; }
.btn-carousel-image-additional {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid var(--mm-line) !important;
  color: var(--mm-text) !important;
  box-shadow: 0 4px 12px rgba(15, 35, 80, 0.1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  float: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
.btn-carousel-image-additional i {
  font-size: 16px !important;
  margin: 0 !important;
  line-height: 1 !important;
}

@media (max-width: 767px) {
  .title-module { padding-right: 84px !important; }
  .container-module-productany .owl-carousel .owl-buttons,
  .container-module .owl-carousel .owl-buttons {
    top: -50px !important;
    gap: 6px !important;
  }
  .btn-carousel-module {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border-radius: 10px !important;
  }
}

/* ========== CATEGORY TOOLBAR ========== */
.category-info,
#content .row .col-md-2 .btn-group,
#product-category .btn-group,
.category-list,
.refine-search {
  margin-bottom: 14px;
}
#content .well {
  padding: 14px 16px !important;
}
.category-list a,
.refine-search a {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--mm-line);
  background: #fff;
  font-weight: 600;
  font-size: 0.84rem;
  margin: 0 6px 6px 0;
  color: var(--mm-text) !important;
}
.category-list a:hover,
.refine-search a:hover {
  background: var(--mm-blue-mist);
  border-color: rgba(3, 93, 255, 0.35);
  color: var(--mm-blue-deep) !important;
}

/* ========== PRODUCT PAGE ========== */
.mm-product-page { padding-bottom: 48px; }
.mm-product-title.h1-prod-name {
  font-size: clamp(1.45rem, 3.2vw, 2.15rem) !important;
}
.mm-product-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(280px, 360px);
  grid-template-areas:
    "meta meta meta"
    "gallery options buy";
  gap: 16px;
  margin: 0 !important;
  float: none !important;
}
.mm-product-main::before,
.mm-product-main::after { display: none !important; }
.mm-product-meta-row { grid-area: meta; width: 100% !important; float: none !important; padding: 0 !important; }
.mm-product-gallery { grid-area: gallery; width: auto !important; float: none !important; padding: 0 !important; }
.mm-product-details { display: contents !important; }
.mm-product-options {
  grid-area: options;
  width: auto !important;
  float: none !important;
  padding: 18px !important;
  margin: 0 !important;
}
.mm-product-buy { grid-area: buy; width: auto !important; float: none !important; padding: 0 !important; }
.mm-product-meta.well {
  margin: 0 !important;
  padding: 12px 16px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.mm-product-meta .info-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f7f9fc;
  border: 1px solid var(--mm-line);
  font-size: 0.82rem;
  font-weight: 600;
  margin: 0 !important;
}
.mm-product-meta .info-inline i.fa-check { color: var(--mm-green) !important; }
.mm-product-meta .rating.info-inline {
  background: var(--mm-blue-mist);
  border-color: rgba(3, 93, 255, 0.15);
}
.mm-product-gallery .thumbnails {
  display: block;
  background: transparent !important;
  width: 100%;
  position: relative;
}
.mm-product-gallery #fix_image,
.mm-product-gallery #fix_image.fix_true,
.mm-product-gallery #fix_image.fix_false,
.mm-product-gallery #fix_image.sticky,
.mm-product-gallery #fix_image.stop {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  z-index: auto !important;
}
.mm-product-gallery .general-image {
  background: #fff;
  border: 1px solid var(--mm-line);
  border-radius: 16px;
  padding: 20px;
  text-align: center !important;
  min-height: 320px;
  position: relative;
  /* keep block layout — CloudZoom breaks with flex on .main-image */
  display: block !important;
  overflow: hidden;
}
.mm-product-gallery #image-box {
  width: 100%;
  text-align: center !important;
  display: block !important;
  position: relative;
}
.mm-product-gallery #image-box .main-image,
.mm-product-gallery #image-box a.cloud-zoom,
.mm-product-gallery #image-box a.main-image {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: inline-block !important;
  float: none !important;
  max-width: 100%;
  vertical-align: middle;
  position: relative;
}
.mm-product-gallery #image-box img,
.mm-product-gallery .cloud-zoom img,
.mm-product-gallery .main-image img {
  max-height: 420px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 1;
}
.mm-product-gallery .cloud-zoom-wrap {
  display: inline-block !important;
  margin: 0 auto !important;
  float: none !important;
  max-width: 100%;
}
.mm-product-gallery .image-additional {
  width: 100% !important;
  margin: 12px 0 0 !important;
  float: none !important;
  display: block !important;
  clear: both !important;
  position: relative !important;
  overflow: hidden;
}
.mm-product-gallery .image-additional .owl-wrapper-outer,
.mm-product-gallery .image-additional .owl-wrapper {
  display: block !important;
}
.mm-product-gallery .image-additional .item {
  float: left;
}
.mm-product-gallery .image-additional .thumbnail {
  border-radius: 12px !important;
  border: 1px solid var(--mm-line) !important;
  background: #fff !important;
  padding: 6px !important;
  margin: 0 6px 0 0 !important;
  display: block !important;
  box-shadow: none !important;
}
.mm-product-gallery .image-additional .thumbnail img {
  display: block !important;
  width: 74px !important;
  height: 74px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.mm-product-options .mystrong,
.mm-product-options > p > strong {
  font-family: var(--mm-display);
  font-size: 0.95rem;
  font-weight: 700;
}
.mm-product-options .options .form-group,
.options .form-group {
  margin-bottom: 14px;
}
.mm-product-options .mylabel,
.mm-product-options .control-label,
.options .mylabel,
.options .control-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--mm-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.mm-product-options [id^="input-option"],
.options [id^="input-option"] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mm-product-options .radio-checbox-options,
.options .radio-checbox-options,
.product-thumb .radio-checbox-options {
  position: relative;
}
.mm-product-options .radio-checbox-options input[type="checkbox"],
.mm-product-options .radio-checbox-options input[type="radio"],
.options .radio-checbox-options input[type="checkbox"],
.options .radio-checbox-options input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  pointer-events: none;
}
.mm-product-options .radio-checbox-options label,
.options .radio-checbox-options label {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  border: 1px solid var(--mm-line) !important;
  background: #fff !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  line-height: 1.35;
  color: var(--mm-text) !important;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.mm-product-options .radio-checbox-options label::before,
.options .radio-checbox-options label::before {
  content: "";
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  border-radius: 6px;
  border: 1.5px solid #c5cedd;
  background: #fff;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}
.mm-product-options .radio-checbox-options input:checked + label,
.options .radio-checbox-options input:checked + label,
.mm-product-options .radio-checbox-options label:hover,
.options .radio-checbox-options label:hover {
  border-color: rgba(3, 93, 255, 0.4) !important;
  background: var(--mm-blue-mist) !important;
  box-shadow: 0 0 0 3px rgba(3, 93, 255, 0.08);
}
.mm-product-options .radio-checbox-options input:checked + label::before,
.options .radio-checbox-options input:checked + label::before {
  border-color: var(--mm-blue-deep);
  background-color: var(--mm-blue-deep);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M2.5 6.2l2.4 2.4 4.6-5'/%3E%3C/svg%3E");
}
.mm-product-options .option-price,
.options .option-price {
  margin-left: auto;
  font-weight: 800;
  color: var(--mm-blue-deep);
  white-space: nowrap;
}
.mm-product-buy #fix_right_block { position: sticky !important; top: 16px; }
.mm-buy-card.panel { margin: 0 !important; padding: 18px !important; }
.mm-buy-card .price {
  font-family: var(--mm-display) !important;
  font-size: clamp(1.6rem, 3vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--mm-blue-deep) !important;
  line-height: 1.1;
}
.mm-buy-card .list-unstyled.availability,
.mm-buy-card ul.availability,
.mm-buy-card ul.dost,
.mm-buy-card ul.dostp,
.mm-buy-card ul[class*="dostp"],
.mm-buy-card ul.ddss {
  list-style: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}
.mm-buy-card .list-unstyled.availability li,
.mm-buy-card ul.availability li,
.mm-buy-card ul.dost li,
.mm-buy-card ul.dostp li,
.mm-buy-card ul[class*="dostp"] li {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 10px !important;
  padding: 10px 12px !important;
  margin: 0 0 8px !important;
  border: 1px solid var(--mm-line) !important;
  border-radius: 12px !important;
  background: #f7f9fc !important;
  font-size: 0.95rem !important;
  line-height: 1.35 !important;
  float: none !important;
  width: 100% !important;
}
.mm-buy-card .availability .fa,
.mm-buy-card .dost .fa,
.mm-buy-card .dostp .fa,
.mm-buy-card ul[class*="dostp"] .fa {
  color: var(--mm-blue-deep) !important;
  width: 18px !important;
  text-align: center !important;
  flex: 0 0 auto !important;
}
.mm-buy-card .text-stock {
  font-weight: 700 !important;
  color: var(--mm-muted) !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.mm-buy-card .stock_status_success,
.mm-buy-card .preorder-stock-status,
.mm-buy-card .stock-quantity_success {
  color: var(--mm-text) !important;
  font-weight: 700 !important;
}
.mm-buy-card .qty-not-in-stock:empty,
.mm-buy-card .qty-not-in-stock-count:empty,
.mm-buy-card .ddss:empty {
  display: none !important;
}
.mm-buy-card .present:empty { display: none !important; }
.mm-buy-card .present {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
}
.mm-buy-card .present .thumb img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid var(--mm-line);
  background: #fff;
}

/* Benefits — chips, not broken float/tooltip layout */
.mm-buy-card .benefits,
#product .benefits {
  margin: 12px 0 !important;
  margin-left: 0 !important;
  padding: 14px !important;
  border-radius: 14px !important;
  background: #f7f9fc !important;
  border: 1px solid var(--mm-line) !important;
  overflow: visible !important;
  float: none !important;
  width: 100% !important;
}
.mm-buy-card .benefits > .col-xs-12,
#product .benefits > .col-xs-12,
.mm-buy-card .benefits .mm-benefits-title {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
  font-family: var(--mm-display) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--mm-text) !important;
}
.mm-buy-card .benefits ul.benefit,
#product .benefits ul.benefit,
.mm-buy-card ul.benefit {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  float: none !important;
  width: 100% !important;
}
.mm-buy-card .benefits .benefit > li,
#product .benefits .benefit > li,
.mm-buy-card .benefit li.col-sm-2 {
  position: relative !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(3, 93, 255, 0.18) !important;
  border-radius: 12px !important;
  background: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: none !important;
}
.mm-buy-card .benefits .benefit > li .thumb,
.mm-buy-card .benefits .benefit > li > a:not(.mm-benefit-link) {
  display: none !important;
}
.mm-buy-card .benefits .mm-benefit-link,
.mm-buy-card .benefits a.mm-benefit-link {
  display: inline !important;
  color: var(--mm-blue-deep) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  background: transparent !important;
}
.mm-buy-card .benefits .mm-benefit-link:hover {
  text-decoration: underline !important;
}
.mm-buy-card .benefits .benefit_description,
#product .benefits .benefit_description,
.mm-buy-card .benefit_description {
  display: block !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--mm-text) !important;
  white-space: normal !important;
}
.mm-buy-card .benefits .benefit_description::before,
.mm-buy-card .benefits .benefit_description::after,
#product .benefits .benefit_description::before,
#product .benefits .benefit_description::after {
  display: none !important;
  content: none !important;
}
.mm-buy-card .benefits .benefit > li:hover .benefit_description {
  display: block !important;
}
.mm-buy-card .actions-additional {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.mm-buy-card .actions-additional .qty,
.mm-buy-card .actions-additional .qty.pull-left {
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mm-buy-card .actions-additional .btn-group,
.mm-buy-card .actions-additional .btn-group.pull-right {
  float: none !important;
  margin-left: auto !important;
  display: inline-flex !important;
  gap: 6px;
}
.mm-buy-card .quantity-adder,
.mm-buy-card .quantity-adder.clearfix,
#product .quantity-adder,
#product .quantity-adder.clearfix {
  display: inline-flex !important;
  align-items: stretch !important;
  position: relative !important;
  float: none !important;
  width: auto !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--mm-line) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: none !important;
}
.mm-buy-card .quantity-adder::after,
#product .quantity-adder::after { display: none !important; }
.mm-buy-card .quantity-adder > div,
#product .quantity-adder > div {
  display: inline-flex !important;
  align-items: stretch !important;
  float: none !important;
  width: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mm-buy-card .quantity-adder .quantity-number,
.mm-buy-card .quantity-adder .quantity-number.pull-left,
.mm-buy-card .quantity-adder .quantity-wrapper,
.mm-buy-card .quantity-adder .quantity-wrapper.pull-left,
#product .quantity-adder .quantity-number,
#product .quantity-adder .quantity-wrapper {
  float: none !important;
  display: inline-flex !important;
  align-items: stretch !important;
  position: static !important;
  width: auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mm-buy-card .quantity-adder .quantity-wrapper,
#product .quantity-adder .quantity-wrapper {
  flex-direction: row !important;
  order: 3;
}
.mm-buy-card .quantity-adder .quantity-number,
#product .quantity-adder .quantity-number {
  order: 2;
}
.mm-buy-card #input-quantity,
.mm-buy-card .quantity-product,
#product .quantity-adder .quantity-number input,
#product .quantity-adder .quantity-product {
  width: 52px !important;
  min-width: 52px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-left: 1px solid var(--mm-line) !important;
  border-right: 1px solid var(--mm-line) !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  line-height: 44px !important;
  box-shadow: none !important;
  background: #fff !important;
  color: var(--mm-text) !important;
  float: none !important;
}
.mm-buy-card .quantity-adder .add-action,
#product .quantity-adder .add-action,
#product .quantity-adder .add-up,
#product .quantity-adder .add-down {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f7f9fc !important;
  color: var(--mm-blue-deep) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-align: center !important;
  transition: background .15s ease, color .15s ease;
}
.mm-buy-card .quantity-adder .add-up,
#product .quantity-adder .add-up {
  order: 2;
}
.mm-buy-card .quantity-adder .add-down,
#product .quantity-adder .add-down {
  order: 1;
}
/* Visual order: − | qty | +  (DOM is qty, then +/− wrapper with + then −) */
.mm-buy-card .quantity-adder > div,
#product .quantity-adder > div {
  display: grid !important;
  grid-template-columns: 40px 52px 40px;
  grid-template-areas: "minus qty plus";
  align-items: stretch;
}
.mm-buy-card .quantity-adder .quantity-number,
#product .quantity-adder .quantity-number {
  grid-area: qty;
}
.mm-buy-card .quantity-adder .quantity-wrapper,
#product .quantity-adder .quantity-wrapper {
  display: contents !important;
}
.mm-buy-card .quantity-adder .add-down,
#product .quantity-adder .add-down {
  grid-area: minus;
}
.mm-buy-card .quantity-adder .add-up,
#product .quantity-adder .add-up {
  grid-area: plus;
}
.mm-buy-card .quantity-adder .add-action:hover,
#product .quantity-adder .add-action:hover {
  background: var(--mm-blue-mist) !important;
  color: var(--mm-blue-deep) !important;
}
.mm-buy-card .quantity-adder .add-action::before,
#product .quantity-adder .add-action::before {
  font-size: 14px !important;
  line-height: 1 !important;
}
.mm-buy-card .actions .cart,
.mm-buy-card #button-cart {
  width: 100% !important;
  min-height: 48px;
  border-radius: 14px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}
.mm-product-tabs {
  margin-top: 20px !important;
  padding: 0 !important;
  overflow: hidden;
}
.mm-product-tabs .my-tabs.nav-tabs {
  border: 0 !important;
  background: #f7f9fc;
  padding: 8px 8px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mm-product-tabs .my-tabs.nav-tabs > li { float: none !important; margin: 0 !important; }
.mm-product-tabs .my-tabs.nav-tabs > li > a {
  border: 1px solid transparent !important;
  border-radius: 12px 12px 0 0 !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
  color: var(--mm-muted) !important;
  background: transparent !important;
}
.mm-product-tabs .my-tabs.nav-tabs > li.active > a,
.mm-product-tabs .my-tabs.nav-tabs > li > a:hover {
  color: var(--mm-blue-deep) !important;
  background: #fff !important;
  border-color: var(--mm-line) !important;
  border-bottom-color: #fff !important;
}
.mm-product-tabs .tab-content {
  padding: 22px;
  background: #fff;
  border-top: 1px solid var(--mm-line);
}
.mm-product-tabs .tab-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}
.mm-product-tabs .table-bordered {
  border-radius: 12px;
  overflow: hidden;
  border-color: var(--mm-line) !important;
}
.mm-product-tabs .table-bordered td {
  border-color: var(--mm-line) !important;
  padding: 10px 14px !important;
}
.mm-product-tabs .table-bordered thead td {
  background: var(--mm-blue-mist);
  font-weight: 800;
  color: var(--mm-blue-deep);
}

/* Generic tabs (fallback without mm- classes) */
.tabs-product,
.nav-tabs {
  border: 0 !important;
}
.nav-tabs > li > a {
  border-radius: 12px !important;
  font-weight: 700 !important;
  color: var(--mm-muted) !important;
}
.nav-tabs > li.active > a {
  color: var(--mm-blue-deep) !important;
  background: #fff !important;
  border-color: var(--mm-line) !important;
}
.tab-content {
  background: var(--mm-surface);
  border: 1px solid var(--mm-line);
  border-radius: 0 18px 18px 18px;
  padding: 18px;
  margin-bottom: 20px;
}

/* ========== CART ========== */
.table-responsive,
#cart .table,
.checkout-cart .table {
  background: var(--mm-surface);
  border: 1px solid var(--mm-line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--mm-shadow-sm);
}
.table > thead > tr > th {
  background: #f7f9fc !important;
  border-bottom: 1px solid var(--mm-line) !important;
  font-weight: 800;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--mm-muted);
}
.table > tbody > tr > td {
  border-top: 1px solid var(--mm-line) !important;
  vertical-align: middle !important;
  padding: 14px !important;
}
#accordion .panel,
.panel-group .panel {
  border-radius: 18px !important;
  margin-bottom: 12px !important;
  overflow: hidden;
}
#accordion .panel-heading,
.panel-group .panel-heading {
  background: #f7f9fc !important;
  border: 0 !important;
  padding: 14px 18px !important;
}
#accordion .panel-title,
.panel-group .panel-title {
  font-family: var(--mm-display) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}
#accordion .panel-body { padding: 18px !important; }

/* ========== CART PAGE (.mm-cart-page) ========== */
.mm-cart-page-wrap { padding-bottom: 48px; }
.mm-cart-hero {
  padding: 4px 0 20px;
  animation: mm-rise 0.55s ease both;
}
.mm-cart-eyebrow {
  margin: 0 0 8px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mm-orange);
}
.mm-cart-page-title {
  margin: 0 !important;
  font-family: var(--mm-display) !important;
  font-weight: 700 !important;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem) !important;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--mm-text) !important;
}
.mm-cart-weight {
  font-size: 0.55em;
  font-weight: 500;
  color: var(--mm-muted);
  letter-spacing: 0;
}
.mm-cart-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 28px 32px;
  align-items: start;
}
.mm-cart-page--checkout {
  display: block;
  grid-template-columns: none;
}
.mm-cart-main { min-width: 0; }
.mm-cart-lines {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.mm-cart-line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto auto 36px;
  gap: 14px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--mm-line);
}
.mm-cart-line:first-child { padding-top: 0; }
.mm-cart-line:last-child { border-bottom: 0; }
.mm-cart-page--checkout .mm-cart-line {
  grid-template-columns: 56px minmax(0, 1fr) auto 32px;
  gap: 10px;
  padding: 12px 0;
}
.mm-cart-line-thumb {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f9fc;
  border: 1px solid var(--mm-line);
  border-radius: 12px;
  overflow: hidden;
}
.mm-cart-page--checkout .mm-cart-line-thumb {
  width: 56px;
  height: 56px;
}
.mm-cart-line-thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.mm-cart-line-info { min-width: 0; }
.mm-cart-line-name {
  display: block;
  font-weight: 700;
  font-size: 0.98rem;
  line-height: 1.35;
  color: var(--mm-text) !important;
}
.mm-cart-line-name:hover { color: var(--mm-blue-deep) !important; }
.mm-cart-line-opts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 4px;
  font-size: 0.82rem;
  color: var(--mm-muted);
}
.mm-cart-line-meta {
  margin-top: 4px;
  font-size: 0.82rem;
  color: var(--mm-muted);
}
.mm-cart-line-unit {
  margin-top: 6px;
  font-size: 0.84rem;
  color: var(--mm-muted);
}
.mm-cart-line-qty { justify-self: end; }
.mm-cart-page--checkout .mm-cart-line-qty {
  justify-self: start;
  margin-top: 8px;
}
.mm-cart-page .mm-qty-group.input-group,
.mm-cart-page .mm-qty-group {
  display: inline-flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  position: relative;
  z-index: 2;
  float: none !important;
}
.mm-cart-page .mm-qty-group > .input-group-btn {
  display: contents;
}
.mm-cart-page .mm-qty-group .form-control,
.mm-cart-page .mm-qty-group .mm-cart-qty-input {
  float: none !important;
  display: block !important;
  order: 2;
  box-sizing: border-box !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  flex: 0 0 52px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 6px 4px !important;
  text-align: center !important;
  box-shadow: none !important;
  border: 1px solid var(--mm-line) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  position: relative !important;
  z-index: 1 !important;
  background: #fff !important;
}
.mm-cart-page .mm-qty-group .btn,
.mm-cart-page .mm-cart-qty-btn {
  float: none !important;
  display: block !important;
  box-sizing: border-box !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 34px !important;
  text-align: center;
  border: 1px solid var(--mm-line) !important;
  background: #fff !important;
  color: var(--mm-text) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative;
  z-index: 2;
  appearance: none;
  -webkit-appearance: none;
}
.mm-cart-page .mm-qty-group .mm-cart-qty-btn:first-child {
  order: 1;
  border-radius: 10px 0 0 10px !important;
}
.mm-cart-page .mm-qty-group .mm-cart-qty-btn:last-child {
  order: 3;
  border-radius: 0 10px 10px 0 !important;
}
.mm-cart-page .mm-qty-group .input-group-btn:first-child .btn {
  border-radius: 10px 0 0 10px !important;
}
.mm-cart-page .mm-qty-group .input-group-btn:last-child .btn {
  border-radius: 0 10px 10px 0 !important;
}
.mm-cart-line-total {
  font-weight: 800;
  font-size: 1.02rem;
  white-space: nowrap;
  text-align: right;
  color: var(--mm-text);
}
.mm-cart-line-remove {
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: var(--mm-muted);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  border-radius: 8px;
}
.mm-cart-line-remove:hover {
  color: var(--mm-danger);
  background: rgba(218, 16, 47, 0.06);
}
.mm-cart-modules {
  margin-top: 28px;
  padding-top: 8px;
}
.mm-cart-modules-title {
  margin: 0 0 6px !important;
  font-family: var(--mm-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
}
.mm-cart-modules-lead {
  margin: 0 0 14px;
  color: var(--mm-muted);
  font-size: 0.95rem;
}
.mm-cart-aside {
  position: sticky;
  top: 88px;
}
.mm-cart-aside--inline {
  position: static;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--mm-line);
}
.mm-cart-aside-inner {
  padding: 20px 18px;
  background: var(--mm-surface);
  border: 1px solid var(--mm-line);
  border-radius: 16px;
  box-shadow: var(--mm-shadow-sm);
}
.mm-cart-aside-title {
  margin: 0 0 16px;
  font-family: var(--mm-display);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.mm-cart-aside-totals,
.mm-cart-page--checkout .mm-cart-aside-totals {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}
.mm-cart-aside-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.95rem;
  color: var(--mm-muted);
}
.mm-cart-aside-row span:last-child {
  color: var(--mm-text);
  font-weight: 600;
  white-space: nowrap;
}
.mm-cart-aside-row.is-grand {
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--mm-line);
  font-size: 1.05rem;
  color: var(--mm-text);
  font-weight: 700;
}
.mm-cart-aside-row.is-grand span:last-child {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--mm-blue-deep);
}
.mm-cart-checkout-btn,
.mm-cart-aside-inner .mm-cart-checkout-btn.btn-primary {
  display: block !important;
  width: 100% !important;
  padding: 14px 18px !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  text-align: center;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(3, 93, 255, 0.22);
}
.mm-cart-checkout-btn:hover {
  filter: brightness(1.05);
  color: #fff !important;
}
.mm-cart-continue {
  display: block;
  margin-top: 12px;
  text-align: center;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--mm-muted) !important;
}
.mm-cart-continue:hover { color: var(--mm-blue-deep) !important; }
.mm-cart-coupons { margin-bottom: 14px; }
.mm-cart-coupons .coupon { margin-bottom: 8px; }
.mm-cart-coupons .coupon .form-control {
  height: 38px !important;
  border-radius: 10px 0 0 10px !important;
}
.mm-cart-coupons .coupon .btn {
  height: 38px;
  border-radius: 0 10px 10px 0 !important;
}

/* Empty cart (error/not_found fallback) */
body.checkout-cart #content > h1 {
  font-family: var(--mm-display) !important;
  font-weight: 700 !important;
  font-size: clamp(1.55rem, 3.2vw, 2.2rem) !important;
  letter-spacing: -0.03em;
}
body.checkout-cart #content > p {
  margin: 18px 0 24px;
  padding: 28px 20px;
  text-align: center;
  color: var(--mm-muted);
  background: var(--mm-surface);
  border: 1px dashed var(--mm-line);
  border-radius: 16px;
  font-size: 1.05rem;
}
body.checkout-cart #content > .buttons .btn-primary {
  border-radius: 12px !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;
}

@media (max-width: 991px) {
  .mm-cart-page {
    grid-template-columns: 1fr;
  }
  .mm-cart-aside {
    position: static;
    order: 2;
  }
  .mm-cart-main { order: 1; }
  .mm-cart-line {
    grid-template-columns: 64px minmax(0, 1fr) 36px;
    grid-template-areas:
      "thumb info remove"
      "thumb qty total";
  }
  .mm-cart-line-thumb { grid-area: thumb; width: 64px; height: 64px; }
  .mm-cart-line-info { grid-area: info; }
  .mm-cart-line-qty { grid-area: qty; justify-self: start; margin-top: 8px; }
  .mm-cart-line-total { grid-area: total; align-self: end; }
  .mm-cart-line-remove { grid-area: remove; justify-self: end; }
  .mm-cart-page--checkout .mm-cart-line {
    grid-template-columns: 56px minmax(0, 1fr) 32px;
    grid-template-areas:
      "thumb info remove"
      "thumb qty total";
  }
}

/* ========== CHECKOUT (from checkout_design.html) ========== */
.mm-checkout-page { padding-bottom: 48px; }
.mm-checkout-hero {
  padding: 10px 0 24px;
  animation: mm-rise 0.55s ease both;
}
.mm-checkout-kicker,
.mm-checkout-eyebrow {
  margin: 0 0 8px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mm-orange);
}
.mm-checkout-title {
  margin: 0 0 10px !important;
  font-family: var(--mm-display) !important;
  font-weight: 700 !important;
  font-size: clamp(1.7rem, 3.6vw, 2.45rem) !important;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--mm-text) !important;
}
.mm-checkout-lead {
  margin: 0;
  max-width: 38rem;
  color: var(--mm-muted);
  font-size: 1.02rem;
}
.mm-checkout-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.mm-checkout-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.7);
  border: 1px solid var(--mm-line);
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--mm-muted);
}
.mm-checkout-step i {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  font-style: normal;
  font-size: 0.75rem;
  background: var(--mm-blue-mist);
  color: var(--mm-blue);
}
.mm-checkout-step.is-active {
  color: #fff;
  background: var(--mm-blue-deep);
  border-color: var(--mm-blue-deep);
  box-shadow: 0 8px 20px rgba(3, 93, 255, 0.25);
}
.mm-checkout-step.is-active i {
  background: rgba(255,255,255,0.2);
  color: #fff;
}

.mm-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.85fr);
  gap: 22px;
  align-items: start;
}
.mm-checkout-main { min-width: 0; }
.mm-checkout-aside {
  position: sticky !important;
  top: 18px;
  align-self: start;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Summary card — rebuilt, not Bootstrap panel */
.mm-checkout-summary {
  background: #fff !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 40px rgba(15, 35, 80, 0.08) !important;
  overflow: hidden;
  padding: 0 !important;
}
.mm-checkout-summary-head {
  padding: 20px 22px 14px !important;
  border-bottom: 1px solid #eef2f8;
  background: linear-gradient(180deg, #f7f9fc 0%, #fff 100%);
}
.mm-checkout-summary-head .mm-checkout-eyebrow {
  margin: 0 0 6px !important;
  color: var(--mm-orange) !important;
}
.mm-checkout-aside-title {
  margin: 0 !important;
  font-family: var(--mm-display) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: var(--mm-text) !important;
  line-height: 1.2;
}
.mm-checkout-summary-body {
  padding: 16px 18px 20px !important;
}
.mm-checkout-page .panel,
.mm-checkout-page .panel-default,
.simplecheckout-block,
body.checkout-checkout .panel,
body.checkout-checkout .panel-default,
body.checkout-newstorecheckout .panel,
.simplecheckout .simplecheckout-block {
  background: #fff !important;
  backdrop-filter: none;
  border: 1px solid #e6ebf2 !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(15, 35, 80, 0.05) !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  overflow: hidden;
}
.mm-checkout-page .panel-heading,
body.checkout-checkout .panel-heading,
body.checkout-newstorecheckout .panel-heading {
  background: transparent !important;
  border: 0 !important;
  padding: 18px 20px 0 !important;
}
.mm-checkout-page .panel-body,
body.checkout-checkout .panel-body,
body.checkout-newstorecheckout .panel-body {
  padding: 14px 20px 20px !important;
  overflow: visible !important;
}
.mm-checkout-page .panel-title,
body.checkout-checkout .panel-title,
body.checkout-newstorecheckout .panel-title,
.simplecheckout-block-heading {
  margin: 0 0 4px !important;
  font-family: var(--mm-display) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: var(--mm-text) !important;
}

.mm-checkout-page .form-control,
.simplecheckout input.form-control,
.simplecheckout select.form-control,
.simplecheckout textarea.form-control,
body.checkout-newstorecheckout .form-control {
  border: 1px solid var(--mm-line) !important;
  background: #fff !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  height: auto !important;
  min-height: 46px;
  box-shadow: none !important;
  color: var(--mm-text) !important;
}
.mm-checkout-page .form-control:focus,
.simplecheckout .form-control:focus {
  border-color: var(--mm-blue) !important;
  box-shadow: 0 0 0 4px rgba(3, 93, 255, 0.12) !important;
}
.mm-checkout-page .form-group { margin-bottom: 12px; }
.mm-checkout-page label,
.simplecheckout label {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--mm-muted);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* Shipping / payment radios — stay inside the panel */
.mm-checkout-page .shipping-method,
.mm-checkout-page .payment-method {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}
.mm-checkout-page .shipping-method > p,
.mm-checkout-page .payment-method > p {
  margin: 0 0 12px;
  font-size: 0.9rem;
  color: var(--mm-muted);
  text-transform: none;
  font-weight: 500;
  letter-spacing: 0;
}
.mm-checkout-page .shipping-method > p > strong,
.mm-checkout-page .payment-method > p > strong {
  display: block;
  margin: 8px 0 6px;
  color: var(--mm-text);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.mm-checkout-page .radio,
.mm-checkout-page .checkbox,
.simplecheckout .radio,
.simplecheckout .checkbox {
  position: relative !important;
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}
.mm-checkout-page .radio + .radio,
.mm-checkout-page .checkbox + .checkbox {
  margin-top: 0 !important;
}
.mm-checkout-page .radio > label,
.mm-checkout-page .checkbox > label,
.simplecheckout .radio > label,
.simplecheckout .checkbox > label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid #e1e7f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.35 !important;
  color: var(--mm-text) !important;
  cursor: pointer;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  transition: border-color .2s, background .2s, box-shadow .2s, transform .2s;
}
.mm-checkout-page .radio > label:hover,
.mm-checkout-page .checkbox > label:hover,
.simplecheckout .radio > label:hover {
  border-color: rgba(3, 93, 255, 0.35) !important;
  transform: translateY(-1px);
}
.mm-checkout-page .radio input[type="radio"],
.mm-checkout-page .checkbox input[type="checkbox"],
.simplecheckout .radio input[type="radio"],
.simplecheckout .checkbox input[type="checkbox"] {
  position: static !important;
  float: none !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  flex: 0 0 18px;
  accent-color: var(--mm-blue-deep);
  vertical-align: top;
}
.mm-checkout-page .radio:has(input:checked) > label,
.mm-checkout-page .checkbox:has(input:checked) > label,
.simplecheckout .radio:has(input:checked) > label {
  border-color: var(--mm-blue) !important;
  background: linear-gradient(180deg, #f4f8ff, #fff) !important;
  box-shadow: inset 0 0 0 1px rgba(3, 93, 255, 0.15);
}

.mm-checkout-cart-table {
  border: 0 !important;
  margin: 0 0 12px !important;
  width: 100% !important;
  table-layout: fixed;
}
.mm-checkout-cart-table > thead { display: none; }
.mm-checkout-cart-table > tbody > tr {
  border-bottom: 1px solid #eef2f8 !important;
}
.mm-checkout-cart-table > tbody > tr > td {
  border: 0 !important;
  padding: 12px 6px !important;
  vertical-align: middle !important;
  background: transparent !important;
  word-break: break-word;
}
.mm-checkout-cart-table > tbody > tr > td.image {
  width: 64px;
  padding-left: 0 !important;
}
.mm-checkout-cart-table > tbody > tr > td.delete_td {
  width: 34px;
  padding-right: 0 !important;
}
.mm-checkout-cart-table .image img,
.mm-checkout-cart-table .img-thumbnail {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain;
  border-radius: 12px !important;
  border: 1px solid var(--mm-line) !important;
  background: #f7f9fc !important;
  padding: 4px !important;
  display: block;
  margin: 0 auto;
}
.mm-checkout-cart-table .mm-line-total {
  white-space: nowrap;
  font-weight: 700;
  color: var(--mm-text);
}
.mm-checkout-summary .mm-qty-group {
  max-width: 110px;
  margin-left: auto;
}
.mm-checkout-summary .mm-qty-group .form-control {
  min-height: 34px !important;
  padding: 6px 4px !important;
  text-align: center;
  font-size: 0.85rem !important;
}
.mm-checkout-summary .mm-qty-group .btn {
  padding: 6px 10px !important;
  min-width: 32px;
}
.mm-checkout-summary .coupon_table,
.mm-checkout-summary .coupon {
  width: 100%;
  margin: 8px 0;
}
.mm-checkout-summary .coupon .form-control {
  min-height: 42px !important;
}
.mm-checkout-totals {
  width: 100%;
  margin-top: 10px;
  border-top: 1px dashed #e1e7f0;
  padding-top: 8px;
}
.mm-checkout-totals td {
  padding: 7px 0 !important;
  border: 0 !important;
  color: var(--mm-muted);
  font-size: 0.92rem;
}
.mm-checkout-totals tr:last-child td {
  padding-top: 12px !important;
  color: var(--mm-text) !important;
  font-size: 1.12rem !important;
  font-weight: 800 !important;
}
.mm-checkout-totals tr:last-child td:last-child {
  color: var(--mm-blue-deep) !important;
  font-family: var(--mm-display);
  white-space: nowrap;
}
.all_total_checkout_footer { display: none !important; }

.mm-checkout-cta-wrap,
.mm-checkout-cta-wrap .payment,
.simplecheckout-button-block {
  margin-top: 14px;
}
.mm-checkout-cta,
.mm-checkout-cta-wrap #button-register,
.mm-checkout-cta-wrap .btn-primary,
.simplecheckout-button-block #simplecheckout_button_confirm,
.simplecheckout-button-block .button.btn-primary {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  box-shadow: 0 14px 30px rgba(3, 93, 255, 0.28) !important;
  text-align: center;
}
.mm-checkout-cta:hover,
.mm-checkout-cta-wrap #button-register:hover,
.simplecheckout-button-block #simplecheckout_button_confirm:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}
.mm-checkout-secure {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  margin: 14px 0 0;
  color: var(--mm-muted);
  font-size: 0.78rem;
}
.mm-checkout-secure-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mm-green);
  box-shadow: 0 0 0 4px rgba(137, 189, 39, 0.18);
}
.mm-checkout-login-well,
.mm-checkout-page .well {
  background: #fff !important;
  border: 1px solid var(--mm-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
}
.mm-checkout-agree {
  margin: 12px 0;
  font-size: 0.84rem;
  color: var(--mm-muted);
  text-transform: none;
  font-weight: 500;
  letter-spacing: 0;
}

/* SimpleCheckout columns like mock */
.simplecheckout {
  max-width: 1120px;
  margin: 0 auto;
}
.simplecheckout-left-column,
.simplecheckout-right-column {
  float: none !important;
  width: auto !important;
}
.simplecheckout:has(.simplecheckout-left-column):has(.simplecheckout-right-column) {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.8fr);
  gap: 22px;
  align-items: start;
}
.simplecheckout-left-column { grid-column: 1; }
.simplecheckout-right-column {
  grid-column: 2;
  position: sticky;
  top: 18px;
}
.simplecheckout-cart-total,
.simplecheckout-cart {
  border-radius: 18px !important;
}
.simplecheckout-button-block {
  position: sticky;
  bottom: 0;
  background: transparent;
  padding: 0;
  z-index: 2;
}

@media (max-width: 860px) {
  .mm-checkout-layout,
  .simplecheckout:has(.simplecheckout-left-column):has(.simplecheckout-right-column) {
    grid-template-columns: 1fr;
  }
  .mm-checkout-aside,
  .simplecheckout-right-column {
    position: static !important;
  }
  .mm-checkout-summary { border-radius: 16px !important; }
  .mm-checkout-steps { gap: 8px; }
}

@media (max-width: 767px) {
  .simplecheckout-button-block,
  body.checkout-checkout #button-confirm,
  .mm-checkout-cta-wrap {
    position: sticky;
    bottom: 8px;
    z-index: 20;
  }
}

/* ========== BANNER BLOCKS (advantages) ========== */
.banner-blocks-container.mm-banner-blocks,
.mm-banner-blocks.row {
  margin: 8px -8px 22px !important;
  display: flex;
  flex-wrap: wrap;
}
.mm-banner-blocks > [class*="col-"] {
  padding-left: 8px !important;
  padding-right: 8px !important;
  margin-bottom: 12px;
}
.mm-banner-item.banner-item,
.banner-blocks-container .banner-item {
  display: flex !important;
  align-items: center;
  gap: 14px;
  min-height: 96px;
  padding: 16px 18px !important;
  background: #fff !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.mm-banner-item.banner-item:hover,
.banner-blocks-container .banner-item:hover {
  border-color: rgba(3, 93, 255, 0.28) !important;
  box-shadow: 0 12px 28px rgba(3, 93, 255, 0.08) !important;
  transform: translateY(-2px);
}
.mm-banner-icon.banner-image,
.banner-blocks-container .banner-image {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  margin: 0 !important;
  border-radius: 14px;
  background: var(--mm-blue-mist);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  float: none !important;
}
.mm-banner-icon img,
.banner-blocks-container .banner-image img {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain;
  display: block;
}
.mm-banner-icon-ph {
  color: var(--mm-blue-deep);
  font-size: 20px;
}
.mm-banner-info.banner-info,
.banner-blocks-container .banner-info {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 !important;
  text-align: left !important;
}
.mm-banner-info .banner-title,
.banner-blocks-container .banner-title {
  font-family: var(--mm-display) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: var(--mm-text) !important;
  margin: 0 0 4px !important;
  line-height: 1.25;
}
.mm-banner-info .banner-description,
.banner-blocks-container .banner-description {
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--mm-muted) !important;
  line-height: 1.35;
  margin: 0 !important;
}

/* ========== FOOTER ========== */
footer.mm-footer,
footer {
  background: transparent !important;
  border: 0 !important;
  margin-top: 48px !important;
  padding: 0 0 36px !important;
  color: var(--mm-muted) !important;
}
.mm-footer-shell.footer-top { padding: 0 !important; background: transparent !important; }
.mm-footer-panel.container,
footer.mm-footer .container.mm-footer-panel {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(220, 227, 239, 0.95) !important;
  border-radius: 22px !important;
  box-shadow: var(--mm-shadow) !important;
  padding: 28px 28px 18px !important;
  backdrop-filter: blur(10px);
}
.mm-footer-ribbon {
  display: inline-flex;
  margin-bottom: 16px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255, 128, 0, 0.12);
  color: var(--mm-orange);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.mm-footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 28px 24px;
  align-items: start;
}
.mm-footer-brand-name {
  font-family: var(--mm-display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--mm-text);
  margin-bottom: 8px;
}
.mm-footer-brand-note {
  margin: 0 0 14px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mm-muted);
  max-width: 18rem;
  line-height: 1.4;
}
.mm-footer-contact-cta,
footer.mm-footer a.mm-footer-contact-cta,
.mm-footer-brand a.mm-footer-contact-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 0.86rem !important;
  box-shadow: 0 10px 22px rgba(3, 93, 255, 0.22);
  margin-bottom: 12px;
  text-decoration: none !important;
}
.mm-footer-contact-cta:hover,
footer.mm-footer a.mm-footer-contact-cta:hover,
.mm-footer-brand a.mm-footer-contact-cta:hover {
  color: #fff !important;
  filter: brightness(1.05);
  text-decoration: none !important;
}
.mm-footer-social,
.mm-footer-payments {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}
.mm-footer-social img,
.mm-footer-payments img {
  height: 28px;
  width: auto;
  display: block;
  border-radius: 6px;
}
.mm-footer-col h3,
footer.mm-footer h3 {
  font-family: var(--mm-display) !important;
  color: var(--mm-text) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  margin: 0 0 12px !important;
  letter-spacing: -0.02em;
}
.mm-footer-h-spaced { margin-top: 22px !important; }
.mm-footer-col ul,
footer.mm-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mm-footer-col li {
  margin: 0 0 8px !important;
}
.mm-footer-col a,
footer.mm-footer a {
  color: var(--mm-muted) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  line-height: 1.35;
}
.mm-footer-col a:hover,
footer.mm-footer a:hover {
  color: var(--mm-blue-deep) !important;
}
.mm-footer-legal a {
  font-size: 0.84rem !important;
}
.mm-footer-contact-list li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--mm-text);
  margin-bottom: 10px !important;
}
.mm-footer-contact-list .fa-width {
  color: var(--mm-blue-deep);
  margin-top: 2px;
  width: 16px;
  text-align: center;
}
.mm-footer-counters { margin-top: 18px; }
.mm-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 20px;
  align-items: center;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--mm-line);
}
.mm-footer-copy {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--mm-muted);
}
.mm-footer-legal-note {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--mm-muted);
  max-width: 36rem;
  line-height: 1.4;
}
.mm-footer-legal-note a {
  color: var(--mm-blue-deep) !important;
  font-weight: 700 !important;
  font-size: inherit !important;
  border-bottom: 1px dotted rgba(3, 93, 255, 0.35);
}
.mm-footer .politics,
footer .politics { display: none !important; }
.mm-footer .banner-footer:empty,
.mm-footer-banners:empty { display: none !important; }

/* Telegram float */
.mm-tg-float#telega-mini,
#telega-mini.mm-tg-float {
  position: fixed;
  right: 18px;
  bottom: 88px;
  z-index: 1040;
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(180deg, #2aabee, #229ed9);
  color: #fff !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 28px rgba(34, 158, 217, 0.35);
  text-decoration: none !important;
}
.mm-tg-float .uptocall-mini-phone,
.mm-tg-float .fa-telegram {
  color: #fff !important;
  font-size: 24px;
  line-height: 1;
}

/* ========== COOKIE BAR ========== */
#cookie-notice.mm-cookie,
.mm-cookie#cookie-notice {
  position: fixed !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  top: auto !important;
  width: auto !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  z-index: 1050 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.mm-cookie-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(220, 227, 239, 0.95);
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(15, 35, 80, 0.16);
  backdrop-filter: blur(12px);
}
.mm-cookie-text,
.mm-cookie .c-text {
  flex: 1 1 auto;
  margin: 0 !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  color: var(--mm-text) !important;
  line-height: 1.4 !important;
}
.mm-cookie-text a,
.mm-cookie .c-text a {
  color: var(--mm-blue-deep) !important;
  font-weight: 700 !important;
  border-bottom: 1px dotted rgba(3, 93, 255, 0.35);
}
.mm-cookie-actions,
.mm-cookie .c-butt {
  flex: 0 0 auto;
  margin: 0 !important;
}
.mm-cookie-btn,
.mm-cookie .cookie-notice-close {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 0.88rem !important;
  box-shadow: 0 10px 22px rgba(3, 93, 255, 0.25) !important;
  white-space: nowrap;
  text-decoration: none !important;
  cursor: pointer;
}
.mm-cookie-btn:hover { filter: brightness(1.05); color: #fff !important; }

@media (max-width: 991px) {
  .mm-footer-grid { grid-template-columns: 1fr 1fr; gap: 22px 18px; }
  .mm-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .mm-footer-grid { grid-template-columns: 1fr; }
  .mm-footer-bottom { flex-direction: column; align-items: flex-start; }
  .mm-cookie-inner {
    flex-direction: column;
    align-items: stretch;
    text-align: left;
  }
  .mm-cookie-btn { width: 100%; }
  .mm-tg-float#telega-mini { bottom: 110px; right: 14px; }
}

/* ========== PAGINATION ========== */
.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.pagination > li > a,
.pagination > li > span {
  border-radius: 12px !important;
  border: 1px solid var(--mm-line) !important;
  background: #fff !important;
  color: var(--mm-text) !important;
  font-weight: 700;
  margin: 0 !important;
  padding: 8px 12px !important;
}
.pagination > .active > a,
.pagination > .active > span {
  background: var(--mm-blue-deep) !important;
  border-color: var(--mm-blue-deep) !important;
  color: #fff !important;
}

/* ========== ALERTS / MODALS ========== */
.alert {
  border-radius: 14px !important;
  border: 1px solid var(--mm-line) !important;
  font-weight: 600;
}
.alert-success {
  background: rgba(137, 189, 39, 0.12) !important;
  border-color: rgba(137, 189, 39, 0.35) !important;
  color: #4a6f10 !important;
}
.alert-danger {
  background: rgba(218, 16, 47, 0.08) !important;
  border-color: rgba(218, 16, 47, 0.25) !important;
}
.modal-content {
  border-radius: 18px !important;
  border: 1px solid var(--mm-line) !important;
  box-shadow: var(--mm-shadow) !important;
  overflow: hidden;
}
.modal-header {
  border-bottom: 1px solid var(--mm-line) !important;
  background: #f7f9fc;
}
.modal-title {
  font-family: var(--mm-display) !important;
  font-weight: 700 !important;
}
.modal-footer { border-top: 1px solid var(--mm-line) !important; }

/* Add-to-cart feedback — above header/menu/offcanvas on mobile */
.modal-backdrop { z-index: 10050 !important; }
#modal-addcart.modal,
.modal#modal-addcart {
  z-index: 10060 !important;
}
body.modal-open {
  overflow-x: hidden !important;
  padding-right: 0 !important;
}
body.modal-open header,
body.modal-open header.mm-header {
  z-index: 1 !important;
}
body.modal-open #top-fixed-mobile,
body.modal-open .mm-top-fixed-mobile {
  z-index: 10040 !important;
}
body.modal-open #menu-mobile-ns.navmenu {
  z-index: 1000 !important;
}
#modal-addcart .modal-dialog {
  margin: 12vh auto !important;
  max-width: 420px;
  width: calc(100% - 28px);
  position: relative;
  z-index: 1;
}
#modal-addcart .modal-content {
  border-radius: 20px !important;
  padding: 8px 8px 16px;
  text-align: center;
}
#modal-addcart .modal-body {
  padding: 22px 18px 10px !important;
}
#modal-addcart .modal-body > .text-center {
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--mm-text);
  line-height: 1.4;
}
#modal-addcart .modal-body img {
  max-width: 140px !important;
  max-height: 140px !important;
  width: auto !important;
  height: auto !important;
  margin: 16px auto 12px !important;
  border-radius: 16px;
  border: 1px solid var(--mm-line);
  background: #f7f9fc;
  padding: 8px;
  display: block;
}
#modal-addcart .modal-body > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 8px;
}
#modal-addcart .btn-checkout,
#modal-addcart .btn-shopping {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px !important;
  border-radius: 12px !important;
  border: 0 !important;
  font-weight: 800 !important;
  font-size: 0.88rem !important;
  text-transform: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  flex: 1 1 140px;
}
#modal-addcart .btn-checkout {
  background: linear-gradient(180deg, #1a6dff, var(--mm-blue-deep)) !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(3, 93, 255, 0.25) !important;
}
#modal-addcart .btn-shopping {
  background: #fff !important;
  color: var(--mm-blue-deep) !important;
  border: 1px solid var(--mm-line) !important;
}

.add_product_alert,
.alert.add_product_alert {
  position: fixed !important;
  right: 16px !important;
  top: 16px !important;
  left: auto !important;
  width: min(340px, calc(100vw - 32px)) !important;
  z-index: 1600 !important;
  margin: 0 !important;
  padding: 14px 40px 14px 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(3, 93, 255, 0.2) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 18px 40px rgba(15, 35, 80, 0.18) !important;
  color: var(--mm-text) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  animation: mm-cart-toast 0.35s ease both;
}
.add_product_alert a { color: var(--mm-blue-deep) !important; font-weight: 800; }
@keyframes mm-cart-toast {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}
.mm-cart-pulse {
  animation: mm-cart-pulse 0.55s ease;
}
@keyframes mm-cart-pulse {
  0% { transform: scale(1); }
  40% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* ========== MISC MODULES / BANNERS ========== */
.slideshow, .swiper-viewport, .banner {
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 18px;
  box-shadow: var(--mm-shadow-sm);
}
.custom-html,
.html-module,
.container-modules {
  margin-bottom: 18px;
}
.pkskidka,
.mobskidka {
  border-radius: 14px;
  overflow: hidden;
}
.pkskidka img,
.mobskidka img { width: 100%; display: block; }
#back-top a {
  border-radius: 14px !important;
  background: var(--mm-blue-deep) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(3, 93, 255, 0.25);
}

/* Owl Carousel — override owl.carousel.css display:none (mimobi parity) */
.owl-carousel {
  display: block !important;
  position: relative;
  width: 100%;
  -ms-touch-action: pan-y;
  margin: 0 !important;
  background: transparent !important;
  direction: ltr !important;
  z-index: 1;
}
.owl-carousel .owl-wrapper-outer {
  overflow: hidden;
  position: relative;
  width: 100%;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.product-slider.mm-productany-slider,
.container-modules.owl-carousel {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Mobile top / bottom bar + slide panels */
.mob-block-fix,
.mm-mob-panel {
  display: none;
}
@media (min-width: 992px) {
  .mob-block-fix,
  .mm-mob-panel,
  #top-fixed-mobile,
  .mm-top-fixed-mobile {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .mob-block-fix,
  .mm-mob-panel {
    position: fixed;
    left: 12px;
    right: 12px;
    top: 12px;
    z-index: 1060;
    display: none;
    max-height: calc(100vh - 100px);
    overflow: auto;
    padding: 22px 18px 20px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(220, 227, 239, 0.95);
    border-radius: 20px;
    box-shadow: 0 22px 50px rgba(15, 35, 80, 0.18);
    backdrop-filter: blur(12px);
  }
  .mob-block-title {
    font-family: var(--mm-display);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--mm-text);
    margin: 0 40px 16px 0;
  }
  .mob-block-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 44px;
    height: 44px;
    border: 1px solid var(--mm-line);
    border-radius: 12px;
    background: #f7f9fc;
    color: var(--mm-text);
    font-size: 28px;
    line-height: 1;
    font-weight: 400;
    padding: 0;
  }
  #mob-search-block-inner .mm-search-bar,
  #mob-search-block-inner #search {
    width: 100% !important;
  }
  #mob-search-block-inner .mm-search-input,
  #mob-search-block-inner input.form-control {
    height: 54px !important;
    font-size: 16px !important;
  }
  #mob-search-block-inner .btn-search {
    height: 54px !important;
    min-width: 56px;
  }
  #mob-info-block-inner .nav > li > a,
  #mob-info-block-inner a {
    display: block;
    padding: 12px 4px;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--mm-text) !important;
    border-bottom: 1px solid var(--mm-line);
  }
  #top-fixed-mobile,
  .mm-top-fixed-mobile {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto !important;
    z-index: 1035;
    display: block !important;
    background: rgba(255, 255, 255, 0.97) !important;
    border-top: 1px solid var(--mm-line) !important;
    border-bottom: 0 !important;
    box-shadow: 0 -10px 30px rgba(15, 35, 80, 0.1) !important;
    padding: 8px 0 calc(8px + env(safe-area-inset-bottom, 0px));
  }
  #top-fixed-mobile .container { width: 100%; padding: 0 8px; }
  #top-fixed-mobile .row {
    display: flex;
    align-items: center;
    margin: 0;
  }
  #top-fixed-mobile .mob-m-i {
    flex: 1 1 20%;
    width: auto !important;
    float: none !important;
    text-align: center;
    padding: 0;
  }
  #top-fixed-mobile .btn-menu-mobile,
  #top-fixed-mobile a,
  #top-fixed-mobile .dropdown-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin: 0 auto;
    border-radius: 14px;
    border: 0;
    background: transparent;
    color: var(--mm-text) !important;
    font-size: 22px !important;
  }
  #top-fixed-mobile .btn-menu-mobile:hover,
  #top-fixed-mobile a:hover {
    background: var(--mm-blue-mist);
    color: var(--mm-blue-deep) !important;
  }
  #top-fixed-mobile .cart_fix_mob .mm-cart-toggle {
    min-height: 52px !important;
    padding: 6px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #top-fixed-mobile .mm-cart-meta,
  #top-fixed-mobile .car-down { display: none !important; }
  #top-fixed-mobile .mm-cart-icon-wrap {
    width: 40px;
    height: 40px;
  }
  body.mm-has-mob-bar,
  body { padding-bottom: 76px; }
}

/* Larger desktop header controls */
@media (min-width: 992px) {
  .mm-search-bar input.form-control,
  header #search .mm-search-input,
  header #search input.form-control,
  .mm-search-submit .btn-search,
  header #search .btn-search {
    height: 48px !important;
  }
  .mm-search-input,
  header #search input.form-control { font-size: 15px !important; }
  .mm-cart-toggle.btn,
  header #cart > .btn.mm-cart-toggle {
    min-height: 42px;
  }
  .mm-cart-icon-wrap { width: 34px; height: 34px; }
  .mm-cart-icon-wrap .fa-shopping-bag { font-size: 15px !important; }
  .mm-header-util-end .mm-top-icon-btn {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }
  .mm-banner-item.banner-item { min-height: 110px; padding: 18px 20px !important; }
  .mm-banner-icon.banner-image { width: 64px; height: 64px; flex-basis: 64px; }
  .mm-banner-icon img { width: 40px !important; height: 40px !important; }
  .mm-banner-info .banner-title { font-size: 1.1rem !important; }
  .mm-banner-info .banner-description { font-size: 0.9rem !important; }
  .product-thumb .image { min-height: 220px; height: 220px; }
  .product-thumb .image img { max-height: 188px !important; }
  .product-thumb .product-name a { font-size: 0.95rem !important; }
  .product-thumb .price { font-size: 1.35rem !important; }
  .product-thumb .actions .cart .btn { min-height: 48px !important; height: 48px !important; }
}

/* ========== RESPONSIVE ========== */
@media (max-width: 991px) {
  .mm-header-brand { max-width: 50%; }
  .mm-brand-note { flex-basis: 100%; }
  .mm-product-main {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "meta meta"
      "gallery gallery"
      "options options"
      "buy buy";
  }
  .mm-product-buy #fix_right_block { position: static !important; }
  header > .container,
  .mm-footer-panel.container,
  footer.mm-footer .container.mm-footer-panel {
    border-radius: 18px;
  }
}
@media (max-width: 767px) {
  .mm-brand-text { font-size: 1.25rem; }
  .mm-brand-note { display: none; }
  .mm-header-brand { max-width: 42%; }
  header .mm-header-search-row.hidden-xs { display: none !important; }
  header #phone .additional-tel.dth ~ .additional-tel.dth { display: none !important; }
  .mm-header-cart { min-width: 0; max-width: none; }
  .mm-product-main { grid-template-columns: 1fr; gap: 12px; }
  .mm-product-gallery #image-box img { max-height: 280px; }
  .container-module-productany,
  .container-module {
    padding: 14px 12px !important;
    border-radius: 18px !important;
  }
  .mm-productany-head { padding-right: 72px; }
}

/* Callback popup (magnific) above Mimobi header */
.mfp-bg { z-index: 1300 !important; }
.mfp-wrap { z-index: 1301 !important; }
.mfp-content { z-index: 1302 !important; }
#popup-callback {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
}
#popup-callback .btn-callback {
  background: var(--mm-accent, #1e6bff);
  border: 0;
  border-radius: 10px;
  color: #fff;
  padding: 10px 18px;
}
