/* 制度カード（項目で構造化したもの）の CSS。
 * 制度カードはトップ以外の一覧面（県・市区）・拠点ページ・補助金の面で使うので、サイト全体で読む（subsidy.php が enqueue）。
 * 構成: 見出し（状態・種別・移住が条件・締切／制度名／自治体）→ 注意の帯（バーチャルオフィス）→ 項目の行（dl）→ 詳しく見る・出典。
 * 古い vo-scard__* の基本（app.css）の上に、構造化した分だけ足す。トークンは app.css の :root */

.vo-slink { color: var(--link); font-weight: 700; }
.vo-ssub { font-size: 11px; color: var(--sub); line-height: 1.7; }

.vo-scard-s .vo-scard__badges, .vo-phead .vo-scard__badges, .vo-sheet__ti .vo-scard__badges { flex-wrap: wrap; }
.vo-scard-s .vo-scard__name { line-height: 1.5; }
.vo-scard__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; padding-top: 2px; }
.vo-ssrc { font-size: 11px; color: var(--sub); line-height: 1.7; }
.vo-ssrc .vo-slink { font-weight: 400; }
.vo-sstale { color: var(--amber-text); font-weight: 700; }
.vo-stel { white-space: nowrap; }
.vo-badge--amber { background: var(--amber-bg); color: var(--amber-text); box-shadow: inset 0 0 0 1px var(--amber-note); }

/* 項目の行（dl）。値が無い項目は行ごと出さない */
.vo-sdl { margin: 0; display: flex; flex-direction: column; }
.vo-sdl__row { display: flex; gap: 10px; padding: 7px 0; border-top: 1px solid var(--line); align-items: baseline; }
.vo-sdl__row:first-child { border-top: 0; padding-top: 2px; }
.vo-sdl dt { flex: 0 0 82px; margin: 0; font-size: 12px; color: var(--sub); line-height: 1.7; }
.vo-sdl dd { flex: 1; min-width: 0; margin: 0; font-size: 13px; line-height: 1.7; color: var(--ink); overflow-wrap: anywhere; }
.vo-sdl--full dt { flex-basis: 118px; }
.vo-sdl__main { font-size: 15px; color: var(--price); }
.vo-sdl__ok { color: var(--success-text); }
.vo-sdl__ng { color: var(--sub); }
.vo-schips { display: flex; flex-wrap: wrap; gap: 4px; }
.vo-schip { display: inline-block; max-width: 100%; padding: 1px 8px; border-radius: 6px; background: var(--surface2); color: var(--ink); font-size: 11.5px; line-height: 1.7; overflow-wrap: anywhere; }
.vo-schip--more { background: transparent; color: var(--sub); padding-left: 2px; }

/* バーチャルオフィスの帯（対象外の記載あり＝注意の色／利用可の記載あり＝緑） */
.vo-svo { display: flex; flex-direction: column; gap: 3px; padding: 9px 11px; border-radius: 8px; border-left: 3px solid var(--amber-note); background: var(--amber-bg); color: var(--amber-text); }
.vo-svo--yes { border-left-color: var(--success); background: var(--success-bg); color: var(--success-text); }
.vo-svo--cond { border-left-color: var(--line2); background: var(--surface2); color: var(--ink2); }
.vo-svo__t { display: flex; align-items: flex-start; gap: 5px; font-size: 12.5px; line-height: 1.6; }
.vo-svo__t svg { flex-shrink: 0; margin-top: 3px; }
.vo-svo__q { margin: 0; font-size: 11.5px; line-height: 1.7; color: var(--ink2); }

/* 全項目（制度のシート・制度ページ）の下に付く公式の記載（抜粋） */
.vo-sfull { display: flex; flex-direction: column; gap: 12px; }
.vo-sfull__src { padding-top: 2px; }
.vo-sevd { display: flex; flex-direction: column; gap: 4px; padding: 8px 10px; border-radius: 8px; background: var(--surface); }
.vo-sevd__t { font-size: 11.5px; color: var(--sub); }
.vo-sevd__ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 3px; font-size: 11.5px; line-height: 1.7; color: var(--ink2); }
.vo-sevd__k { display: inline-block; margin-right: 6px; color: var(--sub); font-weight: 700; }
