/* Shared public marketplace layout. Keep page, navigation and footer aligned. */
@layer storefront{
  @media(min-width:992px){
    body.market-page .mv-floating-search{padding:3px 0!important}
    body.market-page .mv-floating-search .market-search{height:32px!important;min-height:32px!important;padding:0 8px!important;gap:6px}
    body.market-page .mv-floating-search .market-search input{font-size:13px;line-height:1.2}
    body.market-page .mv-floating-search .market-search button{width:26px!important;height:26px!important;min-height:0!important;padding:0!important;font-size:16px;display:inline-flex;align-items:center;justify-content:center}
    body.market-page .mv-floating-search .mv-selected-location{font-size:12px;line-height:1.2;gap:6px}
    body.market-page .mv-floating-search .mv-selected-location button{height:28px!important;min-height:28px!important;padding:4px 10px!important;font-size:12px;line-height:1.2}
  }
}
@media(min-width:992px){
  body.market-page .mv-floating-search>.market-shell{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:24px}
  body.market-page .mv-floating-search .mv-suggest-wrap{width:100%;min-width:0;max-width:none}
  body.market-page .mv-floating-search .market-search{width:100%;margin:0}
  body.market-page .mv-floating-search .mv-selected-location{width:100%;min-width:0;margin:0;justify-content:flex-end;flex-wrap:nowrap}
  body.market-page .mv-floating-search .mv-selected-location strong{min-width:0;overflow-wrap:anywhere}
  body.market-page .mv-floating-search .mv-selected-location button{flex-shrink:0;white-space:nowrap}
}
body:has(> .mv-appbar:not(.mv-side-appbar)) {
  --market-width: 1280px;
  --market-gutter: clamp(16px, 3vw, 32px);
}
body:has(> .mv-appbar:not(.mv-side-appbar)) > main.mv-page,
body:has(> .mv-appbar:not(.mv-side-appbar)) > main.container,
body:has(> .mv-appbar:not(.mv-side-appbar)) > .container,
body.market-page .market-shell,
body:has(> .mv-appbar:not(.mv-side-appbar)) .mv-appbar-inner,
body:has(> .mv-appbar:not(.mv-side-appbar)) .market-footer-inner {
  box-sizing: border-box !important;
  width: calc(100% - var(--market-gutter) * 2) !important;
  max-width: var(--market-width) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  right: auto !important;
}
body.market-page { padding-top: 0 !important; }
body.market-page > .mv-appbar { position: sticky; top: 0; z-index: 1100; }
body.market-page .mv-floating-search {
  position: sticky;
  top: var(--mv-header-height, 72px);
  z-index: 1090;
  padding: 14px 0;
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
  box-shadow: 0 4px 14px rgba(15,23,42,.04);
}
body.market-page .market-layout { gap: 24px; padding-top: 24px; }
body.market-page .market-layout > * { min-width: 0; }
body.market-page :is(.category-list-card, .mv-region-list-card, .filter-card) {
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 16px rgba(15,23,42,.04);
}
body.market-page .market-search {
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  min-height: 48px;
  background: #f8fafc;
}
body.market-page .market-search:focus-within { border-color: var(--mv-primary); box-shadow: 0 0 0 3px rgba(15,23,42,.06); }
/* Equal image areas and shared rows keep prices and actions aligned. */
body.market-page .catalog-grid {
  display: grid !important;
  columns: auto !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
  gap: 10px;
  align-items: start;
  max-width: none;
}
body.market-page .catalog-grid .catalog-card {
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(15,23,42,.04);
}
body.market-page .catalog-grid .catalog-card:is([hidden], .is-hidden, [style*="display: none"], [style*="display:none"]) { display: none !important; }
body.market-page .catalog-grid .mv-sponsored-row { grid-column: 1 / -1; }
body.market-page .catalog-grid .catalog-media { aspect-ratio: 4 / 3 !important; flex: 0 0 auto; }
body.market-page .catalog-grid .catalog-main-frame { height: 100% !important; }
body.market-page .catalog-grid .catalog-main-frame :is(img, video) {
  width: 100% !important; height: 100% !important; min-height: 0 !important;
  max-height: 100% !important; object-fit: contain !important;
}
body.market-page .catalog-grid .catalog-body { display: flex; flex-direction: column; gap: 4px; flex: 0 0 auto; padding: 8px; }
body.market-page .catalog-grid .catalog-price { margin: 0; line-height: 1.25; }
body.market-page .catalog-grid .catalog-title { min-height: 0; margin: 0; line-height: 1.25; }
body.market-page .catalog-grid .catalog-location { line-height: 1.25; min-height: 0; margin: 0; font-size: .75rem; }
body.market-page .catalog-grid .catalog-status-row { margin: 0; line-height: 1.25; }
body.market-page .catalog-grid .condition-pill { padding: 3px 6px; font-size: .72rem; gap: 4px; }
body.market-page .catalog-grid .catalog-footer {
  display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between;
  width: 100%; margin-top: 0; padding-top: 2px; gap: 12px;
}
body.market-page .catalog-grid :is(.share-mini, .cart-mini) {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 32px; width: 32px; height: 32px; min-width: 32px; min-height: 32px; padding: 0;
}
/* A folded description should consume neither a flex item nor its gaps. */
body.market-page .catalog-grid .catalog-desc { display: none; margin: 0; }
body.market-page .catalog-grid .catalog-card:is(:hover, :focus-within, .show-desc) .catalog-desc { display: -webkit-box; margin: 2px 0; }
@media (max-width: 640px) {
  body.market-page .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.market-page .catalog-grid .catalog-body { padding: 7px; gap: 3px; }
}
@media (max-width: 340px) {
  body.market-page .catalog-grid { grid-template-columns: minmax(0, 1fr); }
}
body:has(> .mv-appbar:not(.mv-side-appbar)) > main {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 24px;
}
/* Bootstrap rows already supply negative margins; contain them consistently. */
body:has(> .mv-appbar:not(.mv-side-appbar)) main .row {
  max-width: none !important;
}
body:has(> .mv-appbar:not(.mv-side-appbar)) main :is(.row > *, .d-flex > *, [class$="-grid"] > *) {
  min-width: 0;
}
body:has(> .mv-appbar:not(.mv-side-appbar)) .mv-page-head {
  flex-wrap: wrap;
}
/* Store content must shrink with its parent, including long names and URLs. */
.seller-store-page :is(.seller-hero-inner > *, .seller-trust-item > *, .seller-panel, .seller-section-head > *, .seller-card-body) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.seller-store-page .seller-hero-inner {
  grid-template-columns: 112px minmax(0, 1fr) minmax(180px, 280px);
  gap: 24px;
}
.seller-store-page .seller-title { line-height: 1.12; }
.seller-store-page .seller-mini-url { max-width: 100%; flex-wrap: wrap; text-align: left; }
.seller-store-page .seller-products-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: 10px;
  align-items: start;
}
.seller-store-page .seller-product-card { min-height: 0; }
.seller-store-page .seller-product-media { aspect-ratio: 4 / 3; }
.seller-store-page .seller-card-body { padding: 9px; gap: 4px; flex: 0 0 auto; }
.seller-store-page .seller-card-title { min-height: 0; }
.seller-store-page .seller-card-actions { margin-top: 2px; }
.seller-store-page .seller-featured-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
}
.seller-store-page .seller-reviews-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}
.seller-store-page .seller-section-head { align-items: center; }
.seller-store-page .seller-panel { height: 100%; }
.seller-store-page .seller-card-actions { grid-template-columns: 40px minmax(0, 1fr) 40px; }
.seller-store-page .seller-card-actions .btn { padding-inline: 6px; }
.seller-store-page .seller-card-actions .btn-icon-only { width: 40px; }
@media (max-width: 1050px) {
  .seller-store-page .seller-hero-inner { grid-template-columns: 88px minmax(0, 1fr); }
  .seller-store-page .seller-logo { width: 88px; height: 88px; }
  .seller-store-page .seller-hero-actions { grid-column: 1 / -1; justify-content: flex-start !important; }
}
@media (max-width: 760px) {
  .seller-store-page .seller-hero-inner { padding: 20px; gap: 16px; }
  .seller-store-page .seller-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .seller-store-page .seller-card-body { padding: 8px; gap: 4px; }
  .seller-store-page .seller-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seller-store-page .seller-card-actions .btn:not(.btn-icon-only) { grid-column: 1 / -1; grid-row: 1; }
  .seller-store-page .seller-card-actions .btn-icon-only { width: 100%; }
  .seller-store-page .seller-trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
  .seller-store-page .seller-hero-inner { grid-template-columns: minmax(0, 1fr); }
  .seller-store-page .seller-products-grid,
  .seller-store-page .seller-trust-strip { grid-template-columns: minmax(0, 1fr); }
}

