/*
Theme Name: Bay Area Real Estate Journal
Theme URI: https://thebayarearealestatejournal.com
Author: Omar Murillo | Everhome Real Estate
Author URI: https://omarmurillo.com
Description: A premium editorial newspaper theme for The Bay Area Real Estate Journal. Serif-driven newspaper hierarchy, multi-column news grids, hairline rules, and restrained color inspired by the visual language of national financial newspapers. Built as a lightweight WordPress block theme with no page builder. Pairs with the BAREJ Newsroom plugin for the curated-news engine.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: barej
Tags: news, blog, one-column, block-styles, editor-style
*/

/* =========================================================
   0. BASE
   ========================================================= */

:root {
  --barej-rule: 1px solid var(--wp--preset--color--rule);
  --barej-rule-heavy: 2px solid var(--wp--preset--color--ink);
  --barej-sans: var(--wp--preset--font-family--sans);
  --barej-headline: var(--wp--preset--font-family--headline);
  --barej-body: var(--wp--preset--font-family--body);
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { text-decoration: none; }
.entry-content a,
.wp-block-post-content a {
  text-decoration: underline;
  text-decoration-color: var(--wp--preset--color--rule);
  text-underline-offset: 3px;
}
.entry-content a:hover,
.wp-block-post-content a:hover {
  color: var(--wp--preset--color--accent);
  text-decoration-color: var(--wp--preset--color--accent);
}

img { max-width: 100%; height: auto; display: block; }

/* Screen-reader text */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px; width: 1px;
  overflow: hidden; position: absolute !important;
}

/* =========================================================
   1. SHARED EDITORIAL PRIMITIVES
   ========================================================= */

/* Kicker: small-caps sans category label, the signature newspaper detail */
.barej-kicker,
.barej-kicker a {
  font-family: var(--barej-sans);
  font-size: 0.65625rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink);
}
.barej-kicker a:hover { color: var(--wp--preset--color--accent); }
.barej-kicker--accent, .barej-kicker--accent a { color: var(--wp--preset--color--accent); }

/* Metadata line: byline, timestamp, read time */
.barej-meta,
.barej-meta a {
  font-family: var(--barej-sans);
  font-size: 0.71875rem;
  font-weight: 400;
  color: var(--wp--preset--color--faint);
  letter-spacing: 0.01em;
}
.barej-meta a:hover { color: var(--wp--preset--color--accent); }
.barej-meta strong { font-weight: 600; color: var(--wp--preset--color--charcoal); }

/* Rules */
.barej-rule { border: 0; border-top: var(--barej-rule); margin: 0; }
.barej-rule-heavy { border: 0; border-top: var(--barej-rule-heavy); margin: 0; }

/* =========================================================
   1b. MARKET QUOTE STRIP (black bar, WSJ-style)
   ========================================================= */

