/* Account-only spacing: this file never changes the storefront or other info pages. */
.info-main:has(> .account-dashboard),
.info-main:has(> .account-panel) {
  --account-space-xs: 8px;
  --account-space-sm: 16px;
  --account-space-md: 24px;
  --account-space-lg: 32px;
  --account-card-padding: 32px;
  padding-top: 48px;
  padding-bottom: 64px;
}
.info-main:has(> .account-dashboard) > .info-eyebrow,
.info-main:has(> .account-panel) > .info-eyebrow { margin: 0 0 var(--account-space-sm); }
.info-main:has(> .account-dashboard) > h1,
.info-main:has(> .account-panel) > h1 { margin: 0 0 var(--account-space-lg); }
.info-main .account-dashboard { display: flex; flex-direction: column; align-items: stretch; gap: 0; width: 100%; max-width: 800px; }
.info-main .account-welcome { margin: 0 0 var(--account-space-xs); gap: var(--account-space-sm); align-items: flex-start; }
.info-main .account-welcome h2 { flex: 1 1 280px; min-width: 0; margin: 0; line-height: 1.1; overflow-wrap: anywhere; }
.info-main .account-welcome > button { flex: 0 0 auto; min-height: 44px; }
.info-main .account-dashboard > .account-hint { margin: 0 0 var(--account-space-md); }
.info-main .account-dashboard > .account-tabs { margin: 0 0 var(--account-space-md); }
.info-main .account-tabs { gap: var(--account-space-xs); }
.info-main .account-panel { display: flex; flex-direction: column; align-items: stretch; gap: var(--account-space-md); width: 100%; max-width: 800px; margin: 0; padding: var(--account-card-padding); }
.info-main .account-dashboard > .account-panel { margin-bottom: var(--account-space-md); }
.info-main .account-panel > :is(p,h2,h3),
.info-main .account-panel > .phone-login > :is(p,h2,h3) { margin: 0; }
.info-main .account-panel .account-form { width: 100%; max-width: 600px; margin: 0; gap: var(--account-space-sm); }
.info-main .account-form label { min-width: 0; margin: 0; gap: var(--account-space-xs); }
.info-main .account-form > .account-hint { margin: 0; }
.info-main .account-form .account-consent input { min-width: 22px; max-width: 22px; height: 22px; min-height: 22px; margin: 2px 0 0; padding: 0; }
.info-main .account-dashboard > .account-feedback:not(:empty) { min-height: 0; margin: 0 0 var(--account-space-md); }
/* Keep the empty live region accessible without reserving an empty visual row. */
.info-main .account-feedback:empty { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.info-main .account-list { display: grid; gap: var(--account-space-sm); margin: 0; padding: 0; }
.info-main .account-list:empty { display: none; }
.info-main .account-list li { display: grid; gap: var(--account-space-xs); margin: 0; padding: var(--account-space-sm); }
.info-main .account-list li p { margin: 0; }
.info-main .account-address-actions { gap: var(--account-space-sm); }
.info-main .account-dashboard > a.button { align-self: flex-start; }
@media (max-width: 700px) {
  .info-main:has(> .account-dashboard),
  .info-main:has(> .account-panel) { --account-space-lg: 24px; --account-card-padding: 20px; padding-top: 32px; padding-bottom: 48px; }
  .info-main .account-welcome { align-items: flex-start; }
  .info-main .account-welcome h2 { flex-basis: 100%; }
}
