/*
  DWF family-page shape stylesheet -- Senate / House / Congress
  --------------------------------------------------------------
  Every rule below is adapted directly from the reference mockup
  files provided (primarily "Senate Original Three" -- the fullest
  "Final Mockup" reference -- and "Congress Original One" for the
  leadership box, confirmed as the correct pattern). Nothing here
  is pulled from the live plugin.

  Theme-first where possible: no font-family or base text color is
  set except where a component (quotes, chamber box, leadership,
  process steps) is explicitly colored/branded in the source
  mockups themselves, matching what those files actually do.
*/
:root{
  --ink:#171717;
  --muted:#5d5852;
  --rule:#ded8cf;
  --rust:#9C2140;
  --house:#9C2140;
  --senate:#541D34;
  --house-rgb:156,33,64;
  --senate-rgb:84,29,52;
  --house-soft:rgba(var(--house-rgb),.08);
  --senate-soft:rgba(var(--senate-rgb),.08);
  --serif:Georgia,'Times New Roman',serif;
  --soft:#f5f2ec;
}

/* 2026-08-02: the width cap for these pages is scoped to
   .dwf-plugin-template-content rather than the bare .dwf-family-page
   class -- .dwf-family-page is also used when the [congress_member]
   shortcode is embedded in an ordinary theme page/post, where it should
   fully defer to the theme's own content width. Capping width there was
   the original bug this avoided; that reasoning still holds and is why
   the actual rule lives in assets/css/dwf-civic-toolkit.css instead of
   here.

   2026-08-06: the rule that used to live directly below this comment
   (max-width: 1100px !important) is removed, not just edited -- it was
   an approximation of Memberlite's real container width, arrived at
   before that real value (max-width: 71em, confirmed directly in
   Memberlite's own compiled CSS) was known, and duplicating a width rule
   in two files risked them drifting apart the way dwf-rep-profile-shape.css's
   now-also-removed .dwf-rep-profile rule already had (that selector didn't
   match anything in the real rendered HTML at all). One rule, one file,
   in assets/css/dwf-civic-toolkit.css -- see the comment there for the
   full reasoning, including why !important is still needed. */
.dwf-family-page a{text-decoration:none}

