/*
 * Public storefront typography layer (2026-11-11 layout review).
 * Loaded after store-assets/zhanyu.css and storefront.css. It only raises
 * undersized text, unifies card copy, relaxes Latin heading tracking and
 * enlarges small touch targets. Remove this file to restore the previous look.
 */
:root {
  --fs-xs: 12px; /* uppercase eyebrows and labels only */
  --fs-note: 13px; /* short captions, credits, footer */
  --fs-sm: 14px; /* notes, disclosures, price details */
  --fs-card: 16px; /* card and list descriptions */
  --fs-base: 17px; /* body copy */
  --tap: 44px; /* minimum touch target */
}

/* Hero credits and captions: 8–10px previously */
.hero-inset > span,
.hero-art > .caption,
.work-detail .caption {
  font-size: var(--fs-note);
  letter-spacing: 0.4px;
}
.caption {
  font-size: var(--fs-note);
}
.founder-portrait figcaption,
.founder-signature span {
  font-size: var(--fs-note);
}

/* Disclosures and notes customers should be able to read easily */
.hero-copy .hero-note,
.price-guide-original,
.price-guide-original p,
.gallery-photo-info,
.gallery-photo-info p,
.price-guide-notes,
.portrait-figure figcaption,
.public-pairs figcaption,
.public-golden figcaption,
main figcaption,
main figcaption p,
main figcaption a {
  font-size: var(--fs-sm);
}
.studio-strip span {
  font-size: var(--fs-note);
}
.announcement,
.public-copyright {
  font-size: var(--fs-note);
}

/* Price cards */
.price-guide-dimensions,
.price-guide-minimum,
.price-guide-price small {
  font-size: var(--fs-sm);
}
.price-guide-copy > p:not([class]),
.work-copy p {
  font-size: var(--fs-card);
}

/* Labels and in-page navigation */
.studio-facts dt {
  font-size: var(--fs-note);
}
.policy-reader-layout nav {
  font-size: var(--fs-sm);
}

/* Latin headings: Lora reads better with gentler negative tracking.
   Chinese headings keep their own Songti rule and spacing. */
html:not(:lang(zh-CN)) h1,
html:not(:lang(zh-CN)) h2,
html:not(:lang(zh-CN)) h3 {
  letter-spacing: -0.02em;
}
html:not(:lang(zh-CN)) .hero h1 {
  letter-spacing: -0.025em;
}

/* Touch targets */
.public-languages {
  gap: 2px;
  font-size: var(--fs-sm);
}
.public-languages a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--tap);
  min-height: var(--tap);
  padding: 0 6px;
}
.menu-mobile summary {
  min-height: var(--tap);
  display: flex;
  align-items: center;
}
.menu-mobile nav a {
  display: flex;
  align-items: center;
  min-height: var(--tap);
}

@media (max-width: 700px) {
  .hero-copy .hero-note {
    font-size: var(--fs-sm);
  }
  .hero-art > .caption {
    font-size: var(--fs-xs);
    letter-spacing: 0.2px;
  }
  .announcement {
    font-size: var(--fs-xs);
    letter-spacing: 0;
    padding-left: 12px;
    padding-right: 12px;
  }
}
