/* Shop3 — стили страницы «account»: подключается только на её маршрутах (event.php headerAssets(), ADR 0016). Правила — как в shop3.css:
   только роли и шкалы var(--s3-*), canon.md 6.2. Общие компоненты — в shop3.css, он загружен раньше. */
.s3-panel--alt { border-color: transparent; background: var(--s3-surface-alt); }
.s3-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--s3-account-tile-min-width), 1fr)); gap: var(--s3-account-tile-gap); margin-bottom: var(--s3-space-5); }
.s3-auth { display: grid; grid-template-columns: repeat(var(--s3-account-columns), minmax(0, 1fr)); gap: var(--s3-account-gap); }
/* две панели равной высоты, кнопки — по одной линии внизу */
.s3-auth .s3-panel { display: flex; flex-direction: column; }
.s3-auth .s3-form { flex: 1; }
.s3-auth .s3-form .s3-form__actions { justify-content: flex-start; margin-top: auto; padding-top: 0; border-top: 0; }
.s3-auth__go { align-self: flex-start; margin-top: auto; }
.s3-linklist { margin: 0; padding: 0; list-style: none; }
.s3-linklist li + li { border-top: var(--s3-border-width-thin) solid var(--s3-border-subtle); }
.s3-form__grid { display: grid; grid-template-columns: repeat(var(--s3-account-columns), minmax(0, 1fr)); gap: var(--s3-space-3) var(--s3-space-4); }
.s3-form__aside-link { align-self: flex-start; font-size: var(--s3-font-size-sm); }
/* подсказки autocomplete из common.js (ссылки партнёра) */
.s3-field--suggest .dropdown-menu { inset-inline-end: 0; max-height: var(--s3-layout-aside); overflow: auto; }
.s3-link--danger { color: var(--s3-danger); font-size: var(--s3-font-size-sm); }
.s3-link--danger:hover, .s3-link--danger:focus { color: var(--s3-danger); }

.s3-addresses { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--s3-account-tile-min-width), 1fr)); gap: var(--s3-account-tile-gap); margin: 0; padding: 0; list-style: none; }
.s3-address { display: flex; flex-direction: column; justify-content: space-between; gap: var(--s3-space-4); }
.s3-address__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--s3-space-3); }
.s3-balance { margin: 0 0 var(--s3-space-4); padding: var(--s3-space-3) var(--s3-space-4); border-radius: var(--s3-radius-md); background: var(--s3-surface-alt); }
.s3-status { display: inline-block; padding: var(--s3-space-half) var(--s3-space-2); border-radius: var(--s3-account-status-radius); background: var(--s3-surface-alt); font-size: var(--s3-font-size-xs); font-weight: var(--s3-font-weight-medium); white-space: nowrap; }
.s3-table .s3-num { text-align: end; white-space: nowrap; font-variant-numeric: tabular-nums; }
.s3-table__action { text-align: end; white-space: nowrap; }
.s3-table__action .s3-btn + .s3-btn { margin-inline-start: var(--s3-space-2); }
.s3-wishlist .s3-line__qty { align-items: flex-end; }
.s3-wishlist { margin: 0 0 var(--s3-space-5); padding: 0; list-style: none; }

/* ---------- адаптив: точки — токены breakpoint.*, в @media — именованные условия (--s3-up|down-<шаг>), числа шкалы подставляет тема (tokens.md §3.5) ---------- */
@media (max-width: 991.98px) {
  .s3-auth { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600.98px) {
  .s3-form__grid { grid-template-columns: minmax(0, 1fr); }
  .s3-wishlist .s3-line { grid-template-areas: "img info" "img qty"; grid-template-columns: var(--s3-wishlist-image-size) minmax(0, 1fr); }
  .s3-wishlist .s3-line__qty { align-items: center; }
  .s3-table-wrap--stack { overflow: visible; border: 0; background: none; }
  .s3-table--stack thead { position: absolute; width: var(--s3-border-width-thin); height: var(--s3-border-width-thin); overflow: hidden; clip-path: inset(100%); }
  .s3-table--stack, .s3-table--stack tbody, .s3-table--stack tfoot { display: block; }
  .s3-table--stack tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s3-space-1) var(--s3-space-3); margin-bottom: var(--s3-space-3); padding: var(--s3-space-4); border: var(--s3-border-width-thin) solid var(--s3-border-subtle); border-radius: var(--s3-radius-lg); background: var(--s3-surface); }
  .s3-table--stack td { display: flex; justify-content: space-between; gap: var(--s3-space-3); grid-column: 1 / -1; padding: 0; border: 0; text-align: end; }
  .s3-table--stack td::before { content: attr(data-label); content: attr(data-label) / ""; color: var(--s3-text-muted); text-align: start; }
  .s3-table--stack td:first-child { font-weight: var(--s3-font-weight-bold); }
  .s3-table--stack .s3-table__action { justify-content: flex-end; margin-top: var(--s3-space-2); }
  .s3-table--stack .s3-table__action::before { content: none; }
  .s3-table--stack td:empty { display: none; }
  /* итоги заказа: строка «название — сумма» под карточками, без рамки карточки */
  .s3-table--stack tfoot tr { display: flex; justify-content: space-between; gap: var(--s3-space-3); margin: 0; padding: var(--s3-space-1) var(--s3-space-4); border: 0; border-radius: 0; background: none; }
  .s3-table--stack tfoot th { padding: 0; text-align: start; }
  .s3-table--stack tfoot td { display: block; grid-column: auto; }
  .s3-table--stack tfoot td::before { content: none; }
  .s3-table--stack tfoot > tr:first-child > * { border-top: 0; }
}
