/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* STANDARD STYLESHEET */
/* Here you find general settings that should are not website specific (and can be used on other websites as well) */


/* === FRAMEWORK VARIABLES === */

:root {

	
	/* Gap */
	--gap-xs: 8px;
	--gap-s: 16px;
	--gap-m: 32px;
	--gap-l: 64px;
	--gap-xl: 96px;
	
	/* Color palette */
/*  --color-primary: #007acc;
  --color-secondary: #f8f9fa;
  --color-accent: #e94e77;
  --color-background: #ffffff;
  --color-text-primary: #222222;
  --color-text-secondary: #555555;
  --color-border: #cccccc;

  /* Typography */
/*  --font-family-base: 'Roboto', sans-serif;
  --font-family-heading: 'Montserrat', sans-serif; */
  --font-size-base: clamp(0.9375rem, 0.8523rem + 0.3409vw, 1.125rem);
  --font-size-h1: clamp(2.625rem, 2.3864rem + 0.9545vw, 3.15rem);
  --font-size-h2: clamp(1.9688rem, 1.7898rem + 0.7159vw, 2.3625rem);
  --font-size-h3: clamp(1.6406rem, 1.4915rem + 0.5966vw, 1.9688rem);
  --font-size-h4: clamp(1.3125rem, 1.1932rem + 0.4773vw, 1.575rem);
  --font-size-h5: clamp(1.0938rem, 0.9943rem + 0.3977vw, 1.3125rem);
  --font-size-h6: clamp(0.9844rem, 0.8949rem + 0.358vw, 1.1813rem);
  /*--font-size-p: clamp(0.9375rem, 0.8523rem + 0.3409vw, 1.125rem);*/
  --font-size-p: clamp(1.0417rem, 0.947rem + 0.3788vw, 1.25rem);
/*  --font-size-small: 0.875rem;
  --font-size-large: 1.25rem;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --line-height-base: 1.5;*/
--gp-font--body: var(--gp-font--heading);
	
  /* Width */
  --max-text-width: 55ch; /* for readability text lines won´t be wider than */
	
  /* Spacing */
	/* Padding */
	--padding-xs: 8px;
	--padding-s: 16px;
	--padding-m: 32px;
	--padding-l: 64px;
	--padding-xl: 96px;
	/* do not change custom padding values below */
	--takeaways-padding: 16px;
	
	/* Margin */
	--margin-xs: 8px;
	--margin-s: 16px;
	--margin-m: 32px;
	--margin-l: 64px;
	--margin-xl: 96px;	
    /* do not change custom margin values below */
	--sidebar-margin: 1em;
/*  --spacing-small: 8px;
  --spacing-medium: 16px;
  --spacing-large: 32px;


  /* Border radius */
  --border-radius-s: 3px;
  --border-radius-m: 7px;
  --border-radius-d: 14px;
  --border-radius-l: 28px;
  --border-radius-xxl: 100px;

  /* Shadows */
/*  --shadow-light: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-medium: 0 4px 6px rgba(0, 0, 0, 0.15);

  /* Breakpoints */
/*  --breakpoint-mobile: 480px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 1024px;*/
}

html {
  scroll-behavior: smooth !important;
}
body {
  margin: 0;                    /* Remove default margin for edge-to-edge layout */
  padding: 0;                   /* Remove default padding */
  /*font-family: Arial, sans-serif; /* Set a clean, readable font */
  line-height: 1.5;             /* Improve text readability with line height */
  background-color: var(--neutral-50);       /* Set background color */
  color: var(--neutral-900);                  /* Set default text color */
/*  overflow-x: hidden;           /* Prevent horizontal scroll if any overflow */
/*  min-width: 320px;             /* Minimum width for mobile devices */
}
@media (max-width: 767px) {
  body {
    font-size: 17px;  /* Larger font on tablets and up */
  }
}
@media (min-width: 768px) {
  body {
    font-size: 18px;  /* Larger font on tablets and up */
  }
}

@media (min-width: 1024px) {
  body {
    font-size: 20px; /* Larger font on desktops and up */
    /*max-width: 1200px; /* Optional max width for readability */
    margin: 0 auto; /* Center content horizontally */
  }
}

/*Improve accessibility with visible focus states for keyboard users:*/
:focus {
  outline: 3px solid var(--brand-primary); /* a visible purple outline */
  outline-offset: 2px;
}
/* -- TYPOGRAPHY -- */

/* Set Font Family */

.ff-body {
    font-family: var(--gp-font--body);
}
p, looks-p {
    font-family: var(--gp-font--body);
}

.ff-heading {
	font-family: var(--gp-font--heading);
}
h1, h2, h3, h4, h5, h6, [class*=looks-h] {
    font-family: var(--gp-font--heading);
	color: var(--neutral-900);
	word-break: break-word;
}
h1::first-letter {
	text-transform: uppercase;
}
looks-h7 {
	font-size: clamp(1.10155rem, 1.00145rem + 0.40055vw, 1.3219rem);
}
.caption, .wp-element-caption {
	font-style: italic;
	font-size: .8em;	
}
table {
	margin: 0 0 .5em;
}

.dynamic-terms a {
	font-size: calc(var(--font-size-base)*0.92);
	font-weight: 600;
}
.gb-menu-link {
	font-size: 1.3em;
}
.current_page_item {
	color: var(--brand-primary)
}
/* Fluid Typography Scale */

h1, .looks-h1, .looptitle-category-keyword, .looptitle-tag-keyword {
	/*font-size: clamp(3.375rem, 3.0682rem + 1.2273vw, 4.05rem);*/
	font-size: var(--font-size-h1);
}

