* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.marketplace-page {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: "Cairo", Tahoma, Arial, sans-serif;
}
body.marketplace-page main {
  display: flex;
  flex-direction: column;
  padding-bottom: clamp(56px, 6vw, 92px);
  background: linear-gradient(180deg, var(--bg) 0%, #fff 82%, #fff8fb 100%);
}
.hero-section { order: 1; }
.vendor-join-bar { order: 2; }
.product-link-section { order: 3; }
.global-stores-section { order: 4; }
.products-section { order: 5; }
.vendors-directory-section { order: 6; }
.supplier-products-section { order: 7; }
.benefits { order: 8; }
.discovery-section { order: 9; }
.vendor-section { order: 10; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mp-shell { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }

.announcement { background: var(--brand-2); color: #fff; font-size: .72rem; }
.announcement .mp-shell { min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.announcement-note { color: #fbcfe8; }
.site-header { position: sticky; top: 0; z-index: 80; background: rgba(255,255,255,.86); border-bottom: 1px solid var(--border); box-shadow: 0 8px 28px rgba(80,7,36,.06); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.header-main { min-height: 74px; display: flex; align-items: center; gap: 18px; position: relative; z-index: 20; isolation: isolate; padding-block: 12px; background: transparent; }
.site-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--brand); text-decoration: none; width: max-content; flex: 0 0 auto; }
.site-brand .brand-logo { width: 40px; height: 40px; border-radius: 11px; box-shadow: 0 6px 14px rgba(225,29,106,.16); }
.brand-mark { width: 27px; height: 27px; position: relative; display: inline-grid; place-items: center; border-radius: 8px; background: linear-gradient(145deg, var(--accent), #f472b6); box-shadow: 0 5px 11px rgba(225,29,106,.16); }
.brand-copy { display: grid; line-height: 1; }
.brand-copy strong { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; }
.brand-copy small { color: var(--muted); font-size: .7rem; font-weight: 700; margin-top: 5px; }
.header-search { height: 46px; min-width: 0; flex: 1 1 280px; display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid #efbfd3; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 8px 20px rgba(131,24,67,.05); transition: border-color .2s, box-shadow .2s; }
.header-search:focus-within { border-color: var(--accent); box-shadow: var(--ring); }
.header-search input { min-width: 0; border: 0; outline: 0; padding: 0 16px; color: var(--text); background: transparent; font-size: .88rem; }
.header-search input::placeholder { color: #a88c98; }
.header-search button { min-width: 92px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; background: var(--accent); color: #fff; font-size: .8rem; font-weight: 800; }
.header-search button:hover { background: var(--accent-hover); }
.header-search button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.header-actions { display: flex; align-items: center; gap: 12px; position: relative; z-index: 30; flex: 0 0 auto; pointer-events: auto; background: #fff; }
.header-cluster { display: inline-flex; align-items: center; gap: 8px; }
.header-cluster + .header-cluster,
.header-cluster + .cart-action { padding-inline-start: 12px; border-inline-start: 1px solid #f3d5e2; }
.currency-switcher { display: inline-flex; align-items: stretch; overflow: hidden; height: 42px; border: 1px solid #efbfd3; border-radius: 11px; background: #fff; }
.currency-option { min-height: 42px; display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 0 10px; color: #6d4a58; background: transparent; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
.currency-option + .currency-option { border-inline-start: 1px solid #f4d3e2; }
.currency-option.active { color: #fff; background: var(--accent); }
.currency-option:focus-visible { outline: 2px solid rgba(225,29,106,.35); outline-offset: -2px; }
.currency-flag { width: 16px; height: 11px; position: relative; overflow: hidden; flex: 0 0 auto; border-radius: 2px; box-shadow: 0 0 0 1px rgba(80,7,36,.12); }
.flag-sa { background: #006c35; }
.flag-sa::after { content: ""; position: absolute; inset-inline: 2px; bottom: 2px; height: 1.5px; background: #fff; }
.flag-ye { background: linear-gradient(to bottom, #ce1126 33.33%, #fff 33.33% 66.66%, #111 66.66%); }
.header-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; position: relative; z-index: 1; min-height: 46px; padding: 0 14px; border: 1px solid #f0d0de; border-radius: 12px; color: var(--brand); background: #fff; text-decoration: none; white-space: nowrap; font-size: .78rem; font-weight: 800; pointer-events: auto; transition: border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease); }
.header-action:hover { border-color: #e9a8c2; background: var(--accent-soft); transform: translateY(-1px); }
.header-action svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.customer-register { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; border-radius: 12px; padding: 0 16px; color: #fff; background: var(--accent); text-decoration: none; font-size: .78rem; font-weight: 800; white-space: nowrap; pointer-events: auto; box-shadow: 0 10px 22px rgba(225,29,106,.18); }
.customer-register:hover { background: var(--accent-hover); }
.cart-action { padding-inline: 12px 14px; }
.cart-icon-wrap { position: relative; display: inline-flex; width: 18px; height: 18px; }
.cart-icon-wrap svg { width: 18px; height: 18px; }
.cart-badge { position: absolute; top: -8px; inset-inline-end: -9px; min-width: 16px; height: 16px; display: none; place-items: center; padding-inline: 4px; border-radius: 999px; background: var(--accent); color: #fff; border: 2px solid #fff; font-size: .55rem; font-weight: 800; }
.category-bar { position: relative; z-index: 1; overflow: hidden; border-top: 1px solid #fae7ef; background: #fff; }
.store-directory { --store-widget-width: 142px; display: grid; gap: 2px; padding-block: 4px 6px; }
.store-directory-row { min-width: 0; display: grid; grid-template-columns: 92px minmax(0,1fr); align-items: center; gap: 8px; }
.store-directory-title { color: var(--brand); font-size: .7rem; font-weight: 800; white-space: nowrap; }
.store-rail-frame { min-width: 0; position: relative; padding-inline: 27px; pointer-events: none; }
.store-rail {
  display: flex;
  align-items: stretch;
  gap: 6px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: inline proximity;
  scrollbar-width: thin;
  scrollbar-color: #e9aec6 transparent;
  padding: 3px 2px 5px;
}
.store-rail::-webkit-scrollbar { height: 4px; }
.store-rail::-webkit-scrollbar-thumb { border-radius: 999px; background: #e9aec6; }
.store-rail::-webkit-scrollbar-track { background: transparent; }
.store-rail > .store-chip,.store-rail > .vendors-directory-link,.store-rail > .stores-directory-link,.store-rail > .store-chip-group {
  width: var(--store-widget-width);
  flex: 0 0 var(--store-widget-width);
  scroll-snap-align: start;
}
.store-rail,
.store-rail-arrow,
.store-chip-group,
.store-chip,
.store-external-link,
.stores-directory-link,
.vendors-directory-link { pointer-events: auto; }
.store-rail-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 21px;
  height: 32px;
  display: grid;
  place-items: center;
  transform: translateY(-56%);
  border: 1px solid #f0ccdb;
  border-radius: 7px;
  color: var(--accent);
  background: rgba(255,255,255,.94);
  box-shadow: 0 3px 10px rgba(93,18,50,.07);
  font: 800 1rem/1 Arial,sans-serif;
}
.store-rail-arrow:hover { color: #fff; border-color: var(--accent); background: var(--accent); }
.store-rail-arrow.previous { right: 0; }
.store-rail-arrow.next { left: 0; }
.category-menu { flex: 0 0 auto; height: 28px; display: flex; align-items: center; gap: 7px; padding: 0 11px; border: 0; border-radius: 7px; color: #fff; background: var(--brand); font-size: .67rem; font-weight: 800; }
.vendors-directory-link,.stores-directory-link { min-height: 36px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--accent); border-radius: 9px; padding: 3px 10px; color: #fff; background: var(--accent); text-decoration: none; font-size: .68rem; font-weight: 800; white-space: nowrap; box-shadow: 0 3px 10px rgba(93,18,50,.06); }
.vendors-directory-link:hover,.stores-directory-link:hover { background: var(--accent-hover); }
.vendors-directory-link .store-chip-icon,.stores-directory-link .store-chip-icon { background: rgba(255,255,255,.18); }
.category-links { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; overflow: visible; padding-block: 6px; scrollbar-width: none; }
.category-links::-webkit-scrollbar { display: none; }
.store-chip-group { flex: 0 0 auto; display: inline-flex; align-items: stretch; gap: 0; overflow: hidden; border: 1px solid #f4d5e2; border-radius: 9px; background: #fff; box-shadow: 0 3px 10px rgba(93,18,50,.04); transition: border-color .18s, transform .18s; }
.store-chip-group:hover { border-color: #eaaac3; transform: translateY(-1px); }
.store-chip { flex: 0 0 auto; min-height: 36px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #f4d5e2; border-radius: 9px; background: #fff; padding: 3px 10px; color: #58434d; text-decoration: none; font-size: .68rem; font-weight: 700; white-space: nowrap; box-shadow: 0 3px 10px rgba(93,18,50,.04); transition: border-color .18s, color .18s, background .18s, transform .18s; }
.store-chip-group .store-chip { width: auto; min-width: 0; flex: 1 1 auto; border: 0; border-radius: 0; box-shadow: none; }
.store-chip > span:not(.store-chip-icon) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.store-chip img,.store-chip-icon { width: 24px; height: 24px; flex: 0 0 24px; object-fit: contain; border-radius: 7px; }
.store-chip-icon { display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,var(--brand),var(--accent)); font-size: .63rem; font-weight: 800; }
.all-stores-icon { background: linear-gradient(145deg,#70183e,#e11d6a); }
.store-icon-noon { background: #f8d928; color: #251f05; }
.store-icon-amazon { background: #172334; color: #ffb547; }
.store-icon-aliexpress { background: #e62e04; }
.store-icon-temu { background: #ff6b22; }
.store-icon-trendyol { background: #f27a1a; }
.store-icon-iherb { background: #4d7f2c; }
.store-icon-shein { background: #111; }
.store-icon-assaf,.store-icon-ibraq { background: linear-gradient(145deg,#7d294d,#ef6d9f); }
.store-chip small { border-radius: 999px; padding: 1px 5px; color: var(--accent); background: var(--accent-soft); font-size: .55rem; font-weight: 800; }
.vendor-chip-icon { background: linear-gradient(145deg,#6b2443,#ec4c89); }
.category-divider { width: 1px; height: 26px; flex: 0 0 1px; margin-inline: 2px; background: #edc6d6; }
.store-chip:hover,.store-chip.active { border-color: #eaaac3; color: var(--accent); background: var(--accent-soft); transform: translateY(-1px); }
.store-chip-group .store-chip:hover,.store-chip-group .store-chip.active { transform: none; }
.store-external-link { position: relative; z-index: 2; width: 29px; min-height: 34px; display: grid; place-items: center; flex: 0 0 29px; border: 1px solid #f4d5e2; border-radius: 8px; color: #8a6072; background: #fff; box-shadow: 0 3px 10px rgba(93,18,50,.04); cursor: pointer; text-decoration: none; transition: border-color .18s, color .18s, background .18s, transform .18s; }
.store-chip-group .store-external-link { border: 0; border-inline-start: 1px solid #f4d5e2; border-radius: 0; box-shadow: none; }
.store-external-link svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.store-external-link:hover { border-color: var(--accent); color: #fff; background: var(--accent); transform: translateY(-1px); }
.store-chip-group .store-external-link:hover { transform: none; }

.directory-rail-section {
  background: #fff;
  border-bottom: 1px solid var(--border);
  padding: 18px 0 20px;
}
.directory-rail-section .store-directory {
  --store-widget-width: 172px;
  gap: 10px;
  padding-block: 0;
}
.directory-rail-section .store-directory-row {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 10px;
  align-items: stretch;
}
.directory-rail-section .store-directory-title {
  display: block;
  font-size: .92rem;
}
.directory-rail-section .store-rail {
  gap: 10px;
  padding: 4px 2px 6px;
}
.directory-rail-section .store-rail-frame { padding-inline: 34px; }
.directory-rail-section .store-rail-arrow {
  width: 28px;
  height: 42px;
  border-radius: 9px;
  font-size: 1.15rem;
}
.directory-rail-section .store-chip,
.directory-rail-section .stores-directory-link,
.directory-rail-section .vendors-directory-link {
  min-height: 52px;
  padding: 8px 12px;
  border-radius: 13px;
  font-size: .74rem;
  gap: 8px;
}
.directory-rail-section .store-chip-group { border-radius: 13px; }
.directory-rail-section .store-chip img,
.directory-rail-section .store-chip-icon {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border-radius: 10px;
  font-size: .78rem;
}
.directory-rail-section .store-external-link {
  width: 38px;
  min-height: 52px;
}
.directory-rail-section .store-external-link svg { width: 16px; height: 16px; }

.hero-section { overflow: hidden; background: linear-gradient(120deg, #fff9fc 0%, #fff0f7 50%, #fde7f1 100%); border-bottom: 1px solid #f9d8e6; }
.marketplace-hero { background:
  radial-gradient(circle at 12% 20%, rgba(244,114,182,.22), transparent 28%),
  radial-gradient(circle at 88% 80%, rgba(225,29,106,.12), transparent 32%),
  linear-gradient(135deg, #fff8fb 0%, #fce8ef 58%, #f9d7e6 100%);
  border-bottom: 0; }
.vendor-join-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin: 0;
  padding: 10px 16px;
  color: #fff;
  background: #dd2c70;
  text-decoration: none;
  text-align: center;
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: .01em;
  transition: background .18s ease;
}
.vendor-join-bar:hover { background: #c91f61; }
.vendor-join-bar:focus-visible { outline: 3px solid rgba(225,29,106,.35); outline-offset: -3px; }
.marketplace-hero-inner { min-height: 340px; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); align-items: center; gap: 48px; padding-block: 28px; }
.marketplace-hero-copy { max-width: 720px; text-align: center; }
.marketplace-hero-copy h1 { margin: 0; color: #68102f; font-size: clamp(1.7rem,3.4vw,2.7rem); line-height: 1.22; letter-spacing: -.03em; }
.marketplace-hero-copy h1 em { color: #dc2f71; font-style: normal; }
.marketplace-hero-copy > p { margin: 14px auto 22px; color: #82606e; font-size: .98rem; font-weight: 600; line-height: 1.85; }
.marketplace-hero-actions { display: flex; justify-content: center; gap: 10px; }
.marketplace-hero-button { min-width: 148px; min-height: 44px; display: grid; place-items: center; border: 1px solid #de7ba1; border-radius: 12px; padding: 8px 18px; text-decoration: none; font-size: .82rem; font-weight: 800; transition: transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease); }
.marketplace-hero-button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(111,16,52,.15); }
.marketplace-hero-button:focus-visible,.marketplace-hero-features a:focus-visible { outline: 3px solid rgba(225,29,106,.35); outline-offset: 3px; }
.marketplace-hero-button.primary { color: #fff; border-color: #dd2c70; background: #dd2c70; box-shadow: 0 12px 24px rgba(221,44,112,.22); }
.marketplace-hero-button.primary:hover { background: #c91f61; }
.marketplace-hero-button.secondary { color: #77183c; background: rgba(255,255,255,.78); }
.marketplace-hero-button.secondary:hover { background: #fff; }
.marketplace-hero-features { display: flex; align-items: center; justify-content: center; gap: 10px 22px; margin-top: 22px; }
.marketplace-hero-features a { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; padding: 7px 10px; color: #795362; text-decoration: none; font-size: .78rem; font-weight: 700; transition: color .18s ease, background .18s ease, transform .18s ease; }
.marketplace-hero-features a:hover { color: #c51f60; background: rgba(255,255,255,.55); transform: translateY(-1px); }
.marketplace-feature-icon { width: 30px; height: 30px; display: grid; place-items: center; color: #dd4b83; }
.marketplace-feature-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.marketplace-cart-art { min-width: 0; }
.marketplace-cart-art img { display: block; width: min(100%,460px); max-height: 250px; margin-inline: auto; border-radius: 16px; object-fit: contain; object-position: center; filter: drop-shadow(0 14px 18px rgba(111,16,52,.1)); }
.hero-grid { min-height: 155px; display: grid; grid-template-columns: 1.12fr .58fr; align-items: center; gap: 18px; position: relative; }
.hero-copy { position: relative; z-index: 2; padding-block: 13px; }
.eyebrow, .section-kicker { display: block; color: var(--accent); font-size: .65rem; font-weight: 800; letter-spacing: .02em; margin-bottom: 4px; }
.hero-copy h1 { margin: 0; max-width: 660px; font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.2; letter-spacing: -.04em; font-weight: 800; color: var(--brand-2); }
.hero-copy h1 em { color: var(--accent); font-style: normal; }
.hero-copy p { max-width: 610px; margin: 5px 0 9px; color: #6e5360; font-size: .66rem; line-height: 1.6; font-weight: 600; }
.hero-ctas { display: flex; gap: 8px; flex-wrap: wrap; }
.primary-cta, .secondary-cta { min-width: 104px; min-height: 30px; border-radius: 8px; padding: 0 12px; font-size: .62rem; font-weight: 800; }
.primary-cta { border: 0; color: #fff; background: var(--accent); box-shadow: 0 13px 28px rgba(225,29,106,.24); }
.primary-cta:hover { background: var(--accent-hover); transform: translateY(-1px); }
.secondary-cta { border: 1px solid #efb8cf; color: var(--brand); background: rgba(255,255,255,.75); }
.hero-proof { display: flex; gap: 15px; flex-wrap: wrap; margin-top: 8px; color: #755a66; font-size: .55rem; }
.hero-proof span { display: flex; gap: 3px; }
.hero-proof b { color: var(--brand); font-size: .58rem; }
.hero-visual { height: 150px; min-height: 0; position: relative; display: grid; place-items: center; overflow: hidden; }
.hero-visual > :not(.hero-banner-art) { display: none; }
.hero-banner-art { display: block; width: 100%; height: 150px; min-width: 0; min-height: 0; object-fit: contain; object-position: center; opacity: .88; mix-blend-mode: multiply; filter: saturate(.72) contrast(.94); }
.visual-orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(225,29,106,.2); }
.orbit-one { width: 225px; height: 225px; }
.orbit-two { width: 165px; height: 165px; border-style: dashed; animation: spin 24s linear infinite; }
.shopping-card { position: relative; z-index: 2; width: 165px; height: 165px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 24px; background: rgba(255,255,255,.84); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 16px 35px rgba(131,24,67,.14); backdrop-filter: blur(16px); transform: rotate(-2deg); }
.shopping-card::after { content: ""; position: absolute; inset: 8px; border: 1px solid #f8d4e3; border-radius: 18px; pointer-events: none; }
.mini-badge { position: absolute; top: 14px; background: var(--accent-soft); color: var(--accent); border-radius: 999px; padding: 3px 7px; font-size: .45rem; font-weight: 800; }
.shopping-bag { width: 54px; height: 57px; position: relative; display: grid; place-items: center; margin-bottom: 8px; border-radius: 8px 8px 16px 16px; background: linear-gradient(150deg, var(--accent), #f472b6); box-shadow: 0 10px 18px rgba(225,29,106,.2); }
.shopping-bag::before { content: ""; position: absolute; width: 27px; height: 17px; top: -12px; border: 5px solid var(--accent); border-bottom: 0; border-radius: 20px 20px 0 0; }
.shopping-bag i { width: 21px; height: 14px; border-bottom: 2px solid #fff; border-radius: 50%; transform: translateY(-5px); }
.shopping-card strong { color: var(--brand); font-size: .68rem; }
.shopping-card small { color: var(--muted); font-size: .46rem; margin-top: 3px; }
.floating-pill { position: absolute; z-index: 3; display: flex; align-items: center; gap: 5px; background: #fff; border: 1px solid #f5d1df; border-radius: 999px; padding: 5px 8px; color: var(--brand); box-shadow: var(--shadow); font-size: .48rem; font-weight: 800; animation: float 4s ease-in-out infinite; }
.floating-pill b { width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: #fff; }
.pill-one { top: 38px; right: 3px; }
.pill-two { bottom: 25px; left: 3px; animation-delay: -2s; }
.floating-dot { position: absolute; border-radius: 50%; background: var(--accent); opacity: .3; }
.dot-one { width: 18px; height: 18px; left: 75px; top: 55px; }
.dot-two { width: 11px; height: 11px; right: 70px; bottom: 50px; }
@keyframes float { 50% { transform: translateY(-10px); } }
@keyframes spin { to { transform: rotate(360deg); } }

.product-link-section { background: #fff; border-bottom: 1px solid var(--border); }
.product-link-import { min-height: 72px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px 18px; padding: 14px 0; }
.product-link-copy { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.product-link-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--accent); background: var(--accent-soft); font-size: 1.15rem; font-weight: 800; }
.product-link-copy strong, .product-link-copy small { display: block; }
.product-link-copy strong { color: var(--brand); font-size: .92rem; }
.product-link-copy small { margin-top: 2px; color: var(--muted); font-size: .72rem; }
.product-link-field { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; overflow: hidden; border: 1px solid #efbfd3; border-radius: 12px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.product-link-field:focus-within { border-color: var(--accent); box-shadow: var(--ring); }
.product-link-field input { min-width: 0; height: 44px; border: 0; outline: 0; padding: 0 14px; color: var(--text); background: transparent; font: inherit; font-size: .82rem; text-align: left; }
.product-link-field input::placeholder { color: #ae94a0; }
.product-link-submit { min-width: 110px; border: 0; padding: 0 16px; color: #fff; background: var(--accent); font: inherit; font-size: .8rem; font-weight: 800; }
.product-link-submit:hover:not(:disabled) { background: var(--accent-hover); }
.product-link-submit:disabled { cursor: wait; opacity: .75; }
.product-link-status { grid-column: 2; min-height: 0; margin: -4px 0 0; color: #75606a; font-size: .72rem; }
.product-link-status.error { color: #bb2354; }
.product-link-status.success { color: #198754; }

.benefits { background: #fff; border-bottom: 1px solid var(--border); }
.benefits-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.benefits article { min-height: 78px; display: flex; align-items: center; justify-content: center; gap: 12px; border-left: 1px solid #f7e2eb; padding: 14px 10px; }
.benefits article:last-child { border-left: 0; }
.benefit-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: var(--accent-soft); color: var(--accent); font-size: .95rem; font-weight: 800; }
.benefits article div { display: grid; }
.benefits strong { color: var(--brand); font-size: .86rem; }
.benefits small { color: var(--muted); font-size: .7rem; margin-top: 2px; }

.discovery-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 64px;
  padding: 34px;
  border: 1px solid #f3d4e1;
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 10%, rgba(225,29,106,.08), transparent 24%),
    linear-gradient(145deg, #fff 0%, #fffafd 58%, #fff3f8 100%);
  box-shadow: 0 24px 65px rgba(92, 18, 49, .08);
}
.discovery-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 210px;
  height: 210px;
  top: -120px;
  left: -70px;
  border: 38px solid rgba(225,29,106,.055);
  border-radius: 50%;
}
.vendor-section { padding-top: 62px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.section-heading h2, .products-toolbar h2 { margin: 0; color: var(--brand-2); font-size: 1.65rem; line-height: 1.35; }
.discovery-section .section-heading { align-items: center; margin-bottom: 28px; }
.discovery-section .section-kicker { display: block; margin-bottom: 5px; letter-spacing: .02em; }
.discovery-section .section-heading h2 { font-size: clamp(1.45rem, 2.4vw, 2rem); }
.section-heading.compact { margin-bottom: 14px; }
.mp-sections { display: flex; gap: 5px; padding: 5px; border: 1px solid #f4d2e1; border-radius: 15px; background: rgba(252,231,241,.82); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.mp-sections .tab { min-height: 40px; border: 0; border-radius: 11px; padding: 0 18px; color: #77515f; background: transparent; font-size: .74rem; font-weight: 800; transition: color .2s, background .2s, transform .2s, box-shadow .2s; }
.mp-sections .tab:hover { color: var(--accent); background: rgba(255,255,255,.72); }
.mp-sections .tab.active { color: #fff; background: linear-gradient(135deg, var(--accent), #cf2864); box-shadow: 0 9px 20px rgba(225,29,106,.22); transform: translateY(-1px); }
.collection-grid { display: grid; grid-template-columns: 1.35fr .7fr .7fr; gap: 16px; }
.collection-card { min-height: 210px; position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; border-radius: 24px; padding: 30px; border: 1px solid #f4d0df; box-shadow: 0 14px 34px rgba(96,18,51,.07); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.collection-card:hover { transform: translateY(-5px); border-color: #eaa9c4; box-shadow: 0 22px 44px rgba(96,18,51,.14); }
.collection-card::after { content: ""; position: absolute; width: 150px; height: 150px; left: -45px; bottom: -55px; border-radius: 50%; border: 28px solid rgba(255,255,255,.22); }
.collection-card > * { position: relative; z-index: 1; }
.collection-large { color: #fff; background: linear-gradient(135deg, #5f0c2c, var(--brand) 55%, #c82263); }
.collection-light { background: linear-gradient(145deg, #fff, #fff6fa 58%, #fce7f3); color: var(--brand); }
.collection-deep { background: linear-gradient(140deg, #721437, #a91f54 58%, #c52966); color: #fff; }
.collection-card span { font-size: .74rem; font-weight: 800; opacity: .8; }
.collection-card h3 { max-width: 360px; margin: 9px 0 5px; font-size: 1.42rem; line-height: 1.45; }
.collection-card p { margin: 0 0 14px; opacity: .75; font-size: .75rem; }
.collection-card button { width: max-content; min-height: 34px; margin-top: 8px; border: 1px solid currentColor; border-radius: 10px; padding: 5px 15px; background: rgba(255,255,255,.08); color: inherit; font-size: .72rem; font-weight: 800; transition: transform .2s, background .2s; }
.collection-light button { background: #fff; }
.collection-card button:hover { transform: translateX(-3px); background: rgba(255,255,255,.18); }
.vendor-strip { display: flex; gap: 12px; overflow-x: auto; padding: 4px 2px 12px; scrollbar-color: #efb8cf transparent; }
.vendor-card { flex: 0 0 170px; display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--border); border-radius: 15px; background: #fff; box-shadow: var(--shadow); cursor: pointer; transition: transform .2s, border-color .2s; }
.vendor-card:hover { transform: translateY(-2px); border-color: var(--accent); }
.v-logo { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; color: var(--accent); background: var(--accent-soft); }
.vendor-card .v-name { font-size: .75rem; font-weight: 800; }
.vendor-card .v-count { color: var(--muted); font-size: .68rem; }

.products-section { margin-top: 0; padding: 18px 0 54px; background: #fff; border-top: 1px solid #fae2ec; }
.supplier-products-section { background: #fff9fc; }
.products-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.products-toolbar h2 { font-size: 1.28rem; }
.products-toolbar p { margin: 2px 0 0; color: var(--muted); font-size: .78rem; }
.catalog-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.sort-control { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.sort-control select { min-height: 36px; border: 1px solid var(--border); border-radius: 9px; padding: 0 10px; color: var(--text); background: #fff; font-size: .74rem; }
.filter-reset { min-height: 36px; border: 1px solid var(--border); border-radius: 9px; padding: 0 12px; color: var(--brand); background: #fff; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
.filter-reset:hover { border-color: #ec9ec1; background: var(--accent-soft); }
.recent-section { padding: 12px 0 6px; }
.recent-rail { display: flex; gap: 12px; overflow-x: auto; padding: 4px 2px 10px; scrollbar-color: #efb8cf transparent; }
.recent-card { flex: 0 0 168px; display: grid; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 16px; background: #fff; color: inherit; text-decoration: none; box-shadow: var(--shadow); }
.recent-card img, .recent-card .noimg { width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 12px; background: #fff6fa; }
.recent-card .noimg { display: grid; place-items: center; color: var(--accent); }
.recent-card strong { min-height: 40px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: var(--brand); font-size: .74rem; line-height: 1.5; }
.recent-card span { color: var(--accent); font-size: .78rem; font-weight: 800; }
.mp-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 15px; }
.mp-card { min-width: 0; position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #f2dbe5; border-radius: 20px; background: #fff; cursor: pointer; transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); }
.mp-card:hover { transform: translateY(-6px); border-color: #efb8cf; box-shadow: 0 22px 44px rgba(131,24,67,.14); }
.card-media { aspect-ratio: 1 / 1; position: relative; overflow: hidden; display: grid; place-items: center; background: linear-gradient(145deg,#fff,#fff5f9); }
.card-media-link { display:block; width:100%; height:100%; color:inherit; text-decoration:none; cursor:pointer; }
.card-media img { width: 100%; height: 100%; object-fit: contain; padding: 16px; transition: transform .25s; }
.card-media img.product-placeholder { width: 50%; height: 50%; padding: 0; object-fit: contain; transform: none; }
.mp-card:hover .card-media img:not(.product-placeholder) { transform: scale(1.035); }
.noimg { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 18px; background: #fce7f3; color: var(--accent); font-size: 1.5rem; }
.store-tag { position: absolute; top: 10px; right: 10px; z-index: 2; max-width: calc(100% - 48px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; padding: 5px 10px; background: rgba(255,255,255,.94); color: var(--brand); box-shadow: 0 5px 14px rgba(80,7,36,.08); font-size: .66rem; font-weight: 800; }
.wishlist-btn { position: absolute; top: 9px; left: 9px; z-index: 2; width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #f5d9e5; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--accent); font-size: 1rem; }
.wishlist-btn.active { color: #fff; border-color: var(--accent); background: var(--accent); }
.remove-selection-btn { position: absolute; top: 46px; left: 9px; z-index: 2; width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #f5d9e5; border-radius: 50%; background: rgba(255,255,255,.92); color: #b42318; font-size: 1.05rem; line-height: 1; cursor: pointer; }
.remove-selection-btn:hover { color: #fff; border-color: #b42318; background: #b42318; }
.mp-card .body { flex: 1; display: flex; flex-direction: column; padding: 13px 13px 9px; }
.mp-card .store-name { color: var(--accent); font-size: .7rem; font-weight: 800; margin-bottom: 5px; }
.mp-card h3 { min-height: 44px; margin: 0 0 9px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #392630; font-size: .84rem; line-height: 1.65; font-weight: 700; }
.rating-row { display: flex; align-items: center; gap: 4px; min-height: 18px; color: #d97706; font-size: .7rem; }
.rating-row span { color: var(--muted); }
.price-row { min-height: 39px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; margin-top: auto; padding-top: 6px; }
.price-row strong { color: var(--brand); font-size: 1rem; }
.price-row del { color: #a78b97; font-size: .7rem; }
.discount { color: #15803d; background: #ecfdf3; border-radius: 5px; padding: 1px 5px; font-size: .62rem; font-weight: 800; }
.stock-note { min-height: 19px; color: #15803d; font-size: .68rem; font-weight: 700; }
.stock-note.out { color: #b42318; }
.mp-card .actions { display: grid; grid-template-columns: 1fr 38px; gap: 7px; padding: 0 13px 13px; }
.mp-card .actions button, .mp-card .actions a { min-height: 40px; display: grid; place-items: center; border-radius: 11px; text-decoration: none; font-size: .74rem; font-weight: 800; }
.add-cart { border: 0; color: #fff; background: var(--accent); }
.add-cart:hover { background: var(--accent-hover); }
.add-cart.in-cart { background: #0f766e; }
.add-cart.in-cart:hover { background: #0d5f59; }
.add-cart:disabled { cursor: not-allowed; background: #cbb9c1; }
.quick-view-btn { border: 1px solid var(--border); color: var(--accent); background: #fff; }
.quick-view-btn:hover { background: var(--accent-soft); }
.pagination { display: flex; justify-content: center; gap: 6px; margin-top: 28px; }
.pagination button { min-width: 38px; height: 38px; border: 1px solid var(--border); border-radius: 10px; background: #fff; color: var(--text); font-weight: 800; }
.pagination button.active { color: #fff; border-color: var(--accent); background: var(--accent); }
.empty-state { grid-column: 1/-1; min-height: 280px; display: grid; place-items: center; text-align: center; border: 1px dashed #efb8cf; border-radius: 20px; background: var(--accent-soft); color: var(--muted); }
.empty-state strong { display: block; color: var(--brand); font-size: 1rem; margin-bottom: 5px; }
.product-skeletons { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 15px; }
.skeleton-card { height: 345px; overflow: hidden; border: 1px solid #f5e3ea; border-radius: 18px; background: #fff; padding: 13px; }
.skeleton-card i, .skeleton-card span, .skeleton-card b { display: block; border-radius: 8px; background: linear-gradient(90deg,#faedf2 25%,#fff7fa 50%,#faedf2 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; }
.skeleton-card i { height: 200px; margin: -13px -13px 15px; border-radius: 0; }
.skeleton-card span { height: 13px; margin: 8px 0; }
.skeleton-card span:nth-child(3) { width: 70%; }
.skeleton-card b { width: 45%; height: 20px; margin-top: 18px; }
@keyframes shimmer { to { background-position: -200% 0; } }

.toast { position: fixed; z-index: 300; bottom: 25px; left: 50%; transform: translate(-50%, 20px); min-width: 240px; max-width: calc(100% - 30px); padding: 12px 18px; border-radius: 12px; background: var(--brand-2); color: #fff; box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; text-align: center; font-size: .78rem; font-weight: 700; transition: .2s; }
.toast.show { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.qv-overlay { display: none; position: fixed; inset: 0; z-index: 200; align-items: center; justify-content: center; padding: 20px; background: rgba(46,6,25,.64); backdrop-filter: blur(5px); pointer-events: none; }
.qv-overlay.open { display: flex; pointer-events: auto; }
.qv-box { width: min(680px,100%); max-height: 86vh; overflow: auto; position: relative; display: grid; grid-template-columns: 1fr 1fr; border-radius: 22px; background: #fff; box-shadow: var(--shadow-lg); }
.qv-media { min-height: 340px; display: grid; place-items: center; background: #fff5f9; }
.qv-img { max-width: 100%; max-height: 340px; object-fit: contain; padding: 22px; }
.qv-content { display: flex; flex-direction: column; justify-content: center; padding: 35px; }
.qv-store { width: max-content; color: var(--accent); background: var(--accent-soft); border-radius: 999px; padding: 5px 10px; font-size: .7rem; font-weight: 800; }
.qv-name { color: var(--brand); font-size: 1.2rem; line-height: 1.6; }
.qv-price { color: var(--accent); font-size: 1.35rem; font-weight: 800; }
.qv-meta { margin-top: 10px; color: var(--muted); font-size: .78rem; }
.qv-close { position: absolute; z-index: 2; top: 12px; left: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #fff; color: var(--brand); font-size: 1.25rem; box-shadow: var(--shadow); }

.site-footer { color: #fdf2f8; background: var(--brand-2); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 50px; padding-block: 50px; }
.footer-brand { color: #fff; }
.footer-brand .brand-copy small { color: #f9a8d4; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-grid p { max-width: 330px; margin: 5px 0 0; color: #e9b9cf; font-size: .8rem; line-height: 1.85; }
.footer-grid > div > strong { font-size: .88rem; margin-bottom: 5px; }
.footer-grid a:not(.site-brand) { color: #e9b9cf; text-decoration: none; font-size: .78rem; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { min-height: 50px; display: flex; align-items: center; border-top: 1px solid rgba(255,255,255,.1); color: #ce8eaa; font-size: .74rem; }
.mobile-nav { display: none; }

@media (max-width: 1050px) {
  .header-main { gap: 9px; }
  .mp-grid, .product-skeletons { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .hero-grid { grid-template-columns: 1.05fr .75fr; }
  .collection-grid { grid-template-columns: 1.2fr 1fr; }
  .collection-deep { grid-column: 2; }
  .collection-large { grid-row: span 2; }
  .footer-grid { grid-template-columns: 1.4fr repeat(3,1fr); gap: 25px; }
}

@media (max-width: 800px) {
  .announcement-note { display: none; }
  .announcement .mp-shell { justify-content: center; }
  .site-header { position: relative; }
  .header-main { flex-wrap: wrap; gap: 10px; padding-block: 8px; min-height: 0; }
  .site-brand { order: 1; }
  .header-actions { order: 2; margin-inline-start: auto; gap: 8px; }
  .header-search { order: 3; flex: 1 1 100%; width: 100%; }
  .header-cluster + .header-cluster,
  .header-cluster + .cart-action { padding-inline-start: 8px; }
  .category-inner { width: 100%; padding-inline: 12px; }
  .category-links { flex-wrap: nowrap; overflow-x: auto; }
  .category-menu { display: none; }
  .marketplace-hero-inner { min-height: 280px; grid-template-columns: minmax(0,1.2fr) minmax(190px,.8fr); gap: 20px; }
  .marketplace-hero-copy h1 { font-size: clamp(1.4rem,3.4vw,2rem); }
  .marketplace-hero-button { min-width: 120px; min-height: 42px; font-size: .78rem; }
  .marketplace-hero-features { gap: 7px; flex-wrap: wrap; }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; }
  .hero-copy { text-align: center; padding: 17px 0 10px; }
  .hero-copy p { margin-inline: auto; }
  .hero-ctas, .hero-proof { justify-content: center; }
  .hero-visual { height: 130px; min-height: 0; }
  .hero-banner-art { height: 130px; }
  .product-link-import { grid-template-columns: 1fr; gap: 7px; }
  .product-link-status { grid-column: 1; margin-top: -3px; }
  .benefits-grid { grid-template-columns: 1fr 1fr; }
  .benefits article { border-bottom: 1px solid #f7e2eb; }
  .discovery-section { padding: 26px; border-radius: 24px; }
  .collection-grid { grid-template-columns: 1fr 1fr; }
  .collection-large { grid-column: 1/-1; grid-row: auto; }
  .collection-deep { grid-column: auto; }
  .mp-grid, .product-skeletons { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  body.marketplace-page { padding-bottom: 64px; }
  .mp-shell { width: min(100% - 24px, 1240px); }
  .announcement { font-size: .65rem; }
  .header-main { min-height: auto; gap: 8px; padding-block: 8px; }
  .site-brand .brand-logo { width: 36px; height: 36px; }
  .brand-copy strong { font-size: 1rem; }
  .brand-copy small { display: none; }
  .header-action { min-height: 38px; padding-inline: 9px; }
  .header-action > span:not(.cart-icon-wrap) { display: none; }
  .customer-register { min-height: 38px; padding-inline: 10px; font-size: .62rem; }
  .currency-switcher, .currency-option { height: 38px; min-height: 38px; }
  .currency-option span:last-child { display: none; }
  .currency-option { padding-inline: 8px; }
  .header-search { height: 40px; }
  .header-search button { min-width: 44px; }
  .header-search button span { display: none; }
  .category-bar { border-top: 0; }
  .store-directory { --store-widget-width: 124px; width: calc(100% - 12px); gap: 1px; padding-block: 3px 5px; }
  .store-directory-row { grid-template-columns: 67px minmax(0,1fr); gap: 4px; }
  .store-directory-title { font-size: .62rem; }
  .store-rail-frame { padding-inline: 22px; }
  .store-rail { gap: 5px; }
  .store-rail-arrow { width: 18px; height: 29px; }
  .store-chip,.vendors-directory-link,.stores-directory-link { min-height: 34px; height: auto; padding-inline: 8px; font-size: .62rem; }
  .store-chip img,.store-chip-icon { width: 22px; height: 22px; flex-basis: 22px; }
  .directory-rail-section { padding: 14px 0 16px; }
  .directory-rail-section .store-directory { --store-widget-width: 148px; }
  .directory-rail-section .store-directory-row { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .directory-rail-section .store-directory-title { font-size: .8rem; }
  .directory-rail-section .store-chip,
  .directory-rail-section .stores-directory-link,
  .directory-rail-section .vendors-directory-link { min-height: 44px; font-size: .64rem; }
  .directory-rail-section .store-chip img,
  .directory-rail-section .store-chip-icon { width: 28px; height: 28px; flex-basis: 28px; }
  .marketplace-hero-inner { min-height: 310px; display: flex; align-items: center; justify-content: center; padding-block: 24px; }
  .marketplace-cart-art { display: none; }
  .marketplace-hero-copy { width: 100%; }
  .marketplace-hero-copy h1 { font-size: clamp(1.35rem,6vw,1.75rem); }
  .marketplace-hero-copy > p { max-width: 360px; font-size: .84rem; line-height: 1.8; }
  .marketplace-hero-actions { gap: 8px; }
  .marketplace-hero-button { min-width: 0; flex: 1; min-height: 42px; padding-inline: 10px; font-size: .78rem; }
  .marketplace-hero-features { margin-top: 15px; gap: 6px; }
  .marketplace-hero-features a { padding: 6px 8px; font-size: .68rem; }
  .marketplace-feature-icon { width: 22px; height: 22px; }
  .marketplace-feature-icon svg { width: 20px; height: 20px; }
  .hero-grid { display: block; min-height: 145px; }
  .hero-copy { padding: 17px 0 14px; }
  .hero-copy h1 { font-size: 1.32rem; }
  .hero-copy p { font-size: .78rem; line-height: 1.65; }
  .primary-cta, .secondary-cta { min-width: 108px; min-height: 36px; padding-inline: 10px; font-size: .7rem; }
  .hero-proof { gap: 9px; margin-top: 8px; }
  .hero-visual { display: none; }
  .product-link-section { padding: 3px 0; }
  .product-link-copy small { white-space: normal; }
  .product-link-field input { font-size: .78rem; }
  .benefits-grid { grid-template-columns: 1fr 1fr; }
  .benefits article { min-height: 52px; justify-content: flex-start; padding: 7px; gap: 7px; }
  .benefit-icon { width: 27px; height: 27px; }
  .benefits strong { font-size: .76rem; }
  .benefits small { font-size: .64rem; }
  body.marketplace-page main { padding-bottom: 42px; }
  .discovery-section { width: calc(100% - 24px); margin-top: 42px; padding: 20px 16px; border-radius: 21px; }
  .vendor-section { padding-top: 42px; }
  .section-heading, .products-toolbar { align-items: flex-start; flex-direction: column; }
  .section-heading h2, .products-toolbar h2 { font-size: 1.32rem; }
  .mp-sections { width: 100%; overflow-x: auto; }
  .mp-sections .tab { flex: 1 0 auto; }
  .collection-grid { grid-template-columns: 1fr; }
  .collection-large, .collection-deep { grid-column: auto; }
  .collection-card { min-height: 168px; padding: 22px; }
  .collection-card h3 { font-size: 1.1rem; }
  .products-section { margin-top: 0; padding-top: 16px; }
  .sort-control { width: 100%; justify-content: space-between; }
  .sort-control select { flex: 1; }
  .catalog-controls { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .catalog-controls .sort-control:last-child { grid-column: 1/-1; }
  .mp-grid, .product-skeletons { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .skeleton-card { height: 285px; }
  .skeleton-card i { height: 155px; }
  .mp-card { border-radius: 15px; }
  .card-media img { padding: 10px; }
  .store-tag { top: 7px; right: 7px; max-width: calc(100% - 38px); padding: 3px 7px; }
  .wishlist-btn { top: 6px; left: 6px; width: 28px; height: 28px; }
  .mp-card .body { padding: 10px 10px 7px; }
  .mp-card h3 { min-height: 39px; font-size: .78rem; }
  .mp-card .actions { grid-template-columns: 1fr 35px; padding: 0 10px 10px; }
  .mp-card .actions button { min-height: 36px; }
  .qv-box { grid-template-columns: 1fr; }
  .qv-media { min-height: 230px; }
  .qv-content { padding: 24px; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .mobile-nav { position: fixed; z-index: 150; bottom: 0; inset-inline: 0; min-height: 62px; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid #f2d3e0; background: rgba(255,255,255,.97); box-shadow: 0 -8px 25px rgba(80,7,36,.08); backdrop-filter: blur(12px); }
  .mobile-nav a, .mobile-nav button { display: grid; place-items: center; align-content: center; gap: 2px; border: 0; background: transparent; color: #836b75; text-decoration: none; font-size: .68rem; font-weight: 700; }
  .mobile-nav span { font-size: 1.08rem; line-height: 1; }
  .mobile-nav .active { color: var(--accent); }
  .toast { bottom: 76px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
