.vorlage-layout{display:grid;grid-template-columns:1fr;gap:var(--space-6);align-items:start}@media(min-width:980px){.vorlage-layout{grid-template-columns:minmax(0,1fr) 280px;gap:var(--space-8)}.vorlage-layout .vorlage-aside{grid-column:2;grid-row:1}.vorlage-layout .legal-body{grid-column:1;grid-row:1}}.vorlage-layout .legal-body{min-width:0;max-width:none}.vorlage-layout .legal-body>p,.vorlage-layout .legal-body>ul,.vorlage-layout .legal-body>ol,.vorlage-layout .legal-body>blockquote,.vorlage-layout .legal-body>h3{max-width:var(--max-reading)}.vorlage-layout .legal-body table{width:100%}.vorlage-aside{display:flex;flex-direction:column;gap:var(--space-4);font-size:var(--text-sm)}@media(min-width:980px){.vorlage-aside{position:sticky;top:var(--space-5);max-height:calc(100vh - var(--space-8));overflow-y:auto}}.vorlage-cta{display:block;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-weight:600;text-align:center;transition:opacity var(--dur, .15s) var(--ease, ease)}.vorlage-cta:hover{opacity:.9}.vorlage-cta:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vorlage-aside__hint{margin:0;color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-snug)}.vorlage-aside__toc{border-top:var(--border-hair);padding-top:var(--space-4)}.vorlage-aside__toc summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2);list-style:none}.vorlage-aside__toc summary::-webkit-details-marker{display:none}.vorlage-aside__toc summary:before{content:"▾ ";display:inline-block;transition:transform var(--dur, .15s) var(--ease, ease)}.vorlage-aside__toc:not([open]) summary:before{transform:rotate(-90deg)}#vorlage-toc{display:flex;flex-direction:column;gap:2px}#vorlage-toc a{display:block;padding:var(--space-1) var(--space-2);color:var(--color-text);text-decoration:none;border-radius:var(--radius-sm);border-left:2px solid transparent;line-height:var(--leading-snug)}#vorlage-toc a:hover{background:var(--color-bg-soft);border-left-color:var(--color-accent)}#vorlage-toc a.is-active{background:var(--color-bg-soft);border-left-color:var(--color-accent);font-weight:500}.vorlage-aside__refs{border-top:var(--border-hair);padding-top:var(--space-4)}.vorlage-aside__refs h3{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);margin:0 0 var(--space-2) 0;font-weight:500}.vorlage-aside__refs ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.vorlage-aside__refs a{display:block;padding:var(--space-2) var(--space-3);background:var(--color-bg-soft);border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text);line-height:var(--leading-snug)}.vorlage-aside__refs a:hover{background:var(--color-bg-raised)}.vorlage-aside__refs a small{color:var(--color-text-muted)}.legal-body h2[id]{scroll-margin-top:var(--space-6)}.vorlage-textbox{position:relative;background:var(--color-bg-soft);border:var(--border-hair);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6);margin:var(--space-3) 0 var(--space-5) 0;font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);white-space:pre-wrap;word-break:break-word}.vorlage-textbox:before{content:""}.vorlage-copy-btn{position:absolute;top:var(--space-3);right:var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:.45em .9em;background:var(--color-text);color:var(--color-bg);border:1px solid var(--color-text);border-radius:var(--radius-sm);cursor:pointer;line-height:1;transition:opacity var(--dur, .15s) var(--ease, ease)}.vorlage-copy-btn:hover{opacity:.85}.vorlage-copy-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vorlage-copy-btn[data-state=copied]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
