.milkstand-hero-intro { max-width: 30em; margin-top: 24px; font-size: 1rem; line-height: 1.9; }
.milkstand-page h2[id] { scroll-margin-top: 110px; }
.milkstand-menu { padding: clamp(48px,6vw,80px) 0; background: #f0f3ed; }
.milkstand-menu-group { margin-top: 44px; }
.milkstand-menu h3 { padding-bottom: 16px; border-bottom: 1px solid #c2d0be; color: var(--green); font-size: clamp(1.25rem,2vw,1.6rem); line-height: 1.6; }
.milkstand-group-intro { margin-top: 20px; max-width: 54em; font-size: 1rem; line-height: 1.9; }
.milkstand-sweets-grid, .milkstand-bread-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin-top: 28px; }
.milkstand-bread-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.milkstand-menu-card { min-width: 0; background: var(--paper); }
.milkstand-menu-card > img { display: block; width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: contain; background: #fff; }
/* Use matching product widths within the same photo frame. */
.milkstand-bread-photo { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #fff; }
.milkstand-bread-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.milkstand-bread-photo-croissant > img { object-fit: contain; }
.milkstand-bread-photo-ham > img { transform: scale(.94); }
.milkstand-bread-photo-roast > img { transform: scale(.94); }
.milkstand-bread-photo-anko > img { transform: scale(.93); }
.milkstand-card-copy { padding: 20px; }
.milkstand-menu h4 { color: var(--green); font-size: 1.0625rem; font-weight: 700; line-height: 1.7; overflow-wrap: anywhere; }
.milkstand-item-description { margin-top: 10px; font-size: .875rem; line-height: 1.8; }
.milkstand-item-price { margin-top: 16px; }
.milkstand-price { color: var(--green); font-size: 1.1875rem; font-weight: 700; white-space: nowrap; }
.milkstand-size-prices { margin-top: 14px; }
.milkstand-size-prices > div { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; padding-top: 6px; font-size: .875rem; }
.milkstand-size-prices dd { margin: 0; }
.milkstand-badge { display: inline-block; margin-bottom: 12px; padding: 4px 10px; border: 1px solid #c2d0be; color: var(--green); font-size: .875rem; font-weight: 700; line-height: 1.6; }
.milkstand-set-price { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); font-size: .875rem; }
.milkstand-set-price .milkstand-price { font-size: 1.0625rem; }
.milkstand-set-guide { margin-top: 24px; padding: 24px 28px; background: var(--paper); border-left: 3px solid var(--green); }
.milkstand-set-guide p { margin-top: 10px; font-size: 1rem; line-height: 1.9; }
.milkstand-drink-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; margin-top: 28px; }
.milkstand-milk-panel { min-width: 0; }
.milkstand-drink-list { margin: 0; }
.milkstand-milk-panel .milkstand-drink-list { margin-top: 12px; }
.milkstand-drink-list > div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid #c2d0be; font-size: 1rem; line-height: 1.8; }
.milkstand-drink-list dd { margin: 0; color: var(--green); font-weight: 700; white-space: nowrap; }
.milkstand-temperature { display: inline-block; margin-left: 12px; color: #52655b; font-size: .875rem; }
.milkstand-menu-note { margin-top: 28px; color: #52655b; font-size: .875rem; line-height: 1.8; }
.milkstand-shopping { padding: clamp(48px,6vw,80px) 0; }
.milkstand-shopping-copy { font-size: 1rem; line-height: 1.9; }
.milkstand-shopping-copy p + p { margin-top: 16px; }
@media (max-width: 950px) {
 .milkstand-sweets-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .milkstand-bread-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
 .milkstand-card-copy { padding: 18px; }
 .milkstand-drink-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 700px) {
 .milkstand-hero-intro { margin-top: 18px; }
 .milkstand-menu-group { margin-top: 32px; }
 .milkstand-sweets-grid { gap: 14px; }
 .milkstand-bread-grid { grid-template-columns: 1fr; gap: 24px; }
 .milkstand-card-copy { padding: 16px 14px; }
 .milkstand-sweets-grid h4 { font-size: 1rem; }
 .milkstand-bread-grid .milkstand-card-copy { padding: 22px; }
 .milkstand-set-guide { padding: 20px; }
}
@media (max-width: 380px) {
 .milkstand-sweets-grid { grid-template-columns: 1fr; }
}

/* Soft-serve ingredients and gift shipping guidance. */
.milkstand-soft-intro { max-width: 54em; margin-top: 20px; font-size: 1rem; line-height: 1.9; }
.milkstand-soft-intro p + p { margin-top: 12px; }
.milkstand-gift-guide { margin-top: 24px; padding: 20px 24px; border-left: 3px solid var(--green); background: var(--paper); }
.milkstand-gift-guide h3 { color: var(--green); font-size: 1.0625rem; line-height: 1.7; }
.milkstand-gift-guide h3 + p { margin-top: 10px; }
@media (max-width: 700px) { .milkstand-gift-guide { padding: 18px; } }

/* Place store photographs alongside the relevant visit and product guidance. */
.milkstand-page .store-hero-image { aspect-ratio: auto; height: auto; object-fit: contain; }
.milkstand-story-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); align-items: center; gap: 32px; margin-top: 24px; }
.milkstand-story-layout .milkstand-soft-intro, .milkstand-story-layout .milkstand-group-intro { margin-top: 0; }
.milkstand-page .milkstand-photo-single { grid-template-columns: 1fr; margin-top: 0; }
.milkstand-page .restaurant-photo-grid img { aspect-ratio: auto; height: auto; object-fit: contain; }
.milkstand-shopping-gallery { margin-top: 32px; }
@media (max-width: 700px) {
 .milkstand-story-layout { grid-template-columns: 1fr; gap: 22px; }
 .milkstand-shopping-gallery { gap: 25px; }
}

.milkstand-shopping-feature { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: start; gap: 40px; margin-top: 28px; }
@media (max-width: 1000px) {
 .milkstand-shopping-feature { grid-template-columns: 1fr; gap: 24px; }
}

/* Keep the cooling guide compact in the shopping column. */
.milkstand-shopping-copy { min-width: 0; }
.milkstand-page .restaurant-cooling-table th,
.milkstand-page .restaurant-cooling-table td { padding: 10px 6px; }
.milkstand-page .restaurant-cooling-table th:first-child { width: 30%; }
.milkstand-page .restaurant-cooling-table th:nth-child(2) { width: 19%; }
.milkstand-page .milkstand-cooling-amount { white-space: nowrap; overflow-wrap: normal; }
@media (min-width: 1001px) and (max-width: 1100px) {
 .milkstand-page .restaurant-cooling-table { font-size: .8125rem; }
}

.milkstand-shopping-copy .milkstand-assortment-note { margin-top: 10px; color: #52655b; font-size: .8125rem; line-height: 1.7; }
