/* Product-first Marketplace. Scoped to the Market shell: shared purchase and
   content services remain authoritative. Native disclosures work without JS. */
html body .market-nav { padding:.4rem max(12px,calc((100% - 1360px)/2)); gap:.5rem; background:#10243b; color:#fff; border-bottom:1px solid #52677e; }
html body .market-nav > a, html body .market-nav > a:visited,
html body .market-nav > .market-nav-account > summary { background:#10243b; color:#fff; border-color:transparent; text-decoration:none; gap:.4rem; }
html body .market-nav > a:hover, html body .market-nav > a:focus,
html body .market-nav > .market-nav-account > summary:hover { background:#244666; color:#fff; border-color:#fff; text-decoration:underline; }
html body .market-nav .storefront-navigation { background:transparent; }
html body .market-nav .storefront-home { font-weight:800; letter-spacing:-.02em; }
html body .market-nav .storefront-switcher > summary { border:1px solid #8c9caf; }
html body .market-nav .market-nav-account { margin-left:auto; }
html body .market-nav > .market-nav-account > summary { border:1px solid #8c9caf; }
html body .market-nav > .market-nav-cart { display:flex; min-width:44px; min-height:48px; border:1px solid #8c9caf; }
.market-cart-icon { flex:none; }
html body .market-nav > a:focus, html body .market-nav summary:focus { outline:3px solid #fff; outline-offset:2px; }
html body .market-nav-account > div { z-index:130; }
html body .market-nav-account > div :focus { outline-color:var(--ink); }
/* The full published promise stays available. Important operational notices
   and explicit highlights retain their prominent presentation. */
html body .market-notices { box-sizing:border-box; width:100%; max-width:1360px; margin:0 auto; padding:0 12px; }
html body .market-notices .market-notice-compact { display:block; padding:0; margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; background:var(--card); color:var(--ink); }
html body .market-notices .market-notice-compact[hidden] { display:none; }
.market-notice-details > summary { box-sizing:border-box; min-height:44px; padding:.7rem .4rem; cursor:pointer; font-size:.8125rem; font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.market-notice-details[open] > summary { border-bottom:1px solid var(--line); }
.market-notice-body { padding:.75rem 1rem; }
.market-notice-body h2 { letter-spacing:normal; text-transform:none; }
.market-notice-details > summary:focus { outline:3px solid var(--ink); outline-offset:2px; }
/* Intentional content rhythm, with no duplicated introduction above products. */
html body .market-shell { max-width:1360px; padding:0 12px 3rem; box-sizing:border-box; }
.market-shell .market-intro { margin:.65rem 0 .5rem; padding:0; }
.market-shell .market-heading { gap:.5rem; align-items:center; }
.market-shell .market-heading h1 { font-size:1.65rem; line-height:1.15; letter-spacing:-.035em; }
.market-shell .market-heading .theme-toggle { min-width:44px; min-height:44px; }
.market-shell .market-facts { gap:0; margin:.15rem 0; }
.market-shell .market-facts li { border:0; padding:0; margin:0 .35rem 0 0; border-radius:0; font-size:.75rem; line-height:1.7; font-weight:500; }
.market-shell .market-facts li + li::before { content:'·'; padding-right:.35rem; font-weight:800; }
.market-shell .market-shopping-details { margin:.2rem 0 0; }
.market-shell .market-shopping-details > summary { display:list-item; border:0; border-radius:0; padding:.65rem 0; background:transparent; font-size:.8125rem; line-height:1.3; }
.market-shell .market-shopping-details[open] { padding:0 .75rem .75rem; border:1px solid var(--line); border-radius:10px; background:var(--card); }
.market-shell .market-shopping-details .market-delivery-banner { margin:.75rem 0 0; }
.market-shell .search-deck { margin:.5rem 0; }
.market-shell .search-row { align-items:start; }
.market-shell .search-row input { border-radius:8px; background:var(--card); padding:.75rem; }
.market-shell .search-row button { min-height:48px; border-radius:8px; font-weight:750; padding:.65rem 1rem; }
.market-shell .market-results-heading { margin:.35rem 0; }
.market-shell .market-results-heading h2 { font-size:1rem; letter-spacing:normal; text-transform:none; line-height:1.3; }
.market-shell .market-results-heading p { font-size:.8125rem; line-height:1.4; }
.market-shell .market-results-heading { flex-wrap:wrap; gap:.35rem .6rem; align-items:center; }
.market-view-toggle { display:flex; gap:3px; flex:none; }
.market-view-toggle button { box-sizing:border-box; display:inline-flex; gap:.3rem; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:.45rem .55rem; font:inherit; font-size:.8125rem; font-weight:650; border:1px solid var(--fieldline); border-radius:7px; color:var(--ink); background:var(--card); cursor:pointer; }
.market-view-toggle svg { fill:currentColor; flex:none; }
.market-view-toggle button[aria-pressed='true'] { border:2px solid var(--ink); text-decoration:underline; text-underline-offset:.2em; }
.market-view-toggle button:hover { color:var(--ink); background:var(--bg); text-decoration:underline; }
.market-view-toggle button:focus-visible { outline:3px solid var(--ink); outline-offset:2px; }
.market-browse-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(7.8rem,.45fr); column-gap:.6rem; align-items:start; margin:0 0 .75rem; }
.market-department-chooser { min-width:0; }
.market-department-chooser > label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.market-department-chooser > select { box-sizing:border-box; display:block; width:100%; min-width:0; height:44px; height:max(44px,2.75rem); padding:.55rem .65rem; border:1px solid var(--fieldline); border-radius:8px; font:inherit; font-size:.875rem; background:var(--card); color:var(--ink); }
.market-department-chooser > select:focus { outline:3px solid var(--ink); outline-offset:2px; }
.market-department-chooser nav { display:flex; flex-wrap:wrap; }
.market-department-chooser nav a { display:inline-flex; align-items:center; min-height:44px; padding:.4rem; color:var(--ink); text-decoration:underline; }
.market-shell .market-refine { min-width:0; margin:0; border:1px solid var(--fieldline); border-radius:8px; }
.market-shell .market-refine > summary { box-sizing:border-box; padding:.65rem; font-size:.875rem; line-height:1.4; min-height:44px; }
.market-shell .market-refine[open] { grid-column:1/-1; grid-row:2; margin-top:.5rem; }
.market-shell .market-refine .filters { margin:.25rem 1rem 1rem; width:auto; }
.market-shell .market-refine .filters select { width:100%; background:var(--card); }
.market-shell .market-refine-fields { grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); }
.market-specific-categories { border-top:1px solid var(--line); margin:.5rem 1rem; }
.market-specific-categories nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); }
.market-specific-categories nav a { display:flex; min-height:44px; padding:.5rem; overflow-wrap:anywhere; font-size:.875rem; font-weight:500; }
.market-specific-categories nav a[aria-current] { font-weight:750; border:1px solid currentColor; }
/* Cards make title and price primary. Preserve complete product identity and
   actual availability, and retain an explicit action with a stable touch area. */
html body .market-shell .product-grid { grid-template-columns:repeat(auto-fill,minmax(15rem,1fr)); gap:1rem; }
.market-shell .product-grid > .product-card { border-radius:10px; box-shadow:none; }
.market-shell .product-card .product-body { padding:.75rem; }
.market-shell .product-card .product-body h3 { font-size:1rem; line-height:1.35; font-weight:650; margin:0 0 .5rem; }
.market-shell .product-card .product-body h3 a { text-decoration:none; }
.market-shell .product-card:hover .product-body h3 a, .market-shell .product-card .product-body h3 a:focus { text-decoration:underline; }
.market-shell .product-card .maker { font-size:.75rem; font-weight:400; letter-spacing:normal; margin:.25rem 0; }
.market-shell .product-card .facts { font-size:.8125rem; }
.market-shell .product-card .market-card-bottom { display:flex; flex-direction:column; margin-top:.4rem; padding-top:0; }
.market-shell .product-card .price { font-size:1.4rem; font-weight:800; }
.market-shell .product-card .market-saved-retail { font-size:.75rem; }
.market-shell .product-card .market-view-item { min-height:46px; }
.market-shell .product-card .media-badges { top:.4rem; left:.4rem; right:.4rem; }
.market-shell .product-card .badge { font-size:.625rem; line-height:1.3; padding:.25rem .4rem; }
.market-shell .market-refresh-details { margin:1rem 0; border-top:1px solid var(--line); }
.market-shell .market-refresh-details > summary { box-sizing:border-box; min-height:44px; padding:.7rem 0; cursor:pointer; font-size:.875rem; }
.market-shell .market-refresh { font-size:.875rem; line-height:1.5; }
.market-shell .market-refresh a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-decoration:underline; }
/* A bounded hero keeps item identity and purchasing information close on phones;
   the full photographs remain in the native gallery. */
.market-offer-shell .offer-product { margin-top:1rem; }
.market-offer-shell .offer-hero img { max-height:320px; }
.market-offer-shell .offer-heading .theme-toggle { min-width:44px; min-height:44px; }
.market-offer-shell .offer-links a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:620px) {
  html body .market-nav { padding:.3rem .5rem; gap:.35rem; flex-wrap:nowrap; }
  html body .market-nav > .storefront-navigation { flex:1 1 auto; min-width:0; }
  html body .market-nav .storefront-navigation .storefront-home { min-width:0; max-width:none; font-size:.8125rem; padding:.25rem; }
  html body .market-nav .storefront-navigation summary { font-size:.8125rem; padding:.3rem; }
  html body .market-nav > a[aria-label='Shop the Marketplace'] { display:none; }
  html body .market-nav > .market-nav-cart { padding:.4rem; gap:.2rem; }
  html body .market-nav .market-cart-label { display:none; }
  html body .market-nav > .market-nav-account > summary { padding:.4rem; font-size:.8125rem; }
  html body .market-nav .market-nav-account { margin-left:0; }
  .market-shell .market-heading h1 { font-size:1.5rem; }
  .market-shell .market-heading { flex-wrap:nowrap; }
  .market-shell .market-intro .market-heading h1 { flex:1 1 auto; }
  .market-shell .market-heading .theme-toggle { width:44px; height:44px; padding:0; flex:none; }
  .market-shell .market-heading .theme-toggle [data-theme-label] { display:none; }
  html body .market-shell .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
  .market-shell .product-card .product-body { padding:.6rem; }
  .market-shell .product-card .product-body h3 { font-size:.875rem; line-height:1.35; }
  .market-shell .product-card .maker { font-size:.75rem; }
  .market-offer-shell .offer-hero img { max-height:240px; }
  .market-offer-shell .offer-product { gap:1rem; }
  .market-offer-shell .offer-product h1 { font-size:1.5rem; }
}
@media(max-width:360px) {
  .market-browse-controls { grid-template-columns:minmax(0,1fr); row-gap:.4rem; }
}
@media(min-width:760px) {
  .market-shell .market-intro { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:1rem; }
  .market-shell .market-heading { grid-column:1; }
  .market-shell .market-facts { grid-column:1; }
  .market-shell .market-shopping-details { grid-column:2; grid-row:1/3; align-self:center; max-width:32rem; }
  .market-shell .market-shopping-details[open] { grid-column:1/-1; grid-row:auto; max-width:none; }
  .market-shell .market-intro > p { grid-column:1/-1; }
  .market-browse-controls { grid-template-columns:minmax(16rem,24rem) minmax(9rem,12rem); }
}
/* The same products and native links in either shopper-selected view. */
html body.market-view-rows .market-shell .product-grid { grid-template-columns:1fr; }
.market-view-rows .market-shell .product-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; }
.market-view-rows .market-shell .product-card .product-media { grid-column:1; grid-row:1; width:100%; aspect-ratio:1; border-radius:9px 0 0 9px; }
.market-view-rows .market-shell .product-card .product-body { grid-column:2; grid-row:1; }
.market-view-rows .market-shell .product-card .market-group-anchor { position:absolute; top:0; left:0; }
.market-view-rows .market-shell .product-card .media-badges { justify-content:flex-start; }
.market-view-rows .market-shell .product-card .badge.pickup { margin-left:0; }
@media(min-width:900px) {
  html body.market-view-rows .market-shell .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
