/* Rechtliche Seiten und Fehlerseite: gemeinsamer Rahmen des aktuellen Entwurfs. */
.legal-page .shell{max-width:1240px;margin-inline:auto;padding-inline:40px}
.legal-page main{overflow-wrap:anywhere}
.legal-page .document-hero{background:var(--soft);border-bottom:1px solid var(--line);padding-block:28px 44px}
.legal-page .breadcrumb-nav{font-size:12px;font-weight:400;margin-bottom:32px}
.legal-page .breadcrumb{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;padding:0;margin:0;color:var(--muted)}
.legal-page .breadcrumb li+li::before{content:"/";margin-right:12px;color:#85908b}
.legal-page .breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.legal-page .eyebrow{display:block}
.legal-page .display{max-width:900px;font-size:clamp(32px,4vw,52px);line-height:1.12;hyphens:auto}
.legal-page .display em{font-style:normal}
.legal-page .lede{max-width:730px;font-size:17px;color:var(--muted);margin-top:20px;line-height:1.65}
.legal-page .document-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;color:var(--muted);font-size:12px}
.legal-page .section{padding-block:48px 64px;border-bottom:1px solid var(--line)}
.legal-page .document-shell,.legal-page .imprint-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start}
.legal-page .document-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:sticky;top:116px;font-size:13px;max-height:calc(100dvh - 140px);overflow:auto;border-left:2px solid var(--line)}
.legal-page .document-nav>span{padding:0 18px 14px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.legal-page .document-nav a{padding:11px 18px;min-height:44px;line-height:1.45;border-left:2px solid transparent;margin-left:-2px}
.legal-page .document-nav a:hover{background:var(--soft);border-color:var(--red)}
.legal-page .document-nav a:focus-visible{outline-offset:-3px}
.legal-page .document-content{max-width:760px;min-width:0;font-size:16px;line-height:1.75}
.legal-page .document-content h2,.legal-page .imprint-content h2{font-size:clamp(22px,2vw,28px);line-height:1.3;letter-spacing:-.025em;hyphens:auto}
.legal-page .document-content h3{font-size:20px;line-height:1.35;margin-block:24px 12px}
.legal-page .document-content p{margin-top:16px}
.legal-page .document-content a:not(.button),.legal-page .imprint-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.legal-page .legal-section{padding-block:32px;border-top:1px solid var(--line)}
.legal-page .legal-section:first-child{padding-top:0;border-top:0}
.legal-page .legal-section:target h2,.legal-page .imprint-content section:target h2{color:var(--red)}
.legal-page .document-lead{margin:0 0 30px!important;padding:22px 24px;background:var(--soft);border-left:3px solid var(--red)}
.legal-page .legal-callout{background:var(--soft);border-left:3px solid #b8c4bd;padding:20px 24px;margin-top:24px}
.legal-page .legal-callout p{margin-top:10px}
.legal-page .withdrawal-template{border:1px solid #bac4be;border-radius:4px;padding:24px;margin-top:24px}
.legal-page .withdrawal-template>p:first-child{margin-top:0}
.legal-page .withdrawal-template dl{margin:24px 0 0}
.legal-page .withdrawal-template dl>div{margin-top:20px}
.legal-page .withdrawal-template dt{font-size:13px;font-weight:600;color:var(--muted)}
.legal-page .withdrawal-template dd{margin:0;min-height:40px;border-bottom:1px solid #a4afa8}
.legal-page .withdrawal-template small{display:block;padding-top:12px;font-size:12px;color:var(--muted)}
.legal-page .key-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-block:1px solid var(--line);padding-block:28px;margin-top:16px}
.legal-page .key-info__card b{display:block;color:var(--red);font-size:24px;margin-bottom:10px}
.legal-page .key-info__card strong{display:block;font-size:15px;line-height:1.4}
.legal-page .key-info__card p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:10px}
.legal-page .service-contact{background:var(--soft);padding:28px;margin-top:36px}
.legal-page .service-contact>div+div{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:22px}
.legal-page .service-contact p{color:var(--muted)}
.legal-page .button--primary{background:var(--red);color:white}
.legal-page .button--primary:hover{background:var(--red-dark);color:white}
.legal-page .button--secondary{background:white;border-color:#bac4be;color:var(--ink)}
.legal-page .button--secondary:hover{border-color:var(--red);color:var(--red)}
.legal-page .imprint-content{min-width:0}
.legal-page .imprint-provider{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:4px}
.legal-page .imprint-card__number{display:block;font-size:12px;color:var(--red);margin-bottom:16px}
.legal-page .imprint-provider address{align-self:end;font-style:normal}
.legal-page .imprint-provider address span{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}
.legal-page .imprint-provider address strong{font-size:16px;line-height:1.7;font-weight:400}
.legal-page .imprint-contact{padding-block:32px}
.legal-page .imprint-contact__head{display:flex;align-items:baseline;gap:16px}
.legal-page .imprint-contact__head .imprint-card__number{margin:0}
.legal-page .imprint-content dl{margin:20px 0 0}
.legal-page .imprint-content dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding-block:12px;border-top:1px solid var(--line)}
.legal-page .imprint-content dt{font-size:13px;color:var(--muted)}
.legal-page .imprint-content dd{margin:0;font-size:15px}
.legal-page .imprint-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.legal-page .imprint-card{padding-top:24px;border-top:1px solid var(--line);min-width:0}
.legal-page .imprint-card--wide{grid-column:1/-1}
.legal-page .imprint-card h2{font-size:23px}
.legal-page .imprint-card p{margin-top:16px}
.legal-page .imprint-card dl>div{display:block;border:0;padding-block:0 12px}
.legal-page .imprint-card dd{margin-top:5px}
.legal-page .pdf-card{border:1px solid var(--line);border-radius:4px;overflow:hidden}
.legal-page .pdf-card__head{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:28px;background:var(--soft)}
.legal-page .pdf-card__head h2{font-size:23px;line-height:1.3}
.legal-page .pdf-card__head p{color:var(--muted);font-size:13px;margin-top:8px}
.legal-page .pdf-icon{color:var(--red);border:1px solid #c5ceca;padding:16px 12px;font-weight:700;font-size:13px;background:white;border-radius:3px}
.legal-page .pdf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-left:auto}
.legal-page .pdf-frame{display:block;width:100%;height:750px;max-height:85vh;border:0;background:#eef1ef}
.legal-page .pdf-fallback{padding:36px;text-align:center}
.legal-page .pdf-fallback p+p{margin-top:16px}
.legal-page .not-found{padding-block:72px 80px;border-bottom:1px solid var(--line);background:var(--soft)}
.legal-page .not-found__inner{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:center}
.legal-page .not-found p{margin-top:24px;color:var(--muted);max-width:580px;line-height:1.75}
.legal-page .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.legal-page .not-found__links{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #c5ceca}
.legal-page .not-found__links a{display:flex;align-items:center;gap:20px;padding-block:24px;border-bottom:1px solid #c5ceca;font-size:17px}
.legal-page .not-found__links span{font-size:12px;color:var(--muted);font-weight:400}
.legal-page .not-found__links i{font-style:normal;margin-left:auto;color:var(--red)}
@media(max-width:1000px){
 .legal-page .shell{padding-inline:28px}
 .legal-page .document-shell,.legal-page .imprint-shell{grid-template-columns:200px minmax(0,1fr);gap:36px}
 .legal-page .imprint-provider{grid-template-columns:1fr}
 .legal-page .not-found__inner{gap:36px}
 .legal-page .pdf-actions{margin-left:0}
}
@media(max-width:760px){
 .legal-page .shell{padding-inline:22px}
 .legal-page .document-hero{padding-block:22px 32px}
 .legal-page .breadcrumb-nav{margin-bottom:24px}
 .legal-page .lede{font-size:16px}
 .legal-page .section{padding-block:28px 40px}
 .legal-page .document-shell,.legal-page .imprint-shell{grid-template-columns:1fr;gap:32px}
 .legal-page .document-nav{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:4px;padding:16px;max-height:none;overflow:visible;background:var(--soft)}
 .legal-page .document-nav>span{grid-column:1/-1;padding:0 4px 10px}
 .legal-page .document-nav a{margin:0;padding:10px 4px;border-left:0;font-size:12px}
 .legal-page .document-content{font-size:16px}
 .legal-page .key-info{grid-template-columns:1fr;gap:20px}
 .legal-page .key-info__card{display:grid;grid-template-columns:38px 1fr;gap:0 14px}
 .legal-page .key-info__card b{grid-row:1/3;margin:0}
 .legal-page .key-info__card p{grid-column:2;margin-top:5px}
 .legal-page .not-found{padding-block:40px}
 .legal-page .not-found__inner{grid-template-columns:1fr;gap:36px}
 .legal-page .not-found__links a{padding-block:20px}
 .legal-page .pdf-card__head{padding:22px;gap:16px}
 .legal-page .pdf-icon{display:none}
 .legal-page .pdf-frame{height:520px;max-height:70vh}
}
@media(max-width:430px){
 .legal-page .shell{padding-inline:18px}
 .legal-page .document-nav{grid-template-columns:1fr;padding:14px}
 .legal-page .document-nav a{font-size:13px}
 .legal-page .imprint-provider,.legal-page .withdrawal-template,.legal-page .service-contact{padding:20px}
 .legal-page .imprint-card-grid{grid-template-columns:1fr}
 .legal-page .imprint-content dl>div{grid-template-columns:1fr;gap:5px}
 .legal-page .document-lead,.legal-page .legal-callout{padding:18px}
 .legal-page .document-meta{gap:8px 16px}
 .legal-page .pdf-actions{width:100%}
 .legal-page .pdf-actions .button{width:100%;justify-content:center}
}
@media print{
 .legal-page .header,.legal-page .footer,.legal-page .skip,.legal-page .breadcrumb-nav,.legal-page .document-nav,.legal-page .pdf-actions{display:none}
 .legal-page .shell{max-width:none;padding:0}
 .legal-page .document-hero,.legal-page .section{padding-block:16px;background:white}
 .legal-page .document-shell,.legal-page .imprint-shell{display:block}
 .legal-page .document-content{max-width:none}
 .legal-page .display{font-size:28px}
 .legal-page .legal-section h2{break-after:avoid}
 .legal-page .legal-callout,.legal-page .withdrawal-template,.legal-page .imprint-provider{break-inside:avoid}
}
