/* ==========================================================================
   therapyCRM — Global Styles (CSS)
   Brand: therapyCRM (exact casing)
   Palette: #31789c (primary), #235a73 (primary dark), #4a90b5 (primary light)
   ========================================================================== */

:root {
  --brand-primary: #31789c;
  --brand-primary-dark: #235a73;
  --brand-primary-light: #4a90b5;

  --bg-light: #f5f5f5;
  --bg-light-blue: #e8f4f8;

  --text: #333333;
  --text-muted: #6c757d;

  /* Footer (dev-style) */
  --footer-bg: #0c1a24;        /* main dark */
  --footer-muted: #adb5bd;     /* light gray text */
  --footer-pill: #1a2936;      /* badge cards */
  --footer-bottom: #071017;    /* very dark strip */
  --newsletter-bg: #31789c;    /* brand blue bar */

  /* Dynamic navbar offset (JS updates this); safe default if JS hasn't run */
  --nav-offset: 150px;
}

/* ===== Base ===== */
html, body {
  scroll-behavior: smooth;
  color: var(--text);
}
body {
  background: #fff;
  padding-top: var(--nav-offset); /* keep content below fixed navbar */
}
body.homepage {
  padding-top: 0; /* Homepage hero section handles its own positioning */
}
a { color: var(--brand-primary); text-decoration: none; }
a:hover { color: var(--brand-primary-dark); text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

/* Universal bottom breathing room before the footer */
main { padding-bottom: 96px; }

/* ===== Navbar ===== */
#mainNavbar { transition: all .3s ease; z-index: 1030; }
.nav-logo { height: 120px; transition: height .3s ease; }
.navbar.scrolled .nav-logo { height: 80px; }
@media (max-width: 576px) {
  .nav-logo { height: 60px; }
  .navbar.scrolled .nav-logo { height: 40px; }
}

/* ===== Optional page helpers ===== */
.page-narrow  { max-width: 720px; }
.page-regular { max-width: 960px; }

/* ===== Sections ===== */
.section-pad { padding: 80px 0; }
.section-title { color: var(--brand-primary); margin-bottom: .25rem; }
.bg-light-blue { background: var(--bg-light-blue); }
.text-muted { color: var(--text-muted) !important; }

/* ===== Cards / UI ===== */
.feature-card i { color: var(--brand-primary); }
.feature-card:hover {
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  transform: translateY(-2px);
  transition: all .2s;
}
.service-card { border-left: 4px solid var(--brand-primary-light); }
.about-panel { background: #fff; border: 1px solid #eee; border-radius: 12px; }

/* ===== CTA ===== */
.cta-gradient {
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-primary-light));
}

/* ===== Scroll To Top ===== */
.scroll-top {
  position: fixed; bottom: 24px; right: 24px;
  border-radius: 50%; width: 48px; height: 48px;
  display: none; align-items: center; justify-content: center;
  z-index: 1040;
}

/* ===== Animations ===== */
@keyframes fadeInUp { from { opacity:0; transform: translate3d(0,12px,0); } to { opacity:1; transform:none; } }
.fade-in-up { animation: fadeInUp .6s ease both; }
.delay-1 { animation-delay: .15s; }
.delay-2 { animation-delay: .3s; }

/* ===== Bootstrap Overrides (Primary) ===== */
.btn-primary {
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: var(--brand-primary-dark);
  --bs-btn-hover-border-color: var(--brand-primary-dark);
}
.btn-outline-primary {
  --bs-btn-color: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: var(--brand-primary);
  --bs-btn-hover-border-color: var(--brand-primary);
  --bs-btn-hover-color: #fff;
}

/* ==========================================================================
   FOOTER — match dev.therapycrm.com (dark, multi-column, badges, newsletter)
   ========================================================================== */

/* Container */
.tcrm-footer {
  background: var(--footer-bg);
  color: var(--footer-muted);
  font-size: .9rem;
}

/* All footer links default to muted and brighten on hover */
.tcrm-footer a { color: var(--footer-muted); text-decoration: none; }
.tcrm-footer a:hover { color: #ffffff; text-decoration: underline; }

/* Logo + Headings */
.tcrm-footer-logo { height: 48px; }
.tcrm-foothead {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: .75rem;
  letter-spacing: .2px;
}

/* Social icons (round, subtle) */
.tcrm-social {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: var(--footer-muted);
  transition: all .2s ease;
}
.tcrm-social:hover { color: #fff; background: rgba(255,255,255,.15); }

/* HIPAA / SSL / Health badges as pill cards */
.tcrm-badge {
  background: var(--footer-pill);
  color: #fff;
  padding: .45rem .75rem;
  border-radius: .6rem;
  font-size: .8rem;
  display: inline-flex; align-items: center;
  gap: .35rem;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

/* Column lists */
.tcrm-footlinks li { margin: .35rem 0; }

/* Thin separator (optional if you add <hr class="tcrm-foot-sep">) */
.tcrm-foot-sep { border-color: rgba(255,255,255,.08); opacity: 1; }

/* Newsletter bar */
.tcrm-newsletter {
  background: var(--newsletter-bg);
  color: #ffffff;
}
.tcrm-newsletter .form-control {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
}
.tcrm-newsletter .form-control::placeholder { color: rgba(255,255,255,.85); }
.tcrm-newsletter .form-control:focus {
  border-color: #fff; box-shadow: none;
}
.tcrm-newsletter .btn {
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(0,0,0,.35);
  color: #fff;
}
.tcrm-newsletter .btn:hover {
  background: rgba(0,0,0,.45);
}

/* Bottom strip with contact */
.tcrm-foot-bottom { background: var(--footer-bottom); }

/* ==========================================================================
   OPTIONAL HELPERS (safe)
   ========================================================================== */

.border-light-10 { border-color: rgba(255,255,255,.10) !important; }
.shadow-soft { box-shadow: 0 10px 30px rgba(0,0,0,.08); }

/* Keep legacy classes from earlier scaffold so nothing breaks */
.footer-logo { height: 48px; }  /* not used by dark footer, but harmless */
.footer a:hover { text-decoration: underline; }  /* compatibility */