/* Review surface only. Component rules remain in their existing owner files. */
.component-template main { display:block; min-height:calc(100svh - var(--header-height)); }
.component-template .template-intro,
.component-template .template-section { padding:64px var(--gutter); }
.component-template .template-intro { border-bottom:1px solid var(--line); }
.component-template .template-intro h1 { margin-top:16px; font-size:clamp(32px,4vw,56px); font-weight:400; letter-spacing:-.04em; }
.component-template .template-intro p:last-child { max-width:68ch; margin-top:16px; line-height:1.6; }
.component-template .template-section { border-bottom:1px solid #e5e5e5; }
.component-template .template-section > header { display:flex; align-items:baseline; gap:20px; margin-bottom:32px; }
.component-template .template-section > header h2 { font-size:24px; font-weight:400; }
.component-template .template-section > header p { color:#777; font-size:13px; }
.component-template .template-stack { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.component-template .template-form { max-width:560px; }
.component-template .template-form select { width:100%; }
.component-template .template-form .picker-alert { margin-top:24px; }
.component-template .template-card-slot { width:min(420px,100%); }
.component-template .template-card-slot .persona-card { width:100%; max-width:100%; }
.component-template .template-shell { border:1px solid #e5e5e5; }
.component-template .template-shell .page-head h2 { font-size:32px; line-height:1.25; font-weight:500; letter-spacing:-.03em; }
.component-template .template-shell .summary-bar { margin:0; }
.component-template .template-section .notice-dialog { position:static; }
@media(max-width:760px) {
 .component-template .template-intro,
 .component-template .template-section { padding:40px var(--gutter); }
 .component-template .template-section > header { display:block; }
 .component-template .template-section > header p { margin-top:8px; }
 .component-template .template-stack { align-items:stretch; flex-direction:column; }
 .component-template .template-stack .button { width:100%; }
 .component-template .template-shell .page-head h2 { font-size:24px; }
}
