/* Explicit mobile-first corrections for touch, safe areas and compact market navigation. */
@media (max-width: 760px) {
  html { -webkit-text-size-adjust:100%; }
  body { overflow-x:hidden; padding-bottom:env(safe-area-inset-bottom); }
  .shell { width:min(calc(100% - 24px),var(--shell)); }
  .market-ribbon .shell { justify-content:flex-start; overflow:hidden; white-space:nowrap; }
  .ribbon-copy { overflow:hidden; text-overflow:ellipsis; }
  .site-header { top:0; }
  .header-inner { min-height:64px; }
  .brand-mark { width:38px; height:38px; }
  .brand small { display:none; }
  .main-nav { max-height:calc(100dvh - 88px); overflow:auto; padding-bottom:calc(1rem + env(safe-area-inset-bottom)); }
  .btn { min-height:46px; }
  input,select,textarea { font-size:16px; }
  .page-hero { padding-block:1.6rem; }
  .section { padding-block:1.5rem; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .product-card h3 { font-size:.93rem; }
  .product-card .product-body { padding:.75rem; }
  .product-card .product-price { font-size:1.05rem; }
  .stall-grid { grid-template-columns:1fr; }
  .areas { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .area-card { min-height:90px; padding:.8rem; }
  .area-icon { font-size:1.6rem; }
  .hero { padding-top:1.35rem; }
  .hero-grid { gap:1.25rem; }
  .hero-copy h1 { word-break:normal; }
  .market-board { border-radius:18px; }
  .market-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stall-hero-body { padding:1rem; }
  .stall-actions { width:100%; }
  .stall-actions .btn { width:100%; }
  .product-detail { gap:1rem; }
  .action-stack { position:relative; bottom:auto; padding:0; background:none; border:0; }
  .account-layout { gap:.8rem; }
  .account-nav { display:flex; gap:.35rem; overflow-x:auto; padding:.45rem; scroll-snap-type:x proximity; position:static; }
  .account-nav a { flex:0 0 auto; scroll-snap-align:start; padding:.55rem .7rem; white-space:nowrap; }
  .account-nav-title,.account-nav-divider { display:none; }
  .table-wrap { margin-inline:-.6rem; border-radius:0; }
  .data-table { min-width:680px; }
  .form-card,.panel { border-radius:16px; padding:1rem; }
  .flash { margin-top:.7rem; }
  dialog,.modal-card { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
}
@media (max-width: 430px) {
  .product-grid { gap:.55rem; }
  .product-card .pill { font-size:.62rem; }
  .areas { gap:.5rem; }
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-actions .btn { width:100%; }
}
