/* BidHarbor Market storefront: homepage doors, Market header and states.
   Theme tokens only (light/dark from bidder-theme). State is always carried by
   words and icons, never by hue alone (operator is colour blind). */


/* Market page header */
.market-intro { margin:.65rem 0; }
.market-intro .market-heading { min-width:0; flex-wrap:wrap; }
/* Enlarged text takes a full line before the theme control wraps below it. */
.market-intro .market-heading h1 { flex:1 1 14rem; min-width:0; overflow-wrap:anywhere; -webkit-hyphens:auto; hyphens:auto; }
.market-shopping-details { margin:.65rem 0 0; color:var(--ink); }
.market-shopping-details summary { min-height:44px; box-sizing:border-box; padding:.55rem .65rem; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--card); font-weight:650; cursor:pointer; overflow-wrap:anywhere; }
.market-shopping-details summary:focus { outline:3px solid var(--ink); outline-offset:3px; }
.market-shopping-details summary:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.market-shopping-details a,.market-shopping-details a:visited { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-decoration:underline; }
.market-shopping-details a:focus { outline:3px solid var(--ink); outline-offset:3px; }
.market-shopping-details a:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.market-shell .toolbar { margin-top:.75rem; }
.market-brand { margin:0; color:var(--muted); font-size:.76rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.market-facts { display:flex; flex-wrap:wrap; margin:.7rem -.4rem -.4rem 0; padding:0; list-style:none; }
.market-facts li { margin:0 .4rem .4rem 0; padding:.25rem .6rem; border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:.8rem; font-weight:650; }
.market-state { padding:2rem 1.25rem; border:1px dashed var(--line); border-radius:16px; color:var(--ink); text-align:center; line-height:1.55; }
.market-state h2 { margin:0 0 .35rem; font-size:1.2rem; }
.market-state p { max-width:40rem; margin:.35rem auto; color:var(--ink); }
.market-state a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-weight:750; text-decoration:underline; }
.market-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; margin:1rem -.5rem; }
.market-pagination > * { margin:.5rem; }
.market-pagination a { display:inline-flex; align-items:center; min-height:44px; padding:.5rem .9rem; border:1px solid var(--line); border-radius:8px; color:var(--ink); text-decoration:underline; }
.market-pagination a:visited,.market-pagination a:hover { color:var(--ink); }
.market-pagination a:focus { outline:3px solid var(--ink); outline-offset:3px; }
.market-pagination a:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.offer-note { margin:0 0 .6rem; color:var(--ink); font-size:.76rem; line-height:1.4; }
.offer-note::before { content:"ⓘ "; }
.price-kind { display:block; color:var(--muted); font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }

@media (max-width:520px) {
  /* Text enlargement must not also consume the narrow screen with larger gutters. */
  .market-shell { padding-left:10px; padding-right:10px; }
  .market-facts { margin-right:0; }
  .market-pagination { margin-left:0; margin-right:0; }
  .market-heading { flex-wrap:nowrap; }
  .market-heading .theme-toggle { flex:none; width:44px; min-width:44px; height:44px; padding:0; justify-content:center; }
  .market-heading .theme-toggle [data-theme-label] { display:none; }
}

/* BidHarbor Market entry tile: an auction-grid card shown only with genuine purchasable stock (PWC-001442). */
.home-market-card { border:2px solid var(--gold); }
.home-market-card .home-market-state { color:var(--ink); font-weight:750; }
.home-market-enter { margin-top:auto; display:flex; justify-content:center; align-items:center; min-height:44px; padding:.6rem .9rem; border-radius:7px; background:var(--gold); color:var(--on-gold); font-weight:750; text-decoration:none; }
.home-market-enter:visited,.home-market-enter:hover { color:var(--on-gold); }
.home-market-enter:hover { text-decoration:underline; }
.home-market-enter:focus { outline:3px solid var(--ink); outline-offset:3px; }
.home-market-enter:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }

/* Native search inputs must shrink below their intrinsic width at 200% text. */
.search-row .suggest-wrap { min-width:0; max-width:100%; }
.search-row .suggest-wrap input { min-width:0; max-width:100%; box-sizing:border-box; }

