/* ============================================================
   Hub A (Areas We Serve) — barristar-child
   URL: /areas-we-serve/
   All classes prefixed kl-hub- to avoid parent theme conflicts.
   Barristar colors: red #9f0b19, navy #06163a, gold #d4c291
   Fonts: Playfair Display (headings), Open Sans (body)
   ============================================================ */

:root {
  --kl-hub-accent:     #9f0b19;
  --kl-hub-accent-dk:  #7a1520;
  --kl-hub-gold:       #d4c291;
  --kl-hub-navy:       #06163a;
  --kl-hub-navy-2:     #0a172b;
  --kl-hub-navy-3:     #123a80;
  --kl-hub-ink:        #06163a;
  --kl-hub-ink-2:      #727780;
  --kl-hub-line:       #e6e6e6;
  --kl-hub-paper:      #ffffff;
  --kl-hub-paper-tint: #f5f5f5;
  --kl-hub-white:      #ffffff;
  --kl-hub-font-head:  'Playfair Display', serif;
  --kl-hub-font-body:  'Open Sans', sans-serif;
  --kl-hub-gutter-mob: 20px;
  --kl-hub-gutter-tab: 32px;
  --kl-hub-gutter-dsk: 56px;
}

.kl-hub-wrap {
  max-width: 1200px; margin: 0 auto;
  padding-left: var(--kl-hub-gutter-mob);
  padding-right: var(--kl-hub-gutter-mob);
}
@media (min-width: 768px)  { .kl-hub-wrap { padding-left: var(--kl-hub-gutter-tab); padding-right: var(--kl-hub-gutter-tab); } }
@media (min-width: 1280px) { .kl-hub-wrap { padding-left: var(--kl-hub-gutter-dsk); padding-right: var(--kl-hub-gutter-dsk); } }

/* ── Eyebrows ── */
.kl-hub-eyebrow {
  font-family: var(--kl-hub-font-body);
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  font-weight: 700; margin: 0 0 12px;
  display: inline-flex; align-items: center; gap: 8px;
}
.kl-hub-eyebrow--accent { color: var(--kl-hub-accent) !important; }
.kl-hub-eyebrow--gold   { color: var(--kl-hub-gold)   !important; }
.kl-hub-eyebrow__rule   { width: 28px; height: 1px; background: currentColor; display: inline-block; }