.barej-quote-strip {
  background: #0B0B0D;
  color: #E8E6DD;
  font-family: var(--barej-sans);
  font-size: 0.71875rem;
}
.barej-quote-strip-inner {
  max-width: 1240px; margin: 0 auto;
  padding: 0.4rem 1.25rem;
  display: flex; gap: 1.6rem;
  overflow-x: auto; scrollbar-width: none;
  white-space: nowrap; align-items: baseline;
}
.barej-quote-strip-inner::-webkit-scrollbar { display: none; }
.barej-quote { display: inline-flex; gap: 0.45rem; align-items: baseline; }
.barej-quote-name { font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #FFFFFF; }
.barej-quote-val { font-weight: 600; font-variant-numeric: tabular-nums; }
.barej-quote-chg { font-weight: 600; font-variant-numeric: tabular-nums; }
.barej-quote-chg.is-up { color: #3FB868; }
.barej-quote-chg.is-down { color: #E4573D; }
.barej-quote-src { margin-left: auto; color: #8C8A80; font-size: 0.65625rem; }

/* =========================================================
   1c. MORTGAGE-RATE CHART CARDS
   ========================================================= */

.barej-rates-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 1.6rem;
}
.barej-rates-grid > .barej-rate-card + .barej-rate-card { border-left: var(--barej-rule); padding-left: 1.6rem; }
@media (max-width: 900px) {
  .barej-rates-grid { grid-template-columns: 1fr; }
  .barej-rates-grid > .barej-rate-card + .barej-rate-card { border-left: 0; padding-left: 0; border-top: var(--barej-rule); padding-top: 1rem; margin-top: 1rem; }
}
.barej-rate-card { font-family: var(--barej-sans); }
.barej-rate-card-name {
  font-size: 0.6875rem; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase;
  margin: 0 0 0.35rem; color: var(--wp--preset--color--ink);
}
.barej-rate-card-value {
  font-family: var(--barej-headline);
  font-size: 2rem; font-weight: 700; line-height: 1;
  font-variant-numeric: tabular-nums;
  margin: 0 0 0.2rem;
}
.barej-rate-card-chg { font-size: 0.78125rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.barej-rate-card-chg.is-up { color: var(--wp--preset--color--up); }
.barej-rate-card-chg.is-down { color: var(--wp--preset--color--down); }
.barej-rate-card-chg .barej-arrow { font-size: 0.7em; vertical-align: 0.1em; }
.barej-rate-spark { width: 100%; height: 56px; margin-top: 0.6rem; display: block; }
.barej-rate-spark polyline { fill: none; stroke: #2E5A88; stroke-width: 1.6; }
.barej-rate-spark .spark-fill { fill: rgba(46, 90, 136, 0.08); stroke: none; }
.barej-rate-spark line { stroke: var(--wp--preset--color--rule); stroke-width: 1; }
.barej-rate-card-meta { font-size: 0.65625rem; color: var(--wp--preset--color--faint); margin-top: 0.4rem; }

/* =========================================================
   1d. VIDEO BAND
   ========================================================= */

.barej-video-card .barej-card-img { position: relative; }
.barej-video-card .barej-card-img::after {
  content: "▶";
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 44px; height: 44px; line-height: 44px;
  text-align: center; font-size: 15px;
  background: rgba(11,11,13,0.78); color: #fff;
  border-radius: 50%;
  padding-left: 3px; box-sizing: border-box;
}
.barej-video-card .barej-card-img:hover::after { background: var(--wp--preset--color--accent); }
.barej-video-card .barej-card-img img { aspect-ratio: 16 / 9; }

/* =========================================================
   1e. OMAR'S TAKE ON THE MARKET (signature column box)
   ========================================================= */

.barej-take {
  display: flex; gap: 1.25rem; align-items: flex-start;
  background: var(--wp--preset--color--paper);
  border-top: 2px solid var(--wp--preset--color--accent);
  border-bottom: var(--barej-rule);
  padding: 1.2rem 1.4rem;
  margin: 1.25rem 0 0;
}
.barej-take-photo {
  width: 64px; height: 64px; object-fit: cover;
  border-radius: 50%; flex-shrink: 0;
}
.barej-take-body { min-width: 0; }
.barej-take-kicker {
  font-family: var(--barej-sans);
  font-size: 0.65625rem; font-weight: 800;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  margin: 0 0 0.3rem;
}
.barej-take-title {
  font-family: var(--barej-headline);
  font-size: 1.25rem; font-weight: 700; line-height: 1.2;
  margin: 0 0 0.4rem;
}
.barej-take-title a { color: var(--wp--preset--color--ink); }
.barej-take-title a:hover { color: var(--wp--preset--color--accent); }
.barej-take-text {
  font-family: var(--barej-headline);
  font-style: italic;
  font-size: 1rem; line-height: 1.55;
  color: var(--wp--preset--color--charcoal);
  margin-bottom: 0.5rem;
}
.barej-take-text p { margin: 0 0 0.5rem; }
@media (max-width: 600px) {
  .barej-take { flex-direction: column; gap: 0.8rem; }
}

/* =========================================================
   1f. LISTINGS BAND (subtle, near footer)
   ========================================================= */

.barej-band--listings { background: var(--wp--preset--color--paper); padding-left: 1.4rem; padding-right: 1.4rem; margin: 0 -1.4rem; }
.barej-listing-card .barej-card-title { font-size: 0.96875rem; }
.barej-listing-price {
  font-family: var(--barej-sans);
  font-size: 0.9375rem; font-weight: 700;
  font-variant-numeric: tabular-nums;
  margin: 0.1rem 0 0.25rem;
}
.barej-listing-disclaimer {
  font-family: var(--barej-sans);
  font-size: 0.65625rem; color: var(--wp--preset--color--faint);
  margin: 0.9rem 0 0;
}

/* =========================================================
   2. UTILITY BAR
   ========================================================= */

.barej-utility {
  border-bottom: var(--barej-rule);
  background: var(--wp--preset--color--base);
}
.barej-utility-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0.45rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-family: var(--barej-sans);
  font-size: 0.71875rem;
  color: var(--wp--preset--color--charcoal);
}
.barej-utility a { color: var(--wp--preset--color--charcoal); }
.barej-utility a:hover { color: var(--wp--preset--color--accent); }
.barej-utility-date { font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; white-space: nowrap; }
.barej-utility-status { flex: 1; text-align: center; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.barej-utility-links { display: inline-flex; align-items: center; gap: 1.15rem; white-space: nowrap; }
.barej-utility-links p { display: inline-flex; align-items: center; gap: 1.15rem; margin: 0; } /* wpautop wraps the links in a <p> */
.barej-utility-links a { font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.6875rem; }

/* Refined language selector (GTranslate) — quiet, WSJ "English Edition" feel */
.barej-utility-lang { display: inline-flex; align-items: center; }
.barej-utility-lang p { margin: 0; display: none; }
.barej-utility-lang .gtranslate_wrapper { display: inline-flex; align-items: center; }
.barej-utility-lang select {
  appearance: none; -webkit-appearance: none;
  font-family: var(--barej-sans);
  font-size: 0.6875rem; font-weight: 600;
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--wp--preset--color--charcoal);
  background: transparent;
  border: 1px solid var(--wp--preset--color--rule);
  border-radius: 2px;
  padding: 0.2rem 1.3rem 0.2rem 0.55rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%23767676'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.45rem center;
}
.barej-utility-lang select:hover { border-color: var(--wp--preset--color--charcoal); }
.barej-utility-lang img { display: none; } /* no flag icons — text only */
/* Hide GTranslate's floating widget if its settings are left on "float" */
#gt_float_wrapper, .gt_float_switcher { display: none !important; }

/* Quick-links row under the masthead (WSJ-style Video / Latest / etc.) */
.barej-masthead-links {
  display: flex; justify-content: center; flex-wrap: wrap;
  gap: 0.3rem 1.3rem;
  margin-top: 0.55rem;
  font-family: var(--barej-sans);
  font-size: 0.6875rem; font-weight: 600;
  letter-spacing: 0.05em; text-transform: uppercase;
}
.barej-masthead-links a { color: var(--wp--preset--color--charcoal); }
.barej-masthead-links a:hover { color: var(--wp--preset--color--accent); }
@media (max-width: 700px) {
  .barej-utility-status { display: none; }
}

/* =========================================================
   3. MASTHEAD
   ========================================================= */

.barej-masthead { text-align: center; padding: 1.15rem 1rem 0.8rem; }
.barej-masthead-title,
.barej-masthead-title a {
  font-family: var(--barej-headline);
  font-weight: 800;
  font-size: clamp(1rem, 3.15vw, 2.35rem);
  letter-spacing: 0.012em;
  text-transform: uppercase;
  white-space: nowrap; /* masthead always on ONE line, like the print papers */
  line-height: 1.05;
  color: var(--wp--preset--color--ink);
  margin: 0;
}
.barej-masthead-title a::after { content: "."; }
.barej-masthead-rule { display: none; }
.barej-masthead-tagline {
  font-family: var(--barej-sans);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--faint);
  margin: 0.45rem 0 0;
}
.barej-masthead-tagline a { color: var(--wp--preset--color--charcoal); }
.barej-masthead-tagline a:hover { color: var(--wp--preset--color--accent); }

/* =========================================================
   4. MAIN NAVIGATION
   ========================================================= */

.barej-nav-wrap {
  border-top: 1px solid var(--wp--preset--color--ink);
  border-bottom: var(--barej-rule);
  background: var(--wp--preset--color--base);
  position: relative;
}
.barej-nav-inner { max-width: 1240px; margin: 0 auto; padding: 0 1rem; }
.barej-nav-wrap .wp-block-navigation {
  justify-content: center;
  font-family: var(--barej-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.005em;
  text-transform: none;
}
.barej-nav-wrap .wp-block-navigation .wp-block-navigation-item__content { padding: 0.55rem 0.1rem; }
.barej-nav-wrap .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
.barej-nav-wrap .wp-block-navigation__responsive-container-open { padding: 0.55rem 0; }

/* =========================================================
   5. NEWS TICKER / DEVELOPING STRIP
   ========================================================= */

.barej-ticker {
  border-bottom: var(--barej-rule);
  background: var(--wp--preset--color--paper);
}
.barej-ticker-inner {
  max-width: 1240px; margin: 0 auto;
  padding: 0.5rem 1.25rem;
  display: flex; align-items: baseline; gap: 0.9rem;
  overflow: hidden; white-space: nowrap;
}
.barej-ticker-label {
  font-family: var(--barej-sans);
  font-size: 0.65625rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  flex-shrink: 0;
}
.barej-ticker-items { display: flex; gap: 2rem; overflow-x: auto; scrollbar-width: none; }
.barej-ticker-items::-webkit-scrollbar { display: none; }
.barej-ticker-items a {
  font-family: var(--barej-sans);
  font-size: 0.78125rem; font-weight: 500;
  color: var(--wp--preset--color--ink);
}
.barej-ticker-items a:hover { color: var(--wp--preset--color--accent); }

/* =========================================================
   6. HOMEPAGE LAYOUT SHELL
   ========================================================= */

.barej-front { max-width: 1240px; margin: 0 auto; padding: 1.5rem 1.25rem 3rem; }

/* --- Lead package: 3-column newspaper front --- */
.barej-lead {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 3.4fr) minmax(0, 2.9fr);
  gap: 0 1.25rem;
  padding-bottom: 1.4rem;
  border-bottom: 1px solid var(--wp--preset--color--ink);
}
.barej-lead > * + * { border-left: var(--barej-rule); padding-left: 1.25rem; }

.barej-lead-feature .barej-card-img { margin-bottom: 0.7rem; }
.barej-lead-feature .barej-card-title {
  font-family: var(--barej-headline);
  font-size: clamp(1.45rem, 2.7vw, 1.95rem);
  font-weight: 700; line-height: 1.16;
  letter-spacing: -0.005em;
  margin: 0.25rem 0 0.45rem;
}
.barej-lead-feature .barej-card-excerpt {
  font-family: var(--barej-body);
  font-size: 0.9375rem; line-height: 1.5;
  color: var(--wp--preset--color--charcoal);
  margin: 0 0 0.5rem;
}

/* Secondary column: stacked headlines with hairlines */
.barej-lead-secondary .barej-card { padding: 0.75rem 0; border-top: var(--barej-rule); }
.barej-lead-secondary .barej-card:first-child { padding-top: 0; border-top: 0; }
.barej-lead-secondary .barej-card-title { font-size: 1rem; line-height: 1.28; margin: 0.2rem 0 0.25rem; }
.barej-lead-secondary .barej-card-excerpt { display: none; }

/* Most-read: numbered rail */
.barej-mostread-head {
  font-family: var(--barej-sans);
  font-size: 0.6875rem; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding-bottom: 0.5rem; margin: 0 0 0.1rem;
  border-bottom: 1px solid var(--wp--preset--color--ink);
}
.barej-mostread { list-style: none; margin: 0; padding: 0; counter-reset: mostread; }
.barej-mostread li {
  counter-increment: mostread;
  display: flex; gap: 0.7rem;
  padding: 0.7rem 0; border-bottom: var(--barej-rule);
}
.barej-mostread li::before {
  content: counter(mostread) ".";
  font-family: var(--barej-headline);
  font-size: 1.35rem; font-weight: 700; line-height: 1.1;
  color: var(--wp--preset--color--ink);
  min-width: 1.2rem;
}
.barej-mostread a {
  font-family: var(--barej-headline);
  font-size: 0.9375rem; font-weight: 700; line-height: 1.3;
  color: var(--wp--preset--color--ink);
}
.barej-mostread a:hover { color: var(--wp--preset--color--accent); }

@media (max-width: 980px) {
  .barej-lead { grid-template-columns: 1fr 1fr; }
  .barej-lead-feature { grid-column: 1 / -1; border-left: 0; padding-left: 0; padding-bottom: 1.2rem; border-bottom: var(--barej-rule); margin-bottom: 1.2rem; }
  .barej-lead-secondary { border-left: 0; padding-left: 0; }
}
@media (max-width: 640px) {
  .barej-lead { grid-template-columns: 1fr; }
  .barej-lead > * + * { border-left: 0; padding-left: 0; }
  .barej-lead-rail { margin-top: 1.4rem; }
}

/* =========================================================
   7. SECTION BANDS
   ========================================================= */

.barej-band { padding: 1.25rem 0 1.5rem; border-bottom: var(--barej-rule); }
.barej-band:last-child { border-bottom: 0; }
.barej-band-head {
  display: flex; align-items: baseline; justify-content: space-between;
  padding-bottom: 0.45rem; margin-bottom: 0.9rem;
  border-bottom: var(--barej-rule);
}
.barej-band-title, .barej-band-title a {
  font-family: var(--barej-sans);
  font-size: 0.75rem; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--wp--preset--color--ink);
  margin: 0;
}
.barej-band-title::after { content: " ›"; font-weight: 700; color: var(--wp--preset--color--charcoal); }
.barej-band-title a:hover, .barej-band-more:hover { color: var(--wp--preset--color--accent); }
.barej-band-more {
  font-family: var(--barej-sans);
  font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--wp--preset--color--faint);
}

/* Column grids with hairline dividers */
.barej-band-grid { display: grid; gap: 0 1.25rem; }
.barej-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.barej-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.barej-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.barej-band-grid > .barej-card + .barej-card { border-left: var(--barej-rule); padding-left: 1.25rem; }

@media (max-width: 980px) {
  .barej-cols-3, .barej-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.3rem; }
  .barej-band-grid > .barej-card:nth-child(odd) { border-left: 0; padding-left: 0; }
}
@media (max-width: 600px) {
  .barej-cols-2, .barej-cols-3, .barej-cols-4 { grid-template-columns: 1fr; }
  .barej-band-grid > .barej-card + .barej-card { border-left: 0; padding-left: 0; border-top: var(--barej-rule); padding-top: 1.1rem; }
}

