:root {
  --mp-bg: #f5f6f3;
  --mp-surface: #ffffff;
  --mp-surface-elevated: #fbfcfa;
  --mp-text: #1b2521;
  --mp-text-secondary: #52615a;
  --mp-border: #dce2de;
  --mp-accent: #17684e;
  --mp-accent-hover: #10543e;
  --mp-accent-soft: #e5f2eb;
  --mp-success: #17684e;
  --mp-warning: #916319;
  --mp-danger: #ac433d;
  --mp-info: #276b84;
  --mp-shadow-sm: 0 3px 12px rgba(20, 34, 29, .06);
  --mp-shadow-md: 0 12px 30px rgba(20, 34, 29, .1);
  --page: var(--mp-bg);
  --surface: var(--mp-surface);
  --text: var(--mp-text);
  --soft: var(--mp-text-secondary);
  --line: var(--mp-border);
  --green: var(--mp-accent);
  --green-soft: var(--mp-accent-soft);
  --shadow: var(--mp-shadow-md);
}
.marketplace-hero { background-color: #151e1b; background-image: url("/marketplace/assets/premium-marketplace-hero.png"); min-height: 288px; }
.hero-shade { background: linear-gradient(90deg, rgba(13, 26, 24, .86), rgba(13, 26, 24, .26)); }
.hero-content { padding-block: 64px 48px; }
.hero-content h1 { font-size: 38px; }
.catalog-card,.public-product-card,.product-form,.catalog-dialog article { box-shadow: var(--mp-shadow-sm); }
.primary-command:hover { background: var(--mp-accent-hover); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid var(--mp-accent); outline-offset: 2px; }
.product-filters { align-items: end; display: flex; gap: 12px; margin: 18px 0 10px; }
.product-filters label { color: var(--soft); display: grid; font-size: 12px; font-weight: 700; gap: 6px; min-width: 200px; }
.product-filters select { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; color: var(--text); min-height: 44px; padding: 8px 12px; }
.public-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-product-card { border-radius: 8px; display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.public-product-image { align-items: center; background: #e4eae7; display: flex; justify-content: center; aspect-ratio: 4 / 3; overflow: hidden; width: 100%; }
.public-product-image img { height: 100%; object-fit: cover; width: 100%; }
.product-image-placeholder { color: #485d54; font-size: 15px; font-weight: 750; padding: 20px; text-align: center; }
.public-product-content { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 16px; }
.public-product-content .public-product-description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; flex: 1; overflow: hidden; }
.product-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.product-card-actions button { flex: 1 1 110px; }
.storefront-link { align-self: flex-start; background: none; border: 0; color: var(--mp-accent); font-size: 12px; font-weight: 700; padding: 2px 0; text-align: start; text-decoration: underline; }
.storefront-link:hover { color: var(--mp-accent-hover); }
.seller-store-cover { aspect-ratio: 4 / 1; border-radius: 6px; display: block; object-fit: cover; width: 100%; }
.seller-store-intro { align-items: center; display: flex; gap: 14px; padding-block: 16px; }
.seller-store-intro img { border: 1px solid var(--line); border-radius: 6px; height: 56px; object-fit: contain; width: 56px; }
.seller-store-intro p { color: var(--soft); margin: 0; overflow-wrap: anywhere; }
.seller-store-links,.seller-store-products { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 12px; }
.seller-store-links a { color: var(--mp-accent); overflow-wrap: anywhere; }
.seller-store-products button { flex: 1 1 180px; text-align: start; }
.public-products > .section-heading { align-items: flex-start; display: flex; }
.product-detail-gallery { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
.product-detail-gallery img, .product-detail-gallery .product-image-placeholder { background: #e4eae7; border-radius: 6px; flex: 0 0 min(100%, 420px); height: 260px; object-fit: cover; scroll-snap-align: start; }
.product-detail-attributes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.product-detail-attributes div { border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; padding: 8px 0; }
.product-detail-attributes dt { color: var(--muted); font-size: 11px; }
.product-detail-attributes dd { font-size: 13px; margin: 0; overflow-wrap: anywhere; }
.store-settings { border-bottom: 1px solid var(--line); margin-bottom: 28px; padding-bottom: 28px; }
.store-settings .section-heading { margin-bottom: 16px; }
.store-settings .form-grid { max-width: 860px; }
.store-settings .settings-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.store-preview { border: 1px solid var(--line); border-radius: 8px; margin-top: 18px; max-width: 860px; overflow: hidden; }
.store-preview-cover { background: #dce7e3; height: 150px; overflow: hidden; }
.store-preview-cover img { height: 100%; object-fit: cover; width: 100%; }
.store-preview-content { align-items: flex-start; display: flex; gap: 14px; padding: 18px; }
.store-preview-content h4 { font-size: 18px; margin: 4px 0; }
.store-preview-content p { color: var(--soft); font-size: 13px; margin: 4px 0; }
.store-preview-products { display: flex; flex-wrap: wrap; gap: 6px; margin-block-start: 10px; }
.store-preview-products span { background: var(--mp-surface-elevated); border: 1px solid var(--line); border-radius: 4px; font-size: 11px; padding: 6px 8px; }
.store-preview-logo { background: white; border: 1px solid var(--line); border-radius: 6px; height: 60px; object-fit: contain; width: 60px; }
.attribute-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 8px; }
.attribute-grid label { display: grid; gap: 5px; }
.media-workspace { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.media-workspace h4 { margin: 0; }
.media-controls { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; }
.media-controls label { display: grid; flex: 1 1 180px; font-size: 11px; gap: 5px; }
.media-controls input { border: 1px solid var(--line); border-radius: 6px; min-height: 42px; padding: 8px; width: 100%; }
.media-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.media-row { border: 1px solid var(--line); border-radius: 6px; display: grid; gap: 8px; max-width: 220px; padding: 8px; }
.media-thumb img, .media-thumb video { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.media-row label { display: grid; font-size: 11px; gap: 4px; }
.media-row input { border: 1px solid var(--line); min-width: 0; padding: 7px; width: 100%; }
.media-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.media-row-actions button { min-height: 36px; }
@media (max-width: 760px) { .public-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) { .public-product-grid { grid-template-columns: 1fr; } .product-filters label { width: 100%; } .attribute-grid, .product-detail-attributes { grid-template-columns: 1fr; } .hero-content { padding-block: 50px 42px; } .hero-content h1 { font-size: 32px; } .marketplace-hero { background-position: 57% center; } .hero-shade { background: rgba(13, 26, 24, .73); } }
