/* Florida Rehabs Directory — coastal design system for directory surfaces.
   Type inherits from the Elementor kit; colour, spacing and components live here. */
:root {
  --flr-ink: #12303a;
  --flr-muted: #4f6470;
  --flr-ocean: #0b6e7f;
  --flr-ocean-dark: #08515e;
  --flr-sea: #e3f2f3;
  --flr-sand: #f8f3ea;
  --flr-coral: #c2410c;
  --flr-coral-tint: #fdebe3;
  --flr-line: #d8e3e6;
  --flr-surface: #ffffff;
  --flr-radius: 14px;
  --flr-radius-sm: 8px;
  --flr-shadow: 0 1px 2px rgba(18, 48, 58, .06), 0 6px 20px rgba(18, 48, 58, .06);
  --flr-gap: clamp(16px, 2.4vw, 28px);
}

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- buttons, chips, badges ---------- */
.flr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  min-height: 44px; padding: .55em 1.1em; border-radius: 999px; border: 1.5px solid var(--flr-ocean);
  background: var(--flr-surface); color: var(--flr-ocean); font-weight: 600; font-size: .95rem; line-height: 1.2;
  text-decoration: none !important; cursor: pointer; transition: background .15s, color .15s, border-color .15s;
}
.flr-btn:hover, .flr-btn:focus-visible { background: var(--flr-sea); color: var(--flr-ocean-dark); }
.flr-btn--primary, .flr-btn--call { background: var(--flr-ocean); color: #fff; }
.flr-btn--primary:hover, .flr-btn--call:hover, .flr-btn--primary:focus-visible, .flr-btn--call:focus-visible { background: var(--flr-ocean-dark); color: #fff; border-color: var(--flr-ocean-dark); }
.flr-btn--ghost { border-color: var(--flr-line); color: var(--flr-ink); }
.flr-btn--lg { min-height: 52px; font-size: 1.05rem; padding: .7em 1.4em; }
.flr-btn:focus-visible, .flr-link:focus-visible, .flr-card a:focus-visible { outline: 3px solid #f2b705; outline-offset: 2px; }
.flr-link { background: none; border: 0; padding: .4em 0; color: var(--flr-ocean); text-decoration: underline; cursor: pointer; font: inherit; }

.flr-chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: .6em 0 0; padding: 0; }
.flr-chips li { margin: 0; padding: .2em .65em; border-radius: 999px; background: var(--flr-sea); color: var(--flr-ocean-dark); font-size: .8rem; font-weight: 600; }
.flr-chips .flr-chips__more { background: transparent; color: var(--flr-muted); }

.flr-badge { display: inline-block; margin-bottom: .45em; padding: .2em .7em; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.flr-badge--premier { background: var(--flr-coral); color: #fff; }
.flr-badge--featured { background: var(--flr-coral-tint); color: var(--flr-coral); }

/* ---------- cards ---------- */
.flr-card {
  display: flex; flex-direction: column; overflow: hidden; margin: 0 0 14px;
  background: var(--flr-surface); border: 1px solid var(--flr-line); border-radius: var(--flr-radius); box-shadow: var(--flr-shadow);
}
.flr-card--premier { border: 2px solid var(--flr-coral); }
.flr-card--featured { border-color: #f1b9a3; }
.flr-card__img { width: 100%; height: 160px; object-fit: cover; }
.flr-card__body { padding: 16px 18px 18px; }
.flr-card__title { margin: 0 0 .25em; font-size: 1.12rem; line-height: 1.3; }
.flr-card__title a { color: var(--flr-ink); text-decoration: none; }
.flr-card__title a:hover { color: var(--flr-ocean); text-decoration: underline; }
.flr-card__addr { margin: 0; color: var(--flr-muted); font-size: .92rem; }
.flr-card__dist { display: inline-block; margin-left: .5em; padding-left: .5em; border-left: 1px solid var(--flr-line); color: var(--flr-ocean-dark); font-weight: 700; }
.flr-card__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

/* ---------- listings block ---------- */
.flr-listings { margin: var(--flr-gap) 0; }
.flr-listings__title { margin-bottom: .3em; }
.flr-listings__layout { display: grid; gap: var(--flr-gap); }
.flr-listings__map .flr-map { height: 280px; border-radius: var(--flr-radius); border: 1px solid var(--flr-line); }
.flr-listings__more { margin-top: 8px; }
.flr-more > summary { list-style: none; margin: 4px 0 14px; }
.flr-more > summary::-webkit-details-marker { display: none; }
.flr-more[open] > summary { display: none; }
.flr-empty { padding: 18px; background: var(--flr-sand); border-radius: var(--flr-radius); }
@media (min-width: 960px) {
  .flr-listings__layout { grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); align-items: start; }
  .flr-listings__layout--nomap { grid-template-columns: 1fr; }
  .flr-listings__map { position: sticky; top: 24px; order: 2; }
  .flr-listings__map .flr-map { height: min(70vh, 620px); }
}

/* ---------- search forms ---------- */
.flr-search { display: grid; gap: 10px; padding: 10px; background: var(--flr-surface); border-radius: calc(var(--flr-radius) + 6px); box-shadow: 0 10px 40px rgba(8, 81, 94, .18); }
.flr-search input, .flr-search select,
.flr-locator input[type="search"], .flr-locator select {
  width: 100%; min-height: 48px; padding: 0 14px; border: 1.5px solid var(--flr-line); border-radius: 10px;
  background: #fff; color: var(--flr-ink); font-size: 1rem;
}
.flr-search input:focus, .flr-search select:focus, .flr-locator input:focus, .flr-locator select:focus { border-color: var(--flr-ocean); outline: 2px solid var(--flr-sea); }
.flr-search .flr-btn { min-height: 48px; border-radius: 10px; }
@media (min-width: 720px) { .flr-search { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto; } }
.flr-search--inline { box-shadow: none; border: 1px solid var(--flr-line); background: var(--flr-sand); margin: 18px 0; }

/* ---------- locator ---------- */
.flr-locator { margin: 0 0 var(--flr-gap); }
.flr-locator__bar { display: grid; gap: 12px; padding: 16px; background: var(--flr-sand); border-radius: var(--flr-radius); }
.flr-locator__bar label { display: block; margin-bottom: 4px; font-size: .85rem; font-weight: 600; color: var(--flr-ink); }
.flr-locator__geo { align-self: end; min-height: 48px; }
@media (min-width: 900px) { .flr-locator__bar { grid-template-columns: minmax(0, 1.5fr) 170px minmax(0, 1fr) auto; } }
.flr-locator__filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 6px; }
.flr-filter { position: relative; }
.flr-filter > summary { list-style: none; cursor: pointer; padding: .5em 1em; border: 1.5px solid var(--flr-line); border-radius: 999px; background: #fff; font-weight: 600; font-size: .9rem; min-height: 40px; display: flex; align-items: center; gap: .3em; }
.flr-filter > summary::-webkit-details-marker { display: none; }
.flr-filter > summary::after { content: "▾"; color: var(--flr-muted); }
.flr-filter[open] > summary { border-color: var(--flr-ocean); }
.flr-filter fieldset { position: absolute; z-index: 1001; top: calc(100% + 6px); left: 0; min-width: 260px; margin: 0; padding: 12px 14px; background: #fff; border: 1px solid var(--flr-line); border-radius: var(--flr-radius-sm); box-shadow: var(--flr-shadow); }
.flr-filter fieldset label { display: flex; gap: .5em; align-items: center; padding: 6px 0; font-size: .95rem; cursor: pointer; }
.flr-filter__count { color: var(--flr-ocean); }
.flr-locator__status { margin: 10px 0 14px; font-weight: 600; color: var(--flr-ink); }
.flr-locator__status.is-warning { color: var(--flr-coral); }
.flr-locator__layout { display: grid; gap: var(--flr-gap); }
.flr-locator__map .flr-map { height: 300px; border-radius: var(--flr-radius); border: 1px solid var(--flr-line); }
@media (min-width: 960px) {
  .flr-locator__layout { grid-template-columns: minmax(0, 1fr) minmax(340px, 46%); }
  .flr-locator__map { order: 2; position: sticky; top: 24px; align-self: start; }
  .flr-locator__map .flr-map { height: calc(100vh - 48px); max-height: 760px; }
}
@media (max-width: 599px) { .flr-filter fieldset { position: static; box-shadow: none; margin-top: 6px; } .flr-filter { flex-basis: 100%; } }

/* ---------- area pages ---------- */
.flr-area__summary p { font-size: 1.08rem; line-height: 1.65; }
.flr-area__content { margin-top: var(--flr-gap); padding-top: var(--flr-gap); border-top: 1px solid var(--flr-line); }
.flr-area-links { margin: var(--flr-gap) 0; }
.flr-area-links ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.flr-area-links li { margin: 0; }
.flr-area-links a { display: inline-block; padding: .4em .9em; border: 1px solid var(--flr-line); border-radius: 999px; color: var(--flr-ocean-dark); text-decoration: none; font-size: .92rem; }
.flr-area-links a:hover { background: var(--flr-sea); }
.flr-faq { margin: var(--flr-gap) 0; }
.flr-faq details { border-bottom: 1px solid var(--flr-line); padding: 6px 0; }
.flr-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1em; }
.flr-faq summary::-webkit-details-marker { display: none; }
.flr-faq summary::after { content: "+"; font-size: 1.4rem; color: var(--flr-ocean); }
.flr-faq details[open] summary::after { content: "–"; }
.flr-faq summary h3 { margin: .4em 0; font-size: 1.05rem; }

/* ---------- grids ---------- */
.flr-county-grid, .flr-care-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; list-style: none; margin: 0; padding: 0; }
.flr-county-grid li, .flr-care-grid li { margin: 0; }
.flr-county-grid a, .flr-care-grid a { display: flex; flex-direction: column; height: 100%; padding: 12px 14px; border: 1px solid var(--flr-line); border-radius: var(--flr-radius-sm); background: #fff; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.flr-county-grid a:hover, .flr-care-grid a:hover { border-color: var(--flr-ocean); box-shadow: var(--flr-shadow); }
.flr-county-grid__name, .flr-care-grid__name { color: var(--flr-ink); font-weight: 700; }
.flr-county-grid__n, .flr-care-grid__n { color: var(--flr-muted); font-size: .85rem; }
.flr-care-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.flr-care-grid a { padding: 18px; background: var(--flr-sand); border-color: transparent; }
.flr-nearby-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.flr-nearby-grid .flr-card { margin: 0; }

/* ---------- facility page ---------- */
.flr-facility { max-width: 1200px; margin: 0 auto; padding: 20px 16px 48px; color: var(--flr-ink); }
.flr-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; list-style: none; margin: 0 0 18px; padding: 0; font-size: .88rem; color: var(--flr-muted); }
.flr-crumbs li + li::before { content: "›"; margin: 0 .5em; }
.flr-crumbs a { color: var(--flr-ocean); }
.flr-facility__head { display: grid; gap: 18px; padding: clamp(18px, 3vw, 32px); background: linear-gradient(135deg, var(--flr-sea), var(--flr-sand)); border-radius: calc(var(--flr-radius) + 6px); }
.flr-facility__head h1 { margin: 0 0 .2em; font-size: clamp(1.6rem, 3.4vw, 2.4rem); line-height: 1.15; color: var(--flr-ink); }
.flr-facility__sub { margin: 0 0 .3em; font-weight: 600; }
.flr-facility__addr { margin: 0; color: var(--flr-muted); }
.flr-facility__cta { display: flex; flex-wrap: wrap; gap: 10px; align-content: start; }
@media (min-width: 900px) { .flr-facility__head { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } .flr-facility__cta { flex-direction: column; } }
.flr-facility__grid { display: grid; gap: var(--flr-gap); margin-top: var(--flr-gap); }
@media (min-width: 960px) { .flr-facility__grid { grid-template-columns: minmax(0, 1fr) 360px; } .flr-facility__side { position: sticky; top: 24px; align-self: start; } }
.flr-facility__photo img { width: 100%; border-radius: var(--flr-radius); }
.flr-facts { margin: 0; display: grid; gap: 12px; }
.flr-facts > div { padding: 14px 16px; background: var(--flr-sand); border-radius: var(--flr-radius-sm); }
.flr-facts dt { font-weight: 700; margin-bottom: 4px; }
.flr-facts dd { margin: 0; color: var(--flr-muted); line-height: 1.6; }
.flr-facility__services details { border-bottom: 1px solid var(--flr-line); }
.flr-facility__services summary { cursor: pointer; padding: 12px 0; font-weight: 600; }
.flr-facility__services summary span { color: var(--flr-muted); font-weight: 400; }
.flr-facility__services ul { columns: 2 240px; margin: 0 0 14px; padding-left: 1.2em; }
.flr-facility__source { margin-top: var(--flr-gap); padding: 14px 16px; border-left: 3px solid var(--flr-ocean); background: var(--flr-sea); font-size: .9rem; }
.flr-map--single { height: 260px; border-radius: var(--flr-radius); border: 1px solid var(--flr-line); }
.flr-help { margin-top: 16px; padding: 18px; border-radius: var(--flr-radius); background: var(--flr-ink); color: #fff; }
.flr-help h2 { color: #fff; font-size: 1.15rem; margin: 0 0 .4em; }
.flr-help p { color: #d7e6ea; font-size: .95rem; }
.flr-help a:not(.flr-btn) { color: #fff; }
.flr-help .flr-btn--call { background: #fff; color: var(--flr-ink); border-color: #fff; }
.flr-facility__nearby { margin-top: calc(var(--flr-gap) * 1.5); }

.leaflet-container { font: inherit; }
.leaflet-popup-content a { font-weight: 600; color: var(--flr-ocean-dark); }

/* ---------- theme overrides ----------
   The Elementor kit styles bare a/button/h3 globally; directory components need to win. */
.flr-btn, a.flr-btn, button.flr-btn { color: var(--flr-ocean) !important; border-color: var(--flr-ocean) !important; background: var(--flr-surface) !important; text-transform: none !important; letter-spacing: normal !important; font-family: inherit; }
.flr-btn:hover, a.flr-btn:hover, button.flr-btn:hover { background: var(--flr-sea) !important; color: var(--flr-ocean-dark) !important; }
.flr-btn--ghost, a.flr-btn--ghost, button.flr-btn--ghost { border-color: var(--flr-line) !important; color: var(--flr-ink) !important; }
.flr-btn--primary, a.flr-btn--primary, button.flr-btn--primary, .flr-btn--call, a.flr-btn--call { background: var(--flr-ocean) !important; border-color: var(--flr-ocean) !important; color: #fff !important; }
.flr-btn--primary:hover, a.flr-btn--primary:hover, button.flr-btn--primary:hover, a.flr-btn--call:hover { background: var(--flr-ocean-dark) !important; border-color: var(--flr-ocean-dark) !important; color: #fff !important; }
.flr-help a.flr-btn--call { background: #fff !important; color: var(--flr-ink) !important; border-color: #fff !important; }
.flr-card .flr-card__title { font-size: 1.12rem !important; line-height: 1.3 !important; font-weight: 700; letter-spacing: normal; text-transform: none; }
.flr-card .flr-card__title a { color: var(--flr-ink) !important; }
.flr-card .flr-card__title a:hover { color: var(--flr-ocean) !important; }
.flr-listings .flr-listings__title, .flr-area-links h2, .flr-faq > h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem); line-height: 1.25; text-transform: none; letter-spacing: normal; }
.flr-faq summary h3 { font-size: 1.05rem !important; text-transform: none; }

/* ---------- submission form ---------- */
.flr-form { max-width: 820px; }
.flr-form fieldset { margin: 0 0 18px; padding: 18px; border: 1px solid var(--flr-line); border-radius: var(--flr-radius); }
.flr-form legend { padding: 0 6px; font-weight: 700; }
.flr-form label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: 4px; }
.flr-form input:not([type=checkbox]), .flr-form select, .flr-form textarea { width: 100%; min-height: 46px; padding: 8px 12px; border: 1.5px solid var(--flr-line); border-radius: 10px; font: inherit; }
.flr-form p { margin: 0 0 12px; }
.flr-form__grid { display: grid; gap: 4px 16px; }
@media (min-width: 640px) { .flr-form__grid { grid-template-columns: 1fr 1fr; } .flr-form__wide { grid-column: 1 / -1; } }
.flr-form__checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 4px 16px; }
.flr-form__checks label { display: flex; gap: .5em; align-items: center; font-weight: 400; }
.flr-form__hp { position: absolute; left: -9999px; }
.flr-form__fine { color: var(--flr-muted); font-size: .88rem; }
.flr-notice { padding: 14px 16px; border-radius: var(--flr-radius-sm); background: var(--flr-sea); margin-bottom: 16px; }
.flr-notice--ok { background: #e8f5ec; }
.flr-notice--err { background: var(--flr-coral-tint); color: #7c2d12; }
button.flr-link, .flr-link { background: none !important; border: 0 !important; padding: .4em .2em !important; color: var(--flr-ocean) !important; text-decoration: underline; text-transform: none !important; box-shadow: none !important; }
.flr-care-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.flr-help h2 { color: #fff !important; }
.flr-facility__head h1 { color: var(--flr-ink) !important; }

/* ---------- editorial guide (old content, integrated) ---------- */
.flr-lead { margin: 0 0 18px; }
.flr-lead p { font-size: clamp(1.1rem, 1.6vw, 1.28rem); line-height: 1.6; color: var(--flr-ink); }
.flr-area__summary { padding: 18px 20px; background: var(--flr-sea); border-radius: var(--flr-radius); }
.flr-area__summary p { margin: 0; font-size: 1.02rem !important; }
.flr-guide { display: grid; gap: var(--flr-gap); margin: calc(var(--flr-gap) * 1.6) 0 var(--flr-gap); padding-top: calc(var(--flr-gap) * 1.2); border-top: 1px solid var(--flr-line); }
@media (min-width: 1080px) {
  .flr-guide { grid-template-columns: 250px minmax(0, 1fr); align-items: start; }
  .flr-guide--notoc { grid-template-columns: minmax(0, 1fr); }
  .flr-guide__toc { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow: auto; }
}
.flr-guide__toc nav { padding: 16px 18px; background: var(--flr-sand); border-radius: var(--flr-radius); }
.flr-guide__toc-title { margin: 0 0 8px !important; font-size: .78rem !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--flr-ocean-dark); }
.flr-guide__toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.flr-guide__toc li { margin: 0; counter-increment: toc; }
.flr-guide__toc a { display: block; padding: 6px 0 6px 26px; position: relative; color: var(--flr-ink) !important; font-size: .9rem; line-height: 1.35; text-decoration: none; border-top: 1px solid rgba(18, 48, 58, .07); }
.flr-guide__toc a::before { content: counter(toc); position: absolute; left: 0; top: 6px; color: var(--flr-ocean); font-weight: 700; font-size: .8rem; }
.flr-guide__toc a:hover { color: var(--flr-ocean) !important; }
@media (max-width: 1079px) { .flr-guide__toc ol { columns: 2 220px; } }
.flr-guide__body { max-width: 780px; }
.flr-guide__kicker { margin: 0 0 4px !important; font-size: .8rem !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--flr-ocean); }
.flr-guide__section { scroll-margin-top: 96px; padding: 4px 0 6px; }
.flr-guide__section + .flr-guide__section, .flr-guide__cta + .flr-guide__section { margin-top: 26px; }
.flr-guide__section > h2 { margin: 0 0 12px; font-size: clamp(1.45rem, 2.4vw, 1.9rem) !important; line-height: 1.2; color: var(--flr-ink) !important; }
.flr-guide__section h3 { margin: 22px 0 8px; font-size: 1.2rem !important; color: var(--flr-ink) !important; }
.flr-guide__section h4 { margin: 18px 0 6px; font-size: 1.05rem !important; }
.flr-guide__section p, .flr-guide__section li { font-size: 1.05rem; line-height: 1.75; color: #2b4651; }
.flr-guide__section ul, .flr-guide__section ol { padding-left: 1.3em; margin: 0 0 16px; }
.flr-guide__section li { margin: 0 0 6px; }
.flr-guide__section li::marker { color: var(--flr-ocean); }
.flr-guide__section a { color: var(--flr-ocean); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.flr-guide__section blockquote { margin: 18px 0; padding: 14px 18px; border-left: 4px solid var(--flr-ocean); background: var(--flr-sea); border-radius: 0 var(--flr-radius-sm) var(--flr-radius-sm) 0; font-style: normal; }
.flr-guide__section img, .flr-guide__section .wp-caption { max-width: 100%; height: auto; border-radius: var(--flr-radius); }
.flr-guide__section .alignright, .flr-guide__section .wp-caption.alignright { float: right; max-width: min(42%, 340px); margin: 6px 0 14px 22px; }
.flr-guide__section .alignleft, .flr-guide__section .wp-caption.alignleft { float: left; max-width: min(42%, 340px); margin: 6px 22px 14px 0; }
.flr-guide__section .wp-caption-text { font-size: .85rem; color: var(--flr-muted); margin-top: 6px; }
.flr-guide__section::after { content: ""; display: table; clear: both; }
@media (max-width: 640px) { .flr-guide__section .alignright, .flr-guide__section .alignleft { float: none; max-width: 100%; margin: 10px 0; } }
.flr-guide__section table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: .95rem; }
.flr-guide__section th, .flr-guide__section td { padding: 10px 12px; border-bottom: 1px solid var(--flr-line); text-align: left; }
.flr-guide__section th { background: var(--flr-sand); }
.flr-guide__cta { margin: 30px 0; padding: 22px 22px 18px; background: linear-gradient(135deg, var(--flr-sea), var(--flr-sand)); border-radius: calc(var(--flr-radius) + 4px); }
.flr-guide__cta-title { margin: 0 0 4px !important; font-weight: 800; font-size: 1.25rem !important; color: var(--flr-ink); }
.flr-guide__cta p { margin: 0 0 12px; }
.flr-search--band { box-shadow: none; }
.flr-guide__cta .flr-county-grid { margin-top: 10px; }

/* Blog posts + any theme-rendered article share the guide typography */
.single-post .elementor-widget-theme-post-content p, .single-post .elementor-widget-theme-post-content li { font-size: 1.08rem; line-height: 1.75; color: #2b4651; }
.single-post .elementor-widget-theme-post-content h2 { font-size: clamp(1.45rem, 2.4vw, 1.9rem); margin: 30px 0 12px; color: var(--flr-ink); }
.single-post .elementor-widget-theme-post-content h3 { font-size: 1.2rem; margin: 22px 0 8px; color: var(--flr-ink); }
.single-post .elementor-widget-theme-post-content a { color: var(--flr-ocean); text-decoration: underline; }

/* ---------- cohesion fixes ---------- */
.flr-listings__title, .flr-card__title, .flr-guide h2, .flr-guide h3, .flr-faq h2, .flr-area-links h2,
.flr-facility h1, .flr-facility h2, .flr-guide__cta-title, .flr-county-grid__name, .flr-care-grid__name {
  font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif !important; letter-spacing: -0.01em;
}
.flr-listings__title { color: var(--flr-ink) !important; }
@media (max-width: 1079px) {
  .flr-guide { grid-template-columns: minmax(0, 1fr); }
  .flr-guide__toc ol { columns: 1; }
  .flr-guide__toc nav { max-height: 320px; overflow: auto; }
}
@media (min-width: 700px) and (max-width: 1079px) { .flr-guide__toc ol { columns: 2; column-gap: 24px; } }
.flr-search--stack { grid-template-columns: 1fr !important; padding: 0; box-shadow: none; background: transparent; }
.flr-guide--first { margin-top: 0; padding-top: 0; border-top: 0; }

/* ---------- advertising labels, profile status, Premier slots (includes/ads.php) ---------- */
.flr-labels { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: .45em; }
.flr-labels .flr-badge { margin-bottom: 0; }
.flr-ad { display: inline-block; padding: .15em .55em; border: 1px solid var(--flr-muted); border-radius: 4px; color: var(--flr-muted); font-size: .7rem; font-weight: 700; letter-spacing: .04em; line-height: 1.4; text-decoration: none; }
.flr-ad:hover, .flr-ad:focus-visible { color: var(--flr-ink); border-color: var(--flr-ink); }
.flr-status { display: inline-flex; align-items: center; gap: .25em; font-size: .78rem; font-weight: 700; text-decoration: none; }
.flr-status--verified { color: #0f7a3d; }
.flr-status--claimed { color: var(--flr-ocean); }
.flr-sort-note { margin: 0 0 1em; color: var(--flr-muted); font-size: .85rem; }
.flr-sort-note a { color: var(--flr-ocean); }
.flr-claim { margin-top: 1.25em; padding: 16px 18px; border: 1px dashed var(--flr-line); border-radius: var(--flr-radius-sm); background: var(--flr-sand); }
.flr-claim p { margin: 0 0 .75em; }
.flr-disclosure { margin: 0; font-size: .82rem; line-height: 1.55; color: #b9cdd2; }
.flr-disclosure a, .flr-disclosure strong { color: #fff; }

.flr-slots__title { margin: 0 0 10px; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--flr-muted); }
.flr-slots__grid { display: grid; gap: var(--flr-gap); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.flr-slot { display: flex; flex-direction: column; overflow: hidden; background: var(--flr-surface); border: 2px solid var(--flr-coral); border-radius: var(--flr-radius); box-shadow: var(--flr-shadow); color: var(--flr-ink); text-align: left; }
.flr-slot--open { border-style: dashed; background: var(--flr-coral-tint); box-shadow: none; }
.flr-slot__img { width: 100%; height: 150px; object-fit: cover; }
.flr-slot__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.flr-slot__body .flr-btn { margin-top: auto; }
.flr-slot__title { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.3; }
.flr-slot__title a { color: var(--flr-ink); text-decoration: none; }
.flr-slot__addr { margin: 0; font-size: .9rem; color: var(--flr-muted); }

/* Hero: one slot under the search box, on the dark photo. */
.flr-slots--hero { margin-top: 22px; }
.flr-slots--hero .flr-slots__title { color: #bfe6ea; }
.flr-slots--hero .flr-slots__grid { grid-template-columns: 1fr; }
.flr-slots--hero .flr-slot { flex-direction: row; }
.flr-slots--hero .flr-slot__img { width: 160px; height: auto; flex: none; }
.flr-slots--hero .flr-slot__body { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; }
.flr-slots--hero .flr-labels { flex-basis: 100%; margin: 0; }
.flr-slots--hero .flr-slot__body .flr-btn { margin: 0 0 0 auto; }
.flr-slots--hero .flr-slot--open { background: rgba(255, 255, 255, .94); }

/* Footer: compact row on the dark band. */
.flr-slots--footer .flr-slots__title { color: #bfe6ea; }
.flr-slots--footer .flr-slots__grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.flr-slots--footer .flr-slot { border-width: 1px; }
.flr-slots--footer .flr-slot--open { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .35); color: #d7e6ea; }
.flr-slots--footer .flr-slot--open .flr-slot__title { color: #fff; }
.flr-slots--footer .flr-slot--open .flr-slot__addr { color: #b9cdd2; }
.flr-slots--footer .flr-slot--open .flr-ad { color: #d7e6ea; border-color: #d7e6ea; }
.flr-slots--footer .flr-slot--open .flr-btn { background: transparent; border-color: rgba(255, 255, 255, .5); color: #fff; }
.flr-slots--footer .flr-slot__body { padding: 12px 14px 14px; }
.flr-slots--footer .flr-slot__title { font-size: .95rem; }

@media (max-width: 600px) {
  .flr-slots--hero .flr-slot { flex-direction: column; }
  .flr-slots--hero .flr-slot__img { width: 100%; height: 140px; }
  .flr-slots--hero .flr-slot__body .flr-btn { margin: 4px 0 0; }
}

/* Sidebar slot: under the area-page map and in the facility profile sidebar. The area map is
   sticky, so it gets shorter when a slot sits below it to keep both on screen. */
.flr-slots--sidebar { margin-top: 16px; }
.flr-slots--sidebar .flr-slots__grid { grid-template-columns: 1fr; }
.flr-slots--sidebar .flr-slot__img { height: 120px; }
@media (min-width: 960px) {
  .flr-listings__map--ad .flr-map { height: min(46vh, 420px); }
}

/* Under the search bar on internal pages: one wide card, image on the left; stacks on phones. */
.flr-slots--search { margin: 14px 0 4px; }
.flr-slots--search .flr-slots__grid { grid-template-columns: 1fr; }
.flr-slots--search .flr-slot { flex-direction: row; }
.flr-slots--search .flr-slot__img { width: 200px; height: auto; flex: none; }
.flr-slots--search .flr-slot__body { min-width: 0; flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; }
.flr-slots--search .flr-labels { flex-basis: 100%; margin: 0; }
.flr-slots--search .flr-slot__body .flr-btn { margin: 0 0 0 auto; }
.flr-guide__cta .flr-slots--search { margin-top: 16px; }
@media (max-width: 600px) {
  .flr-slots--search .flr-slot { flex-direction: column; }
  .flr-slots--search .flr-slot__img { width: 100%; height: 140px; }
  .flr-slots--search .flr-slot__body { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; }
  .flr-slots--search .flr-labels { flex-basis: auto; }
  .flr-slots--search .flr-slot__body > p { max-width: 100%; }
  .flr-slots--search .flr-slot__body .flr-btn { margin: 4px 0 0; }
}

/* Search bar + Premier slot at the top of non-area article pages (includes/guide.php). */
.flr-guide-top { margin: 0 0 28px; }

/* Data tables in articles (e.g. drug-test detection windows) scroll inside their own box on phones. */
.elementor-widget-theme-post-content table, .flr-guide__section table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.elementor-widget-theme-post-content th, .elementor-widget-theme-post-content td, .flr-guide__section th, .flr-guide__section td { padding: 8px 10px; border: 1px solid var(--flr-line); text-align: left; vertical-align: top; }
.elementor-widget-theme-post-content a { overflow-wrap: anywhere; }

/* Substance guide cards on the blog index ([flr_substance_guides]). */
.flr-guide-cards { margin: 8px 0 24px; }
.flr-guide-cards__group { margin: 0 0 36px; }
.flr-guide-cards__group h2 { margin: 0 0 14px; }
.flr-guide-link { margin: 32px 0 8px; padding: 16px 20px; background: var(--flr-sea); border-radius: var(--flr-radius); }
.flr-guide-cards__intro { color: var(--flr-muted); margin: 0 0 18px; }
.flr-guide-cards__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--flr-gap); grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.flr-guide-card a { display: flex; flex-direction: column; height: 100%; overflow: hidden; background: var(--flr-surface); border: 1px solid var(--flr-line); border-radius: var(--flr-radius); box-shadow: var(--flr-shadow); color: var(--flr-ink); text-decoration: none; }
.flr-guide-card a:hover, .flr-guide-card a:focus-visible { border-color: var(--flr-ocean); }
.flr-guide-card img { width: 100%; height: 150px; object-fit: cover; }
.flr-guide-card__title { padding: 14px 16px 6px; font-weight: 700; line-height: 1.3; }
.flr-guide-card__desc { padding: 0 16px 16px; font-size: .9rem; color: var(--flr-muted); }

/* Header menu has 5 top-level items since Substance Guides moved up (2026-10-15): keep it on one line
   on smaller laptops, between the tablet hamburger breakpoint and full desktop width. */
@media (min-width: 1025px) and (max-width: 1279px) {
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item { padding-left: 9px; padding-right: 9px; font-size: 14px; }
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
}

/* Mobile/tablet hamburger menu (2026-10-15): Elementor sized the dropdown to its 63px menu column, so
   items were cut off mid-word and the header grew to the menu's height. Anchor it to the header bar
   instead: a full-width overlay under the header that scrolls when it's taller than the screen. */
@media (max-width: 1024px) {
  .elementor-location-header .elementor-container:has(.elementor-menu-toggle),
  .elementor-location-header .elementor-column:has(.elementor-menu-toggle),
  .elementor-location-header .elementor-widget-wrap:has(.elementor-menu-toggle),
  .elementor-location-header .elementor-widget-nav-menu:has(.elementor-menu-toggle) { position: static; }
  .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: auto !important;
    margin-top: 0 !important; max-height: calc(100vh - 60px); overflow-y: auto; z-index: 9999;
    background: #fff; box-shadow: 0 12px 24px rgba(18, 48, 58, .18);
  }
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item { padding: 14px 20px; font-size: 16px; line-height: 1.3; white-space: normal; }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item { padding: 12px 20px 12px 36px !important; font-size: 15px !important; line-height: 1.3; white-space: normal; }
}