/* =========================================================
   8. CARDS
   ========================================================= */

.barej-card { min-width: 0; }
.barej-card-img { display: block; margin-bottom: 0.55rem; overflow: hidden; background: var(--wp--preset--color--rule); }
.barej-card-img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.barej-card-title {
  font-family: var(--barej-headline);
  font-size: 1.0625rem; font-weight: 700; line-height: 1.24;
  letter-spacing: -0.003em;
  margin: 0.25rem 0 0.3rem;
}
.barej-card-title a { color: var(--wp--preset--color--ink); }
.barej-card-title a:hover { color: var(--wp--preset--color--accent); }
.barej-card-excerpt {
  font-family: var(--barej-body);
  font-size: 0.84375rem; line-height: 1.48;
  color: var(--wp--preset--color--charcoal);
  margin: 0 0 0.4rem;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.barej-card--text .barej-card-img { display: none; }

/* Analysis band: ivory wash + italic serif treatment for Omar's column */
.barej-band--analysis { background: var(--wp--preset--color--accent-soft); padding: 1.6rem 1.5rem 1.9rem; margin: 0 -1.5rem; border-bottom: var(--barej-rule); }
.barej-band--analysis .barej-band-head { border-color: var(--wp--preset--color--accent); }
.barej-band--analysis .barej-band-title { color: var(--wp--preset--color--accent); }
.barej-band--analysis .barej-card-title { font-style: italic; font-weight: 500; font-size: 1.25rem; }

/* =========================================================
   9. ARTICLE PAGES
   ========================================================= */

.barej-article-header { max-width: 720px; margin: 2.2rem auto 0; padding: 0 1.25rem; }
.barej-article-header .barej-kicker { margin-bottom: 0.6rem; display: block; }

.wp-block-post-title {
  font-family: var(--barej-headline);
  font-weight: 700; line-height: 1.12;
  letter-spacing: -0.008em;
}

.barej-dek, .wp-block-post-excerpt__excerpt {
  font-family: var(--barej-headline);
  font-style: italic; font-weight: 400;
  font-size: 1.2rem; line-height: 1.45;
  color: var(--wp--preset--color--charcoal);
}

.barej-article-byline {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1rem;
  border-top: var(--barej-rule); border-bottom: var(--barej-rule);
  padding: 0.6rem 0; margin: 1.1rem 0 1.4rem;
}

.wp-block-post-featured-image figcaption {
  font-family: var(--barej-sans);
  font-size: 0.71875rem;
  color: var(--wp--preset--color--faint);
  margin-top: 0.4rem; text-align: left;
}

.wp-block-post-content { font-size: 1.0625rem; line-height: 1.68; }
.wp-block-post-content > p:first-of-type::first-letter {
  font-family: var(--barej-headline);
  float: left; font-size: 3.4em; line-height: 0.82;
  padding: 0.06em 0.08em 0 0; font-weight: 500;
}
.wp-block-post-content h2 {
  font-family: var(--barej-sans);
  font-size: 1.0rem; font-weight: 800;
  letter-spacing: 0.07em; text-transform: uppercase;
  margin-top: 2.1rem; padding-top: 1.1rem;
  border-top: var(--barej-rule);
}
.wp-block-post-content h3 { margin-top: 1.6rem; }

/* Pull quote */
.wp-block-pullquote {
  border-top: var(--barej-rule-heavy);
  border-bottom: var(--barej-rule);
  padding: 1.4rem 0;
}
.wp-block-pullquote blockquote p {
  font-family: var(--barej-headline);
  font-style: italic; font-size: 1.5rem; line-height: 1.3;
}
.wp-block-quote {
  border-left: 3px solid var(--wp--preset--color--accent);
  padding-left: 1.1rem; font-style: italic;
  color: var(--wp--preset--color--charcoal);
}

/* Market data / fact box */
.barej-databox, .wp-block-group.barej-databox {
  background: var(--wp--preset--color--paper);
  border: var(--barej-rule);
  border-top: var(--barej-rule-heavy);
  padding: 1.1rem 1.25rem;
  font-family: var(--barej-sans);
  font-size: 0.875rem;
}
.barej-databox-title {
  font-size: 0.71875rem; font-weight: 800;
  letter-spacing: 0.09em; text-transform: uppercase;
  margin: 0 0 0.6rem;
}

/* Curated-source attribution box (auto-inserted by Newsroom plugin) */
.barej-source-box {
  border: var(--barej-rule);
  border-left: 3px solid var(--wp--preset--color--ink);
  background: var(--wp--preset--color--paper);
  padding: 0.85rem 1.1rem;
  margin: 1.5rem 0;
  font-family: var(--barej-sans);
  font-size: 0.8125rem;
  color: var(--wp--preset--color--charcoal);
}
.barej-source-box a { color: var(--wp--preset--color--accent); font-weight: 600; text-decoration: underline; }
.barej-source-box-label {
  display: block;
  font-size: 0.65625rem; font-weight: 800;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--wp--preset--color--ink);
  margin-bottom: 0.25rem;
}

