/* Reuse the upstream product UI; replace only navigation and store chrome. */
#app .page > .header,
#app .page > .header_box,
#app .profile,
#app .banner,
#app .shop-footer,
#app .dock {
  display: none !important;
}

/* Match the toolbar gutter at every desktop width, not the upstream 1632px cap. */
#app .page-main { width: 100% !important; max-width: none !important; box-sizing: border-box !important; }
#app .content-main { width: auto !important; min-width: 0 !important; flex: 1 1 0 !important; }
@media (min-width: 1640px) {
  #app .content-main > .grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; }
}
.aishop-toolbar {
  box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; min-height: 72px; padding: 16px; margin: 0 16px 12px;
  background: #fff; border-radius: 0 0 16px 16px; font: inherit; color: #172033;
}
.aishop-brand { font-size: 20px; font-weight: 650; letter-spacing: .04em; color: inherit; text-decoration: none; }
.aishop-actions { display: flex; gap: 12px; align-items: center; }
.aishop-button {
  box-sizing: border-box; min-height: 40px; padding: 0 16px; display: inline-flex;
  align-items: center; justify-content: center; border: 1px solid #dfe3e9;
  border-radius: 12px; background: #fff; color: #172033; font: inherit;
  font-size: 14px; line-height: 1.4; text-decoration: none; cursor: pointer;
}
.aishop-support { background: #ff5900; border-color: #ff5900; color: #fff; }
.aishop-button:hover { filter: brightness(.96); }
.aishop-button:focus-visible, .aishop-brand:focus-visible, .aishop-email:focus-visible { outline: 3px solid #ffb78f; outline-offset: 3px; }
.aishop-dialog {
  box-sizing: border-box; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  padding: 24px; border: 0; border-radius: 16px; background: #fff; color: #172033;
  box-shadow: 0 16px 64px #17203326; font: inherit;
}
.aishop-dialog::backdrop { background: #17203366; }
.aishop-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.aishop-dialog h2 { margin: 0; font-size: 20px; }
.aishop-close { padding: 0; width: 40px; font-size: 24px; }
.aishop-dialog p { font-size: 14px; line-height: 1.7; }
.aishop-email { display: inline-block; color: #e75000; font-size: 20px; font-weight: 600; overflow-wrap: anywhere; }
.aishop-warning { padding: 12px; background: #fff3eb; border-radius: 10px; color: #8c3a0a; }
@media (max-width: 600px) {
  .aishop-toolbar { margin: 0 8px 8px; padding: 12px; min-height: 64px; gap: 8px; }
  .aishop-brand { font-size: 17px; }
  .aishop-actions { gap: 8px; }
  .aishop-button { min-height: 44px; padding: 0 12px; border-radius: 10px; }
  .aishop-close { padding: 0; width: 44px; }
}
