/* Family Wealth Builder — WordPress bridge.
 * Maps core block markup (wp-block-*) onto the shared design system in fwb.css, which is
 * synced unchanged from product/site/assets. Keep this file small: new visual rules belong in
 * fwb.css so the website and the Blueprint demonstration stay one design system.
 * No red, anywhere (inherited rule). */

/* Layout neutralisers: the design system owns spacing, not WordPress's flow layout. */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * + *, .is-layout-flow > * + * { margin-block-start: 0; }
.wp-block-post-content, .wp-block-group { margin: 0; }
.wrap.narrow { max-width: 920px; }
.wrap.measure { max-width: 760px; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Buttons: core/button → .btn-primary; is-style-outline → .btn-ghost */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-buttons.actions { margin-top: 28px; }
.wp-block-buttons.cta { margin-top: 24px; }
.center .wp-block-buttons { justify-content: center; }
.wp-block-button { margin: 0; }
.wp-block-button .wp-block-button__link.wp-element-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px;
  padding: 0 22px; border-radius: 999px; font: 600 .97rem/1 var(--sans); text-decoration: none;
  border: 1px solid transparent; background: var(--evergreen); color: #fff;
  transition: transform .15s ease, background .15s ease;
}
.wp-block-button .wp-block-button__link.wp-element-button:hover { background: var(--evergreen-2); color: #fff; transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button { background: transparent; color: var(--evergreen); border-color: var(--stone-2); }
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button:hover { background: var(--white); color: var(--evergreen); }
.band-evergreen .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button { background: #fff; color: var(--evergreen); }
.band-evergreen .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:hover { background: var(--brass-soft); }
.band-evergreen .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button { color: #fff; border-color: rgba(255, 255, 255, .4); }

/* Lists: core/list with the design system's list classes */
.wp-block-list.checklist { margin: 22px 0 0; }
.card .wp-block-list.checklist { margin-top: 14px; }
.wp-block-list.steps { counter-reset: s; }
.wp-block-list.steps > li { counter-increment: s; color: var(--muted); font-size: .95rem; }
.wp-block-list.steps > li::before {
  content: counter(s); position: absolute; left: 20px; top: 20px; width: 40px; height: 40px;
  border-radius: 50%; border: 2px solid var(--brass); display: grid; place-items: center;
  font: 600 1rem var(--serif); color: var(--brass-ink); background: var(--paper);
}

/* Cards and doors built from core/group */
.card .more, .door .more { margin: 14px 0 0; font-weight: 600; }
.card .more a { text-decoration: none; }
.card .eyebrow { margin-bottom: .6rem; }
.door .more a { color: inherit; text-decoration: none; }
.door .more a::after { content: ""; position: absolute; inset: 0; }   /* whole card is the link */
.door { position: relative; }
.door-pro .more a { color: #fff; }
.split > .wp-block-group { min-width: 0; }
.after-steps { margin-top: 28px; }
.hint { margin-top: 18px; }
.center.hint { text-align: center; }

/* Explore page: entry points into the demonstration */
.entry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .entry-grid { grid-template-columns: 1fr; } }
.entry-grid .card .who { font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: var(--brass-ink); font-weight: 700; }
.fiction-note { display: flex; gap: 12px; align-items: start; padding: 16px 18px; border: 1.5px dashed var(--brass); border-radius: var(--radius-sm); background: var(--white); margin-top: 28px; }
.fiction-note p { margin: 0; font-size: .95rem; }
.pending { display: inline-block; font-weight: 600; color: var(--brass-ink); border: 1.5px dashed var(--brass); border-radius: 999px; padding: 2px 12px; font-size: .9rem; }

/* Footer brand (replaces the prototype's inline styles) */
.brand-footer { color: #fff; }
.brand-footer img { background: #fff; border-radius: 50%; }
.footer-motto { margin-top: 14px; max-width: 28em; }

/* Six navigation items (the prototype had five): keep each on one line, and switch to the
   menu button a little earlier than fwb.css does so the bar never wraps. */
.nav a { white-space: nowrap; }
@media (min-width: 1081px) and (max-width: 1240px) { .nav a { padding: 10px 8px; font-size: .9rem; } .brand small { display: none; } }

/* Approved Warm Bridge identity, 2026-10-13.
 * Marketing-only overrides: shared Blueprint semantic colors remain unchanged. */
body { --brand-primary:#0F2A4A; --brand-action:#1F5FA8; --brand-accent:#C8992E; --brand-panel:#EAF1FA; --ink:#1C2430; }
h1,h2,h3,h4,.brand,.menu-btn { color:var(--brand-primary); }
a { color:var(--brand-action); } a:hover { color:var(--brand-primary); }
:focus-visible { outline-color:var(--brand-action); }
.site-header .brand { flex:0 1 260px; }
.brand img.fwb-wordmark { display:block; width:260px; height:auto; max-width:100%; border-radius:0; background:none; }
.brand-footer img.fwb-wordmark { width:290px; }
.hero h1 em { color:var(--brand-action); }
.hero::before { background:radial-gradient(1100px 600px at 85% 10%,var(--brand-panel),transparent 60%),radial-gradient(800px 500px at 0 100%,var(--cream),transparent 60%); }
.nav a:hover { background:var(--brand-panel); }
.nav a[aria-current=page] { color:var(--brand-primary); box-shadow:inset 0 -2px var(--brand-accent); }
.btn-primary,.nav .btn-primary,.wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button { background:var(--brand-action); color:white; }
.btn-primary:hover,.nav .btn-primary:hover,.wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button:hover { background:var(--brand-primary); color:white; }
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button { color:var(--brand-primary); }
.door-pro,.band-evergreen,.site-footer { background:var(--brand-primary); color:white; }
.door-pro h2,.door-pro h3,.band-evergreen h2,.band-evergreen h3,.site-footer h4 { color:white; }
.door-pro .kicker,.door-pro p { color:white; }
.door { border-top-color:var(--brand-accent); }
.card .icon { color:var(--brand-action); background:var(--brand-panel); }
.band-evergreen .wp-block-button:not(.is-style-outline) .wp-block-button__link.wp-element-button { background:white; color:var(--brand-primary); }
.band-evergreen .wp-block-button.is-style-outline .wp-block-button__link.wp-element-button { color:white; }
.hero-art [fill="#1f3d36"] { fill:var(--brand-primary); }
.hero-art [fill="#2d5a4f"],.hero-art [fill="#3f7466"] { fill:var(--brand-action); }
.hero-art [fill="#a8833a"] { fill:var(--brand-accent); }
@media(max-width:1240px) {
 .menu-btn { display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border:1px solid var(--stone-2); background:white; border-radius:10px; font:600 .9rem var(--sans); cursor:pointer; }
 .nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; padding:10px var(--gutter) 18px; background:var(--paper); border-bottom:1px solid var(--stone); box-shadow:var(--shadow); }
 .nav.open { display:flex; } .nav a { padding:13px 10px; }
 .nav .btn { margin:8px 0 0; justify-content:center; }
}
@media(max-width:480px) { .site-header .brand { flex:0 1 215px; } .brand img.fwb-wordmark { width:215px; } .site-header .wrap { gap:10px; } }

/* Homepage books: official product artwork and user-supplied destinations. */
.fwb-book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.fwb-book { display:flex; flex-direction:column; min-width:0; background:white; border:1px solid var(--stone); border-top:4px solid var(--brand-accent); border-radius:10px; padding:26px; }
.fwb-book .eyebrow { color:var(--brand-action); }
.fwb-book-art { aspect-ratio:1; display:flex; align-items:center; justify-content:center; margin:4px 0 24px; background:var(--paper); }
.fwb-book-art img { width:100%; height:100%; object-fit:contain; }
.fwb-book h3 { font-family:Georgia,serif; font-size:1.6rem; }
.fwb-book-subtitle { margin:16px 0 24px; color:var(--muted); line-height:1.6; }
.fwb-book .btn { margin-top:auto; align-self:flex-start; }
@media(max-width:900px) { .fwb-book-grid { grid-template-columns:1fr; } .fwb-book-art { width:min(100%,340px); align-self:center; } }
