/* SocioResearchHub Tools — directory + interactive Tool shell. */
.srh-tools-directory,
.srh-individual-tool { background: var(--srh-page); color: var(--srh-text); }

/* Directory hero */
.srh-tools-hero { overflow:hidden; background:radial-gradient(circle at 80% 20%,rgba(96,165,250,.18),transparent 28%),linear-gradient(90deg,#fbfdff 0%,#eff7ff 62%,#f9fcff 100%); border-bottom:1px solid var(--srh-border); }
.srh-tools-hero-grid { min-height:240px; display:grid; grid-template-columns:1.02fr .98fr; gap:38px; align-items:center; padding-block:26px; }
.srh-tools-hero h1 { margin:0 0 10px; font-size:clamp(38px,4vw,48px); line-height:1.04; font-weight:800; }
.srh-tools-hero h1 span { color:var(--srh-blue); }
.srh-tools-hero-lede { max-width:670px; margin-bottom:16px; color:#536b91; font-size:16px; line-height:1.5; }
.srh-tools-trust { display:flex; flex-wrap:wrap; gap:18px; color:#61779b; font-size:13px; }
.srh-tools-trust span { display:inline-flex; align-items:center; gap:7px; }
.srh-tools-trust .srh-icon { color:var(--srh-blue); width:19px; height:19px; }
.srh-tools-hero-visual { display:flex; justify-content:flex-end; }
.srh-tools-visual-card { width:min(470px,100%); min-height:174px; padding:20px 22px; position:relative; overflow:hidden; background:rgba(255,255,255,.95); border:1px solid #d8e5f5; border-radius:16px; box-shadow:0 10px 30px rgba(23,63,128,.09); }
.srh-tools-visual-card::after { content:""; position:absolute; width:180px; height:180px; right:-45px; top:-70px; border-radius:50%; background:#eef5ff; }
.srh-tools-visual-icon { width:42px; height:42px; display:grid; place-items:center; position:relative; z-index:1; margin-bottom:10px; border-radius:11px; background:#eaf3ff; color:var(--srh-blue); }
.srh-tools-visual-icon .srh-icon { width:23px; height:23px; }
.srh-tools-visual-card > strong { max-width:360px; display:block; position:relative; z-index:1; color:var(--srh-navy); font-size:17px; line-height:1.3; }
.srh-tools-visual-flow { display:flex; align-items:center; gap:7px; margin-top:16px; position:relative; z-index:1; }
.srh-tools-visual-flow span { padding:6px 9px; background:#f5f9ff; border:1px solid #dce8f7; border-radius:8px; color:#425b84; font-size:10.5px; font-weight:700; }
.srh-tools-visual-flow i { color:#8aa2c2; font-style:normal; }

/* Category navigation */
.srh-tool-category-chips { display:flex; gap:10px; overflow-x:auto; padding:20px 0 16px; scrollbar-width:thin; }
.srh-tool-category-chips a { min-height:44px; display:inline-flex; align-items:center; gap:8px; flex:none; padding:0 17px; border:1px solid var(--srh-border); border-radius:999px; background:#fff; color:var(--srh-navy); font-size:13px; font-weight:700; }
.srh-tool-category-chips a small { min-width:20px; height:20px; display:grid; place-items:center; padding-inline:5px; border-radius:999px; background:#edf3fb; color:#6a7e9e; font-size:10px; }
.srh-tool-category-chips a.is-active { border-color:var(--srh-blue); background:var(--srh-blue); color:#fff; box-shadow:0 8px 20px rgba(23,105,247,.18); }
.srh-tool-category-chips a.is-active small { background:rgba(255,255,255,.18); color:#fff; }
.srh-tool-category-chips a.is-empty:not(.is-active) { opacity:.7; }

/* Featured Tool */
.srh-tool-featured { margin:8px 0 28px; display:grid; grid-template-columns:1.08fr .92fr; align-items:stretch; overflow:hidden; background:linear-gradient(110deg,#fff 0%,#f9fcff 55%,#eff6ff 100%); border:1px solid #dce7f4; border-radius:18px; box-shadow:0 12px 35px rgba(33,72,130,.08); }
.srh-tool-featured-copy { padding:30px 32px; }
.srh-tool-featured-label { display:block; margin-bottom:9px; color:var(--srh-blue); font-size:11px; font-weight:800; letter-spacing:.1em; }
.srh-tool-featured h2 { margin-bottom:10px; font-size:30px; line-height:1.15; }
.srh-tool-featured p { max-width:680px; color:#5d7395; font-size:15px; line-height:1.6; }
.srh-tool-badges { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 2px; }
.srh-tool-badges span { display:inline-flex; min-height:28px; align-items:center; padding:0 10px; border:1px solid transparent; border-radius:999px; background:#edf5ff; color:#3b6297; font-size:11px; font-weight:750; }
.srh-tool-badge-free { background:#eafaf4; color:#087a57; border-color:#c8efe1 !important; }
.srh-tool-badge-privacy { background:#edf5ff; color:#245f9b; border-color:#d6e7fb !important; }
.srh-tool-badge-methodology { background:#f4efff; color:#6d48a8; border-color:#e6dafa !important; }
.srh-tool-badge-time,.srh-tool-badge-neutral { background:#f4f6f9; color:#61718a; border-color:#e1e6ee !important; }
.srh-tool-featured-preview { min-height:260px; display:grid; grid-template-columns:auto 1fr; gap:12px; align-content:center; padding:34px; background:linear-gradient(145deg,#eaf3ff,#f7fbff); border-left:1px solid #deebf8; }
.srh-tool-featured-icon { width:56px; height:56px; display:grid; place-items:center; grid-row:1/3; color:var(--srh-blue); background:#fff; border:1px solid #d9e7f8; border-radius:14px; box-shadow:var(--srh-shadow-sm); }
.srh-tool-featured-icon .srh-icon { width:31px; height:31px; }
.srh-tool-featured-preview small { display:block; color:#7a8ead; font-size:11px; }
.srh-tool-featured-preview strong { display:block; color:var(--srh-navy); font-size:18px; line-height:1.35; }
.srh-tool-preview-lines { grid-column:1/-1; display:grid; gap:8px; margin:12px 0 6px; }
.srh-tool-preview-lines i { height:10px; border-radius:5px; background:rgba(255,255,255,.95); border:1px solid #dce8f6; }
.srh-tool-preview-lines i:nth-child(2) { width:82%; }
.srh-tool-preview-lines i:nth-child(3) { width:67%; }
.srh-tool-preview-button { grid-column:1/-1; justify-self:start; padding:9px 13px; background:var(--srh-blue); color:#fff; border-radius:8px; font-size:11px; font-weight:800; }

/* v0.6.7 — aligned, compact and accessible Tools directory controls. */
.srh-tool-directory-main { padding:0 0 22px; }
.srh-tool-toolbar { display:grid; gap:12px; margin-bottom:12px; }
.srh-tool-search-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; width:min(760px,100%); }
.srh-tool-search-field { position:relative; display:block; min-width:0; }
.srh-tool-search-icon { position:absolute; z-index:1; left:14px; top:50%; transform:translateY(-50%); color:#7890b2; pointer-events:none; }
.srh-tool-search-form input[type="search"] { box-sizing:border-box; height:44px; width:100%; margin:0; padding:0 16px 0 44px; border:1px solid #cfdaea; border-radius:10px; background:#fff; color:var(--srh-navy); font:inherit; }
.srh-tool-search-form > button { min-height:44px; margin:0; }
.srh-tool-filter-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; }
.srh-tool-filter-form { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.srh-tool-filter-form select { box-sizing:border-box; min-height:44px; max-width:100%; margin:0; padding:0 36px 0 12px; border:1px solid #cfdaea; border-radius:9px; background-color:#fff; color:var(--srh-navy); font:inherit; font-size:13px; }
.srh-tool-filter-form select:first-of-type { min-width:186px; }
.srh-tool-filter-form select:nth-of-type(2) { min-width:155px; }
.srh-tool-filter-apply { min-height:44px; padding:0 15px; border:1px solid #cfdaea; border-radius:9px; background:#f5f8fd; color:var(--srh-navy); font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.srh-tool-filter-apply:hover { background:#edf4ff; border-color:#b8cff0; }
.srh-tool-filter-form.is-auto-filter .srh-tool-filter-apply { display:none; }
.srh-tool-result-count { margin:0; color:#667a9b; font-size:13px; }
.srh-tool-search-form input:focus-visible,.srh-tool-filter-form select:focus-visible,.srh-tool-filter-apply:focus-visible { outline:2px solid var(--srh-blue); outline-offset:2px; }
.srh-tool-featured { margin-bottom:24px; }
.srh-tool-featured-copy { padding:28px 32px; }
.srh-tool-featured p { margin-bottom:0; }
.srh-tool-badges { gap:8px; margin:16px 0 14px; }
.srh-tool-featured-copy > .srh-button { display:inline-flex; align-items:center; min-height:44px; }
.srh-tool-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.srh-tool-card-grid.is-single-result { grid-template-columns:minmax(300px,390px); }
.srh-tool-card { min-width:0; min-height:285px; display:flex; flex-direction:column; padding:20px; background:#fff; border:1px solid #dce6f2; border-radius:14px; box-shadow:0 5px 18px rgba(32,67,120,.05); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.srh-tool-card:hover { transform:translateY(-2px); border-color:#b9d1f4; box-shadow:0 12px 28px rgba(32,67,120,.09); }
.srh-tool-card-top { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-bottom:14px; }
.srh-tool-card-icon { width:47px; height:47px; display:grid; place-items:center; border-radius:11px; background:#edf5ff; color:var(--srh-blue); }
.srh-tool-card-icon .srh-icon { width:25px; height:25px; }
.srh-tool-free { padding:5px 8px; border-radius:999px; background:#eafaf4; color:#087a57; font-size:10px; font-weight:800; }
.srh-tool-card h2 { margin-bottom:7px; font-size:18px; line-height:1.28; }
.srh-tool-card p { flex:1; margin-bottom:14px; color:#647899; font-size:13px; line-height:1.55; }
.srh-tool-card-meta { display:flex; flex-wrap:wrap; gap:7px 12px; margin-bottom:15px; color:#7a8ba7; font-size:10.5px; }
.srh-tool-card-meta span { position:relative; }
.srh-tool-card-meta span + span::before { content:"•"; position:absolute; left:-8px; color:#b1c0d5; }
.srh-tool-card-actions { margin-top:auto; }
.srh-tool-empty { padding:54px 24px; text-align:center; background:#fff; border:1px dashed #cddced; border-radius:14px; }
.srh-tool-empty > span { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 12px; border-radius:50%; background:#eef5ff; color:var(--srh-blue); }
.srh-tool-empty h2 { margin-bottom:7px; font-size:22px; }
.srh-tool-empty p { color:#6d819f; }

/* Recommended pathway */
.srh-tool-pathway { margin:24px 0 44px; padding:28px; border:1px solid #dce8f5; border-radius:16px; background:linear-gradient(100deg,#f4f9ff,#fbfdff); }
.srh-tool-pathway-head > span { color:var(--srh-blue); font-size:10px; font-weight:800; letter-spacing:.1em; }
.srh-tool-pathway-head h2 { margin:6px 0 5px; font-size:22px; }
.srh-tool-pathway-head p { max-width:780px; color:#6a7e9d; font-size:13px; }
.srh-tool-pathway-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:20px; }
.srh-tool-pathway-grid > * { min-height:112px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; padding:12px; border:1px solid #dce7f3; border-radius:11px; background:#fff; color:#667a99; }
.srh-tool-pathway-grid .is-live { color:var(--srh-navy); border-color:#c5d9f5; }
.srh-tool-pathway-grid .is-live:hover { border-color:#8eb8f7; }
.srh-tool-path-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:#edf5ff; color:var(--srh-blue); }
.srh-tool-pathway-grid strong { font-size:12px; }
.srh-tool-pathway-grid small { font-size:10px; color:#8495ae; }

/* Individual Tool */
.srh-tool-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:22px 0 16px; color:#6980a2; font-size:12px; }
.srh-tool-breadcrumb a { color:var(--srh-blue); }
.srh-tool-page-header { display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:start; padding:22px 26px; background:#fff; border:1px solid #dce6f2; border-radius:16px; box-shadow:0 5px 18px rgba(33,68,122,.04); }
.srh-tool-title-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:15px; background:#edf5ff; color:var(--srh-blue); }
.srh-tool-title-icon .srh-icon { width:31px; height:31px; }
.srh-tool-eyebrow { margin-bottom:7px; color:var(--srh-blue); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.srh-tool-title-copy h1 { margin-bottom:7px; font-size:clamp(32px,3.5vw,44px); line-height:1.08; }
.srh-tool-title-copy > p:not(.srh-tool-eyebrow) { max-width:860px; margin-bottom:0; color:#5e7394; font-size:15.5px; line-height:1.55; }
.srh-tool-page-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; align-items:start; padding:20px 0 48px; }
.srh-tool-left-rail { display:grid; gap:16px; min-width:0; }
.srh-tool-left-sticky { position:sticky; top:92px; display:grid; gap:14px; }
.srh-tool-how-card,.srh-tool-guide-card { padding:20px; background:#fff; border:1px solid #dce6f2; border-radius:14px; }
.srh-tool-how-card h2,.srh-tool-guide-card h2 { margin-bottom:10px; font-size:19px; }
.srh-tool-how-card p { margin:0; color:var(--srh-text-secondary); font-size:13.5px; line-height:1.65; }
.srh-tool-ad-slot { width:100%; display:grid; justify-items:center; gap:7px; padding:10px; background:#fff; border:1px solid #e0e7f0; border-radius:14px; }
.srh-tool-ad-label { color:#7b8798; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.srh-tool-ad-slot-body { width:min(250px,100%); min-height:250px; display:grid; place-items:center; overflow:hidden; }
.srh-tool-ad-slot-body .widget,.srh-tool-ad-widget { width:100%; margin:0; padding:0; background:transparent; border:0; }
.srh-tool-ad-slot-body ins.adsbygoogle { display:block!important; width:100%!important; min-height:250px; }
.srh-tool-guide-card > span { width:40px; height:40px; display:grid; place-items:center; margin-bottom:11px; border-radius:10px; background:#eff7ff; color:var(--srh-blue); }
.srh-tool-guide-card p { color:#6f819d; font-size:12px; line-height:1.5; }
.srh-tool-guide-card a { color:var(--srh-blue); font-size:12px; font-weight:800; }
.srh-tool-main-column { min-width:0; }

/* App shell */
.srh-tool-app-shell { background:#fff; border:1px solid #d8e4f1; border-radius:16px; box-shadow:0 9px 28px rgba(33,68,122,.06); overflow:hidden; }
.srh-tool-app-progress { display:grid; grid-template-columns:auto minmax(180px,1fr); align-items:center; gap:16px; padding:15px 22px; background:#fbfdff; border-bottom:1px solid #e2eaf4; color:#627899; font-size:12px; font-weight:700; }
.srh-tool-app-progress > div { height:6px; overflow:hidden; border-radius:999px; background:#e4ecf7; }
.srh-tool-app-progress i { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#1d73fb,#4f9aff); transition:width .25s ease; }
.srh-tool-error { margin:18px 22px 0; padding:11px 13px; border:1px solid #f2b7b7; border-radius:9px; background:#fff5f5; color:#9f2f2f; font-size:13px; }
.srh-tool-question-area,.srh-tool-result-area { padding:28px; }
.srh-tool-step-head { margin-bottom:24px; }
.srh-tool-step-kicker,.srh-tool-result-kicker { margin-bottom:6px; color:var(--srh-blue); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.srh-tool-step-head h2,.srh-tool-result-head h2 { margin-bottom:7px; font-size:27px; line-height:1.2; }
.srh-tool-step-head > p:last-child,.srh-tool-result-head > p:last-child { max-width:760px; color:#697d9c; font-size:14px; line-height:1.55; }
.srh-tool-field { margin:0 0 22px; padding:0; border:0; }
.srh-tool-field-label { display:block; margin-bottom:7px; color:var(--srh-navy); font-size:15px; font-weight:750; }
.srh-tool-field-help { max-width:760px; margin-bottom:9px; color:#7285a2; font-size:12.5px; line-height:1.5; }
.srh-tool-field input[type="text"],.srh-tool-field textarea,.srh-tool-field select { width:100%; min-height:48px; padding:12px 14px; border:1px solid #cddaea; border-radius:10px; background:#fff; color:var(--srh-navy); font:inherit; font-size:14px; outline:0; transition:border-color .18s ease,box-shadow .18s ease; }
.srh-tool-field textarea { min-height:105px; resize:vertical; }
.srh-tool-field input:focus,.srh-tool-field textarea:focus,.srh-tool-field select:focus { border-color:#74a7f5; box-shadow:0 0 0 3px rgba(23,105,247,.12); }
.srh-tool-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.srh-tool-choice { min-height:86px; position:relative; display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; padding:15px 16px; border:1px solid #d7e1ee; border-radius:11px; background:#fff; cursor:pointer; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.srh-tool-choice:hover { border-color:#9fc3f7; background:#fbfdff; box-shadow:0 5px 14px rgba(33,68,122,.05); }
.srh-tool-choice:focus-within { border-color:#74a7f5; box-shadow:0 0 0 3px rgba(23,105,247,.12); }
.srh-tool-choice:has(input:checked) { border-color:var(--srh-blue); background:#eef6ff; box-shadow:0 0 0 2px rgba(23,105,247,.10),0 7px 18px rgba(33,68,122,.06); }
.srh-tool-choice input { width:18px; height:18px; margin-top:2px; accent-color:var(--srh-blue); }
.srh-tool-choice-copy strong { display:block; color:var(--srh-navy); font-size:14px; line-height:1.35; }
.srh-tool-choice-copy small { display:block; margin-top:5px; color:#6e819e; font-size:12px; line-height:1.48; }
.srh-tool-step-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:8px; }
.srh-tool-nav-spacer { width:1px; }

/* Result */
.srh-tool-result-head { max-width:820px; margin-bottom:18px; }
.srh-tool-result-head h2 { font-size:29px; }
.srh-tool-result-primary { margin-bottom:18px; padding:18px; border:1px solid #cfe0f7; border-radius:14px; background:linear-gradient(135deg,#f8fbff,#f3f8ff); }
.srh-tool-result-primary-label { display:block; margin-bottom:11px; color:var(--srh-blue); font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.srh-tool-result-primary-grid { display:grid; gap:13px; }
.srh-tool-output-block { margin:0; padding:15px; border:1px solid #d9e4f1; border-radius:11px; background:#fff; }
.srh-tool-output-block.is-question { border-left:4px solid var(--srh-blue); }
.srh-tool-output-block.is-objective { border-left:4px solid #0f9f75; }
.srh-tool-output-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.srh-tool-output-head h3 { margin:0; color:var(--srh-navy); font-size:15px; font-weight:750; }
.srh-tool-copy { min-height:32px; padding:0 11px; border:1px solid #c7d7ea; border-radius:7px; background:#fff; color:var(--srh-blue); font-size:11px; font-weight:800; cursor:pointer; }
.srh-tool-copy:hover,.srh-tool-copy:focus-visible { border-color:#8bb5f4; background:#f5f9ff; }
.srh-tool-output-text { width:100%; min-height:82px; resize:vertical; padding:13px 14px; border:1px solid #cbd8e7; border-radius:9px; background:#fff; color:var(--srh-text); font:inherit; font-size:15.5px; line-height:1.58; }
.srh-tool-output-text:focus { outline:0; border-color:#74a7f5; box-shadow:0 0 0 3px rgba(23,105,247,.12); }
.srh-tool-method-profile { margin:18px 0; }
.srh-tool-method-profile > h3 { margin:0 0 9px; color:var(--srh-navy); font-size:15px; }
.srh-tool-result-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
.srh-tool-key-card { position:relative; overflow:hidden; padding:13px 14px; border:1px solid #dce6f2; border-radius:10px; background:#f9fbfe; }
.srh-tool-key-card:nth-child(1) { border-color:#cfe0f7; background:#f4f8ff; }
.srh-tool-key-card:nth-child(2) { border-color:#e3d8f7; background:#faf7ff; }
.srh-tool-key-card span { display:block; margin-bottom:4px; color:#66758b; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.srh-tool-key-card strong { color:var(--srh-text); font-size:12.5px; line-height:1.4; }
.srh-tool-caution { margin:18px 0; padding:15px 17px; border:1px solid #f0d9a3; border-left:4px solid #e8ad2c; border-radius:10px; background:#fffaf0; }
.srh-tool-caution strong { display:block; margin-bottom:4px; color:#6f4d08; font-size:12px; }
.srh-tool-caution p { margin:0; color:#604b26; font-size:12.5px; line-height:1.58; }
.srh-tool-next { margin:18px 0 10px; padding:20px; border:1px solid #cfe0f7; border-radius:13px; background:linear-gradient(100deg,#f2f7ff,#fbfdff); }
.srh-tool-next-label { display:block; color:var(--srh-blue); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.srh-tool-next h3 { margin:6px 0; font-size:20px; }
.srh-tool-next p { max-width:760px; color:var(--srh-text-secondary); font-size:13px; line-height:1.55; }
.srh-tool-next .srh-button { margin-top:8px; }
.srh-tool-result-actions { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-top:20px; padding-top:18px; border-top:1px solid #e3eaf3; }
.srh-tool-review { flex:1; }
.srh-tool-review summary { display:inline-flex; min-height:40px; align-items:center; color:var(--srh-blue); font-size:12px; font-weight:800; cursor:pointer; }
.srh-tool-review-list { display:grid; grid-template-columns:minmax(150px,.42fr) 1fr; gap:7px 14px; margin:8px 0 0; padding:14px; border-radius:9px; background:#f7f9fc; }
.srh-tool-review-list dt { color:#5f6f86; font-size:11px; font-weight:700; }
.srh-tool-review-list dd { margin:0; color:var(--srh-text); font-size:11.5px; }

/* Supporting content */
.srh-tool-about,.srh-tool-related-guides,.srh-tool-faq { margin-top:18px; padding:24px; background:#fff; border:1px solid #dce6f2; border-radius:14px; }
.srh-tool-about h2,.srh-tool-related-guides h2,.srh-tool-faq h2 { margin-bottom:9px; font-size:21px; }
.srh-tool-about p { max-width:850px; margin:0; color:#687c9c; font-size:13.5px; line-height:1.65; }
.srh-tool-section-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.srh-tool-section-head a { color:var(--srh-blue); font-size:11px; font-weight:800; }
.srh-tool-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:13px; }
.srh-tool-related-grid article a { height:100%; display:block; padding:16px; border:1px solid #e0e8f2; border-radius:10px; background:#fbfdff; }
.srh-tool-related-grid article span { width:34px; height:34px; display:grid; place-items:center; margin-bottom:8px; border-radius:8px; background:#edf5ff; color:var(--srh-blue); }
.srh-tool-related-grid h3 { margin-bottom:5px; font-size:15px; }
.srh-tool-related-grid p { color:#70829f; font-size:11.5px; line-height:1.5; }
.srh-tool-related-grid b { color:var(--srh-blue); font-size:11px; }
.srh-tool-faq details { border-top:1px solid #e2e9f2; }
.srh-tool-faq details:last-child { border-bottom:1px solid #e2e9f2; }
.srh-tool-faq summary { position:relative; padding:14px 34px 14px 0; color:var(--srh-navy); font-size:13px; font-weight:750; cursor:pointer; list-style:none; }
.srh-tool-faq summary::-webkit-details-marker { display:none; }
.srh-tool-faq summary::after { content:"+"; position:absolute; right:4px; top:12px; color:var(--srh-blue); font-size:20px; font-weight:400; }
.srh-tool-faq details[open] summary::after { content:"−"; }
.srh-tool-faq details p { padding:0 34px 14px 0; margin:0; color:#6b7e9c; font-size:12.5px; line-height:1.6; }
.srh-tool-unavailable { padding:36px; text-align:center; background:#fff; border:1px solid #dce6f2; border-radius:14px; }

@media (max-width: 1050px) {
    .srh-tools-hero-grid { grid-template-columns:1fr .9fr; gap:28px; }
    .srh-tool-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .srh-tool-pathway-grid { grid-template-columns:repeat(3,1fr); }
    .srh-tool-page-layout { grid-template-columns:240px minmax(0,1fr); gap:20px; }
    .srh-tool-choice-grid { grid-template-columns:1fr; }
}

@media (max-width: 800px) {
    .srh-tools-hero-grid { grid-template-columns:1fr; min-height:0; padding-block:28px; }
    .srh-tools-hero-visual { justify-content:flex-start; }
    .srh-tools-visual-card { max-width:610px; }
    .srh-tool-featured { grid-template-columns:1fr; }
    .srh-tool-featured-preview { min-height:220px; border-left:0; border-top:1px solid #deebf8; }
    .srh-tool-page-layout { grid-template-columns:1fr; }
    .srh-tool-main-column { order:1; }
    .srh-tool-left-rail { order:2; grid-template-columns:1fr; align-items:start; }
    .srh-tool-left-rail.has-ad { grid-template-columns:minmax(0,250px) minmax(0,1fr); }
    .srh-tool-left-sticky { position:static; }
}

@media (max-width: 640px) {
    .srh-tools-hero h1 { font-size:38px; }
    .srh-tools-hero-grid { gap:22px; }
    .srh-tools-hero-visual { display:none; }
    .srh-tools-trust { display:grid; gap:9px; }
    .srh-tool-category-chips { margin-inline:-16px; padding-inline:16px; }
    .srh-tool-featured-copy { padding:23px 20px; }
    .srh-tool-featured-preview { padding:24px 20px; }
    .srh-tool-search-form { gap:10px; }
    .srh-tool-featured-copy { padding:23px 20px; }
    .srh-tool-filter-row { align-items:flex-start; }
    .srh-tool-card-grid,.srh-tool-card-grid.is-single-result { grid-template-columns:1fr; }
    .srh-tool-pathway { padding:22px 18px; }
    .srh-tool-pathway-grid { grid-template-columns:repeat(2,1fr); }
    .srh-tool-page-header { grid-template-columns:1fr; padding:20px 18px; }
    .srh-tool-title-icon { width:52px; height:52px; }
    .srh-tool-page-layout { padding-top:16px; }
    .srh-tool-left-rail,.srh-tool-left-rail.has-ad { grid-template-columns:1fr; }
    .srh-tool-ad-slot { max-width:270px; justify-self:center; }
    .srh-tool-result-summary { grid-template-columns:1fr; }
    .srh-tool-question-area,.srh-tool-result-area { padding:22px 18px; }
    .srh-tool-app-progress { grid-template-columns:1fr; gap:7px; padding:14px 18px; }
    .srh-tool-step-head h2,.srh-tool-result-head h2 { font-size:23px; }
    .srh-tool-choice { min-height:0; }
    .srh-tool-step-nav,.srh-tool-result-actions { align-items:stretch; }
    .srh-tool-step-nav .srh-button,.srh-tool-result-actions > .srh-button { min-width:112px; }
    .srh-tool-review-list { grid-template-columns:1fr; }
    .srh-tool-related-grid { grid-template-columns:1fr; }
}

@media (max-width: 420px) {
    .srh-tool-filter-row { display:grid; }
    .srh-tool-search-form { grid-template-columns:minmax(0,1fr); }
    .srh-tool-search-form > button { justify-self:start; }
    .srh-tool-filter-form select { flex:1 1 145px; min-width:0 !important; }
    .srh-tool-pathway-grid { grid-template-columns:1fr; }
    .srh-tool-step-nav { flex-wrap:wrap; }
    .srh-tool-step-nav .srh-button { flex:1; }
    .srh-tool-result-actions { flex-direction:column; }
}
.srh-tool-catalog-note { margin:0 0 12px; color:#7184a1; font-size:13px; }


/* v0.6.1 — Tool ad is deliberately below How It Works, not above it. */
.srh-tool-left-sticky>.srh-tool-ad-slot{margin:10px 0 8px}
.srh-tool-ad-slot{width:100%;display:grid;justify-items:center;gap:7px;padding:10px;background:#fff;border:1px solid #e0e7f0;border-radius:14px}
.srh-tool-ad-slot .srh-ad-label{display:block;margin-bottom:7px;color:#7b8798;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.srh-tool-ad-slot .srh-ad-body{width:min(250px,100%);min-height:250px;display:grid;place-items:center;overflow:hidden}
.srh-tool-ad-slot .srh-ad-widget,.srh-tool-ad-slot .widget{width:100%;margin:0;padding:0;background:transparent;border:0}
.srh-tool-ad-slot ins.adsbygoogle{display:block!important;width:100%!important;min-height:250px}

/* v0.8.24: Tool editorial relationships appear after Ask in Forum only when selected. */
.srh-individual-tool .srh-tool-editorial-link{margin-top:16px}
.srh-individual-tool .srh-tool-related-guides .srh-tool-related-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))}
.srh-individual-tool .srh-tool-editorial-link a:focus-visible{outline:2px solid #2678cf;outline-offset:3px}

/* v0.8.25 — Editor-selected Related Course and Related Guides display their
 * WordPress featured image on the left. Only Tool pages are affected. */
.srh-individual-tool .srh-tool-related-course{
    display:grid;
    grid-template-columns:clamp(104px,21%,142px) minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
}
.srh-individual-tool .srh-tool-related-course-media,
.srh-individual-tool .srh-tool-related-guide-media{
    position:relative;
    overflow:hidden;
    border-radius:11px;
    background:#edf3fb;
    border:1px solid #e0e8f2;
    min-width:0;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
}
.srh-individual-tool .srh-tool-related-course-media{
    min-height:112px;
}
.srh-individual-tool .srh-tool-related-thumbnail{
    display:block;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.srh-individual-tool .srh-tool-related-media-placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    min-height:92px;
    color:#526faf;
    background:linear-gradient(135deg,#edf4ff,#f7faff);
}
.srh-individual-tool .srh-tool-related-media-placeholder .srh-icon{
    width:30px;
    height:30px;
}
.srh-individual-tool .srh-tool-related-course-copy{min-width:0}
.srh-individual-tool .srh-tool-related-guides .srh-tool-related-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
    gap:13px;
}
.srh-individual-tool .srh-tool-related-grid article a.srh-tool-related-guide-card{
    display:grid;
    grid-template-columns:clamp(90px,29%,118px) minmax(0,1fr);
    align-items:stretch;
    gap:14px;
    padding:11px;
}
.srh-individual-tool .srh-tool-related-guide-media{
    min-height:104px;
}
.srh-individual-tool .srh-tool-related-guide-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    gap:5px;
}
.srh-individual-tool .srh-tool-related-grid .srh-tool-related-guide-copy h3,
.srh-individual-tool .srh-tool-related-grid .srh-tool-related-guide-copy p{
    margin:0;
    overflow-wrap:anywhere;
}
.srh-individual-tool .srh-tool-related-grid .srh-tool-related-guide-copy b{
    margin-top:3px;
}
/* The original generic icon rule must not size the fallback inside an image frame. */
.srh-individual-tool .srh-tool-related-grid .srh-tool-related-guide-media > .srh-tool-related-media-placeholder{
    display:flex;
    width:100%;
    height:100%;
    min-height:104px;
    margin:0;
    border-radius:0;
    background:linear-gradient(135deg,#edf4ff,#f7faff);
}
@media(max-width:1050px){
    .srh-individual-tool .srh-tool-related-course{
        grid-template-columns:104px minmax(0,1fr);
    }
    .srh-individual-tool .srh-tool-related-course > .srh-button{
        grid-column:1 / -1;
        justify-self:start;
    }
}
@media(max-width:680px){
    .srh-individual-tool .srh-tool-related-course{
        grid-template-columns:100px minmax(0,1fr);
        gap:12px;
        padding:14px;
    }
    .srh-individual-tool .srh-tool-related-course > .srh-button{
        grid-column:1 / -1;
        width:100%;
        justify-content:center;
    }
}
@media(max-width:380px){
    .srh-individual-tool .srh-tool-related-grid article a.srh-tool-related-guide-card{
        grid-template-columns:82px minmax(0,1fr);
        gap:10px;
    }
    .srh-individual-tool .srh-tool-related-course{
        grid-template-columns:86px minmax(0,1fr);
    }
}


/* v0.8.25 — Related Tools, before Forum. Same thumbnail-left editorial cards
 * as Related Guides; do not reveal any section without explicit selection. */
.srh-individual-tool .srh-tool-related-tools{
    margin-top:18px;
    padding:24px;
    background:#fff;
    border:1px solid #dce6f2;
    border-radius:14px;
}
.srh-individual-tool .srh-tool-related-tools h2{font-size:21px;margin-bottom:9px}
.srh-individual-tool .srh-tool-related-tools .srh-tool-related-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
    gap:13px;
}
.srh-individual-tool .srh-tool-related-tools .srh-tool-related-grid article a.srh-tool-related-tool-card{
    display:grid;
    grid-template-columns:clamp(90px,29%,118px) minmax(0,1fr);
    align-items:stretch;
    gap:14px;
    padding:11px;
}
.srh-individual-tool .srh-tool-related-tools .srh-tool-related-guide-media{min-height:104px}
.srh-individual-tool .srh-tool-related-tools .srh-tool-related-guide-copy{min-width:0}
@media(max-width:380px){
    .srh-individual-tool .srh-tool-related-tools .srh-tool-related-grid article a.srh-tool-related-tool-card{
        grid-template-columns:82px minmax(0,1fr);gap:10px;
    }
}
