/* Wide pointer-driven workspaces; touch layouts retain their existing controls. */
.desktop-gesture-hint { display:none; }
.sidebar-close { display:none; }
@media (min-width:1100px) and (hover:hover) and (pointer:fine) {
  .home { max-width:1480px; padding:40px 56px 56px; }
  .catalog-search-form { max-width:760px; }
  .catalog-heading { margin-top:32px; margin-bottom:22px; }
  .catalog-heading h1 { font-size:32px; line-height:40px; }
  .model-grid { gap:24px; }
  .model-card-copy { padding:12px 14px 18px; }
  .model-card a { border:1px solid #e4e7e1; }

  .model-heading,.spec-heading,.settings-heading { top:28px; left:32px; right:620px; }
  .model-heading h1,.spec-heading h1,.settings-heading h1 { max-width:100%; font-size:28px; line-height:34px; }
  .model-heading p,.spec-heading p,.settings-heading p { font-size:14px; line-height:20px; }
  .bottom-menu { top:24px; bottom:auto; left:auto; right:84px; width:480px; height:56px; padding:5px; gap:4px; border:1px solid #e4e7e1; border-radius:16px; }
  .bottom-menu button { flex-direction:row; gap:9px; height:44px; border-radius:11px; font-size:14px; }
  .bottom-menu button[aria-selected=true] { background:#eaf4eb; }
  .bottom-menu button:hover:not([aria-selected=true]) { background:#f4f5f1; }
  .header-more { top:32px; right:28px; }
  .viewer-toolbar { top:112px; left:32px; right:88px; }
  .view-presets { top:160px; left:80px; width:180px; }
  .model-side-tools { top:112px; right:28px; gap:10px; }
  .circle-button:hover,.view-tool:hover { background:#edf5ef; }
  .instruction-banner { left:auto; right:28px; bottom:28px; width:320px; height:56px; border-radius:14px; }
  .selected-card { left:28px; right:auto; bottom:28px; width:380px; height:142px; padding:14px 14px 0; }
  .selection-menu { margin-top:10px; height:48px; gap:6px; }
  .selection-menu button { border-radius:9px; font-size:12px; }
  .selection-menu button:hover { background:#edf5ef; }
  .desktop-gesture-hint { display:block; position:absolute; left:32px; bottom:28px; margin:0; color:#747975; font-size:12px; line-height:20px; pointer-events:none; }
  .viewer[data-selected=true] .desktop-gesture-hint { display:none; }
  .spec-switch { top:120px; left:50%; right:auto; width:440px; transform:translateX(-50%); }
  .spec-list { top:186px; bottom:28px; left:max(32px,calc((100% - 960px)/2)); right:max(32px,calc((100% - 960px)/2)); padding:0 8px 8px; scrollbar-width:thin; }
  .spec-list::-webkit-scrollbar { display:block; width:6px; }
  .spec-list::-webkit-scrollbar-thumb { background:#d3dbd3; border-radius:6px; }
  .spec-row { min-height:70px; padding:14px 20px; }
  .spec-material { padding:18px 20px; }
  .settings-screen { padding:120px max(32px,calc((100% - 760px)/2)) 32px; }
  .settings-options { gap:12px; }
  .settings-option,.settings-action,.palette-setting { padding:20px; }
  .settings-option:hover,.settings-action:hover { border-color:#aabdab; }
  .drawing-view { padding:24px max(32px,calc((100% - 1240px)/2)) 16px; }
  .drawing-header { min-height:80px; }
  .drawing-content { padding:0 8px 16px; }
  .drawing-sheet-group { display:grid; grid-template-columns:repeat(auto-fit,minmax(420px,1fr)); gap:20px; }
  .drawing-face { min-width:0; }
  .drawing-sheet { height:clamp(360px,58dvh,720px); }
  #drawing-details { display:grid; grid-template-columns:repeat(auto-fit,minmax(420px,1fr)); align-items:start; gap:20px; }
  .drawing-hole-table th,.drawing-hole-table td { padding:10px 6px; }
  .explosion-slider-panel { bottom:100px; }
  .explosion-actions { bottom:24px; border-radius:16px; }

  /* Keep a live model workspace beside the active inspector. */
  .viewer { --inspector-width:440px; }
  .viewer:not([data-screen=view]) #panel-view { right:var(--inspector-width); }
  .viewer:not([data-screen=view]) .model-heading { right:180px; }
  .viewer:not([data-screen=view]) .viewer-toolbar { display:flex!important; right:calc(var(--inspector-width) + 88px); }
  .viewer:not([data-screen=view]) .model-side-tools { display:flex; right:calc(var(--inspector-width) + 28px); }
  .viewer:not([data-screen=view]) .animation-tool { display:grid!important; }
  .viewer:not([data-screen=view]) .instruction-banner { display:flex!important; right:calc(var(--inspector-width) + 28px); }
  .viewer:not([data-screen=view]) .selection-menu { display:flex; }
  .viewer:not([data-screen=view]) .view-presets:not([hidden]) { display:flex; }
  .desktop-gesture-hint { max-width:calc(100% - 400px); }
  .spec-screen,.settings-screen { top:100px; left:auto; right:0; bottom:0; width:var(--inspector-width); z-index:2; border-left:1px solid #e4e7e1; background:var(--paper); }
  .spec-heading,.settings-heading { top:24px; left:24px; right:60px; }
  .spec-heading h1,.settings-heading h1 { font-size:24px; line-height:30px; }
  .sidebar-close { display:grid; position:absolute; top:22px; right:18px; width:32px; height:32px; }
  .sidebar-close img { width:20px; height:20px; }
  .spec-switch { top:104px; left:20px; right:20px; width:auto; transform:none; }
  .spec-list { top:168px; left:20px; right:20px; bottom:20px; padding:0 4px 8px 0; }
  .spec-row { padding:12px 14px; min-height:64px; }
  .spec-material { padding:14px; gap:12px; }
  .settings-screen { padding:104px 20px 24px; }
  .settings-option,.settings-action,.palette-setting { padding:16px; }
  .viewer:not([data-screen=view]) .selected-card { max-width:calc(100% - 56px); }
}
@media (min-width:1100px) and (max-width:1250px) and (hover:hover) and (pointer:fine) {
  .viewer:not([data-screen=view])[data-selected=true] .instruction-banner { bottom:186px; width:280px; }
  .viewer:not([data-screen=view]) .desktop-gesture-hint { bottom:96px; max-width:calc(100% - 64px); }
}