h2, .looks-h2 {
	/*font-size: clamp(2.5313rem, 2.3011rem + 0.9205vw, 3.0375rem);*/
	font-size: var(--font-size-h2);
}

h3, .looks-h3 {
	/*font-size: clamp(2.1094rem, 1.9176rem + 0.767vw, 2.5313rem);*/
	font-size: var(--font-size-h3);
}

h4, .looks-h4 {
	/*font-size: clamp(1.6875rem, 1.5341rem + 0.6136vw, 2.025rem);*/
	font-size: var(--font-size-h4);
}

h5, .looks-h5, .looptitle-category, .looptitle-tag {
	/*font-size: clamp(1.4063rem, 1.2784rem + 0.5114vw, 1.6875rem);*/
	font-size: var(--font-size-h5);
}

h6, .looks-h6 {
	/*font-size: clamp(1.2656rem, 1.1506rem + 0.4602vw, 1.5188rem);*/
	font-size: var(--font-size-h6);
}

a, p, .looks-p, li {
	font-size: var(--font-size-p);
}
.article-content-container :is(h2, h3, h4, h5, h6):not([class*=article-group__]):not([class*=blog-card__]) {
	margin-top: 1.5em;
}

@media (max-width: 768px) {
    /* CSS in here for mobile only */
/* Fluid Typography Scale */
	h1, .looks-h1 {
		font-size: clamp(3rem, 2.9086rem + 0.3655vw, 3.201rem);
	}

	h2, .looks-h2 {
		font-size: clamp(2.25rem, 2.1815rem + 0.2741vw, 2.4008rem);
	}

	h3, .looks-h3 {
		font-size: clamp(1.875rem, 1.8179rem + 0.2284vw, 2.0006rem);
	}

	h4, .looks-h4 {
		font-size: clamp(1.5rem, 1.4543rem + 0.1827vw, 1.6005rem);
	}

	h5, .looks-h5 {
		font-size: clamp(1.25rem, 1.2119rem + 0.1523vw, 1.3338rem);
	}

	h6, .looks-h6 {
		font-size: clamp(1.125rem, 1.0907rem + 0.137vw, 1.2004rem);
	}
	:is(a, p, .looks-p, li) {
		/*font-size: clamp(0.9372rem, 0.9087rem + 0.1142vw, 1rem);*/
		font-size: clamp(1.1458rem, 1.0417rem + 0.4167vw, 1.375rem);
	}
}
@media (min-width: 769px) and (max-width: 1024px) {
    /* CSS in here for tablet only */
}
@media (min-width: 1025px) {
    /* CSS in here for desktop only */
}

.looptitle-category, .looptitle-tag {
	font-weight: bold;
}
/*ul.article-group__link-list {
	margin-left: 1em;
	margin-bottom: 0px;
}
.article-group__link-list li {
	list-style: disclosure-closed;
	padding-bottom: 0.25rem;
	padding-left: 0.25rem;
}
.article-group__link-list li::marker {
    color: var(--brand-primary);
}*/

.footer a {
	color: var(--neutral-0);
}
.footer a:hover {
	text-decoration: none;
}
@media screen { /* when clicking an internal link (#), add some margin on top of the destination */
  h1, h2, h3, h4, h5, h6, li {
    scroll-margin-top: 85px;
  }
}

/* -- IMAGE ADJUSTMENTS -- */
[class*=wp-image-] {
	border-radius: 7px;
}


/* LIST ITEMS */
.wp-block-list-sublist {
	list-style-type: circle;
}
.related-articles { /* Links under article that are related */
	margin-top: 24px;
	margin-bottom: .5em;
}

/* -- LOGO SETTINGS -- */
@media (max-width: 768px) {
    /* CSS in here for mobile only */
    .logo {
        --logo-width: 150px;
/*      --logo-text-size: 13.5px;
        --logo-text-line-height: 15.85px;
        --padding-block-start: 48px;
        --padding-block-end: 22.5px;*/
    }
    .logo-footer {
        --logo-width: 230px;
    }
}
@media (min-width: 769px) and (max-width: 1024px) {
    /* CSS in here for tablet only */
    .logo {
        --logo-width: 120px;
/*      --logo-text-size: 13.5px;
        --logo-text-line-height: 15.85px;
        --padding-block-start: 48px;
        --padding-block-end: 22.5px;*/
    }
    .logo-footer {
        --logo-width: 300px;
    }
}
@media (min-width: 1025px) {
    /* CSS in here for desktop only */
    .logo {
        --logo-width: 120px;
/*      --logo-text-size: 13.5px;
        --logo-text-line-height: 15.85px;
        --padding-block-start: 48px;
        --padding-block-end: 22.5px;*/
    }
	.logo-footer {
		--logo-width: 300px;
	}
}

/* -- ACCORDION -- */
/*[class*=gb-accordion__item-] {
	border: 1px solid var(--neutral-100) !important;
	border-radius: 7px;
	background-color: var(--neutral-0);
	opacity: .6;
}
[class*=gb-accordion__item-]:is(:hover, :focus, :active), .gb-accordion__item-open {
    opacity: 1;
}
*/

a {
  text-decoration: none; /* Remove underline */
  background: none; /* Remove highlight */
  cursor: pointer; /* Show button hand cursor */
}

a:hover {
  text-decoration: none; /* Ensure no underline on hover */
  background: none; /* No highlight on hover */
  cursor: pointer; /* Button hand cursor on hover */
}
