/* ==========================================================================
   sdh-law.at · statische Version · style.css
   Version 1.4 · 25.09.2026, 21:30 Uhr
   - Lesbarere Zeilenlänge: Textabsätze max. ca. 80 Zeichen breit.
   - Tabellen 15 → 17 px (passend zum 18-px-Fließtext).
   - Teamfotos: dezenter Hover-Effekt, damit klar ist, dass sie klickbar sind.
   - Google-Maps-Karten laden erst nach Klick (Datenschutz + Ladezeit).
   Version 1.3 · 25.09.2026, 20:40 Uhr
   - Fließtext 16 → 18 px (auch am Handy), Menü 13 → 14 px.
   - Fehler behoben: Startseite war 15 px breiter als der Bildschirm
     (horizontaler Scrollbalken, am Handy seitliches Wackeln).
   Version 1.2 · 25.09.2026, 20:15 Uhr
   - Schriften größer: Fließtext 14 → 16 px, Menü, Überschriften,
     Akkordeons, Tabellen, Kontaktboxen und Footer entsprechend mitgezogen.
   - Handy optimiert: kleineres Logo, größere Tippflächen im Menü,
     Tabellen werden untereinander statt nebeneinander angezeigt,
     Bildhöhen, Abstände, Karten und Buttons angepasst, grauer Streifen
     unter dem Startbild am Handy entfernt, Karten (Maps) niedriger.
   Version 1.0 · 25.09.2026, 18:00 Uhr
   - Erste Fassung: Nachbau des Haswell-Themes (Farben, Abstände, Header,
     Footer, Akkordeons, Tabs, Buttons, Karten, Tabellen) ohne WordPress.
   - Überschriften in Lato (wie ursprünglich vorgesehen). Live-Seite zeigt
     derzeit Times, weil die Lato-Dateien am Server fehlen. Umschalten:
     Variable --font-head unten ändern.
   ========================================================================== */

/* ---------- Schriften (lokal, keine Google-Verbindung) ---------- */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/open-sans-v29-latin-300.woff2') format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/open-sans-v29-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/open-sans-v29-latin-600.woff2') format('woff2')}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/open-sans-v29-latin-700.woff2') format('woff2')}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/lato-v23-latin-300.woff2') format('woff2')}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/lato-v23-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/lato-v23-latin-700.woff2') format('woff2')}

:root{
  --text:#7e8082;
  --head:#4b4e53;
  --hover:#97999c;
  --line:#eee;
  --grey:#eee;
  --grey-light:#f5f5f5;
  --btn:#d7d9dc;
  --font-body:'Open Sans',Arial,Helvetica,sans-serif;
  --font-head:'Lato',Arial,Helvetica,sans-serif;   /* für Live-Optik: 'Times New Roman',serif */
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:#fff;font-family:var(--font-body);font-size:14px;line-height:25px;color:var(--text)}
img{max-width:100%;height:auto;vertical-align:middle;border:0}
a{color:var(--head);text-decoration:none;transition:color .3s}
a:hover{color:var(--hover)}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--head);outline-offset:2px}
p{margin:0 0 10px}
.txt p{margin:0}
ul,ol{margin:0 0 10px;padding-left:20px}
strong,b,.bold{font-weight:700}
.list-unstyled{list-style:none;padding-left:0}
.li-arrow{margin-right:3px}
.boxed{padding-top:0;padding-bottom:0}
.boxed>.grid{margin:0}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:400;color:var(--head);margin:10px 0;clear:both}
h1{font-size:32px;line-height:45px;margin:40px 0 32px}
h2{font-size:28px;line-height:32px;margin:27px 0 18px}
h3{font-size:24px;line-height:33px}
h4{font-size:18px;line-height:25px}
h5{font-size:14px;line-height:25px}
h6{font-size:12px;line-height:18px}
hr{border:0;border-top:1px solid var(--line);margin:22px 0;height:0}
iframe{max-width:100%;border:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:10px 15px;z-index:1000}
.skip:focus{left:10px;top:10px}

