.elementor-kit-6{--e-global-color-primary:#15487E;--e-global-color-accent:#1F2733;--e-global-color-text:#4D5662;--e-global-color-secondary:#2F72C4;--e-global-color-a0ff010:#103A66;--e-global-color-40a894d:#245A9E;--e-global-color-9b69496:#E1ECF9;--e-global-color-54caa0a:#667085;--e-global-color-36dd84f:#F5F7FA;--e-global-color-1f1c79f:#E4E7EC;--e-global-color-9737b27:#1F7A4D;--e-global-color-3310447:#B4541F;--e-global-color-c4d8b2e:#C0392B;--e-global-color-cf28154:#FFFFFF;--e-global-typography-primary-font-family:"Lora";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.15;--e-global-typography-secondary-font-family:"Lora";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.2;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4;--e-global-typography-accent-letter-spacing:0.08em;--e-global-typography-d0d64ec-font-family:"Inter";--e-global-typography-d0d64ec-font-size:21px;--e-global-typography-d0d64ec-font-weight:600;--e-global-typography-d0d64ec-line-height:1.3;--e-global-typography-4fc75d0-font-family:"Inter";--e-global-typography-4fc75d0-font-size:19px;--e-global-typography-4fc75d0-font-weight:400;--e-global-typography-4fc75d0-line-height:1.6;--e-global-typography-8c3e3be-font-family:"Inter";--e-global-typography-8c3e3be-font-size:14px;--e-global-typography-8c3e3be-font-weight:400;--e-global-typography-8c3e3be-line-height:1.5;--e-global-typography-7915157-font-family:"Inter";--e-global-typography-7915157-font-size:15px;--e-global-typography-7915157-font-weight:600;--e-global-typography-7915157-letter-spacing:0.3px;background-color:var( --e-global-color-cf28154 );color:#4D5662;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.65;letter-spacing:0em;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:600ms;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#13457B;font-family:"Inter", Sans-serif;font-size:15px;font-weight:700;line-height:1em;letter-spacing:-0.01em;text-shadow:0px 0px 0px rgba(0, 0, 0, 0.3);color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:14px 24px 12px 24px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#598CF8;color:#FFFFFF;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);border-radius:9999px 9999px 9999px 9999px;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:var( --e-global-color-accent );}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-family:"Lora", Sans-serif;font-size:40px;font-weight:600;line-height:1.15;letter-spacing:0em;}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-family:"Lora", Sans-serif;font-size:30px;font-weight:500;line-height:1.2;letter-spacing:0em;}.elementor-kit-6 h3{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:22px;font-weight:500;text-transform:none;line-height:1.3;letter-spacing:0em;}.elementor-kit-6 h4{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:21px;font-weight:600;text-transform:none;line-height:1.35em;letter-spacing:0em;}.elementor-kit-6 h5{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:18px;font-weight:600;line-height:1.4em;letter-spacing:0em;}.elementor-kit-6 h6{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;line-height:1.4em;}.elementor-kit-6 img{border-radius:5px 5px 5px 5px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:32px;}.elementor-element{--widgets-spacing:32px 32px;--widgets-spacing-row:32px;--widgets-spacing-column:32px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-line-height:1.3em;--e-global-typography-text-line-height:1.5em;line-height:1.5em;}.elementor-kit-6 h1{font-size:28px;line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:24px;--container-default-padding-right:24px;--container-default-padding-bottom:24px;--container-default-padding-left:24px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:36px;--e-global-typography-primary-line-height:1.3em;--e-global-typography-secondary-font-size:21px;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:15px;--e-global-typography-accent-line-height:1.6em;font-size:15px;line-height:1.6em;}.elementor-kit-6 h1{font-size:34px;line-height:1.3em;}.elementor-kit-6 h2{font-size:27px;line-height:1.3em;}.elementor-kit-6 h3{font-size:21px;line-height:1.6em;}.elementor-kit-6 h4{font-size:18px;line-height:1.4;}.elementor-kit-6 h5{font-size:17px;line-height:1.5;}.elementor-kit-6 h6{font-size:15px;line-height:1.5;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:20px;--container-default-padding-right:20px;--container-default-padding-bottom:20px;--container-default-padding-left:20px;}}:root { --Body:Inter; --BodySize:18px; }
/* Start custom CSS *//* ============================================================
   FAIRFAX FAMILY PRACTICE CENTERS — CONSOLIDATED STYLESHEET (v5)
   Single source of truth. Paste into Elementor → Site Settings →
   Settings → Custom CSS. Keep the WordPress Additional CSS box EMPTY.
   v5: added page-level utility classes for site-wide rollout.
   ============================================================ */

/* ---- Design tokens: change a brand color in one place ---- */
:root {
  --navy:        #15487E;
  --navy-hover:  #103A66;
  --accent:      #2F72C4;
  --accent-hover:#245A9E;
  --accent-tint: #E1ECF9;
  --success:     #1F7A4D;
  --success-tint:#E6F5EE;
  --warning:     #B4541F;
  --danger:      #C0392B;
  --ink:         #1F2733;
  --body:        #4D5662;
  --muted:       #667085;
  --white:       #FFFFFF;
  --surface:     #F5F7FA;
  --border:      #E4E7EC;
  --card-radius: 12px;
  --shadow-card: 0 10px 26px rgba(21,72,126,.15);
  --shadow-soft: 0 2px 8px rgba(21,72,126,.08);
}

/* ============================================================
   BASE / GLOBAL UTILITIES
   ============================================================ */

.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

.elementor-icon-wrapper,
.elementor-icon { line-height: 1 !important; }
.elementor-icon svg { display: inline-block; vertical-align: middle; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.elementor-heading-title a { font-family: inherit !important; }

*:focus:not(:focus-visible) { outline: none; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
.elementor-button:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 2px;
}

.elementor-field-group .elementor-field-textual:focus { box-shadow: none; }

/* ============================================================
   PAGE-LEVEL PATTERNS (reusable across all pages)
   ============================================================ */

/* Page hero - centered header */
.page-hero {
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
  padding: 40px 20px 30px;
}
.page-hero .elementor-heading-title {
  font-family: 'Lora', Georgia, serif;
  color: var(--navy);
}

/* Section eyebrow - standardized to Muted everywhere */
.section-eyebrow,
.section-eyebrow .elementor-heading-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
}

/* Info cards (non-clickable, used on About/Careers/Insurance/Services) */
.info-card {
  background: var(--white);
  border: 0.5px solid var(--border);
  border-radius: var(--card-radius);
  padding: 22px;
  transition: none;
}
.info-card:hover {
  transform: none;
  box-shadow: none;
}
.info-card .elementor-heading-title {
  color: var(--navy);
  font-size: 18px;
  font-weight: 600;
}

/* Location-only badges on Services page */
.location-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--accent-tint);
  color: var(--navy);
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 999px;
  letter-spacing: 0.04em;
}
.location-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}

