/* erwerbsminderungs-rente.de – Kanzlei-Design auf Basis Bootstrap 5.3 */
:root{
  --emr-ink:#14273a;
  --emr-ink-2:#22405c;
  --emr-teal:#1d6b68;
  --emr-teal-soft:#e6f1f0;
  --emr-amber:#b8741a;
  --emr-amber-dark:#965c10;
  --emr-paper:#faf8f4;
  --emr-line:#e3ded5;
  --emr-muted:#5b6670;
  --bs-body-font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --bs-body-color:#1f2a33;
  --bs-link-color-rgb:29,107,104;
  --bs-link-hover-color-rgb:20,39,58;
  --emr-serif: Georgia,"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;
}
body{background:#fff;font-size:1.0625rem;line-height:1.7}
h1,h2,h3,.h1,.h2,.h3,.display-5{font-family:var(--emr-serif);color:var(--emr-ink);font-weight:700;letter-spacing:-.01em}
h2{margin-top:2.4rem;margin-bottom:1rem;font-size:1.7rem}
h3{margin-top:1.8rem;font-size:1.3rem}
.icon{width:1em;height:1em;vertical-align:-.125em;fill:currentColor}
.icon-lg{width:1.6rem;height:1.6rem}
.icon-xl{width:2.2rem;height:2.2rem}
a{text-underline-offset:.18em}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:2000}
.skip-link:focus{left:1rem}

