/* Inline use of cad_viewer_base. Scoped to the public demonstration only. */
.ai-step-hero { width:100%; min-width:0; align-self:center; border:1px solid #dfe5ef; border-radius:18px; overflow:hidden; background:#f5f8ff; box-shadow:0 20px 60px #2e47800a; }
.ai-step-heading { display:flex; align-items:center; gap:8px; padding:16px 19px; font-size:12px; color:#48566e; font-weight:600; background:#fff; border-bottom:1px solid #e3e9f3; }
.ai-step-indicator { width:7px; height:7px; border-radius:50%; background:#5264ff; flex:none; }
.ai-step-format { margin-inline-start:auto; font-size:10px; letter-spacing:.12em; color:#8794aa; direction:ltr; }
.ai-step-hero owl-component { display:block; min-width:0; }
.ai-step-static>img { display:block; width:100%; height:auto; }
.ai-step-hero owl-component:has(.ai-step-demo) + .ai-step-static { display:none; }
.ai-step-demo { position:relative; min-width:0; }
.ai-step-demo .o_cad_viewer { height:435px; min-height:340px; background:#f5f8ff; }
.ai-step-demo .o_cad_viewer_body { background:#f5f8ff; min-height:285px; }
.ai-step-demo .o_cad_viewer_toolbar { background:#fff; padding:7px 10px!important; gap:5px!important; border-bottom-color:#e5ebf5; }
.ai-site .ai-step-demo .o_cad_viewer_button { background:#f5f7fb; border:1px solid #e1e7f2; border-radius:7px; color:#52617b; font-size:11px; min-height:44px; min-width:44px; padding:7px 10px; box-shadow:none; }
.ai-site .ai-step-demo .o_cad_viewer_button:hover { color:#4053ed; border-color:#bdc7ff; background:#edf1ff; }
.ai-site .ai-step-demo .o_cad_viewer_button:focus-visible { outline:2px solid #5264ff; outline-offset:2px; }
.ai-step-demo .o_cad_viewer_info { color:#7b889e; background:#fff; border-top-color:#e5ebf5; font-size:10px!important; padding:7px 12px!important; gap:14px!important; }
.ai-step-demo .o_cad_viewer_legend { background:#ffffffeb; border-color:#dde5f2; border-radius:7px; font-size:10px!important; padding:7px; }
.ai-step-demo .o_cad_viewer_bend { border-color:#e0e6f0; }
.ai-step-demo .o_cad_viewer_canvas { cursor:grab; }
.ai-step-demo .o_cad_viewer_canvas:focus-visible { outline:2px solid #5264ff; outline-offset:-3px; }
.ai-step-demo .o_cad_viewer_canvas:active { cursor:grabbing; }
.ai-step-demo .o_cad_viewer_overlay { background:#f5f8ffed; }
.ai-step-demo .o_cad_viewer:is([data-state="error"],[data-state="no-webgl"],[data-state="too-large"]) .o_cad_viewer_overlay { background:#f5f8ff url('../models/albassem-mounting-chassis.png') center/contain no-repeat; justify-content:flex-end!important; }
.ai-step-demo .o_cad_viewer:is([data-state="error"],[data-state="no-webgl"],[data-state="too-large"]) .o_cad_viewer_overlay>i { display:none; }
.ai-step-demo .o_cad_viewer_message { font-size:12px; padding:12px; border:1px solid #dce4f2; border-radius:8px; background:#fffffff0; max-width:95%; }
.ai-step-help { color:#8190a7!important; background:#fff; border-top:1px solid #e5ebf5; padding:10px 17px!important; font-size:10px!important; line-height:1.7!important; margin:0!important; }
.ai-step-caption { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:15px 18px; background:#fff; border-top:1px solid #e5ebf5; color:#7c89a0; font-size:10px; line-height:1.6; }
.ai-step-caption a { color:#5264ff!important; font-weight:600; white-space:nowrap; text-decoration:none; }
.ai-step-caption a:hover { text-decoration:underline; }
.ai-step-fallback { position:relative; min-height:435px; display:grid; place-items:center; background:#f5f8ff; }
.ai-step-fallback>img { width:100%; height:435px; object-fit:contain; }
.ai-step-loading { position:absolute; inset-inline:15px; bottom:18px; display:flex; justify-content:center; align-items:center; gap:9px; font-size:11px; color:#65738a; background:#ffffffed; border:1px solid #e1e8f4; border-radius:8px; padding:10px; }
.ai-step-spinner { width:13px; height:13px; border:2px solid #dce2ff; border-top-color:#5264ff; border-radius:50%; animation:ai-step-spin 1s linear infinite; }
.ai-step-hero noscript img { width:100%; height:auto; }
.ai-step-hero noscript p { padding:10px 18px; font-size:12px; }
@keyframes ai-step-spin { to { transform:rotate(360deg); } }
@media(max-width:760px) { .ai-step-demo .o_cad_viewer { height:420px; min-height:340px; } .ai-step-demo .o_cad_viewer_toolbar { padding:7px!important; } .ai-site .ai-step-demo .o_cad_viewer_button { font-size:10px; padding:7px 8px; } .ai-step-heading { padding:14px; font-size:11px; } .ai-step-caption { padding:13px 14px; font-size:9px; } .ai-step-fallback { min-height:420px; } .ai-step-fallback>img { height:420px; } .ai-step-demo .o_cad_viewer_legend { max-width:80%; } }
@media(prefers-reduced-motion:reduce) { .ai-step-spinner { animation:none; } }

/* Reserve the final interactive footprint before the public component mounts. */
.ai-step-static { height:489px; display:grid; place-items:center; }
.ai-step-static>img { width:100%; height:100%; object-fit:contain; }
.ai-step-help { min-height:54px; display:flex; align-items:center; box-sizing:border-box; }
@media(max-width:760px) {
    .ai-step-static { height:531px; }
    .ai-step-demo .o_cad_viewer, .ai-step-fallback, .ai-step-fallback>img { height:460px; min-height:460px; }
    .ai-step-help { min-height:71px; }
}
