/* ══════════════════════════════════════════════════════════════
   BOSTON BROKERS — SITE-WIDE FONT UNIFICATION (v1.0.5)
   ═══════════════════════════════════════════════════════════════
   Objective: Every user-visible piece of text on the site renders
   in Fraunces (serif) for a consistent editorial feel.
   Exception: <code>, <pre>, <kbd> keep the mono face; the BB-xxxxx
   reference stat keeps JetBrains Mono as a deliberate ledger motif.
   ═══════════════════════════════════════════════════════════════ */

html, body,
h1, h2, h3, h4, h5, h6,
p, a, li, ul, ol, dl, dt, dd,
span, div, section, article, aside, header, footer, nav, main,
strong, em, small, b, i, u,
button, input, select, textarea, label, legend, fieldset,
th, td, caption,
figure, figcaption, blockquote, cite, q,
address, time, mark,
details, summary,
.btn, .eyebrow, .nav a, .nav button,
.prose, .prose *,
.ap-bio, .ap-bio *,
.ld-prose, .ld-prose *,
.foot, .foot *,
.wp-block-group, .wp-block-group *,
.entry-content, .entry-content *,
.single-content, .single-content *,
form, form *,
.fscf_form, .fscf_form * {
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
}

/* Reserve mono face strictly for literal code blocks. Sidebar stat
   values (location, price, tenure, reference) now render in Fraunces
   so the entire page reads as one unified voice. */
code, pre, kbd, samp, tt,
.wp-block-code, .wp-block-code * {
  font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace !important;
}

/* Override: force .ld-stat-val to Fraunces (was mono in site.css) */
.ld-stat-val {
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
  font-style: italic;
  font-weight: 300;
}

/* Uppercase utility labels need slightly looser tracking when
   rendered in a serif — keeps them readable as small-caps style. */
.eyebrow,
.btn,
.foot-col-title,
.nav a,
.ld-stat-label,
.ap-stat-label,
.card-eyebrow,
[class*="eyebrow"],
[class*="-label"] {
  letter-spacing: .26em;
  font-weight: 400;
}

/* Ensure forms inherit the serif: override any plugin default */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="number"],
select, textarea {
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
  font-weight: 400;
}

/* Property / listing single-page body content
   (this is where the user flagged the biggest inconsistency) */
.single .entry-content p,
.single .entry-content li,
.single .entry-content h1,
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6,
.single .entry-content strong,
.single .entry-content span,
.single-noo_property .entry-content *,
.single-post .entry-content *,
.ld-prose p,
.ld-prose li,
.ld-prose h1,
.ld-prose h2,
.ld-prose h3,
.ld-prose h4,
.ld-prose h5,
.ld-prose h6,
.ld-prose strong,
.ld-prose span {
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
}

/* Give listing body paragraphs a comfortable editorial size */
.ld-prose p,
.single-noo_property .entry-content p,
.single .entry-content > p {
  font-size: 18px;
  line-height: 1.7;
  font-weight: 300;
}

.ld-prose li,
.single-noo_property .entry-content li,
.single .entry-content li {
  font-size: 18px;
  line-height: 1.7;
  font-weight: 300;
}

/* H2/H3 inside listing body — italic serif headings */
.ld-prose h2, .ld-prose h3,
.single-noo_property .entry-content h2,
.single-noo_property .entry-content h3,
.single .entry-content h2,
.single .entry-content h3 {
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
  font-style: italic;
  font-weight: 300;
  letter-spacing: -0.01em;
  margin-top: 40px;
  margin-bottom: 16px;
  color: var(--paper);
}

.ld-prose h2,
.single-noo_property .entry-content h2,
.single .entry-content h2 {
  font-size: 30px;
  line-height: 1.15;
}

.ld-prose h3,
.single-noo_property .entry-content h3,
.single .entry-content h3 {
  font-size: 24px;
  line-height: 1.2;
}

/* Uppercase "section label" inside listing prose
   (e.g. "THE HEADLINE NUMBERS", "WHAT MAKES THIS GROUP DIFFERENT") */
.ld-prose p strong:only-child,
.single .entry-content p strong:only-child {
  display: block;
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
  font-weight: 500;
  font-style: normal;
  font-size: 13px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 48px 0 14px;
}

/* FSContact (sell page) — match dark cinematic theme */
.fscf_form3 input[type="text"],
.fscf_form3 input[type="email"],
.fscf_form3 input[type="tel"],
.fscf_form3 textarea {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: var(--paper) !important;
  padding: 14px 16px !important;
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
  font-size: 16px !important;
  border-radius: 2px !important;
}
.fscf_form3 label {
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
  color: var(--text-dim) !important;
  font-size: 13px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.fscf_form3 input[type="submit"] {
  background: var(--green) !important;
  color: var(--paper) !important;
  border: 1px solid var(--green) !important;
  font-family: 'Fraunces', ui-serif, Georgia, serif !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
  cursor: pointer !important;
}
.fscf_form3 input[type="submit"]:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--ink) !important;
}
