/*
 * Site-wide design layer. Loaded after the Mobirise CSS on every regular page
 * (not the standalone referral pages) so all pages share the home page design.
 *
 * Blue palette (reference: the "Call Us!" button, #6592e6):
 *   --mcm-blue      fills: buttons, accents
 *   --mcm-blue-600  hover states and blue text on white (AA contrast)
 *   --mcm-blue-800  dark accents, headings on tinted backgrounds
 *   --mcm-blue-50   light tinted backgrounds
 */
:root {
  --mcm-blue: #6592e6;
  --mcm-blue-600: #3f6fd1;
  --mcm-blue-800: #27478f;
  --mcm-blue-50: #eef3fd;
  --mcm-ink: #1b2230;
  --mcm-ink-soft: #46546a;
  --mcm-line: #dde4f0;
}

body { color: var(--mcm-ink); }

/* Buttons: pill shape, one blue, darker on hover */
.btn {
  border-radius: 999px;
  font-family: 'Lexend', sans-serif;
  font-weight: 600;
  transition: background-color .15s, border-color .15s, transform .15s;
}
.btn:hover { transform: translateY(-1px); }
body .btn.btn-primary,
body .btn.btn-primary:focus {
  background-color: var(--mcm-blue) !important;
  border-color: var(--mcm-blue) !important;
  color: #fff !important;
}
body .btn.btn-primary:hover,
body .btn.btn-primary:active {
  background-color: var(--mcm-blue-600) !important;
  border-color: var(--mcm-blue-600) !important;
  color: #fff !important;
}

/* Text links inside page content */
main a.text-primary:not(.text-white):not(.btn) { color: var(--mcm-blue-600) !important; }
main a.text-primary:not(.text-white):not(.btn):hover,
main a.text-primary:not(.text-white):not(.btn):focus { color: var(--mcm-blue-800) !important; }
main .text-primary:not(a):not(.btn) { color: var(--mcm-blue-600) !important; }

/* Navigation */
.navbar .nav-link:hover,
.navbar .nav-link:focus { color: var(--mcm-blue-600) !important; }
.navbar .dropdown-menu {
  border: 1px solid var(--mcm-line);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(27, 34, 48, .10);
}
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
  background-color: var(--mcm-blue-50) !important;
  color: var(--mcm-blue-800) !important;
}

/* Form fields */
.form-control,
.form-select {
  border: 1.5px solid var(--mcm-line);
  border-radius: 10px;
}
.form-control:focus,
.form-select:focus {
  border-color: var(--mcm-blue) !important;
  box-shadow: 0 0 0 3px rgba(101, 146, 230, .25) !important;
}
.form-check-input:checked {
  background-color: var(--mcm-blue);
  border-color: var(--mcm-blue);
}
.alert-success { background: #e7f6ef; border-color: #b9e3d0; color: #0f5a40; }
.alert-danger { background: #fdecec; border-color: #f4c2c2; color: #8a1c1c; }

/* Keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--mcm-blue-600);
  outline-offset: 3px;
}

/* Footer: compact, same neutral dark as the rest of the design */
.footer3 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
  background-color: var(--mcm-ink) !important;
}
.footer3 .row-links .foot-menu { margin-bottom: .5rem; }
.footer3 .display-7,
.footer3 .mbr-text {
  font-size: .95rem !important;
  line-height: 1.5 !important;
}
.footer3 .foot-menu-item { margin: 0 .9rem !important; }
.footer3 .row-copirayt p { font-size: .85rem !important; opacity: .75; }
.footer3 a.text-white:hover,
.footer3 a.text-white:focus { color: #cfdcf7 !important; }

/* Compact, cleaner top navigation (all pages) */
.navbar .navbar-logo img { height: 3.1rem !important; width: auto; }
.navbar .navbar-brand { margin-right: 1.5rem; }
.navbar .nav-link { font-size: .95rem !important; font-weight: 500; }
.menu .navbar { padding-top: .35rem; padding-bottom: .35rem; min-height: 0; }
.menu .navbar .navbar-buttons .btn { padding: .55rem 1.3rem; font-size: .9rem !important; }

/* Accessibility helpers: skip link is hidden until it receives keyboard focus */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 99999;
  background: #fff;
  color: #000;
  padding: .75rem 1rem;
  border: 2px solid #000;
  border-radius: .25rem;
}
.skip-link:focus { left: 1rem; top: 3.5rem; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
