/*
 * MIT Baskerville titles (plugin 2.7.32)
 *
 * Titles of the PUBLIC site are set in Libre Baskerville (SIL Open Font
 * License 1.1, files and licence in fonts/), self-hosted: no call to Google
 * Fonts or any third party. Italic marks sub-titles / over-titles (eyebrows)
 * and the emphasised letters or words inside a title.
 *
 * Loaded on the front only (inc/mit-baskerville-titles.php), never in wp-admin
 * nor in the dashboard. Everything is scoped to body.mit-baskerville-titles,
 * which the plugin adds only while the setting is on: no !important needed,
 * the extra class is what wins over the Elementor kit, the per-widget
 * typography and the Divi module rules.
 *
 * Documented classes you can put in Elementor > Advanced > CSS Classes:
 *   .mit-eyebrow       text above a title (italic Baskerville)
 *   .mit-subtitle      text under a title (italic Baskerville)
 *   .mit-accent        emphasised letters or words inside a title (italic)
 *   .mit-title         a title that is not a heading tag (div, p, span)
 *   .mit-no-baskerville  opt-out: the element and everything inside keep the site font
 * CSS variables (set them on body.mit-baskerville-titles from the Customizer):
 *   --mit-baskerville-weight   weight of titles, 400 by default (700 = bold)
 */

/* ---- Libre Baskerville (regular, italic, bold, bold italic; latin + latin-ext) ---- */
@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-ext-400-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-ext-700-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-ext-700-italic.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-400-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Libre Baskerville";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/libre-baskerville-latin-700-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---- Metric-adjusted fallbacks: the page does not jump when the font swaps in ---- */
@font-face {
  font-family: "MIT Baskerville Fallback Georgia";
  font-style: normal;
  font-weight: 400;
  src: local("Georgia"), local("Georgia-Regular");
  size-adjust: 116.6%;
  ascent-override: 83.2%;
  descent-override: 23.2%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "MIT Baskerville Fallback Georgia";
  font-style: italic;
  font-weight: 400;
  src: local("Georgia Italic"), local("Georgia-Italic");
  size-adjust: 101.5%;
  ascent-override: 95.6%;
  descent-override: 26.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "MIT Baskerville Fallback Georgia";
  font-style: normal;
  font-weight: 700;
  src: local("Georgia Bold"), local("Georgia-Bold");
  size-adjust: 102.5%;
  ascent-override: 94.7%;
  descent-override: 26.3%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "MIT Baskerville Fallback Georgia";
  font-style: italic;
  font-weight: 700;
  src: local("Georgia Bold Italic"), local("Georgia-BoldItalic");
  size-adjust: 92.3%;
  ascent-override: 105.1%;
  descent-override: 29.3%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "MIT Baskerville Fallback Times";
  font-style: normal;
  font-weight: 400;
  src: local("Times New Roman"), local("TimesNewRomanPSMT");
  size-adjust: 128.5%;
  ascent-override: 75.5%;
  descent-override: 21.0%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "MIT Baskerville Fallback Times";
  font-style: italic;
  font-weight: 400;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT");
  size-adjust: 113.8%;
  ascent-override: 85.2%;
  descent-override: 23.7%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "MIT Baskerville Fallback Times";
  font-style: normal;
  font-weight: 700;
  src: local("Times New Roman Bold"), local("TimesNewRomanPS-BoldMT");
  size-adjust: 123.7%;
  ascent-override: 78.4%;
  descent-override: 21.8%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "MIT Baskerville Fallback Times";
  font-style: italic;
  font-weight: 700;
  src: local("Times New Roman Bold Italic"), local("TimesNewRomanPS-BoldItalicMT");
  size-adjust: 117.9%;
  ascent-override: 82.3%;
  descent-override: 22.9%;
  line-gap-override: 0%;
}

body.mit-baskerville-titles {
  --mit-baskerville-font: "Libre Baskerville", "MIT Baskerville Fallback Georgia", "MIT Baskerville Fallback Times", Georgia, "Times New Roman", serif;
  --mit-baskerville-weight: 400;
}

/* ---- Titles ---- */
body.mit-baskerville-titles h1:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h2:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h3:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h4:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h5:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h6:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-heading-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-widget-heading .elementor-heading-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-widget-icon-box .elementor-icon-box-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-widget-image-box .elementor-image-box-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-widget-call-to-action .elementor-cta__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .et_pb_module_header:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h1.mit-city-therapy-main-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h1.mit-city-therapy-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h1.servpop-city-main-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h1.servpop-city-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-city-therapy-main-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .servpop-city-main-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-city-therapies__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-city-workshops-auto__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-city-workshops__fallback-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-workshop-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-workshop-next__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-workshop-cities__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-workshop-therapist__name:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .therapist-card__name:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-api-summary-card__name:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-api-section__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-api-section__service-name:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-services__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-services__name:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-related__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-mini-card__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-faq__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-education__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-diplomas__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-therapist-contact__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-directory-summary__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-directory-empty__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-matcher__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-matcher__results-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-popup__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-content-modal__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-content-card__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-booking-sheet__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-booking__step-heading:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-footer-links__title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-title:not(.mit-no-baskerville, .mit-no-baskerville *) {
  font-family: var(--mit-baskerville-font);
  font-weight: var(--mit-baskerville-weight);
  font-kerning: normal;
  font-synthesis: none;
}

/* Bold words inside a title use the real bold face */
body.mit-baskerville-titles h1 :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h2 :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h3 :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h4 :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h5 :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h6 :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-heading-title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .et_pb_module_header :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-workshop-title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .therapist-card__name :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-popup__title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-city-therapy-main-title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .servpop-city-main-title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-content-modal__title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-content-card__title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-title :is(strong, b):not(.mit-no-baskerville, .mit-no-baskerville *) {
  font-weight: 700;
}

/* ---- Emphasised letters or words inside a title: italic ---- */
body.mit-baskerville-titles h1 :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h2 :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h3 :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h4 :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h5 :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles h6 :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-heading-title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .et_pb_module_header :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-workshop-title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .therapist-card__name :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-popup__title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-city-therapy-main-title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .servpop-city-main-title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-content-modal__title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-content-card__title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-title :is(em, i:not([class]), .mit-accent):not(.mit-no-baskerville, .mit-no-baskerville *) {
  font-family: var(--mit-baskerville-font);
  font-style: italic;
}

/* ---- Sub-titles and over-titles (eyebrows): italic, sentence case ---- */
body.mit-baskerville-titles .mit-eyebrow:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-subtitle:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-popup__eyebrow:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-workshop-kicker:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-public-content-modal__kicker:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-city-hero-block__eyebrow:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-directory-summary__subtitle:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .therapist-card__subtitle:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-widget.mit-eyebrow .elementor-heading-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .elementor-widget.mit-subtitle .elementor-heading-title:not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-eyebrow :is(h1, h2, h3, h4, h5, h6):not(.mit-no-baskerville, .mit-no-baskerville *),
body.mit-baskerville-titles .mit-subtitle :is(h1, h2, h3, h4, h5, h6):not(.mit-no-baskerville, .mit-no-baskerville *) {
  font-family: var(--mit-baskerville-font);
  font-style: italic;
  font-weight: 400;
  font-synthesis: none;
  text-transform: none;
  letter-spacing: normal;
}

/* Opt-out: every rule above carries :not(.mit-no-baskerville, .mit-no-baskerville *), so a
   container with the class .mit-no-baskerville keeps exactly the fonts the theme gave it. */
