/* Garam Marketplace — follows the shared color cookie / Onix + Ash themes. */
.marketplace-page {
  --market-accent: var(--garam-theme-ui-accent, var(--garam-theme-accent, #087cce));
  --market-ink: #142438;
  --market-muted: #617489;
  --market-surface: #fff;
  --market-panel: #fff;
  --market-border: #d9e6f0;
  --market-raised: #f3f7fa;
  min-height: 76vh; width:100%; box-sizing:border-box;
  max-width: 1600px; padding: clamp(16px, 3vw, 46px) clamp(12px, 3.4vw, 52px) 100px;
  margin:0 auto; color:var(--market-ink); font-family:inherit;
}
.marketplace-page *, .marketplace-cart-drawer *, .marketplace-cart-fab * { box-sizing:border-box; }
.marketplace-hero { padding: 42px 6px 37px; }
.marketplace-hero h1 { font-family:inherit; font-size:clamp(43px,6.4vw,94px); line-height:1.08; letter-spacing:-.07em; margin:14px 0; font-weight:850; color:var(--market-ink); }
.marketplace-hero p {font-size:clamp(13px,1.2vw,17px);line-height:1.65;margin:0;max-width:680px;color:var(--market-muted);}
.marketplace-filter-panel {background:var(--market-panel);padding:clamp(14px,2.2vw,27px);border:1px solid var(--market-border);box-shadow:0 10px 36px rgba(26,57,83,.07);border-radius:22px;}
.marketplace-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;}
.marketplace-filters label {display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:750;color:var(--market-ink);}
.marketplace-filters input,.marketplace-filters select {display:block;width:100%;min-height:42px;padding:10px 12px;border-radius:10px;border:1px solid var(--market-border);background:var(--market-raised);color:var(--market-ink);font:inherit;font-size:13px;outline:none;appearance:auto;}
.marketplace-filters input:focus-visible,.marketplace-filters select:focus-visible {outline:2px solid var(--market-accent);outline-offset:1px;}
.marketplace-filters input::placeholder {color:var(--market-muted);opacity:.8;}
.marketplace-filter-bottom {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap;}
.marketplace-clear-filters {border:1px solid var(--market-border);border-radius:999px;background:var(--market-panel);padding:9px 15px;color:var(--market-ink);font-size:12px;font-weight:750;cursor:pointer;}
.marketplace-clear-filters:hover {background:var(--market-raised);}
.marketplace-balance {display:flex;align-items:center;gap:6px;color:var(--market-muted);font-size:13px;font-weight:750;}
.marketplace-coin {width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:-.22em;flex-shrink:0;}
.marketplace-price {display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:850;}
.marketplace-listing-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:43px 0 16px;}
.marketplace-listing-heading h2 {font-size:clamp(20px,2.3vw,28px);font-weight:850;letter-spacing:-.04em;margin:0;color:var(--market-ink);}
#marketCount {color:var(--market-muted);font-size:13px;}
.marketplace-error {color:#e0475b;background:var(--market-panel);padding:14px;border:1px solid #e0475b;border-radius:12px;}
.marketplace-card-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.65vw,22px);align-items:start;}
.marketplace-card {background:var(--market-panel);border:1px solid var(--market-border);border-radius:17px;padding:9px;box-shadow:0 7px 24px rgba(30,62,83,.06);min-width:0;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;position:relative;}
.marketplace-card:hover {transform:translateY(-3px);box-shadow:0 15px 34px rgba(25,57,86,.14);}
.marketplace-card-photo {position:relative;display:block;width:100%;padding:0;border:0;background:var(--market-raised);border-radius:12px;overflow:hidden;cursor:zoom-in;}
.marketplace-card-photo img {display:block;width:100%;aspect-ratio:2/3;object-fit:contain;}
.marketplace-card-photo .marketplace-no-image {display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;color:var(--market-muted);font-size:12px;}
.marketplace-card-copy {position:absolute;right:8px;top:8px;border-radius:7px;padding:4px 7px;background:rgba(8,20,31,.82);color:#fff;font-size:11px;font-weight:800;}
.marketplace-card-info {padding:11px 4px 1px;}
.marketplace-card-name {font-weight:850;font-size:clamp(12px,1.08vw,15px);color:var(--market-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.marketplace-card-sub {font-size:11px;color:var(--market-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;}
.marketplace-card-price-row {display:flex;align-items:center;justify-content:space-between;gap:3px;margin-top:10px;}
.marketplace-card-price-row .marketplace-price {font-size:clamp(12px,1.13vw,16px);color:var(--market-ink);}
.marketplace-card-price-row .marketplace-coin {width:18px;height:18px;}
.marketplace-card-owner {font-size:10px;color:var(--market-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48%;text-align:right;}
.marketplace-add-button {width:100%;padding:10px 8px;margin-top:10px;border-radius:10px;background:var(--market-accent);color:#fff;font-size:12px;font-weight:850;border:0;cursor:pointer;transition:transform .18s,opacity .18s;}
.marketplace-add-button:hover:not(:disabled) {filter:brightness(.94);transform:translateY(-1px);}
.marketplace-add-button:disabled {cursor:not-allowed;background:var(--market-raised);color:var(--market-muted);border:1px solid var(--market-border);}
.marketplace-card .marketplace-add-button {opacity:0;visibility:hidden;transform:translateY(9px);pointer-events:none;margin-bottom:0;}
.marketplace-card:hover .marketplace-add-button,.marketplace-card:focus-within .marketplace-add-button {opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;margin-bottom:0;}
.marketplace-card:has(.marketplace-add-button:disabled) .marketplace-add-button {opacity:1;visibility:visible;transform:none;pointer-events:none;margin-bottom:0;}
.marketplace-empty {grid-column:1/-1;text-align:center;border:1px dashed var(--market-border);border-radius:20px;padding:60px 15px;color:var(--market-muted);}
.marketplace-empty strong {display:block;color:var(--market-ink);font-size:21px;margin-bottom:7px;}
.marketplace-pagination {display:flex;align-items:center;justify-content:center;gap:18px;margin:35px 0 0;}
.marketplace-pagination button {border:1px solid var(--market-border);color:var(--market-ink);background:var(--market-panel);border-radius:999px;padding:10px 16px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.marketplace-pagination button:disabled {opacity:.4;cursor:default;}
#marketPageInfo {color:var(--market-muted);font-size:12px;}

/* Dialog/drawer live outside the page container, so declare their light tokens locally. */
.marketplace-cart-drawer, .marketplace-cart-fab, .marketplace-notice, .marketplace-card-dialog {
  --market-ink:#142438; --market-muted:#617489; --market-panel:#fff;
  --market-border:#d9e6f0; --market-raised:#f3f7fa;
}
/* Right-side FAB that slides left while the drawer opens. */
.marketplace-cart-fab {--market-drawer-width:min(440px,calc(100vw - 80px));--market-cart-inset:0px;position:fixed;right:calc(24px + var(--market-cart-inset));bottom:max(24px,env(safe-area-inset-bottom));width:67px;height:67px;display:flex;align-items:center;justify-content:center;border:1px solid var(--market-border);border-radius:17px;box-shadow:0 12px 32px rgba(8,33,48,.19);background:var(--market-panel);color:var(--garam-theme-ui-accent,var(--garam-theme-accent,#087cce));z-index:180050;cursor:pointer;transition:right .36s cubic-bezier(.2,.8,.2,1),background .2s,transform .2s;}
.marketplace-cart-fab:hover {transform:translateY(-3px);}
.marketplace-cart-fab .marketplace-cart-x {font-size:40px;font-weight:300;line-height:1;display:none;}
.marketplace-cart-fab.is-open {right:calc(var(--market-drawer-width) + 10px + var(--market-cart-inset));}
.marketplace-cart-fab.is-open .marketplace-cart-icon {display:none;}
.marketplace-cart-fab.is-open .marketplace-cart-x {display:block;}
.marketplace-cart-count {position:absolute;right:-5px;top:-7px;min-width:22px;height:22px;padding:2px 5px;border-radius:999px;background:#fa586c;color:#fff;font-size:11px;font-weight:850;line-height:18px;box-shadow:0 0 0 2px var(--market-panel);}
.marketplace-cart-count[hidden] {display:none!important;}
.marketplace-cart-backdrop {position:fixed;inset:0;background:rgb(10 10 10 / 40%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s;z-index:180010;}
.marketplace-cart-backdrop.is-open {opacity:1;visibility:visible;pointer-events:auto;}
.marketplace-cart-drawer {--market-drawer-width:min(440px,calc(100vw - 80px));--market-cart-inset:0px;position:fixed;top:0;right:var(--market-cart-inset);bottom:0;width:var(--market-drawer-width);z-index:180040;background:var(--market-panel,#fff);color:var(--market-ink,#142438);border-left:1px solid var(--market-border,#d9e6f0);box-shadow:-25px 0 65px rgba(12,27,43,.17);display:flex;flex-direction:column;transform:translateX(calc(103% + var(--market-cart-inset)));visibility:hidden;transition:transform .36s cubic-bezier(.2,.8,.2,1),visibility .36s;padding-top:env(safe-area-inset-top);}
.marketplace-cart-drawer.is-open {transform:translateX(0);visibility:visible;}
.marketplace-drawer-header {padding:clamp(18px,3vw,27px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--market-border);}
.marketplace-cart-section-heading {padding:18px 19px 0;font-size:11px;font-weight:900;letter-spacing:.17em;color:var(--garam-theme-ui-accent,var(--garam-theme-accent,#087cce));}
.marketplace-drawer-header h2 {font-size:clamp(19px,2vw,27px);font-weight:850;margin:0;color:var(--market-ink);letter-spacing:-.04em;}
.marketplace-drawer-header button {width:35px;height:35px;border:0;border-radius:10px;background:var(--market-raised);color:var(--market-ink);font-size:23px;cursor:pointer;}
.marketplace-cart-items {overflow-y:auto;min-height:0;flex:1;padding:15px 18px;overscroll-behavior:contain;}
.marketplace-cart-row {display:grid;grid-template-columns:66px minmax(0,1fr) 28px;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--market-border);}
.marketplace-cart-thumb {width:66px;height:92px;object-fit:contain;background:var(--market-raised);border-radius:12px;}
.marketplace-cart-row strong {display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--market-ink);}
.marketplace-cart-row small {display:block;color:var(--market-muted);font-size:10px;margin:5px 0 8px;overflow:hidden;text-overflow:ellipsis;}
.marketplace-cart-row .marketplace-price {font-size:13px;}
.marketplace-cart-row .marketplace-coin {width:17px;height:17px;}
.marketplace-cart-remove {font-size:23px;align-self:start;border:0;background:transparent;color:var(--market-muted);cursor:pointer;}
.marketplace-cart-empty {text-align:center;color:var(--market-muted);margin:70px 10px;font-size:14px;line-height:1.6;}
.marketplace-cart-footer {padding:19px 24px max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--market-border);background:var(--market-panel);}
.marketplace-cart-total {display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:15px;color:var(--market-ink);}
.marketplace-cart-total strong {font-size:22px;}
.marketplace-buy-button {display:block;width:100%;min-height:52px;background:var(--garam-theme-ui-accent,var(--garam-theme-accent,#087cce));border:0;border-radius:12px;color:white;font:inherit;font-weight:850;font-size:15px;cursor:pointer;}
.marketplace-buy-button:disabled {opacity:.5;cursor:default;}
.marketplace-cart-note {display:block;text-align:center;font-size:10px;color:var(--market-muted);line-height:1.5;margin-top:10px;}
.marketplace-cart-status {padding:12px;background:var(--market-raised);border-radius:10px;color:var(--market-ink);font-size:12px;margin:0 0 12px;}
.marketplace-cart-status[hidden] {display:none;}
.marketplace-notice {position:fixed;z-index:180100;right:24px;bottom:107px;max-width:min(350px,calc(100vw - 48px));padding:12px 18px;border:1px solid var(--market-border);border-radius:12px;background:var(--market-panel);color:var(--market-ink);box-shadow:0 10px 32px rgba(0,0,0,.16);font-size:13px;}
.marketplace-notice[hidden] {display:none;}
.marketplace-flying-card {position:fixed!important;z-index:180090!important;pointer-events:none!important;object-fit:contain;box-shadow:0 12px 32px rgba(10,25,40,.28);border-radius:8px;transition:top .65s cubic-bezier(.3,.8,.2,1),left .65s cubic-bezier(.3,.8,.2,1),width .65s,height .65s,opacity .65s,transform .65s;}
.marketplace-cart-fab.is-bump {animation:market-cart-bump .46s ease;}
@keyframes market-cart-bump {0%,100%{scale:1}45%{scale:1.16}75%{scale:.95}}
.marketplace-card-dialog {border:1px solid var(--market-border);border-radius:20px;background:var(--market-panel);color:var(--market-ink);max-width:min(860px,94vw);max-height:90vh;box-shadow:0 25px 90px rgba(0,0,0,.35);padding:26px;}
.marketplace-card-dialog::backdrop {background:rgba(5,15,27,.7);}
.marketplace-card-dialog[open] {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:24px;align-items:center;}
.marketplace-card-dialog img {max-width:100%;max-height:70vh;object-fit:contain;border-radius:12px;}
.marketplace-dialog-details h2 {font-size:26px;margin:0 0 15px;color:var(--market-ink);}
.marketplace-dialog-details p {font-size:13px;line-height:1.9;color:var(--market-muted);margin:3px 0;overflow-wrap:anywhere;}
.marketplace-dialog-close {position:absolute;top:10px;right:10px;border:0;border-radius:9px;color:var(--market-ink);background:var(--market-raised);font-size:23px;width:36px;height:36px;cursor:pointer;}

/* All content in Onix/Ash follows the shared dark-mode tokens. */
html[data-garam-mode="dark"] .marketplace-page,
html[data-garam-mode="dark"] body .marketplace-cart-drawer,
html[data-garam-mode="dark"] body .marketplace-card-dialog {
  --market-accent:var(--garam-theme-ui-accent,#b4b6c0);
  --market-ink:var(--garam-dark-text,#f3f4f7);
  --market-muted:var(--garam-dark-muted,#a5a8b2);
  --market-panel:var(--garam-dark-panel,#23242a);
  --market-border:var(--garam-dark-border,#45464d);
  --market-raised:var(--garam-dark-raised,#34353c);
}
html[data-garam-mode="dark"] body .marketplace-cart-fab,
html[data-garam-mode="dark"] body .marketplace-notice {
  background:var(--garam-dark-panel,#25262b)!important;color:var(--garam-dark-text,#eee);
  border-color:var(--garam-dark-border,#45464d);
}
html[data-garam-mode="dark"] body .marketplace-cart-fab .marketplace-cart-icon {color:var(--garam-theme-ui-accent,#b4b6c0);}
html[data-garam-mode="dark"] body .marketplace-card-dialog {background:var(--garam-dark-panel,#25262b)!important;}
@media(max-width:1100px) {.marketplace-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.marketplace-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px) {.marketplace-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.marketplace-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.marketplace-hero{padding:20px 0 28px}}
@media(hover:none), (pointer:coarse), (max-width:700px) {
  .marketplace-card .marketplace-add-button {opacity:1;visibility:visible;transform:none;pointer-events:auto;margin-bottom:0;}
  .marketplace-cart-fab {right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:59px;height:59px;border-radius:15px;}
  .marketplace-cart-fab.is-open {right:calc(var(--market-drawer-width) + 7px);}
  .marketplace-notice {right:14px;bottom:87px;}
}
@media(max-width:510px) {.marketplace-page{padding:18px 12px 80px}.marketplace-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.marketplace-filters{gap:10px}.marketplace-filter-panel{padding:14px}.marketplace-filters label{font-size:11px}.marketplace-filters input,.marketplace-filters select{font-size:12px;padding:8px}.marketplace-card-dialog[open]{grid-template-columns:1fr;gap:9px}.marketplace-card-dialog img{max-height:44vh}.marketplace-card-dialog{padding:19px}.marketplace-listing-heading{margin-top:26px}}
/* Ultrawide: only the CLOSED cart button remains aligned with the central page.
   The drawer itself opens flush against the right edge of the viewport.
   Once opened, the X sits immediately to the left of that drawer. */
@media(min-width:1900px) {
  .marketplace-cart-fab:not(.is-open) {
    --market-cart-inset:calc((100vw - 1600px) / 2);
  }
}
@media(prefers-reduced-motion:reduce) {.marketplace-card,.marketplace-cart-fab,.marketplace-cart-drawer,.marketplace-cart-backdrop,.marketplace-flying-card{transition:none!important;animation:none!important}}
html[data-garam-mode="dark"] .marketplace-add-button:not(:disabled),
html[data-garam-mode="dark"] .marketplace-buy-button:not(:disabled) { color:#111317; }

/* ================================================
   Inventory-aligned Marketplace presentation
   Mirrors the owner's current webpages/inventory.js
   ================================================ */
.marketplace-page {
    --market-ink:var(--garam-c-123c5c,#123c5c);
    --market-muted:var(--garam-c-527f99,#527f99);
    --market-panel:#fff;
    --market-border:var(--garam-c-bbdef5,#bbdef5);
    --market-raised:var(--garam-c-f0f9ff,#f0f9ff);
    --market-accent:var(--garam-theme-ui-accent,var(--garam-theme-accent,#087cce));
    max-width:1240px;
    padding:24px 16px 52px;
    color:var(--market-ink);
}
.marketplace-hero {
    position:relative; isolation:isolate; z-index:1;
    padding:44px 12px 48px;
    text-align:center;
}
.marketplace-hero::before {
    content:''; position:absolute; inset:0; z-index:-1;
    background-image:radial-gradient(var(--garam-c-86c7ed,#86c7ed) 1px,transparent 1px);
    background-size:22px 22px;
    opacity:.28; pointer-events:none;
    mask-image:linear-gradient(to bottom,black 20%,transparent 95%);
}
.marketplace-hero h1 {
    margin:10px 0 0;
    color:#fff;
    font-size:clamp(36px,6vw,76px);
    font-weight:850;
    letter-spacing:-.045em;
    line-height:1.1;
}
.marketplace-hero p {
    margin:17px auto 0; max-width:660px;
    color:#fff; font-size:16px; line-height:1.5;
}
.marketplace-filter-panel {
    padding:24px;
    background:#fff;
    border:1px solid var(--garam-c-bbdef5,#bbdef5);
    border-radius:24px;
    box-shadow:0 14px 30px rgba(var(--garam-rgb-156399,21,99,153),.12);
}
.marketplace-filters { grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.marketplace-filters label { gap:7px; color:var(--garam-c-44718d,#44718d); font-size:13px; font-weight:700; }
.marketplace-filters input,.marketplace-filters select {
    width:100%; height:45px; min-height:45px;
    padding:10px 12px;
    border:1px solid var(--garam-c-b7d8ed,#b7d8ed);
    border-radius:13px;
    background:var(--garam-c-f0f9ff,#f0f9ff);
    color:var(--market-ink);
    font-size:14px;
}
.marketplace-filters input::placeholder {color:var(--garam-c-84a9be,#84a9be);}
.marketplace-filter-bottom { margin-top:16px; }
.marketplace-clear-filters {
    min-height:42px; border-radius:13px;
    padding:9px 15px;
    border-color:var(--garam-c-a9cfea,#a9cfea);
    color:var(--garam-c-155a8d,#155a8d);
    background:#fff;
    font-size:13px; font-weight:700;
}
.marketplace-clear-filters:hover {background:var(--garam-c-e5f5ff,#e5f5ff);}
.marketplace-listing-heading { margin:17px 0 14px; min-height:44px; justify-content:flex-start; }
.marketplace-listing-heading #marketCount {margin:0;}
.marketplace-listing-heading h2 {font-size:clamp(18px,2vw,23px); color:var(--market-ink);}
#marketCount {font-size:14px; color:var(--garam-c-096dae,#096dae);font-weight:650;}
.marketplace-card-grid {grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.marketplace-card {
    padding:6px; border-radius:17px;
    background:var(--garam-c-e9f7ff,#e9f7ff);
    border:1px solid var(--garam-c-b9def3,#b9def3);
    box-shadow:none;
    transition:transform .18s ease,box-shadow .18s ease;
}
.marketplace-card:hover {box-shadow:0 10px 30px rgba(var(--garam-rgb-044b7a,4,75,122),.14);}
.marketplace-card-photo {position:relative;aspect-ratio:188/279;border-radius:25px;background:transparent;}
.marketplace-card-photo img {position:absolute;inset:0;width:100%;height:100%;aspect-ratio:188/279;object-fit:cover;border-radius:25px;}
.marketplace-card-copy {
    left:3px;right:auto;top:3px;min-height:24px;
    border-radius:9px;padding:5px 9px;
    background:var(--garam-c-16577f,#16577f);
    font-size:12px;
}
.marketplace-card-info {padding:10px 5px 3px;}
.marketplace-card-name {color:var(--market-ink);}
.marketplace-card-sub,.marketplace-card-owner {color:var(--market-muted);}
.marketplace-add-button {border-radius:13px;min-height:42px;font-size:13px;}
.marketplace-pagination {margin:24px 0 0;gap:10px;}
.marketplace-pagination button {
    border-radius:13px; padding:9px 15px;
    border:1px solid var(--garam-c-a9cfea,#a9cfea);
    color:var(--garam-c-155a8d,#155a8d);background:#fff;
    font-size:13px; font-weight:700;
}
.marketplace-pagination button:not(:disabled):hover {background:var(--garam-c-e5f5ff,#e5f5ff);}
#pageDisplay {min-width:110px;text-align:center;font-size:14px;color:var(--garam-c-155a8d,#155a8d);font-weight:700;}
/* Cart nodes are mounted on document.body. Shade the entire viewport,
   including the header and drop FAB, while keeping the cart on top. */
body.marketplace-cart-open {overflow:hidden!important;}
body .marketplace-cart-backdrop {z-index:1000000; background:rgb(10 10 10 / 40%)!important;}
body .marketplace-cart-backdrop.is-open {opacity:1;visibility:visible;pointer-events:auto;}
body .marketplace-cart-drawer {z-index:1000002;}
body .marketplace-cart-fab {z-index:1000003;}
body .marketplace-notice {z-index:1000004;}
body .marketplace-flying-card {z-index:1000004!important;}
html[data-garam-mode="dark"] body .marketplace-page {
    --market-ink:var(--garam-dark-text,#f3f4f7);
    --market-muted:var(--garam-dark-muted,#a5a8b2);
    --market-panel:var(--garam-dark-panel,#23242a);
    --market-border:var(--garam-dark-border,#45464d);
    --market-raised:var(--garam-dark-raised,#34353c);
}
html[data-garam-mode="dark"] body .marketplace-hero h1,
html[data-garam-mode="dark"] body .marketplace-hero p {color:var(--garam-dark-text,#f3f4f7);}
html[data-garam-mode="dark"] body .marketplace-filter-panel {
    background:var(--garam-dark-panel,#23242a);
    border-color:var(--garam-dark-border,#45464d);
}
html[data-garam-mode="dark"] body .marketplace-card {
    background:var(--garam-dark-raised,#34353c);
    border-color:var(--garam-dark-border,#45464d);
}
html[data-garam-mode="dark"] body .marketplace-filters input,
html[data-garam-mode="dark"] body .marketplace-filters select,
html[data-garam-mode="dark"] body .marketplace-clear-filters,
html[data-garam-mode="dark"] body .marketplace-pagination button {
    background:var(--garam-dark-raised,#34353c);
    color:var(--garam-dark-text,#f3f4f7);
    border-color:var(--garam-dark-border,#45464d);
}
html[data-garam-mode="dark"] body .marketplace-filters label,
html[data-garam-mode="dark"] body #marketCount,
html[data-garam-mode="dark"] body #pageDisplay {color:var(--garam-dark-muted,#a5a8b2);}
@media(max-width:1050px) {
    .marketplace-filters {grid-template-columns:repeat(3,minmax(0,1fr));}
    .marketplace-card-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:740px) {
    .marketplace-page {padding:12px 9px 32px;}
    .marketplace-hero {padding:28px 9px 34px;}
    .marketplace-hero h1 {font-size:clamp(32px,7vw,50px);}
    .marketplace-hero p {font-size:14px;}
    .marketplace-filter-panel {padding:16px;border-radius:18px;}
    .marketplace-filters {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
    .marketplace-card-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
    .marketplace-card-copy {padding:4px 6px;font-size:11px;min-height:21px;}
}
@media(max-width:460px) {
    .marketplace-card-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
    .marketplace-filters {grid-template-columns:repeat(2,minmax(0,1fr));}
    .marketplace-filters label {font-size:12px;}
    .marketplace-filters input,.marketplace-filters select {font-size:12px;}
    .marketplace-card-info {padding:8px 2px 3px;}
}

/* ==============================================
   Inventory parity refinements (November 2026)
   ============================================== */
.marketplace-hero {
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    column-gap:clamp(22px,3vw,48px);
    row-gap:14px;
    text-align:left;
}
.marketplace-hero h1.marketplace-hero-title {
    display:block;
    flex:0 0 auto;
    width:auto;
    white-space:nowrap;
    margin:0;
    color:#fff;
    font-size:clamp(36px,6vw,76px);
    font-weight:850;
    letter-spacing:-.045em;
    line-height:1.1;
}
.marketplace-hero p.marketplace-hero-description {
    display:block;
    flex:0 1 560px;
    min-width:0;
    width:auto;
    margin:0;
    text-align:left;
    max-width:560px;
    color:#fff;
    font-size:16px;
    line-height:1.5;
}
.marketplace-filter-bottom {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
}
.marketplace-filter-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    margin-left:auto;
}
/* Identical height/shape/type to Inventory's .garam-button-outline and icon button. */
.marketplace-page .marketplace-clear-filters,
.marketplace-page .marketplace-fastmode {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:42px;
    border-radius:13px;
    border:1px solid var(--garam-c-a9cfea,#a9cfea);
    background:#fff;
    color:var(--garam-c-155a8d,#155a8d);
    padding:9px 15px;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:background .15s,transform .15s;
}
.marketplace-page .marketplace-fastmode {
    min-width:42px;
    padding:8px;
}
.marketplace-page .marketplace-clear-filters:hover,
.marketplace-page .marketplace-fastmode:hover {background:var(--garam-c-e5f5ff,#e5f5ff);}
.marketplace-page .marketplace-clear-filters:active,
.marketplace-page .marketplace-fastmode:active {transform:translateY(1px);}
.marketplace-page .marketplace-clear-filters:focus-visible,
.marketplace-page .marketplace-fastmode:focus-visible {outline:3px solid var(--garam-c-178fda,#178fda);outline-offset:2px;}
/* The Add button always reserves its vertical space, including before hover.
   It can fade in without resizing a card or shifting the surrounding grid. */
.marketplace-card .marketplace-add-button {
    margin-top:10px;
    margin-bottom:0;
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    pointer-events:none;
}
.marketplace-card:hover .marketplace-add-button,
.marketplace-card:focus-within .marketplace-add-button {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}
.marketplace-card:has(.marketplace-add-button:disabled) .marketplace-add-button {
    margin-bottom:0;
    /* Disabled cards remain the same height as other cards. */
}
/* Outside clicks still close the cart; the translucent backdrop stays below
   the drawer and its close/cart button. */
html[data-garam-mode="dark"] body .marketplace-page .marketplace-clear-filters,
html[data-garam-mode="dark"] body .marketplace-page .marketplace-fastmode {
    background:var(--garam-dark-raised,#34353c);
    border-color:var(--garam-dark-border,#45464d);
    color:var(--garam-dark-text,#f3f4f7);
}
html[data-garam-mode="dark"] body .marketplace-page .marketplace-clear-filters:hover,
html[data-garam-mode="dark"] body .marketplace-page .marketplace-fastmode:hover {filter:brightness(1.12);}
@media(hover:none), (pointer:coarse), (max-width:700px) {
    .marketplace-card .marketplace-add-button {
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
    }
}
@media(max-width:740px) {
    .marketplace-hero {
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
        padding:28px 9px 34px;
    }
    .marketplace-hero h1.marketplace-hero-title {
        width:100%;
        font-size:clamp(32px,7vw,50px);
    }
    .marketplace-hero p.marketplace-hero-description {
        flex:auto;
        width:100%;
        max-width:660px;
        margin:16px auto 0;
        text-align:center;
        font-size:14px;
    }
}
@media(max-width:460px) {
    .marketplace-filter-actions {margin-left:auto;}
    .marketplace-page .marketplace-clear-filters {padding:9px 11px;}
}

/* Marketplace pagination: same controls, spacing and sizing as Inventory. */
.marketplace-pagination {gap:10px;flex-wrap:wrap;}
.marketplace-pagination button {min-height:42px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;}
.marketplace-pagination #pageDisplay {min-width:110px;flex-shrink:0;}
@media(max-width:460px) {
    .marketplace-pagination {gap:8px;}
    .marketplace-pagination button {min-width:40px;padding:9px 11px;}
    .marketplace-pagination #pageDisplay {min-width:86px;}
}
