/*
 Theme Name:   Brentwood Physio
 Theme URI:    https://www.brentwoodphysio.ca/
 Description:  A custom child theme for GeneratePress
 Author:       Paul Jones
 Author URI:   https://pauljonesdesign.com/
 Template:     generatepress
 Version:      1.1
*/

/* ___ TYPOGRAPHY ___ */

/* 
 * Minimum Viewport: 768px
 * Maximum Viewport: 1280px
 * https://chrisburnell.com/clamp-calculator/?font-size-root=16&size-min=&size-max=&viewport-min=768&viewport-max=1280&viewport-units=vw
 * These have to match what is in the Customizer > Typography. Pull in font families using font manager. Set heading-font as 'All Headings and set body-font as Body. */
:root {
	/* Fonts */
	--heading-font: "Quincy CF", serif;
	--body-font: "Inter", sans-serif;
	--button-font: "Inter", sans-serif;

	/* Headings */
	--heading--display: clamp(2.5rem, 0.625rem + 3.906vw, 3.75rem); /* 40px → 60px */
	--heading--xl: clamp(2rem, 0.5rem + 3.125vw, 3rem); /* 32px → 48px */
	--heading--lg: clamp(1.75rem, 0.625rem + 2.344vw, 2.5rem); /* 28px → 40px */
	--heading--md: clamp(1.5rem, 0.375rem + 2.344vw, 2.25rem); /* 24px → 36px */
	--heading--sm: clamp(1.25rem, 0.875rem + 0.781vw, 1.5rem); /* 20px → 24px */
	--heading--xs: clamp(1rem, 0.625rem + 0.781vw, 1.25rem); /* 16px → 20px */

	/* Body Text */
	--text--xl: clamp(1.25rem, 0.875rem + 0.781vw, 1.5rem); /* 20px → 24px */
	--text--lg: clamp(1rem, 0.625rem + 0.781vw, 1.25rem); /* 16px → 20px */
	--text--md: 1rem; /* 16px */
	--text--sm: clamp(0.85rem, 0.7rem + 0.313vw, 0.95rem); /* 13.6px → 15.2px */
	--text--xs: clamp(0.75rem, 0.6rem + 0.313vw, 0.85rem); /* 12px → 13.6px */
}


/* Default Body / p font settings */
p {
	font-size: var(--text--md);
	font-weight:400;
	line-height:1.5;
	margin-bottom:1.5rem;
	font-family:var(--body-font);
}

h1, h2, h3, h4, h5, h6 {
	font-weight:800;
	margin-bottom: .5em;
	font-family: var(--heading-font);
}

h1 {
	font-size:var(--heading--display);
	line-height:1.2;
}

h2 {
	font-size:var(--heading--lg);
	line-height:1.2;
}

h3 {
	font-size:var(--heading--md);
	line-height:1.3;
}

h4 {
	font-size:var(--heading--sm);
	line-height:1.4;
}

h5 {
	font-size:var(--heading--xs);
	line-height:1.4;
}

h6 {
	font-size:var(--heading--xs);
	line-height:1.4;
}

p, div, blockquote, li, .pretty {
	text-wrap: pretty;
}

.no-text-wrap, .text-wrap-unset {
	text-wrap: unset;
}

/* Add top margin to blog post H2-H6 */
.single-post article :is(h2, h3, h4, h5, h6) {
	margin-top: 1.5em;
}

/* Button Global Line Height */
.gb-button {
    line-height: 1em;
}

.type-post .dynamic-entry-content h2 {
	margin-top: 1.5em;
	margin-bottom: .75em;
		font-size:var(--heading--md);
}

.type-post .dynamic-entry-content h3 {
	margin-top: 1.5em;
	margin-bottom: .75em;
		font-size:var(--heading--sm);
}

.type-post .dynamic-entry-content h4 {
	margin-top: 1.5em;
	margin-bottom: .75em;
		font-size:var(--heading--xs);
}

.type-post .dynamic-entry-content ol, .type-post .dynamic-entry-content ul {
    margin: 0 0 1.5em 1.125em;
}

.type-post .dynamic-entry-content ol li, .type-post .dynamic-entry-content ul li {
	margin-bottom:0.75em;
	line-height: 1.5;
}

/* ___ GLOBAL ___ */

@media (prefers-reduced-motion: reduce) {
	/* Disable smooth scrolling for reduced motion users */
	html {
	  scroll-behavior: auto;
	}
  
	/* Disable animations and transitions for reduced motion users */
	*, *::before, *::after {
	  animation-duration: 0ms !important;
	  transition-duration: 0ms !important;
	}
  }

.gb-button-wrapper a.gb-button, .gb-button, .main-navigation .menu-toggle, .generate-back-to-top {
		transition: all 0.3s ease 0s;
}

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type {
    margin-bottom: 0px;
}

#main {
	min-height: 65vh;
}


/* ___  MISC ___ */ 

/* Visually Hidden */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}


/* ___ THEME ___ */ 

/* Knocks out the original overlay side padding to 0. */
.slideout-navigation.do-overlay .inside-navigation {
	padding: 0 0 0 0;
	max-width: 100%;
}

/* Puts the X close icon to the top right. */
.slideout-navigation.do-overlay .slideout-exit {
    position: fixed;
    text-align: right;
}


/* ___ BLOCKS EDITOR ___ */ 

.post-type-post .editor-styles-wrapper {
    max-width: 656px;
    margin-inline: auto;
    width: 100%;
}

.post-type-post .editor-styles-wrapper p a {
	text-decoration:underline;
}

.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
    margin-bottom: 0px;
}

/* -- Search Tweaks -- */
/* Clears the ‘X’ from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	filter: grayscale(100) opacity(.3);
	cursor: pointer;
}


/* ___ BLOCKS & PLUGINS ___ */ 