/* Portrait-only layout: retain the desktop and landscape presentation. */
@media (max-width: 767px) and (orientation: portrait) {
  html { -webkit-text-size-adjust: 100%; }
  .wrap { padding-left: 16px; padding-right: 16px; }
  .mallbar .wrap { flex-wrap: wrap; gap: 8px 16px; }
  .mallbar a { display: inline-flex; align-items: center; min-height: 44px; }
  .header { flex-wrap: wrap; gap: 16px; }
  .search { order: 3; flex-basis: 100%; min-width: 0; }
  .layout, .product, .fields { grid-template-columns: minmax(0, 1fr); }
  .layout > *, .product > *, .fields > *, fieldset { min-width: 0; }
  .categories { flex-direction: row; flex-wrap: wrap; overflow: visible; gap: 6px; }
  .category { white-space: normal; min-height: 44px; text-align: left; }
  .catalog-head { flex-wrap: wrap; gap: 12px; }
  .placements, .thumbs { flex-wrap: wrap; gap: 8px; }
  input, select, textarea { min-width: 0; max-width: 100%; font-size: 16px; }
  button, .button, .primary, .details-button { min-height: 44px; max-width: 100%; white-space: normal; }
  .button, .actions, .bag-row, .notice, .panel { overflow-wrap: anywhere; }
  dialog { max-height: calc(100svh - 32px); overflow-y: auto; }
  dialog .close { min-width: 44px; min-height: 44px; }
  .gallery img { height: auto; max-height: 440px; aspect-ratio: 1; object-fit: contain; }
  .approved-storefront { overflow: hidden; }
  .approved-storefront img { width: 160%; max-width: none; margin-left: -30%; }
  .scroll-shop { top: 27%; padding: 10px 12px 6px; min-height: 44px; }
  .scroll-shop strong { font-size: 12px; }
  .scroll-shop span { font-size: 10px; }
  .intro-strip { flex-wrap: wrap; }
  .status-guide { grid-template-columns: minmax(0, 1fr); }
  footer { flex-direction: column; }
}
@media (max-width: 374px) and (orientation: portrait) {
  .grid { grid-template-columns: minmax(0, 1fr); }
}
