/**
 * ===========================================================================
 * UNIVERSAL THEME TOKENS (variables.css) — GOLDEN CIRCLE
 * ===========================================================================
 *
 * WHY (Purpose)
 * - Theme Driven UI     : UI look controlled by theme, not components.
 * - Zero Bootstrap Clash: Tokens never touch Bootstrap classes.
 * - Future Proof        : Theme swap without refactor.
 *
 * HOW (Governance Rules)
 * - Scope :
 *   - This file contains THEME VALUES only.
 * - Rules :
 *   1. Theme > Brand     : Use `theme_` for UI, not `brand_`.
 *   2. No Components    : Tokens must not reference header, button, footer.
 *   3. No States        : Hover / focus handled in component CSS.
 *   4. No Duplication   : One meaning = one token.
 *   5. Add Only         : Never rename or repurpose existing tokens.
 *
 * WHAT (Token Classification)
 * - Theme Core (Identity)
 *   --theme_color_primary
 *   --theme_color_primary_dark
 *   --theme_color_primary_light
 *
 * - Theme Contrast (On Theme)
 *   --theme_contrast_light   (text/icons on dark theme bg)
 *   --theme_contrast_dark    (text/icons on light theme bg)
 *
 * - Theme Support
 *   --theme_color_secondary
 *   --theme_color_accent
 *
 * - Ink (Utility, Non-Theme)
 *   --ink_black
 *   --ink_white
 *   --ink_gray_*
 *
 * FORBIDDEN
 * - primary / secondary / tertiary naming
 * - theme_white / theme_black
 * - header-bg / btn-hover tokens
 *
 * GOLDEN RULE
 * - Theme defines appearance.
 * - Ink defines readability.
 * - Components define behavior.
 * ===========================================================================
 */

 :root {
    /* =====================
        THEME CORE
        ===================== */
    --font_base: 'Lora', system-ui, sans-serif;
    --font_heading: 'Lora', system-ui, sans-serif;
    --font_secondary: 'Lato', system-ui, sans-serif;
 
    --z_header: 100;
    --z_dropdown: 200;
    --z_modal: 300;
 
    --theme_color_primary: #AE9588;
    --theme_color_primary_dark: var(--theme_color_primary); /*not applicable*/
    --theme_color_primary_light: var(--theme_color_primary); /*not applicable*/
    --theme_color_secondary: #00474E;
    --theme_color_accent: #00474E;
 
    --theme_contrast_light: var(--theme_color_primary); /*not applicable*/ 
    --theme_contrast_dark: var(--theme_color_primary); /*not applicable*/
 
    --ink_black: #000000;
    --ink_white: #ffffff;
 
    --ink_gray: #808080;
    --ink_gray_dark: #404040;
    --ink_gray_light: #C0C0C0;
 
    /* =====================
        Background Colors
        ===================== */
    --theme_bg_primary: #f5f1ed;
    --theme_bg_secondary: #f9f3f3;
 
    /* =====================
        TEXT
        ===================== */
    --theme_text_primary: var(--ink_black);
    --theme_text_secondary: var(--theme_color_secondary);
    --theme_text_muted: var(--theme_color_primary); /*not applicable*/ 
    --theme_text_light: var(--theme_color_primary); /*not applicable*/ 
 
    /* =====================
        BORDER & RADIUS
        ===================== */
    --theme_border_color: #BA9F8F;
    --theme_border_color_light: var(--theme_color_primary); /*not applicable*/ 
 
    --theme_radius_sm: 0px; /*not applicable*/
    --theme_radius_md: 0px; /*not applicable*/
    --theme_radius_lg: 0px; /*not applicable*/
 
    /* =====================
           PADDING
           ===================== */
    --theme_horizontal_padding: 64px;
    --theme_vertical_padding: 64px;
    --theme_header_horizontal_padding: 0px; /*not applicable*/
    --theme_footer_vertical_padding_top: 0px; /*not applicable*/
    --theme_footer_vertical_padding_bottom: 0px; /*not applicable*/
    --theme_form_padding: 0px; /*not applicable*/
 
    /* =====================
           RESPONSIVE SCALING
           ===================== */
    --theme_scale_tablet: 0.6;
    --theme_scale_mobile: 0.5;
 
    /* =====================
        EFFECTS
        ===================== */
    --theme_shadow_soft: 0 4px 20px rgba(0, 0, 0, 0.08);
    --theme_transition_fast: 0.3s ease;
    --theme_transition_slow: 0.5s ease;
 
    /* =====================
        TYPOGRAPHY PATTERNS
        ===================== */
    --text_font_size_xxs: 10px;
    --text_font_size_xs: 12px;
    --text_font_size_sm: 15px;
    --text_font_size_base: 17px;
    --text_font_size_md: 20px;
    --text_font_size_lg: 24px;
    --text_font_size_xl: 30px;
 
    --text_font_weight_normal: 400;
    --text_font_weight_medium: 500;
    --text_font_weight_semibold: 600;
    --text_font_weight_bold: 700;
    --text_font_weight_extrabold: 800;
 
    --text_line_height_xs: 130%;
    --text_line_height_sm: 143%;
    --text_line_height_base: 168%;
    --text_line_height_md: 170%;
    --text_line_height_lg: 0; /*not applicable*/
    --text_line_height_xl: 0; /*not applicable*/
 
    /* =====================
        SPACING PATTERNS
        ===================== */
    --spacing_gap_sm: 0.5rem;
    --spacing_gap_md: 1rem;
    --spacing_gap_lg: 1.5rem;
 }