/* Contextual CTA (auto-inserted) */
.barej-cta-box {
  border-top: var(--barej-rule-heavy);
  border-bottom: var(--barej-rule);
  background: var(--wp--preset--color--accent-soft);
  padding: 1.3rem 1.4rem;
  margin: 2rem 0 1rem;
}
.barej-cta-box-kicker {
  font-family: var(--barej-sans);
  font-size: 0.65625rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  margin: 0 0 0.35rem;
}
.barej-cta-box-text {
  font-family: var(--barej-headline);
  font-size: 1.15rem; font-style: italic; line-height: 1.4;
  margin: 0 0 0.75rem;
}
.barej-cta-box .barej-btn { margin-right: 0.6rem; }

/* Buttons */
.barej-btn, .barej-btn:visited {
  display: inline-block;
  font-family: var(--barej-sans);
  font-size: 0.75rem; font-weight: 700;
  letter-spacing: 0.07em; text-transform: uppercase;
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--paper) !important;
  padding: 0.6rem 1.1rem;
  border: 1px solid var(--wp--preset--color--ink);
}
.barej-btn:hover { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.barej-btn--ghost { background: transparent; color: var(--wp--preset--color--ink) !important; }
.barej-btn--ghost:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper) !important; }

/* Related articles (auto-inserted) */
.barej-related { margin: 2rem 0 0.5rem; border-top: var(--barej-rule-heavy); padding-top: 0.8rem; }
.barej-related-head {
  font-family: var(--barej-sans);
  font-size: 0.71875rem; font-weight: 800;
  letter-spacing: 0.09em; text-transform: uppercase;
  margin: 0 0 0.5rem;
}
.barej-related ul { list-style: none; margin: 0; padding: 0; }
.barej-related li { border-bottom: var(--barej-rule); padding: 0.55rem 0; }
.barej-related li a {
  font-family: var(--barej-headline);
  font-size: 1.02rem; font-weight: 600;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}
