/* 用户功能内页统一体验层。首页不引用，避免改变首页主体。 */
.client-page {
  min-width: 320px;
  font-synthesis: none;
  font-kerning: normal;
  background: linear-gradient(90deg, rgba(20,20,20,.018) 1px, transparent 1px), var(--paper);
  background-size: 32px 32px;
}
.client-page .gj-nav { position: sticky; top: 0; background: rgba(250,249,246,.94); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.client-page main { min-height: calc(100vh - 68px); }
.client-page :where(h1, h2, h3) { text-wrap: balance; }
.client-page :where(p, li, dd) { text-wrap: pretty; }
.client-page :where(input, textarea, select) { max-width: 100%; }
.client-page :where(.gj-card, .account-summary, .account-panel, .product-card, .asdi-gate__body, .mbr-plan) { box-shadow: 0 12px 40px rgba(20,20,20,.035); }
.client-page .gj-btn { min-height: 44px; }
.client-page .gj-input, .client-page input, .client-page textarea, .client-page select { border-color: var(--line-2); }
.client-page :where(input, textarea, select):focus { outline: 2px solid var(--ink-900); outline-offset: 2px; }

.client-products .products-filter { row-gap: 12px; }
.client-products .product-card__foot a { min-height: 44px; display: inline-flex; align-items: center; }
.client-product .prod-hero__meta, .client-product .prod-bars, .client-product .prod-cta__actions { max-width: 100%; }
.client-product .prod-chapter__title { overflow-wrap: anywhere; }
.client-account .account-summary { border: 1px solid var(--line); padding: 28px; background: rgba(250,249,246,.88); }
.client-account .account-product { min-height: 72px; }
.client-account .account-product span { white-space: normal; text-align: right; }
.client-membership .mbr-plan { background: rgba(250,249,246,.9); }
.client-membership .mbr-plan .gj-btn { width: 100%; }
.client-asdi :where(.asdi-result, .asdi-block, .asdi-preview-cta, .asdi-gate__body) { overflow-wrap: anywhere; }
.client-asdi .asdi-result__foot { row-gap: 12px; }

@media (max-width: 768px) {
  .client-page main { min-height: calc(100vh - 60px); }
  .client-page .gj-nav { padding-inline: 18px; }
  .client-page .gj-nav-brand { font-size: 1.32rem; }
  .client-page :where(h1) { line-height: 1.12; letter-spacing: -.025em; }
  .client-page :where(h2, h3) { line-height: 1.25; }
  .client-page :where(.gj-index, .gj-eyebrow) { letter-spacing: .08em; word-break: normal; }
  .client-page :where(.gj-btn, button, a) { -webkit-tap-highlight-color: transparent; }
  .client-page :where(.gj-btn, .btn) { padding-inline: 20px; }
  .client-products .products-filter { display: grid; grid-template-columns: minmax(0, 1fr) 132px; width: 100%; }
  .client-products .products-filter #productsSearch { width: 100%; min-width: 0; }
  .client-products .products-filter select { width: 100%; }
  .client-account .account-summary { padding: 22px; }
  .client-account .account-product { align-items: flex-start; gap: 14px; }
}

@media (max-width: 480px) {
  .client-page { background-size: 24px 24px; }
  .client-page .gj-nav { height: 58px; }
  .client-page .gj-nav-links { max-height: calc(100dvh - 58px); }
  .client-page :where(input, textarea, select) { font-size: 16px !important; }
  .client-page :where(.gj-index, .gj-eyebrow) { font-size: .68rem; line-height: 1.55; }
  .client-page :where(.gj-btn, .btn) { width: 100%; justify-content: center; white-space: normal; text-align: center; }
  .client-products .products-filter { grid-template-columns: 1fr; }
  .client-products .products-tabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 6px; }
  .client-products .products-tabs button { flex: 0 0 auto; min-height: 44px; }
  .client-products .product-card__foot { align-items: stretch; flex-direction: column; }
  .client-products .product-card__foot a { justify-content: space-between; width: 100%; }
  .client-product .prod-chapter__trigger { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .client-product .prod-chapter__meta { grid-column: 2; }
  .client-product .prod-pagination { align-items: center; }
  .client-account .account-summary { padding: 20px; }
  .client-account .account-product { flex-direction: column; }
  .client-account .account-product span { text-align: left; }
  .client-membership .mbr-plans { gap: 16px; }
  .client-membership .mbr-plan { padding: 24px 20px; }
  .client-membership .mbr-open { padding-inline: 18px; }
  .client-asdi .asdi-gate__teaser { align-items: flex-start; flex-direction: column; }
  .client-asdi .asdi-result__foot { align-items: stretch; flex-direction: column; }
  .client-asdi .asdi-result__foot .gj-btn { width: 100%; }
  .client-asdi .asdi-preview-cta { padding: 24px 18px; }
}
