 .hero h1 { letter-spacing: -.035em; }
 .hero__visual { position: relative; width: min(100%, 29rem); margin: 0; justify-self: end; }
 .hero__visual img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 1rem; box-shadow: 0 8px 24px color-mix(in oklch, var(--green-950) 16%, transparent); }
 .hero__visual figcaption { position: absolute; right: .75rem; bottom: .75rem; padding: .3rem .55rem; border-radius: 999px; background: color-mix(in oklch, var(--green-950) 86%, transparent); color: white; font-size: .7rem; }
 .footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }
 .footer-links a { color: color-mix(in oklch, white 76%, transparent); font-size: .78rem; }
 .footer-links a:hover { color: white; }
 .footer-inner { grid-template-columns: 1fr auto auto auto; }
 .store-notice { border-left: 0; border: 1px solid color-mix(in oklch, white 18%, transparent); border-radius: .75rem; }
 .product-card__description,
 .product-card__attention { font-size: 1rem; }
 .search-field:focus-within { border-color: var(--green-700); box-shadow: 0 0 0 3px color-mix(in oklch, var(--gold) 35%, transparent); }
 .header-nav a,
 .footer-links a,
 .hero__actions .text-link { min-height: 2.75rem; display: inline-flex; align-items: center; }

@media (max-width: 1050px) {
  .hero__visual { justify-self: center; }
}

@media (max-width: 620px) {
  body { padding-bottom: 0; }
  body:has(.mobile-cart-bar:not([hidden])) { padding-bottom: calc(5.3rem + env(safe-area-inset-bottom)); }
  .mobile-cart-bar { bottom: calc(.75rem + env(safe-area-inset-bottom)); }
  .drawer-body { padding-bottom: calc(7rem + env(safe-area-inset-bottom)); }
  .quantity-control button,
  .remove-line,
  .category-button { min-height: 2.75rem; }
  .quantity-control button { width: 2.75rem; }
  .remove-line { padding-inline: .5rem; }
  .hero__visual { width: min(100%, 22rem); margin-top: -1rem; }
  .footer-inner { grid-template-columns: 1fr; }
}