/* Feature section images */
.feature-img img {
  border-radius: var(--card-radius);
}

/* Navy band sections */
.navy-band { background: var(--navy); }
.navy-band .elementor-heading-title { color: var(--white); }
.navy-band .elementor-widget-text-editor,
.navy-band .elementor-widget-text-editor p { color: rgba(255,255,255,.82); }

/* Navy band info cards (white cards on navy) */
.navy-band .info-card {
  background: var(--white);
  border-color: rgba(255,255,255,.15);
}

/* Accordion styling (FAQ + specialty pages) */
.styled-accordion .elementor-tab-title,
.styled-accordion .elementor-tab-title a,
.styled-accordion .elementor-tab-title span {
  color: var(--navy) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  transition: color .16s ease;
}
.styled-accordion .elementor-tab-title .elementor-accordion-icon,
.styled-accordion .elementor-tab-title .elementor-accordion-icon svg {
  color: var(--navy) !important;
  fill: var(--navy) !important;
  transition: color .16s ease;
}
.styled-accordion .elementor-tab-title:hover,
.styled-accordion .elementor-tab-title:hover a,
.styled-accordion .elementor-tab-title:hover span,
.styled-accordion .elementor-tab-title.elementor-active,
.styled-accordion .elementor-tab-title.elementor-active a,
.styled-accordion .elementor-tab-title.elementor-active span {
  color: var(--navy-hover) !important;
}
.styled-accordion .elementor-tab-title:hover .elementor-accordion-icon,
.styled-accordion .elementor-tab-title:hover .elementor-accordion-icon svg,
.styled-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
.styled-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg {
  color: var(--navy-hover) !important;
  fill: var(--navy-hover) !important;
}
.styled-accordion .elementor-tab-content {
  color: var(--body) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* ============================================================
   BUTTONS (Primary lives in Theme Style -> Buttons)
   ============================================================ */

.btn-secondary .elementor-button,
.btn-secondary.elementor-button {
  background: transparent;
  color: var(--navy);
  border: 1.5px solid var(--navy);
  border-radius: 8px;
}
.btn-secondary .elementor-button:hover,
.btn-secondary.elementor-button:hover {
  background: var(--navy);
  color: var(--white);
}

.btn-tertiary .elementor-button,
.btn-tertiary.elementor-button,
a.elementor-button.btn-tertiary {
  background: transparent;
  color: var(--accent);
  border: 0;
  padding: 13px 4px;
}
.btn-tertiary .elementor-button:hover,
.btn-tertiary.elementor-button:hover,
a.elementor-button.btn-tertiary:hover {
  background: transparent;
  color: var(--accent-hover);
  text-decoration: underline;
}

/* ============================================================
   CARDS - radius + border + hover (blog + provider cards)
   ============================================================ */

.elementor-loop-container > *,
.facetwp-template .elementor-post,
.facetwp-template article,
.facetwp-template .provider-card,
.card {
  border: 0.5px solid var(--border);
  border-radius: var(--card-radius);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.elementor-loop-container > * .elementor-background-overlay,
.card .elementor-background-overlay { border-radius: inherit; }

.elementor-loop-container > *:hover,
.facetwp-template .elementor-post:hover,
.facetwp-template article:hover,
.facetwp-template .provider-card:hover,
.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card);
  border-color: var(--accent);
}

