/* Pages beyond the home page: shop, departments, product pages, search, contact and not found.
   Built on baker-feed.css. The same design as the reviewed pages in the project's baker-feed/design.
   Capitals start (lh - 1.24)/2 + .2 em below a Libre Baskerville line box: .13em at 1.1, .17em at 1.18. */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Header search */
.header-search{display:flex;align-items:center;gap:8px;padding:10px 13px;font-size:13px;font-weight:700;background:none;border-radius:5px;transition:background .2s,color .2s}
.header-search svg{width:18px;height:18px}
.header-search:hover,.header-search[aria-expanded=true]{background:#efe3cf;color:var(--red)}
.search-panel{position:absolute;left:0;right:0;top:100%;z-index:5;padding-block:28px 34px;background:var(--paper);border-bottom:1px solid #ded4bf;box-shadow:0 26px 50px #152c2326}
.search-form{display:flex;gap:12px}
.search-field{position:relative;flex:1;min-width:0}
.search-field>svg{position:absolute;left:19px;top:50%;width:22px;height:22px;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search-field input{width:100%;height:60px;padding:0 20px 0 54px;font:19px var(--serif);color:var(--green);background:#fff;border:1px solid #cfc4a8;border-radius:9px 3px 9px 3px;box-shadow:inset 0 2px 0 #f1e9d6;-webkit-appearance:none;appearance:none}
.search-field input::placeholder{color:#8a917f}
.search-field input:focus{outline:3px solid #bc621b;outline-offset:2px}
.search-form .button{min-height:60px;font-size:13px}
.suggestions{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin-top:26px}
.suggest-group h2{font:700 12px/1.4 var(--sans);letter-spacing:0;color:var(--muted);margin-bottom:8px}
.suggest-list{list-style:none;margin:0;padding:0}
.suggest-list a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 10px 8px 8px;border-radius:8px 2px 8px 2px}
.suggest-list a:hover,.suggest-list a:focus-visible{background:#f3ecdc}
.suggest-list img{width:52px;height:52px;object-fit:cover;border-radius:4px 10px 4px 10px;background:#efe6d2}
.suggest-brand{display:block;font-size:11px;font-weight:700;color:var(--muted)}
.suggest-name{display:block;font:16px/1.3 var(--serif)}
.suggest-price{font-size:14px;font-weight:700}
.suggest-departments a{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;font:16px/1.3 var(--serif);border-bottom:1px solid #ebe2cd;border-radius:0}
.suggest-departments a span{font:12px/1.6 var(--sans);color:var(--muted)}
.suggest-all{display:inline-flex;align-items:center;gap:10px;margin-top:16px;font-size:13px;font-weight:700;border-bottom:1px solid #839181;padding-bottom:5px}
.suggest-all:hover{color:var(--red)}
.suggest-all svg{width:16px;height:16px}
.suggest-empty{font-size:15px;color:#55634f}
.suggest-empty a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
mark{color:inherit;background:linear-gradient(transparent 58%,#efbd5899 58%);padding:0 1px}

/* Breadcrumbs */
/* The trail back through the store: a green band along the bottom of the (sticky) header, on the pages
   that have a trail, linked by the gold diamonds the product lists use and ending on this page.
   --header-h is the header's height, kept by roadside.js; anchors and sticky columns clear it. */
.header:has(.breadcrumbs){border-bottom:0}
html:has(.header .breadcrumbs){scroll-padding-top:calc(var(--header-h,150px) + 16px)}
.breadcrumbs{background:var(--green);color:#e9e4d3;border-top:1px solid var(--deep)}
.breadcrumbs ol{list-style:none;display:flex;align-items:center;min-height:44px;margin:0 -9px;padding:0;overflow-x:auto;scrollbar-width:none;
  font-size:12.5px;line-height:1.3;white-space:nowrap}
.breadcrumbs ol::-webkit-scrollbar{display:none}
.breadcrumbs ol.more-before{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
.breadcrumbs ol.more-after{-webkit-mask-image:linear-gradient(270deg,transparent,#000 36px);mask-image:linear-gradient(270deg,transparent,#000 36px)}
.breadcrumbs ol.more-before.more-after{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px calc(100% - 36px),transparent)}
.breadcrumbs li{display:flex;align-items:center;flex-shrink:0}
.breadcrumbs li+li:before{content:"";flex-shrink:0;width:5px;height:5px;margin:0 7px 0 3px;background:var(--gold);border-radius:1px;transform:rotate(45deg)}
.breadcrumbs a{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;font-weight:700;color:#d3dacb;border-radius:4px;transition:background .2s,color .2s}
.breadcrumbs a svg{width:15px;height:15px;color:var(--gold)}
.breadcrumbs a:hover{background:#ffffff14;color:var(--gold)}
.breadcrumbs a:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.breadcrumbs [aria-current]{padding:6px 9px 6px 6px;font:14px/1.3 var(--serif);letter-spacing:-.2px;color:#fffaf0;overflow:hidden;text-overflow:ellipsis}

/* Product cards: listings, search and related products */
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(36px,3.4vw,52px) clamp(16px,2vw,28px)}
.product-card{position:relative;min-width:0;display:flex;flex-direction:column}
.product-card-photo{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#efe6d2;border:1px solid #e0d6c0;border-radius:4px 20px 4px 20px}
.product-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.product-card:hover .product-card-photo img{transform:scale(1.04)}
.product-card-placeholder{display:grid;place-items:center;height:100%;color:#b9a77f}
.product-card-placeholder svg{width:44px;height:44px;stroke-width:1.2}
.product-card-body{padding-top:18px}
.product-card .product-brand{font-size:11.5px;font-weight:700;color:var(--muted)}
.product-card h3{font-size:clamp(17px,1.35vw,19px);line-height:1.3;letter-spacing:-.3px;margin-top:4px}
.product-card h3 a:after{content:"";position:absolute;inset:0}
.product-card h3 a:hover{color:var(--red)}
.product-card h3 a:focus-visible{outline:none}
.product-card:has(h3 a:focus-visible) .product-card-photo{outline:3px solid #bc621b;outline-offset:4px}
.product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:8px;font-size:15px;font-weight:700}
.product-price span{font-size:12.5px;font-weight:400;color:var(--muted)}
/* The bag size reads like the paper tag sewn into the top of a feed sack. */
.size-tag{display:inline-block;position:relative;padding:10px 11px 6px;font-size:11px;font-weight:700;line-height:1.2;color:var(--green);background:#fffaf0;border-radius:2px;box-shadow:0 2px 0 #3b2d1424;transform:rotate(-2deg)}
.size-tag:before{content:"";position:absolute;left:5px;right:5px;top:4px;border-top:1px dashed #b5965f}
.product-card-photo .size-tag{position:absolute;left:12px;bottom:14px}
.product-badge{position:absolute;right:12px;top:14px;padding:6px 10px 5px;font:italic 13px/1.2 var(--serif);color:var(--red);background:#fffaf0e6;border:1.5px solid var(--red);border-radius:3px;transform:rotate(4deg);box-shadow:0 0 0 3px #fffaf0b0}
.is-sold-out .product-card-photo img{filter:saturate(.45) opacity(.8)}

/* Department hero */
.dept-hero{padding-block:clamp(40px,4.4vw,64px) clamp(52px,6vw,88px);background:#e9ecd9;border-bottom:1px solid #d6dcc4}
.dept-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,88px);align-items:stretch}
.dept-hero-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.dept-hero h1{font-size:clamp(50px,5.4vw,84px);line-height:1.1;letter-spacing:-3px;margin-top:-.13em}
.dept-hero-copy>p{font-size:17px;line-height:1.8;color:#4f614a;margin-top:22px;max-width:30em}
.subcategories{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:34px}
.subcategories a{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;font-size:13px;font-weight:700;background:#fffaf0;border:1px solid #d5dcc6;border-radius:7px 2px 7px 2px;transition:background .2s,color .2s,border-color .2s}
.subcategories a span{font-weight:400;color:var(--muted)}
.subcategories a:hover{border-color:var(--green)}
.subcategories a[aria-current]{background:var(--green);border-color:var(--green);color:#fff8e6}
.subcategories a[aria-current] span{color:#c9d4c2}
.dept-hero-photo{margin:0;min-height:360px;overflow:hidden;background:#cdd5bb;border-radius:4px 28px 4px 28px;box-shadow:10px 10px 0 #d3dac0}
.dept-hero-photo img{width:100%;height:100%;object-fit:cover}

/* Listing */
.listing{padding-block:clamp(40px,4.5vw,64px) clamp(64px,7vw,104px)}
.listing-title{font-size:clamp(30px,2.8vw,40px);line-height:1.2;letter-spacing:-1.2px;margin-bottom:24px}
.listing-title span{font:400 15px var(--sans);letter-spacing:0;color:var(--muted);margin-left:6px}
.listing-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-bottom:clamp(30px,3vw,44px);padding:12px 14px 12px 22px;background:var(--paper);border:1px solid #e0d6c0;border-radius:4px 16px 4px 16px}
.listing-count{margin-right:auto;font:20px/1.3 var(--serif);letter-spacing:-.4px}
.check{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;cursor:pointer}
.check input{appearance:none;-webkit-appearance:none;position:relative;width:40px;height:24px;margin:0;background:#ddd3bd;border-radius:999px;cursor:pointer;transition:background .2s}
.check input:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #3b2d1440;transition:transform .2s}
.check input:checked{background:var(--green)}
.check input:checked:after{transform:translateX(16px)}
.check input:focus-visible{outline:3px solid #bc621b;outline-offset:3px}
.select{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700}
.select select{height:42px;padding:0 38px 0 14px;font:inherit;font-weight:400;color:var(--green);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23213e32' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid #cfc4a8;border-radius:7px 2px 7px 2px;-webkit-appearance:none;appearance:none;cursor:pointer}
.select select:focus-visible{outline:3px solid #bc621b;outline-offset:2px}
.pagination{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.6vw,18px);margin-top:clamp(44px,4.5vw,64px)}
.pagination-pages{list-style:none;display:flex;align-items:center;gap:6px;margin:0;padding:0}
.pagination-pages a,.pagination-step{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;font-size:13px;font-weight:700;color:var(--green);background:#fffaf0;border:1px solid #d5dcc6;border-radius:7px 2px 7px 2px;transition:background .2s,color .2s,border-color .2s}
.pagination-pages a{font:15px/1 var(--serif)}
.pagination-pages a:hover,a.pagination-step:hover{border-color:var(--green)}
.pagination-pages a[aria-current]{background:var(--green);border-color:var(--green);color:#fff8e6}
.pagination-step{padding:0 16px}
.pagination-step svg{width:16px;height:16px}
span.pagination-step{opacity:.4}
.pagination-gap{padding:0 4px;color:var(--muted)}
@media(max-width:600px){.pagination-step span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.pagination-step{padding:0 12px}.pagination-pages a{min-width:40px}}
.empty-shelf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,64px);padding:clamp(26px,3vw,40px);background:var(--paper);border:1px solid #e0d6c0;border-radius:4px 24px 4px 24px;box-shadow:0 7px 0 #e6dcc4}
.empty-shelf-photo{margin:0;aspect-ratio:3/2;overflow:hidden;border-radius:4px 18px 4px 18px}
.empty-shelf-photo img{width:100%;height:100%;object-fit:cover}
.empty-shelf h2{font-size:clamp(28px,2.6vw,38px);line-height:1.2;letter-spacing:-1px}
.empty-shelf p{font-size:15.5px;line-height:1.8;color:#55634f;margin-top:14px}
.empty-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.empty-actions .button{font-size:12px}

/* Search page */
.search-hero{padding-block:clamp(40px,4.4vw,64px) clamp(44px,5vw,72px);border-bottom:1px solid #e3d8bf}
.search-hero h1{font-size:clamp(42px,4.6vw,70px);line-height:1.12;letter-spacing:-2.4px;margin-top:-.13em}
.search-page-form{display:flex;gap:12px;max-width:820px;margin-top:28px}
.search-summary{font-size:14px;color:var(--muted);margin-top:16px}
.search-results{padding-block:clamp(40px,4.5vw,64px) clamp(64px,7vw,104px)}
.search-other{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-bottom:clamp(44px,4.5vw,64px)}
.search-other h2{font-size:24px;line-height:1.3;letter-spacing:-.6px;margin-bottom:10px}
.search-links{list-style:none;margin:0;padding:0;border-top:1px solid #e3d8bf}
.search-links a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 2px;font:17px/1.35 var(--serif);border-bottom:1px solid #e3d8bf}
.search-links .link-note{flex:0 1 auto;max-width:62%;text-align:right;font:13px/1.5 var(--sans);color:var(--muted)}
.search-links a:hover{color:var(--red)}

/* Product detail */
.product-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,5vw,88px);align-items:stretch;padding-block:clamp(36px,4vw,56px) clamp(56px,6vw,88px)}
.product-gallery{position:sticky;top:calc(var(--header-h,102px) + 28px);align-self:start;min-width:0}
.product-photo{margin:0;aspect-ratio:1;overflow:hidden;background:#efe6d2;border:1px solid #e0d6c0;border-radius:4px 30px 4px 30px;box-shadow:10px 10px 0 #e9e0cb}
.product-photo img{width:100%;height:100%;object-fit:contain}
.product-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}
.product-thumb{aspect-ratio:1;padding:0;overflow:hidden;background:#efe6d2;border:1px solid #e0d6c0;border-radius:4px 12px 4px 12px;opacity:.72;transition:opacity .2s,box-shadow .2s}
.product-thumb img{width:100%;height:100%;object-fit:cover}
.product-thumb:hover{opacity:1}
.product-thumb[aria-current=true]{opacity:1;border-color:var(--red);box-shadow:0 0 0 2px var(--red)}
.product-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.product-info>.product-brand{font-size:13px;font-weight:700;color:var(--red);margin-top:-2px}
.product-info h1{font-size:clamp(40px,4vw,62px);line-height:1.1;letter-spacing:-2px;margin-top:8px}
.product-summary{font-size:17px;line-height:1.75;color:#4f614a;margin-top:16px;max-width:32em}
.product-buy{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;width:100%;margin-top:24px;padding-top:22px;border-top:1px solid #e3d8bf}
.product-page-price{font:clamp(32px,2.8vw,40px)/1 var(--serif);letter-spacing:-1px}
.product-buy .size-tag{font-size:12px}
.stock-line{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;margin-top:18px}
/* In stock: a small light that breathes, like the lamp in the counter window. Out of stock: steady. */
.stock-line:before{content:"";flex-shrink:0;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#7fd18f,#2f8a45 70%);box-shadow:0 0 0 4px #3d8a4e24}
.stock-line.is-out:before{background:#b2552f;box-shadow:0 0 0 4px #b2552f24;animation:none}
@media(prefers-reduced-motion:no-preference){
  .stock-line:not(.is-out):before{animation:stock-breathe 2.8s ease-in-out infinite}
  @keyframes stock-breathe{0%,100%{box-shadow:0 0 0 3px #3d8a4e2e,0 0 0 0 #3d8a4e00;filter:brightness(.92)}50%{box-shadow:0 0 0 6px #3d8a4e14,0 0 12px 3px #4fb36466;filter:brightness(1.12)}}
}
.product-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.product-actions .button{font-size:13px}
/* Help and facts sit at the bottom, level with the last row of thumbnails when the gallery is taller. */
.product-foot{width:100%;margin-top:auto;padding-top:24px}
.product-help{display:flex;gap:12px;padding:18px 20px;font-size:14px;line-height:1.7;color:#40543e;background:#f5e6bd;border:1px solid #d9c696;border-radius:4px 16px 4px 16px;width:100%}
.product-help svg{width:20px;height:20px;margin-top:2px;color:var(--red)}
.product-help a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.product-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;margin:24px 0 0;font-size:13px}
.product-facts>div{display:contents}
.product-facts dt{color:var(--muted)}
.product-facts dd{margin:0;font-weight:700}
.product-facts a{text-decoration:underline;text-underline-offset:3px}

/* The feed tag: the three numbers people compare on every bag, read from the guaranteed analysis. */
.feed-tag{position:relative;width:100%;margin-top:24px;padding:34px 24px 20px;background:#fffdf6;border:1px solid #e0d3b4;border-radius:3px;box-shadow:6px 6px 0 #e9e0cb}
.feed-tag:before{content:"";position:absolute;left:14px;right:14px;top:13px;border-top:2px dashed #c3a874}
.feed-tag h2{font-size:17px;line-height:1.3;letter-spacing:-.3px}
.feed-tag-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0}
.feed-tag-numbers>div{display:flex;flex-direction:column;padding:4px 0 4px 18px;border-left:1px solid #e6dcc4}
.feed-tag-numbers>div:first-child{padding-left:0;border-left:0}
.feed-tag-numbers dt{order:2;font-size:12.5px;color:var(--muted);margin-top:6px}
.feed-tag-numbers dd{order:1;margin:0;font:clamp(32px,2.8vw,42px)/1 var(--serif);letter-spacing:-1px;color:var(--green)}
.feed-tag-numbers dd small{font:700 11px var(--sans);letter-spacing:0;color:var(--muted);margin-left:4px}
.feed-tag a{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding-top:14px;width:100%;font-size:13px;font-weight:700;border-top:1px solid #efe6d2}
.feed-tag a:hover{color:var(--red)}
.feed-tag a svg{width:16px;height:16px}

/* Option pickers */
.product-options{width:100%;margin-top:26px}
.option-group{margin:0;padding:0;border:0}
.option-group+.option-group{margin-top:20px}
.option-group legend{padding:0;font-size:13px;font-weight:700;margin-bottom:10px}
.option-group legend span{font-weight:400;color:var(--muted);margin-left:6px}
.option-choices{display:flex;flex-wrap:wrap;gap:8px}
.option-choice{position:relative}
.option-choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.option-choice span{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 16px;font-size:14px;font-weight:700;background:#fffaf0;border:1px solid #d5ccb4;border-radius:8px 2px 8px 2px;transition:border-color .2s,background .2s,box-shadow .2s}
.option-choice:hover span{border-color:var(--green)}
.option-choice input:checked+span{background:var(--green);border-color:var(--green);color:#fff8e6;box-shadow:0 3px 0 #112b20}
.option-choice input:focus-visible+span{outline:3px solid #bc621b;outline-offset:3px}
.option-choice.is-unavailable span{color:#8d8a7c;background:repeating-linear-gradient(135deg,#fffaf0 0 6px,#f3ecdc 6px 12px);text-decoration:line-through;text-decoration-color:#b2552f}
.swatch{width:16px;height:16px;border-radius:50%;border:1px solid #0003;box-shadow:inset 0 0 0 2px #fff6}
.option-sku{font-size:12.5px;color:var(--muted);margin-top:14px}

/* Product details: the description, split at its headings with a list of sections beside it */
.product-details{padding-block:clamp(56px,6vw,96px);background:var(--paper);border-block:1px solid #e3d8bf}
.details-grid{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(32px,6vw,110px)}
.details-nav{position:sticky;top:calc(var(--header-h,102px) + 28px);align-self:start}
.details-nav h2{font-size:26px;line-height:1.25;letter-spacing:-.7px;margin:-.17em 0 18px}
.details-nav ol{list-style:none;margin:0;padding:0;border-left:2px solid #e6dcc4}
.details-nav a{display:block;margin-left:-2px;padding:9px 0 9px 18px;font-size:14px;font-weight:700;color:var(--muted);border-left:2px solid transparent;transition:color .2s,border-color .2s}
.details-nav a:hover{color:var(--green)}
.details-nav a[aria-current=true]{color:var(--green);border-color:var(--red)}
.prose{max-width:46em;font-size:16.5px;line-height:1.85;color:#455646}
.prose>section+section{margin-top:clamp(48px,5vw,72px);padding-top:clamp(40px,4vw,56px);border-top:1px solid #ebe2cd}
.prose h2,.prose h3{font-size:clamp(26px,2.3vw,34px);line-height:1.2;letter-spacing:-1px;color:var(--green);margin-bottom:18px}
.prose>section:first-child>h3:first-child,.prose>section:first-child>h2:first-child{margin-top:-.17em}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:18px}
.prose ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.prose li{position:relative;padding-left:28px}
.prose li:before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;background:var(--gold);border-radius:2px 0;transform:rotate(45deg)}
.prose strong{color:var(--green)}
.prose table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.prose th{padding:0 12px 10px 0;text-align:left;font-size:12px;font-weight:700;color:var(--muted);border-bottom:2px solid #e3d8bf}
.prose th:last-child,.prose td:last-child{text-align:right;padding-right:0}
.prose td{padding:10px 12px 10px 0;border-bottom:1px solid #ebe2cd;color:var(--green)}
.prose td:last-child{font-weight:700;white-space:nowrap}
.prose tr:nth-child(even) td{background:#fbf6ea}
.prose th:has(+td){padding:10px 12px 10px 0;font-size:14px;color:var(--muted);border-bottom:1px solid #ebe2cd}
.prose th:has(+td)+td{text-align:left;font-weight:700}
.analysis-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}
.prose .ingredients p{font-size:14.5px;line-height:1.95}

/* Related products and the pickup band */
.related{padding-block:clamp(56px,6vw,96px)}
.related h2{font-size:clamp(32px,3.2vw,48px);line-height:1.15;letter-spacing:-1.5px;margin-bottom:clamp(28px,3vw,44px)}
.pickup-band{color:var(--cream);background:#203e31}
.pickup-band-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) auto;align-items:center;gap:clamp(28px,4vw,64px);padding-block:clamp(44px,5vw,68px)}
.pickup-band h2{font-size:clamp(32px,3.2vw,48px);line-height:1.15;letter-spacing:-1.5px;color:#fff3d6}
.pickup-band p{font-size:15.5px;line-height:1.8;color:#d9e0d3;margin-top:12px;max-width:30em}
.pickup-band .hours{margin:0;padding-block:6px;border-block:1px solid #d5dfc640}
.pickup-band .hours>div{font-size:14px}
.pickup-band .hours-note{font-size:11px;color:#d0d9c5;margin-top:10px}
.pickup-actions{display:flex;flex-direction:column;gap:12px}
.pickup-actions .button{font-size:12px}
.pickup-band .button-outline{color:var(--cream);border-color:#aebda2;box-shadow:0 3px 0 #0d211833}
.pickup-band .button-outline:hover{background:#355442}

@media(max-width:1250px){
  .header-search span{display:none}
  .header-search{padding:9px}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pickup-band-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pickup-actions{grid-column:1/-1;flex-direction:row}
}
@media(max-width:1000px){
  .product-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}
  .details-grid{grid-template-columns:1fr;gap:28px}
  .details-nav{position:static}
  .details-nav ol{display:flex;flex-wrap:wrap;gap:8px;border:0}
  .details-nav a{margin:0;padding:8px 13px;background:#fffaf0;border:1px solid #e0d6c0;border-radius:7px 2px 7px 2px}
  .details-nav a[aria-current=true]{background:var(--green);border-color:var(--green);color:#fff8e6}
  .analysis-split{grid-template-columns:1fr}
  .search-other{grid-template-columns:1fr}
}
@media(max-width:900px){
  .header-inner{gap:12px}
  .header-search{margin-left:auto}
  .header-search+.header-phone{margin-left:0}
  .dept-hero-grid{grid-template-columns:1fr;gap:0}
  .dept-hero-copy{display:contents}
  .dept-hero h1{order:1}
  .dept-hero-copy>p{order:2}
  .dept-hero-photo{order:3;min-height:0;aspect-ratio:16/9;margin-top:28px;box-shadow:7px 7px 0 #d3dac0}
  .subcategories{order:4;margin-top:0;padding-top:26px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-page{grid-template-columns:1fr}
  .product-gallery{position:static}
  .empty-shelf{grid-template-columns:1fr}
}
@media(max-width:600px){
  .breadcrumbs ol{min-height:38px}
  .breadcrumbs a{padding-block:4px}
  .header-inner{grid-template-columns:1fr auto auto auto;column-gap:4px}
  .header-search{grid-column:2;grid-row:1;margin:0;padding:10px}
  .header-phone{grid-column:3}
  .menu-toggle{grid-column:4}
  .search-panel{padding-block:18px 24px}
  .search-form{flex-direction:column}
  .search-field input{height:54px;font-size:17px}
  .search-form .button{min-height:50px}
  .suggestions{grid-template-columns:1fr;gap:20px}
  .dept-hero h1{font-size:clamp(42px,12vw,54px);letter-spacing:-2px}
  .dept-hero-copy>p{font-size:15px}
  .listing-bar{padding:14px 16px;gap:12px 20px}
  .listing-count{width:100%;font-size:18px}
  .product-grid{gap:30px 14px}
  .product-card h3{font-size:16px}
  .product-card-photo .size-tag{left:8px;bottom:10px;font-size:10px;padding:9px 8px 5px}
  .product-badge{right:8px;top:10px;font-size:11.5px}
  .product-thumbs{gap:8px;margin-top:16px}
  .product-info h1{font-size:clamp(34px,9.6vw,42px);letter-spacing:-1.3px}
  .product-summary{font-size:15.5px}
  .feed-tag{padding:30px 18px 18px}
  .feed-tag-numbers>div{padding-left:12px}
  .feed-tag-numbers dd{font-size:30px}
  .feed-tag-numbers dd small{display:block;margin:4px 0 0}
  .prose{font-size:15.5px}
  .prose table{font-size:13px}
  .search-hero h1{font-size:clamp(34px,9.6vw,44px);letter-spacing:-1.4px}
  .search-page-form{flex-direction:column}
  .pickup-band-inner{grid-template-columns:1fr}
  .pickup-actions{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .product-card-photo img,.check input,.check input:after{transition:none}
}


/* Hours pieces (partials/hours) */
.open-now{display:inline-block;font-weight:700;padding:2px 8px;border-radius:20px;font-size:10px;margin-right:6px}
.open-now.is-open{background:#dcebd9;color:#24502f}
.open-now.is-closed{background:#f1e2d6;color:#7b3b1d}
.hours-closure{margin-top:8px;font-size:13px;line-height:1.5;color:#7b3b1d}
.hours-closure strong{color:inherit}
.hours-text{margin:20px 0;font-size:14px}
.pickup-band .hours-closure,.visit-ticket .hours-closure{color:#f1d7af}

/* Every choice of a product, in a table under the description */
.variant-table{grid-column:1/-1;margin-top:10px;border:1px solid var(--line);border-radius:4px;background:#fff}
.variant-table summary{padding:16px 20px;font-weight:700;cursor:pointer}
.variant-table table{width:100%;border-collapse:collapse;font-size:14px}
.variant-table th,.variant-table td{text-align:left;padding:10px 20px;border-top:1px solid #ece9de}
.variant-table{margin-top:clamp(28px,3vw,40px);border-color:#e0d6c0;border-radius:4px 16px 4px 16px;background:var(--paper);overflow:hidden}
.variant-table summary{font-size:14px}
.variant-table td:last-child,.variant-table th:last-child{text-align:right}

/* Contact */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;padding-block:46px 90px;align-items:start}
.contact-form-card{background:#fff;border:1px solid #e7e5d8;border-radius:4px;padding:clamp(24px,3vw,42px)}
.contact-form-card h2{font-size:30px;letter-spacing:-1px;margin-bottom:22px}
.contact-form{display:grid;gap:18px}
.field{display:grid;gap:7px}
.field label{font-weight:700;font-size:13px}
.field input,.field textarea{border:1px solid var(--line);border-radius:3px;background:var(--paper);padding:12px 14px;font:16px var(--sans);color:var(--green);width:100%}
.field select{width:100%;height:48px}
.field textarea{resize:vertical;min-height:140px}
.field [aria-invalid=true]{border-color:#b4472a;background:#fff7f3}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field-error,.form-error{color:#9a3d22;font-size:13px;font-weight:700}
.form-error{margin-bottom:18px;padding:12px 14px;background:#fbede6;border-radius:3px}
.field-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form .button{justify-self:start;margin-top:6px}
.form-sent{display:grid;gap:14px;justify-items:start}
.form-sent>svg{width:40px;height:40px;color:#2f6a3d}
.contact-store{display:grid;gap:16px;justify-items:start}
.contact-store h2{font-size:30px;letter-spacing:-1px}
.contact-big{display:inline-flex;align-items:center;gap:12px;font:26px var(--serif)}
.contact-email{display:inline-flex;align-items:center;gap:10px;font-size:14px;word-break:break-all}
.contact-store address{font-style:normal;line-height:1.7}
.contact-store .hours{margin:0;width:100%}
.contact-store .hours div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid var(--line)}
.contact-store .hours dd{margin:0}

/* Not found, footer links, articles */
.not-found{padding-block:90px 110px;max-width:760px}
.not-found h1{font-size:clamp(38px,4.6vw,62px);line-height:1.1;letter-spacing:-2px}
.not-found>p{margin-top:16px;color:#415346}
.footer-links{display:flex;flex-wrap:wrap;gap:10px 26px;padding-bottom:22px;font-size:13px;font-weight:700}
.footer-links a:hover{color:var(--rust)}
.article-sidebar .button{display:inline-flex}
.page-article .article-hero .eyebrow{color:var(--rust)}

.not-found .search-page-form{margin-top:28px}
@media(max-width:1000px){.contact-layout{grid-template-columns:1fr}}
@media(max-width:600px){.field-row{grid-template-columns:1fr}}

/* Counter hours beside "Call to order": open (the breathing light) or closed, worked out in the browser. */
.counter-hours{display:flex;align-items:center;gap:10px;width:100%;margin-top:14px;font-size:13.5px;line-height:1.5;color:#4f614a}
.counter-hours:before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#b2552f;box-shadow:0 0 0 3px #b2552f22}
.counter-hours.is-open{color:var(--green);font-weight:700}
.counter-hours.is-open:before{background:radial-gradient(circle at 35% 35%,#7fd18f,#2f8a45 70%);box-shadow:0 0 0 3px #3d8a4e2e}
@media(prefers-reduced-motion:no-preference){.counter-hours.is-open:before{animation:stock-breathe 2.8s ease-in-out infinite}}

/* How long will a bag last? A card on the order ticket's paper, the answer in the serif. */
.bag-math{position:relative;width:100%;margin-top:24px;padding:22px 24px 20px;background:var(--paper);border:1px solid #e0d3b4;border-radius:4px 18px 4px 18px;box-shadow:0 5px 0 #ece3cf}
.bag-math h2{font-size:clamp(20px,1.7vw,24px);line-height:1.25;letter-spacing:-.5px}
.bag-math-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:12px;margin-top:16px}
.bag-math-fields label{display:grid;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted)}
.bag-math-fields input{width:100%;height:48px;padding:0 14px;font:20px var(--serif);color:var(--green);background:#fff;border:1px solid #cfc4a8;border-radius:8px 2px 8px 2px;box-shadow:inset 0 2px 0 #f1e9d6}
.bag-math-fields input:focus{outline:3px solid #bc621b;outline-offset:2px}
.bag-math-result{margin-top:16px;padding-top:14px;border-top:1px dashed #d8c69c;font-size:14.5px;line-height:1.7;color:#4f614a}
.bag-math-result strong{display:block;font:clamp(22px,2vw,28px)/1.25 var(--serif);font-weight:400;letter-spacing:-.6px;color:var(--green);margin-bottom:4px}
.bag-math-help{margin-top:10px;font-size:12.5px;color:var(--muted)}
.bag-math-help a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.bag-math{padding:20px 18px 18px}.bag-math-fields{grid-template-columns:1fr 1fr}}
