/* ═══════════════════════════════════════════════
   CortexConsult – legal.css  v1.1.0
   Nur für Impressum, Datenschutz, AGB
═══════════════════════════════════════════════ */
.page-hero { padding:140px 5% 72px; border-bottom:1px solid var(--green-border); position:relative; overflow:hidden; }
.page-hero::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--green),transparent); opacity:0.35; }
.page-tag { display:inline-block; font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--green); border:1px solid rgba(110,224,42,0.35); padding:5px 14px; border-radius:3px; margin-bottom:20px; }
.page-hero h1 { font-family:'Inter Tight',sans-serif; font-size:clamp(36px,5vw,64px); font-weight:900; line-height:1.0; letter-spacing:-0.03em; color:var(--text); margin-bottom:16px; }
.page-hero h1 span { color:var(--green); }
.page-hero p { font-size:15px; color:var(--text-muted); font-weight:300; line-height:1.7; max-width:560px; }

.layout { display:grid; grid-template-columns:220px 1fr; gap:0; max-width:1100px; margin:0 auto; padding:0 5%; align-items:start; }
.page-content { padding:56px 0 100px 56px; }
.page-content.solo { padding:56px 5% 100px; max-width:860px; margin:0 auto; }

.toc { position:sticky; top:100px; padding:56px 32px 56px 0; border-right:1px solid var(--green-border); }
.toc-title { font-size:11px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-dim); margin-bottom:16px; }
.toc ul { list-style:none; display:flex; flex-direction:column; gap:4px; }
.toc a { font-size:13px; color:var(--text-dim); text-decoration:none; line-height:1.5; padding:4px 8px; display:block; border-radius:3px; transition:color .2s,background .2s; }
.toc a:hover { color:var(--green); background:var(--green-glow2); }

.legal-section { margin-bottom:52px; padding-bottom:52px; border-bottom:1px solid var(--green-border); }
.legal-section:last-child { border-bottom:none; margin-bottom:0; }
.section-num { font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--green); margin-bottom:8px; opacity:0.8; }
.legal-section h2 { font-family:'Inter Tight',sans-serif; font-size:22px; font-weight:800; letter-spacing:-0.02em; color:var(--text); margin-bottom:20px; display:flex; align-items:center; gap:12px; }
.legal-section h2::before { content:''; display:block; width:3px; height:22px; background:var(--green); border-radius:2px; flex-shrink:0; }
.legal-section h3 { font-family:'Inter Tight',sans-serif; font-size:15px; font-weight:700; color:var(--text); margin-top:28px; margin-bottom:10px; letter-spacing:-0.01em; }
.legal-section p { font-size:15px; color:var(--text-muted); font-weight:300; line-height:1.8; margin-bottom:12px; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul, .legal-section ol { margin:12px 0 12px 20px; display:flex; flex-direction:column; gap:8px; }
.legal-section li { font-size:15px; color:var(--text-muted); font-weight:300; line-height:1.7; padding-left:4px; }
.legal-section ul li::marker { color:var(--green); }
.legal-section ol li::marker { color:var(--green); font-weight:600; font-size:13px; }
.legal-section a { color:var(--green); text-decoration:none; border-bottom:1px solid rgba(110,224,42,0.3); transition:border-color .2s; }
.legal-section a:hover { border-color:var(--green); }

.info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px; background:var(--green-border); border:1px solid var(--green-border); border-radius:4px; overflow:hidden; margin-top:4px; }
.info-cell { background:var(--dark2); padding:18px 22px; }
.info-label { font-size:11px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim); margin-bottom:5px; }
.info-value { font-size:14px; color:var(--text); font-weight:400; line-height:1.6; }
.info-value a { color:var(--green); text-decoration:none; border-bottom:none; }

.notice-box { background:var(--dark2); border-left:3px solid var(--green); padding:18px 22px; margin-top:16px; border-radius:0 4px 4px 0; }
.notice-box p { font-size:14px; color:var(--text-muted); font-weight:300; line-height:1.7; margin-bottom:0; }

.rights-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-top:8px; }
.right-item { background:var(--dark2); border:1px solid var(--green-border); border-radius:4px; padding:16px 20px; }
.right-item strong { font-family:'Inter Tight',sans-serif; font-size:14px; font-weight:700; color:var(--text); display:block; margin-bottom:4px; }
.right-item span { font-size:13px; color:var(--text-muted); font-weight:300; line-height:1.5; }

@media (max-width:900px) { .layout { grid-template-columns:1fr; } .toc { display:none; } .page-content { padding:48px 0 72px; } }
@media (max-width:600px) { .page-hero { padding:120px 5% 48px; } .legal-section { margin-bottom:40px; padding-bottom:40px; } .info-grid { grid-template-columns:1fr; } .rights-grid { grid-template-columns:1fr; } }
@media (max-width:400px) { .page-hero { padding:110px 4% 40px; } .layout { padding:0 4%; } }
