/* Type roles shared by every page, loaded after each page's own styles.
   Product card names use the collection-card face (Oswald); prices and every
   other display number use Big Shoulders Display (--font-num). */
body :is(.product-name, .prod-name, .pdp-mc-name) {
  font-family: 'Oswald', 'Helvetica Neue', Arial, sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  font-variation-settings: normal;
}

body :is(.num, .testimonials-rating-text strong, .pdp-callout-num, .pdp-callouts-pin) {
  font-family: 'Big Shoulders Display', 'Helvetica Neue', Arial, sans-serif;
  font-weight: 800;
  letter-spacing: 0.01em;
  font-variation-settings: normal;
}
@media (max-width: 600px) {
  body :is(.product-name, .prod-name, .pdp-mc-name) { font-size: 1.1rem; }
}

/* ── Client review 24/09: one button shape site-wide (pill, like Add to Cart) ── */
body :is(.btn-primary, .btn-secondary, .btn-primary-dark, .cart-checkout, .co-submit, .form-submit, .cart-update) { border-radius: 40px; }
/* Newsletter: input + button read as one pill; stacked on mobile, each is its own pill */
body .newsletter-input { border-radius: 40px 0 0 40px; }
body .newsletter-btn { border-radius: 0 40px 40px 0; }
@media (max-width: 768px) {
  body .newsletter-input, body .newsletter-btn { border-radius: 40px; }
  body .newsletter-form { gap: 0.6rem; }
}

/* ── Client review 24/09: page hero titles (collections, journal, contact) smaller and on one line ── */
body .page-hero-title { font-size: clamp(2.5rem, 4.4vw, 4.4rem); }
@media (min-width: 900px) {
  body .page-hero-title { white-space: nowrap; }
  body .page-hero-title .line { display: inline-block; vertical-align: baseline; }
}
