/* Fachanwalt-Fachanwälte.de – eigenes Design auf Bootstrap 5.3. Schriften lokal (kein Abruf bei Google). */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/newsreader-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/newsreader-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/newsreader-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/public-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/public-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/public-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/public-sans-latin-700-normal.woff2) format("woff2")}

:root,[data-bs-theme=light]{
  --fa-paper:#F4F6F7; --fa-sheet:#FFFFFF; --fa-ink:#15212B; --fa-muted:#5A6873; --fa-line:#D9E0E4;
  --fa-accent:#0D5C6E; --fa-accent-hover:#0A4A59; --fa-accent-ink:#FFFFFF; --fa-accent-soft:#E2EFF2;
  --fa-ad:#8A5A00; --fa-ad-soft:#FBF0D9;
  --fa-display:"Newsreader",Georgia,"Times New Roman",serif;
  --fa-body:"Public Sans","Segoe UI",Roboto,Arial,sans-serif;
  --fa-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --bs-body-bg:var(--fa-paper); --bs-body-color:var(--fa-ink); --bs-body-font-family:var(--fa-body);
  --bs-border-color:var(--fa-line); --bs-secondary-color:var(--fa-muted); --bs-tertiary-bg:var(--fa-sheet);
  --bs-link-color:var(--fa-accent); --bs-link-hover-color:var(--fa-accent-hover);
  --bs-link-color-rgb:13,92,110; --bs-link-hover-color-rgb:10,74,89;
  --bs-primary:#0D5C6E; --bs-primary-rgb:13,92,110; --bs-focus-ring-color:rgba(13,92,110,.3);
}
[data-bs-theme=dark]{
  --fa-paper:#0F171D; --fa-sheet:#16222A; --fa-ink:#E6ECEF; --fa-muted:#9AA9B3; --fa-line:#26353F;
  --fa-accent:#5DB7CB; --fa-accent-hover:#7FCADB; --fa-accent-ink:#0B1A20; --fa-accent-soft:#163742;
  --fa-ad:#E7B75A; --fa-ad-soft:#33280F;
  --bs-body-bg:var(--fa-paper); --bs-body-color:var(--fa-ink); --bs-border-color:var(--fa-line);
  --bs-secondary-color:var(--fa-muted); --bs-tertiary-bg:var(--fa-sheet);
  --bs-link-color:var(--fa-accent); --bs-link-hover-color:var(--fa-accent-hover);
  --bs-link-color-rgb:93,183,203; --bs-link-hover-color-rgb:127,202,219;
  --bs-primary:#5DB7CB; --bs-primary-rgb:93,183,203; --bs-focus-ring-color:rgba(93,183,203,.35);
}
body{background:var(--fa-paper);color:var(--fa-ink);font-size:1rem;line-height:1.6}
h1,h2,h3,.h1,.h2,.h3,.display-font{font-family:var(--fa-display);font-weight:600;line-height:1.15;text-wrap:balance}
h4,h5,h6,.h4,.h5,.h6{font-family:var(--fa-body);font-weight:600}
.eyebrow{font:500 .75rem/1.2 var(--fa-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fa-muted)}
.meta{color:var(--fa-muted);font-size:.9rem}
.lead{color:var(--fa-muted);max-width:62ch}
.prose{max-width:68ch}

.btn-primary{--bs-btn-bg:var(--fa-accent);--bs-btn-border-color:var(--fa-accent);--bs-btn-color:var(--fa-accent-ink);
  --bs-btn-hover-bg:var(--fa-accent-hover);--bs-btn-hover-border-color:var(--fa-accent-hover);--bs-btn-hover-color:var(--fa-accent-ink);
  --bs-btn-active-bg:var(--fa-accent-hover);--bs-btn-active-border-color:var(--fa-accent-hover);--bs-btn-active-color:var(--fa-accent-ink);
  --bs-btn-disabled-bg:var(--fa-accent);--bs-btn-disabled-border-color:var(--fa-accent);font-weight:600}
.btn-outline-primary{--bs-btn-color:var(--fa-accent);--bs-btn-border-color:var(--fa-accent);--bs-btn-hover-bg:var(--fa-accent);--bs-btn-hover-border-color:var(--fa-accent);--bs-btn-hover-color:var(--fa-accent-ink);--bs-btn-active-bg:var(--fa-accent);--bs-btn-active-color:var(--fa-accent-ink);font-weight:600}
.form-control,.form-select{background-color:var(--fa-sheet);border-color:var(--fa-line);color:var(--fa-ink)}
.form-control:focus,.form-select:focus{border-color:var(--fa-accent);box-shadow:0 0 0 .2rem var(--bs-focus-ring-color)}
.form-check-input:checked{background-color:var(--fa-accent);border-color:var(--fa-accent)}
.form-label{font-weight:500}
.form-text{color:var(--fa-muted)}

.site-header{background:var(--fa-sheet);border-bottom:1px solid var(--fa-line)}
.brand{font-family:var(--fa-display);font-weight:600;font-size:1.25rem;color:var(--fa-ink)!important;display:flex;align-items:baseline;gap:.35rem}
.brand-mark{font-family:var(--fa-mono);color:var(--fa-accent);font-size:1rem}
.navbar .nav-link{font-weight:500;color:var(--fa-ink)}
.navbar .nav-link.active{color:var(--fa-accent)}
.navbar-toggler{border-color:var(--fa-line)}
[data-bs-theme=dark] .navbar-toggler-icon{filter:invert(1)}
.site-footer{background:var(--fa-sheet);border-top:1px solid var(--fa-line);color:var(--fa-muted);font-size:.88rem;margin-top:4rem}
.site-footer a{color:var(--fa-muted);text-decoration:none}
.site-footer a:hover{color:var(--fa-accent)}

