/* SCARS Institute Navigators. Full width of its column; the theme's fonts. */
/* Anything marked hidden stays hidden, whatever the button styles here or the theme's styles say. */
.scarsnav [hidden] { display: none !important; }
.scarsnav { --sn: #1f3a5f; width: 100%; box-sizing: border-box; font-size: 17px; line-height: 1.6; }
.scarsnav h2 { margin: 0 0 12px !important; color: var(--sn) !important; }
.scarsnav h3 { margin: 18px 0 10px !important; color: var(--sn) !important; }
.scarsnav h4 { margin: 14px 0 6px !important; }
.scarsnav h2:focus, .scarsnav h3:focus { outline: none; }
.sn-crisisbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; background: #fdf1f1; border: 2px solid #b3261e; border-radius: 10px; padding: 10px 16px; margin: 0 0 18px; font-weight: 600; }
.sn-crisisbar .sn-btn { background: #b3261e !important; border-color: #b3261e !important; margin: 0 !important; }
.sn-screen { border: 1px solid rgba(0,0,0,.14); border-radius: 12px; padding: 22px 24px; }
.sn-progress { font-size: 14px; opacity: .75; margin-bottom: 6px; }
.sn-choices { display: grid; gap: 10px; margin: 14px 0; }
.sn-choice { text-align: left; background: #fff; border: 2px solid rgba(0,0,0,.18); border-radius: 10px; padding: 14px 18px; font: inherit; color: #111; cursor: pointer; min-height: 52px; height: auto !important; line-height: 1.4 !important; }
.sn-choice:hover, .sn-choice:focus, .sn-choice.is-on { border-color: var(--sn); background: #f3f6fa; outline: none; }
.sn-check { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border: 2px solid rgba(0,0,0,.14); border-radius: 10px; cursor: pointer; background: #fff; }
.sn-check input { width: 20px; height: 20px; margin-top: 3px; flex-shrink: 0; accent-color: var(--sn); }
.sn-actions { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.sn-btn { display: inline-block; background: var(--sn) !important; color: #fff !important; border: 2px solid var(--sn) !important; border-radius: 8px !important; padding: 11px 22px !important; font: inherit; font-weight: 700 !important; cursor: pointer; text-decoration: none !important; min-height: 46px; height: auto !important; line-height: 1.3 !important; }
.sn-btn.sn-ghost { background: #fff !important; color: var(--sn) !important; }
.sn-btn:disabled { opacity: .6; cursor: default; }
.sn-link { background: none !important; border: 0 !important; color: var(--sn) !important; text-decoration: underline; cursor: pointer; font: inherit; padding: 4px 0 !important; min-height: 0 !important; box-shadow: none !important; }
.sn-progressbar { height: 12px; background: rgba(0,0,0,.08); border-radius: 8px; overflow: hidden; }
.sn-progressbar span { display: block; height: 100%; width: 0; background: var(--sn); transition: width .3s; }
.sn-count { font-weight: 600; margin: 6px 0 4px; }
.sn-step { border: 1px solid rgba(0,0,0,.12); border-radius: 10px; padding: 12px 16px; margin: 10px 0; background: #fff; }
.sn-stepline { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-weight: 700; font-size: 1.05em; }
.sn-stepline input { width: 22px; height: 22px; margin-top: 3px; flex-shrink: 0; accent-color: var(--sn); }
.sn-step:has(.sn-done:checked) .sn-steptitle { text-decoration: line-through; opacity: .65; }
.sn-body { margin: 8px 0 0 34px; }
.sn-card { border-left: 6px solid var(--sn); background: #f7f9fc; border-radius: 0 12px 12px 0; padding: 4px 20px 12px; margin: 14px 0; }
.sn-closing { border-top: 1px solid rgba(0,0,0,.1); margin-top: 20px; padding-top: 6px; }
.sn-res { margin-top: 18px; }
.sn-res ul { margin: 0 0 0 20px; padding: 0; }
.sn-res li { margin-bottom: 10px; }
.sn-res-crisis { background: #fdf1f1; border-radius: 10px; padding: 4px 18px 10px; }
.sn-phone { white-space: nowrap; font-weight: 600; }
.sn-res-desc { font-size: .93em; opacity: .85; }
.sn-res-desc p { margin: 0; }
.sn-research { border: 1px dashed rgba(0,0,0,.25); border-radius: 10px; padding: 12px 16px; margin-top: 20px; }
.sn-research .sn-btn { margin-top: 10px; }
.sn-msg { font-weight: 600; margin: 8px 0 0; min-height: 1em; }
.sn-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
@media print {
	.sn-crisisbar, .sn-actions, .sn-research, .sn-more { display: none !important; }
	.sn-body { display: block !important; }
	.sn-step[hidden], .sn-stage[hidden], .sn-card[hidden] { display: none !important; }
	.sn-screen { border: 0; padding: 0; }
}
/* Plans that run over time. */
.sn-timeline { border: 2px solid var(--sn); border-radius: 10px; padding: 12px 16px; margin: 12px 0; background: #f6f8fb; }
.sn-where { margin: 0 0 8px; font-size: 1.1em; }
.sn-tl-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.sn-tl-actions .sn-btn { min-height: 40px; padding: 8px 16px !important; }
.sn-started { font-size: .95em; display: inline-flex; gap: 6px; align-items: center; }
.sn-started input { border: 1px solid rgba(0,0,0,.3); border-radius: 6px; padding: 6px 8px; font: inherit; }
details.sn-stage { border: 1px solid rgba(0,0,0,.14); border-radius: 10px; margin: 10px 0; padding: 0 16px; }
details.sn-stage > summary { cursor: pointer; list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 12px 0; }
details.sn-stage > summary::-webkit-details-marker { display: none; }
details.sn-stage > summary::before { content: "▸"; color: var(--sn); font-size: 1.1em; transition: transform .2s; }
details.sn-stage[open] > summary::before { transform: rotate(90deg); }
details.sn-stage > summary h3 { margin: 0 !important; font-size: 1.15em; }
.sn-when { font-size: .9em; opacity: .75; }
.sn-here { display: none; background: var(--sn); color: #fff; border-radius: 20px; padding: 1px 10px; font-size: .8em; font-weight: 700; }
details.sn-stage.is-current { border: 2px solid var(--sn); }
details.sn-stage.is-current .sn-here { display: inline-block; }
details.sn-stage.is-past > summary h3 { opacity: .75; }
details.sn-stage .sn-step { margin-bottom: 10px; }
.sn-body a { color: var(--sn); font-weight: 600; }
@media print { details.sn-stage { break-inside: avoid; } details.sn-stage .sn-body { display: block !important; } }
