/* Stage 8b: ImageCard, photo Gallery and external RowCard variants.
   Shared DetailHead, CheckList, Faq and PageBottomLinks stay in sub.css. */
[data-sub-page=list] .page-head-inner { grid-template-columns:minmax(0,1fr); grid-template-areas:'copy'; }
[data-sub-page=list] .page-lead { max-width:36em; }
[data-sub-page=list] .conditions-note { margin-top:var(--sp-16); }
[data-sub-page=list] [data-conditions-tab] { min-width:var(--tap-min); }
[data-sub-page=list] .conditions-parts, [data-sub-page=list] .cond-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-48) var(--sp-28); }
[data-sub-page=list] .conditions-part-card, [data-sub-page=list] .cond-card { display:flex; flex-direction:column; min-width:0; color:var(--ink); }
[data-sub-page=list] .conditions-part-art, [data-sub-page=list] .cond-art { display:block; aspect-ratio:4/5; overflow:hidden; border-radius:var(--r-card); background:var(--band); }
[data-sub-page=list] .conditions-part-art img, [data-sub-page=list] .cond-art img { width:100%; height:100%; object-fit:cover; }
[data-sub-page=list] .conditions-part-copy, [data-sub-page=list] .cond-txt { display:flex; flex:1; flex-direction:column; gap:var(--sp-8); padding-top:var(--sp-20); }
[data-sub-page=list] .conditions-part-label { display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--sp-8) var(--sp-12); }
[data-sub-page=list] .conditions-part-label strong, [data-sub-page=list] .cond-txt b { color:var(--ink); font:var(--text-link-title); }
[data-sub-page=list] .conditions-part-label small, [data-sub-page=list] .cond-txt small { color:var(--muted); font:var(--text-caption); }
[data-sub-page=list] .conditions-part-preview, [data-sub-page=list] .cond-line { color:var(--ink-2); font:var(--text-body); }
[data-sub-page=list] .conditions-part-more, [data-sub-page=list] .cond-more { margin-top:auto; padding-top:var(--sp-8); color:var(--navy); font:var(--text-label); }
[data-sub-page=list] .cond-more i { font-style:normal; }
[data-sub-page=list] .list-result-message { padding:var(--sp-24); border-radius:var(--r-m); background:var(--band); color:var(--ink-2); font:var(--text-body); }
[data-sub-page=list] .visit-alias { display:block; scroll-margin-top:calc(var(--frame-height) + var(--sp-20)); }
[data-page=first-visit] .page-reading { max-width:var(--reading-max); }
[data-sub-page=list] .visit-review, [data-sub-page=list] .doctor-review, [data-sub-page=list] .tour-note { margin-bottom:var(--sp-24); color:var(--muted); font:var(--text-caption); }
[data-sub-page=list] .equipment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-48) var(--sp-28); }
[data-sub-page=list] .equipment-card { min-width:0; }
[data-sub-page=list] .equipment-photo { margin:0; }
[data-sub-page=list] .equipment-photo img { width:100%; aspect-ratio:4/3; padding:var(--sp-24); object-fit:contain; background:var(--band); border-radius:var(--r-card); }
[data-sub-page=list] .equipment-photo figcaption { margin-top:var(--sp-8); }
[data-sub-page=list] .equipment-copy { padding-top:var(--sp-20); }
[data-sub-page=list] .equipment-copy h2 { margin:0; font:var(--text-link-title); }
[data-sub-page=list] .equipment-name { white-space:normal; }
[data-sub-page=list] .equipment-model { margin-top:var(--sp-8); color:var(--muted); font:var(--text-caption); }
[data-sub-page=list] .equipment-copy .equipment-description { margin-top:var(--sp-12); font:var(--text-body); }
[data-sub-page=list] .tour-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--sp-32) var(--sp-28); }
[data-sub-page=list] .tour-tile { display:flex; flex-direction:column; gap:var(--sp-16); min-width:0; padding:0; background:none; color:var(--ink); text-align:left; }
[data-sub-page=list] .tour-tile img { width:100%; height:auto; aspect-ratio:700/380; object-fit:cover; border-radius:var(--r-card); background:var(--band); }
[data-sub-page=list] .tour-label { font:var(--text-link-title); }
[data-sub-page=list] .tour-dialog { width:min(1100px,calc(100% - var(--sp-40))); max-height:calc(100dvh - var(--sp-40)); margin:auto; padding:var(--sp-24); overflow:auto; overscroll-behavior:contain; border:1px solid var(--line); border-radius:var(--r-l); background:var(--surface); color:var(--ink); }
[data-sub-page=list] .tour-dialog::backdrop { background:var(--navy-deep); opacity:.85; }
[data-sub-page=list] .tour-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-12); margin-bottom:var(--sp-16); }
[data-sub-page=list] .tour-dialog-head h2 { margin:0; font:var(--text-link-title); }
[data-sub-page=list] .tour-dialog button { display:inline-flex; align-items:center; justify-content:center; min-height:var(--tap-min); min-width:var(--tap-min); padding:var(--sp-8) var(--sp-16); border:1px solid var(--line-2); border-radius:var(--r-s); background:var(--surface); color:var(--navy); font:var(--text-label); }
[data-sub-page=list] .tour-dialog-image { width:100%; height:auto; max-height:calc(100dvh - 280px); aspect-ratio:1400/760; object-fit:contain; border-radius:var(--r-m); background:var(--band); touch-action:pan-y pinch-zoom; }
[data-sub-page=list] .tour-dialog-controls { display:flex; align-items:center; justify-content:space-between; gap:var(--sp-12); margin-top:var(--sp-16); }
[data-sub-page=list] .tour-dialog-count { font:var(--text-label); font-weight:400; font-variant-numeric:tabular-nums; }
[data-sub-page=list] .tour-dialog-help { margin-top:var(--sp-12); color:var(--muted); font:var(--text-caption); text-align:center; }
[data-sub-page=list] .together-grid { display:grid; }
[data-sub-page=list] .together-card { display:grid; grid-template-columns:92px minmax(0,1fr); gap:var(--sp-24); align-items:start; padding-block:var(--sp-24); border-top:1px solid var(--line); }
[data-sub-page=list] .together-card:last-child { border-bottom:1px solid var(--line); }
[data-sub-page=list] .together-logo { display:grid; place-items:center; aspect-ratio:1; padding:var(--sp-8); border-radius:var(--r-thumb); background:var(--band); }
[data-sub-page=list] .together-logo img { width:100%; height:100%; object-fit:contain; }
[data-sub-page=list] .together-copy h2 { margin:0 0 var(--sp-8); font:var(--text-title-sub); }
[data-sub-page=list] .together-copy p { color:var(--ink-2); font:var(--text-body); }
[data-sub-page=list] .doctor-text-link { display:inline-flex; align-items:center; gap:var(--sp-8); min-height:var(--tap-min); margin-top:var(--sp-8); color:var(--navy); font:var(--text-label); }
[data-sub-page=list] .together-date { margin-top:var(--sp-24); color:var(--muted); font:var(--text-caption); font-variant-numeric:tabular-nums; }
@media (width > 860px) {
  [data-page=equipment] .equipment-card { display:grid; grid-template-rows:subgrid; grid-row:span 2; row-gap:0; }
}
@media (hover:hover) {
  [data-sub-page=list] .conditions-part-card:hover strong, [data-sub-page=list] .cond-card:hover b, [data-sub-page=list] .tour-tile:hover .tour-label, [data-sub-page=list] .together-card:hover h2 { color:var(--navy); text-decoration:underline; text-underline-offset:4px; }
  [data-sub-page=list] .tour-dialog button:hover { border-color:var(--navy); }
}
@media (max-width:1100px) {
  [data-sub-page=list] .equipment-grid, [data-sub-page=list] .tour-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
  [data-page=conditions] .section-tabs > .page-wrap { position:relative; }
  [data-page=conditions] .section-tabs > .page-wrap::after { content:''; position:absolute; inset:0 var(--gutter) 0 auto; width:26px; background:linear-gradient(to right,transparent,var(--surface)); pointer-events:none; }
  [data-page=conditions] .section-tabs-row { padding-right:26px; }
  [data-sub-page=list] .conditions-parts, [data-sub-page=list] .cond-grid { display:flex; gap:var(--sp-20); margin-inline:calc(-1 * var(--gutter)); padding:0 var(--gutter) var(--sp-16); overflow-x:auto; scroll-snap-type:x proximity; }
  [data-sub-page=list] .conditions-part-card, [data-sub-page=list] .cond-card { flex:0 0 72%; max-width:360px; scroll-snap-align:center; }
  [data-sub-page=list] .tour-label, [data-sub-page=list] .equipment-copy h2, [data-sub-page=list] .together-copy h2 { font:var(--text-title-sub-phone); font-weight:500; }
  [data-sub-page=list] .equipment-grid, [data-sub-page=list] .tour-grid { gap:var(--sp-32) var(--sp-20); }
}
@media (max-width:600px) {
  [data-sub-page=list] .equipment-grid, [data-sub-page=list] .tour-grid { grid-template-columns:minmax(0,1fr); }
  [data-sub-page=list] .tour-dialog { width:calc(100% - var(--sp-24)); padding:var(--sp-16); border-radius:var(--r-card); }
  [data-sub-page=list] .together-card { grid-template-columns:80px minmax(0,1fr); gap:var(--sp-16); }
}
