/* Public model detail extends the Store product family; Library stays independent. */
.model-product-page .model-detail {
  grid-template-areas: "breadcrumbs breadcrumbs" "preview purchase" "information purchase";
  align-items: start;
  row-gap: var(--anp-space-6);
}
.model-detail > * { min-width: 0; }
.model-breadcrumbs {
  grid-area: breadcrumbs;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--anp-space-2);
  color: var(--anp-text-muted);
  font-size: var(--anp-text-xs);
  overflow-wrap: anywhere;
}
.model-breadcrumbs a { display: inline-flex; align-items: center; min-height: var(--anp-hit-target); }
.model-breadcrumbs a:hover { color: var(--anp-brand-cyan); }
.model-preview { grid-area: preview; margin: 0; }
.model-detail .product-gallery > img { object-fit: contain; }
.model-detail .detail-placeholder svg { width: var(--anp-space-12); height: var(--anp-space-12); color: var(--anp-text-muted); }
.model-preview figcaption,
.model-detail .purchase-panel > .model-library-note { margin-top: var(--anp-space-3); font-size: var(--anp-text-xs); color: var(--anp-text-muted); }
.model-detail .purchase-panel { grid-area: purchase; }
.model-detail .purchase-panel h1 { font-size: clamp(var(--anp-text-xl), 3vw, var(--anp-text-2xl)); line-height: 1.2; overflow-wrap: anywhere; }
.model-detail .purchase-cta { color: var(--anp-text-on-accent); }
.model-detail .quick-buy-link { min-height: var(--anp-hit-target); }
.model-library-link { margin-top: var(--anp-space-3); gap: var(--anp-space-2); }
.model-detail a svg { width: var(--anp-space-5); height: var(--anp-space-5); flex-shrink: 0; }
.model-detail svg { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.model-detail .purchase-panel > .model-owned { color: var(--anp-success); font-weight: 650; }
.model-source { margin-top: var(--anp-space-6); padding: var(--anp-space-4); border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-lg); background: var(--anp-store-surface); }
.model-source a { display: flex; justify-content: space-between; align-items: center; gap: var(--anp-space-3); min-height: var(--anp-hit-target); font-weight: 650; overflow-wrap: anywhere; }
.model-source p { margin: var(--anp-space-2) 0 0; font-size: var(--anp-text-xs); color: var(--anp-text-secondary); }
.model-information { grid-area: information; display: grid; gap: var(--anp-space-6); overflow-wrap: anywhere; }
.model-information h2 { margin: 0 0 var(--anp-space-3); font: 750 var(--anp-text-xl)/var(--anp-line-xl) var(--anp-font-display); }
.model-information p { color: var(--anp-text-secondary); }
.model-specs { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--anp-space-3) var(--anp-space-6); }
.model-specs > div { padding-block: var(--anp-space-3); border-bottom: 1px solid var(--anp-border-subtle); }
.model-specs dt { font-size: var(--anp-text-xs); color: var(--anp-text-muted); }
.model-specs dd { margin: var(--anp-space-1) 0 0; font-size: var(--anp-text-sm); }
.model-tags { display: flex; flex-wrap: wrap; gap: var(--anp-space-2); padding: 0; margin: 0; list-style: none; }
.model-tags li { padding: var(--anp-space-2) var(--anp-space-3); background: var(--anp-store-surface); border: 1px solid var(--anp-border-subtle); border-radius: var(--anp-radius-round); font-size: var(--anp-text-xs); }
.model-detail a:focus-visible { outline: var(--anp-focus-outline); outline-offset: var(--anp-focus-offset); }
@media (max-width: 1024px) {
  .model-product-page .model-detail { grid-template-columns: minmax(0, 1fr); grid-template-areas: "breadcrumbs" "preview" "purchase" "information"; }
  .model-detail .purchase-panel { position: static; max-width: none; }
}
@media (max-width: 480px) {
  .model-specs { grid-template-columns: minmax(0, 1fr); }
}