.elementor-loop-container > * img,
.facetwp-template article img { transition: transform .25s ease; }
.elementor-loop-container > *:hover img,
.facetwp-template article:hover img { transform: scale(1.05); }

/* ============================================================
   BLOG - category badge + loop titles
   ============================================================ */

.cat-badge {
  display: inline-block;
  width: fit-content;
  background: var(--accent-tint);
  border-radius: 999px;
}
.cat-badge .elementor-post-info__item {
  padding: 4px 11px;
  font-size: 12px;
  font-weight: 600;
  color: var(--navy);
  white-space: nowrap;
  line-height: 1.2;
}
.cat-badge .elementor-post-info__item-prefix,
.cat-badge .elementor-post-info__separator { display: none; }

.elementor-loop-container .elementor-heading-title a {
  color: var(--navy);
  transition: color 0.2s ease;
}
.elementor-loop-container .elementor-heading-title a:hover {
  color: var(--navy-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ============================================================
   SINGLE POST - article body styling
   ============================================================ */

.elementor-widget-theme-post-content {
  max-width: 720px;
}

.elementor-widget-theme-post-content h2 {
  font-size: 26px;
  margin: 34px 0 12px;
  line-height: 1.3;
}
.elementor-widget-theme-post-content h3 {
  font-size: 20px;
  margin: 26px 0 10px;
}

.elementor-widget-theme-post-content p {
  color: var(--body);
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 18px;
}

.elementor-widget-theme-post-content a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.elementor-widget-theme-post-content a:hover { color: var(--accent-hover); }

.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
  margin: 0 0 18px; padding-left: 22px;
}
.elementor-widget-theme-post-content li { margin-bottom: 8px; line-height: 1.6; }

.elementor-widget-theme-post-content img {
  border-radius: 12px;
  margin: 8px 0;
}

.elementor-widget-theme-post-content em:last-of-type {
  display: block;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  font-size: 14px;
  color: var(--muted);
}

/* ============================================================
   STATUS BADGES
   ============================================================ */

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 999px;
}
.status-badge::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.status-badge--success { background: var(--success-tint); color: var(--success); }
.status-badge--neutral { background: var(--surface); color: var(--body); }
.status-badge--warning { background: #F7ECE4; color: var(--warning); }

/* ============================================================
   PROVIDER cards
   ============================================================ */

.provider-card .card-name a,
.provider-card a,
.provider-name a {
  font-family: 'Lora', Georgia, serif;
  font-weight: 500;
  color: var(--navy);
  transition: color 0.2s ease;
}
.provider-card .card-name a:hover,
.provider-card a:hover,
.provider-name a:hover { color: var(--navy-hover); }

/* ============================================================
   FACETWP PROVIDER FILTER SIDEBAR
   ============================================================ */

.facetwp-sidebar,
.elementor-widget-sidebar {
  position: sticky;
  top: 20px;
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding-right: 10px;
}
.facetwp-sidebar::-webkit-scrollbar,
.elementor-widget-sidebar::-webkit-scrollbar { width: 6px; }
.facetwp-sidebar::-webkit-scrollbar-track,
.elementor-widget-sidebar::-webkit-scrollbar-track {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 10px;
}
.facetwp-sidebar::-webkit-scrollbar-thumb,
.elementor-widget-sidebar::-webkit-scrollbar-thumb {
  background: #D4DCE8; border-radius: 3px;
}
.facetwp-sidebar::-webkit-scrollbar-thumb:hover,
.elementor-widget-sidebar::-webkit-scrollbar-thumb:hover { background: var(--navy); }

.facetwp-facet {
  margin-bottom: 20px;
  padding: 18px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.facetwp-facet:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-soft);
}
.facetwp-facet:first-child { margin-top: 0; }
.facetwp-facet:last-child { margin-bottom: 0; }