/* Topbar & Navigation */
.topbar{background:var(--emr-ink);color:#cfd8e0;font-size:.875rem}
.topbar a{color:#fff;text-decoration:none}
.navbar{background:#fff;border-bottom:1px solid var(--emr-line)}
.navbar-brand{font-family:var(--emr-serif);font-weight:700;color:var(--emr-ink)!important;line-height:1.15}
.navbar-brand small{display:block;font-family:var(--bs-body-font-family);font-weight:400;font-size:.72rem;color:var(--emr-muted);letter-spacing:.02em}
.brand-mark{width:2.4rem;height:2.4rem;border-radius:.5rem;background:var(--emr-teal);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--emr-serif);font-size:1.15rem;margin-right:.6rem}
.nav-link{color:var(--emr-ink)!important;font-weight:500}
.dropdown-menu{border-color:var(--emr-line);box-shadow:0 12px 30px rgba(20,39,58,.12)}
.mega .dropdown-header{color:var(--emr-teal);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}
@media (min-width:992px){.mega{min-width:46rem}}
.btn-cta{--bs-btn-bg:var(--emr-amber);--bs-btn-border-color:var(--emr-amber);--bs-btn-hover-bg:var(--emr-amber-dark);--bs-btn-hover-border-color:var(--emr-amber-dark);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--emr-amber-dark);font-weight:600}
.btn-teal{--bs-btn-bg:var(--emr-teal);--bs-btn-border-color:var(--emr-teal);--bs-btn-hover-bg:var(--emr-ink);--bs-btn-hover-border-color:var(--emr-ink);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;font-weight:600}

/* Hero */
.hero{background:linear-gradient(135deg,var(--emr-ink) 0%,var(--emr-ink-2) 60%,#2b5a6b 100%);color:#e8eef3;padding:4.5rem 0 4rem;position:relative;overflow:hidden}
.hero h1{color:#fff;font-size:clamp(2rem,4.5vw,3.1rem);line-height:1.15}
.hero .lead{color:#d5e0e8;font-size:1.2rem}
.hero::after{content:"§";position:absolute;right:-1rem;bottom:-6rem;font-family:var(--emr-serif);font-size:26rem;color:rgba(255,255,255,.045);line-height:1}
.hero-badges span{display:inline-flex;align-items:center;gap:.4rem;margin:.25rem .9rem .25rem 0;font-size:.95rem;color:#fff}

/* Einstiegskarten */
.entry-card{border:1px solid var(--emr-line);border-radius:.9rem;padding:1.5rem;height:100%;background:#fff;transition:transform .15s,box-shadow .15s;text-decoration:none;color:inherit;display:block}
.entry-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,39,58,.10);color:inherit}
.entry-card .ico{width:3rem;height:3rem;border-radius:.7rem;background:var(--emr-teal-soft);color:var(--emr-teal);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.entry-card h3{margin-top:0;font-size:1.2rem}
.entry-card .more{color:var(--emr-teal);font-weight:600}
.section{padding:4rem 0}
.section-paper{background:var(--emr-paper);border-top:1px solid var(--emr-line);border-bottom:1px solid var(--emr-line)}
.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;font-weight:700;color:var(--emr-teal)}
.pillar h3{font-size:1.1rem;margin-top:0}
.pillar ul{list-style:none;padding-left:0;margin:0}
.pillar li{padding:.35rem 0;border-bottom:1px dashed var(--emr-line)}
.pillar li:last-child{border-bottom:0}
.pillar a{text-decoration:none;color:var(--emr-ink)}
.pillar a:hover{color:var(--emr-teal)}

/* Artikel */
.page-head{background:var(--emr-paper);border-bottom:1px solid var(--emr-line);padding:2.2rem 0 2rem}
.page-head h1{font-size:clamp(1.8rem,3.6vw,2.5rem);line-height:1.2;margin-bottom:.8rem}
.page-head .lead{color:#3b4752}
.breadcrumb{font-size:.85rem;margin-bottom:.8rem}
.breadcrumb a{color:var(--emr-muted)}
.article{max-width:46rem}
.article p,.article li{hyphens:auto}
.toc{border-left:3px solid var(--emr-teal);background:var(--emr-teal-soft);padding:1rem 1.25rem;border-radius:0 .6rem .6rem 0;margin:1.5rem 0 1rem}
.toc ol{margin:0;padding-left:1.2rem}
.toc a{text-decoration:none}
.callout{border-radius:.7rem;padding:1.1rem 1.3rem;margin:1.5rem 0;border:1px solid}
.callout-warn{background:#fff7ea;border-color:#f0d6a8}
.callout-info{background:var(--emr-teal-soft);border-color:#c5dfdc}
.callout strong:first-child{display:block;margin-bottom:.25rem}
.urteil{border:1px solid var(--emr-line);border-radius:.8rem;padding:1.2rem 1.4rem;margin:1.2rem 0;background:#fff;position:relative}
.urteil::before{content:"";position:absolute;left:0;top:1rem;bottom:1rem;width:4px;border-radius:0 4px 4px 0;background:var(--emr-amber)}
.urteil .az{font-size:.85rem;color:var(--emr-muted);font-weight:600;letter-spacing:.01em}
.urteil h3{margin:.25rem 0 .5rem;font-size:1.12rem}
.urteil p:last-child{margin-bottom:0}
.checklist{list-style:none;padding-left:0}
.checklist li{padding-left:2rem;position:relative;margin-bottom:.6rem}
.checklist li .icon{position:absolute;left:0;top:.3rem;color:var(--emr-teal);width:1.25rem;height:1.25rem}
.cta-box{background:var(--emr-ink);color:#dfe7ee;border-radius:1rem;padding:1.8rem;margin:2.5rem 0}
.cta-box h2,.cta-box h3{color:#fff;margin-top:0}
.cta-box a:not(.btn){color:#fff}
.sidebar .card{border-color:var(--emr-line);border-radius:.9rem}
.sidebar .list-group-item{border-color:var(--emr-line);font-size:.95rem}
.sidebar .list-group-item.active{background:var(--emr-teal);border-color:var(--emr-teal)}
@media (min-width:992px){.sticky-side{position:sticky;top:6rem}}
.table-emr th{background:var(--emr-teal-soft);color:var(--emr-ink)}
.faq .accordion-button{font-weight:600;color:var(--emr-ink)}
.faq .accordion-button:not(.collapsed){background:var(--emr-teal-soft);color:var(--emr-ink);box-shadow:none}

/* Footer */
footer{background:#0f1f2e;color:#b9c5cf;font-size:.95rem}
footer h2{color:#fff;font-size:1.05rem;margin-top:0;font-family:var(--bs-body-font-family)}
footer a{color:#dfe7ee;text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
.mobile-call{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:flex;box-shadow:0 -4px 14px rgba(0,0,0,.15)}
.mobile-call a{flex:1;text-align:center;padding:.8rem;font-weight:600;text-decoration:none;color:#fff}
.mobile-call a:first-child{background:var(--emr-teal)}
.mobile-call a:last-child{background:var(--emr-amber)}
@media (min-width:768px){.mobile-call{display:none}}
@media (max-width:767.98px){body{padding-bottom:3.2rem}}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--emr-teal);box-shadow:0 0 0 .2rem rgba(29,107,104,.2)}
.form-check-input:checked{background-color:var(--emr-teal);border-color:var(--emr-teal)}
.hp-field{position:absolute;left:-5000px}

/* --- Bildelemente (Justitia, Portrait, Kanzlei-Karte) --- */
.hero{background-color:#0b1520;background-image:linear-gradient(90deg,rgba(11,21,32,.1) 0%,rgba(11,21,32,.45) 30%,rgba(14,28,42,.9) 46%,rgba(14,28,42,.96) 60%),image-set(url("/assets/img/justitia-1920.webp") type("image/webp"),url("/assets/img/justitia-1920.jpg") type("image/jpeg"));background-size:cover;background-position:left center;padding:5rem 0 4.5rem}
.hero::after{display:none}
@media (max-width:991.98px){.hero{background-image:linear-gradient(180deg,rgba(11,21,32,.72),rgba(14,28,42,.94)),image-set(url("/assets/img/justitia-960.webp") type("image/webp"),url("/assets/img/justitia-960.jpg") type("image/jpeg"))}}
.hero-portrait{display:flex;align-items:center;gap:.9rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.15)}
.hero-portrait img{width:64px;height:64px;object-fit:cover;border:2px solid var(--emr-amber)}
.hero-portrait a{color:#fff}
.cta-avatar{width:72px;height:72px;object-fit:cover;border:2px solid var(--emr-amber);flex-shrink:0}
.author-card img{width:64px;height:64px;object-fit:cover;flex-shrink:0}
.collage{position:relative;padding:0 0 3.5rem 0;max-width:34rem}
.collage .c-portrait{border-radius:1rem;box-shadow:0 20px 40px rgba(20,39,58,.25);width:78%;height:auto}
.collage .c-card{position:absolute;right:0;bottom:0;width:48%;border-radius:.8rem;box-shadow:0 18px 38px rgba(0,0,0,.35);border:4px solid #fff}
.collage .c-badge{position:absolute;left:-.6rem;top:1.2rem;background:var(--emr-amber);color:#fff;font-weight:700;font-size:.85rem;padding:.45rem .8rem;border-radius:.5rem;box-shadow:0 8px 18px rgba(0,0,0,.2)}
.review-link{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--emr-line);border-radius:2rem;padding:.4rem .9rem;text-decoration:none;color:var(--emr-ink);font-weight:600;background:#fff}
.review-link .icon{color:#e0a010}
.review-link:hover{border-color:var(--emr-teal);color:var(--emr-teal)}
.collage img{height:auto;display:block}
.kanzlei-solo{position:relative;max-width:30rem}
.kanzlei-solo img{border-radius:1rem;box-shadow:0 20px 40px rgba(20,39,58,.25);height:auto;display:block}
.kanzlei-solo .c-badge{position:absolute;left:-.6rem;top:1.2rem;background:var(--emr-amber);color:#fff;font-weight:700;font-size:.85rem;padding:.45rem .8rem;border-radius:.5rem;box-shadow:0 8px 18px rgba(0,0,0,.2);z-index:1}
.hero-portrait{padding-top:1rem}
.kanzlei-solo .c-badge{top:-1.1rem;left:1.2rem}