/* Shared quantity controls must reflow inside a narrow Market product card,
   including its expanded 10+ input. Keep the native select at a touch size in WebKit. */
.product-card .cart-purchase { min-width:0; max-width:100%; box-sizing:border-box; }
.product-card .cart-purchase-actions { min-width:0; }
.product-card .cart-purchase-actions > * { min-width:0; max-width:100%; box-sizing:border-box; }
.product-card .cart-purchase button { white-space:normal; overflow-wrap:anywhere; }
.product-card .cart-purchase select { height:44px; height:max(44px,2.75rem); }
.product-card .cart-purchase a { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-decoration:underline; }

/* A real title link covers the card; secondary actions remain independent.
   :focus is intentional: Safari 13.1.2 does not implement :focus-visible. */
.product-card { position:relative; }
.product-card .product-body h3 a,
.product-card .product-body h3 a:visited { color:var(--ink); text-decoration:underline; text-underline-offset:.18em; }
.product-card .product-body h3 a::after { content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:1; }
.product-card:hover .product-body h3 a { text-decoration-thickness:2px; }
.product-card:focus-within { outline:3px solid var(--ink); outline-offset:3px; }
.product-card .cart-purchase, .product-card .share-row,
.product-card .market-personal-reason form, .product-card .market-delivery-link,
.product-card .market-msrp a { position:relative; z-index:2; }
.product-card button:focus, .product-card select:focus, .product-card input:focus,
.product-card a:focus { outline:3px solid var(--ink); outline-offset:2px; }
.product-card .price { color:var(--ink); }
.product-card .maker, .product-card .facts, .product-card .fulfillment,
.product-card .only, .product-card .badge, .product-card .price-kind,
.product-card .offer-note { font-size:.75rem; }
.product-card .market-premium { margin:.15rem 0 .5rem; color:var(--ink); font-size:.75rem; font-weight:650; }
.product-card .market-delivery-link, .product-card .market-delivery-link:visited { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-decoration:underline; }
/* Explicit fallbacks for the bidder browser floor (no aspect-ratio or inset). */
.product-card .product-media { height:0; padding-top:100%; aspect-ratio:auto; }
.product-card .product-media > img, .product-card .product-media > .no-image { position:absolute; top:0; left:0; width:100%; height:100%; }
.product-card .media-badges { top:.55rem; right:.55rem; left:.55rem; }
/* The storefront entry has the same full-card link without an onclick shim. */
.home-market-card { position:relative; }
.home-market-enter::after { content:""; position:absolute; top:0; right:0; bottom:0; left:0; }
.home-market-card:focus-within { outline:3px solid var(--ink); outline-offset:3px; }

/* Keep browsing compact while all retail evidence remains available. */
.product-card .product-body h3 { display:block; min-height:0; overflow:visible; -webkit-line-clamp:unset; overflow-wrap:anywhere; }
.product-card .maker { letter-spacing:.025em; text-transform:none; }
.product-card .price-line { margin:.45rem 0 .15rem; }
.product-card .market-price-reference { position:relative; z-index:2; margin:.35rem 0; color:var(--ink); }
.product-card .market-price-reference > summary { box-sizing:border-box; min-height:44px; padding:.5rem .6rem; border:1px solid var(--line); border-radius:7px; color:var(--ink); background:var(--card); font-size:.8125rem; line-height:1.4; font-weight:650; cursor:pointer; overflow-wrap:anywhere; }
.product-card .market-price-reference > summary:focus { outline:3px solid var(--ink); outline-offset:2px; }
.product-card .market-premium { margin:.25rem 0; }
.product-card .fulfillment { margin:0 0 .35rem; }
.product-card .share-row--market { margin:0 0 .35rem; }
.product-card .cart-purchase { margin:.45rem 0 0; padding:.55rem; font-size:.875rem; }
.product-card .cart-purchase-help { font-size:.8125rem; line-height:1.4; }
/* Font-relative column widths preserve readable cards at enlarged text sizes. */
.product-grid { grid-template-columns:repeat(auto-fill,minmax(15rem,1fr)); }
@media (max-width:620px) { .product-grid { grid-template-columns:repeat(auto-fill,minmax(10rem,1fr)); } }
@media (max-width:360px) { .product-grid { grid-template-columns:1fr; } }
