/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Brand fonts from the design manual (SNK-profilplansje.pdf):
   Ivy Presto Text for headings, Neue Haas Grotesk for body text. */
@font-face {
	font-family: 'Ivy Presto Text';
	src: url('Fonts/ivy-presto/ivy-presto-text-thin.otf') format('opentype');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Ivy Presto Text';
	src: url('Fonts/ivy-presto/ivy-presto-text-light.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Ivy Presto Text';
	src: url('Fonts/ivy-presto/ivy-presto-text-semi-bold%202.otf') format('opentype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-XXThin.ttf') format('truetype');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-XXThinItalic.ttf') format('truetype');
	font-weight: 100;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-XThin.ttf') format('truetype');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-XThinItalic.ttf') format('truetype');
	font-weight: 200;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-Thin.ttf') format('truetype');
	font-weight: 250;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-ThinItalic.ttf') format('truetype');
	font-weight: 250;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-Light.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-LightItalic.ttf') format('truetype');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-Roman.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-RomanItalic.ttf') format('truetype');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-Mediu.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-MediumItalic.ttf') format('truetype');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-Bold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-BoldItalic.ttf') format('truetype');
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Neue Haas Grotesk';
	src: url('Fonts/NeueHaasGrotesk/NeueHaasDisplay-BlackItalic.ttf') format('truetype');
	font-weight: 900;
	font-style: italic;
	font-display: swap;
}

/* Beaver Builder sets font-family in the Customizer skin and per module
   (.fl-builder-content .fl-node-* ...), which out-specifies theme CSS.
   !important makes the brand fonts win inside the site content. The rules are
   scoped to .fl-page / .fl-builder-content so the WP admin bar and the Beaver
   Builder editor UI (outside those wrappers) keep their own fonts, and
   :where() keeps the body rule at zero specificity so the heading rule below
   can still override it. Icon fonts (Font Awesome, Dashicons, Foundation, Ultimate Addons, Material)
   and editor block overlays are excluded. */
:root {
	--font-body: 'Neue Haas Grotesk', Helvetica, Arial, sans-serif;
	--font-heading: 'Ivy Presto Text', Georgia, serif;
}

:where(:is(.fl-page, .fl-builder-content) *:not([class*="fa-"], .fa, .fas, .far, .fab, [class*="dashicons"], [class*="icon"], [class^="fi-"], [class*=" fi-"], .mi, .material-icons, [class*="fl-block-overlay"], [class*="fl-block-overlay"] *)) {
	font-family: var(--font-body) !important;
}

:is(.fl-page, .fl-builder-content) :is(h1, h2, h3, h4, h5, h6, .fl-heading, .fl-heading-text),
:is(.fl-page, .fl-builder-content) :is(h1, h2, h3, h4, h5, h6, .fl-heading, .fl-heading-text) *:not([class*="fa-"], .fa, .fas, .far, .fab, [class*="dashicons"], [class*="icon"], [class^="fi-"], [class*=" fi-"], .mi, .material-icons, [class*="fl-block-overlay"], [class*="fl-block-overlay"] *) {
	font-family: var(--font-heading) !important;
}

:is(.fl-page, .fl-builder-content) :is(h1, h2, h3, h4, h5, h6, .fl-heading, .fl-heading-text) {
	font-weight: 300;
}

/* Beaver Builder button weight comes from the Customizer skin and per-module
   settings that can't be overridden in the UI, so force the brand weight.
   Icons are excluded: icon fonts pick their style by weight (Font Awesome
   Solid needs 900), so forcing 400 renders button icons as empty boxes. */
:is(.fl-page, .fl-builder-content) :is(.fl-button, .fl-button *:not([class*="fa-"], .fa, .fas, .far, .fab, [class*="dashicons"], [class*="icon"], [class^="fi-"], [class*=" fi-"], .mi, .material-icons), button, input[type="submit"], input[type="button"], .button) {
	font-weight: 400 !important;
}
