/* Market 3: scoped home shelves and factual card status presentation. */
.page-home .home-product-shelf, .page-home #week .home-product-shelf {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 60px) / 6);
    align-items: stretch;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #A9B8AE #EDF1EE;
    padding: 2px 2px 12px;
}
.home-product-shelf:focus-visible { outline: 2px solid var(--green-hover); outline-offset: 4px; }
.home-product-shelf .market-card { scroll-snap-align: start; }
.page-home .home-product-shelf .market-card .product-info, .page-home #week .home-product-shelf .market-card .product-info { padding: 12px; gap: 6px; }
.page-home .home-product-shelf .market-card .product-price, .page-home #week .home-product-shelf .market-card .product-price { font-size: 20px; line-height: 26px; letter-spacing: -.4px; }
.page-home .home-product-shelf .market-card .product-name, .page-home #week .home-product-shelf .market-card .product-name { font-size: 14px; line-height: 20px; height: 40px; min-height: 40px; }
.page-home .home-product-shelf .market-card .card-action, .page-home #week .home-product-shelf .market-card .card-action { height: 44px; min-height: 44px; }
.home-main .shelf-scroll-controls { display: flex; gap: 6px; }
.home-main .shelf-scroll-controls[hidden] { display: none; }
.home-main .shelf-arrow { display: grid; width: 44px; height: 44px; flex: 0 0 44px; }
.home-main .shelf-arrow:after { display: none; }
.home-main .shelf-arrow:disabled { opacity: .35; cursor: default; }
.home-main .shelf-arrow:not(:disabled):hover { border-color: var(--green-hover); background: #F3FCF6; }
.home-main .shelf-tools { flex-wrap: wrap; justify-content: flex-end; }
.home-main .empty { position: relative; }
.home-main .empty .button { position: relative; min-height: 44px; }
.market-card .card-new-badge { background: var(--orange); color: #fff; }
.market-card .card-condition--good { color: #BDF5CF; }
.market-card .card-condition--neutral, .market-card .card-condition--mixed { color: #fff; }
.market-card .card-condition--warning { color: #FFD1B7; }
.home-main .pickup-branch { display: block; transition: border-color 150ms, background-color 150ms; }
.home-main .pickup-branch:hover { border-color: var(--green-hover); background: #F3FCF6; }
.pickup-branch-link { display: flex; align-items: center; gap: 8px; margin-top: 14px; color: #087B37; font-size: 13px; font-weight: 600; }
.pickup-branch-link .icon { width: 16px; height: 16px; }
@media (max-width: 1199px) and (min-width: 900px) {
    .page-home .home-product-shelf, .page-home #week .home-product-shelf { grid-auto-columns: calc((100% - 36px) / 4); }
}
@media (max-width: 899px) and (min-width: 681px) {
    .page-home .home-product-shelf, .page-home #week .home-product-shelf { grid-auto-columns: calc((100% - 24px) / 3); }
}
@media (max-width: 680px) {
    .page-home .home-product-shelf, .page-home #week .home-product-shelf { grid-auto-columns: min(280px, calc(100% - 44px)); gap: 12px; }
    .home-main .section-head { align-items: flex-start; gap: 12px; }
    .home-main .shelf-tools { gap: 6px; max-width: 110px; }
    .home-main .shelf-tools > .text-link { margin: 0; }
    .page-home .home-product-shelf .market-card .product-image, .page-home #week .home-product-shelf .market-card .product-image { aspect-ratio: 1.25; }
    .page-home .home-product-shelf .market-card .product-name, .page-home #week .home-product-shelf .market-card .product-name { font-size: 15px; line-height: 21px; height: 42px; min-height: 42px; }
    .page-home .home-product-shelf .market-card .product-price, .page-home #week .home-product-shelf .market-card .product-price { font-size: 22px; line-height: 28px; }
    .page-home .home-product-shelf .market-card .card-action, .page-home #week .home-product-shelf .market-card .card-action { font-size: 13px; }
}

/* Decorative status/location cues retain the shared card's text and geometry. */
.market-card .card-condition { display: inline-flex; align-items: center; gap: 5px; }
.market-card .card-condition .card-condition-dot { display: block; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: currentColor; }
.market-card .card-condition--good .card-condition-dot { background: var(--green); }
.market-card .card-condition--warning .card-condition-dot { background: var(--orange); }
.market-card .card-location, #week .market-card .card-location { display: flex; align-items: flex-start; gap: 4px; line-height: 18px; }
.market-card .card-location > .icon { width: 14px; height: 18px; flex: 0 0 14px; }
