/**
 * Sol CTX Navigator v1.3 — Styles
 * ================================
 * hello-top-v11 デザイントークン準拠
 *
 * ★ v1.3: mode="light" + noscript フォールバック
 * ★ v1.2: GeneratePress + Customizer CSS 完全隔離
 *   GP が button / .entry-content button に設定するスタイルを
 *   !important 付きリセットで完全上書き。
 *   CTX-TOP の sol-exit-ui / sol-exit-gate との競合防止。
 * ★ v1.2: Navigator Memo + LINE CTA スタイル追加
 *
 * @version 1.3.0
 */

/* ============================================================
   Container
   ============================================================ */
.sol-ctx-nav{
  background:var(--silk,#F1F3F5);
  padding:2.25rem 1.25rem;
}
.sol-ctx-nav .sol-ctx-nav__inner{
  max-width:720px;margin:0 auto;
}

/* ============================================================
   ★ GeneratePress / Customizer / Plugin 完全隔離
   GP style.min.css: button{background:#666;color:#fff;padding:10px 20px}
   GP Customizer: Additional CSS で button に何を設定してるか不明
   → !important で完全上書き
   ============================================================ */
.sol-ctx-nav button{
  background:none !important;
  color:inherit !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  line-height:inherit !important;
  text-transform:none !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
}
.sol-ctx-nav button:hover,
.sol-ctx-nav button:focus,
.sol-ctx-nav button:active,
.sol-ctx-nav button:focus-visible{
  background:none !important;
  color:inherit !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
}

/* ============================================================
   ④ Emergency Bypass — [solstice_emergency] 内包ラッパー
   ============================================================ */
.sol-ctx-nav .scn-emergency-wrap{
  margin-bottom:1.5rem;
}
.sol-ctx-nav .scn-emergency-wrap .sol-emg{
  font-size:.78rem;
}
.sol-ctx-nav .scn-emergency-wrap .sol-emg-banner{
  border-radius:8px;
}

/* ============================================================
   Header with Logo
   ============================================================ */
.sol-ctx-nav .scn-header{
  display:flex;align-items:center;gap:.75rem;
  margin-bottom:.35rem;
}
.sol-ctx-nav .scn-logo{
  width:48px;height:48px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 1px 6px rgba(142,190,214,.2);
  flex-shrink:0;
}
.sol-ctx-nav .scn-header-text{flex:1;min-width:0}
.sol-ctx-nav .scn-header-text .scn-label{margin-bottom:.15rem}
.sol-ctx-nav .scn-header-text .scn-title{margin-bottom:0}

/* ============================================================
   Stepper
   ============================================================ */
.sol-ctx-nav .scn-steps{
  display:flex;align-items:center;justify-content:center;
  gap:0;margin-bottom:1.5rem;
}
.sol-ctx-nav .scn-step{
  display:flex;align-items:center;gap:.35rem;
  font-size:.7rem;font-weight:400;
  color:var(--ash,#CED4DA);letter-spacing:.02em;
  transition:color .3s;
}
.sol-ctx-nav .scn-step.--on{color:var(--water-deep,#6BA3BE);font-weight:600}
.sol-ctx-nav .scn-step.--ok{color:var(--safe,#10b981)}
.sol-ctx-nav .scn-sn{
  width:22px;height:22px;border-radius:50%;
  display:grid;place-content:center;
  font-family:var(--font-num,'Barlow',sans-serif);
  font-size:.58rem;font-weight:600;
  border:1.5px solid var(--ash,#CED4DA);
  color:var(--ash,#CED4DA);
  transition:all .3s;
}
.sol-ctx-nav .scn-step.--on .scn-sn{
  border-color:var(--water-deep,#6BA3BE);
  color:#fff;background:var(--water-deep,#6BA3BE);
}
.sol-ctx-nav .scn-step.--ok .scn-sn{
  border-color:var(--safe,#10b981);
  color:#fff;background:var(--safe,#10b981);
}
.sol-ctx-nav .scn-step-line{
  width:24px;height:1px;
  background:var(--mist,#E5E8EB);
  margin:0 .35rem;transition:background .3s;
}
.sol-ctx-nav .scn-step-line.--ok{background:var(--safe,#10b981)}

/* ============================================================
   Question Blocks
   ============================================================ */
.sol-ctx-nav .scn-q{
  background:var(--white,#F8F9FA);
  border:1px solid var(--mist,#E5E8EB);
  border-radius:12px;
  padding:1rem 1.15rem;
  margin-bottom:.75rem;
  transition:border-color .25s,opacity .3s,background .25s;
  opacity:1;
  pointer-events:auto;
}
.sol-ctx-nav .scn-q.--ok{
  border-color:rgba(16,185,129,.2);
  background:rgba(16,185,129,.02);
  padding:.75rem 1.15rem;
  opacity:1;
  pointer-events:auto;
}
/* ★ --off を !important で強制。GP や他CSSに絶対負けない */
.sol-ctx-nav .scn-q.--off{
  opacity:.35 !important;
  pointer-events:none !important;
}

.sol-ctx-nav .scn-ql{
  font-size:.84rem;font-weight:400;line-height:1.6;
  color:var(--ink-deep,#212529);
  margin:0 0 .65rem;
  display:flex;align-items:center;gap:.45rem;
}
.sol-ctx-nav .scn-q.--ok .scn-ql{margin-bottom:0}
.sol-ctx-nav .scn-ql svg{flex-shrink:0;color:var(--water-deep,#6BA3BE);width:18px;height:18px}
.sol-ctx-nav .scn-ql strong{font-weight:600}

/* ⑥ Re-edit hint */
.sol-ctx-nav .scn-q.--ok{cursor:pointer}
.sol-ctx-nav .scn-q.--ok:hover{
  border-color:rgba(142,190,214,.3);
  background:rgba(142,190,214,.03);
}
.sol-ctx-nav .scn-q.--ok::after{
  content:'変更';
  font-size:.6rem;font-weight:500;
  color:var(--water-deep,#6BA3BE);
  opacity:0;transition:opacity .2s;
  margin-left:.5rem;
}
.sol-ctx-nav .scn-q.--ok:hover::after{opacity:1}

/* Answered value tag */
.sol-ctx-nav .scn-qv{
  display:none;
  align-items:center;gap:.2rem;
  font-size:.7rem;font-weight:500;
  color:var(--safe,#10b981);
  margin-left:auto;
}
.sol-ctx-nav .scn-qv svg{width:13px;height:13px}

/* ============================================================
   Option Buttons — ★ GP reset 後の再定義（!important で上書き）
   ============================================================ */
.sol-ctx-nav .scn-opts{display:flex;gap:.45rem;flex-wrap:wrap}
.sol-ctx-nav .scn-opts--grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.45rem;
}
.sol-ctx-nav button.scn-o{
  flex:1 1 auto;min-width:0;
  padding:.5rem .7rem !important;
  border:1.5px solid var(--ash,#CED4DA) !important;
  border-radius:8px !important;
  background:var(--white,#F8F9FA) !important;
  color:var(--ink,#343A40) !important;
  font-family:var(--font-ja,'Noto Sans JP',sans-serif) !important;
  font-size:.8rem !important;font-weight:500 !important;
  cursor:pointer;transition:all .15s;
  text-align:center;white-space:nowrap;
  pointer-events:auto;
}
.sol-ctx-nav button.scn-o:hover{
  border-color:var(--water,#8EBED6) !important;
  background:var(--water-breath,#EBF2F6) !important;
  color:var(--ink,#343A40) !important;
}
.sol-ctx-nav button.scn-o:focus,
.sol-ctx-nav button.scn-o:focus-visible{
  border-color:var(--water,#8EBED6) !important;
  background:var(--white,#F8F9FA) !important;
  color:var(--ink,#343A40) !important;
  outline:2px solid rgba(107,163,190,.3) !important;
  outline-offset:1px;
}
.sol-ctx-nav button.scn-o:active{
  background:var(--water-ghost,#D4E5ED) !important;
  color:var(--ink-deep,#212529) !important;
}
.sol-ctx-nav button.scn-o.--sel,
.sol-ctx-nav button.scn-o.--sel:hover,
.sol-ctx-nav button.scn-o.--sel:focus{
  border-color:var(--water-deep,#6BA3BE) !important;
  background:var(--water-ghost,#D4E5ED) !important;
  color:var(--ink-deep,#212529) !important;
  font-weight:600 !important;
  box-shadow:0 0 0 2px rgba(107,163,190,.15) !important;
}

/* ② "わからない" */
.sol-ctx-nav button.scn-o.scn-o--unknown{
  border-style:dashed !important;
  color:var(--stone,#868E96) !important;
  font-weight:400 !important;
  background:transparent !important;
}
.sol-ctx-nav button.scn-o.scn-o--unknown:hover{
  border-color:var(--water,#8EBED6) !important;
  border-style:solid !important;
  color:var(--ink,#343A40) !important;
  background:var(--water-breath,#EBF2F6) !important;
}

/* ③ Pre-pop indicator */
.sol-ctx-nav button.scn-o.--prepop{position:relative}
.sol-ctx-nav button.scn-o.--prepop::after{
  content:'自動入力';
  position:absolute;top:-6px;right:-4px;
  font-size:.5rem;font-weight:600;
  background:var(--water-deep,#6BA3BE);color:#fff;
  padding:1px 5px;border-radius:4px;
  letter-spacing:.04em;
}

/* ============================================================
   Pattern Suggest Panel
   ============================================================ */
.sol-ctx-nav .scn-suggest{
  margin-top:.5rem;
  background:var(--white,#F8F9FA);
  border:1.5px solid var(--water,#8EBED6);
  border-radius:14px;
  padding:1.25rem;
  animation:scnFadeUp .4s ease-out;
}
@keyframes scnFadeUp{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.sol-ctx-nav .scn-suggest-head{
  font-size:.84rem;font-weight:400;color:var(--ink-deep,#212529);
  line-height:1.7;margin-bottom:.25rem;
}
.sol-ctx-nav .scn-suggest-head strong{font-weight:600;color:var(--water-deep,#6BA3BE)}
.sol-ctx-nav .scn-suggest-sub{
  font-size:.72rem;font-weight:300;color:var(--stone,#868E96);
  line-height:1.8;margin-bottom:1rem;
}

/* ============================================================
   Pattern Cards
   ============================================================ */
.sol-ctx-nav .scn-patterns{display:flex;flex-direction:column;gap:.625rem}
.sol-ctx-nav .scn-pat{
  padding:.875rem 1rem;
  background:var(--silk,#F1F3F5);
  border:1.5px solid var(--mist,#E5E8EB);
  border-radius:10px;
  cursor:pointer;transition:all .2s;
}
.sol-ctx-nav .scn-pat:hover{border-color:var(--water,#8EBED6);background:var(--water-breath,#EBF2F6)}
.sol-ctx-nav .scn-pat.--sel{
  border-color:var(--water-deep,#6BA3BE);
  background:var(--water-breath,#EBF2F6);
  box-shadow:0 0 0 2px rgba(107,163,190,.12);
}
.sol-ctx-nav .scn-pat-top{display:flex;align-items:flex-start;gap:.625rem}
.sol-ctx-nav .scn-pat-radio{
  width:20px;height:20px;border-radius:50%;flex-shrink:0;margin-top:2px;
  border:2px solid var(--ash,#CED4DA);
  display:grid;place-content:center;transition:all .2s;
}
.sol-ctx-nav .scn-pat.--sel .scn-pat-radio{
  border-color:var(--water-deep,#6BA3BE);
  background:var(--water-deep,#6BA3BE);
}
.sol-ctx-nav .scn-pat-radio::after{
  content:'';width:6px;height:6px;border-radius:50%;
  background:#fff;opacity:0;transition:opacity .2s;
}
.sol-ctx-nav .scn-pat.--sel .scn-pat-radio::after{opacity:1}
.sol-ctx-nav .scn-pat-body{flex:1;min-width:0}
.sol-ctx-nav .scn-pat-title{
  font-size:.84rem;font-weight:500;color:var(--ink-deep,#212529);
  line-height:1.5;letter-spacing:.02em;margin-bottom:.2rem;
}
.sol-ctx-nav .scn-pat-desc{
  font-size:.72rem;font-weight:300;color:var(--stone,#868E96);
  line-height:1.8;letter-spacing:.02em;
}
/* ① Fallback pattern */
.sol-ctx-nav .scn-pat--fallback{border-style:dashed;background:transparent}
.sol-ctx-nav .scn-pat--fallback:hover{background:var(--silk,#F1F3F5);border-style:solid}
.sol-ctx-nav .scn-pat--fallback .scn-pat-title{color:var(--stone,#868E96);font-weight:400}

/* ============================================================
   CTX Result Card
   ============================================================ */
.sol-ctx-nav .scn-result{margin-top:1rem;animation:scnFadeUp .4s ease-out .1s both}
.sol-ctx-nav .scn-result-card{
  display:flex;align-items:flex-start;gap:.875rem;
  padding:1.125rem 1.25rem;
  background:var(--water-breath,#EBF2F6);
  border:1.5px solid rgba(142,190,214,.35);
  border-radius:12px;
  text-decoration:none;color:inherit;
  transition:border-color .25s,box-shadow .25s,transform .25s;
}
.sol-ctx-nav .scn-result-card:hover{
  border-color:var(--water-deep,#6BA3BE);
  box-shadow:0 6px 24px rgba(142,190,214,.15);
  transform:translateY(-2px);
}
.sol-ctx-nav .scn-ri{width:44px;height:44px;border-radius:11px;display:grid;place-content:center;flex-shrink:0}
.sol-ctx-nav .scn-ri svg{width:22px;height:22px}
.sol-ctx-nav .scn-ri--pro{background:rgba(46,125,50,.08)}.sol-ctx-nav .scn-ri--pro svg{fill:#2E7D32}
.sol-ctx-nav .scn-ri--diy{background:rgba(74,144,217,.08)}.sol-ctx-nav .scn-ri--diy svg{fill:#4A90D9}
.sol-ctx-nav .scn-ri--risk{background:rgba(198,40,40,.07)}.sol-ctx-nav .scn-ri--risk svg{fill:#C62828}
.sol-ctx-nav .scn-ri--season{background:rgba(0,137,123,.08)}.sol-ctx-nav .scn-ri--season svg{fill:#00897B}
.sol-ctx-nav .scn-ri--agehouse{background:rgba(141,110,99,.08)}.sol-ctx-nav .scn-ri--agehouse svg{fill:#8D6E63}
.sol-ctx-nav .scn-ri--mansion{background:rgba(92,107,192,.08)}.sol-ctx-nav .scn-ri--mansion svg{fill:#5C6BC0}
.sol-ctx-nav .scn-ri--safety{background:rgba(230,81,0,.06)}.sol-ctx-nav .scn-ri--safety svg{fill:#E65100}
.sol-ctx-nav .scn-rb{flex:1;min-width:0}
.sol-ctx-nav .scn-rl{
  font-family:var(--font-num,'Barlow',sans-serif);
  font-size:.52rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--water-deep,#6BA3BE);margin-bottom:.15rem;
}
.sol-ctx-nav .scn-rt{font-size:.9375rem;font-weight:500;color:var(--ink-deep,#212529);letter-spacing:.02em;line-height:1.5;margin-bottom:.25rem}
.sol-ctx-nav .scn-rd{font-size:.78rem;font-weight:300;color:var(--stone,#868E96);line-height:1.8}
.sol-ctx-nav .scn-ra{display:flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:400;color:var(--water-deep,#6BA3BE);margin-top:.5rem;transition:gap .3s}
.sol-ctx-nav .scn-result-card:hover .scn-ra{gap:.5rem}
.sol-ctx-nav .scn-ra svg{width:12px;height:5px}
.sol-ctx-nav .scn-why{margin-top:.625rem;font-size:.72rem;font-weight:300;color:var(--stone,#868E96);line-height:1.8;letter-spacing:.02em;padding-left:1rem;border-left:2px solid rgba(142,190,214,.25)}

/* ⑥ Other patterns button */
.sol-ctx-nav button.scn-other-patterns{
  display:flex !important;align-items:center !important;justify-content:center !important;gap:.35rem !important;
  margin:.75rem auto 0 !important;
  font-size:.72rem !important;font-weight:400 !important;
  color:var(--water-deep,#6BA3BE) !important;
  cursor:pointer;background:none !important;border:1px solid rgba(142,190,214,.2) !important;
  font-family:var(--font-ja,'Noto Sans JP',sans-serif) !important;
  letter-spacing:.02em;padding:.4rem .875rem !important;border-radius:7px !important;
  transition:all .2s;
}
.sol-ctx-nav button.scn-other-patterns:hover{
  border-color:var(--water,#8EBED6) !important;
  background:var(--water-breath,#EBF2F6) !important;
}

/* ① Fallback */
.sol-ctx-nav .scn-fallback{margin-top:.5rem;padding:1rem 1.25rem;background:var(--white,#F8F9FA);border:1.5px dashed var(--ash,#CED4DA);border-radius:12px;text-align:center}
.sol-ctx-nav .scn-fallback p{font-size:.84rem;font-weight:400;color:var(--ink,#343A40);margin-bottom:.5rem;line-height:1.7}
.sol-ctx-nav .scn-fallback a{font-size:.78rem;font-weight:500;color:var(--water-deep,#6BA3BE);text-decoration:none;border-bottom:1px dashed rgba(107,163,190,.3)}

/* Reset button */
.sol-ctx-nav button.scn-reset{
  display:flex !important;align-items:center !important;justify-content:center !important;gap:.35rem !important;
  margin:.875rem auto 0 !important;
  font-size:.7rem !important;font-weight:400 !important;
  color:var(--stone,#868E96) !important;
  cursor:pointer;background:none !important;border:none !important;
  font-family:var(--font-ja,'Noto Sans JP',sans-serif) !important;
  letter-spacing:.02em;padding:.35rem .65rem !important;border-radius:6px;
  transition:color .2s;
}
.sol-ctx-nav button.scn-reset:hover{color:var(--ink,#343A40) !important;background:var(--silk,#F1F3F5) !important}

/* Section base */
.sol-ctx-nav .scn-label{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-num,'Barlow',sans-serif);font-size:.68rem;font-weight:500;letter-spacing:.15em;color:var(--water-deep,#6BA3BE);text-transform:uppercase;margin-bottom:.7rem}
.sol-ctx-nav .scn-label::before{content:'';display:block;width:16px;height:1px;background:var(--water,#8EBED6)}
.sol-ctx-nav .scn-title{font-family:var(--font-mincho,'Shippori Mincho',serif);font-weight:400;font-size:clamp(1.02rem,2.4vw,1.25rem);letter-spacing:.1em;line-height:1.7;color:var(--ink-deep,#212529);margin-bottom:.4rem}
.sol-ctx-nav .scn-sub{font-size:clamp(.76rem,1.3vw,.82rem);font-weight:300;color:var(--stone,#868E96);letter-spacing:.03em;line-height:1.9;margin-bottom:1.25rem}

/* ============================================================
   ⑨ Navigator Memo + LINE CTA
   結果カード下の軽量メモ + 相談出口
   ============================================================ */
.sol-ctx-nav .scn-memo-block{
  margin-top:1rem;
  animation:scnFadeUp .4s ease-out .2s both;
}

/* Memo */
.sol-ctx-nav .scn-memo{
  padding:1rem;
  background:var(--white,#F8F9FA);
  border:1px solid var(--mist,#E5E8EB);
  border-radius:10px;
  margin-bottom:.875rem;
}
.sol-ctx-nav .scn-memo-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:.5rem;
}
.sol-ctx-nav .scn-memo-label{
  font-size:.7rem;font-weight:500;
  color:var(--stone,#868E96);
}
.sol-ctx-nav button.scn-memo-copy{
  display:inline-flex !important;align-items:center !important;gap:.25rem !important;
  padding:.25rem .55rem !important;
  border:1px solid var(--ash,#CED4DA) !important;
  border-radius:5px !important;
  background:var(--white,#F8F9FA) !important;
  font-family:var(--font-ja,'Noto Sans JP',sans-serif) !important;
  font-size:.6rem !important;font-weight:500 !important;
  color:var(--ink,#343A40) !important;
  cursor:pointer;transition:all .2s;
}
.sol-ctx-nav button.scn-memo-copy:hover{
  border-color:var(--water-deep,#6BA3BE) !important;
  color:var(--water-deep,#6BA3BE) !important;
}
.sol-ctx-nav button.scn-memo-copy.--ok{
  background:#E6FCF5 !important;
  border-color:#2B8A3E !important;
  color:#2B8A3E !important;
}
.sol-ctx-nav .scn-memo-text{
  font-size:.7rem;font-weight:300;
  color:var(--ink,#343A40);
  line-height:1.7;
  white-space:pre-line;
  font-family:var(--font-ja,'Noto Sans JP',sans-serif);
}

/* CTA Block */
.sol-ctx-nav .scn-cta{
  padding:1.125rem;
  background:linear-gradient(175deg,var(--water-breath,#EBF2F6),var(--white,#F8F9FA));
  border:1px solid rgba(142,190,214,.15);
  border-radius:12px;
}
.sol-ctx-nav .scn-cta-or{
  font-size:.65rem;font-weight:400;
  color:var(--stone,#868E96);
  text-align:center;
  margin-bottom:.625rem;
  display:flex;align-items:center;gap:.5rem;
}
.sol-ctx-nav .scn-cta-or::before,
.sol-ctx-nav .scn-cta-or::after{
  content:'';flex:1;height:1px;
  background:var(--mist,#E5E8EB);
}

/* LINE button */
.sol-ctx-nav .scn-cta-line{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  width:100%;padding:.8rem;
  background:#06C755;
  border:none;border-radius:10px;
  font-family:var(--font-ja,'Noto Sans JP',sans-serif);
  font-size:.875rem;font-weight:600;
  color:#fff;
  text-decoration:none;
  transition:all .25s;
  letter-spacing:.02em;
}
.sol-ctx-nav .scn-cta-line:hover{
  background:#05a849;
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(6,199,85,.2);
}
.sol-ctx-nav .scn-cta-line svg{width:20px;height:20px;flex-shrink:0}

/* Photo note */
.sol-ctx-nav .scn-cta-note{
  font-size:.68rem;font-weight:300;
  color:var(--stone,#868E96);
  text-align:center;
  margin-top:.4rem;
  line-height:1.6;
}

/* Phone link */
.sol-ctx-nav .scn-cta-tel{
  display:flex;align-items:center;justify-content:center;gap:.35rem;
  margin-top:.625rem;
  padding:.5rem;
  border:1px solid var(--mist,#E5E8EB);
  border-radius:8px;
  background:var(--white,#F8F9FA);
  font-size:.72rem;font-weight:400;
  color:var(--stone,#868E96);
  text-decoration:none;
  transition:all .2s;
}
.sol-ctx-nav .scn-cta-tel:hover{
  border-color:var(--ash,#CED4DA);
  color:var(--ink,#343A40);
}
.sol-ctx-nav .scn-cta-tel svg{width:14px;height:14px;flex-shrink:0;opacity:.5}

/* ⑦ Season Badge */
.sol-ctx-nav .scn-pat-season{display:inline-flex;align-items:center;gap:.2rem;font-size:.56rem;font-weight:500;color:var(--water-deep,#6BA3BE);background:rgba(107,163,190,.08);padding:1px 6px;border-radius:3px;margin-top:.3rem}

/* ============================================================
   ★ Init 診断インジケーター
   JS init 成功時に data-nav-init="ok" が付与される。
   CSSで視覚的に確認可能。
   ============================================================ */
.sol-ctx-nav[data-nav-init="ok"] .scn-label::after{
  content:'✓ init';
  font-size:.5rem;color:var(--safe,#10b981);
  margin-left:.5rem;font-family:monospace;
  opacity:.5;
}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:480px){
  .sol-ctx-nav .scn-opts--grid{grid-template-columns:repeat(2,1fr)}
  .sol-ctx-nav{padding:1.75rem 1rem}
  .sol-ctx-nav .scn-emergency-wrap{margin-bottom:1rem}
  .sol-ctx-nav .scn-logo{width:40px;height:40px}
  .sol-ctx-nav .scn-header{gap:.6rem}
}

/* ============================================================
   mode="light" — 施工事例/タクソノミー用
   prePop済みQ → compact（回答済み表示）
   未到達Q → 完全非表示（グレーアウトではなく消す）
   ============================================================ */
.sol-ctx-nav.--light .scn-q.--off{
  display:none !important;
}

/* ============================================================
   Section heading wrapper（heading/sub属性で出力）
   ============================================================ */
.scn-section-wrap{
  max-width:720px;margin:0 auto;
  padding:0 1.25rem;margin-bottom:1.25rem;
}
.scn-section-heading{
  font-family:var(--font-mincho,'Shippori Mincho',serif) !important;
  font-size:clamp(1.05rem,2.4vw,1.3rem) !important;font-weight:400 !important;
  letter-spacing:.08em !important;line-height:1.7 !important;
  color:var(--ink-deep,#212529) !important;
  margin:0 0 .375rem !important;
}
.scn-section-sub{
  font-size:clamp(.78rem,1.3vw,.8125rem) !important;font-weight:300 !important;
  color:var(--stone,#868E96) !important;
  letter-spacing:.02em !important;line-height:1.9 !important;
  margin:0 !important;
}

/* ============================================================
   noscript フォールバック — bot + JS無効環境
   ============================================================ */
.scn-noscript{
  padding:1.5rem 1.25rem;
  max-width:720px;margin:0 auto;
}
.scn-noscript-head{
  font-size:.9375rem;font-weight:500;
  color:var(--ink-deep,#212529);letter-spacing:.03em;
  margin-bottom:1rem;
}
.scn-noscript-list{
  list-style:none;padding:0;margin:0 0 1.25rem;
  display:flex;flex-direction:column;gap:.5rem;
}
.scn-noscript-list li a{
  display:block;padding:.75rem 1rem;
  background:var(--white,#F8F9FA);
  border:1px solid rgba(142,190,214,.15);border-radius:10px;
  color:var(--ink-deep,#212529);text-decoration:none;
  font-size:.875rem;font-weight:400;letter-spacing:.02em;
  transition:border-color .3s ease,color .3s ease;
}
.scn-noscript-list li a:hover{
  border-color:var(--water-deep,#6BA3BE);
  color:var(--water-deep,#6BA3BE);
}
.scn-noscript-cta{
  font-size:.8125rem;color:var(--stone,#868E96);
  letter-spacing:.02em;
}
.scn-noscript-cta a{
  color:var(--water-deep,#6BA3BE);text-decoration:none;
  border-bottom:1px dashed rgba(107,163,190,.3);
}
