/* Standalone detail page. This stylesheet follows the shared visual system. */
.model-page {
  width: min(1240px, 100%);
  margin: 0 auto;
  padding: 30px 40px 0;
  outline-offset: -6px;
}
.model-page:focus:not(:focus-visible) { outline: none; }
.model-page .model-breadcrumb {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  margin-bottom: 27px;
  font-size: 12px;
  line-height: 1.5;
  color: #607053;
}
.model-page .model-breadcrumb a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  flex-shrink: 0;
  text-decoration: none;
  font-weight: 600;
}
.model-page .model-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.model-page .model-breadcrumb-divider { color: #a3af96; }
.model-page #model-breadcrumb-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.model-page .detail-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  align-items: start;
  gap: 38px;
  min-height: 0;
}
.model-page .detail-visual {
  position: sticky;
  top: 24px;
  min-height: 0;
  border: 1px solid #dde4d3;
  border-radius: 16px;
  overflow: hidden;
}
.model-page .detail-visual canvas {
  height: 510px;
  min-height: 360px;
  flex: none;
}
.model-page .viewer-top { top: 20px; left: 20px; right: 20px; }
.model-page .viewer-badge { font-size: 10px; }
.model-page .viewer-toolbar { padding: 0 20px 7px; font-size: 11px; }
.model-page .viewer-help { padding: 6px 18px 12px; font-size: 10px; line-height: 1.6; }
.model-page .model-geometry-note {
  padding: 11px 18px 13px;
  border-top: 1px solid #cbd6c080;
  background: #f6f8ef99;
  color: #5d6c54;
  font-size: 10px;
  line-height: 1.6;
  text-align: center;
}
.model-page .detail-info { padding: 5px 0 0; min-width: 0; min-height: 0; }
.model-page .detail-info h1 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 550;
  line-height: 1.14;
  letter-spacing: -1.3px;
  overflow-wrap: anywhere;
}
.model-page .demo-badge { max-width: 100%; font-size: 10px; }
.model-page .detail-category { font-size: 11px; margin-top: 24px; }
.model-page .detail-author { font-size: 12px; margin-top: 18px; }
.model-page .detail-author .avatar { width: 30px; height: 30px; font-size: 10px; }
.model-page .detail-author small { font-size: 10px; }
.model-page .detail-tabs { margin-top: 28px; gap: 26px; }
.model-page .detail-tabs button { font-size: 12px; min-height: 36px; }
.model-page .tab-panel { min-height: 0; padding-top: 22px; font-size: 13px; line-height: 1.85; }
.model-page .print-stats { margin-top: 22px; }
.model-page .print-stats strong { font-size: 14px; }
.model-page .print-stats span { font-size: 10px; }
.model-page .print-note { font-size: 11px; line-height: 1.8; }
.model-page .detail-tags { margin-top: 18px; }
.model-page .detail-bottom { margin-top: 0; padding-top: 25px; }
.model-page #detail-license { font-size: 11px; line-height: 1.7; }
.model-page .detail-actions { margin-top: 13px; }
.model-page .detail-actions .button { font-size: 12px; min-height: 50px; }
.model-page .save-detail { width: 50px; height: 50px; }
.model-page .file-row strong { font-size: 12px; }
.model-page .file-row small { font-size: 10px; }
.model-page .model-permalink {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  font-size: 10px;
  line-height: 1.7;
  color: #5d6c54;
}
.model-page .model-permalink a {
  color: #405b34;
  font-size: 11px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.model-page .model-page-footer {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 45px;
  padding: 25px 0;
  border-top: 1px solid var(--line);
  color: #5d6c54;
  font-size: 10px;
  line-height: 1.7;
}
.model-page .model-page-footer > span { margin-left: auto; }
@media (max-width: 1050px) {
  .model-page { padding: 24px 27px 0; }
  .model-page .detail-shell { gap: 27px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .model-page .detail-visual canvas { height: 470px; }
  .model-page .viewer-toolbar { padding-left: 16px; padding-right: 16px; font-size: 10px; }
}
@media (max-width: 760px) {
  .model-page { padding: 18px 19px 0; }
  .model-page .model-breadcrumb { margin-bottom: 18px; gap: 10px; font-size: 11px; }
  .model-page .detail-shell { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .model-page .detail-visual { position: relative; top: auto; border-radius: 13px; }
  .model-page .detail-visual canvas { height: 355px; min-height: 300px; }
  .model-page .viewer-top { top: 16px; left: 16px; right: 16px; }
  .model-page .viewer-toolbar { padding: 0 16px 5px; }
  .model-page .viewer-help { padding-bottom: 11px; }
  .model-page .model-geometry-note { padding: 10px 14px; font-size: 10px; }
  .model-page .detail-info { padding: 0; }
  .model-page .detail-info h1 { font-size: 33px; letter-spacing: -1px; }
  .model-page .detail-category { margin-top: 20px; }
  .model-page .detail-tabs { margin-top: 24px; gap: 28px; }
  .model-page .tab-panel { font-size: 13px; padding-top: 21px; }
  .model-page .detail-actions .button { font-size: 12px; }
  .model-page .model-page-footer { margin-top: 34px; padding: 22px 0; gap: 13px; flex-wrap: wrap; }
  .model-page .model-page-footer > span { margin-left: 0; }
}
@media (max-width: 390px) {
  .model-page { padding-left: 14px; padding-right: 14px; }
  .model-page .detail-visual canvas { height: 320px; min-height: 280px; }
  .model-page .detail-info h1 { font-size: 30px; }
  .model-page .detail-tabs { gap: 24px; }
  .model-page .print-stats { gap: 8px; }
  .model-page .print-stats strong { font-size: 13px; }
}

/* The same genuine links and clear demo estimates are used in both catalogues. */
.model-title,.model-open,.card-author-link{text-decoration:none}
.card-author-link:hover span,.detail-author-link:hover{text-decoration:underline;text-underline-offset:3px}
.card-estimate-note{font-size:10px;line-height:1.5;color:#5d6c54;margin:7px 0 0}
.detail-author-link{display:inline-flex;gap:9px;align-items:center;text-decoration:none;color:inherit}
@media(max-width:390px){.card-estimate-note{font-size:9px}}
.model-page:focus,.author-page:focus{outline:none}

/* Copyright permissions and download access are independent pieces of information. */
.card-terms{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;font-size:10px;line-height:1.5;color:#546b45}
.card-licence{text-decoration:underline;text-underline-offset:3px}
.card-access{padding:3px 6px;background:#e8efdc;border:1px solid #dce5ce;border-radius:4px;font-size:9px}
.licence-panel{border:1px solid #dce4d1;background:#f1f4e9;border-radius:11px;padding:18px;color:#526549}
.licence-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.model-page .licence-panel h2,.model-page .access-panel h2{font-size:13px;font-weight:650;letter-spacing:0;line-height:1.5;margin:0}
.licence-demo{font-size:8px;line-height:1.5;background:#e4ead8;border-radius:4px;padding:3px 6px;color:#596e4b}
#license-name{display:block;font-size:13px;font-weight:600;color:#2f4827;line-height:1.6}
#license-summary{font-size:11px;line-height:1.8;margin-top:5px}
#license-permissions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 17px;margin:13px 0;padding-left:17px;font-size:11px;line-height:1.7}
.licence-scope,.licence-notice{font-size:10px;line-height:1.8}
.licence-notice{margin-top:12px;padding-top:11px;border-top:1px solid #dce4d1;color:#5c6e53}
.licence-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}
.model-page .licence-links a{font-size:11px;line-height:1.7;color:#3b5b30;text-underline-offset:3px}
.access-panel{margin-top:17px;padding:17px 0 4px;border-top:1px solid var(--line);color:#53674b}
#access-kind{display:block;font-size:13px;line-height:1.6;margin-top:8px;color:#354e2c;font-weight:600}
#access-description{font-size:11px;line-height:1.8;margin-top:6px}
.access-future{font-size:10px;line-height:1.7;margin-top:7px;color:#607253}
@media(max-width:760px){.licence-panel{padding:17px}.licence-heading-row{gap:8px}#license-permissions{gap:6px 16px}.card-terms{font-size:10px}.card-access{font-size:9px}}
@media(max-width:390px){#license-permissions{grid-template-columns:minmax(0,1fr)}.licence-panel{padding:15px}.licence-links{gap:10px}.licence-demo{font-size:9px}}
#license-summary,#license-permissions,#access-description{font-size:12px}
.licence-scope,.licence-notice,.access-future{font-size:11px}

/* Print evidence and preview styling remain separate from mesh geometry. */
.card-production-note{font-size:10px;line-height:1.5;color:#59694f;margin:4px 0 0;overflow-wrap:anywhere}
.model-page .physical-print-note{display:inline-block;margin-top:12px;padding:5px 8px;border:1px solid #dce2d0;border-radius:5px;background:#edf1e3;color:#536246;font-size:10px;line-height:1.5}
.model-page .preview-colour-note{padding:0 18px 13px;background:#f6f8ef99;color:#5d6c54;font-size:10px;line-height:1.65;text-align:center}
.model-page .print-stats>div{min-width:0}
.model-page .print-stats strong{overflow-wrap:anywhere}
@media(max-width:760px){.model-page .preview-colour-note{padding:0 14px 12px}}
@media(max-width:390px){.card-production-note{font-size:9px}.model-page .physical-print-note{font-size:10px}}