.barej-related li a:hover { color: var(--wp--preset--color--accent); }

/* Author box */
.barej-author-box {
  display: flex; gap: 1.1rem; align-items: flex-start;
  border: var(--barej-rule); border-top: var(--barej-rule-heavy);
  background: var(--wp--preset--color--paper);
  padding: 1.2rem 1.3rem; margin: 2rem 0;
}
.barej-author-box img { width: 76px; height: 76px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.barej-author-box-name {
  font-family: var(--barej-headline);
  font-size: 1.15rem; font-weight: 700; margin: 0 0 0.15rem;
}
.barej-author-box-title {
  font-family: var(--barej-sans);
  font-size: 0.71875rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  margin: 0 0 0.5rem;
}
.barej-author-box p { font-size: 0.9rem; line-height: 1.55; color: var(--wp--preset--color--charcoal); margin: 0 0 0.5rem; }

/* =========================================================
   10. ARCHIVES
   ========================================================= */

.barej-archive-header { border-bottom: var(--barej-rule-heavy); padding: 1.8rem 0 0.8rem; margin-bottom: 0.2rem; }
.barej-archive-header .wp-block-query-title {
  font-family: var(--barej-headline);
  font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 600; margin: 0;
}
.barej-archive-header .archive-description { color: var(--wp--preset--color--charcoal); font-size: 0.95rem; }

.barej-archive-list .wp-block-post { border-bottom: var(--barej-rule); padding: 1.3rem 0; }
.barej-archive-list .wp-block-post-title { font-size: 1.35rem; margin: 0.25rem 0 0.3rem; }
.barej-archive-list .wp-block-post-excerpt__excerpt { font-size: 0.95rem; font-style: normal; font-family: var(--barej-body); }

.wp-block-query-pagination {
  font-family: var(--barej-sans);
  font-size: 0.8125rem; font-weight: 600;
  letter-spacing: 0.05em; text-transform: uppercase;
  padding: 1.4rem 0;
}

/* =========================================================
   11. NEWSLETTER + FOOTER
   ========================================================= */

.barej-newsletter {
  border-top: var(--barej-rule-heavy);
  border-bottom: var(--barej-rule);
  background: var(--wp--preset--color--paper);
  text-align: center;
  padding: 2.4rem 1.25rem;
}
.barej-newsletter-title {
  font-family: var(--barej-headline);
  font-size: 1.6rem; font-weight: 600; margin: 0 0 0.35rem;
}
.barej-newsletter-sub {
  font-family: var(--barej-body);
  color: var(--wp--preset--color--charcoal);
  font-size: 0.95rem; max-width: 520px; margin: 0 auto 1.1rem;
}

.barej-footer {
  background: var(--wp--preset--color--footer);
  color: #C9C7BE;
  font-family: var(--barej-sans);
  font-size: 0.8125rem;
  margin-top: 0;
}
.barej-footer a { color: #E8E6DD; }
.barej-footer a:hover { color: #FFFFFF; text-decoration: underline; }
.barej-footer-inner { max-width: 1240px; margin: 0 auto; padding: 2.6rem 1.25rem 2rem; }
.barej-footer-masthead {
  font-family: var(--barej-headline);
  color: #FFFFFF; font-size: 1.5rem; font-weight: 700;
  text-align: center; margin: 0 0 0.3rem;
}
.barej-footer-tagline {
  text-align: center; font-size: 0.6875rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: #A5A398; margin: 0 0 1.8rem;
}
.barej-footer-cols {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 1.8rem; border-top: 1px solid #33322D; padding-top: 1.8rem;
}
.barej-footer-col-head {
  font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.1em;
  text-transform: uppercase; color: #FFFFFF; margin: 0 0 0.7rem;
}
.barej-footer-cols ul { list-style: none; margin: 0; padding: 0; }
.barej-footer-cols li { padding: 0.22rem 0; }
.barej-footer-legal {
  border-top: 1px solid #33322D; margin-top: 2rem; padding-top: 1.2rem;
  font-size: 0.71875rem; color: #8C8A80; line-height: 1.7;
}
@media (max-width: 860px) { .barej-footer-cols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .barej-footer-cols { grid-template-columns: 1fr; } }

/* =========================================================
   12. FORMS (contact / newsletter plugins inherit this)
   ========================================================= */

.barej-form input[type="text"],
.barej-form input[type="email"],
.barej-form input[type="tel"],
.barej-form textarea,
.wp-block-post-content input[type="text"],
.wp-block-post-content input[type="email"],
.wp-block-post-content input[type="tel"],
.wp-block-post-content textarea {
  font-family: var(--barej-sans);
  font-size: 0.9rem;
  border: 1px solid var(--wp--preset--color--rule);
  background: var(--wp--preset--color--paper);
  padding: 0.65rem 0.8rem;
  width: 100%;
  border-radius: 0;
}
.barej-form input:focus, .wp-block-post-content input:focus, .wp-block-post-content textarea:focus {
  outline: none; border-color: var(--wp--preset--color--accent);
}

/* =========================================================
   13. MISC
   ========================================================= */

.barej-page { max-width: 720px; margin: 0 auto; padding: 2rem 1.25rem 3rem; }
.barej-page-wide { max-width: 1240px; margin: 0 auto; padding: 2rem 1.25rem 3rem; }

.barej-updated-line {
  font-family: var(--barej-sans);
  font-size: 0.71875rem; color: var(--wp--preset--color--faint);
  margin-top: 2rem; border-top: var(--barej-rule); padding-top: 0.6rem;
}
