/* Narrow-screen safeguards shared by Spanish and localized storefront pages. */
@media (max-width: 620px) {
  .home-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .hero-copy, .home-hero .lead, .home-hero .search-box, .home-hero .button-row {
    width: 100%; min-width: 0; max-width: 100%;
  }
  .home-hero .display {
    max-width: 100%; font-size: clamp(2rem, 10vw, 3.1rem); line-height: 1;
    overflow-wrap: anywhere;
  }
  .home-hero .lead { overflow-wrap: anywhere; }
  .home-hero .search-box { box-sizing: border-box; gap: 8px; padding-left: 12px; }
  .home-hero .search-box input { width: 0; flex: 1 1 70px; }
  .home-hero .search-box button {
    flex: 0 0 auto; max-width: 48%; padding-inline: 10px;
    white-space: normal; overflow-wrap: anywhere;
  }
  .home-hero .button-row > * { min-width: 0; max-width: 100%; }
  /* Long German compounds and destination names must not widen two-column product grids. */
  .shop-grid > .shop-card { min-width: 0; box-sizing: border-box; }
  .shop-card > a { min-width: 0; }
  .shop-card h3, .shop-card small { overflow-wrap: anywhere; }
  .cart-layout, .cart-layout > *, .cart-item > div { min-width: 0; }
  .cart-item { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .cart-item img { width: 64px; max-width: 100%; }
  .cart-item > strong { grid-column: 2; }
  .cart-item a, .cart-item > div { overflow-wrap: anywhere; }
  .cart-controls { flex-wrap: wrap; gap: 8px; }
  .cart-controls button { min-width: 44px; min-height: 44px; }
  .summary [data-checkout] { width: 100%; white-space: normal; overflow-wrap: anywhere; }
}