.facetwp-radio,
.facetwp-checkbox { margin-bottom: 8px; }
.facetwp-radio label,
.facetwp-checkbox label {
  display: flex; align-items: center; cursor: pointer;
  font-size: 14px; color: var(--body);
  padding: 6px 0 6px 28px; position: relative;
  transition: color .2s ease;
}
.facetwp-radio label:hover,
.facetwp-checkbox label:hover { color: var(--navy); }
.facetwp-radio input[type="radio"],
.facetwp-checkbox input[type="checkbox"] {
  position: absolute; left: 0; margin: 0;
  width: 18px; height: 18px; cursor: pointer;
  accent-color: var(--navy);
}
.facetwp-radio input[type="radio"]:checked + label,
.facetwp-checkbox input[type="checkbox"]:checked + label {
  color: var(--navy); font-weight: 500;
}

.facetwp-facet select,
.facetwp-dropdown {
  width: 100%; padding: 10px 36px 10px 14px;
  font-size: 14px; color: var(--body);
  border: 1px solid var(--border); border-radius: 8px;
  background-color: var(--surface); cursor: pointer;
  appearance: none; transition: border-color .2s ease, background-color .2s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2315487E' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.facetwp-facet select:hover,
.facetwp-dropdown:hover { border-color: var(--accent); background-color: var(--white); }
.facetwp-facet select:focus,
.facetwp-dropdown:focus {
  outline: none; border-color: var(--accent); background-color: var(--white);
  box-shadow: 0 0 0 3px var(--accent-tint);
}

.facetwp-facet.facetwp-facet-proximity input[type="text"] {
  width: 100%; padding: 10px 14px; font-size: 14px;
  border: 1px solid var(--border); border-radius: 8px;
  background-color: var(--surface); color: var(--body);
  margin-bottom: 10px; transition: border-color .2s ease, background-color .2s ease;
}
.facetwp-facet.facetwp-facet-proximity input[type="text"]:focus {
  outline: none; border-color: var(--accent); background-color: var(--white);
  box-shadow: 0 0 0 3px var(--accent-tint);
}
.facetwp-facet.facetwp-facet-proximity input[type="text"]::placeholder { color: var(--muted); }
.facetwp-facet.facetwp-facet-proximity select { margin-bottom: 10px; }

.facetwp-geolocate {
  display: inline-block; width: 100%; padding: 10px 16px;
  background-color: var(--navy); color: var(--white);
  border: none; border-radius: 8px;
  font-size: 14px; font-weight: 600; cursor: pointer;
  margin-top: 8px; text-align: center; transition: background-color .2s ease;
}
.facetwp-geolocate:hover { background-color: var(--navy-hover); }

.facetwp-reset {
  display: inline-block; padding: 8px 16px; margin-top: 16px;
  background-color: var(--surface); color: var(--navy);
  border: 1px solid var(--border); border-radius: 8px;
  font-size: 13px; font-weight: 600; cursor: pointer; text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.facetwp-reset:hover { background-color: var(--navy); color: var(--white); border-color: var(--navy); }

.facetwp-loading { opacity: 0.6; pointer-events: none; }

.filter-sidebar-header {
  background: var(--navy); color: var(--white);
  padding: 20px; border-radius: 10px; margin-bottom: 20px; text-align: center;
}
.filter-sidebar-header h3 { margin: 0; font-size: 18px; font-weight: 600; }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  .facetwp-sidebar,
  .elementor-widget-sidebar {
    position: static; max-height: none; overflow-y: visible;
  }
}
@media (max-width: 768px) {
  .facetwp-facet { padding: 14px 16px; margin-bottom: 12px; }
  .facetwp-facet-label { font-size: 13px; margin-bottom: 10px; }
  .facetwp-radio label,
  .facetwp-checkbox label { font-size: 13px; }
}/* End custom CSS */