/* ==========================================================================
   "Heading font" (cards #651 / #652 / #658 / #661; inc/features/heading-font.php): headings in Cormorant or Lato.
   The ways to pick, all the same look:
   - on an element (its UX Builder "Heading font" option, or a class typed in a Section / Row / Text element's Class
     box): swp-hfont--cormorant (short: font-serif) / swp-hfont--lato (short: font-sans) styles the h1-h4 inside it;
   - on one heading: the text editor's Formats › "Heading: Cormorant" / "Heading: Lato" (#661), or the class in the HTML
     (<h2 class="swp-hfont--cormorant">). A heading's own class beats its element's class.
   All of them beat the home page's "Home section headings" switch (home-v2.css section 14 skips them).
   Lato = Lato 700 at the Stonewood Pro page's heading sizes (H1 46px at 1440 / 32px at 390, H2 30 / 26px, H3 22 / 20px,
   H4 18 / 17px; line height 1.15; H1 / H2 -0.01em). Cormorant = "SWP Serif" 600 at the home page's serif sizes (H1 58 /
   44px, H2 44 / 32px, H3 36 / 32px, H4 28 / 24px; line height 1.04 / 1.08 / 1.05 / 1.1). The sizes scale smoothly
   between 390 and 1440. swp-hfont--size-h1 / -h2 / -h3 next to an element's class: every heading inside at that size.
   The serif file loads when such a heading is on the page (its @font-face in fonts.css); until then the size-matched
   "SWP Serif Fallback" (fonts.css) holds the space, so nothing moves; no plain Georgia in the stack (#658).
   Also loaded inside the text editor (heading-font.php, mce_css), so the editor shows the pick.
   !important: the elements' own heading rules are often more specific; a pick here must win.
   No layout properties here: a class only changes the heading's type.
   ========================================================================== */

/* Lato */
:is(.swp-hfont--lato, .font-sans) :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans),
:is(h1, h2, h3, h4):is(.swp-hfont--lato, .font-sans) {
	font-family: Lato, "Lato Fallback", sans-serif !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
}
:is(.swp-hfont--lato, .font-sans) h1:not([class*="swp-hfont--"], .font-serif, .font-sans), h1:is(.swp-hfont--lato, .font-sans),
:is(.swp-hfont--lato, .font-sans).swp-hfont--size-h1 :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans) {
	font-size: clamp(32px, 1.333vw + 26.8px, 46px) !important;
	letter-spacing: -.01em !important;
}
:is(.swp-hfont--lato, .font-sans) h2:not([class*="swp-hfont--"], .font-serif, .font-sans), h2:is(.swp-hfont--lato, .font-sans),
:is(.swp-hfont--lato, .font-sans).swp-hfont--size-h2 :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans) {
	font-size: clamp(26px, .381vw + 24.5px, 30px) !important;
	letter-spacing: -.01em !important;
}
:is(.swp-hfont--lato, .font-sans) h3:not([class*="swp-hfont--"], .font-serif, .font-sans), h3:is(.swp-hfont--lato, .font-sans),
:is(.swp-hfont--lato, .font-sans).swp-hfont--size-h3 :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans) {
	font-size: clamp(20px, .19vw + 19.3px, 22px) !important;
	letter-spacing: 0 !important;
}
:is(.swp-hfont--lato, .font-sans) h4:not([class*="swp-hfont--"], .font-serif, .font-sans), h4:is(.swp-hfont--lato, .font-sans) {
	font-size: clamp(17px, .095vw + 16.6px, 18px) !important;
	letter-spacing: 0 !important;
}

/* Cormorant (the brand serif) */
:is(.swp-hfont--cormorant, .font-serif) :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans),
:is(h1, h2, h3, h4):is(.swp-hfont--cormorant, .font-serif) {
	font-family: "SWP Serif", "SWP Serif Fallback", serif !important;
	font-style: normal !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}
:is(.swp-hfont--cormorant, .font-serif) h1:not([class*="swp-hfont--"], .font-serif, .font-sans), h1:is(.swp-hfont--cormorant, .font-serif),
:is(.swp-hfont--cormorant, .font-serif).swp-hfont--size-h1 :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans) {
	font-size: clamp(44px, 1.333vw + 38.8px, 58px) !important;
	line-height: 1.04 !important;
}
:is(.swp-hfont--cormorant, .font-serif) h2:not([class*="swp-hfont--"], .font-serif, .font-sans), h2:is(.swp-hfont--cormorant, .font-serif),
:is(.swp-hfont--cormorant, .font-serif).swp-hfont--size-h2 :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans) {
	font-size: clamp(32px, 1.143vw + 27.5px, 44px) !important;
	line-height: 1.08 !important;
}
:is(.swp-hfont--cormorant, .font-serif) h3:not([class*="swp-hfont--"], .font-serif, .font-sans), h3:is(.swp-hfont--cormorant, .font-serif),
:is(.swp-hfont--cormorant, .font-serif).swp-hfont--size-h3 :is(h1, h2, h3, h4):not([class*="swp-hfont--"], .font-serif, .font-sans) {
	font-size: clamp(32px, .381vw + 30.5px, 36px) !important;
	line-height: 1.05 !important;
}
:is(.swp-hfont--cormorant, .font-serif) h4:not([class*="swp-hfont--"], .font-serif, .font-sans), h4:is(.swp-hfont--cormorant, .font-serif) {
	font-size: clamp(24px, .381vw + 22.5px, 28px) !important;
	line-height: 1.1 !important;
}
