/* Shared type direction: Cormorant editorial titles + quiet, legible Inter UI.
   Font files are self-hosted; reference research is in docs/ui-refinement.md. */
:root {
  --serif: 'Cormorant Garamond', Baskerville, Georgia, serif;
  --sans: 'Inter', Arial, sans-serif;
  font-family: var(--sans);
  font-optical-sizing: auto;
}
body { font-family: var(--sans); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: var(--sans); }
h1, h2, h3 { text-wrap: pretty; }
body .eyebrow { font-weight: 500; letter-spacing: .2em; }
body .masthead .wordmark > span {
  font-weight: 500; font-size: 31px; letter-spacing: .16em;
}
body .wordmark small { font-size: 7px; letter-spacing: .32em; }
body .masthead-help { font-size: 11px; line-height: 1.7; }
body .announcement { font-size: 10px; letter-spacing: .07em; }
body .shop-navigation > a,
body .shop-navigation .nav-disclosure > summary {
  font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
}
body .shop-navigation .mega-menu a { letter-spacing: 0; text-transform: none; }
body .product-card .product-description h3 {
  font: 500 25px/1.15 var(--serif); letter-spacing: -.015em; margin-bottom: 10px;
}
body .product-card .product-description > p { font-size: 9px; letter-spacing: .16em; }
body .product-card .product-price { font-size: 13px; letter-spacing: .015em; }
body .product-page .product-information h1 {
  font-family: var(--serif); font-size: clamp(36px, 3.5vw, 50px);
  font-weight: 500; font-style: italic; line-height: 1.08; letter-spacing: -.025em;
}
body .product-page .pdp-price { font-family: var(--serif); font-size: 29px; }
body .product-page .pdp-price small { font-family: var(--sans); }
body .product-page .product-summary { font-size: 14px; line-height: 1.85; }
body .product-page .product-form label { font-size: 12px; }
body .product-page .product-form select { font-size: 14px; }
body .product-page .product-accordions summary { font-size: 13px; letter-spacing: .02em; }
body .footer-column > span { font-size: 10px; letter-spacing: .16em; }
body .footer-column > a { font-size: 12px; line-height: 1.8; }
body .footer-main .wordmark > span { font-size: 27px; letter-spacing: .1em; }
@media (max-width: 760px) {
  body .masthead .wordmark > span { font-size: 20px; letter-spacing: .08em; }
  body .masthead .wordmark small { font-size: 6px; letter-spacing: .24em; }
  body .announcement { font-size: 9px; letter-spacing: .01em; }
  body .shop-navigation > a,
  body .shop-navigation .nav-disclosure > summary { font-size: 11px; letter-spacing: .1em; }
  body .product-card .product-description h3 { font-size: 22px; line-height: 1.18; }
  body .product-card .product-price { font-size: 12px; }
  body .product-page .product-information h1 { font-size: 38px; }
  body .product-page .product-form select { font-size: 16px; }
  body .footer-main .wordmark > span { font-size: 26px; }
}
@media (max-width: 375px) {
  body .masthead .wordmark > span { font-size: 18px; }
  body .product-card .product-description h3 { font-size: 20px; }
}
/* Keep reference-layout pages on the same type system as the rest of the shop. */
body:has(.reference-purchase) .shop-navigation > a,
body:has(.reference-purchase) .shop-navigation .nav-disclosure > summary {
  font: 500 10px/1.6 var(--sans); letter-spacing: .14em; text-transform: uppercase;
}
body .reference-purchase .product-summary,
body .reference-purchase .pdp-gemstone,
body .reference-purchase .size-label label,
body .reference-purchase .size-label a,
body .reference-purchase .engraving-option summary,
body .reference-purchase .reference-stone > span,
body .reference-purchase .reference-buy-actions .button { font-family: var(--sans); }
body .reference-purchase .reference-buy-actions .button { font-size: 12px; }
body:has(.reference-purchase) .atelier-header .shop-navigation > a,
body:has(.reference-purchase) .atelier-header .shop-navigation .nav-disclosure > summary {
  font: 500 10px/1.6 var(--sans); letter-spacing: .14em; text-transform: uppercase;
}
body:has(.reference-purchase) .announcement { font: 400 10px var(--sans); letter-spacing: .07em; }
