/* CARE Ivy — Part 1: tokens, header, buttons, base (Ivy Rehab style) */
:root {
  --ivy-green: #5fb246;
  --ivy-green-dark: #4a9a34;
  --ivy-navy: #0b2e59;
  --ivy-navy-2: #123a6d;
  --ivy-ink: #1c2b33;
  --ivy-muted: #5b6f7a;
  --ivy-bg: #f3f7f4;
  --ivy-line: #e2eae6;
  --ivy-gold: #f2b705;
  --ivy-radius: 18px;
  --ivy-font-h: 'Plus Jakarta Sans', 'Astra', sans-serif;
  --ivy-font-b: 'Inter', 'Astra', sans-serif;
}
body { font-family: var(--ivy-font-b); color: var(--ivy-ink); background: #fff; }
h1, h2, h3, h4 { font-family: var(--ivy-font-h); color: var(--ivy-navy); letter-spacing: -0.02em; }
a { color: var(--ivy-green-dark); }

/* Top utility bar like Ivy */
.ivy-topbar { background: var(--ivy-navy); color: #fff; font-size: 13px; }
.ivy-topbar-inner { display: flex; justify-content: space-between; align-items: center; padding: 8px 20px; gap: 12px; flex-wrap: wrap; }
.ivy-topbar-left span { margin-right: 18px; opacity: 0.85; }
.ivy-topbar-right a { color: #fff; margin-left: 16px; text-decoration: none; font-weight: 600; }
.ivy-top-cta { background: var(--ivy-green); padding: 6px 16px !important; border-radius: 999px; }

/* Astra header overrides */
.main-header-bar { box-shadow: 0 2px 14px rgba(11,46,89,0.08); }
.main-header-menu .menu-link, .main-header-menu a { font-family: var(--ivy-font-h); font-weight: 700; color: var(--ivy-navy) !important; font-size: 15px; }
.main-header-menu .sub-menu a { font-weight: 600; }
.ast-custom-button, .wp-block-button__link, .uagb-buttons-repeater, button, .ast-button {
  border-radius: 999px !important; font-family: var(--ivy-font-h); font-weight: 700 !important;
}
a.ast-custom-button, .ast-header-button-1 .ast-custom-button {
  background: var(--ivy-green) !important; border: none !important; padding: 12px 28px !important;
}
a.ast-custom-button:hover { background: var(--ivy-green-dark) !important; transform: translateY(-1px); }

/* Finder bar injected under header (Ivy "Find a location near you") */
.ivy-finder { background: linear-gradient(135deg, var(--ivy-navy) 0%, var(--ivy-navy-2) 100%); padding: 26px 0; }
.ivy-finder-inner { display: flex; gap: 14px; align-items: center; justify-content: center; flex-wrap: wrap; }
.ivy-finder h3 { color: #fff; margin: 0; font-size: 22px; }
.ivy-finder form { display: flex; gap: 10px; flex-wrap: wrap; }
.ivy-finder input { border-radius: 999px; border: none; padding: 13px 22px; min-width: 320px; font-size: 15px; }
.ivy-finder button { background: var(--ivy-green); color: #fff; border: none; border-radius: 999px; padding: 13px 30px; font-weight: 800; cursor: pointer; }
.ivy-finder button:hover { background: var(--ivy-green-dark); }
