/* Josef Spanner GmbH - gemeinsames Stylesheet der Unterseiten */
:root{
  --gruen:#62BC45;--gruen-dark:#3E7A22;--gruen-soft:#EEF7E8;
  --navy:#1F1B61;--navy-dark:#171449;--rot:#9A1016;--blau:#2A2580;
  --tinte:#22262B;--grau:#5B6470;--linie:#E2E6EB;--papier:#FFFFFF;--sand:#F6F7F9;
  --radius:10px;--wrap:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papier);color:var(--tinte);
  font-family:"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Barlow Condensed","Barlow",Arial,sans-serif;color:var(--navy);line-height:1.12;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.6vw,3rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-top:1.6em}
h3{font-size:1.2rem;font-family:"Barlow",Arial,sans-serif;font-weight:700}
p{margin:0 0 1em}
a{color:var(--gruen-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gruen-dark);margin:0 0 .6em}
.lead{font-size:1.14rem;color:#3A414A}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;padding:12px 18px;border-radius:0 0 8px 0;font-weight:700}
.skip:focus{left:0}

/* Kopf */
.topbar{background:var(--sand);border-bottom:1px solid var(--linie);font-size:.86rem;color:var(--grau)}
.topbar .wrap{display:flex;gap:22px;align-items:center;min-height:40px;flex-wrap:wrap}
.topbar .sp{margin-left:auto}
.topbar a{color:var(--navy);text-decoration:none;font-weight:600}
.topbar .oz span{white-space:nowrap}
header{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--linie)}
.head{display:flex;align-items:center;gap:26px;padding:12px 0}
.logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.logo svg{display:block;height:60px;width:auto}
nav.main{margin-left:auto;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
nav.main a{color:var(--navy);text-decoration:none;font-weight:600;font-size:.96rem;padding:6px 0;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current]{border-bottom-color:var(--gruen)}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;text-decoration:none;border-radius:var(--radius);padding:13px 20px;border:2px solid transparent;cursor:pointer;font-size:1rem;font-family:inherit;min-height:48px}
.btn-p{background:var(--gruen-dark);color:#fff}
.btn-p:hover{background:#356819}
.btn-s{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-s:hover{background:var(--navy);color:#fff}
.navtoggle{position:absolute;width:1px;height:1px;opacity:0}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:12px 10px;margin-left:auto;border:1px solid var(--linie);border-radius:var(--radius);cursor:pointer;background:#fff}
.burger span{display:block;height:2.5px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}
.navtoggle:checked ~ .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.navtoggle:checked ~ .burger span:nth-child(2){opacity:0}
.navtoggle:checked ~ .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Seitenkopf + Inhalt */
.pagehero{background:linear-gradient(180deg,#fff 0%,var(--sand) 100%);border-bottom:1px solid var(--linie);position:relative;padding:44px 0 40px}
.pagehero:after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,var(--rot) 0 33.3%,var(--blau) 33.3% 66.6%,var(--gruen) 66.6% 100%)}
.pagehero .lead{max-width:72ch}
.crumb{font-size:.84rem;color:var(--grau);margin:0 0 14px}
.crumb a{color:var(--grau)}
.content{padding:44px 0 60px}
.cols{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:start}
.glance{background:var(--sand);border:1px solid var(--linie);border-radius:var(--radius);padding:20px 22px;position:sticky;top:96px}
.glance h3{margin-top:0}
.glance ul{margin:0;padding-left:19px}
.glance li{margin:.45em 0}
.content ul{padding-left:21px}
.content li{margin:.35em 0}
.trust{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0 0}
.trust li{background:#fff;border:1px solid var(--linie);border-radius:999px;padding:7px 14px;font-size:.84rem;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:7px;margin:0}
.trust li svg{width:15px;height:15px;color:var(--gruen-dark)}
details{border:1px solid var(--linie);border-radius:var(--radius);padding:0;margin:0 0 10px;background:#fff}
details summary{cursor:pointer;font-weight:600;color:var(--navy);padding:14px 16px;list-style-position:inside}
details[open] summary{border-bottom:1px solid var(--linie)}
details .a{padding:12px 16px 14px;color:#3A414A}
.photo{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 18px 44px -26px rgba(31,27,97,.5)}
table.t{border-collapse:collapse;width:100%;font-size:.95rem}
table.t th,table.t td{border:1px solid var(--linie);padding:9px 12px;text-align:left;vertical-align:top}
table.t th{background:var(--sand);color:var(--navy)}
.notice{background:var(--gruen-soft);border:1px solid #CBE6BC;border-radius:var(--radius);padding:16px 18px;margin:18px 0}

/* Abschluss-CTA */
.ctaband{background:var(--navy);color:#fff;padding:52px 0;margin-top:24px}
.ctaband h2{color:#fff;margin-top:0}
.ctaband p{color:#D6DEF2;max-width:70ch}
.ctaband .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.ctaband .btn-s{background:transparent;color:#fff;border-color:#fff}
.ctaband .btn-s:hover{background:#fff;color:var(--navy)}

/* Fuss */
footer{background:#151A20;color:#9AA6B4;font-size:.9rem;padding:46px 0 30px}
footer h4{color:#fff;font-size:1rem;font-family:"Barlow";margin:0 0 .7em}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
footer a{color:#C7D2DE;text-decoration:none;display:block;padding:3px 0}
footer a:hover{color:#fff;text-decoration:underline}
.fbot{border-top:1px solid #2A313A;margin-top:32px;padding-top:18px;display:flex;gap:18px;flex-wrap:wrap;font-size:.84rem}
.fbot .sp{margin-left:auto}
.fbot a{display:inline}

/* mobile Anrufleiste */
.callbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--linie);padding:9px 12px;gap:9px;box-shadow:0 -6px 20px -12px rgba(0,0,0,.3)}
.callbar .btn{flex:1;justify-content:center;padding:12px 10px;font-size:.95rem}

/* Formular */
form.f{background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:26px}
.field{margin-bottom:16px}
label{display:block;font-weight:600;font-size:.92rem;color:var(--navy);margin-bottom:5px}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #C6CDD6;border-radius:8px;font:inherit;font-size:1rem;background:#fff;color:var(--tinte);min-height:48px}
.hp{position:absolute;left:-9999px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--grau);margin:8px 0 16px}
.consent input{width:20px;height:20px;min-height:20px;margin-top:2px;flex:0 0 auto}
.infobox{background:#fff;border:1px solid var(--linie);border-radius:var(--radius);padding:24px;margin-bottom:18px}
.infobox dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.97rem}
.infobox dt{font-weight:600;color:var(--navy)}
.infobox dd{margin:0;color:#3A414A}
.tel{font-family:"Barlow Condensed";font-size:2rem;color:var(--navy);text-decoration:none;display:block;font-weight:700}
.mapbox{border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;background:var(--sand)}
.mapbox .ph{padding:30px;text-align:center;color:var(--grau)}
.mapbox iframe{display:block;width:100%;height:420px;border:0}

@media(max-width:980px){
  .cols{grid-template-columns:1fr}
  .glance{position:static}
  .fgrid{grid-template-columns:1fr 1fr}
  .burger{display:flex}
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--linie);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 14px;box-shadow:0 18px 30px -22px rgba(31,27,97,.4)}
  nav.main a{padding:13px 4px;border-bottom:1px solid var(--linie);font-size:1.05rem}
  nav.main a:last-child{border-bottom:0}
  .navtoggle:checked ~ nav.main{display:flex}
}
@media(max-width:760px){
  .topbar .sp{display:none}
  .topbar .wrap{justify-content:center;min-height:0;padding:8px 20px}
}
@media(max-width:620px){
  .two,.fgrid{grid-template-columns:1fr}
  .callbar{display:flex}
  body{padding-bottom:70px}
  .head{gap:14px}
  .head > a.btn{display:none}          /* Nummer steckt in der Anrufleiste unten */
  .logo{flex:1 1 auto;min-width:0}
  .logo svg{height:auto;width:100%;max-width:400px}   /* Logo & grüner Balken durchgängig */
  .burger{margin-left:0}
}
@media print{.callbar{display:none}}
