@media (max-width: 900px) {
  html,
  body,
  #app,
  .app-shell,
  .view,
  .shop-grid,
  .main-scroll {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .app-shell {
    min-height: 100vh;
    border-radius: 0;
    overflow-x: hidden;
  }

  .topbar {
    width: 100%;
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 16px;
  }

  .brand,
  .account-area,
  .search-wrap {
    min-width: 0;
    max-width: 100%;
  }

  .brand-text,
  .points,
  .auth-name {
    display: none;
  }

  .account-area {
    justify-content: flex-end;
    gap: 8px;
  }

  .pill-button {
    padding-inline: 12px;
  }

  .top-cart-summary {
    min-width: 118px;
    min-height: 46px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 7px;
    padding: 6px 10px 6px 6px;
  }

  .top-cart-icon {
    width: 34px;
    height: 34px;
    font-size: 18px;
  }

  .top-cart-copy {
    min-width: 0;
  }

  .top-cart-copy strong {
    font-size: 17px;
  }

  .top-cart-copy span {
    display: none;
  }

  .search-wrap {
    width: 100%;
    grid-column: 1 / -1;
    order: 3;
  }

  .search-input {
    width: 100%;
    height: 54px;
    padding: 0 52px 0 22px;
    border-width: 2px;
    font-size: 18px;
  }

  .search-icon {
    right: 20px;
    font-size: 22px;
  }

  .shop-grid {
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 112px;
  }

  .sidebar {
    display: flex;
    width: 100%;
    max-width: 100%;
    gap: 8px;
    padding: 8px 14px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
  }

  .category-button {
    width: auto;
    min-width: 150px;
    margin: 0;
    grid-template-columns: 36px minmax(0, 1fr);
    font-size: 14px;
  }

  .category-icon {
    width: 36px;
    height: 36px;
  }

  .main-scroll {
    padding: 12px 14px 0;
  }

  .hero-card {
    grid-template-columns: 72px minmax(0, 1fr);
    min-height: 136px;
  }

  .hero-hand {
    height: auto;
    font-size: 54px;
  }

  .hero-card > .hero-cup {
    display: none;
  }

  .hero-copy,
  .section-head,
  .rail,
  .product-card,
  .catalog-loading,
  .catalog-loading-card,
  .skeleton-grid,
  .skeleton-product {
    min-width: 0;
    max-width: 100%;
  }

  .hero-copy h1,
  .section-head h2 {
    font-size: 24px;
  }

  .rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 14px;
  }

  .product-media {
    height: 164px;
  }

  .product-name {
    min-height: 52px;
    font-size: 17px;
  }

  .cafe-banner {
    grid-template-columns: minmax(0, 1fr) 76px;
    padding: 18px;
  }

  .cafe-banner h3 {
    font-size: 20px;
  }

  .profile-grid,
  .two-cols,
  .admin-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .green-type-row > div:first-child,
  .green-courier-declared,
  .green-reward-preview {
    min-width: 0;
  }

  .green-type-row small,
  .green-courier-declared small,
  .green-reward-preview strong {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 520px) {
  .topbar {
    gap: 10px;
    padding: 14px 12px;
  }

  .brand-mark {
    width: 76px;
    height: 48px;
    border-radius: 14px;
    font-size: 20px;
  }

  .account-area .pill-button,
  .top-cart-summary {
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 6px;
  }

  .top-cart-summary {
    display: grid;
    grid-template-columns: 34px;
    place-content: center;
  }

  .top-cart-copy {
    display: none;
  }

  .search-input {
    height: 52px;
  }

  .main-scroll {
    padding-inline: 12px;
  }

  .rail,
  .skeleton-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cart-line {
    grid-template-columns: 68px minmax(0, 1fr);
  }

  .cart-line-controls {
    grid-column: 1 / -1;
    width: 100%;
  }

  .green-type-row {
    align-items: flex-start;
  }

  .green-type-row .green-count {
    flex: 0 0 auto;
  }
}

@media (max-width: 360px) {
  .profile-collections-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .profile-collections-actions {
    width: 100%;
    max-width: none;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }

  .profile-collection-toggle {
    min-width: 0;
    padding-inline: 9px;
    white-space: normal;
    line-height: 1.1;
  }

  .profile-collections-actions > strong {
    flex: 0 0 38px;
  }
}
