:root { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #20251f; background: #fbfbf8; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding: 1.2rem max(5vw, 1.2rem); border-bottom:1px solid #e5e7df; background:white; }
.brand { font-weight:800; font-size:1.2rem; }
nav { display:flex; gap:1.2rem; }
.seller-nav { align-items:center; gap:.9rem; flex-wrap:wrap; }
.seller-nav .is-active { font-weight:750; text-decoration:underline; text-underline-offset:.25rem; }
.seller-nav form { margin:0; }
.seller-nav button { border:0; padding:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.container { width:min(1120px, 90vw); margin:2rem auto 4rem; min-height:60vh; }
.hero { padding: clamp(2rem, 7vw, 5rem); background:#edf1e7; border-radius:1.25rem; margin-bottom:3rem; }
.hero h1 { max-width: 700px; font-size:clamp(2.2rem, 6vw, 4.4rem); line-height:1.04; margin:.4rem 0 1rem; }
.eyebrow { font-size:.8rem; letter-spacing:.15em; font-weight:700; }
.button { display:inline-block; margin-top:1rem; padding:.85rem 1.2rem; border-radius:.5rem; background:#273d2d; color:white; }
.product-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1.25rem; }
.product-card { background:white; border:1px solid #e7e8e1; border-radius:.8rem; padding:1rem; }
.product-card img { width:100%; height:210px; object-fit:cover; border-radius:.5rem; }
.product-card h3 { margin:.8rem 0 .4rem; }
.price { font-weight:750; }
.order-table-wrap { overflow-x:auto; margin-top:1rem; }
.order-table { width:100%; min-width:560px; border-collapse:collapse; background:white; }
.order-table th, .order-table td { padding:.8rem 1rem; border-bottom:1px solid #e5e7df; text-align:left; }
.order-table thead th { background:#273d2d; color:white; font-weight:700; }
.order-table tbody tr:nth-child(even) { background:#f5f7f2; }
.order-table th:nth-child(n+2), .order-table td:nth-child(n+2) { text-align:right; }
.product-table { min-width:680px; }
.product-table th:first-child, .product-table td:first-child { width:80px; text-align:center; }
.product-table th:nth-child(2), .product-table td:nth-child(2), .product-table th:nth-child(5), .product-table td:nth-child(5), .product-table th:last-child, .product-table td:last-child { text-align:left; }
.product-thumbnail, .product-thumbnail-placeholder { width:56px; height:56px; border-radius:.35rem; }
.product-thumbnail { display:block; object-fit:cover; margin:auto; }
.product-thumbnail-placeholder { display:grid; place-items:center; background:#f0f0e9; color:#62685f; font-size:.7rem; text-align:center; }
.order-table .shop-table-heading th { background:#f3f4f6; color:#20251f; text-align:left; border-bottom:1px solid #d1d5db; }
.order-table .shop-subtotal-row th { text-align:right; }
.order-table tfoot th, .order-table tfoot td { background:#edf1e7; border-top:2px solid #d8dfd2; border-bottom:0; font-weight:750; }
.order-table tfoot th { text-align:right; }
.cart-table { min-width:720px; }
.cart-table th:last-child, .cart-table td:last-child { text-align:left; }
.cart-table td:nth-child(2) form { display:flex; justify-content:flex-end; align-items:center; gap:.4rem; }
.cart-table input[type="number"] { width:5rem; }
.cart-table button { padding:.45rem .65rem; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0; }
.image-placeholder { min-height:210px; display:grid; place-items:center; background:#f0f0e9; border-radius:.5rem; color:#777; }
.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem; }
.detail-image { width:100%; max-height:560px; object-fit:cover; }
.shop-location { margin:1.5rem 0; }
#shop-location-map { width:100%; height:360px; border:1px solid #d8dfd2; border-radius:.6rem; }
#checkout-location-map { width:100%; height:360px; border:1px solid #d8dfd2; border-radius:.6rem; }
.checkout-route-legend { display:flex; flex-wrap:wrap; gap:.5rem 1rem; list-style:none; margin:.75rem 0; padding:0; }
.checkout-route-legend li { display:flex; align-items:center; gap:.4rem; }
.checkout-route-swatch { display:inline-block; width:1rem; height:.25rem; border-radius:.2rem; }
#checkout-route-legend[hidden] { display:none; }
.map-attribution { color:#62685f; font-size:.8rem; }
.footer { border-top:1px solid #e5e7df; padding:1.5rem 5vw; color:#62685f; text-align:center; }
@media(max-width:650px){.site-header{align-items:flex-start;gap:1rem;flex-direction:column}.seller-nav{align-items:flex-start;gap:.75rem}.detail-layout{grid-template-columns:1fr}}
