/* Stage 8c: DataTable, NoticeList and Prose in the unchanged D3 sub frame. */
[data-info-page] .page-head-inner { display:block; }
[data-info-page] .page-layout > .page-reading { max-width:var(--reading-max); margin-inline:auto; }
[data-info-page] .page-bottom .pvl-t { grid-row:1/3; }
[data-info-page] .visit-review { width:fit-content; margin-top:var(--sp-16); padding:var(--sp-8) var(--sp-12); border:1px dashed var(--tbd-border); border-radius:var(--r-tag); color:var(--muted); font:var(--text-caption); }

/* DataTable: native desktop tables and the existing, complete card lists. */
[data-info-page] .fee-source { padding-bottom:var(--sp-8); color:var(--muted); font:var(--text-caption); font-variant-numeric:tabular-nums; }
[data-info-page] .fee-source .placeholder { margin-top:var(--sp-12); }
[data-info-page] .source-link, [data-info-page] .fee-detail-link { display:inline-flex; align-items:center; min-height:var(--tap-min); color:var(--navy); font:var(--text-caption); text-decoration:underline; text-underline-offset:4px; }
[data-info-page] .fee-detail-link { display:flex; }
[data-info-page] .fee-section { margin-top:var(--sp-40); }
[data-info-page] .fee-section h3, [data-info-page] .prose :is(h2,h3) { margin:0 0 var(--sp-24); padding-bottom:var(--sp-12); border-bottom:2px solid var(--navy); color:var(--ink); font:var(--text-title-block); letter-spacing:-.03em; }
[data-info-page] .fee-table-box { width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
[data-info-page] .fee-table { width:100%; border-collapse:collapse; color:var(--ink-2); font:var(--text-caption); font-variant-numeric:tabular-nums; }
[data-info-page] .fee-table :is(th,td) { padding:var(--sp-16) var(--sp-8); border-bottom:1px solid var(--line); vertical-align:middle; text-align:center; }
[data-info-page] .fee-table thead th { background:var(--band); color:var(--ink); font-weight:500; }
[data-info-page] .fee-table tbody th { color:var(--ink); font-weight:500; text-align:left; }
[data-info-page] .fee-table tbody td { font-variant-numeric:tabular-nums; }
[data-info-page] .fee-table .fee-amount { min-width:5em; }
[data-info-page] .fee-original { margin-top:var(--sp-12); }
[data-info-page] .fee-cards { display:none; }
[data-info-page] .visit-document-slots { display:grid; gap:0; margin:0 0 var(--sp-24); padding:0; list-style:none; border-top:1px solid var(--line); }
[data-info-page] .visit-document-slots li { padding:var(--sp-16) 0; border-bottom:1px solid var(--line); color:var(--ink); font:var(--text-list); }
[data-info-page] .visit-alias { display:block; height:0; }

/* NoticeList: the original renderer owns dates, text, expansion and old items. */
[data-info-page] .notice-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
[data-info-page] .notice-item { border-bottom:1px solid var(--line); }
[data-info-page] .notice-row { display:grid; grid-template-columns:7em auto minmax(0,1fr) var(--sp-32); align-items:center; gap:var(--sp-16); width:100%; min-height:var(--sp-80); padding:var(--sp-20) 0; border:0; background:var(--surface); color:var(--ink); font:var(--text-list); text-align:left; cursor:pointer; }
[data-info-page] .notice-row time { color:var(--muted); font:var(--text-caption); font-variant-numeric:tabular-nums; }
[data-info-page] .notice-tag { color:var(--navy); font:var(--text-label); }
[data-info-page] .notice-row::after { content:'+'; display:grid; place-items:center; width:var(--sp-32); height:var(--sp-32); border:1px solid var(--line-2); border-radius:var(--r-pill); color:var(--navy); font:var(--text-lead); }
[data-info-page] .notice-row[aria-expanded=true]::after { content:'−'; border-color:var(--navy); }
[data-info-page] .notice-row:focus-visible { outline-offset:-2px; }
[data-info-page] .notice-body { padding:0 var(--sp-48) var(--sp-28) 0; color:var(--ink-2); }
[data-info-page] .notice-more { display:inline-flex; align-items:center; justify-content:center; min-height:48px; max-width:100%; margin-top:var(--sp-28); padding:var(--sp-12) var(--sp-24); border:1px solid var(--line-2); border-radius:var(--r-s); background:var(--surface); color:var(--navy); font:var(--text-tab-pill); font-weight:600; cursor:pointer; }
[data-info-page] .news-current { margin-bottom:var(--sp-28); padding:var(--sp-16) var(--sp-20); border-left:2px solid var(--navy); background:var(--tint); color:var(--navy); font:var(--text-body); }

/* Prose: no legal copy is supplied here; retain the existing empty-copy notices. */
[data-info-page] .prose { max-width:var(--reading-max); }
[data-info-page] .prose > * + *, [data-info-page] .prose section + section { margin-top:var(--sp-40); }
[data-info-page] .prose :is(ul,ol) { margin-block:var(--sp-24); padding-left:var(--sp-24); }
[data-info-page] .prose li + li { margin-top:var(--sp-8); }
[data-info-page] .prose table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; font:var(--text-body); font-variant-numeric:tabular-nums; }
[data-info-page] .prose :is(th,td) { padding:var(--sp-12) var(--sp-16); border-bottom:1px solid var(--line); text-align:left; }
[data-info-page] .prose thead { background:var(--band); }
[data-info-page] .legal-placeholder { padding-block:var(--sp-24); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
[data-info-page] .prose .placeholder { font:inherit; }
@media (hover:hover) {
  [data-info-page] .notice-row:hover .notice-title { color:var(--navy); }
  [data-info-page] .notice-row:hover::after, [data-info-page] .notice-more:hover { border-color:var(--navy); }
  [data-info-page] .source-link:hover, [data-info-page] .fee-detail-link:hover { text-decoration-thickness:2px; }
}
@media (max-width:860px) {
  /* site.css keeps a legacy static rail for nonpay phones. Keep D3 behavior local. */
  [data-info-page] [data-page-tabs] .page-subtabs { position:sticky; }
  [data-info-page] [data-page-tabs] .page-subtabs-row { flex-wrap:nowrap; overflow-x:auto; }
  [data-info-page] .fee-section { margin-top:var(--sp-32); }
  [data-info-page] .fee-section h3, [data-info-page] .prose :is(h2,h3) { font:var(--text-title-block-phone); }
  [data-info-page] .fee-table-box { display:none; }
  [data-info-page] .fee-cards { display:grid; gap:var(--sp-16); margin:0; padding:0; list-style:none; }
  [data-info-page] .fee-card { min-width:0; padding:var(--sp-20); background:var(--band); border-radius:var(--r-m); }
  [data-info-page] .fee-card-main { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:start; gap:var(--sp-12); }
  [data-info-page] .fee-card h4 { min-width:0; margin:0; color:var(--ink); font:var(--text-title-sub-phone); }
  [data-info-page] .fee-card-price { margin:0; }
  [data-info-page] .fee-card-price dd { margin:0; color:var(--navy); font:var(--text-num-hours-phone); font-variant-numeric:tabular-nums; }
  [data-info-page] .fee-card-details, [data-info-page] .fee-card-extra { display:flex; flex-wrap:wrap; gap:var(--sp-4) var(--sp-16); margin:var(--sp-12) 0 0; color:var(--muted); font:var(--text-caption); font-variant-numeric:tabular-nums; }
  [data-info-page] .fee-card :is(.fee-card-details,.fee-card-extra) > div { display:flex; flex-wrap:wrap; gap:var(--sp-8); }
  [data-info-page] .fee-card :is(.fee-card-details,.fee-card-extra) dd { margin:0; }
  [data-info-page] .visit-document-slots li { font:var(--text-list-phone); }
  [data-info-page] .notice-row { grid-template-columns:auto minmax(0,1fr) var(--sp-32); gap:var(--sp-8) var(--sp-12); font:var(--text-list-phone); }
  [data-info-page] .notice-row time { grid-column:1/3; }
  [data-info-page] .notice-tag { grid-column:1; grid-row:2; }
  [data-info-page] .notice-title { grid-column:2; grid-row:2; }
  [data-info-page] .notice-row::after { grid-column:3; grid-row:1/3; }
  [data-info-page] .notice-body { padding-right:0; }
}