/* ── Buttons ── */
.kl-hub-btn {
  display: inline-block; font-family: var(--kl-hub-font-body);
  font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 13px 22px; text-decoration: none;
  border: 2px solid transparent; border-radius: 50px;
  cursor: pointer; transition: all .25s; text-align: center;
}
.kl-hub-btn--accent        { background: var(--kl-hub-accent); color: #fff !important; }
.kl-hub-btn--accent:hover  { background: var(--kl-hub-accent-dk); color: #fff !important; }
.kl-hub-btn--outline       { background: transparent; color: var(--kl-hub-navy) !important; border-color: var(--kl-hub-navy); }
.kl-hub-btn--outline:hover { background: var(--kl-hub-navy); color: #fff !important; }
.kl-hub-btn--block         { display: block; width: 100%; }

/* ── Breadcrumb ── */
.kl-hub-breadcrumb { background: var(--kl-hub-paper); border-top: 3px solid var(--kl-hub-accent); border-bottom: 1px solid var(--kl-hub-line); padding: 10px 0; font-family: var(--kl-hub-font-body); font-size: 13px; color: var(--kl-hub-ink-2); }
.kl-hub-breadcrumb__link    { color: var(--kl-hub-ink-2) !important; text-decoration: none; }
.kl-hub-breadcrumb__link:hover { color: var(--kl-hub-accent) !important; }
.kl-hub-breadcrumb__sep     { margin: 0 8px; color: #b5b5b5; }
.kl-hub-breadcrumb__current { color: var(--kl-hub-ink) !important; font-weight: 600; }

/* ── Hero ── */
.kl-hub-hero { background: var(--kl-hub-navy); color: #fff; padding: 56px 0; position: relative; overflow: hidden; }
.kl-hub-hero__ring { position: absolute; border: 1px solid rgba(255,255,255,.04); border-radius: 50%; pointer-events: none; }
.kl-hub-hero__ring--lg { right: -160px; top: -100px; width: 600px; height: 600px; }
.kl-hub-hero__ring--sm { right: -60px; top: 40px; width: 300px; height: 300px; }
.kl-hub-hero__inner { position: relative; }
.kl-hub-hero__title { font-family: var(--kl-hub-font-head); font-size: 36px; font-weight: 700; line-height: 1.1; color: #fff !important; margin: 0 0 18px; }
.kl-hub-hero__lede  { font-size: 17px; color: #c8d3e8 !important; line-height: 1.7; margin: 0 0 28px; max-width: 640px; font-family: var(--kl-hub-font-body); }
.kl-hub-hero__lede strong { color: #fff !important; }

.kl-hub-hero__stats { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 0 0 20px; }
.kl-hub-hero__stats-item { display: flex; flex-direction: column; padding: 14px 20px; background: rgba(255,255,255,.07); border-left: 3px solid var(--kl-hub-gold); min-width: 100px; }
.kl-hub-hero__stats-num   { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: #fff !important; line-height: 1; }
.kl-hub-hero__stats-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #8899b8 !important; margin-top: 4px; font-family: var(--kl-hub-font-body); font-weight: 600; }
.kl-hub-hero__updated { font-size: 12px; color: #8899b8 !important; margin: 0; font-family: var(--kl-hub-font-body); }

@media (min-width: 768px)  { .kl-hub-hero__title { font-size: 44px; } }
@media (min-width: 1280px) { .kl-hub-hero__title { font-size: 54px; } .kl-hub-hero__lede { font-size: 18px; } }

/* ── Key Facts ── */
.kl-hub-key-facts { background: var(--kl-hub-paper-tint); padding: 48px 0; }
.kl-hub-key-facts__card { background: var(--kl-hub-white); border: 1px solid var(--kl-hub-line); border-left: 4px solid var(--kl-hub-accent); padding: 28px 32px; position: relative; }
.kl-hub-key-facts__accent { position: absolute; top: 0; left: -4px; width: 4px; height: 60px; background: var(--kl-hub-accent); }
.kl-hub-key-facts__title  { font-family: var(--kl-hub-font-head); font-size: 22px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-key-facts__grid   { display: grid; grid-template-columns: 1fr; gap: 0; }
.kl-hub-key-facts__row    { display: grid; grid-template-columns: 1fr; gap: 4px; padding: 12px 0; border-bottom: 1px dotted var(--kl-hub-line); }
.kl-hub-key-facts__row:last-child { border-bottom: none; }
.kl-hub-key-facts__term   { font-size: 13px; text-transform: uppercase; letter-spacing: 0.12em; color: var(--kl-hub-ink-2) !important; font-weight: 700; font-family: var(--kl-hub-font-body); margin: 0; }
.kl-hub-key-facts__def    { font-size: 14px; color: var(--kl-hub-ink) !important; font-family: var(--kl-hub-font-body); margin: 0; }
.kl-hub-key-facts__def a  { color: var(--kl-hub-accent) !important; text-decoration: underline; }
.kl-hub-key-facts__def strong { color: var(--kl-hub-ink) !important; }

/* Override elements.css on key facts grid */
.page-wrapper .kl-hub-key-facts__term,
.page-wrapper .kl-hub-key-facts__grid dt {
  font-size: 13px !important;
  color: var(--kl-hub-ink-2) !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-weight: 700 !important;
}
.page-wrapper .kl-hub-key-facts__def,
.page-wrapper .kl-hub-key-facts__grid dd {
  font-size: 14px !important;
  color: var(--kl-hub-ink) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}
@media (min-width: 768px)  {
  .kl-hub-key-facts__grid { grid-template-columns: repeat(2, 1fr); gap: 0 32px; }
  .kl-hub-key-facts__row  { grid-template-columns: 180px 1fr; align-items: start; }
}

/* ── CTA Bridge ── */
.kl-hub-cta-bridge {
  background: #3c3b6e;
  padding: 40px 0;
}
.kl-hub-cta-bridge__inner { display: flex; flex-direction: column; gap: 20px; }
.kl-hub-cta-bridge__title {
  font-family: var(--kl-hub-font-head); font-size: 22px; font-weight: 700;
  color: #ffffff !important; margin: 0 0 6px;
}
.kl-hub-cta-bridge__lede  {
  font-size: 14px; color: rgba(255,255,255,.8) !important;
  margin: 0; font-family: var(--kl-hub-font-body);
}
.kl-hub-cta-bridge__actions { display: flex; flex-direction: column; gap: 10px; }

/* Button 1 — red, always visible */
.kl-hub-cta-bridge__actions .kl-hub-btn--accent {
  background: #9f0b19 !important;
  color: #fff !important;
  border-color: #9f0b19 !important;
  border-radius: 50px !important;
}
.kl-hub-cta-bridge__actions .kl-hub-btn--accent:hover {
  background: #7a1520 !important;
  border-color: #7a1520 !important;
}

/* Button 2 — Call, always visible, white outline */
.kl-hub-cta-bridge__actions .kl-hub-btn--outline {
  background: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  border-radius: 50px !important;
  transition: background .25s;
}
.kl-hub-cta-bridge__actions .kl-hub-btn--outline:hover {
  background: rgba(255,255,255,.15) !important;
  color: #ffffff !important;
}

@media (min-width: 768px) {
  .kl-hub-cta-bridge__inner   { flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; }
  .kl-hub-cta-bridge__copy    { flex: 1; }
  .kl-hub-cta-bridge__actions { flex-direction: column; gap: 10px; min-width: 240px; }
  .kl-hub-cta-bridge__title   { font-size: 24px; }
}

/* ── Directory ── */
.kl-hub-directory { background: var(--kl-hub-paper); padding: 40px 0 20px; }
.kl-hub-directory__head { margin-bottom: 20px; }
.kl-hub-directory__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 6px; }
.kl-hub-directory__meta { font-size: 13px; color: var(--kl-hub-ink-2) !important; margin: 0; font-family: var(--kl-hub-font-body); }
.kl-hub-directory__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.kl-hub-directory__item { display: flex; align-items: center; gap: 6px; }
.kl-hub-directory__link { font-size: 14px; color: var(--kl-hub-accent) !important; text-decoration: none; font-family: var(--kl-hub-font-body); font-weight: 500; }
.kl-hub-directory__link:hover { text-decoration: underline; }
.kl-hub-directory__sep  { color: var(--kl-hub-line); font-size: 12px; }

/* ── City Card Grid ── */
.kl-hub-city-grid { background: var(--kl-hub-paper); padding: 20px 0 48px; }
.kl-hub-city-grid__inner { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 640px)  { .kl-hub-city-grid__inner { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .kl-hub-city-grid__inner { grid-template-columns: repeat(3, 1fr); } }

.kl-hub-city-card { background: var(--kl-hub-white); border: 1px solid var(--kl-hub-line); border-top: 3px solid transparent; display: flex; flex-direction: column; transition: border-color .2s, box-shadow .2s; }
.kl-hub-city-card:hover { border-top-color: var(--kl-hub-accent); box-shadow: 0 4px 18px rgba(6,22,58,.1); }
.kl-hub-city-card__head { padding: 20px 20px 0; }
.kl-hub-city-card__title { font-family: var(--kl-hub-font-head); font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.kl-hub-city-card__title a { color: var(--kl-hub-ink) !important; text-decoration: none; }
.kl-hub-city-card__title a:hover { color: var(--kl-hub-accent) !important; }
.kl-hub-city-card__kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--kl-hub-ink-2) !important; margin: 0; font-family: var(--kl-hub-font-body); font-weight: 600; }
.kl-hub-city-card__body { font-size: 14px; color: var(--kl-hub-ink-2) !important; line-height: 1.65; padding: 10px 20px; flex: 1; font-family: var(--kl-hub-font-body); }
.kl-hub-city-card__cta {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 20px;
  background: var(--kl-hub-accent); color: #fff !important;
  font-size: 13px; font-weight: 700; text-decoration: none;
  text-transform: uppercase; letter-spacing: 0.04em;
  font-family: var(--kl-hub-font-body);
  transition: background .2s;
}
.kl-hub-city-card__cta:hover { background: var(--kl-hub-accent-dk); color: #fff !important; }

/* ── Topical ── */
.kl-hub-topical { background: var(--kl-hub-paper-tint); padding: 56px 0; }
.kl-hub-topical__head { margin-bottom: 32px; max-width: 640px; }
.kl-hub-topical__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 10px; }
.kl-hub-topical__lede  { font-size: 16px; color: var(--kl-hub-ink-2) !important; line-height: 1.7; margin: 0; font-family: var(--kl-hub-font-body); }
.kl-hub-topical__grid  { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .kl-hub-topical__grid { grid-template-columns: repeat(2, 1fr); } }
.kl-hub-topical__item  { background: var(--kl-hub-white); padding: 24px; border: 1px solid var(--kl-hub-line); border-top: 3px solid var(--kl-hub-accent); }
.kl-hub-topical__item-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 10px; }
.kl-hub-topical__num   { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-line); line-height: 1; flex-shrink: 0; }
.kl-hub-topical__item-title { font-family: var(--kl-hub-font-head); font-size: 16px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0; }
.kl-hub-topical__item-body  { font-size: 14px; color: var(--kl-hub-ink-2) !important; line-height: 1.7; margin: 0; font-family: var(--kl-hub-font-body); }

/* ── Process ── */
.kl-hub-process { background: var(--kl-hub-navy-2); padding: 56px 0; }
.kl-hub-process__head { display: flex; flex-direction: column; gap: 16px; margin-bottom: 36px; }
.kl-hub-process__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: #fff !important; margin: 0; }
.kl-hub-process__lede  { font-size: 15px; color: #c8d3e8 !important; margin: 0; font-family: var(--kl-hub-font-body); }
.kl-hub-process__grid  { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .kl-hub-process__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px){ .kl-hub-process__grid { grid-template-columns: repeat(4, 1fr); } .kl-hub-process__head { flex-direction: row; align-items: center; justify-content: space-between; } }
.kl-hub-process__step       { padding: 20px; border-left: 3px solid var(--kl-hub-gold); background: rgba(255,255,255,.04); }
.kl-hub-process__num        { font-family: var(--kl-hub-font-head); font-size: 36px; font-weight: 700; color: var(--kl-hub-gold) !important; line-height: 1; margin-bottom: 10px; }
.kl-hub-process__step-title { font-family: var(--kl-hub-font-head); font-size: 16px; font-weight: 700; color: #fff !important; margin: 0 0 8px; }
.kl-hub-process__step-body  { font-size: 14px; color: #c8d3e8 !important; line-height: 1.7; margin: 0; font-family: var(--kl-hub-font-body); }

/* ── Trust / E-E-A-T ── */
.kl-hub-trust { background: var(--kl-hub-paper-tint); padding: 56px 0; }
.kl-hub-trust__inner { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 1024px) { .kl-hub-trust__inner { grid-template-columns: 1fr 420px; gap: 56px; align-items: start; } }
.kl-hub-trust__title { font-family: var(--kl-hub-font-head); font-size: 28px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 14px; }
.kl-hub-trust__lede  { font-size: 15px; color: var(--kl-hub-ink-2) !important; line-height: 1.75; margin: 0 0 24px; font-family: var(--kl-hub-font-body); }

/* Attorney grid — 2 per row */
.kl-hub-attorneys { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 4px; }
@media (max-width: 575px) { .kl-hub-attorneys { grid-template-columns: 1fr; } }
.kl-hub-attorney { display: flex; gap: 12px; align-items: flex-start; }
.kl-hub-attorney__badge { width: 48px; height: 48px; flex-shrink: 0; border-radius: 6px; overflow: hidden; display: grid; place-items: center; color: #fff; }
.kl-hub-attorney__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.kl-hub-attorney__initials { font-family: var(--kl-hub-font-head); font-size: 16px; font-weight: 700; }
.kl-hub-attorney__name { display: block; font-family: var(--kl-hub-font-head); font-size: 15px; font-weight: 700; color: var(--kl-hub-ink) !important; text-decoration: none; margin-bottom: 3px; }
a.kl-hub-attorney__name:hover { color: var(--kl-hub-accent) !important; }
.kl-hub-attorney__role { font-family: var(--kl-hub-font-body); font-size: 13px !important; color: var(--kl-hub-ink-2) !important; margin: 0 0 2px; line-height: 1.4 !important; }
.kl-hub-attorney__bar  { font-family: var(--kl-hub-font-body); font-size: 11px !important; color: var(--kl-hub-ink-2) !important; margin: 0 0 4px; font-style: italic; line-height: 1.4 !important; }
.kl-hub-attorney__blurb{ font-family: var(--kl-hub-font-body); font-size: 12px !important; color: var(--kl-hub-ink-2) !important; margin: 4px 0 0; line-height: 1.5 !important; }

/* Override parent theme elements.css for team member grid */
.page-wrapper .kl-hub-attorneys .kl-hub-attorney__name,
.page-wrapper .kl-hub-attorneys a.kl-hub-attorney__name {
  font-size: 15px !important;
  color: var(--kl-hub-ink) !important;
  line-height: 1.3 !important;
}
.page-wrapper .kl-hub-attorneys .kl-hub-attorney__role,
.page-wrapper .kl-hub-attorneys p.kl-hub-attorney__role {
  font-size: 13px !important;
  color: var(--kl-hub-ink-2) !important;
  line-height: 1.4 !important;
}
.page-wrapper .kl-hub-attorneys .kl-hub-attorney__bar,
.page-wrapper .kl-hub-attorneys p.kl-hub-attorney__bar {
  font-size: 11px !important;
  color: var(--kl-hub-ink-2) !important;
  line-height: 1.4 !important;
}
.page-wrapper .kl-hub-attorneys .kl-hub-attorney__blurb,
.page-wrapper .kl-hub-attorneys p.kl-hub-attorney__blurb {
  font-size: 12px !important;
  color: var(--kl-hub-ink-2) !important;
  line-height: 1.5 !important;
}

/* Right sidebar — wider */
.kl-hub-trust__side { display: flex; flex-direction: column; gap: 16px; }
.kl-hub-trust__card { background: var(--kl-hub-white); border: 1px solid var(--kl-hub-line); border-top: 3px solid var(--kl-hub-accent); padding: 20px 22px; }
.kl-hub-trust__card-title { font-family: var(--kl-hub-font-head); font-size: 17px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-trust__chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kl-hub-trust__chip  { background: var(--kl-hub-paper-tint); border: 1px solid var(--kl-hub-line); padding: 4px 10px; font-size: 11px; font-weight: 600; color: var(--kl-hub-ink) !important; font-family: var(--kl-hub-font-body); letter-spacing: 0.04em; }
.kl-hub-trust__press { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.kl-hub-trust__press-item { padding: 10px 0; border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-trust__press-item:last-child { border-bottom: none; padding-bottom: 0; }
.kl-hub-trust__press-item a, .kl-hub-trust__press-item span { font-size: 14px; color: var(--kl-hub-ink) !important; text-decoration: none; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kl-hub-trust__press-item a:hover { color: var(--kl-hub-accent) !important; }
.kl-hub-trust__rating { background: var(--kl-hub-navy); padding: 20px 22px; display: flex; align-items: center; gap: 18px; }
.kl-hub-trust__rating-score { font-family: var(--kl-hub-font-head); font-size: 44px; font-weight: 700; color: var(--kl-hub-gold) !important; line-height: 1; }
.kl-hub-trust__rating-stars { font-size: 18px; color: var(--kl-hub-gold) !important; letter-spacing: 2px; }
.kl-hub-trust__rating-copy  { font-size: 13px; color: #8899b8 !important; margin: 4px 0 0; line-height: 1.5; font-family: var(--kl-hub-font-body); }


/* ── FAQ ── */
.kl-hub-faq { background: var(--kl-hub-paper); padding: 56px 0; }
.kl-hub-faq__head { margin-bottom: 28px; }
.kl-hub-faq__title { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: var(--kl-hub-ink) !important; margin: 0; }
.kl-hub-faq__list  { max-width: 820px; }
.kl-hub-faq__item  { border-bottom: 1px solid var(--kl-hub-line); }
.kl-hub-faq__q     { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--kl-hub-ink) !important; list-style: none; font-family: var(--kl-hub-font-body); }
.kl-hub-faq__q::-webkit-details-marker { display: none; }
.kl-hub-faq__item[open] .kl-hub-faq__q  { color: var(--kl-hub-accent) !important; }
.kl-hub-faq__item[open] .kl-hub-faq__icon { transform: rotate(45deg); color: var(--kl-hub-accent) !important; }
.kl-hub-faq__icon  { font-size: 20px; font-weight: 300; flex-shrink: 0; color: var(--kl-hub-accent) !important; transition: transform .2s; }
.kl-hub-faq__a     { padding: 0 0 18px; }
.kl-hub-faq__a p   { font-size: 15px; color: var(--kl-hub-ink-2) !important; line-height: 1.75; margin: 0; font-family: var(--kl-hub-font-body); }

/* ── Conversion ── */
.kl-hub-conversion { background: var(--kl-hub-navy-2); padding: 56px 0; }
.kl-hub-conversion__inner { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 768px) { .kl-hub-conversion__inner { grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; } }
/* Eyebrow "GET STARTED" — gold so it's clearly visible on dark navy bg */
.kl-hub-conversion .kl-hub-eyebrow,
.kl-hub-conversion .kl-hub-eyebrow--accent {
  color: var(--kl-hub-gold) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}
.kl-hub-conversion__title { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: #fff !important; margin: 0 0 14px; line-height: 1.2; }
.kl-hub-conversion__lede  { font-size: 15px; color: #c8d3e8 !important; margin: 0 0 20px; line-height: 1.7; font-family: var(--kl-hub-font-body); }
.kl-hub-conversion__phone-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--kl-hub-gold) !important; margin: 0 0 3px; font-weight: 700; font-family: var(--kl-hub-font-body); }
.kl-hub-conversion__phone-num   { font-family: var(--kl-hub-font-head); font-size: 26px; font-weight: 700; color: #fff !important; text-decoration: none; display: block; }
.kl-hub-conversion__phone-hours { font-size: 13px; color: #8899b8 !important; margin: 4px 0 0; font-family: var(--kl-hub-font-body); }

/* ============================================================
   CF7 FORM — Send Us a Message
   Used on: Hub page (Areas We Serve) + anywhere shortcode is placed
   All styles scoped to .kl-cf7-wrap to avoid conflicts
   ============================================================ */

/* Title header */
.kl-msg-header {
  background: #9f0b19;
  padding: 18px 24px;
  text-align: center;
}
.kl-msg-header h2,
.kl-msg-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* Form wrapper */
.kl-cf7-wrap {
  background: #ffffff;
  padding: 14px 12px 18px;
  font-family: 'Open Sans', sans-serif;
}

/* ── Fix CF7 generated <p> tags, <br> tags and control-wrap ──
   CF7 wraps each field in a <p> tag with a <br> between label
   and input. These rules neutralise all spacing issues. */
/* Hide CF7 auto-generated p tags EXCEPT our question rows and privacy links */
.kl-cf7-wrap .wpcf7-form p:not(.kl-cf7-privacy-links),
.kl-cf7-wrap .wpcf7-form br {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* The <p> inside .kl-cf7-field must be visible */
.kl-cf7-field > p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}
/* Kill the <br> CF7 injects between label and input */
.kl-cf7-field > p > br,
.kl-cf7-field br,
.kl-cf7-wrap br {
  display: none !important;
  height: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* wpcf7-form-control-wrap must be block so input fills width */
.kl-cf7-wrap .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Override style.css margin-bottom on p:has(.wpcf7-form-control-wrap) */
.kl-cf7-wrap .wpcf7-form p:has(.wpcf7-form-control-wrap),
.kl-cf7-wrap p:has(.wpcf7-form-control-wrap) {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}
/* Override elements.css margin: 0 0 1.5em on .page-wrapper p */
.page-wrapper .kl-cf7-wrap p,
.page-wrapper .kl-cf7-field p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

/* Rows */
.kl-cf7-row         { margin-bottom: 8px; }
.kl-cf7-row--2      { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.kl-cf7-row--submit { margin-top: 8px; }

/* Question rows — table layout, CF7 6.x compatible */
.kl-cf7-qtable {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 0 !important;
  background: #ffffff !important;
}
.kl-cf7-qtr {
  border-bottom: 1px solid #f0f0f0 !important;
}
.kl-cf7-qtr:last-child { border-bottom: none !important; }

/* Kill the <p> tag CF7 injects inside <td> — this is the root cause
   of font-size:18px bleeding in from elements.css */
.kl-cf7-qtd-label p,
.kl-cf7-qtd-label > p,
.page-wrapper .kl-cf7-qtd-label p,
.page-wrapper .kl-cf7-qtable td p {
  display: inline !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #06163a !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Override parent theme td/tr */
.page-wrapper .kl-cf7-qtable td,
.page-wrapper .kl-cf7-qtable tr {
  font-size: 12px !important;
  color: #06163a !important;
  background: transparent !important;
  border: none !important;
}

/* Label cell — left side, full width */
.kl-cf7-qtd-label,
.page-wrapper .kl-cf7-qtd-label {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #06163a !important;
  padding: 8px 12px 8px 12px !important;
  line-height: 1.35 !important;
  width: 100% !important;
  vertical-align: middle !important;
}

/* Radio cell — right side, fixed */
.kl-cf7-qtd-radio,
.page-wrapper .kl-cf7-qtd-radio {
  padding: 8px 12px 8px 12px !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
.kl-cf7-qtd-radio .wpcf7-radio {
  display: flex !important;
  flex-direction: row !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}
.kl-cf7-qtd-radio .wpcf7-list-item {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  list-style: none !important;
  white-space: nowrap !important;
}
.kl-cf7-qtd-radio .wpcf7-list-item label,
.page-wrapper .kl-cf7-qtd-radio .wpcf7-list-item label,
.page-wrapper .kl-cf7-qtable .wpcf7-list-item label,
.page-wrapper .kl-cf7-qtable .wpcf7-list-item-label {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #06163a !important;
  cursor: pointer !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.kl-cf7-qtd-radio .wpcf7-list-item input[type="radio"] {
  width: 14px !important;
  height: 14px !important;
  accent-color: #9f0b19 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}
@media (max-width: 560px) {
  .kl-cf7-qtd-label,
  .page-wrapper .kl-cf7-qtd-label { font-size: 11px !important; padding: 6px 8px !important; }
  .kl-cf7-qtd-radio { padding: 6px 8px !important; }
}

.kl-cf7-q-label {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #06163a !important;
  line-height: 1.35 !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.kl-cf7-row--question .kl-cf7-radio-row    { flex-shrink: 0 !important; }
.kl-cf7-row--question .wpcf7-radio         { display: flex !important; flex-direction: row !important; gap: 12px !important; flex-wrap: nowrap !important; }
.kl-cf7-row--question .wpcf7-radio .wpcf7-list-item { display: flex !important; align-items: center !important; gap: 4px !important; margin: 0 !important; list-style: none !important; white-space: nowrap !important; }
.kl-cf7-row--question .wpcf7-radio .wpcf7-list-item label,
.kl-cf7-row--question .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label,
.page-wrapper .kl-cf7-row--question .wpcf7-radio label { font-size: 12px !important; font-weight: 400 !important; color: #06163a !important; cursor: pointer !important; margin: 0 !important; line-height: 1 !important; }
.kl-cf7-row--question .wpcf7-radio input[type="radio"] { width: 14px !important; height: 14px !important; accent-color: #9f0b19 !important; cursor: pointer !important; flex-shrink: 0 !important; margin: 0 !important; }

/* Field */
.kl-cf7-field { display: flex !important; flex-direction: column !important; gap: 2px !important; }

/* Labels */
.kl-cf7-wrap label {
  display: block !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #06163a !important;
  margin: 0 0 2px 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}

/* Inputs */
.kl-cf7-wrap input[type="text"],
.kl-cf7-wrap input[type="tel"],
.kl-cf7-wrap input[type="email"] {
  width: 100% !important; padding: 8px 10px !important;
  font-family: 'Open Sans', sans-serif !important; font-size: 13px !important;
  color: #06163a !important; background: #ffffff !important;
  border: 1px solid #c8c8c8 !important; border-radius: 3px !important;
  box-sizing: border-box !important; outline: none !important;
  height: 38px !important; transition: border-color .2s !important;
  display: block !important;
}
.kl-cf7-wrap input[type="text"]:focus,
.kl-cf7-wrap input[type="tel"]:focus,
.kl-cf7-wrap input[type="email"]:focus {
  border-color: #9f0b19 !important;
  box-shadow: 0 0 0 2px rgba(159,11,25,.1) !important;
}

/* Textarea */
.kl-cf7-wrap textarea {
  width: 100% !important; padding: 8px 10px !important;
  font-family: 'Open Sans', sans-serif !important; font-size: 13px !important;
  color: #06163a !important; background: #ffffff !important;
  border: 1px solid #c8c8c8 !important; border-radius: 3px !important;
  box-sizing: border-box !important; min-height: 75px !important;
  max-height: 100px !important; resize: vertical !important;
  outline: none !important; transition: border-color .2s !important;
  display: block !important;
}
.kl-cf7-wrap textarea:focus {
  border-color: #9f0b19 !important;
  box-shadow: 0 0 0 2px rgba(159,11,25,.1) !important;
}

/* SMS Consent */
.kl-cf7-wrap .wpcf7-acceptance { display: flex !important; align-items: flex-start !important; gap: 7px !important; }
.kl-cf7-wrap .wpcf7-acceptance .wpcf7-list-item { display: flex !important; align-items: flex-start !important; gap: 7px !important; margin: 0 !important; list-style: none !important; }
.kl-cf7-wrap .wpcf7-acceptance input[type="checkbox"] { width: 13px !important; height: 13px !important; flex-shrink: 0 !important; margin-top: 2px !important; accent-color: #9f0b19 !important; cursor: pointer !important; }
.kl-cf7-consent-text { font-family: 'Open Sans', sans-serif !important; font-size: 11px !important; font-weight: 400 !important; color: #555 !important; line-height: 1.5 !important; }
.kl-cf7-privacy-links { font-family: 'Open Sans', sans-serif !important; font-size: 11px !important; color: #666 !important; margin: 4px 0 0 !important; line-height: 1.4 !important; }
.kl-cf7-privacy-links a { color: #9f0b19 !important; text-decoration: underline !important; font-weight: 600 !important; font-size: 11px !important; }
.page-wrapper .kl-cf7-wrap p.kl-cf7-privacy-links,
.page-wrapper .kl-cf7-privacy-links { font-size: 11px !important; color: #666 !important; margin: 4px 0 0 !important; line-height: 1.4 !important; }

/* Submit */
.kl-cf7-wrap input[type="submit"],
.kl-cf7-wrap .wpcf7-submit {
  width: 100% !important; background: #9f0b19 !important; color: #ffffff !important;
  border: none !important; border-radius: 50px !important;
  font-family: 'Open Sans', sans-serif !important; font-size: 14px !important;
  font-weight: 700 !important; letter-spacing: 0.06em !important;
  text-transform: uppercase !important; padding: 13px 24px !important;
  cursor: pointer !important; transition: background .25s !important; display: block !important;
}
.kl-cf7-wrap input[type="submit"]:hover,
.kl-cf7-wrap .wpcf7-submit:hover { background: #7a1520 !important; }

/* Parent theme li + p overrides */
.page-wrapper .kl-cf7-wrap ul li,
.page-wrapper .kl-cf7-wrap ol li,
.kl-cf7-wrap .wpcf7-radio li,
.kl-cf7-wrap .wpcf7-acceptance li {
  font-size: inherit !important; color: inherit !important;
  line-height: inherit !important; list-style: none !important;
  margin: 0 !important; padding: 0 !important;
}

/* Validation */
.kl-cf7-wrap .wpcf7-not-valid { border-color: #9f0b19 !important; }
.kl-cf7-wrap .wpcf7-not-valid-tip { font-size: 11px !important; color: #9f0b19 !important; margin-top: 2px !important; display: block !important; }
/* Hide CF7 default response output — we use custom toasts */
/* Hide CF7 default response output — we use custom toasts */
.kl-cf7-wrap .wpcf7-response-output { display: none !important; }
.kl-cf7-wrap .wpcf7-mail-sent-ok    { display: none !important; }
.kl-cf7-wrap .wpcf7-validation-errors { display: none !important; }

/* CF7 native response output — hidden; custom toasts handle all feedback */
.wpcf7 .wpcf7-response-output { display: none !important; }

/* Submit button loading state */
.kl-cf7-wrap input[type="submit"].kl-submitting,
.kl-cf7-wrap .wpcf7-submit.kl-submitting {
  background: #7a1520 !important;
  opacity: 0.75 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}


/* Notice (no form configured) */
.kl-hub-form-notice { font-size: 13px; color: var(--kl-hub-ink-2) !important; padding: 16px; background: var(--kl-hub-paper-tint); border: 1px solid var(--kl-hub-line); font-family: var(--kl-hub-font-body); }

/* ── Mobile ── */
@media (max-width: 767px) {
  .kl-hub-hero        { padding: 36px 0; }
  .kl-hub-key-facts   { padding: 32px 0; }
  .kl-hub-key-facts__card { padding: 20px; }
  .kl-hub-topical     { padding: 36px 0; }
  .kl-hub-process     { padding: 36px 0; }
  .kl-hub-trust       { padding: 36px 0; }
  .kl-hub-faq         { padding: 36px 0; }
  .kl-hub-conversion  { padding: 36px 0; }
}

@media (max-width: 560px) {
  .kl-cf7-wrap { padding: 12px 10px 16px; }
  .kl-msg-title { font-size: 22px !important; }
  .kl-cf7-row--2 { grid-template-columns: 1fr !important; }
  .kl-cf7-q-row { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
  .kl-cf7-q-label { font-size: 12px !important; }
}

/* Rows */
.kl-cf7-row         { margin-bottom: 8px; }
.kl-cf7-row--2      { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.kl-cf7-row--submit { margin-top: 8px; }

/* Question row — label left, Yes/No right */
.kl-cf7-row--question {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.kl-cf7-row--question:last-of-type { border-bottom: none !important; }

.kl-cf7-q-label {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #06163a !important;
  line-height: 1.35 !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.kl-cf7-row--question .kl-cf7-radio-row    { flex-shrink: 0 !important; }
.kl-cf7-row--question .wpcf7-radio         { display: flex !important; flex-direction: row !important; gap: 12px !important; flex-wrap: nowrap !important; }
.kl-cf7-row--question .wpcf7-radio .wpcf7-list-item { display: flex !important; align-items: center !important; gap: 4px !important; margin: 0 !important; list-style: none !important; white-space: nowrap !important; }
.kl-cf7-row--question .wpcf7-radio .wpcf7-list-item label { font-size: 12px !important; font-weight: 400 !important; color: #06163a !important; cursor: pointer !important; margin: 0 !important; line-height: 1 !important; }
.kl-cf7-row--question .wpcf7-radio input[type="radio"] { width: 14px !important; height: 14px !important; accent-color: #9f0b19 !important; cursor: pointer !important; flex-shrink: 0 !important; margin: 0 !important; }

/* Field */
.kl-cf7-field { display: flex !important; flex-direction: column !important; gap: 2px !important; }

/* Labels */
.kl-cf7-wrap label {
  display: block !important;
  font-family: 'Open Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #06163a !important;
  margin: 0 0 2px 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
}

/* Inputs */
.kl-cf7-wrap input[type="text"],
.kl-cf7-wrap input[type="tel"],
.kl-cf7-wrap input[type="email"] {
  width: 100% !important; padding: 8px 10px !important;
  font-family: 'Open Sans', sans-serif !important; font-size: 13px !important;
  color: #06163a !important; background: #ffffff !important;
  border: 1px solid #c8c8c8 !important; border-radius: 3px !important;
  box-sizing: border-box !important; outline: none !important;
  height: 38px !important; transition: border-color .2s !important;
}
.kl-cf7-wrap input[type="text"]:focus,
.kl-cf7-wrap input[type="tel"]:focus,
.kl-cf7-wrap input[type="email"]:focus {
  border-color: #9f0b19 !important;
  box-shadow: 0 0 0 2px rgba(159,11,25,.1) !important;
}

/* Textarea */
.kl-cf7-wrap textarea {
  width: 100% !important; padding: 8px 10px !important;
  font-family: 'Open Sans', sans-serif !important; font-size: 13px !important;
  color: #06163a !important; background: #ffffff !important;
  border: 1px solid #c8c8c8 !important; border-radius: 3px !important;
  box-sizing: border-box !important; min-height: 75px !important;
  max-height: 100px !important; resize: vertical !important;
  outline: none !important; transition: border-color .2s !important;
}
.kl-cf7-wrap textarea:focus {
  border-color: #9f0b19 !important;
  box-shadow: 0 0 0 2px rgba(159,11,25,.1) !important;
}

/* SMS Consent */
.kl-cf7-wrap .wpcf7-acceptance { display: flex !important; align-items: flex-start !important; gap: 7px !important; }
.kl-cf7-wrap .wpcf7-acceptance .wpcf7-list-item { display: flex !important; align-items: flex-start !important; gap: 7px !important; margin: 0 !important; list-style: none !important; }
.kl-cf7-wrap .wpcf7-acceptance input[type="checkbox"] { width: 13px !important; height: 13px !important; flex-shrink: 0 !important; margin-top: 2px !important; accent-color: #9f0b19 !important; cursor: pointer !important; }
.kl-cf7-consent-text { font-family: 'Open Sans', sans-serif !important; font-size: 11px !important; font-weight: 400 !important; color: #555 !important; line-height: 1.5 !important; }
.kl-cf7-privacy-links { font-family: 'Open Sans', sans-serif !important; font-size: 11px !important; color: #666 !important; margin: 4px 0 0 !important; line-height: 1.4 !important; }
.kl-cf7-privacy-links a { color: #9f0b19 !important; text-decoration: underline !important; font-weight: 600 !important; }

/* Submit */
.kl-cf7-wrap input[type="submit"],
.kl-cf7-wrap .wpcf7-submit {
  width: 100% !important; background: #9f0b19 !important; color: #ffffff !important;
  border: none !important; border-radius: 50px !important;
  font-family: 'Open Sans', sans-serif !important; font-size: 14px !important;
  font-weight: 700 !important; letter-spacing: 0.06em !important;
  text-transform: uppercase !important; padding: 13px 24px !important;
  cursor: pointer !important; transition: background .25s !important; display: block !important;
}
.kl-cf7-wrap input[type="submit"]:hover,
.kl-cf7-wrap .wpcf7-submit:hover { background: #7a1520 !important; }

/* Parent theme li override */
.page-wrapper .kl-cf7-wrap ul li,
.page-wrapper .kl-cf7-wrap ol li,
.kl-cf7-wrap .wpcf7-radio li,
.kl-cf7-wrap .wpcf7-acceptance li {
  font-size: inherit !important; color: inherit !important;
  line-height: inherit !important; list-style: none !important;
  margin: 0 !important; padding: 0 !important;
}

/* Validation */
.kl-cf7-wrap .wpcf7-not-valid { border-color: #9f0b19 !important; }
.kl-cf7-wrap .wpcf7-not-valid-tip { font-size: 11px !important; color: #9f0b19 !important; margin-top: 2px !important; display: block !important; }

/* Notice (no form configured) */
.kl-hub-form-notice { font-size: 13px; color: var(--kl-hub-ink-2) !important; padding: 16px; background: var(--kl-hub-paper-tint); border: 1px solid var(--kl-hub-line); font-family: var(--kl-hub-font-body); }

/* ── Mobile ── */
@media (max-width: 767px) {
  .kl-hub-hero        { padding: 36px 0; }
  .kl-hub-key-facts   { padding: 32px 0; }
  .kl-hub-key-facts__card { padding: 20px; }
  .kl-hub-topical     { padding: 36px 0; }
  .kl-hub-process     { padding: 36px 0; }
  .kl-hub-trust       { padding: 36px 0; }
  .kl-hub-faq         { padding: 36px 0; }
  .kl-hub-conversion  { padding: 36px 0; }
}

@media (max-width: 560px) {
  .kl-cf7-wrap { padding: 12px 10px 16px; }
  .kl-msg-title { font-size: 22px !important; }
  .kl-cf7-row--2 { grid-template-columns: 1fr !important; }
  .kl-cf7-q-row { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
  .kl-cf7-q-label { font-size: 12px !important; }
}

/* ============================================================
   PARENT THEME OVERRIDE — elements.css conflicts
   The parent theme's .page-wrapper ul li, .page-wrapper ol li
   sets font-size:18px and color:#000 which bleeds into our
   chip lists and press lists. These rules override with higher
   specificity.
   ============================================================ */
.page-wrapper .kl-hub-trust__chips li.kl-hub-trust__chip,
.page-wrapper ul.kl-hub-trust__chips li.kl-hub-trust__chip {
  font-size: 11px !important;
  color: var(--kl-hub-ink) !important;
  line-height: 1.4 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 4px 10px !important;
}

.page-wrapper .kl-hub-trust__press li.kl-hub-trust__press-item,
.page-wrapper ul.kl-hub-trust__press li.kl-hub-trust__press-item {
  font-size: 14px !important;
  color: var(--kl-hub-ink) !important;
  line-height: 1.4 !important;
  list-style: none !important;
  margin: 0 !important;
}

.page-wrapper .kl-hub-trust__press li.kl-hub-trust__press-item a,
.page-wrapper ul.kl-hub-trust__press li.kl-hub-trust__press-item a {
  font-size: 14px !important;
  color: var(--kl-hub-ink) !important;
}

/* Directory list items */
.page-wrapper .kl-hub-directory__list li.kl-hub-directory__item,
.page-wrapper ul.kl-hub-directory__list li.kl-hub-directory__item {
  font-size: 14px !important;
  color: var(--kl-hub-ink) !important;
  line-height: 1.4 !important;
  list-style: none !important;
  margin: 0 !important;
}

/* TOC list items */
.page-wrapper .kl-hub-toc__list li,
.page-wrapper ul.kl-hub-toc__list li {
  font-size: 13px !important;
  color: var(--kl-hub-ink) !important;
  line-height: 1.4 !important;
  list-style: none !important;
  margin: 0 !important;
}

/* City card trust bullets */
.page-wrapper .kl-city-hero__bullets li.kl-city-hero__bullet,
.page-wrapper ul.kl-city-hero__bullets li.kl-city-hero__bullet {
  font-size: 15px !important;
  color: #ffffff !important;
  line-height: 1.5 !important;
  list-style: none !important;
  margin: 0 !important;
}

/* Blog listing card category */
.page-wrapper .bl-grid .bl-card ul li,
.page-wrapper .kl-hub-faq__list,
.page-wrapper .kl-hub-process__grid {
  list-style: none !important;
}

/* ── CF7 Toasts — hidden by default, shown by JS ── */
.kl-cf7-toast {
  display: none;  /* hidden until JS sets style.cssText */
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  padding: 12px 16px;
  margin-bottom: 10px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  animation: kl-toast-in .25s ease;
}
/* Error toast */
.kl-cf7-toast--error {
  background: #fff3cd;
  border: 1px solid #f0ad4e;
  border-left: 4px solid #9f0b19;
  color: #06163a;
}
.kl-cf7-toast--error .kl-cf7-toast__icon { color: #9f0b19; font-size: 16px; flex-shrink: 0; }

/* Success toast */
.kl-cf7-toast--success {
  background: #f0faf0;
  border: 1px solid #2e7d32;
  border-left: 4px solid #2e7d32;
  color: #1a5c2a;
}
.kl-cf7-toast--success .kl-cf7-toast__icon { color: #2e7d32; font-size: 16px; flex-shrink: 0; }

@keyframes kl-toast-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Highlight unanswered radio rows — label colour only, NO border */
.kl-cf7-qtr.kl-radio-error .kl-cf7-qtd-label,
.kl-cf7-qtr.kl-radio-error .kl-cf7-qtd-label p {
  color: #9f0b19 !important;
}
/* NO outline/border on radio cell */

/* Always hide CF7 native validation tips on radio + consent fields */
.wpcf7-form-control-wrap[data-name="receiving-benefits"] .wpcf7-not-valid-tip,
.wpcf7-form-control-wrap[data-name="currently-represented"] .wpcf7-not-valid-tip,
.wpcf7-form-control-wrap[data-name="currently-treating"] .wpcf7-not-valid-tip,
.wpcf7-form-control-wrap[data-name="out-of-work"] .wpcf7-not-valid-tip,
.wpcf7-form-control-wrap[data-name="sms-consent"] .wpcf7-not-valid-tip {
  display: none !important;
  visibility: hidden !important;
}