/* =============================================
   THEME: Woodlands (client-local palette, local-themes/palettes/woodlands.json)
   Catherine Nicholas's own colours from her live site
   Font Pairing: Reading Serif (Merriweather + DM Sans)
   ============================================= */

/* --- Google Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,700&family=Caveat:wght@500&display=swap');

/* --- Theme Variables --- */
:root {
  /* Colour Palette */
  --color-primary: #660000;
  --color-primary-light: #890000;
  --color-primary-dark: #4A0000;
  --color-secondary: #4E798E;
  --color-secondary-light: #7397A9;
  --color-secondary-dark: #3B5C6C;
  --color-accent: #93A37E;
  --color-accent-light: #B3C0A2;
  --color-bg: #FFFFFF;
  --color-bg-alt: #E4E8DF;
  --color-bg-dark: #2A1616;
  --color-surface: #FFFFFF;
  --color-surface-alt: #F3F3F3;
  --color-text: #444444;
  --color-text-light: #484848;
  --color-text-inverse: #FFFFFF;
  --color-text-heading: #3D3D3D;
  --color-border: #D3D9CB;
  --color-border-light: #E4E8DF;
  --color-success: #5C7A4A;
  --color-error: #B3261E;

  /* Typography (measured on her live site at 1920, 1366 and 390px, 30-10-2026,
     with scripts/style_parity.py) */
  --font-heading: 'Merriweather', Georgia, 'Times New Roman', serif;
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --text-h1-desktop: 2rem;
  --text-h1: 2rem;
  --text-h2-desktop: 1.75rem;
  --text-h2: 1.625rem;
  --text-h3-desktop: 1.5rem;
  --text-h3: 1.5rem;
  --line-height-tight: 1.4;
  --heading-weight: 400;
  --h1-weight: 400;
  --h2-weight: 600;
  --h3-weight: 400;
  --heading-tracking: -0.5px;
  --prose-h2-size: clamp(1.5rem, 1.2vw + 1.1rem, 1.625rem);
  --prose-h2-weight: 500;
  --prose-p-gap: 14.4px;
  --prose-h3-gap: 8px;
  --prose-h3-after: 16px;
  --text-note-size: 1rem;
  --page-header-padding: 44px;
  --page-header-padding-desktop: 52px;
  --page-header-rule-width: 125px;
  --page-header-rule-height: 3px;
  --page-header-rule-gap: 14px;
  --page-header-title-width: 750px;
  --content-link-decoration: none;
  --footer-legal-size: 13px;
  --footer-name-size: clamp(2rem, 2.4vw, 2.125rem);
  --strong-weight: 700;
  --hero-heading-color: var(--color-primary);
  --footer-brand-color: var(--color-primary);
  --intro-align: start;

  /* Her page box: 90% of the window up to 1410px, content 1290px */
  --container-max: 1330px;
  --container-gutter: 20px;
  --section-padding: 60px;
  --section-padding-desktop: 60px;

  /* Aesthetic: square corners, no card frames (her site); 3px buttons */
  --aesthetic-radius: 0px;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --aesthetic-shadow-card: none;
  --aesthetic-border-width: 0px;
  --btn-radius: 3px;
  --btn-font-size: 1rem;
  --btn-weight: 600;
  --btn-transform: uppercase;
  --btn-padding: 13px 15px;

  /* Header: maroon name, tagline and her place on three lines, sage menu bar
     with white words */
  --nav-name-color: var(--color-primary);
  --nav-name-size: clamp(2.375rem, 3.1vw, 2.625rem);
  --nav-name-weight: 500;
  --nav-name-tracking: -1px;
  --nav-title-transform: none;
  --nav-title-tracking: -0.5px;
  --nav-title-size: clamp(1.25rem, 1.8vw, 1.5rem);
  --nav-title-color: var(--color-primary);
  --nav-title-font: var(--font-heading);
  --nav-top-padding: clamp(39px, 4.25vw, 58px);
  --nav-top-padding-bottom: clamp(28px, 2.9vw, 40px);
  --nav-place-gap: 22px;
  --nav-brand-gap: 12px;
  --form-label-size: 1.1875rem;
  --nav-contact-size: 1.1875rem;
  --nav-social-bg: #3B5998;
  --nav-social-size: 32px;
  --nav-bar-bg: #93A37E;
  --nav-bar-text: #FFFFFF;
  --nav-bar-padding: 0px;
  --nav-link-size: 17px;
  --nav-link-weight: 500;
  --nav-link-padding: 13px 20px;
  --nav-link-gap: 0px;
  --nav-active-line: 0%;
  --nav-toggle-bg: var(--color-primary);
  --nav-toggle-bar: #FFFFFF;

  /* Her slanted hero */
  --hero-slope-panel: var(--color-bg-alt);
  --hero-cut-heading-size: 2rem;
  --hero-cut-heading-gap: 64px;
  --hero-lead-size: var(--text-md);

  /* Her portrait card, therapy cards, tabs, CTA strip and footer card */
  --profile-name-size: 1.5rem;
  --profile-meta-size: 1rem;
  --card-icon-size: 50px;
  --card-text-size: var(--text-md);
  --checklist-icon-size: 15px;
  --cta-band-bg: var(--color-primary);
  --cta-band-padding: 68px;
  --cta-band-heading-gap: 20px;
  --h2-gap: 20px;
  --footer-card-padding-mobile: 30px 20px;
  --form-input-padding: 11px 15px;
  --form-input-radius: 7px;
  --form-input-size: 1rem;
  --form-textarea-height: 90px;
  --form-label-weight: 500;
  --form-label-color: var(--color-text);
  --checklist-heading-size: 1.25rem;
  --prose-h2-gap: 8px;
  --prose-h2-line-height: clamp(1.35em, 1.1em + 1vw, 1.6em);
  --prose-list-heading-gap: 40px;
  --reveal-root-margin: 0px;
  --reveal-threshold: 0;
  --prose-li-gap: 0px;
  --prose-li-line-height: 1.6;
  --trust-bar-padding: 0;
  --profile-card-padding-bottom: 40px;
  --form-input-line-height: 1.25;
  --form-label-gap: 4px;
  --form-gap: 20px;
  --form-top: 0px;
  --contact-form-padding: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 40px);
  --contact-columns-gap: 60px;
  --contact-map-height: 400px;
  --contact-form-radius: 12px;
  --trust-bar-logo-height: 96px;

  /* Her handwritten sign-off */
  --font-signature: 'Caveat', cursive;
  --signature-style: normal;
  --signature-size: 2.5rem;

  /* The page boxed over her woodland photograph (body.page-frame) */
  --page-frame-image: url('../images/woodland-background.jpg');
  --page-frame-width: 1410px;
  --page-frame-fluid: 90%;
  --page-frame-gap: 25px;
  --page-frame-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  --page-frame-bg: #5F6B2E;
}
