.cad-captures { margin:44px 0; border:1px solid var(--border,#d4ded1); border-radius:18px; overflow:hidden; background:var(--surface,#fff); }
.cad-captures *, .cad-captures *::before, .cad-captures *::after { box-sizing:border-box; }
.cad-captures-heading { padding:26px 28px 22px; }
.cad-captures-heading > p:first-child { margin:0 0 8px; color:var(--accent,#1d6e56); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.cad-captures-heading h3 { margin:0 0 12px; font-size:clamp(23px,3vw,30px); line-height:1.3; }
.cad-captures-route { margin:0; font-size:16px; line-height:1.75; font-weight:650; color:var(--text,#233a47); }
.cad-captures-settings { padding:23px 28px; background:var(--accent-bg,#eaf2e5); border-block:1px solid var(--border,#d4ded1); }
.cad-captures-settings strong { font-size:18px; line-height:1.45; color:var(--accent,#1d6e56); }
.cad-captures-settings p { margin:8px 0 0; font-size:15px; line-height:1.75; max-width:95ch; }
.cad-capture { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,2fr); gap:30px; margin:0; padding:30px 28px; border-bottom:1px solid var(--border,#d4ded1); align-items:center; }
.cad-capture figcaption { display:flex; align-items:flex-start; gap:13px; padding:0; background:none; border:0; }
.cad-capture-number { display:grid; place-items:center; flex:0 0 29px; height:29px; border-radius:50%; background:var(--accent,#1d6e56); color:white; font-weight:750; font-size:14px; }
.cad-capture h4 { margin:2px 0 10px; font-size:19px; line-height:1.35; }
.cad-capture figcaption p { margin:0; font-size:15px; line-height:1.75; color:var(--muted,#566a74); }
.cad-capture-image { min-width:0; }
.cad-image-enlarge { padding:0; font:inherit; color:inherit; background:transparent; border:0; cursor:zoom-in; }
.cad-capture-original { display:block; width:fit-content; max-width:100%; margin:auto; }
.cad-capture-original img { display:block; width:auto; max-width:100%; height:auto; border:1px solid #d6dee0; border-radius:3px; }
.cad-capture-crop { display:block; position:relative; width:100%; aspect-ratio:990/555; overflow:hidden; background:#343862; border:1px solid #d6dee0; border-radius:4px; }
.cad-capture-crop img { position:absolute; top:0; left:0; width:193.132%; max-width:none; height:auto; }
/* Show the full settings window and menu; focus only the SAT dropdown. */
[data-cad-export="solidworks"] .cad-capture:first-child { grid-template-columns:1fr; }
.cad-crop-solidworks-format { max-width:600px; margin:auto; aspect-ratio:480/91; background:#fff; }
.cad-crop-solidworks-format img { width:220.4167%; top:-27.4725%; }
.cad-captures-check,.cad-captures-handoff { margin:0; padding:23px 28px; font-size:15px; line-height:1.75; }
.cad-captures a:focus-visible,.cad-image-enlarge:focus-visible { outline:3px solid var(--accent,#1d6e56); outline-offset:4px; }
@media(max-width:800px) {
  .cad-capture { grid-template-columns:1fr; gap:22px; }
}
@media(max-width:480px) {
  .cad-captures-heading,.cad-captures-settings,.cad-capture,.cad-captures-check,.cad-captures-handoff { padding:22px 18px; }
  .cad-captures-route { font-size:15px; }
  .cad-capture h4 { font-size:18px; }
}

/* Only CAD guide captures use this viewer; all source images remain unchanged. */
html.cad-image-open,html.cad-image-open body { overflow:hidden; }
.cad-image-dialog { box-sizing:border-box; width:fit-content; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); padding:0; margin:auto; border:0; border-radius:8px; background:#fff; box-shadow:0 20px 80px #0005; overflow:hidden; cursor:zoom-out; }
.cad-image-dialog::backdrop { background:rgba(15,25,22,.85); }
.cad-image-dialog > img { display:block; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); object-fit:contain; }
.cad-image-close { position:absolute; z-index:1; top:6px; right:6px; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #c9d6d0; border-radius:50%; background:#fff; color:#183d32; box-shadow:0 2px 10px #0002; font:28px/1 system-ui,sans-serif; cursor:pointer; }
.cad-image-close:focus-visible { outline:3px solid #1d6e56; outline-offset:-4px; }