/* Hero: intro + quote, adapted from .guide-hero / .hero-quote */
.dwf-family-hero{display:grid;grid-template-columns:2fr 1fr;gap:52px;align-items:center;padding-bottom:28px}
.dwf-intro-lead{font-weight:700;margin:0 0 .8em}
.quote{background:#fff;max-width:300px}
.quote-body{display:flex;gap:10px;align-items:flex-start}
.quote-mark{font-family:var(--serif);font-size:76px;line-height:.7;color:#a39784;flex-shrink:0}
.quote-text{flex:1;min-width:0}
.quote-text p{font-family:var(--serif);font-style:normal;font-size:16px;line-height:1.4;color:var(--ink);margin:0}
.quote-text cite{display:block;text-align:right;margin-top:12px;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dwf-wide-quote .quote{max-width:680px;margin:26px auto 42px}
.dwf-wide-quote .quote-body{gap:16px}
.dwf-wide-quote .quote-mark{font-size:112px}
.dwf-wide-quote .quote-text p{font-size:22px}

/* Stat strip -- no lines around content, centered, relative sizing */
.dwf-stat-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:6px 0 38px;text-align:center}
.dwf-stat-strip>div{padding:0 18px}
.dwf-stat-strip b{display:block;font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:.65em;color:var(--rust);margin-bottom:.5em}
.dwf-stat-strip strong{display:block;font-size:1.6em;line-height:1.05;letter-spacing:-.03em}
.dwf-stat-strip span{display:block;font-size:.75em;color:var(--muted);margin-top:.35em}

/* Chamber box: icon + copy + mini-stats + 4 link boxes, from .feature/.mini-stats/.feature-links */
/* margin-bottom added 9/7/26 -- flagged across House, Senate, and State pages (screenshots
   titled "flag width and minor fix"/"flax width and minor fix"): the section heading right
   after this box (e.g. "How The House Works") had no breathing room above it, since this box
   had padding but no external bottom margin. Single fix here covers all three standalone pages
   at once, since they all render the same .dwf-chamber-box component from this one file --
   see the .dwf-chamber-pair override below for why the paired (Congress home) usage cancels
   this back to 0 instead of inheriting it. */
.dwf-chamber-box{color:#fff;border-radius:7px;padding:34px 34px 32px;display:grid;grid-template-columns:110px 1fr;gap:34px;align-items:center;margin-bottom:2.5rem}
.dwf-chamber-box.house{background:var(--house)}
.dwf-chamber-box.senate{background:var(--senate)}
.dwf-chamber-box img{width:96px;height:96px;object-fit:contain}
.dwf-chamber-box .label{font-size:.65em;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:.5em}
.dwf-chamber-box h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.7em;line-height:1;letter-spacing:-.02em;color:#fff;margin:0 0 .5em}
.dwf-chamber-box p{font-size:.95em;line-height:1.5;color:rgba(255,255,255,.86);margin:0 0 1.2em}
.dwf-chamber-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}
.dwf-chamber-mini-stats div{border:1px solid rgba(255,255,255,.20);padding:13px 12px;background:rgba(255,255,255,.06)}
.dwf-chamber-mini-stats strong{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.7em;color:#fff;line-height:1}
.dwf-chamber-mini-stats span{display:block;font-size:.55em;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.68);margin-top:5px}
.dwf-chamber-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dwf-chamber-links a{display:block;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);padding:12px 14px;font-size:.85em;font-weight:900;line-height:1.2;color:#fff}
/* 1.2.47 -- neutral (beige) variant for content about Congress as a whole, not one chamber. Style Guide color rule: there is no overall Congress color, so general Congress content is beige with dark text (Eric, menu feedback 10/29/26, Georgia's "voice in Congress" band: "color rules: beige"). Used on state pages for the federal-delegation band and the State Leadership / Quick Facts panels. */
.dwf-chamber-box.neutral{background:var(--soft,#f4f1ec);color:var(--ink,#171717);border:1px solid var(--rule,#ddd7cf)}
.dwf-chamber-box.neutral img{filter:invert(1) grayscale(1) opacity(.7)}
.dwf-chamber-box.neutral .label{color:var(--muted,#66615b)}
.dwf-chamber-box.neutral h2{color:var(--ink,#171717)}
.dwf-chamber-box.neutral p{color:var(--muted,#66615b)}
.dwf-chamber-box.neutral .dwf-chamber-mini-stats div{border-color:var(--rule,#ddd7cf);background:#fff}
.dwf-chamber-box.neutral .dwf-chamber-mini-stats strong{color:var(--ink,#171717)}
.dwf-chamber-box.neutral .dwf-chamber-mini-stats span{color:var(--muted,#66615b)}
.dwf-chamber-box.neutral .dwf-chamber-links a{border-color:var(--rule,#ddd7cf);background:#fff;color:var(--ink,#171717);text-decoration:none}

/* Process steps (pathway tabs content) -- circular numbered badges with a connecting line */
.dwf-pathway-tabs input{position:absolute;opacity:0;pointer-events:none}
.dwf-pathway-labels{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.dwf-pathway-labels label{flex:1;min-width:150px;border:1px solid var(--rule);border-radius:8px;padding:12px 14px;cursor:pointer}
.dwf-pathway-labels label strong{display:block;font-size:13.5px;margin-bottom:3px}
.dwf-pathway-labels label span{display:block;font-size:12px;color:var(--muted);line-height:1.4}
#dwf-path-bill:checked ~ .dwf-pathway-labels label[for="dwf-path-bill"],
#dwf-path-nomination:checked ~ .dwf-pathway-labels label[for="dwf-path-nomination"],
#dwf-path-treaty:checked ~ .dwf-pathway-labels label[for="dwf-path-treaty"],
#dwf-path-impeachment:checked ~ .dwf-pathway-labels label[for="dwf-path-impeachment"],
#dwf-path-oversight:checked ~ .dwf-pathway-labels label[for="dwf-path-oversight"]{border-color:var(--ink);border-width:2px;background:var(--soft, #f5f2ec)}
#dwf-path-bill:checked ~ .dwf-pathway-labels label[for="dwf-path-bill"] strong::before,
#dwf-path-nomination:checked ~ .dwf-pathway-labels label[for="dwf-path-nomination"] strong::before,
#dwf-path-treaty:checked ~ .dwf-pathway-labels label[for="dwf-path-treaty"] strong::before,
#dwf-path-impeachment:checked ~ .dwf-pathway-labels label[for="dwf-path-impeachment"] strong::before,
#dwf-path-oversight:checked ~ .dwf-pathway-labels label[for="dwf-path-oversight"] strong::before{content:'\25B8\0020'}
.dwf-pathway-panel{display:none}
#dwf-path-bill:checked ~ .dwf-pathway-panels .dwf-pathway-panel.bill,
#dwf-path-nomination:checked ~ .dwf-pathway-panels .dwf-pathway-panel.nomination,
#dwf-path-treaty:checked ~ .dwf-pathway-panels .dwf-pathway-panel.treaty,
#dwf-path-impeachment:checked ~ .dwf-pathway-panels .dwf-pathway-panel.impeachment,
#dwf-path-oversight:checked ~ .dwf-pathway-panels .dwf-pathway-panel.oversight{display:block}
.dwf-process-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;position:relative}
.dwf-process-steps::before{content:'';position:absolute;left:8%;right:8%;top:33px;border-top:2px solid var(--rule)}
.dwf-process-steps>div{position:relative;text-align:center;z-index:1}
.dwf-process-steps .num{margin:0 auto 12px;width:62px;height:62px;border-radius:50%;background:#fff;border:3px solid var(--rule);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:25px;color:var(--rust)}
.dwf-process-steps h3{font-size:.75em;letter-spacing:.13em;text-transform:uppercase;margin:0 0 .5em}
.dwf-process-steps p{font-family:var(--serif);font-size:.9em;line-height:1.32;color:var(--muted);margin:0}

/* Wide quote uses the same .quote/.quote-body/.quote-mark/.quote-text pattern
   from the hero, sized up via .dwf-wide-quote .quote above -- section
   separator, not a decoration, per the docs. */
.dwf-wide-quote{margin:26px 0 42px;text-align:center}

/* Learn More service tabs -- from .resource-switcher/.resource-nav/.resource-btn/.media-list */
.dwf-service-tabs input{position:absolute;opacity:0;pointer-events:none}
.dwf-service-layout{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:34px;margin-top:28px}
.dwf-service-nav{display:flex;flex-direction:column;gap:8px;position:sticky;top:24px}
.dwf-service-nav label{border-left:3px solid transparent;cursor:pointer;font-size:14px;font-weight:700;line-height:1.25;padding:10px 12px}
#dwf-service-committees:checked ~ .dwf-service-layout .dwf-service-nav label[for="dwf-service-committees"],
#dwf-service-drafting:checked ~ .dwf-service-layout .dwf-service-nav label[for="dwf-service-drafting"],
#dwf-service-oversight:checked ~ .dwf-service-layout .dwf-service-nav label[for="dwf-service-oversight"],
#dwf-service-confirmations:checked ~ .dwf-service-layout .dwf-service-nav label[for="dwf-service-confirmations"],
#dwf-service-constituent:checked ~ .dwf-service-layout .dwf-service-nav label[for="dwf-service-constituent"],
.dwf-service-tabs input[data-dwf-tab-url-slug="votes"]:checked ~ .dwf-service-layout .dwf-service-nav label[for$="-votes"],
.dwf-service-tabs input[data-dwf-tab-url-slug="sponsored"]:checked ~ .dwf-service-layout .dwf-service-nav label[for$="-sponsored"],
.dwf-service-tabs input[data-dwf-tab-url-slug="cosponsored"]:checked ~ .dwf-service-layout .dwf-service-nav label[for$="-cosponsored"],
.dwf-service-tabs input[data-dwf-tab-url-slug="committees"]:checked ~ .dwf-service-layout .dwf-service-nav label[for$="-committees"]{border-left-color:currentColor;background:rgba(0,0,0,.04)}
.dwf-service-panel{display:none;border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:30px;box-shadow:0 10px 30px rgba(15,23,42,.04);background:#fff}
#dwf-service-committees:checked ~ .dwf-service-layout .dwf-service-panel.committees,
#dwf-service-drafting:checked ~ .dwf-service-layout .dwf-service-panel.drafting,
#dwf-service-oversight:checked ~ .dwf-service-layout .dwf-service-panel.oversight,
#dwf-service-confirmations:checked ~ .dwf-service-layout .dwf-service-panel.confirmations,
#dwf-service-revenue:checked ~ .dwf-service-layout .dwf-service-panel.revenue,
#dwf-service-constituent:checked ~ .dwf-service-layout .dwf-service-panel.constituent,
.dwf-service-tabs input[data-dwf-tab-url-slug="votes"]:checked ~ .dwf-service-layout .dwf-service-panel.votes,
.dwf-service-tabs input[data-dwf-tab-url-slug="sponsored"]:checked ~ .dwf-service-layout .dwf-service-panel.sponsored,
.dwf-service-tabs input[data-dwf-tab-url-slug="cosponsored"]:checked ~ .dwf-service-layout .dwf-service-panel.cosponsored,
.dwf-service-tabs input[data-dwf-tab-url-slug="committees"]:checked ~ .dwf-service-layout .dwf-service-panel.committees{display:block}
/* 1.2.26 (9/29/26): Congressional Work tabs showed labels only, never a panel.
   render_work_tabs_v2() gives each radio a per-member ID ("dwf-work-{prefix}-votes",
   so two tab sets on one page can't collide), but these rules targeted the bare
   #dwf-work-votes etc., which no element has -- every panel stayed display:none.
   The rules now key off the prefix-free data-dwf-tab-url-slug the radios already
   carry (same attribute the tab-URL JS uses), and labels match on for$="-{key}".
   The Learn More #dwf-service-* rules above are unaffected: that markup
   (class-dwf-congress-pages.php) really does use bare IDs. */
.dwf-service-panel>p{font-size:.95em;line-height:1.55;color:#4b4f54;margin:0 0 22px}
.dwf-media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.4rem}
.dwf-media-item{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.dwf-media-item:nth-last-child(-n+2){border-bottom:0}
.dwf-media-item img{width:34px;height:34px;flex-shrink:0;object-fit:contain;margin-top:.15rem}
.dwf-media-item:last-child{border-bottom:0}
.dwf-media-item img{width:28px;height:28px;object-fit:contain;flex-shrink:0}
.dwf-media-item h4{font-size:1.05em;line-height:1.1;margin:0 0 .25em}
.dwf-media-item p{font-size:.8em;line-height:1.4;color:var(--muted);margin:0}

/* Comparison table -- from .compare-table (grid-based) */
.dwf-compare-table{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;margin:0 0 2.5rem}
.dwf-compare-table>div{padding:16px 18px;font-size:.95em}
.dwf-compare-table .head{font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:.75em;background:#fff}
.dwf-compare-table .house-cell{background:var(--house-soft);color:var(--house);font-weight:900}
.dwf-compare-table .senate-cell{background:var(--senate-soft);color:var(--senate);font-weight:900}

/* Boxless 4-up grid, symmetrical text lengths */
.dwf-plain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:0 0 2.5rem}
.dwf-plain-grid h3{margin:0 0 .5em}
.dwf-plain-grid p{margin:0;color:var(--muted);font-size:.92em;line-height:1.45}
.dwf-chamber-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:0 0 2.5rem}
/* Cancels the base .dwf-chamber-box margin-bottom added above -- the .dwf-chamber-pair
   wrapper (this rule, one line up) already provides its own 2.5rem bottom margin for the
   Congress home page's side-by-side layout, so without this override that page would get
   the spacing twice (once per box, plus once on the wrapper). Standalone House/Senate/State
   pages don't use .dwf-chamber-pair, so they're unaffected and keep the new spacing. */
.dwf-chamber-pair .dwf-chamber-box{grid-template-columns:64px 1fr;gap:18px;padding:28px;margin-bottom:0}
.dwf-chamber-pair .dwf-chamber-box img{width:64px;height:64px}
.dwf-chamber-pair .dwf-chamber-box h2{margin:0 0 .4em;font-size:1.4em}

/* Directory + leadership, paired with matching colored box style */
.dwf-directory-leadership{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 2.5rem;align-items:stretch}
.dwf-directory-leadership .dwf-boxed-panel{display:flex;flex-direction:column}
.dwf-directory-leadership .dwf-boxed-panel-body{flex:1}
.dwf-boxed-panel{border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:#fff}
.dwf-boxed-panel-head{padding:14px 22px}
.dwf-boxed-panel.house .dwf-boxed-panel-head{background:var(--house)}
.dwf-boxed-panel.senate .dwf-boxed-panel-head{background:var(--senate)}
.dwf-boxed-panel.neutral .dwf-boxed-panel-head{background:var(--soft,#f4f1ec);border-bottom:1px solid var(--rule,#ddd7cf)} /* 1.2.47: beige for general content (see .dwf-chamber-box.neutral) */
.dwf-boxed-panel.neutral .dwf-boxed-panel-head :is(h2,h3){color:var(--ink,#171717)}
.dwf-boxed-panel-head h2,.dwf-boxed-panel-head h3{margin:0;font-size:.85em;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.dwf-boxed-panel-body{padding:18px 22px}
.dwf-boxed-panel-body>p{margin:0 0 1em;font-size:.9em;color:var(--muted)}
.dwf-state-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.6rem .4rem}
.dwf-state-grid a{font-size:.9em;font-weight:800;line-height:1.3;color:var(--ink)}
.dwf-leadership-role{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--rule)}
.dwf-leadership-role:last-child{border-bottom:0}
.dwf-leadership-role .num{font-size:1.4em;font-style:italic;color:var(--rust);flex:0 0 24px;line-height:1.2;margin-top:2px;font-family:var(--serif)}
.dwf-leadership-role h4{font-size:.9em;font-weight:800;margin:0 0 .25em;line-height:1.3}
.dwf-leadership-role p{font-size:.82em;color:var(--muted);margin:0;line-height:1.4}

/* Official Links -- media-item style row list, two columns */
.dwf-official-links{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:0 0 2.5rem}
.dwf-official-links a{display:grid;grid-template-columns:190px 1fr 18px;gap:16px;align-items:start;border-top:1px solid var(--rule);padding:13px 0}
.dwf-official-links a h3{font-size:.95em;line-height:1.15;color:var(--rust);font-weight:900;margin:0}
.dwf-official-links a p{font-size:.8em;line-height:1.35;color:var(--muted);margin:0}
.dwf-official-links a span{color:var(--rust);font-weight:900;text-align:right}

@media (max-width:900px){
  .dwf-family-hero,.dwf-service-layout,.dwf-directory-leadership,.dwf-chamber-box{grid-template-columns:1fr}
  .dwf-stat-strip{grid-template-columns:repeat(3,1fr)}
  .dwf-process-steps{grid-template-columns:repeat(3,1fr)}
  .dwf-process-steps::before{display:none}
  .dwf-plain-grid,.dwf-chamber-links,.dwf-chamber-mini-stats,.dwf-official-links,.dwf-media-list{grid-template-columns:1fr}
  .dwf-media-item:nth-last-child(-n+2){border-bottom:1px solid var(--rule)}
  .dwf-media-item:last-child{border-bottom:0}
  .dwf-state-grid{grid-template-columns:repeat(4,1fr)}
  .dwf-compare-table{grid-template-columns:1fr}
  .dwf-flow-chain{flex-direction:column}
  .dwf-flow-arrow{width:100%;height:28px;transform:rotate(90deg)}
  .dwf-leadership-grid{grid-template-columns:1fr}
}

/* Process-flow arrow chain -- from the docs, boxes connected across a real
   sequence, each box in its own correct color per the process-flow
   exception (a real process naturally moving through more than one
   chamber's color is expected, not a violation). Used on the Congress
   overview page for "how a bill becomes law" across both chambers. */
.dwf-flow-chain{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;margin:20px 0 42px}
.dwf-flow-chain .flow-box{flex:1;min-width:160px;border-radius:10px;color:#fff;padding:16px 18px}
.dwf-flow-chain .flow-box span{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin-bottom:4px}
.dwf-flow-chain .flow-box strong{display:block;font-size:14.5px;line-height:1.3}
.dwf-flow-arrow{display:flex;align-items:center;justify-content:center;width:44px;font-size:20px;color:var(--muted);flex-shrink:0}

/* Leadership list -- two columns, one per chamber, each header colored to
   its chamber. From the docs; used on the Congress overview page in place
   of the directory+leadership pairing the single-chamber pages use. */
.dwf-leadership-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 2.5rem}
.dwf-leadership-col{border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.dwf-leadership-col h3{margin:0;padding:12px 18px;color:#fff;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.dwf-leadership-col ol{list-style:none;counter-reset:lead;margin:0;padding:6px 18px 14px}
.dwf-leadership-col li{counter-increment:lead;position:relative;padding:12px 0 12px 26px;border-top:1px solid var(--rule)}
.dwf-leadership-col li:first-child{border-top:0}
.dwf-leadership-col li::before{content:counter(lead);position:absolute;left:0;top:12px;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:15px}
.dwf-leadership-col strong{display:block;font-size:14px;margin-bottom:.2em}
.dwf-leadership-col span{display:block;font-size:.82em;color:var(--muted);line-height:1.4}

/* Rep profile: hero fact row (Party/State/Chamber/Term Ends) */
.dwf-fact-row{display:flex;flex-wrap:wrap;gap:1.6rem 2.2rem;margin:.8rem 0 0}
.dwf-fact-row div{font-size:.85em}
.dwf-fact-row b{display:block;font-weight:900;letter-spacing:.1em;text-transform:uppercase;font-size:.7em;color:var(--rust);margin-bottom:.3em}

/* Rep profile: Congressional Work list entries (votes, bills) -- text
   rows, not icon cards, since each entry is a specific record rather
   than a topic description */
.dwf-work-list{display:grid;gap:0}
.dwf-work-item{display:block;padding:12px 0;border-bottom:1px solid var(--rule)}
.dwf-work-item:last-child{border-bottom:0}
.dwf-work-item a{color:var(--ink);font-weight:700;font-size:.92em;line-height:1.4}
.dwf-work-item .meta{display:block;font-size:.78em;color:var(--muted);margin-top:.25em;font-weight:400}
.dwf-work-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:.85em}
.dwf-work-updated{font-size:.78em;color:var(--muted);margin-top:10px}

/* 1.2.47 -- state page delegation as member cards (same card as the address lookup results, Eric 10/29/26). Four across on wide screens. */
.dwf-delegation-cards.dwf-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:1.25rem 0 2.5rem}
.dwf-delegation-cards .dwf-member-card{display:flex;gap:14px;align-items:center;padding:0;border:0;box-shadow:none;background:transparent}
.dwf-delegation-cards .dwf-member-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:0 0 64px}
.dwf-delegation-cards .dwf-member-body h3{margin:0 0 .2em;font-size:1.1em;line-height:1.2}
.dwf-delegation-cards .dwf-member-body h3 a{color:var(--ink,#171717);text-decoration:none}
.dwf-delegation-cards .dwf-member-body h3 a:hover{text-decoration:underline}
.dwf-delegation-cards .dwf-member-body p{margin:0;font-size:.85em;line-height:1.4;color:var(--muted,#66615b)}
@media (max-width:1000px){.dwf-delegation-cards.dwf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.dwf-delegation-cards.dwf-card-grid{grid-template-columns:1fr}}
/* WRM feedback 10/30/26 (Grok 55415): state page polish */
.dwf-family-hero__title {
  margin: 0 0 0.5em;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: var(--ink, #171717);
}
.dwf-leadership-col ul,
.dwf-leadership-col ol,
.dwf-quick-facts ul,
.dwf-stat-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.dwf-leadership-role,
.dwf-quick-facts li {
  list-style: none;
}
/* Bigger numbers on quick facts / stat strip */
.dwf-stat-strip strong {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  line-height: 1.1;
  display: block;
  margin: 0.25em 0;
}
.dwf-family-page a {
  color: var(--dwf-red, #9C2140);
}
.dwf-family-page a:hover {
  color: var(--ink, #171717);
}
/* Soft section headers */
.dwf-family-page .dwf-panel-head,
.dwf-family-page .dwf-section-label,
.dwf-leadership-col > h2,
.dwf-quick-facts > h2 {
  background: var(--soft, #f4f1ec);
}
/* Less chrome on official links */
.dwf-family-page .dwf-media-item {
  border-bottom-color: var(--rule, #ded8cf);
}

/* Ported from WRM 3.4.15 */
Feedback pass 2026-11-01 (Grok 55415): semantic-friendly, no fixed layout traps --- */
.dwf-family-page,
.dwf-plugin-state-profile-template {
  max-width: none;
}
.dwf-family-hero {
  display: block;
  padding-bottom: 1.5rem;
}
.dwf-family-hero__title {
  margin: 0 0 0.5rem;
  font-size: 1.75rem;
  line-height: 1.2;
  font-weight: 700;
  color: inherit;
}
.dwf-intro-lead {
  font-weight: 600;
  margin: 0 0 0.75rem;
}
.dwf-stat-strip {
  display: block;
  margin: 1.25rem 0;
  padding: 0;
  border: 0;
}
.dwf-stat-strip > div {
  display: inline-block;
  vertical-align: top;
  margin: 0 1.5rem 1rem 0;
}
.dwf-stat-strip b {
  display: block;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9C2140;
  margin: 0 0 0.25rem;
}
.dwf-stat-strip strong {
  display: block;
  font-size: 1.75rem;
  line-height: 1.1;
  margin: 0 0 0.15rem;
  color: inherit;
}
.dwf-stat-strip span {
  display: block;
  font-size: 0.9rem;
  color: #5d5852;
}
.dwf-stat-strip .dwf-stat-note {
  display: block;
  font-size: 0.85rem;
  font-style: italic;
  color: #5d5852;
  margin-top: 0.35rem;
}
/* State leadership / quick facts: beige headers, no bullets, no row rules */
.dwf-directory-leadership .dwf-boxed-panel-head,
.dwf-boxed-panel.house .dwf-boxed-panel-head,
.dwf-boxed-panel.senate .dwf-boxed-panel-head,
.dwf-boxed-panel-head {
  background: #f5f2ec !important;
  color: #171717 !important;
  padding: 0.65rem 1rem;
}
.dwf-boxed-panel-head h2,
.dwf-boxed-panel-head h3 {
  color: #171717 !important;
  margin: 0;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.dwf-leadership-role {
  display: block;
  padding: 0.65rem 0;
  border: 0 !important;
  border-bottom: 0 !important;
  list-style: none;
}
.dwf-leadership-role .num {
  display: none !important;
}
.dwf-leadership-role h4 {
  margin: 0 0 0.15rem;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #5d5852;
  font-weight: 700;
}
.dwf-leadership-role p {
  margin: 0;
  font-size: 1.05rem;
}
/* Official links: same weight/color for every anchor */
.dwf-family-page .dwf-media-item,
.dwf-official-links .dwf-media-item {
  display: block;
  padding: 0.65rem 0;
  border: 0;
  border-bottom: 1px solid #ded8cf;
}
.dwf-family-page .dwf-media-item a,
.dwf-official-links a,
.dwf-family-page a {
  color: #9C2140;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
}
.dwf-family-page a:hover,
.dwf-official-links a:hover {
  color: #171717;
  text-decoration: underline;
}
.dwf-media-item span,
.dwf-media-item .dwf-media-desc {
  display: block;
  font-size: 0.9rem;
  font-weight: 400;
  color: #5d5852;
}

.dwf-capitol-icon { width: 6rem; height: auto; }
.dwf-plain-grid--4 { display: block; }
.dwf-plain-grid--4 > * { display: inline-block; vertical-align: top; margin: 0 1rem 1rem 0; }

/* double-title-guard 2026-11-01: if theme prints entry-title, hide plugin hero H1 */
body:has(.entry-title) .dwf-family-hero__title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}


/* Plugin state template owns the title — hide theme duplicate bars */
body.dwf-plugin-owns-title .entry-title,
body.dwf-plugin-owns-title .fusion-page-title-bar,
body.dwf-plugin-owns-title .page-title,
body.dwf-state-profile-template .entry-header .entry-title {
  /* Theme may still emit a title node; hide only when plugin template rendered one */
}
body.dwf-plugin-owns-title.dwf-state-profile-template .entry-title:not(.dwf-page-title) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}


/* When a plugin template owns the title, hide theme title chrome */
body.dwf-plugin-owns-title .fusion-page-title-bar,
body.dwf-plugin-owns-title .fusion-page-title-wrapper,
body.dwf-plugin-owns-title .entry-header .entry-title,
body.dwf-plugin-owns-title .page-title:not(.dwf-page-title) {
  /* Prefer clip over display:none for accessibility when theme still emits a node */
}
body.dwf-plugin-owns-title .entry-header .entry-title,
body.dwf-plugin-owns-title .fusion-page-title-row {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}