.sheet{background:var(--fa-sheet);border:1px solid var(--fa-line);border-radius:12px;padding:1.5rem}
.band{background:var(--fa-sheet);border-block:1px solid var(--fa-line)}

/* Start */
.hero{padding-block:3rem 2rem;max-width:780px}
.hero h1{font-size:clamp(2rem,5vw,3.3rem)}
.searchbox{display:grid;grid-template-columns:1.4fr 1fr auto;gap:.5rem;background:var(--fa-sheet);border:1px solid var(--fa-line);border-radius:10px;padding:.5rem}
.searchbox .form-control,.searchbox .form-select{border:none;background-color:transparent}
.searchbox .form-control:focus,.searchbox .form-select:focus{box-shadow:none}
.searchbox:focus-within{border-color:var(--fa-accent)}
@media (max-width:640px){.searchbox{grid-template-columns:1fr}}
.register{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));column-gap:1.5rem;border-top:1px solid var(--fa-line)}
.register a{display:flex;gap:.8rem;align-items:baseline;padding:.8rem .3rem;border-bottom:1px solid var(--fa-line);text-decoration:none;color:var(--fa-ink)}
.register a:hover .n{color:var(--fa-accent)}
.register .no{font:500 .75rem var(--fa-mono);color:var(--fa-muted);min-width:2.6rem}
.register .n{font-weight:500;flex:1;min-width:0;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.register .c{font:500 .75rem var(--fa-mono);color:var(--fa-muted)}
.steps3 .step{border-top:2px solid var(--fa-ink);padding-top:.8rem}
.steps3 .eyebrow{color:var(--fa-accent)}

/* Trefferliste */
.lawyer-card{position:relative;background:var(--fa-sheet);border:1px solid var(--fa-line);border-radius:10px;padding:1.1rem 1.2rem;display:grid;grid-template-columns:64px 1fr auto;gap:1rem;align-items:start}
.lawyer-card:hover{border-color:var(--fa-accent)}
.lawyer-card.is-ad{border-color:var(--fa-ad)}
.lawyer-card h3 a{color:var(--fa-ink);text-decoration:none}
.lc-main{min-width:0}
.lc-side{display:grid;gap:.3rem;justify-items:end;text-align:right}
@media (max-width:575px){.lawyer-card{grid-template-columns:48px 1fr}.lc-side{grid-column:1/-1;justify-items:start;text-align:left}}
.avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--fa-accent-soft);color:var(--fa-accent);display:grid;place-items:center;font:600 1.2rem var(--fa-display);flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}
@media (max-width:575px){.lawyer-card .avatar{width:48px;height:48px}}
.avatar-lg{width:112px;height:112px;font-size:2.2rem}
.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.tag{font-size:.78rem;padding:.15rem .6rem;border-radius:99px;background:var(--fa-accent-soft);color:var(--fa-accent);font-weight:500}
.badge-ad{font:500 .72rem var(--fa-mono);letter-spacing:.04em;padding:.2rem .5rem;border-radius:4px;background:var(--fa-ad-soft);color:var(--fa-ad)}
.ad-label{font:500 .72rem var(--fa-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fa-ad)}
.results{display:grid;gap:.9rem}

/* Profil */
.letterhead{background:var(--fa-sheet);border:1px solid var(--fa-line);border-radius:12px;overflow:hidden}
.letterhead .lh-head{padding:2rem;border-bottom:1px solid var(--fa-line);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.letterhead .lh-body{padding:2rem}
.facts{border-left:1px solid var(--fa-line);padding-left:1.5rem;display:grid;gap:1rem;align-content:start}
@media (max-width:991px){.facts{border-left:none;padding-left:0;border-top:1px solid var(--fa-line);padding-top:1.5rem}}
.facts .eyebrow{display:block;margin-bottom:.1rem}

/* Preise */
.plan{background:var(--fa-sheet);border:1px solid var(--fa-line);border-radius:12px;padding:1.5rem;height:100%;display:flex;flex-direction:column;gap:1rem}
.plan.featured{border:2px solid var(--fa-accent)}
.plan .price{font:600 2.4rem var(--fa-display);font-variant-numeric:tabular-nums}
.plan .price small{font:400 .9rem var(--fa-body);color:var(--fa-muted)}
.plan ul{padding-left:1.1rem;margin:0;display:grid;gap:.3rem}
.plan .mt-auto{margin-top:auto}

/* Konto */
.kpi{background:var(--fa-sheet);border:1px solid var(--fa-line);border-radius:10px;padding:1rem;height:100%}
.kpi .v{font:600 1.8rem var(--fa-display);font-variant-numeric:tabular-nums;display:block}
.bars{display:flex;align-items:flex-end;gap:6px;height:120px;border-bottom:1px solid var(--fa-line)}
.bars div{flex:1;background:var(--fa-accent);border-radius:3px 3px 0 0;min-height:2px}
.barlabels{display:flex;gap:6px;font:400 .7rem var(--fa-mono);color:var(--fa-muted)}
.barlabels span{flex:1;text-align:center}
.table{--bs-table-bg:transparent;--bs-table-color:var(--fa-ink);font-variant-numeric:tabular-nums}
.table th{font:500 .72rem var(--fa-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fa-muted)}
.status-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.35rem;background:var(--fa-line)}
.status-dot.ok{background:#1F7A4D}.status-dot.warn{background:var(--fa-ad)}.status-dot.off{background:#B3261E}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pagination{--bs-pagination-color:var(--fa-accent);--bs-pagination-active-bg:var(--fa-accent);--bs-pagination-active-border-color:var(--fa-accent);--bs-pagination-bg:var(--fa-sheet);--bs-pagination-border-color:var(--fa-line)}
