/* =========================================================================
   Customer Traac - SHARED base styles (single source of truth)
   Loaded globally after tokens.css, before per-page CSS. Provides the body
   font reset and the .btn button system so EVERY page (incl. new ones)
   inherits correct typography and buttons without per-page duplication.
   ========================================================================= */
* { box-sizing: border-box; }
body {
  font-family: var(--font-body, 'Open Sans', sans-serif);
  color: var(--text, #1a2e42);
  background: var(--white, #ffffff);
  line-height: 1.65;
  font-size: 16px;
  margin: 0;
}

/* button system */
.btn {
  display: inline-block;
  font-family: var(--font-head, 'Montserrat', sans-serif);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.4px;
  padding: 11px 26px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
  border: none;
}
.btn-accent { background: var(--accent); color: var(--white); }
.btn-accent:hover { background: var(--accent-hover); transform: translateY(-1px); box-shadow: 0 4px 14px rgba(46,196,168,0.35); }
.btn-outline-white { background: transparent; color: var(--white); border: 2px solid rgba(255,255,255,0.6); }
.btn-outline-white:hover { border-color: var(--white); background: rgba(255,255,255,0.08); }
.btn-navy { background: var(--navy); color: var(--white); }
.btn-navy:hover { background: var(--navy-mid); transform: translateY(-1px); }
.btn-outline-navy { background: transparent; color: var(--navy); border: 2px solid var(--navy); }
.btn-outline-navy:hover { background: var(--navy); color: var(--white); }
.btn-white { background: var(--white); color: var(--navy-deep); }
.btn-white:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,0,0,0.15); }
