/*
 Theme Name:   ReUp Capital Child Theme
 Theme URI:    https://reupcap.com
 Description:  Hello Elementor child theme for ReUp Capital — Business Lending ISO
 Author:       ReUp Capital
 Author URI:   https://reupcap.com
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  reupcapital-child
*/

/* ==========================================================
   ReUp Capital — Complete Web Design System
   Palette A: Boutique Tech Teal
   February 2026
   ========================================================== */

:root {

  /* ── Primary Brand Palette ─────────────────────────── */
  --color-navy:        #1D2A4E;
  --color-teal:        #1F8A83;
  --color-charcoal:    #2B2F38;
  --color-cream:       #F5F1E8;
  --color-sand:        #D8CFBF;
  --color-gold:        #B59A5A;
  --color-teal-glow:   #D6F0ED;
  --color-silver:      #E6E2DA;
  --color-taupe:       #B8AE9C;
  --color-cool-gray:   #D7DCE4;
  --color-white:       #FFFFFF;

  /* ── Semantic State Colors ─────────────────────────── */
  --color-success:       #2E7D4F;
  --color-success-light: #E8F5EE;
  --color-warning:       #D4880F;
  --color-warning-light: #FFF8E1;
  --color-error:         #C0392B;
  --color-error-light:   #FDECEA;
  --color-info:          #1F8A83;
  --color-info-light:    #D6F0ED;

  /* ── Product Accent Colors ─────────────────────────── */
  --color-product-sba:    #1D2A4E;
  --color-product-term:   #1F8A83;
  --color-product-loc:    #2E7D4F;
  --color-product-rbf:    #B59A5A;
  --color-product-wc:     #6B5B8D;
  --color-product-equip:  #8B6E4E;

  /* ── Typography ────────────────────────────────────── */
  --font-display:  'Canela', 'DM Serif Display', Georgia, serif;
  --font-body:     'Söhne', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* ── Type Scale ────────────────────────────────────── */
  --text-h1:       3.25rem;    /* 52px */
  --text-h2:       2.5rem;     /* 40px */
  --text-h3:       1.875rem;   /* 30px */
  --text-h4:       1.5rem;     /* 24px */
  --text-h5:       1.25rem;    /* 20px */
  --text-h6:       1.125rem;   /* 18px */
  --text-body:     1rem;       /* 16px */
  --text-body-lg:  1.125rem;   /* 18px */
  --text-small:    0.875rem;   /* 14px */
  --text-caption:  0.75rem;    /* 12px */

  /* ── Spacing (8px grid) ────────────────────────────── */
  --space-xs:   4px;
  --space-sm:   8px;
  --space-md:   16px;
  --space-lg:   24px;
  --space-xl:   32px;
  --space-2xl:  48px;
  --space-3xl:  64px;
  --space-4xl:  80px;
  --space-section: 80px;

  /* ── Borders & Radius ──────────────────────────────── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-full: 9999px;
  --border-light: 1px solid var(--color-cool-gray);
  --border-medium: 1px solid var(--color-taupe);

  /* ── Shadows ───────────────────────────────────────── */
  --shadow-sm:   0 1px 3px rgba(29, 42, 78, 0.08);
  --shadow-md:   0 4px 12px rgba(29, 42, 78, 0.10);
  --shadow-lg:   0 8px 24px rgba(29, 42, 78, 0.12);
  --shadow-xl:   0 12px 40px rgba(29, 42, 78, 0.15);
  --shadow-card: 0 2px 8px rgba(29, 42, 78, 0.06);

  /* ── Transitions ───────────────────────────────────── */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;

  /* ── Layout ────────────────────────────────────────── */
  --max-width:   1200px;
  --max-width-narrow: 800px;
  --max-width-wide:   1400px;
}

/* ==========================================================
   BASE STYLES
   ========================================================== */

body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: var(--color-charcoal);
  background-color: var(--color-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--color-navy);
  line-height: 1.2;
  font-weight: 400;
}

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

a {
  color: var(--color-teal);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-navy);
}

/* ==========================================================
   UTILITY CLASSES
   ========================================================== */

.text-navy    { color: var(--color-navy); }
.text-teal    { color: var(--color-teal); }
.text-gold    { color: var(--color-gold); }
.text-cream   { color: var(--color-cream); }
.text-charcoal { color: var(--color-charcoal); }

.bg-navy      { background-color: var(--color-navy); }
.bg-cream     { background-color: var(--color-cream); }
.bg-teal-glow { background-color: var(--color-teal-glow); }
.bg-white     { background-color: var(--color-white); }

/* ==========================================================
   TABULAR NUMBERS (for financial data)
   ========================================================== */

.tabular-nums,
.loan-amount,
.rate-display,
.payment-amount {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
  font-family: var(--font-body);
}

/* ==========================================================
   RESPONSIVE TYPE SCALE
   ========================================================== */

@media (max-width: 768px) {
  :root {
    --text-h1:  2.25rem;   /* 36px on mobile */
    --text-h2:  1.75rem;   /* 28px on mobile */
    --text-h3:  1.5rem;    /* 24px on mobile */
    --text-h4:  1.25rem;   /* 20px on mobile */
    --space-section: 48px;
  }
}

@media (max-width: 480px) {
  :root {
    --text-h1:  1.875rem;  /* 30px on small mobile */
    --text-h2:  1.5rem;    /* 24px on small mobile */
    --space-section: 40px;
  }
}

/* ==========================================================
   BROKER DISCLOSURE (footer)
   ========================================================== */

.broker-disclosure {
  font-size: var(--text-caption);
  color: var(--color-silver);
  text-align: center;
  padding: var(--space-md) var(--space-lg);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  line-height: 1.5;
}