/* ---------- Container & Raster ---------- */
.container{width:100%;margin:0 auto;padding:0 15px}
@media (min-width:768px){.container{width:750px}}
@media (min-width:992px){.container{width:970px}}
@media (min-width:1200px){.container{width:1170px}}
.wide{width:100%}
.grid{display:flex;flex-wrap:wrap;margin:0 -15px}
.wide>.grid{margin:0}
.col{position:relative;width:100%;padding:0 15px;min-height:1px}
.wide>.grid>.col{padding:0}
@media (min-width:768px){
  .sm-1{width:8.3333%}.sm-2{width:16.6667%}.sm-3{width:25%}.sm-4{width:33.3333%}.sm-5{width:41.6667%}.sm-6{width:50%}
  .sm-7{width:58.3333%}.sm-8{width:66.6667%}.sm-9{width:75%}.sm-10{width:83.3333%}.sm-11{width:91.6667%}.sm-12{width:100%}
  .sm-1\/5{width:20%}
}
@media (min-width:992px){
  .md-1{width:8.3333%}.md-2{width:16.6667%}.md-3{width:25%}.md-4{width:33.3333%}.md-5{width:41.6667%}.md-6{width:50%}
  .md-7{width:58.3333%}.md-8{width:66.6667%}.md-9{width:75%}.md-10{width:83.3333%}.md-11{width:91.6667%}.md-12{width:100%}
  .col-pull{order:-1}
}
@media (min-width:1200px){
  .lg-1{width:8.3333%}.lg-2{width:16.6667%}.lg-3{width:25%}.lg-4{width:33.3333%}.lg-5{width:41.6667%}.lg-6{width:50%}
  .lg-7{width:58.3333%}.lg-8{width:66.6667%}.lg-9{width:75%}.lg-10{width:83.3333%}.lg-11{width:91.6667%}.lg-12{width:100%}
}
.grid-inner>.grid{margin:0 -15px}
.wide .grid-inner>.grid{margin:0}
.sec::after,.grid::after{content:"";display:table;clear:both}
.sp{display:block}

/* Seiteninhalt: Abstand oben/unten wie Original (p-140-cont) */
main.pad{padding:140px 0 110px}
@media (max-width:1199px){main.pad{padding:120px 0 90px}}
@media (max-width:991px){main.pad{padding:80px 0 50px}}
@media (max-width:767px){main.pad{padding:60px 0 30px}}
.page-wrap .container{width:auto;padding:0}
.page-wrap .wide{margin:0}

