/* Readers type scale — one size per text role, identical on every page.
   Loaded after all page stylesheets: each selector is the exact page rule it
   normalises (same specificity, later in the cascade). Families and sizes come
   from the brand tokens at the top of css/layout.css. Arabic keeps its own
   face through rtl.css (higher specificity). */

/* Hero banner titles */
.about-hero__title, .contact-hero__title, .legal-hero__title, .gc-hero__title,
.lc-hero__title, .col-hero__title, .bsp-hero__title {
  font-family: var(--font-heading);
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: var(--lh-tight);
}

/* Page titles: shop & categories, product, author, sign-in pages */
.cat-header__title, .product-main__title, .author-panel__name, .auth-shell__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: var(--lh-tight);
}

/* Section titles */
.bestsellers__title, .related-wrap__title, .author-content__title,
.about-story__title, .about-section-head__title, .about-location__title,
.gc-step1__heading, .newsletter-band__title, .collections__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: var(--lh-tight);
}

/* Sub-headings: compact carousels, form / panel / legal-section titles */
.bestsellers--compact .bestsellers__title, .contact-form-card__title,
.legal-section__title, .legal-sidebar__title, .lc-form-title, .collection-card__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-heading);
}

/* Small headings: content cards, site-map groups */
.about-value-card__title, .about-offer-card__title, .sitemap-group__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: var(--lh-heading);
}

/* Book-card titles */
.book-card__title {
  font-family: var(--font-heading);
  font-size: var(--fs-body);
  font-weight: 700;
}

/* Eyebrows above hero / section titles */
.about-hero__eyebrow, .about-story__eyebrow, .about-section-head__eyebrow,
.about-location__eyebrow, .contact-hero__eyebrow, .legal-hero__eyebrow,
.gc-hero__eyebrow, .lc-hero__eyebrow {
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  font-weight: 700;
}

/* Hero lead text */
.about-hero__sub, .contact-hero__sub, .legal-hero__sub, .gc-hero__sub,
.lc-hero__sub, .col-hero__desc {
  font-family: var(--font-body);
  font-size: var(--fs-lead);
  font-weight: 400;
}

/* Section intro text */
.about-section-head__sub, .gc-step1__sub { font-size: var(--fs-body); }

/* Card / panel copy */
.about-value-card__text, .about-offer-card__text, .legal-sidebar__text,
.author-panel__bio, .about-location__address { font-size: var(--fs-body-sm); }

/* Meta and helper text */
.cat-toolbar__left, .col-hero__count, .author-panel__count, .legal-hero__updated,
.contact-form-card__subtitle, .lc-form-sub { font-size: var(--fs-small); }

/* Buttons */
.cf-btn, .gc-btn, .auth-submit, .lc-btn--primary, .product-actions__cart,
.about-loc-btn, .legal-sidebar__cta, .auth-btn--secondary {
  font-family: var(--font-body);
  font-size: var(--fs-button);
}
.book-card__cta { font-size: var(--fs-button-sm); }

/* Phones: 16px form text stops iOS Safari zooming the page on focus. */
@media (max-width: 767px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]),
  select, textarea { font-size: 16px !important; }
}

/* ── Account area & checkout ─────────────────────────────────────────── */

/* Account page titles: one size across Profile, Orders, Addresses, Book
   Requests and the account Loyalty page (whose hero is shared with the public
   loyalty pages — scoped here by the account layout that follows it). */
.profile-hero__name, .orders-hero__title, .ab-hero__title,
.lc-hero:has(+ .profile-layout) .lc-hero__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: var(--lh-tight);
}

/* Account card / section titles */
.profile-card__title, .order-detail__section-title, .ab-map-card__title,
.ab-form-card__title, .ab-saved-title, .lc-earn__title, .account-empty__title,
.cart-summary__heading {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: var(--lh-heading);
}
.lc-earn__gold-title {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  font-weight: 700;
}

/* Small uppercase labels (account menu, order and cart section labels) */
.profile-nav__heading, .orders-nav__heading, .order-details__section-title,
.cart-summary__title, .ci-card__title {
  font-size: var(--fs-eyebrow);
  font-weight: 700;
}

/* Book titles in the cart and in orders read like book-card titles */
.cart-line__title-link, .order-item-row__title {
  font-family: var(--font-heading);
  font-weight: 700;
}
