/*
Theme Name:   Divi 5 Child
Description:  Blank Divi 5 child theme used as a starting base for client projects. Duplicate, rename, and customize per client. Design tokens live in theme.json and the :root block below, so site-wide color and font changes are a single-file edit.
Author:       onebrand.com
Author URI:   https://onebrand.com
Template:     Divi
Version:      1.2.0
Text Domain:  divi5-child
*/

/* ==========================================================================
   DESIGN TOKENS
   Per-client theming happens here. Change these and the whole site follows.
   Keep in sync with theme.json. Values below are neutral placeholders.
   ========================================================================== */
:root {
    --client-primary:      #234a24;
    --client-secondary:    #16311a;
    --client-accent:       #c8961e;
    --client-bg:           #ffffff;
    --client-text:         #22271f;
    --client-muted:        #5f6b5c;

    /* Semantic. Error is the only semantic colour in the palette: it must read
       as "something is wrong", so it is deliberately outside the brand greens
       and far enough from --client-accent (#c8961e) not to be mistaken for it.
       #b3261e clears 4.5:1 against --client-bg (#ffffff) for error text.
       Approved by Tony 2026-07-20. Mirrored as the Divi Design Variable
       "Error" (gcid-bys-error) — studio rule 1, both systems stay in sync.
       There is no --client-success: success reuses --client-primary, which is
       defensible for a brand green in a way an error colour would not be. */
    --client-error:        #b3261e;

    --client-font-heading: 'Montserrat', sans-serif;
    --client-font-body:    'Open Sans', sans-serif;

    /* Fluid type scale (KB: fluid-sizing-system). Scales 375px -> 1440px viewport.
       Body floor stays at 16px minimum for readability. */
    --client-text-sm:   clamp(0.875rem, 0.83rem + 0.19vw, 1rem);        /* 14 -> 16px */
    --client-text-base: clamp(1rem, 0.89rem + 0.47vw, 1.3125rem);       /* 16 -> 21px */
    --client-text-lg:   clamp(1.25rem, 1.11rem + 0.59vw, 1.64rem);      /* 20 -> 26px */
    --client-text-xl:   clamp(1.5rem, 1.29rem + 0.9vw, 2.1rem);         /* 24 -> 34px */
    --client-text-2xl:  clamp(2.25rem, 1.89rem + 1.55vw, 3.28rem);      /* 36 -> 52px */

    /* Fluid spacing rhythm (same viewport range). */
    --client-space-xs:  clamp(0.5rem, 0.41rem + 0.38vw, 0.75rem);       /* 8 -> 12px */
    --client-space-sm:  clamp(0.75rem, 0.57rem + 0.75vw, 1.25rem);      /* 12 -> 20px */
    --client-space-md:  clamp(1.25rem, 0.9rem + 1.5vw, 2.25rem);        /* 20 -> 36px */
    --client-space-lg:  clamp(2rem, 1.3rem + 3vw, 4rem);                /* 32 -> 64px */
    --client-space-xl:  clamp(3rem, 1.94rem + 4.5vw, 6rem);             /* 48 -> 96px */

    --client-content-width: 1080px;
    --client-wide-width:    1280px;
}

/* ==========================================================================
   CUSTOM STYLES
   This theme ships intentionally blank. Add client styles below, or better,
   keep larger blocks in custom/css/custom.css (already enqueued).

   Optional Divi starter resets are included below, commented out. Uncomment
   any you want as a baseline.
   ========================================================================== */

/*
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.et_pb_row {
    max-width: var(--client-wide-width);
}
*/