/* ---------- Topbar ---------- */
.topbar{background:var(--grey-light);font-size:12px;letter-spacing:1px;padding:0 43px;text-align:right;line-height:43px}
.topbar a{color:#999}
.topbar a:hover{color:#2a2b2f}

/* ---------- Header ---------- */
.site-header{background:#fff;position:relative;z-index:100;transition:box-shadow .27s}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 30px;height:93px;transition:height .27s}
.logo img{height:62px;width:auto;transition:height .27s}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav>ul{display:flex;align-items:center}
.site-nav li{position:relative}
.nav-top{display:block;font-family:var(--font-body);font-size:12px;line-height:93px;letter-spacing:2px;text-transform:uppercase;color:var(--head);padding:0 15px;background:none;border:0;cursor:pointer;transition:line-height .27s,color .3s}
.nav-top:hover{color:#111}
.site-nav>ul>li.is-active>.nav-top{position:relative}
.site-nav>ul>li.is-active>.nav-top::after{content:"";position:absolute;left:12px;right:12px;bottom:calc(50% - 16px);border-bottom:2px solid var(--head)}
.site-nav .sub{position:absolute;top:100%;left:0;width:200px;background:#fff;box-shadow:0 1px 15px rgba(0,0,0,.15);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .27s}
.site-nav .has-sub:hover .sub,.site-nav .has-sub:focus-within .sub,.site-nav .has-sub.is-open .sub{opacity:1;visibility:visible;transform:none}
.site-nav .sub a{display:block;padding:8px 20px;font-size:12px;line-height:20px;letter-spacing:1px;text-transform:uppercase;color:var(--text)}
.site-nav .sub a:hover,.site-nav .sub a[aria-current]{color:#111;background:var(--grey-light)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative;padding:0}
.burger span,.burger span::before,.burger span::after{position:absolute;left:12px;width:20px;height:2px;background:var(--head);content:"";transition:transform .27s,opacity .27s}
.burger span{top:21px}.burger span::before{left:0;top:-6px}.burger span::after{left:0;top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* Sticky nur Desktop (Original: kein Sticky auf Tablet/Handy) */
@media (min-width:992px){
  .site-header{position:sticky;top:0}
  .site-header.is-stuck{box-shadow:0 1px 15px rgba(0,0,0,.15)}
  .site-header.is-stuck .header-inner{height:60px}
  .site-header.is-stuck .logo img{height:42px}
  .site-header.is-stuck .nav-top{line-height:60px}
}
@media (max-width:1199px) and (min-width:992px){
  .nav-top{padding:0 9px;letter-spacing:1px;font-size:11px}
}
@media (max-width:991px){
  .topbar{text-align:center;padding:5px 0;line-height:32px}
  .header-inner{height:auto;min-height:80px;padding:0 15px;flex-wrap:wrap}
  .burger{display:block}
  .site-nav{flex-basis:100%;display:none;border-top:1px solid var(--line);padding:5px 0 15px}
  .site-nav.is-open{display:block}
  .site-nav>ul{display:block}
  .nav-top{line-height:40px;padding:0 5px;width:100%;text-align:left}
  .site-nav>ul>li.is-active>.nav-top::after{display:none}
  .site-nav>ul>li.is-active>.nav-top{color:#111;font-weight:600}
  .site-nav .sub{position:static;width:auto;box-shadow:none;opacity:1;visibility:visible;transform:none;padding:0 0 5px 15px;display:none}
  .site-nav .has-sub.is-open .sub{display:block}
  .site-nav .has-sub>.nav-top::after{content:"+";float:right;letter-spacing:0;font-size:16px}
  .site-nav .has-sub.is-open>.nav-top::after{content:"–"}
}

/* ---------- Seitentitel ---------- */
.page-title{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:50px 0 40px}
.page-title-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}
.page-title h1{margin:0;font-size:20px;line-height:24px;letter-spacing:5px;text-transform:uppercase;color:var(--head);flex:0 1 50%}
.crumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;font-size:11px;line-height:24px;letter-spacing:1px;text-transform:uppercase}
.crumbs li{color:var(--head)}
.crumbs li+li::before{content:"/";margin:0 6px;color:var(--head)}
.crumbs a{color:var(--text)}
@media (max-width:767px){
  .page-title-inner{display:block}
  .crumbs{justify-content:flex-start;margin-top:10px}
}

/* ---------- Hero (Startseite) ---------- */
.hero{background:#e9e9e9;line-height:0;padding-bottom:4%}
@media (max-width:767px){.hero{padding-bottom:18%}}
.hero img{display:block;width:100%;height:auto;max-height:none}

/* ---------- Überschriften-Varianten ---------- */
.h{position:relative}
.h-bar{font-size:40px!important;line-height:40px!important;margin:0 0 30px}
@media (max-width:767px){.h-bar{font-size:32px!important;line-height:34px!important}}
.h-bar::before{content:"";position:absolute;left:0;bottom:-15px;width:100px;height:3px;background:var(--head)}
.h-left{padding:22px 25px 24px;border-left:2px solid var(--head);margin:0}
.h-bar a,.h-left a{color:inherit}

/* ---------- Text / Split-Blöcke ---------- */
.split-text{max-width:500px;margin:0 auto;padding:70px 30px}
@media (min-width:1200px){.split-text{padding:145px 50px 140px}}
.img-bg{position:absolute;inset:0;background-size:cover;background-position:50% 50%;background-repeat:no-repeat}
@media (max-width:991px){
  .col:has(>.img-bg){min-height:390px}
}

/* ---------- Bilder ---------- */
.img{margin:0 0 35px}
.img-center{text-align:center}
.img-frame{display:inline-block;max-width:100%;position:relative}
.img-outline .img-frame{padding:6px;border:1px solid #ebebeb}
.img-outline img{border:1px solid #ebebeb}
.img-shadow .img-frame{z-index:0;margin-bottom:15px}
.img-shadow .img-frame::before,.img-shadow .img-frame::after{content:"";position:absolute;box-shadow:0 15px 10px rgba(0,0,0,.6);left:5px;right:50%;bottom:8px;height:30%;z-index:-1;transform-origin:0 0;transform:skewY(-6deg)}
.img-shadow .img-frame::after{left:50%;right:5px;transform:skewY(6deg);transform-origin:100% 0}

/* ---------- Trennlinie ---------- */
.sep{border:0;border-top:1px solid #ebebeb;margin:15px 0;height:0}
.sep[style*="border-top-width:3px"]{border-top-color:#858585}

/* ---------- Buttons ---------- */
.btn-wrap{margin:0 0 10px}
.btn-center{text-align:center}
.btn-block .btn{display:block}
.btn{display:inline-block;font-size:14px;line-height:25px;padding:10px 37px;border-radius:2px;text-transform:uppercase;text-align:center;border:0;transition:all .4s}
.btn-fill{background:var(--btn);color:var(--head)}
.btn-fill:hover{background:var(--head);color:#fff}
.btn-outline{background:transparent;border:2px solid var(--btn);color:var(--btn);padding:8px 35px}
.btn-outline:hover{background:var(--btn);color:#fff}
.btn-outline.btn-gray{border-color:#535961;color:#535961}
.btn-outline.btn-gray:hover{background:#535961;color:#fff}
.btn-fill.btn-gray{background:#535961;color:#fff}
.btn-fill.btn-gray:hover{background:#101010}

/* ---------- Tabs (Startseite) ---------- */
.tabs{margin:0 0 20px}
.tab-list{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.tab-list button{font:inherit;font-size:14px;color:var(--text);background:none;border:0;padding:15px 20px;line-height:1.4;margin:0 2px -1px 0;cursor:pointer}
.tab-list button.is-active,.tab-list button:hover{background:var(--grey)}
.tab-acc{display:none}
.tab-panel .tab-body{display:none;background:#fff;border:15px solid var(--grey);border-top-width:14px;border-left:none;padding:15px 15px 5px 0}
.tab-panel.is-active .tab-body{display:block}
.tab-body p{margin:0 0 10px!important}
@media (max-width:767px){
  .tab-list{display:none}
  .tab-acc{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:var(--font-head);font-size:18px;line-height:25px;color:var(--head);padding:10px 14px}
  .tab-panel .tab-body{border:15px solid var(--grey);border-top-width:14px;padding:10px 0 5px}
}

/* ---------- Akkordeons ---------- */
.acc{margin:0 0 20px}
.acc-item{margin-bottom:10px}
.acc-item>summary{list-style:none;cursor:pointer;position:relative;display:block}
.acc-item>summary::-webkit-details-marker{display:none}
.acc-item>summary::before{content:"";position:absolute;left:20px;top:50%;width:6px;height:6px;border-right:1.5px solid #999;border-bottom:1.5px solid #999;transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.acc-item[open]>summary::before{transform:translateY(-20%) rotate(-135deg);border-color:#111}
.acc-border .acc-item>summary{padding:14px 20px 14px 40px;border:1px solid #e5e5e5;font-family:var(--font-head);font-size:12px;line-height:1.1;color:#777;transition:all .25s}
.acc-border .acc-item>summary:hover{border-color:#ddd;background:#fcfcfc;color:#444}
.acc-border .acc-item[open]>summary{color:#000;border-color:#ddd;background:#fcfcfc}
.acc-bg .acc-item>summary{padding:14px 20px 14px 40px;background:var(--grey-light);font-family:var(--font-body);font-size:14px;line-height:1.1;color:var(--head)}
.acc-bg .acc-item>summary:hover{color:var(--hover)}
.acc-bg .acc-item[open]>summary{color:#000}
.acc-noicon .acc-item>summary{padding-left:20px}
.acc-noicon .acc-item>summary::before{display:none}
.acc-body{padding:14px 20px}
.acc-body ul ul{margin-bottom:0}

/* ---------- Karten (Sprechstellen) ---------- */
.card{background:#f0f0f0;border-radius:10px;padding:28px 28px 30px;margin:0 0 35px;word-wrap:break-word}
.card h2{font-size:28px;line-height:32px;margin:0 0 15px}
.card h4{margin:0 0 15px}
.card p{margin:0 0 10px}
.card .btn-wrap{margin:15px 0 0}

/* ---------- Kontakt-Boxen ---------- */
.cinfo{position:relative;padding-left:65px;margin:0 0 20px}
.cinfo-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);width:35px;color:#888}
.cinfo-icon svg{width:26px;height:auto;fill:none;stroke:currentColor;stroke-width:1.5}
.cinfo-body{border-left:1px solid #bdbdbd;padding:16px 0 18px 27px}
.cinfo-body h3{color:var(--head);font-weight:700;font-size:16px;line-height:26px;margin:0;text-transform:uppercase}
.cinfo-body p{margin:0;font-size:12px}

/* ---------- Tabellen ---------- */
.table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse}
.table td,.table th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd;text-align:left}
.table-striped>tbody>tr:nth-of-type(odd){background:#f9f9f9}
.mb-40{margin-bottom:40px}
.txt table:not(.table){border-collapse:collapse;width:100%}
.txt table:not(.table) td{padding:4px 8px;vertical-align:top}
@media (max-width:767px){.txt{overflow-x:auto}}

/* ---------- Raw / Karten-iframes ---------- */
.raw iframe{display:block;width:100%}

/* ---------- Footer ---------- */
.site-footer{padding:80px 0 50px;font-size:12px;line-height:20px}
.footer-top{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-bottom:30px}
.footer-top p{margin:0}
.footer-top .bold a{font-weight:700;color:var(--head)}
.footer-bottom{border-top:1px solid var(--line);padding-top:30px;display:flex;justify-content:space-between;gap:30px}
.footer-copy{max-width:25%}
.footer-copy p{margin:0 0 20px}
.footer-copy a{color:var(--head)}
.lang-select{font:inherit;font-size:12px;color:var(--head);width:100%;max-width:190px;padding:4px 0;border:0;border-bottom:1px solid #999;background:transparent;border-radius:0;cursor:pointer}
.footer-social a{color:var(--head)}
@media (max-width:991px){
  .footer-copy{max-width:50%}
}
@media (max-width:767px){
  .footer-top{grid-template-columns:1fr;gap:25px}
  .footer-bottom{flex-direction:column-reverse;align-items:center;text-align:center}
  .footer-copy{max-width:none;width:100%}
  .lang-select{max-width:none}
}


/* ==========================================================================
   Version 1.2 · größere Schrift + Handy-Optimierung
   (überschreibt die Werte oben; bewusst am Ende gesammelt)
   ========================================================================== */

/* ---------- Schriftgrößen ---------- */
body{font-size:18px;line-height:1.7}
h1{font-size:36px;line-height:1.25}
h2{font-size:32px;line-height:1.2}
h3{font-size:26px;line-height:1.3}
h4{font-size:20px;line-height:1.35}
h5{font-size:16px;line-height:1.5}
h6{font-size:14px;line-height:1.4}

.topbar{font-size:13px}
.topbar a{color:#888}
.nav-top{font-size:14px;letter-spacing:1.5px}
.site-nav .sub a{font-size:13px;line-height:22px}
.page-title h1{font-size:24px;line-height:1.3;letter-spacing:5px}
.crumbs{font-size:12px}

.h-bar{font-size:46px!important;line-height:1.05!important}
.h-left{font-size:34px!important;line-height:1.2!important}

.tab-list button{font-size:15px}
.acc-border .acc-item>summary{font-size:14px;line-height:1.3;padding-top:16px;padding-bottom:16px}
.acc-bg .acc-item>summary{font-size:15px;line-height:1.3;padding-top:15px;padding-bottom:15px}
.btn{font-size:14px;letter-spacing:.5px}

.table td,.table th{font-size:15px;line-height:1.5;padding:10px 10px}
.cinfo-body h3{font-size:17px}
.cinfo-body p{font-size:14px;line-height:1.6}

.site-footer{font-size:14px;line-height:1.6}
.lang-select{font-size:14px}

/* Tablet quer / kleine Laptops: Menü passt sonst nicht in eine Zeile */
@media (max-width:1199px) and (min-width:992px){
  .nav-top{font-size:12px;letter-spacing:1px;padding:0 8px}
  .logo img{height:54px}
}

/* ---------- Tablet ---------- */
@media (max-width:991px){
  .h-bar{font-size:40px!important}
  .h-left{font-size:30px!important}
  .nav-top{font-size:14px;line-height:48px;letter-spacing:1.5px}
  .site-nav .sub a{font-size:14px;padding:10px 20px}
}

/* ---------- Handy ---------- */
@media (max-width:767px){
  body{font-size:18px;line-height:1.65}
  h1{font-size:28px}
  h2{font-size:26px;margin:24px 0 14px}
  h3{font-size:22px}
  h4{font-size:19px}

  /* Kopf */
  .topbar{line-height:30px;padding:3px 0}
  .header-inner{min-height:68px;padding:0 12px 0 15px}
  .logo img{height:46px}
  .burger{width:48px;height:48px}
  .burger span,.burger span::before,.burger span::after{width:24px;left:12px}
  .burger span{top:23px}
  .burger span::before,.burger span::after{left:0}
  .site-nav{padding:4px 0 12px}
  .site-nav>ul>li{border-bottom:1px solid var(--line)}
  .site-nav>ul>li:last-child{border-bottom:0}
  .nav-top{font-size:15px;line-height:52px;padding:0 4px}
  .site-nav .sub{padding:0 0 8px 12px}
  .site-nav .sub a{font-size:15px;line-height:24px;padding:10px 12px;background:none}

  /* Seitentitel */
  .page-title{padding:28px 0 22px}
  .page-title h1{font-size:19px;letter-spacing:3px}
  .crumbs{font-size:12px;margin-top:8px}
  main.pad{padding:40px 0 30px}

  /* Startseite */
  .hero{padding-bottom:0}
  .tab-acc{font-size:17px;padding:14px 16px;border:1px solid #e5e5e5;margin-top:10px;position:relative;font-family:var(--font-head)}
  .tab-acc::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;color:#999}
  .tab-panel.is-active .tab-acc{background:var(--grey);border-color:var(--grey)}
  .tab-panel.is-active .tab-acc::after{content:"–"}
  .tab-panel .tab-body{border:0;background:var(--grey);padding:4px 16px 16px}
  .tabs .tab-panel:first-child .tab-acc{margin-top:0}
  .split-text{padding:50px 20px 45px}
  .h-bar{font-size:34px!important;margin-bottom:28px}
  .col:has(>.img-bg){min-height:260px}

  /* Anwaltsseiten */
  .h-left{font-size:27px!important;padding:14px 18px 16px}
  .img{margin-bottom:25px}
  .img-frame{display:block}
  .img-frame img{width:100%}
  .img-outline .img-frame{padding:4px}
  .boxed{border-radius:12px!important;padding:6px 18px 24px!important}
  .boxed .col{padding:0}

  /* Tabellen: untereinander statt nebeneinander */
  .txt{overflow-x:visible}
  .table,.table tbody,.table tr,.table td{display:block;width:100%}
  .table tr{padding:10px 12px;border-top:1px solid #ddd}
  .table td{border:0;padding:0;font-size:15px;line-height:1.5}
  .table td:first-child{font-weight:600;color:var(--head);margin-bottom:2px}
  .table td a{word-break:break-word}

  /* Akkordeons */
  .acc-border .acc-item>summary,.acc-bg .acc-item>summary{font-size:15px;min-height:48px;padding-top:14px;padding-bottom:14px}
  .acc-item>summary::before{left:16px}
  .acc-border .acc-item>summary,.acc-bg .acc-item>summary{padding-left:36px;padding-right:14px}
  .acc-noicon .acc-item>summary{padding-left:16px}
  .acc-body{padding:12px 16px}

  /* Buttons: nebeneinander statt gestapelt (Sprechstellen/Kooperationen) */
  .col>.btn-wrap:not(.btn-center):not(.btn-block){display:inline-block;margin-right:8px}
  .btn{padding:10px 24px}
  .btn-outline{padding:8px 22px}

  /* Karten & Kontakt */
  .card{padding:22px 20px 24px;border-radius:10px}
  .card h2{font-size:24px;line-height:1.2}
  .cinfo{padding-left:48px}
  .cinfo-icon{width:28px}
  .cinfo-body{padding:12px 0 14px 18px}
  .raw iframe{height:300px}

  /* Footer */
  .site-footer{padding:50px 0 35px;font-size:15px}
  .footer-top{gap:22px}
  .footer-bottom{padding-top:22px}
  .lang-select{font-size:16px;padding:8px 0}
}

/* Sehr schmale Geräte */
@media (max-width:374px){
  .h-bar{font-size:30px!important}
  .h-left{font-size:24px!important}
  .page-title h1{letter-spacing:2px}
}


/* ==========================================================================
   Version 1.4 · Feinschliff
   ========================================================================== */
/* Zeilenlänge begrenzen (nur Fließtext, keine Tabellen/Listen in Kästen) */
.txt>p,.tab-body p,.acc-body p,.acc-body ul{max-width:80ch}

/* Tabellen passend zum Fließtext */
.table td,.table th{font-size:17px}
@media (max-width:767px){.table td{font-size:16px}}

/* Klickbare Teamfotos */
.img a{display:block;overflow:hidden}
.img a img{transition:transform .5s ease,filter .5s ease}
.img a:hover img,.img a:focus-visible img{transform:scale(1.03);filter:brightness(1.05)}
@media (prefers-reduced-motion:reduce){.img a:hover img{transform:none}}

/* Karten: erst nach Klick laden */
.map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;
  min-height:var(--map-h,450px);padding:30px 20px;background:#e9e9e9 linear-gradient(135deg,#ededed 25%,#e6e6e6 25%,#e6e6e6 50%,#ededed 50%,#ededed 75%,#e6e6e6 75%) 0 0/24px 24px;color:var(--head)}
.map-consent p{margin:0;max-width:40ch;font-size:15px}
.map-consent iframe{display:block;width:100%;height:var(--map-h,450px);border:0}
.map-consent.is-loaded{padding:0;display:block;min-height:0;background:none}
@media (max-width:767px){.map-consent,.map-consent iframe{min-height:300px;height:300px}}
