/* ==========================================================================
   Europe Odyssey: one type system for the whole site (loaded on every front-end page)
   - Serif  (Playfair Display)   = headings h1-h3 and the titles of cards / places / tours
   - Sans   (Plus Jakarta Sans)  = everything else: body text, menus, buttons, form fields,
                                    small uppercase labels, footer headings, prices, h4-h6 labels
   ========================================================================== */
:root {
	--eo-font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	--eo-font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

/* body text and form controls never fall back to a browser / plugin font */
body, button, input, select, textarea, optgroup { font-family: var(--eo-font-sans); }

/* display headings */
h1, h2, h3 { font-family: var(--eo-font-serif); }

/* h4-h6 are labels / small headings: sans, like the other small uppercase labels on the site */
h4, h5, h6 { font-family: var(--eo-font-sans); }
/* ... except sub-headings written inside page content (tour descriptions, blog posts) */
.entry-content h4, .post-content h4, .eo-tour-content h4, .elementor-widget-text-editor h4, .wp-block-heading { font-family: var(--eo-font-serif); }

/* footer column headings are small uppercase labels */
.eo-footer h4, footer.eo-footer h4, .eo-footer-col h4 { font-family: var(--eo-font-sans) !important; }

/* titles of cards / places / tours are always serif, whatever tag they use */
.eo-pin-card-title, .eo-feat-title, .eo-feat-title a, .eo-card-title, .eo-dest-card-title,
.eo-puzzle-city-heading, .eo-section-title, .eo-timeline-title { font-family: var(--eo-font-serif) !important; }
