/* Knowledge media: local assets, no inline styles; themes follow site-shell.js. */
.zm-figure { margin:32px 0; min-width:0; }
.zm-figure img,.zm-preview img { display:block; width:100%; height:auto; border-radius:18px; }
.zm-figure>img,.zm-slide>img { max-width:640px; margin-inline:auto; border:1px solid var(--line,var(--rule)); }
.zm-figure figcaption { margin:12px 0 0; color:var(--ink2); font:14px/1.6 var(--sans); }
.zm-dark,.zm-figure img.zm-dark,.zm-preview img.zm-dark { display:none; }
[data-theme="dark"] .zm-light { display:none; }
[data-theme="dark"] .zm-figure img.zm-dark,[data-theme="dark"] .zm-preview img.zm-dark { display:block; }
.zm-slides { display:grid; gap:24px; }
.zm-slide { min-width:0; margin:0; }
.zm-carousel.is-ready .zm-slide[hidden] { display:none; }
.zm-carousel.is-ready .zm-slides { display:block; }
.zm-controls { display:flex; align-items:center; justify-content:center; gap:14px; margin:18px 0 0; }
.zm-controls button { min-height:44px; min-width:44px; padding:9px 16px; border:1px solid var(--line,var(--rule)); border-radius:10px; background:var(--surface-solid,var(--card)); color:var(--ink); cursor:pointer; }
.zm-controls button:hover { border-color:var(--blue); }
.zm-controls button[aria-disabled="true"] { opacity:.45; cursor:default; }
.zm-controls button:focus-visible,.zm-carousel:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.zm-status { font:600 14px/1.4 var(--sans); color:var(--ink2); white-space:nowrap; }
.zm-dashboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.zm-stat { display:flex; flex-direction:column; justify-content:space-between; gap:18px; min-height:165px; padding:24px; border:1px solid var(--line,var(--rule)); border-radius:18px; background:var(--surface-solid,var(--card)); }
.zm-stat strong { font:600 clamp(26px,3.4vw,42px)/1.1 var(--serif); color:var(--blue); }
.zm-stat span { font:15px/1.5 var(--sans); color:var(--ink2); }
.zm-stat-wide { grid-column:span 2; grid-row:span 2; background:var(--bluewash); border-top:4px solid var(--blue); }
.zm-dashboard:has(>.zm-stat:nth-child(4)) .zm-stat:last-child { grid-column:1/-1; }
.sp-cards { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
.sp-cards li { overflow:hidden; min-width:0; }
.zm-preview { display:block; margin:-8px -8px 20px; }
.sp-cards li>a:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
@media(max-width:600px) {
 .zm-dashboard { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .zm-stat { padding:18px; min-height:145px; }
 .zm-stat-wide { grid-column:1/-1; grid-row:auto; }
 .zm-dashboard:has(>.zm-stat:nth-child(4)) .zm-stat-wide { grid-row:auto; }
 .zm-dashboard:has(>.zm-stat:nth-child(4)) .zm-stat:last-child { grid-column:1/-1; }
 .zm-stat span { font-size:14px; }
 .sp-cards { grid-template-columns:1fr; }
 .zm-figure { margin:26px 0; }
 .zm-controls { gap:10px; }
 .zm-controls button { padding:9px 12px; }
}
@media print {
 .zm-controls { display:none; }
 .zm-carousel.is-ready .zm-slide[hidden] { display:block; margin-top:24px; }
 .zm-figure { break-inside:avoid; }
}

/* Editorial photography: identical local assets in both themes. */
.zp-photo>img { max-width:100%; aspect-ratio:7/4; object-fit:cover; }
.zp-hero { margin:24px 0 32px; }
.zm-preview img { aspect-ratio:7/4; object-fit:cover; }
.zp-fee-total { justify-content:flex-start; gap:16px; }
.zp-fee-breakdown { display:grid; gap:12px; list-style:none; padding:16px 0 0; margin:0; border-top:1px solid var(--line,var(--rule)); }
.zp-fee-breakdown li { display:grid; grid-template-columns:100px 1fr; gap:12px; margin:0; }
.zp-fee-breakdown b { font:600 18px/1.5 var(--sans); color:var(--ink); }
.zp-fee-breakdown span { font-size:14px; }
@media(max-width:600px) { .zp-fee-breakdown li { grid-template-columns:90px 1fr; gap:10px; } }