/* Browsing groups start closed; native details retains keyboard support. */
body.market-page .mv-browse-folder>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}
body.market-page .mv-browse-folder>summary::-webkit-details-marker{display:none}
body.market-page .mv-browse-folder[open]>summary>.bi-chevron-down{transform:rotate(180deg)}

/* Search and delivery location share one row on phones and desktops. */
body.market-page .mv-floating-search>.market-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px}
body.market-page .mv-floating-search .mv-suggest-wrap{width:100%;min-width:0;max-width:none}
body.market-page .mv-floating-search .market-search{width:100%;min-width:0;margin:0;box-sizing:border-box}
body.market-page .mv-floating-search .market-search input{width:100%;min-width:0}
body.market-page .mv-floating-search .mv-selected-location{width:100%;min-width:0;margin:0;gap:5px;justify-content:flex-end;flex-wrap:nowrap}
body.market-page .mv-floating-search .mv-selected-location strong{min-width:0;font-size:12px;line-height:1.25;overflow-wrap:anywhere}
body.market-page .mv-floating-search .mv-selected-location button{flex-shrink:0;white-space:nowrap}
@media(max-width:991px){
 body.market-page .mv-floating-search .market-search{padding:0 4px 0 8px!important;gap:4px}
 body.market-page .mv-floating-search .market-search>i{display:none}
 body.market-page .mv-floating-search .market-search input{font-size:14px}
 body.market-page .mv-floating-search .mv-selected-location>i{display:none}
 body.market-page .mv-floating-search .mv-selected-location button{padding:8px!important;min-height:36px;font-size:12px;gap:0}
 body.market-page .mv-floating-search .mv-selected-location button:before{display:none}
 body.market-page .mv-floating-search .mv-suggestions{left:0;transform:none;width:calc(100vw - 32px);max-width:520px}
}
