/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.1.1775756889
Updated: 2026-04-09 11:48:09

*/



/*
|| CSS Architecture

B.E.M. Naming System [block-element-modifier]: (ex. ".footer__cta-button--outline")
	 > Block = stand-alone entity: .container-hero, .card-product
	 > Element = inside block, references parent block in name: .hero-container__tagline, .product-card__title
	 > Modifier = changes style or behavior: .product-card__title--highlighted

Misc classes
	 > Utilities = .u-bg-primary, .u-text-center (each should have only ONE job)
	 > States = prefixed with .is- and .has- (scoped to component or sub-element, never global; i.e. .tweet.is-favorited)

Guidelines:
	 * Limit nesting to 1 level. (.card-product__title OK, .card-product__form__label NOT OK)
	 * Separate content patterns from display patterns
	 * Avoid location dependent styles (e.g. ".blog-post h2"); use classes instead, e.g. "h2.blog-post".
	 * Grids control width, content controls height.
	 * Separate spacing system from components. Components' spacing and margins can be modified with utility classes.
	 * If block margins must be set, use margin-bottom (single-direction margin) only. :not(:last-child) can modify last children.
	 * Color notations, use modern syntax (rgb(31 41 59 / 0.26)), not legacy syntax with commas. Use rgb(), NOT rgba() so that alpha channel is optional without changing syntax.
	 * Write media queries in order from smallest to largest display.
*/



/*
|| CSS Organization

1. ROOT SELECTORS
	Variables for spacing, typography, responsive/fluid scaling
	Primitive tokens
	Semantic tokens
	Component tokens
2. THEME
	Typography (headings, lists)
	Colors
	Header
	Navigation
	Sidebar
	Footer
	Buttons
	Overrides
3. CUSTOM CLASSES
	Pages
	Layouts & Grids
	Components (i.e. button-styles)
4. UTILITIES
*/



/*
|| 1. ROOT SELECTORS
|| ==========================================
*/
:root {
	/* SPACING variables for use in global classes */
	/* https://utopia.fyi/space/calculator/?c=360,16,1.2,1280,32,1.25,5,2,&s=0.75|0.5,1.5|2|3|4|6,&g=s,l,xl,12 */
	--grid-gap: var(--space-m);
	
	--space-2xs: clamp(0.5rem, 0.3043rem + 0.8696vw, 1rem);
	--space-xs: clamp(0.75rem, 0.4565rem + 1.3043vw, 1.5rem);
	--space-s: clamp(1rem, 0.6087rem + 1.7391vw, 2rem);
	--space-m: clamp(1.5rem, 0.913rem + 2.6087vw, 3rem);
	--space-l: clamp(2rem, 1.2174rem + 3.4783vw, 4rem);
	--space-xl: clamp(3rem, 1.8261rem + 5.2174vw, 6rem);
	--space-2xl: clamp(4rem, 2.4348rem + 6.9565vw, 8rem);
	--space-3xl: clamp(6rem, 3.6522rem + 10.4348vw, 12rem);
	
	/* TYPOGRAPHY variables for use in global classes */
	/* https://utopia.fyi/type/calculator/?c=360,16,1.125,1280,20,1.25,5,2,&s=0.75|0.5,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
	--font-size: 100%;
	
	--font-size-xs: clamp(0.7901rem, 0.7863rem + 0.0172vw, 0.8rem); /* 12.642px → 12.8px */
	--font-size-s: clamp(0.8889rem, 0.8454rem + 0.1932vw, 1rem); /* 14.2222px → 16px */
	--font-size-m: clamp(1rem, 0.9022rem + 0.4348vw, 1.25rem); /* 16px → 20px -- BODY TEXT */
	--font-size-l: clamp(1.125rem, 0.9538rem + 0.7609vw, 1.5625rem); /* 18px → 25px */
	--font-size-xl: clamp(1.2656rem, 0.9966rem + 1.1957vw, 1.9531rem); /* 20.25px → 31.25px */
	--font-size-2xl: clamp(1.4238rem, 1.0256rem + 1.7697vw, 2.4414rem); /* 22.7813px → 39.0625px */
	--font-size-3xl: clamp(1.6018rem, 1.0344rem + 2.5217vw, 3.0518rem); /* 25.6289px → 48.8281px */
	--font-size-4xl: clamp(1.802rem, 1.0145rem + 3.5003vw, 3.8147rem); /* 28.8325px → 61.0352px */
}

@media (max-width: 1440px) {
	:root {
		--spacing-scale: 1.333;
		--text-scale: 1.250;
	}
}



/*
|| 2. THEME
|| ===============================
*/

/* Typography - recommended font-sizes */
.font-size-xs { font-size: var(--font-size-xs); }
.font-size-s { font-size: var(--font-size-s); }
.font-size-m { font-size: var(--font-size-m); } /* body text */
.font-size-l { font-size: var(--font-size-l); }
.font-size-xl { font-size: var(--font-size-xl); }
.font-size-2xl { font-size: var(--font-size-2xl); }
.font-size-3xl { font-size: var(--font-size-3xl); }
.font-size-4xl { font-size: var(--font-size-4xl); }

h6 { font-size: var(--font-size-xs); }
h5 { font-size: var(--font-size-s); }
h4 { font-size: var(--font-size-m); }
h3 { font-size: var(--font-size-l); }
h2 { font-size: var(--font-size-xl); }
h1 { font-size: var(--font-size-2xl); }

/* Typography - recommended line heights */
:is(p) {
	line-height: 2em;
	margin-bottom: 1.25em;
}
:is(h5) {
	line-height: 1.7em;
	margin-bottom: 0.7em;
}
:is(h4) {
	line-height: 1.7em;
	margin-bottom: 0.65em;
}
:is(h3) {
	line-height: 1.5em;
	margin-bottom: 0.6em;
}
:is(h2) {
	line-height: 1.5em;
	margin-bottom: 0.55em;
}
:is(h1) {
	line-height: 1.5em;
	margin-bottom: 0.5em;
}

