/* Cents & Sense — site-wide brand styling.
   Remaps Elementor global colors, applies brand fonts, and styles the footer.
   Carefully avoids the [cns_hub] block (which carries its own scoped styles). */

:root{
  /* Brand palette */
  --cns-cream:#F6F1E7;
  --cns-navy:#14223F;
  --cns-navy-deep:#0C1730;
  --cns-green:#1E5C3A;
  --cns-green-bright:#2E7D4F;
  --cns-gold:#C49A48;
  --cns-ink:#1B2541;
  --cns-ink-soft:#5A6175;

  /* Remap Elementor's global colors to the brand.
     This is what flips that default light-blue accent to brand colors. */
  --e-global-color-primary:#14223F;     /* navy — headings / strong */
  --e-global-color-secondary:#1E5C3A;   /* green — sub-headings / accents */
  --e-global-color-text:#1B2541;        /* body text */
  --e-global-color-accent:#1E5C3A;      /* links / buttons (was blue) */
}

/* ---- Typography (skip the hub, which sets its own fonts) ---- */
body:not(.cns-fullscreen),
body:not(.cns-fullscreen) p,
body:not(.cns-fullscreen) li{
  font-family:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--cns-ink);
}

:where(h1,h2,h3,h4,h5,h6):not(.cns-hub *),
.elementor-heading-title:not(.cns-hub *){
  font-family:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--cns-navy);
}

/* Optional editorial serif accent: add class "cns-serif" to any heading. */
.cns-serif:not(.cns-hub *){
  font-family:"Fraunces",Georgia,serif !important;
  font-weight:400 !important;
  font-style:italic;
  color:var(--cns-green);
}

/* ---- Links (front end, outside the hub) ---- */
.elementor a:not(.elementor-button):not(.cns-hub *){ color:var(--cns-green); }
.elementor a:not(.elementor-button):not(.cns-hub *):hover{ color:var(--cns-green-bright); }

/* ---- Buttons: brand the Elementor button outside the hub ---- */
.elementor-button:not(.cns-hub *){
  background-color:var(--cns-green);
  color:var(--cns-cream);
  border-color:var(--cns-green);
  border-radius:11px;
  font-family:"Hanken Grotesk",sans-serif;
  font-weight:700;
  letter-spacing:.01em;
  transition:background-color .2s, transform .15s;
}
.elementor-button:not(.cns-hub *):hover{
  background-color:var(--cns-green-bright);
  color:var(--cns-cream);
  transform:translateY(-1px);
}

/* ---- Site header polish (Elementor / Hello theme) ---- */
.elementor-location-header .elementor-nav-menu a,
header.site-header a{ color:var(--cns-navy); font-weight:600; }
.elementor-location-header .elementor-nav-menu a:hover,
.elementor-location-header .elementor-item.elementor-item-active{ color:var(--cns-green); }
.site-title a, .elementor-location-header .site-title{
  font-family:"Hanken Grotesk",sans-serif; font-weight:800; color:var(--cns-navy);
}
