/* Shared wider canvas; long-form reading columns keep their own limits. */
:root{--site-gutter:clamp(20px,2.2vw,44px);--site-width:1920px}
.header,.hero,.page-intro{max-width:var(--site-width)}
.header,.hero,.section,.page-intro,.breadcrumbs,.destination-bar{padding-inline:var(--site-gutter)}
.section:not(.prose):not(.tasting-budget):not(.tasting-lists):not(.gift-guide-body):not(.promotion-workspace):not(.notice-copy){max-width:var(--site-width)}
.lane-section,.know-section,.taste-line,.closing-note,footer{padding-inline:max(var(--site-gutter),calc((100vw - var(--site-width))/2 + var(--site-gutter)))}
/* Larger food images lead each source row without hiding its evidence. */
.index-intro+.listing-section .index-row{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px}
.index-identity{gap:28px;align-items:center}.index-identity>div:last-child{min-width:0}
.index-photo{flex:0 0 240px;width:240px;min-width:0}
.index-photo>[data-image-frame]{min-height:180px;aspect-ratio:4/3}
.index-photo img{display:block;width:100%;height:180px;object-fit:contain}
.index-photo:has(.media-scope[href*="food-category-"]) img{object-fit:cover}
.index-quote{padding-left:0}.index-row h2{font-size:clamp(24px,1.8vw,32px)}
@media(max-width:1100px){.index-intro+.listing-section .index-row{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}.index-photo{flex-basis:200px;width:200px}.index-photo img{height:150px}.index-photo>[data-image-frame]{min-height:150px}.index-quote{padding-left:228px}}
@media(max-width:600px){.index-intro+.listing-section .index-row{padding:20px;gap:20px}.index-identity{display:flex;flex-direction:column;align-items:stretch;gap:20px}.index-photo{flex:0 0 auto;width:100%}.index-photo>[data-image-frame]{aspect-ratio:4/3;min-height:0}.index-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.index-quote{padding-left:0}.index-row h2{font-size:26px}.index-photo .media-scope{font-size:12px}}

/* Actual product images retain the complete package and merchant composition. */
.hero-photo>img{aspect-ratio:auto;object-fit:contain;max-height:540px;background:#fff}.lane-photo img{object-fit:contain;background:#fff}
@media(max-width:760px){.hero-photo>img{height:auto;max-height:380px;object-fit:contain}}

.index-photo-missing{min-height:180px;display:flex;align-items:center;justify-content:center;background:#eee9df;color:#5e594f;font-size:.875rem;text-align:center;padding:20px}
.header nav a.nav-category{font-weight:700;color:var(--accent)}
.media-listing-note{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:#5e594f}
