/*
Theme Name: Arolax Child
Description: Child theme of Arolex with Britti Sans integration
Template: arolax
Version: 1.1
*/

/* 0) Base: Normalize root size for rem */
html {
  font-size: 100%; /* 1rem = 16px */
}

/* 1) @font-face Declarations (WOFF2 primary, WOFF fallback) */
@font-face {
  font-family: 'Britti Sans';
  src: url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-light.woff2') format('woff2'),
       url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-light.woff') format('woff');
  font-weight: 300; /* Light */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Britti Sans';
  src: url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-regular.woff2') format('woff2'),
       url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-regular.woff') format('woff');
  font-weight: 400; /* Regular */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Britti Sans';
  src: url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-medium.woff2') format('woff2'),
       url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-medium.woff') format('woff');
  font-weight: 500; /* Medium */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Britti Sans';
  src: url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-semibold.woff2') format('woff2'),
       url('https://chesterworx.ca/wp-content/uploads/2025/10/britti-sans-semibold.woff') format('woff');
  font-weight: 600; /* SemiBold */
  font-style: normal;
  font-display: swap;
}

/* 2) Global Font Application */
body, h1, h2, h3, h4, h5, h6, p, a, span, button, input, textarea {
  font-family: 'Britti Sans', Arial, Helvetica, sans-serif !important;
}

/* 3) Typography Scale — Finalized */
body {
  font-size: 1rem;              /* 16px */
  line-height: 1.6;
  font-weight: 400;             /* Regular */
  color: #111;
}

h1 {
  font-size: 3.5rem;            /* 56px */
  line-height: 1.2;
  font-weight: 300;             /* Light (hero default) */
  letter-spacing: -0.01em;
}

h2 {
  font-size: 2.5rem;            /* 40px */
  line-height: 1.25;
  font-weight: 600;             /* SemiBold */
  letter-spacing: -0.005em;
}

h3 {
  font-size: 2rem;              /* 32px */
  line-height: 1.3;
  font-weight: 600;             /* SemiBold */
}

h4 {
  font-size: 1.5rem;            /* 24px */
  line-height: 1.4;
  font-weight: 500;             /* Medium */
}

h5 {
  font-size: 1.25rem;           /* 20px */
  line-height: 1.45;
  font-weight: 500;             /* Medium */
}

h6 {
  font-size: 1.125rem;          /* 18px */
  line-height: 1.5;
  font-weight: 400;             /* Regular */
}

/* 4) Links and Small/Accent text */
a { text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
.small { font-size: 0.875rem; line-height: 1.5; } /* 14px accents */

/* 5) Buttons and Form Controls */
button, .button, [type="button"], [type="submit"], .elementor-button {
  font-family: 'Britti Sans', Arial, Helvetica, sans-serif !important;
  font-weight: 600;             /* SemiBold for CTAs */
  font-size: 1rem;              /* 16px */
  line-height: 1.2;
  letter-spacing: 0.01em;
}
input, select, textarea {
  font-family: 'Britti Sans', Arial, Helvetica, sans-serif !important;
  font-weight: 400;
  font-size: 1rem;              /* 16px */
  line-height: 1.5;
}

/* 6) Elementor / Arolex overrides */
.arolax-base,
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-button .elementor-button,
.elementor-widget-nav-menu,
.elementor-nav-menu--main .elementor-item,
.elementor-widget-form,
.site-title, .site-description,
.entry-title, .entry-content, .page-title {
  font-family: 'Britti Sans', Arial, Helvetica, sans-serif !important;
}

/* 7) Icon Fonts Guard (do not override icons) */
[class*="icon"], .icon, .eicon, .fa, [class*="fa-"], i[class] {
  font-family: inherit;
}

/* 8) Navigation and CTA refinements */
.elementor-nav-menu--main .elementor-item {
  font-weight: 500;             /* Medium for readability */
}
.elementor-button--primary, .elementor-button-primary {
  font-weight: 600;             /* Stronger emphasis */
}

/* 9) Optional utilities */
.h1-hero-lg { font-size: 4rem; line-height: 1.15; }   /* 64px large hero */
.h1-strong  { font-weight: 600; letter-spacing: 0; }  /* opt-in heavier H1 */
.max-text   { max-width: 75ch; }                       /* improve long-read measure */