/* Optional auth/checkout additions; existing account/commercial tokens retained. */
.social-login { display: grid; gap: .5rem; margin-bottom: .65rem; }
.social-login button { width: 198px; max-width: 100%; min-height: 44px; margin-inline: auto; }
.social-login .social-google { display: flex; justify-content: center; align-items: center; padding: 0; background: transparent; border: 0; }
.social-google img { display: block; width: 198px; height: 44px; }
/* Keep Google's official full-color artwork intact, including when unavailable. */
.social-login .social-google:disabled { opacity: 1; }
.social-or { color: var(--account-muted); text-align: center; font-size: .75rem; }
#social-status:empty, #social-link-status:empty, #social-availability:empty { display: none; }
#social-status, #social-result { font-size: .8rem; color: var(--account-muted); }
#social-result { margin: .65rem 0; }
.social-methods { min-width: 0; }
.social-methods[open] { width: 100%; }
.social-connect-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .4rem; }
.bundle-grid .store-product { grid-template-columns: minmax(0, 1fr) auto 8.5rem 8.5rem; gap: .4rem 1rem; padding: 1rem 0; }
.bundle-grid .store-product > header { grid-column: 1; grid-row: 1; }
.bundle-grid .store-product > header:has(.bundle-cover) { justify-content: flex-start; flex-wrap: nowrap; gap: .8rem; }
.bundle-cover { width: 6rem; height: 6rem; object-fit: cover; object-position: center; background: #080808; border-radius: .3rem; flex-shrink: 0; }
#owned-bundles .bundle-cover { width: 4.5rem; height: 4.5rem; }
#owned-bundles .row-description { flex: 1; }
.bundle-grid .store-product > p:not(.product-price) { grid-column: 1; grid-row: 2; margin: 0; }
.bundle-grid .product-price { grid-column: 2; grid-row: 1 / 3; white-space: nowrap; }
.bundle-grid .store-product > button { grid-column: 3; grid-row: 1 / 3; width: 100%; }
.bundle-grid .store-product > .phone-purchase { grid-column: 4; }
.bundle-grid .store-product:not(:has(.phone-purchase)) { grid-template-columns: minmax(0, 1fr) auto auto; }
#phone-checkout { color: var(--account-text); background: #101010; border: 1px solid var(--account-boundary); border-radius: .5rem; padding: 1.25rem; width: min(25rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; }
#phone-checkout::backdrop { background: rgb(0 0 0 / .8); }
#phone-checkout h2 { font-size: 1.35rem; }
#phone-help, #phone-status { margin: .65rem 0; }
#phone-product { overflow-wrap: anywhere; font-size: .85rem; }
#phone-qr { margin: .9rem auto; width: min(100%, 17rem); }
#phone-qr:empty { display: none; }
#phone-qr canvas { display: block; width: 100%; height: auto; image-rendering: pixelated; background: #fff; }
.phone-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.phone-actions button { flex: 1; }
@media (max-width: 64rem) {
  .bundle-grid .store-product,.bundle-grid .store-product:not(:has(.phone-purchase)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .bundle-grid .store-product > header { grid-column: 1 / -1; grid-row: 1; }
  .bundle-grid .store-product > p:not(.product-price) { grid-column: 1 / -1; grid-row: 2; }
  .bundle-grid .product-price { grid-column: 1 / -1; grid-row: 3; margin: .15rem 0; }
  .bundle-grid .store-product > button { grid-column: 1; grid-row: 4; }
  .bundle-grid .store-product > .phone-purchase { grid-column: 2; }
  .bundle-grid .store-product:not(:has(.phone-purchase)) > button { grid-column: 1 / -1; }
}
.bundle-grid .store-product.cloud-bundle { grid-template-columns: minmax(0, 1fr) auto auto auto; }
.bundle-grid .cloud-bundle > .bundle-view { grid-column: 3; grid-row: 1 / 3; }
.bundle-grid .store-product.cloud-bundle > button { grid-column: 4; }
@media (max-width: 64rem) {
  .bundle-grid .store-product.cloud-bundle { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bundle-grid .cloud-bundle > .bundle-view { grid-column: 1; grid-row: 4; }
  .bundle-grid .store-product.cloud-bundle > button { grid-column: 2; grid-row: 4; }
}

#guest-bundles { list-style: none; padding: 0; }
.guest-bundle { margin-block: 1rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.guest-bundle h3, .guest-bundle p { flex-basis: 100%; }
#guest-purchases { margin-bottom: 1rem; }
#guest-access-recovery { margin-top: .75rem; max-width: 32rem; }
#guest-access-recovery > summary { display:flex; align-items:center; min-height:44px; cursor:pointer; color:var(--account-muted); font-size:.8rem; }
#guest-access-recovery > summary::before { content:"+"; margin-right:.6rem; }
#guest-access-recovery[open] > summary::before { content:"−"; }
#guest-recovery-form { display:grid; gap:.6rem; margin-top:.85rem; }
#guest-recovery-form input { width:100%; min-width:0; }
#guest-recovery-form button { justify-self:start; }

