.template-preview-shell { min-height: 100svh; background: var(--bg); color: var(--ink); }
.template-preview-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 1440px; margin: auto; padding: 1.2rem 4%; border-bottom: 1px solid var(--line-strong); }
.template-preview-brand { display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; text-decoration: none; color: inherit; }
.template-preview-brand .brightlook-wordmark { font-size: 1.6rem; }
.template-preview-header nav { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; }
.template-preview-main { max-width: 1440px; margin: auto; padding: 2.2rem 4% 4rem; }
.template-preview-title { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.8rem; }
.template-preview-title h1 { font-size: clamp(1.9rem, 3vw, 3.25rem); line-height: 1.08; letter-spacing: -.035em; margin: .35rem 0 .75rem; }
.template-preview-title p { max-width: 62ch; }
.template-preview-kicker { font-size: .875rem; font-weight: 650; color: var(--ink-3); margin: 0; }
.template-preview-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr); gap: 2rem; align-items: start; }
.template-preview-scene, .template-preview-chat { min-width: 0; }
.template-preview-scene figure { margin: 0; border: 1px solid var(--line-strong); border-radius: 14px; overflow: hidden; background: var(--surface); }
.template-preview-image { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: contain; background: #f2f3f5; }
.template-preview-image[hidden] { display: none; }
.template-preview-scene figcaption { padding: .75rem 1rem; font-size: .875rem; color: var(--ink-3); border-top: 1px solid var(--line-strong); }
.template-preview-image-missing { padding: 4rem 2rem; text-align: center; }
.template-preview-description { line-height: 1.6; margin: 1.25rem 0 .75rem; }
.template-preview-chat { border: 1px solid var(--line-strong); border-top: 5px solid #ffeb3b; border-radius: 14px; padding: 1.5rem; background: var(--surface); }
.template-preview-form { display: flex; flex-direction: column; gap: .85rem; }
.template-preview-form h2 { font-size: 1.5rem; line-height: 1.15; margin: 0; }
.template-preview-form p { margin: 0; line-height: 1.5; }
.template-preview-form textarea { width: 100%; min-height: 9rem; resize: vertical; font-size: 1rem; }
.template-preview-note { font-size: .875rem; line-height: 1.5; color: var(--ink-3); overflow-wrap: anywhere; }
.template-preview-shell .btn { min-height: 44px; white-space: normal; }
.template-preview-shell :is(a, button, textarea):focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.template-preview-shell h1[tabindex='-1']:focus { outline: none; }
@media (max-width: 760px) {
  .template-preview-header { padding: 1rem 5%; align-items: flex-start; flex-wrap: wrap; }
  .template-preview-header nav { width: 100%; justify-content: space-between; }
  .template-preview-main { padding: 1.5rem 5% 3rem; }
  .template-preview-title { display: block; margin-bottom: 1.25rem; }
  .template-preview-title > .btn { margin-top: .6rem; }
  .template-preview-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .template-preview-chat { padding: 1.2rem; }
}
