.public-store { --accent:#d8ba24; background:#f2ebdd; }
.public-store > header { background:transparent; border:none; }
.public-store main, .public-store footer { padding:0; }
.public-store main > section { margin:0 auto; }
.public-store .store-shell { box-sizing:border-box; width:100%; max-width:1280px; margin-inline:auto; padding-inline:var(--tv-gutter,32px); }
.store-hero { display:flex; align-items:flex-end; min-height:100vh; min-height:100svh; color:#fcf6ec; background:linear-gradient(180deg,#211b1329 25%,#17140fc9 100%),url('/assets/tractor-field.jpg') center/cover; }
.store-hero .store-shell { padding-block:130px 9vh; }
.public-store main small { font-size:13px; color:#806519; letter-spacing:.22em; text-transform:uppercase; }
.public-store .store-hero small { color:#fff5e8; }
.store-hero h1 { font-size:clamp(40px,7.4vw,100px); line-height:1; font-weight:500; margin:.24em 0; }
.store-hero p { font-size:18px; line-height:1.7; max-width:48ch; }
.store-hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:19rem; gap:var(--tv-space-group); margin-top:var(--tv-space-block); }
.store-cta { background:var(--accent); color:#19230f; gap:.6rem; }
.public-store :is(#market, #checkout, #our-story, #pack-story) { scroll-margin-top:8rem; }
.public-store #checkout { padding-bottom:var(--tv-section-space); }
.public-store main h2 { font-size:clamp(34px,4.6vw,58px); font-weight:500; }
.public-store #receipt:empty { display:none; }
.store-enquiries { background:#eae0cc; }
.store-enquiries .store-shell { display:grid; grid-template-columns:1fr 1fr; }
.store-enquiries p { max-width:44ch; }
.public-store .skip:focus { z-index:60; }

/* The section shell supplies band padding; do not add a second outer margin. */
.public-store main > #market, .public-store main > #checkout { margin-block:0; }

.pack-intro { max-width: 66ch; }
.pack-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: var(--tv-grid-gap, 1.5rem);
  margin-block: 2rem;
}
.pack-gallery figure { min-width: 0; margin: 0; }
.pack-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: #f5f0e7; }
.pack-gallery h3 { margin: 1rem 0 .4rem; }
.pack-gallery p { margin: 0; }

.store-story-fleet { margin:var(--tv-space-block) 0 0; }
.store-story-fleet figcaption > :last-child { margin-bottom:0; }

/* Reserve each photo's space before it loads so the story anchor stays put. */
.public-store #catalog .lot-photo { height:clamp(12rem, 60vw, 20rem); }
