/* Shared typography for all public pages; load after page-specific styles. */
body.home-redesign {
  --copy-size: clamp(19px, 1.15vw, 22px);
  --label-size: clamp(16px, 0.95vw, 18px);
}

body.home-redesign .editorial-hero__intro,
body.home-redesign :is(.editorial-craft__copy, .editorial-new__copy, .editorial-story__copy, .editorial-contact__intro) > p:not(.editorial-kicker),
body.home-redesign .editorial-story__details-body,
body.home-redesign .editorial-contact__details dd,
body.atelier-redesign .atelier-hero__copy > p:not(.editorial-kicker),
body.atelier-redesign :is(.atelier-offer__head, .atelier-pricelist__head) > p:not(.editorial-kicker),
body.atelier-redesign .atelier-service p,
body.atelier-redesign .atelier-steps span,
body.atelier-redesign .atelier-hero__details strong,
body.gallery-redesign .gallery-collection__head p,
body.events-redesign .events-showcase__copy p,
body.product-redesign .tab-content,
body.product-redesign .panel-description,
body.product-redesign .preorder-note {
  font-size: var(--copy-size);
  line-height: 1.6;
}

body.home-redesign .editorial-kicker,
body.home-redesign .editorial-text-link,
body.home-redesign .editorial-section__head > .editorial-text-link,
body.home-redesign .editorial-button,
body.home-redesign .editorial-contact__details dt,
body.home-redesign .editorial-field > span,
body.home-redesign .editorial-upload > label,
body.home-redesign .editorial-upload > label span,
body.home-redesign .editorial-form-actions p,
body.home-redesign .editorial-footer > div > p,
body.home-redesign .atelier-notice,
body.atelier-redesign .atelier-service > span,
body.atelier-redesign .atelier-steps li::before,
body.atelier-redesign .atelier-price-links small,
body.atelier-redesign .atelier-hero__details :is(p, a) > span,
body.gallery-redesign .gallery-collection__grid figcaption,
body.home-redesign .gallery-lightbox__count,
body.events-redesign .events-showcase__meta,
body.events-redesign .events-showcase__link,
body.shop-redesign .product-card__meta,
body.shop-redesign .product-card__view,
body.home-redesign .old-price,
body.product-redesign .panel-label,
body.product-redesign .size-btn,
body.product-redesign .color-selected,
body.product-redesign .tab,
body.product-redesign .btn-request,
body.product-redesign .product-gallery-counter,
body.product-redesign .mobile-product-cta__button {
  font-size: var(--label-size);
}

body.shop-redesign .price,
body.product-redesign .product-price,
body.product-redesign .mobile-product-cta__price {
  font-size: max(20px, var(--copy-size));
}

body.product-redesign .mobile-product-cta__button {
  padding-inline: 14px;
  letter-spacing: 0;
}

body.atelier-redesign .atelier-steps strong {
  font-size: max(20px, var(--copy-size));
}

body.home-redesign .editorial-field :is(input, select, textarea) {
  font-size: 19px;
  line-height: 1.5;
}

body.home-redesign .editorial-footer a,
body.home-redesign .editorial-footer__note > span {
  font-size: clamp(20px, 1.2vw, 23px);
}

body.home-redesign .editorial-footer .editorial-text-link {
  font-size: var(--label-size);
}

@media (min-width: 821px) {
  body.home-redesign .editorial-nav a,
  body.home-redesign .editorial-language {
    font-size: clamp(16px, 1vw, 19px);
  }

  body.home-redesign .editorial-nav {
    gap: clamp(20px, 2.5vw, 48px);
  }
}

@media (max-width: 820px) {
  body.home-redesign {
    --copy-size: 18px;
    --label-size: 16px;
  }

  body.home-redesign .editorial-field :is(input, select, textarea),
  body.home-redesign .editorial-footer a,
  body.home-redesign .editorial-footer__note > span {
    font-size: 18px;
  }

  body.home-redesign .editorial-footer .editorial-text-link {
    font-size: var(--label-size);
  }
}

@media (max-width: 600px) {
  body.home-redesign .editorial-hero__intro,
  body.atelier-redesign .atelier-hero__copy > p:not(.editorial-kicker) {
    font-size: 17px;
    line-height: 1.5;
  }

  body.home-redesign .editorial-hero .editorial-button,
  body.atelier-redesign .atelier-hero .editorial-button {
    font-size: 15px;
    padding-inline: 20px;
  }
}
