/* Public articles inherit the same type, palette and chrome as the hub. */
.search-page a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.search-main{min-width:0}
.search-intro{margin:6.4px 0 20.8px}
.search-intro h1{font-size:1.8rem;line-height:1.35;margin:4px 0 6.4px}
.search-intro>p{font-size:1rem;color:var(--muted)}
.search-kicker{font-size:.72rem!important;letter-spacing:.17em;color:var(--green)!important;font-weight:750}
.search-actions{display:flex;gap:9.6px;flex-wrap:wrap;margin-top:22.4px}
.search-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:8px 14.4px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--mint);color:var(--green);font-size:.875rem;font-weight:650}
.search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19.2px}
.search-card{display:flex;flex-direction:column;padding:22.4px;border:1px solid var(--line);border-radius:14px;background:var(--paper);min-width:0}
.search-card h2{font-size:1.16rem;line-height:1.65;margin:6.4px 0 0;word-break:keep-all;overflow-wrap:anywhere}
.search-card h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.search-card p{font-size:.96rem;line-height:1.85;color:var(--muted);margin:9.6px 0 17.6px;overflow-wrap:anywhere}
.search-meta,.search-helper{font-size:.79rem;color:var(--muted);line-height:1.6}
.search-read{font-size:.85rem;font-weight:650;color:var(--green);margin-top:auto;align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;gap:4px}
.search-filters,.search-pagination{display:flex;flex-wrap:wrap;gap:9.6px;align-items:center;margin:19.2px 0}
.search-filters a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6.4px 12.8px;border:1px solid var(--line);border-radius:var(--control-radius);font-size:.875rem;background:var(--paper)}
.search-filters a[aria-current]{background:var(--mint);border-color:var(--green);color:var(--green);font-weight:700}
.search-pagination{justify-content:center;font-size:.85rem;color:var(--muted);margin-top:25.6px}
.search-pagination a{min-height:44px;display:inline-flex;align-items:center;color:var(--green);font-weight:650;padding:6.4px 12.8px}
.search-panel,.search-article{padding:22.4px;border:1px solid var(--line);border-radius:14px;background:var(--paper);min-width:0}
.search-panel h2{font-size:1.12rem;margin:24px 0 6.4px}.search-panel h2:first-child{margin-top:0}
.search-panel p{margin:6.4px 0 16px;line-height:1.85;color:var(--muted)}
.search-article{max-width:960px;margin:auto}
.search-breadcrumb{font-size:.79rem;margin-bottom:16px;color:var(--muted);overflow-wrap:anywhere}
.search-breadcrumb a,.search-sources a{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.search-article h1{font-size:1.8rem;line-height:1.45;margin:7px 0 6.4px;word-break:keep-all;overflow-wrap:anywhere}
.search-summary{font-size:1rem;line-height:1.85;padding:16px;background:var(--mint);border-left:3px solid var(--green);border-radius:var(--control-radius);margin:14.4px 0 9.6px}
.search-article header .search-helper{margin-top:12.8px}
.search-prose{margin-top:28px;overflow-wrap:anywhere}.search-prose p{margin:14.4px 0;line-height:1.85}
.search-prose h2{font-size:1.25rem;line-height:1.5;margin:28.8px 0 8px}
.search-sources,.search-audio{border-top:1px solid var(--line);margin-top:25.6px;padding-top:19.2px}
.search-sources h2,.search-audio h2,.search-related>h2{font-size:1.12rem;margin:0 0 9.6px}
.search-sources ol{padding-left:23px;overflow-wrap:anywhere;font-size:.9rem}.search-sources li{margin:8px 0}
.search-sources li span{font-size:.75rem;color:var(--muted)}
.search-audio audio{width:100%;max-width:560px}.search-audio .search-helper{margin-bottom:0}.search-related{margin-top:28.8px}
.search-visual{margin:22.4px 0;background:var(--ground);border:1px solid var(--line);border-radius:var(--control-radius);padding:17.6px}
.search-visual figcaption{font-weight:700;margin-bottom:9.6px}
.search-visual table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.85rem}
.search-visual th,.search-visual td{padding:8px 6.4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.search-visual th{background:var(--mint);color:var(--muted)}
.search-flow{padding-left:20px}.search-flow li{margin:7px 0}
.search-correction{background:var(--mint);border:1px solid var(--line);padding:12.8px;border-radius:var(--control-radius);margin:12.8px 0}
.search-price-chart{width:100%;height:auto;display:block;color:var(--green)}.search-price-chart text{fill:currentColor}.search-price-chart polyline{stroke:currentColor}
@media(max-width:780px){.search-grid{grid-template-columns:1fr}}
@media(max-width:640px){
 .search-intro{margin-bottom:16px}.search-intro h1,.search-article h1{font-size:1.45rem}.search-intro>p{font-size:.87rem}
 .search-card,.search-panel,.search-article{padding:16px}.search-card h2{font-size:1.03rem}.search-card p{font-size:.91rem}
 .search-summary{font-size:.93rem;padding:12.8px}.search-prose h2{font-size:1.12rem}
 .search-visual{padding:12px;margin:18px 0}.search-actions a{width:100%;justify-content:center}
 .search-visual table,.search-visual tbody,.search-visual tr,.search-visual td{display:block;width:100%}
 .search-visual thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .search-visual tr{margin:0 0 14px;border:1px solid var(--line);border-radius:8px;padding:7px}
 .search-visual td{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;border:0;padding:6px}
 .search-visual td::before{content:attr(data-label);font-weight:700;color:var(--muted)}
}

/* Approved website affiliate cards, separate from editorial briefing panels. */
.mw-affiliate{min-width:0;margin:24px 0;padding:22px;border:1px solid #d8d9cb;border-radius:14px;background:#f5f2e8;color:var(--ink)}
.hub-stack>.mw-affiliate{margin:0}
.mw-affiliate-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.mw-affiliate-heading h2{font-size:1.45rem;line-height:1.3;margin:0}
.mw-affiliate-heading p{font-size:.75rem;line-height:1.5;margin:4px 0 0;color:#596957}
.mw-affiliate-badge{flex:none;display:inline-block;padding:4px 8px;background:#ebe0c4;color:#655019;border-radius:5px;font-size:.75rem;font-weight:700}
.mw-affiliate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mw-affiliate-card{min-width:0;display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.mw-affiliate-card h3{font-size:1.1rem;line-height:1.4;margin:0}
.mw-affiliate-card p{font-size:.88rem;color:var(--muted);line-height:1.65;overflow-wrap:anywhere;margin:9px 0 18px}
.mw-affiliate-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:auto;padding:9px 14px;border-radius:var(--control-radius);background:var(--green);color:#fff!important;font-size:.86rem;font-weight:700;text-decoration:none}
.mw-affiliate-cta:hover{filter:brightness(.93)}
.mw-affiliate-cta:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.mw-affiliate-disclosure{margin:14px 0 0;font-size:.78rem;line-height:1.65;color:#62573e;overflow-wrap:anywhere}
@media(max-width:640px){.mw-affiliate{padding:16px}.mw-affiliate-grid{grid-template-columns:1fr;gap:10px}.mw-affiliate-card{padding:16px}.mw-affiliate-heading h2{font-size:1.3rem}.mw-affiliate-heading p{font-size:.7rem}.mw-affiliate-disclosure{font-size:.75rem}}
