.catalog-status { margin: 0 auto 24px; text-align: center; color: #65543d; padding: 12px 18px; max-width: 760px; line-height: 1.6; }
.hero-loading { margin: auto; max-width: 520px; padding: 30px; line-height: 1.8; text-align: center; }
.catalog-status button { border: 1px solid #71532b; border-radius: 8px; background: white; padding: 10px 16px; cursor: pointer; font: inherit; }
.all-promos-link { display: block; position: relative; width: fit-content; margin: 0 auto 18px; padding: 12px 20px; border: 1px solid #9d743d; border-radius: 30px; color: #3a2111; font-weight: 700; }
.hero-promo-copy .promo-price, .featured-promo-copy .promo-price { color: #583812; font-size: 24px; min-height: auto; line-height: 1.2; }
.hero-buy-label { display: block; background: #805218; color: white; border-radius: 8px; padding: 12px; text-align: center; font-weight: 700; }
.hero-promo-copy { flex: 1; align-content: space-between; }
.hero-promo-copy p { -webkit-line-clamp: unset; min-height: 54px; font-size: 13px; line-height: 1.45; }
.hero-promo-copy > strong:first-child { font-size: 15px; }
.hero-promo-card { display: flex; flex-direction: column; }
.promo-units { display: block; font-size: 13px; color: #65543d; margin-top: 5px; }
.featured-promo-copy p { line-height: 1.55; }
.delivery-faq { max-width: 960px; margin: 48px auto; padding: 24px; }
.delivery-faq h2 { font-size: 30px; margin-bottom: 20px; }
.delivery-faq details { border-bottom: 1px solid #dfcba6; padding: 18px 0; }
.delivery-faq summary { cursor: pointer; font-weight: 700; line-height: 1.6; }
.delivery-faq p, .delivery-note { color: #65543d; font-size: 14px; line-height: 1.65; }
.comments-empty { grid-column: 1 / -1; text-align: center; padding: 24px; color: #65543d; }
body:has(.cart-drawer.open, .promo-choice.open, .comments-modal.open, .product-quick-view.open) { overflow: hidden; }
.cart-panel { display: block; overflow-y: auto; overscroll-behavior: contain; }
.cart-panel .cart-summary { max-height: none; overflow: visible; }
.cart-panel .preorder-step { max-height: none; grid-template-rows: auto; }
.cart-panel .preorder-items { overflow: visible; }
.cart-panel .cart-header { position: sticky; top: 0; background: #fff8e8; z-index: 5; }
.cart-panel .preorder-actions { position: sticky; bottom: 0; margin-top: 16px; }
.cart-panel .erp-submit-button { position: sticky; bottom: 0; min-height: 48px; }
.order-fields input, .order-fields select, .cart-summary textarea { font-size: 16px !important; }
.order-fields label { min-width: 0; }
.cart-panel .order-fields select { padding-right: 24px; text-overflow: ellipsis; }
.promo-choice-list-head span { font-size: 13px; line-height: 1.5; }
.promo-choice-summary-copy > p { -webkit-line-clamp: unset; font-size: 14px; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #845f26; outline-offset: 3px; }
@media(max-width:800px) {
  .hero-promo-card { flex-basis: 72vw !important; max-width: 340px; }
  .hero-promo-copy { padding: 14px; gap: 10px; }
  .hero-promo-copy > strong:first-child { font-size: 16px; }
  .hero-promo-copy p { font-size: 14px; }
  .hero-promo-image { aspect-ratio: 1.1; }
  .cart-panel .cart-summary { padding: 14px; }
  .cart-panel .cart-summary .cart-item-head > strong { font-size: 18px !important; }
  .cart-panel .cart-detail-list strong { font-size: 13px !important; }
  .cart-panel .cart-detail-list span { font-size: 13px; }
  .promo-choice-summary-copy > p { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@supports (content-visibility: auto) {
  .comments-section, .catalog-section, .product-info-section, .delivery-faq, footer { content-visibility: auto; contain-intrinsic-size: auto 800px; }
}
