:root {
  --rmbj-blue: var(--wp--preset--color--accent, #0866d5);
  --rmbj-blue-deep: var(--wp--preset--color--blue-deep, #0b3f80);
  --rmbj-blue-bright: var(--wp--preset--color--blue-bright, #3b8ff3);
  --rmbj-black: var(--wp--preset--color--black, #07090c);
  --rmbj-ink: var(--wp--preset--color--ink, #071b33);
  --rmbj-muted: var(--wp--preset--color--muted, #5f6f82);
  --rmbj-line: var(--wp--preset--color--line, #d8e3ef);
  --rmbj-paper: var(--wp--preset--color--paper, #f5f7fa);
  --rmbj-white: #fff;
  --rmbj-radius: 16px;
  --rmbj-shadow: 0 18px 54px rgba(7, 27, 51, 0.1);
}

.rmbj-section-shell {
  margin-inline: auto;
  max-width: min(1180px, calc(100% - 2rem));
  width: 100%;
}

.rmbj-proof-strip {
  background: var(--rmbj-white);
  border-bottom: 1px solid var(--rmbj-line);
  border-top: 1px solid var(--rmbj-line);
}

.rmbj-proof-strip__inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  margin-inline: auto;
  max-width: min(1180px, calc(100% - 2rem));
}

.rmbj-proof-metric {
  align-items: center;
  border-right: 1px solid var(--rmbj-line);
  display: flex;
  gap: 0.8rem;
  min-height: 96px;
  padding: 1.25rem clamp(1rem, 2.5vw, 2rem);
}

.rmbj-proof-metric:last-child { border-right: 0; }
.rmbj-proof-metric strong { color: var(--rmbj-blue); font-size: clamp(1.35rem, 2.6vw, 2.15rem); letter-spacing: -0.055em; }
.rmbj-proof-metric span { color: var(--rmbj-ink); font-size: 0.86rem; font-weight: 700; line-height: 1.35; }

.rmbj-opportunity-section {
  background: var(--rmbj-white);
  padding: clamp(4.5rem, 8vw, 7rem) 0;
}

.rmbj-section-heading--line {
  align-items: end;
  border-bottom: 1px solid var(--rmbj-line);
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 0;
  padding-bottom: clamp(1.4rem, 3vw, 2.2rem);
}

.rmbj-section-heading--line h2 { margin: 0 0 0.7rem; }
.rmbj-section-heading--line p:not(.rmbj-eyebrow) { color: var(--rmbj-muted); margin: 0; max-width: 720px; }
.rmbj-text-link { color: var(--rmbj-blue); font-size: 0.86rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.rmbj-text-link:hover { text-decoration: underline; text-underline-offset: 0.25em; }

.rmbj-opportunity-stream { border-bottom: 1px solid var(--rmbj-line); }
.rmbj-opportunity-row {
  align-items: start;
  border-top: 1px solid var(--rmbj-line);
  display: grid;
  gap: clamp(1.1rem, 2.8vw, 2.4rem);
  grid-template-columns: minmax(118px, 0.55fr) minmax(0, 2.2fr) minmax(170px, 0.85fr);
  padding: clamp(1.6rem, 3.4vw, 2.7rem) 0;
  position: relative;
  transition: background 180ms ease, padding 180ms ease;
}

.rmbj-opportunity-row:hover { background: linear-gradient(90deg, rgba(8, 102, 213, 0.035), transparent); }
.rmbj-opportunity-state { align-items: flex-start; display: flex; flex-direction: column; gap: 0.65rem; }
.rmbj-status-badge { border-radius: 999px; display: inline-flex; font-size: 0.68rem; font-weight: 850; letter-spacing: 0.05em; padding: 0.42rem 0.65rem; text-transform: uppercase; }
.rmbj-status-badge--open { background: #eaf8f0; color: #166534; }
.rmbj-status-badge--upcoming { background: #eaf3ff; color: #0b3f80; }
.rmbj-status-badge--closed, .rmbj-status-badge--archived { background: #eef1f5; color: #4b5563; }
.rmbj-verification-mark { color: var(--rmbj-muted); font-size: 0.72rem; font-weight: 650; }
.rmbj-verification-mark::before { background: var(--rmbj-blue-bright); border-radius: 50%; content: ""; display: inline-block; height: 6px; margin-right: 0.45rem; vertical-align: 0.06em; width: 6px; }
.rmbj-opportunity-kicker { color: var(--rmbj-blue); display: flex; flex-wrap: wrap; font-size: 0.72rem; font-weight: 800; gap: 0.45rem 1rem; letter-spacing: 0.035em; margin-bottom: 0.6rem; text-transform: uppercase; }
.rmbj-opportunity-main h3 { font-size: clamp(1.25rem, 2.1vw, 1.65rem); line-height: 1.2; margin: 0 0 0.65rem; }
.rmbj-opportunity-main h3 a { color: var(--rmbj-ink); text-decoration: none; }
.rmbj-opportunity-main h3 a:hover { color: var(--rmbj-blue); }
.rmbj-opportunity-main > p { color: var(--rmbj-muted); line-height: 1.65; margin: 0 0 0.9rem; }
.rmbj-opportunity-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.rmbj-opportunity-tags span { background: var(--rmbj-paper); border: 1px solid var(--rmbj-line); border-radius: 999px; color: var(--rmbj-muted); font-size: 0.68rem; font-weight: 650; padding: 0.28rem 0.55rem; }
.rmbj-opportunity-facts { align-items: flex-start; display: flex; flex-direction: column; gap: 0.45rem; }
.rmbj-opportunity-facts > strong { color: var(--rmbj-ink); font-size: 1rem; }
.rmbj-opportunity-facts > span, .rmbj-opportunity-facts > small { color: var(--rmbj-muted); font-size: 0.78rem; }
.rmbj-opportunity-facts > a { color: var(--rmbj-blue); font-size: 0.8rem; font-weight: 800; margin-top: 0.45rem; text-decoration: none; }
.rmbj-opportunity-stream--compact .rmbj-opportunity-row { grid-template-columns: minmax(115px, 0.55fr) minmax(0, 2.4fr) minmax(160px, 0.8fr); }

.rmbj-directory-hero {
  background: linear-gradient(125deg, #06080c, #071b33 58%, #0b3f80 140%);
  color: var(--rmbj-white);
  padding: clamp(5rem, 10vw, 8.5rem) 0 clamp(4rem, 7vw, 6rem);
}

.rmbj-directory-hero h1 { color: var(--rmbj-white); font-size: clamp(2.7rem, 6vw, 5.4rem); letter-spacing: -0.06em; line-height: 0.98; margin: 0 0 1.35rem; max-width: 12ch; }
.rmbj-directory-hero > div > p:last-child { color: rgba(255,255,255,.72); font-size: clamp(1rem, 1.7vw, 1.2rem); line-height: 1.65; max-width: 65ch; }
.rmbj-directory-workspace { background: var(--rmbj-paper); padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(5rem, 9vw, 8rem); }
.rmbj-directory-filters { background: var(--rmbj-white); border: 1px solid var(--rmbj-line); border-radius: var(--rmbj-radius); box-shadow: var(--rmbj-shadow); display: grid; gap: 1rem; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: clamp(1.15rem, 2.5vw, 1.8rem); position: relative; z-index: 2; }
.rmbj-filter-search { grid-column: span 2; }
.rmbj-filter-field, .rmbj-filter-search { display: flex; flex-direction: column; gap: 0.45rem; }
.rmbj-directory-filters label { color: var(--rmbj-ink); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.rmbj-directory-filters input, .rmbj-directory-filters select { background: var(--rmbj-white); border: 1px solid var(--rmbj-line); border-radius: 8px; color: var(--rmbj-ink); font: inherit; min-height: 46px; padding: 0.65rem 0.75rem; width: 100%; }
.rmbj-directory-filters input:focus, .rmbj-directory-filters select:focus { border-color: var(--rmbj-blue); box-shadow: 0 0 0 3px rgba(8,102,213,.14); outline: 0; }
.rmbj-filter-actions { align-items: center; display: flex; gap: 1rem; grid-column: 1 / -1; justify-content: flex-end; }
.rmbj-filter-actions button { background: var(--rmbj-blue); border: 0; border-radius: 8px; color: var(--rmbj-white); cursor: pointer; font-weight: 800; min-height: 44px; padding: 0.7rem 1rem; }
.rmbj-filter-actions a { color: var(--rmbj-muted); font-size: 0.82rem; font-weight: 700; }
.rmbj-directory-status { color: var(--rmbj-muted); font-size: 0.82rem; font-weight: 700; margin: 2rem 0 0.7rem; }
.rmbj-directory.is-loading [data-rmbj-directory-results] { opacity: 0.45; pointer-events: none; }
.rmbj-directory [data-rmbj-directory-results] { transition: opacity 180ms ease; }
.rmbj-pagination { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; padding-top: 2rem; }
.rmbj-pagination button { background: var(--rmbj-white); border: 1px solid var(--rmbj-line); border-radius: 8px; color: var(--rmbj-ink); cursor: pointer; height: 42px; min-width: 42px; }
.rmbj-pagination button[aria-current="page"] { background: var(--rmbj-blue); border-color: var(--rmbj-blue); color: var(--rmbj-white); }
.rmbj-empty-state { background: var(--rmbj-white); border: 1px dashed var(--rmbj-line); border-radius: var(--rmbj-radius); padding: clamp(2rem, 6vw, 5rem); text-align: center; }
.rmbj-empty-state h3 { margin: 0.35rem auto 0.7rem; max-width: 26ch; }
.rmbj-empty-state > p:last-child { color: var(--rmbj-muted); margin-inline: auto; max-width: 58ch; }

.rmbj-observatory-block { background: linear-gradient(120deg, #06080c, #071b33 65%, #0b3f80 155%); color: var(--rmbj-white); padding: clamp(5rem, 9vw, 8rem) 0; }
.rmbj-observatory-grid { align-items: center; display: grid; gap: clamp(3rem, 8vw, 8rem); grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr); }
.rmbj-observatory-copy h2 { color: var(--rmbj-white); font-size: clamp(2.3rem, 4.5vw, 4.2rem); letter-spacing: -0.055em; line-height: 1; margin: 0 0 1.2rem; }
.rmbj-observatory-copy > p:not(.rmbj-eyebrow):not(.rmbj-source-note) { color: rgba(255,255,255,.72); font-size: 1.05rem; line-height: 1.7; max-width: 56ch; }
.rmbj-button-light { background: var(--rmbj-white); border-radius: 8px; color: var(--rmbj-black); display: inline-flex; font-size: 0.84rem; font-weight: 800; margin-top: 1rem; padding: 0.8rem 1rem; text-decoration: none; }
.rmbj-source-note { color: rgba(255,255,255,.55); font-size: 0.72rem; margin-top: 1rem; }
.rmbj-source-note::before { background: var(--rmbj-blue-bright); border-radius: 50%; content: ""; display: inline-block; height: 6px; margin-right: 0.45rem; width: 6px; }
.rmbj-observatory-data { border-left: 1px solid rgba(255,255,255,.16); padding-left: clamp(1.5rem, 4vw, 3.5rem); }
.rmbj-observatory-counts { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); margin-bottom: 2rem; }
.rmbj-observatory-counts > div { display: flex; flex-direction: column; }
.rmbj-observatory-counts strong { color: var(--rmbj-white); font-size: clamp(3rem, 7vw, 5rem); letter-spacing: -0.07em; line-height: 0.95; }
.rmbj-observatory-counts span { color: rgba(255,255,255,.62); font-size: 0.75rem; font-weight: 700; }
.rmbj-mini-chart { display: grid; gap: 0.8rem; }
.rmbj-mini-chart__row { align-items: center; display: grid; gap: 0.7rem; grid-template-columns: minmax(90px, 1fr) minmax(120px, 2fr) 30px; }
.rmbj-mini-chart__row > span { color: rgba(255,255,255,.76); font-size: 0.76rem; }
.rmbj-mini-chart__row > div { background: rgba(255,255,255,.08); border-radius: 999px; height: 7px; overflow: hidden; }
.rmbj-mini-chart__row i { background: linear-gradient(90deg, var(--rmbj-blue), var(--rmbj-blue-bright)); border-radius: inherit; display: block; height: 100%; }
.rmbj-mini-chart__row strong { color: var(--rmbj-white); font-size: 0.78rem; }
.rmbj-observatory-data > small { color: rgba(255,255,255,.48); display: block; font-size: 0.68rem; line-height: 1.5; margin-top: 1.3rem; }
.rmbj-observatory-empty { border: 1px solid rgba(255,255,255,.14); border-radius: var(--rmbj-radius); display: flex; flex-direction: column; gap: 0.5rem; padding: 2rem; }
.rmbj-observatory-empty span { color: rgba(255,255,255,.62); line-height: 1.55; }

.rmbj-newsletter-form { margin-top: 1.4rem; max-width: 650px; }
.rmbj-newsletter-inline { display: flex; gap: 0.65rem; }
.rmbj-newsletter-inline input { background: var(--rmbj-white); border: 1px solid rgba(255,255,255,.4); border-radius: 8px; color: var(--rmbj-ink); flex: 1; font: inherit; min-height: 50px; padding: 0.75rem 0.9rem; }
.rmbj-newsletter-inline button { background: var(--rmbj-white); border: 1px solid var(--rmbj-white); border-radius: 8px; color: var(--rmbj-black); cursor: pointer; font-weight: 850; min-height: 50px; padding: 0.75rem 1rem; }
.rmbj-newsletter-inline button:disabled { cursor: wait; opacity: .65; }
.rmbj-consent-line { align-items: flex-start; color: rgba(255,255,255,.62); display: flex; font-size: 0.7rem; gap: 0.5rem; line-height: 1.5; margin-top: 0.7rem; }
.rmbj-consent-line input { margin-top: 0.18rem; }
.rmbj-honeypot { left: -9999px !important; position: absolute !important; }
.rmbj-form-message { font-size: 0.78rem; font-weight: 700; margin-top: 0.75rem; min-height: 1.2em; }
.rmbj-form-message.is-success { color: #a7f3d0; }
.rmbj-form-message.is-error { color: #fecaca; }

.rmbj-opportunity-summary { background: var(--rmbj-paper); border: 1px solid var(--rmbj-line); border-radius: var(--rmbj-radius); display: grid; gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 2rem 0 3rem; overflow: hidden; }
.rmbj-opportunity-summary > div { border-bottom: 1px solid var(--rmbj-line); border-right: 1px solid var(--rmbj-line); display: flex; flex-direction: column; gap: 0.35rem; padding: 1.25rem; }
.rmbj-opportunity-summary > div:nth-child(4) { border-right: 0; }
.rmbj-opportunity-summary span { color: var(--rmbj-muted); font-size: 0.68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.rmbj-opportunity-summary strong { color: var(--rmbj-ink); }
.rmbj-opportunity-summary__wide, .rmbj-opportunity-summary__actions { grid-column: 1 / -1; }
.rmbj-opportunity-summary__wide p { color: var(--rmbj-muted); margin: 0; }
.rmbj-opportunity-summary__actions { align-items: center; border-bottom: 0 !important; display: flex !important; flex-direction: row !important; gap: 1rem !important; }
.rmbj-opportunity-summary__actions a { color: var(--rmbj-blue); font-weight: 800; }
.rmbj-opportunity-summary__actions .rmbj-primary-link { background: var(--rmbj-blue); border-radius: 8px; color: var(--rmbj-white); padding: .75rem 1rem; text-decoration: none; }

@media (max-width: 980px) {
  .rmbj-directory-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rmbj-filter-search { grid-column: span 2; }
  .rmbj-opportunity-row, .rmbj-opportunity-stream--compact .rmbj-opportunity-row { grid-template-columns: 1fr 2fr; }
  .rmbj-opportunity-facts { grid-column: 2; }
  .rmbj-observatory-grid { grid-template-columns: 1fr; }
  .rmbj-observatory-data { border-left: 0; border-top: 1px solid rgba(255,255,255,.16); padding-left: 0; padding-top: 2rem; }
  .rmbj-opportunity-summary { grid-template-columns: repeat(2, 1fr); }
  .rmbj-opportunity-summary > div:nth-child(2) { border-right: 0; }
}

@media (max-width: 700px) {
  .rmbj-proof-strip__inner { grid-template-columns: 1fr 1fr; }
  .rmbj-proof-metric { border-bottom: 1px solid var(--rmbj-line); min-height: 82px; }
  .rmbj-section-heading--line { align-items: flex-start; flex-direction: column; }
  .rmbj-opportunity-row, .rmbj-opportunity-stream--compact .rmbj-opportunity-row { grid-template-columns: 1fr; }
  .rmbj-opportunity-facts { grid-column: 1; }
  .rmbj-opportunity-state { align-items: center; flex-direction: row; flex-wrap: wrap; }
  .rmbj-directory-filters { grid-template-columns: 1fr; }
  .rmbj-filter-search { grid-column: 1; }
  .rmbj-filter-actions { align-items: stretch; flex-direction: column; }
  .rmbj-filter-actions button { width: 100%; }
  .rmbj-observatory-counts { grid-template-columns: 1fr 1fr; }
  .rmbj-newsletter-inline { flex-direction: column; }
  .rmbj-opportunity-summary { grid-template-columns: 1fr; }
  .rmbj-opportunity-summary > div { border-right: 0; }
  .rmbj-opportunity-summary__actions { align-items: flex-start !important; flex-direction: column !important; }
}

@media (prefers-reduced-motion: reduce) {
  .rmbj-directory [data-rmbj-directory-results] { transition: none; }
}

/* 0.2.3: assinatura de arquivo, datas em portugues e proveniencia visivel. */
:root {
  --rmbj-blue: var(--wp--preset--color--stamp, #005ca8);
  --rmbj-blue-deep: var(--wp--preset--color--blue-deep, #0a3b72);
  --rmbj-blue-bright: var(--wp--preset--color--blue-bright, #1677d2);
  --rmbj-black: var(--wp--preset--color--black, #07090d);
  --rmbj-ink: var(--wp--preset--color--ink, #111722);
  --rmbj-muted: var(--wp--preset--color--muted, #405064);
  --rmbj-line: var(--wp--preset--color--line, #c9d3dc);
  --rmbj-paper: var(--wp--preset--color--paper, #f4f6f3);
  --rmbj-radius: 4px;
  --rmbj-shadow: 0 18px 50px rgba(17, 23, 34, 0.12);
}

.rmbj-opportunity-section,
.rmbj-directory-workspace {
  background: #fff;
}

.rmbj-section-heading--line {
  border-bottom: 2px solid var(--rmbj-ink);
}

.rmbj-opportunity-row {
  border-top: 1px solid var(--rmbj-line);
}

.rmbj-opportunity-row:hover {
  background: linear-gradient(90deg, rgba(0, 92, 168, 0.045), transparent 72%);
}

.rmbj-status-badge,
.rmbj-opportunity-tags span,
.rmbj-directory-filters,
.rmbj-directory-filters input,
.rmbj-directory-filters select,
.rmbj-filter-actions button,
.rmbj-empty-state,
.rmbj-observatory-data,
.rmbj-observatory-empty,
.rmbj-opportunity-summary,
.rmbj-opportunity-summary__actions .rmbj-primary-link,
.rmbj-newsletter-inline input,
.rmbj-newsletter-inline button {
  border-radius: 2px !important;
}

.rmbj-source-seal {
  border: 2px solid var(--rmbj-blue);
  color: var(--rmbj-blue);
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  line-height: 1;
  margin-top: 0.55rem;
  padding: 0.42rem 0.52rem;
  text-transform: uppercase;
  transform: rotate(-7deg);
  width: max-content;
}

.rmbj-opportunity-main h3 a,
.rmbj-opportunity-main h3,
.rmbj-section-heading--line h2,
.rmbj-directory-hero h1 {
  color: var(--rmbj-ink);
}

.rmbj-directory-hero {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.034) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,0.034) 1px, transparent 1px),
    linear-gradient(125deg, #111722, #1b2b3a 58%, #0a3b72 145%);
  background-size: 32px 32px, 32px 32px, auto;
}

.rmbj-directory-hero h1 {
  color: #fff;
  font-family: var(--wp--preset--font-family--editorial, Georgia, serif);
}

.rmbj-mini-chart__row i {
  background: var(--rmbj-blue);
}

/* 0.2.6: fichas públicas de oportunidades e financiadores. */
.rmbj-opportunity-note,
.rmbj-opportunity-alert {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.55;
  margin: 0 0 0.9rem;
  padding: 0.8rem 0.95rem;
}

.rmbj-taxonomy-panel {
  border-top: 1px solid var(--rmbj-line);
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 1.5rem 0 2rem;
  padding-top: 1.5rem;
}

.rmbj-taxonomy-panel h2,
.rmbj-detail-section h2,
.rmbj-provenance-box h2 {
  font-size: clamp(1.15rem, 1.9vw, 1.55rem);
  margin: 0 0 0.9rem;
}

.rmbj-detail-section {
  border-top: 1px solid var(--rmbj-line);
  margin-top: 2rem;
  padding-top: 2rem;
}

.rmbj-detail-content {
  color: var(--rmbj-ink);
  line-height: 1.75;
}

.rmbj-provenance-box {
  background: var(--rmbj-paper);
  border: 1px solid var(--rmbj-line);
  margin-top: 2rem;
  padding: clamp(1.2rem, 3vw, 2rem);
}

.rmbj-provenance-box dl {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.rmbj-provenance-box dt {
  color: var(--rmbj-muted);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.rmbj-provenance-box dd {
  color: var(--rmbj-ink);
  font-weight: 750;
  margin: 0.2rem 0 0;
}

.rmbj-provenance-box p {
  border-top: 1px solid var(--rmbj-line);
  color: var(--rmbj-muted);
  font-size: 0.9rem;
  margin: 1.2rem 0 0;
  padding-top: 1rem;
}

.rmbj-funder-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rmbj-account-grid > *,
.rmbj-account-login-grid > *,
.rmbj-account-opportunities > * {
  min-width: 0;
}


.rmbj-funder-card {
  background: var(--rmbj-white);
  border: 1px solid var(--rmbj-line);
  box-shadow: var(--rmbj-shadow);
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 100%;
  padding: clamp(1.1rem, 2vw, 1.45rem);
}

.rmbj-funder-card__meta,
.rmbj-funder-card__facts {
  color: var(--rmbj-muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.72rem;
  font-weight: 800;
  gap: 0.55rem 0.9rem;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.rmbj-funder-card h2 {
  font-size: clamp(1.15rem, 1.75vw, 1.45rem);
  line-height: 1.2;
  margin: 0;
}

.rmbj-funder-card h2 a {
  color: var(--rmbj-ink);
  text-decoration: none;
}

.rmbj-funder-card h2 a:hover { color: var(--rmbj-blue); }
.rmbj-funder-card p { color: var(--rmbj-muted); margin: 0; }

@media (max-width: 980px) {
  .rmbj-funder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rmbj-provenance-box dl { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .rmbj-taxonomy-panel,
  .rmbj-funder-grid { grid-template-columns: 1fr; }
}

/* 0.2.16: Minha RMBJ account dashboard layout guard. */
.rmbj-account-dashboard-page .rmbj-page-hero {
  display: none !important;
}

.rmbj-account-dashboard-page .rmbj-content-panel {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

.rmbj-account-dashboard-page .rmbj-entry-content {
  color: var(--rmbj-ink);
  font-size: inherit;
}

.rmbj-account-dashboard-page .rmbj-entry-content > * {
  max-width: none;
}

.rmbj-account-dashboard {
  color: var(--rmbj-ink);
  margin-inline: auto;
  max-width: 1120px;
  padding: clamp(2.2rem, 5vw, 4.5rem) 0;
  width: min(1120px, calc(100% - 2rem));
}

.rmbj-account-hero {
  align-items: start;
  background: linear-gradient(135deg, #111722, #1b2b3a 62%, #0a3b72 140%);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: var(--rmbj-shadow);
  color: #fff;
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  margin-bottom: clamp(1.4rem, 3vw, 2.2rem);
  padding: clamp(1.6rem, 4vw, 3rem);
  width: 100%;
}


.rmbj-account-hero h1 {
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  letter-spacing: -0.035em;
  line-height: 1.02;
  margin: 0 0 0.8rem;
}

.rmbj-account-hero p:not(.rmbj-eyebrow) {
  color: rgba(255,255,255,0.78);
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.55;
  margin: 0;
  max-width: 660px;
}

.rmbj-account-logout,
.rmbj-account-login-card #wp-submit,
.rmbj-account-card .rmbj-primary-link {
  background: var(--wp--preset--color--accent, #1C6FD1);
  border: 0;
  color: #fff;
  display: inline-flex;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  padding: 0.9rem 1rem;
  text-decoration: none;
}

.rmbj-account-logout:hover,
.rmbj-account-login-card #wp-submit:hover,
.rmbj-account-card .rmbj-primary-link:hover {
  background: #1459aa;
  color: #fff;
}

.rmbj-account-grid,
.rmbj-account-login-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rmbj-account-grid > *,
.rmbj-account-login-grid > *,
.rmbj-account-opportunities > * {
  min-width: 0;
}


.rmbj-account-login-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(min(100%, 300px), 0.9fr);
}

.rmbj-account-card,
.rmbj-account-login-card,
.rmbj-account-panel {
  background: var(--rmbj-white);
  border: 1px solid var(--rmbj-line);
  box-shadow: var(--rmbj-shadow);
  min-width: 0;
  padding: clamp(1.1rem, 2.4vw, 1.7rem);
}

.rmbj-account-card h2,
.rmbj-account-panel h2 {
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  letter-spacing: -0.025em;
  line-height: 1.12;
  margin: 0 0 1rem;
  overflow-wrap: anywhere;
}

.rmbj-account-card p {
  color: var(--rmbj-muted);
  line-height: 1.65;
}

.rmbj-account-facts {
  display: grid;
  gap: 0.85rem;
  margin: 0;
}

.rmbj-account-facts div {
  border-top: 1px solid var(--rmbj-line);
  padding-top: 0.75rem;
}

.rmbj-account-facts dt {
  color: var(--rmbj-muted);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.rmbj-account-facts dd {
  color: var(--rmbj-ink);
  font-weight: 750;
  line-height: 1.45;
  margin: 0.25rem 0 0;
  overflow-wrap: anywhere;
}

.rmbj-account-note {
  background: var(--rmbj-paper);
  border-left: 3px solid var(--rmbj-blue);
  margin: 1rem 0 0;
  padding: 0.85rem;
}

.rmbj-account-steps {
  color: var(--rmbj-muted);
  line-height: 1.7;
  margin: 0;
  padding-left: 1.2rem;
}

.rmbj-account-panel {
  margin-top: 1rem;
}

.rmbj-account-opportunities {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1rem;
}

.rmbj-account-opportunities article {
  border-top: 2px solid var(--rmbj-ink);
  padding-top: 0.9rem;
}

.rmbj-account-opportunities span {
  color: var(--rmbj-muted);
  display: block;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  margin-bottom: 0.45rem;
  text-transform: uppercase;
}

.rmbj-account-opportunities h3 {
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  line-height: 1.18;
  margin: 0 0 0.45rem;
}

.rmbj-account-opportunities h3 a {
  color: var(--rmbj-ink);
  text-decoration: none;
}

.rmbj-account-opportunities h3 a:hover {
  color: var(--rmbj-blue);
}

.rmbj-account-opportunities p {
  color: var(--rmbj-muted);
  margin: 0;
}

.rmbj-account-login-card .login-username,
.rmbj-account-login-card .login-password,
.rmbj-account-login-card .login-remember,
.rmbj-account-login-card .login-submit {
  margin: 0 0 1rem;
  overflow-wrap: anywhere;
}

.rmbj-account-login-card label {
  display: block;
  font-weight: 800;
  margin-bottom: 0.35rem;
}

.rmbj-account-login-card input[type="text"],
.rmbj-account-login-card input[type="password"] {
  border: 1px solid var(--rmbj-line);
  font: inherit;
  padding: 0.85rem;
  width: 100%;
}

.rmbj-account-login-links a {
  color: var(--rmbj-blue);
  font-weight: 800;
}


@media (max-width: 1120px) {
  .rmbj-account-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rmbj-account-card--primary {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .rmbj-account-grid,
  .rmbj-account-login-grid,
  .rmbj-account-opportunities {
    grid-template-columns: 1fr;
  }

  .rmbj-account-hero {
    display: block;
  }

  .rmbj-account-logout {
    margin-top: 1.2rem;
  }
}


.rmbj-account-logout {
  background: var(--wp--preset--color--stamp, #F2631F);
}

.rmbj-account-logout:hover {
  background: var(--wp--preset--color--stamp-deep, #C44E19);
}


/* 0.2.17: Minha RMBJ wide guard. Resiste ao template antigo e a content panels estreitos. */
body.rmbj-account-dashboard-page .rmbj-page-hero,
body.rmbj-has-account-dashboard .rmbj-page-hero,
body:has(.rmbj-account-dashboard) .rmbj-page-hero {
  display: none !important;
}

body.rmbj-account-dashboard-page .rmbj-page-template,
body.rmbj-has-account-dashboard .rmbj-page-template,
body:has(.rmbj-account-dashboard) .rmbj-page-template,
body.rmbj-operational-wide-page main,
body:has(.rmbj-account-dashboard) main {
  max-width: none !important;
  overflow-x: clip;
  padding: 0 !important;
  width: 100% !important;
}

body.rmbj-account-dashboard-page .rmbj-content-panel,
body.rmbj-has-account-dashboard .rmbj-content-panel,
body:has(.rmbj-account-dashboard) .rmbj-content-panel,
body.rmbj-account-dashboard-page .rmbj-entry-content,
body.rmbj-has-account-dashboard .rmbj-entry-content,
body:has(.rmbj-account-dashboard) .rmbj-entry-content,
body.rmbj-account-dashboard-page .wp-block-post-content,
body.rmbj-has-account-dashboard .wp-block-post-content,
body:has(.rmbj-account-dashboard) .wp-block-post-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

body.rmbj-account-dashboard-page .rmbj-account-dashboard,
body.rmbj-has-account-dashboard .rmbj-account-dashboard,
body:has(.rmbj-account-dashboard) .rmbj-account-dashboard {
  left: 50%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  position: relative;
  transform: translateX(-50%);
  width: min(1220px, calc(100vw - 64px)) !important;
}

body.rmbj-account-dashboard-page .rmbj-account-login-grid,
body.rmbj-has-account-dashboard .rmbj-account-login-grid,
body:has(.rmbj-account-dashboard) .rmbj-account-login-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
}

@media (max-width: 900px) {
  body.rmbj-account-dashboard-page .rmbj-account-dashboard,
  body.rmbj-has-account-dashboard .rmbj-account-dashboard,
  body:has(.rmbj-account-dashboard) .rmbj-account-dashboard {
    width: min(100%, calc(100vw - 28px)) !important;
  }

  body.rmbj-account-dashboard-page .rmbj-account-login-grid,
  body.rmbj-has-account-dashboard .rmbj-account-login-grid,
  body:has(.rmbj-account-dashboard) .rmbj-account-login-grid {
    grid-template-columns: 1fr;
  }
}

/* 0.2.18: custom account auth flow. No native WordPress auth screens in the public journey. */
.rmbj-account-form {
  display: grid;
  gap: 1rem;
}

.rmbj-account-field {
  display: grid;
  gap: 0.35rem;
}

.rmbj-account-field label,
.rmbj-account-check {
  color: var(--rmbj-ink);
  font-weight: 800;
  line-height: 1.35;
}

.rmbj-account-field input[type="text"],
.rmbj-account-field input[type="email"],
.rmbj-account-field input[type="password"] {
  background: #fff;
  border: 1px solid var(--rmbj-line);
  border-radius: 0;
  color: var(--rmbj-ink);
  font: inherit;
  min-height: 52px;
  padding: 0.85rem 0.95rem;
  width: 100%;
}

.rmbj-account-field input:focus {
  border-color: var(--rmbj-blue);
  box-shadow: 0 0 0 3px rgba(28, 111, 209, 0.16);
  outline: 0;
}

.rmbj-account-field small {
  color: var(--rmbj-muted);
  line-height: 1.45;
}

.rmbj-account-field--trap {
  height: 0;
  left: -9999px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 0;
}

.rmbj-account-check {
  align-items: flex-start;
  display: flex;
  gap: 0.55rem;
  margin: 0.25rem 0;
}

.rmbj-account-check input {
  margin-top: 0.25rem;
}

.rmbj-account-submit,
.rmbj-account-logout,
.rmbj-account-card .rmbj-primary-link {
  align-items: center;
  background: var(--wp--preset--color--accent, #1C6FD1);
  border: 0;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 850;
  justify-content: center;
  line-height: 1;
  padding: 0.95rem 1.1rem;
  text-decoration: none;
  width: fit-content;
}

.rmbj-account-submit:hover,
.rmbj-account-submit:focus,
.rmbj-account-card .rmbj-primary-link:hover,
.rmbj-account-card .rmbj-primary-link:focus {
  background: #1459aa;
  color: #fff;
}

.rmbj-account-login-links {
  margin: 0.2rem 0 0;
}

.rmbj-account-login-links a {
  color: var(--wp--preset--color--stamp, #F2631F);
  font-weight: 850;
  text-decoration: none;
}

.rmbj-account-login-links a:hover,
.rmbj-account-login-links a:focus {
  color: var(--wp--preset--color--stamp-deep, #C44E19);
  text-decoration: underline;
}

.rmbj-account-notice {
  border: 1px solid var(--rmbj-line);
  margin: 0 0 1.2rem;
  padding: 0.9rem 1rem;
}

.rmbj-account-notice p {
  font-weight: 750;
  margin: 0;
}

.rmbj-account-notice--error {
  background: #fff3ef;
  border-color: #f2b7a3;
  color: #7a2f18;
}

.rmbj-account-notice--success {
  background: #eff8f2;
  border-color: #b7dfc3;
  color: #164d2d;
}

.rmbj-account-auth-side .rmbj-primary-link {
  margin-top: 0.45rem;
}
