/*
====================================
 Theme Name:   WPGuy Starter Kit
 Theme URI:    https://wpguy.uk
 Description:  An advanced starter child theme for GeneratePress and GenerateBlocks.
 Author:       Jason Boyd
 Author URI:   https://jasonboyd.scot
 Template:     generatepress
 Version:      6.8.1
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  wpguy-starter-kit
==================================
*/

/* ==========================================================================
   1. Global Definitions & Fluid Scale
   ========================================================================== */

/* Define the fluid typography scale. */
:root {
  --fs-body: clamp(1.125rem, 1.0893rem + 0.1786vw, 1.25rem); /* 18px -> 20px */
  --fs-h6: clamp(1.125rem, 1.0893rem + 0.1786vw, 1.25rem); /* 18px -> 20px */
  --fs-h5: clamp(1.125rem, 1.0893rem + 0.1786vw, 1.25rem); /* 18px -> 20px */
  --fs-h4: clamp(1.125rem, 1.0893rem + 0.1786vw, 1.25rem); /* 18px -> 20px */
  --fs-h3: clamp(1.375rem, 1.3214rem + 0.2679vw, 1.5625rem); /* 22px -> 25px */
  --fs-h2: clamp(1.5rem, 1.4286rem + 0.3571vw, 1.75rem); /* 24px -> 28px */
  --fs-h1: clamp(1.75rem, 1.6071rem + 0.7143vw, 2.25rem); /* 28px -> 36px */
}

/* ==========================================================================
   2. Base Element Styling
   ========================================================================== */

body {
  font-size: var(--fs-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
}

/* Assign fluid font sizes directly to heading elements. */
h1 {
  font-size: var(--fs-h1);
}
h2 {
  font-size: var(--fs-h2);
}
h3 {
  font-size: var(--fs-h3);
}
h4 {
  font-size: var(--fs-h4);
}
h5 {
  font-size: var(--fs-h5);
}
h6 {
  font-size: var(--fs-h6);
}

/* Differentiate H4–H6 by weight and case at shared body size. */
h4 {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

h5 {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

h6 {
  font-weight: 400;
}

/* Apply improved text wrapping for long-form content. */
p,
li,
blockquote {
  text-wrap: pretty;
}

/* ==========================================================================
   3. Typography Utility Classes
   ========================================================================== */

.fs-h1 {
  font-size: var(--fs-h1);
}
.fs-h2 {
  font-size: var(--fs-h2);
}
.fs-h3 {
  font-size: var(--fs-h3);
}
.fs-h4 {
  font-size: var(--fs-h4);
}
.fs-h5 {
  font-size: var(--fs-h5);
}
.fs-h6 {
  font-size: var(--fs-h6);
}
.fs-body {
  font-size: var(--fs-body);
}
