/* /guides/ (Learn / Compare / Decide): guide-only elements. Built by scripts/build-funnel-guides.mjs.
   Base type, links, lists and headings come from msbh-enhance.css (.msbh-rich); colors match the site. */

/* Hero, same as the /guide/ pages */
.msbh-hub-hero { background:#16232b; padding:152px 20px 56px; }
.msbh-hub-hero__inner { max-width:1140px; margin:0 auto; padding:0 20px; }
.msbh-hub-hero h1 { margin:0 0 16px; font-size:clamp(30px,4.2vw,44px); line-height:1.15; color:#fff; overflow-wrap:anywhere; }
.msbh-hub-hero p { margin:0 0 12px; max-width:75ch; font-size:18px; line-height:1.7; color:#d9e2d6; }
.page-content .msbh-hub-hero a:not(.elementor-button), .msbh-hub-hero a { color:#fff; text-decoration:underline; text-underline-offset:2px; }
.msbh-guide-crumbs { font-size:15px; margin-bottom:10px; color:#d9e2d6; }
.msbh-fg-meta { font-size:15px !important; color:#b9c7b4 !important; }
.msbh-fg-jump { font-weight:600; }
@media (max-width:1024px) { .msbh-hub-hero { padding:120px 20px 44px; } }
@media (max-width:640px) { .msbh-hub-hero { padding:104px 16px 36px; } .msbh-hub-hero__inner { padding:0; } .msbh-hub-hero p { font-size:16px; } }

/* Body */
.page-content .msbh-rich a:not(.elementor-button) { color:#365C13; }
.page-content .msbh-rich a:not(.elementor-button):hover,
.page-content .msbh-rich a:not(.elementor-button):focus-visible { color:#24400c; }
.msbh-fg { padding-top:32px; overflow-wrap:break-word; }
@media (max-width:640px) { .msbh-fg { padding-left:16px; padding-right:16px; } }
.msbh-fg-label { font-weight:700; color:#16232b; text-transform:uppercase; letter-spacing:.06em; font-size:14px; margin:0 0 8px !important; }
.msbh-fg-chip { display:inline-block; background:#9cc26b; color:#16232b; font-weight:700; font-size:13px; line-height:1; padding:5px 9px; border-radius:999px; margin-right:6px; vertical-align:middle; }
.msbh-fg-small { font-size:15px; color:#5a6b5e; }

.msbh-fg-answer { background:#f6f8f4; border:1px solid #d5e2c8; border-left:5px solid #365C13; border-radius:12px; padding:18px 22px 4px; margin:0 0 18px; }
.msbh-fg-answer p:last-child { font-size:18px; line-height:1.65; }
.msbh-fg-crisisline { background:#fff7e8; border:1px solid #f0dcb2; border-radius:10px; padding:12px 16px; font-size:16px; }
.msbh-fg-notfor { border:1px solid #e4ebdd; border-radius:12px; padding:16px 22px 6px; margin:0 0 20px; }
.msbh-fg-notfor ul { margin:0 0 10px; padding-left:22px; }
.msbh-fg-notfor li { margin-bottom:8px; }
.msbh-fg-toc { background:#f6f8f4; border:1px solid #e4ebdd; border-radius:12px; padding:16px 22px 8px; margin:0 0 8px; }
.msbh-fg-toc ol { margin:0 0 8px; padding-left:22px; column-width:280px; column-gap:28px; }
.msbh-fg-toc li { margin:0 0 6px; break-inside:avoid; }
.msbh-fg .msbh-rich__h2 { scroll-margin-top:110px; }

/* Decision table: scrolls inside its own frame on phones, never the page */
.msbh-fg-table { margin:28px 0; }
.msbh-fg-table figcaption { font-weight:700; color:#16232b; margin:0 0 10px; }
.msbh-fg-tablewrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid #d5e2c8; border-radius:12px; }
.msbh-fg-tablewrap:focus-visible { outline:2px solid #365C13; outline-offset:2px; }
.msbh-fg-table table { width:100%; min-width:560px; border-collapse:collapse; margin:0; font-size:16px; line-height:1.5; }
.msbh-fg-table th, .msbh-fg-table td { text-align:left; vertical-align:top; padding:12px 14px; border-bottom:1px solid #e4ebdd; }
.msbh-fg-table thead th { background:#16232b; color:#fff; font-weight:700; }
.msbh-fg-table tbody th { background:#f6f8f4; color:#16232b; font-weight:700; min-width:140px; }
.msbh-fg-table tbody tr:last-child th, .msbh-fg-table tbody tr:last-child td { border-bottom:0; }

/* FAQ: visible questions and answers, matching the site's FAQ pattern */
.msbh-fg-faq { border-top:1px solid #e4ebdd; }
.msbh-fg-faq h3 { font-size:20px; line-height:1.35; margin:22px 0 8px; color:#16232b; }

/* Next step */
.msbh-fg-next { background:#16232b; color:#e8eee5; border-radius:14px; padding:22px 24px 20px; margin:36px 0 12px; }
.msbh-fg-next .msbh-fg-label { color:#9cc26b; }
.msbh-fg-next p { color:#e8eee5; }
.page-content .msbh-rich .msbh-fg-next a:not(.msbh-guide-btn) { color:#fff; }
.msbh-fg-actions { display:flex; flex-wrap:wrap; gap:12px 16px; align-items:center; }
.page-content .msbh-rich a.msbh-guide-btn, .msbh-guide-btn { display:inline-block; padding:12px 22px; border-radius:8px; background:#365C13; color:#fff !important; font-weight:700; text-decoration:none; }
.msbh-fg-next a.msbh-guide-btn { background:#9cc26b; color:#16232b !important; }
.page-content .msbh-rich a.msbh-guide-btn:hover, .page-content .msbh-rich a.msbh-guide-btn:focus-visible { background:#24400c; color:#fff !important; }
.page-content .msbh-rich a.msbh-fg-ghost { display:inline-block; padding:10px 18px; border:2px solid currentColor; border-radius:8px; font-weight:700; text-decoration:none; }
.page-content .msbh-rich .msbh-fg-next a.msbh-fg-ghost { color:#fff; }

/* Related, crisis, sources */
.msbh-fg-related { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:0 32px; }
.msbh-fg-crisis { background:#fff7e8; border:1px solid #f0dcb2; border-radius:12px; padding:4px 24px 8px; margin:32px 0 12px; }
.msbh-fg-crisis .msbh-rich__h2 { margin-top:18px; font-size:clamp(22px,2.6vw,28px); }
.msbh-fg-crisis ul { padding-left:22px; }
.msbh-fg-crisis li { margin-bottom:10px; }
.msbh-fg-sources { margin-top:28px; font-size:16px; }
.msbh-fg-sources ul { padding-left:22px; }
.msbh-fg-sources li { margin-bottom:8px; }

/* Hub */
.msbh-fg-group { margin-top:12px; }
.msbh-fg-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin:16px 0 18px; padding:0; list-style:none; }
.msbh-fg-cards li { margin:0; }
.page-content .msbh-rich a.msbh-fg-card { display:flex; flex-direction:column; gap:8px; height:100%; box-sizing:border-box; background:#f6f8f4; border:1px solid #e4ebdd; border-radius:12px; padding:18px 20px; text-decoration:none; color:#16232b; }
.page-content .msbh-rich a.msbh-fg-card:hover, .page-content .msbh-rich a.msbh-fg-card:focus-visible { border-color:#365C13; }
.msbh-fg-card .msbh-fg-chip { align-self:flex-start; }
.msbh-fg-card__h { font-weight:700; font-size:18px; color:#365C13; text-decoration:underline; text-underline-offset:2px; }
.msbh-fg-card__p { font-size:16px; line-height:1.55; color:#3b4a40; }
.msbh-fg-also { border-left:3px solid #9cc26b; padding:2px 0 2px 16px; margin-bottom:12px; }
.msbh-fg-also ul { margin:0; padding-left:20px; }
.msbh-fg-also li { margin-bottom:6px; }
