/* ============================================================
   BRENZTAXI – style.css  (Mehrseiten, GetCab-Stil in Logo-Farben)
   ============================================================ */
:root{
  --navy:#16345A; --navy-d:#0E2742; --teal:#168B7D; --teal-d:#0F6F63;
  --gold:#F2A900; --gold-d:#D89400; --ink:#13202E; --mut:#5E6E7B;
  --line:#E1E8ED; --bg:#F4F7F8; --white:#fff; --radius:14px;
  --shadow:0 10px 30px rgba(16,52,90,.10); --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4{font-family:"Sora",sans-serif;line-height:1.14;letter-spacing:-.4px;color:var(--navy);}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;height:auto;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 5vw;}
.accent{color:var(--teal);}
a.inline{display:inline;padding:0;} a.gold{color:var(--gold);}
.muted{color:var(--mut);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:999;}
.skip-link:focus{left:0;}

/* ---- Topbar ---- */
.topbar{background:var(--navy-d);color:#cdd9e4;font-size:.78rem;}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:38px;padding:6px 5vw;}
.topbar .hours{display:flex;align-items:center;gap:7px;}
.topbar .dot{width:8px;height:8px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 3px rgba(61,220,151,.18);flex:0 0 auto;}
.lang{display:flex;gap:2px;background:rgba(255,255,255,.08);border-radius:8px;padding:3px;}
.lang a{font-weight:600;color:#cdd9e4;padding:4px 11px;border-radius:6px;}
.lang a.active{background:var(--gold);color:var(--navy-d);}

/* ---- Header / Nav ---- */
.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;gap:1rem;min-height:74px;}
.logo{flex:0 0 auto;}
.logo img{height:50px;width:auto;max-width:none;object-fit:contain;}
@media(min-width:700px){.logo img{height:58px;}}
.nav-links{list-style:none;}
.nav-links a{font-weight:500;color:var(--mut);font-size:.95rem;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:var(--teal);}
.nav-links a.active{font-weight:600;}
.burger{margin-left:auto;display:inline-flex;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;}
.burger span{width:24px;height:2.5px;background:var(--navy);border-radius:2px;transition:.25s;}
.burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
/* Telefon oben rechts (beide Standorte) */
.head-tel{display:none;}
.ht{display:flex;align-items:center;gap:9px;}
.ht-ic{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ht-ic svg{width:18px;height:18px;}
.ht-g .ht-ic{background:rgba(242,169,0,.16);color:var(--gold-d);}
.ht-h .ht-ic{background:rgba(22,139,125,.14);color:var(--teal);}
.ht-meta{display:flex;flex-direction:column;line-height:1.1;}
.ht-meta small{font-size:.64rem;letter-spacing:.4px;text-transform:uppercase;color:var(--mut);}
.ht-meta b{font-family:"Sora",sans-serif;font-size:.98rem;color:var(--navy);}
@media(max-width:899px){
  .nav-links{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;display:none;
             padding:6px 5vw calc(132px + env(safe-area-inset-bottom, 0px));
             max-height:calc(100vh - 100%);
             max-height:calc(100dvh - 100%);
             overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
  .nav-links.open{display:flex;}
  .nav-links a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-size:1rem;}
  .nav-links li:last-child a{border-bottom:0;}
}
@media(min-width:900px){.burger{display:none;}.nav-links{margin-left:auto;display:flex;gap:1.5rem;}}
@media(min-width:1080px){.head-tel{display:flex;gap:18px;margin-left:1.6rem;}}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:"Sora",sans-serif;font-weight:700;font-size:.98rem;padding:14px 24px;border-radius:11px;border:0;cursor:pointer;transition:.18s;}
.btn svg{width:18px;height:18px;}
.btn-gold{background:var(--gold);color:var(--navy-d);} .btn-gold:hover{background:var(--gold-d);}
.btn-teal{background:var(--teal);color:#fff;} .btn-teal:hover{background:var(--teal-d);}
.btn-navy{background:var(--navy);color:#fff;} .btn-navy:hover{background:var(--navy-d);}
.btn-ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line);} .btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.btn.block{width:100%;justify-content:center;margin-top:16px;}

/* ============ HERO (Start) ============ */
.hero{position:relative;overflow:hidden;color:#fff;
  background:
    linear-gradient(180deg,rgba(8,20,36,.40),rgba(8,20,36,.70)),
    url(../img/hintergrund.webp) center/cover no-repeat;
  /* Anderes Foto? Einfach die Datei assets/img/hintergrund.webp ersetzen. */
}

/* Startseite: Hero fuellt bis zum Turkis-Balken (Balken am unteren Rand des ersten Screens) */
.is-home .hero{min-height:calc(100vh - 210px);min-height:calc(100svh - 210px);}
@media(max-width:899px){.is-home .hero{min-height:0;}}
.hero .road{position:absolute;inset:0;pointer-events:none;opacity:.22;}
.hero .glow{position:absolute;width:680px;height:680px;border-radius:50%;
  background:radial-gradient(circle,rgba(22,139,125,.35),transparent 62%);top:-220px;right:-160px;pointer-events:none;}
.hero-inner{position:relative;z-index:2;padding:40px 0 64px;text-align:center;}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:"Sora",sans-serif;font-weight:600;font-size:.74rem;letter-spacing:3px;text-transform:uppercase;color:var(--gold);background:rgba(242,169,0,.12);border:1px solid rgba(242,169,0,.3);padding:7px 16px;border-radius:30px;}
.hero h1{font-size:clamp(1.8rem,5.2vw,3.1rem);font-weight:800;color:#fff;margin:16px auto 12px;max-width:20ch;letter-spacing:-.8px;text-shadow:0 2px 18px rgba(0,0,0,.5);}
.hero h1 .accent{color:var(--gold);}
.hero .lead{font-size:1rem;color:#e7eef5;max-width:50ch;margin:0 auto;text-shadow:0 1px 10px rgba(0,0,0,.5);}
.hero-mini{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:16px;color:#cdd9e4;font-size:.9rem;}
.hero-mini span{display:inline-flex;align-items:center;gap:7px;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.hero-mini svg{width:16px;height:16px;color:var(--gold);}

/* ---- Anfrage-Leiste ---- */
.order{position:relative;z-index:5;margin-top:26px;margin-bottom:-56px;}
/* Text und Feld auf eine gemeinsame Linie ruecken (nur Desktop):
   .hero-text  -> Text etwas nach RECHTS  (Wert groesser = weiter rechts)
   .order      -> Feld etwas nach LINKS   (Wert negativer = weiter links; Achtung: zu weit deckt das Tuerlogo wieder zu)
   Beide Werte zusammen steuern, wie buendig Text und Box uebereinander stehen. */
@media(min-width:900px){
  .hero-text{transform:translateX(55px);}
  .order{max-width:80%;margin-left:auto;margin-right:0;transform:translateX(-55px);}
}
.order-card{background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(8,20,36,.35);padding:14px;text-align:left;}
.order-title{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--navy);font-family:"Sora",sans-serif;font-weight:800;font-size:1.02rem;padding:8px 6px 14px;}
.order-title svg{width:20px;height:20px;color:var(--teal);}
.fields{display:grid;grid-template-columns:1fr;gap:10px;}
@media(min-width:760px){.fields{grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;}}
.field{display:flex;flex-direction:column;gap:3px;padding:11px 14px;background:#fff;}
@media(min-width:760px){.field{border-right:1px solid var(--line);}.field:last-child{border-right:0;}}
@media(max-width:759px){.field{border:1px solid var(--line);border-radius:11px;}}
.field label{font-size:.66rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:6px;}
.field label svg{width:14px;height:14px;color:var(--teal);}
.field input,.field select{border:0;outline:0;font:inherit;font-size:.95rem;color:var(--ink);background:transparent;width:100%;padding:2px 0;}
.field select{cursor:pointer;}
.order-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;padding:14px 6px 6px;}
.consent{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--mut);max-width:62ch;cursor:pointer;}
.consent input{margin-top:3px;width:16px;height:16px;accent-color:var(--teal);flex:0 0 auto;}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);color:var(--navy-d);font-family:"Sora",sans-serif;font-weight:800;font-size:1rem;padding:14px 26px;border:0;border-radius:12px;cursor:pointer;white-space:nowrap;transition:.18s;}
.btn-wa:hover{background:var(--gold-d);}
.btn-wa svg{width:20px;height:20px;}
@media(max-width:759px){.btn-wa{width:100%;}}

/* ============ PAGEHEAD (Unterseiten) ============ */
.pagehead{position:relative;overflow:hidden;color:#fff;text-align:center;
  background:linear-gradient(120deg,var(--navy) 0%,var(--navy-d) 70%,#0a1c30 100%);}
.pagehead .glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(22,139,125,.28),transparent 62%);top:-180px;right:-120px;pointer-events:none;}
.pagehead .wrap{position:relative;z-index:2;padding:34px 0 30px;}
.pagehead h1{color:#fff;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;}
.pagehead p{color:#cdd9e4;max-width:54ch;margin:10px auto 18px;}

/* ---- Trust ---- */
.trust{background:linear-gradient(120deg,var(--teal),var(--teal-d));color:#fff;}
.trust .grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.22);}
@media(min-width:760px){.trust .grid{grid-template-columns:repeat(4,1fr);}}
.trust .cell{background:linear-gradient(120deg,var(--teal),var(--teal-d));padding:24px 16px;text-align:center;}
.trust .num{font-family:"Sora",sans-serif;font-weight:800;font-size:1.7rem;color:#fff;}
.trust .num .tl{color:var(--gold);}
.trust .lbl{font-size:.82rem;color:rgba(255,255,255,.85);margin-top:3px;}

/* ---- Section shell ---- */
section.block{padding:62px 0;}
.sec-head{text-align:center;max-width:62ch;margin:0 auto 40px;}
.tag{font-family:"Sora",sans-serif;font-weight:600;font-size:.74rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal);}
.sec-head h2{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800;margin:8px 0 10px;}
.sec-head p{color:var(--mut);}

/* ---- Services ---- */
.svc-grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media(min-width:560px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:920px){.svc-grid{grid-template-columns:repeat(3,1fr);}}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:.2s;}
.svc:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:var(--shadow);}
.svc .ic{width:48px;height:48px;border-radius:12px;background:rgba(22,139,125,.10);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.svc .ic svg{width:26px;height:26px;}
.svc.is-care .ic{background:rgba(242,169,0,.14);color:var(--gold-d);}
.svc h3{font-size:1.05rem;font-weight:700;margin-bottom:6px;}
.svc p{font-size:.9rem;color:var(--mut);}

/* ---- Krankenfahrten ---- */
.info-bg{background:var(--bg);}
.info-grid{display:grid;grid-template-columns:1fr;gap:26px;align-items:center;}
@media(min-width:860px){.info-grid{grid-template-columns:1.1fr .9fr;}}
.info-grid h2{font-size:clamp(1.5rem,4vw,2.1rem);margin:8px 0 14px;}
.info-grid>div>p{color:var(--mut);margin-bottom:16px;max-width:54ch;}
.checks{list-style:none;display:grid;gap:11px;}
.checks li{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;}
.checks svg{flex:0 0 auto;width:22px;height:22px;color:var(--teal);margin-top:2px;}
.kk-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}
.kk-card h3{font-size:1.1rem;margin-bottom:16px;}
.kk-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:.92rem;}
.kk-row:last-of-type{border-bottom:0;}
.kk-row b{color:var(--navy);font-family:"Sora",sans-serif;}
.kk-note{margin-top:14px;font-size:.8rem;color:var(--mut);}

/* ---- Steps ---- */
.steps{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr);}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;}
.step .n{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-family:"Sora",sans-serif;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin-bottom:14px;}
.step:nth-child(2) .n{background:var(--teal);}
.step:nth-child(3) .n{background:var(--gold);color:var(--navy-d);}
.step h3{font-size:1.05rem;margin-bottom:6px;}
.step p{font-size:.9rem;color:var(--mut);}

/* ---- Standorte ---- */
.loc-grid{display:grid;grid-template-columns:1fr;gap:18px;}
@media(min-width:760px){.loc-grid{grid-template-columns:1fr 1fr;}}
.loc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.loc .bar{height:6px;}
.loc.g .bar{background:linear-gradient(90deg,var(--gold),var(--gold-d));}
.loc.h .bar{background:linear-gradient(90deg,var(--teal),var(--teal-d));}
.loc .body{padding:26px;}
.loc .city{font-family:"Sora",sans-serif;font-weight:800;font-size:1.4rem;color:var(--navy);}
.loc .city .sub{font-weight:400;color:var(--mut);font-size:1rem;}
.loc .region{font-size:.82rem;color:var(--mut);margin-bottom:16px;}
.loc .row{display:flex;align-items:flex-start;gap:11px;font-size:.95rem;margin-bottom:11px;}
.loc .row svg{flex:0 0 auto;width:19px;height:19px;color:var(--teal);margin-top:3px;}
.loc .row a{font-weight:600;}
.loc .telbtn{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:8px;padding:13px;border-radius:11px;font-family:"Sora",sans-serif;font-weight:700;color:#fff;}
.loc.g .telbtn{background:var(--gold);color:var(--navy-d);}
.loc.h .telbtn{background:var(--teal);}

/* ---- Einsatzgebiet ---- */
.area-bg{background:var(--navy);color:#fff;}
.area-bg .sec-head h2{color:#fff;} .area-bg .sec-head p{color:#aebfce;}
.area-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:880px;margin:0 auto;}
.area-tags span{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#dbe6f0;padding:8px 15px;border-radius:30px;font-size:.88rem;}
.area-tags span.hot{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600;}

/* ---- Inhaber ---- */
.owner{display:grid;grid-template-columns:1fr;gap:26px;align-items:center;}
@media(min-width:820px){.owner{grid-template-columns:230px 1fr;}}
.owner .photo{aspect-ratio:1;border-radius:20px;background:linear-gradient(135deg,var(--navy),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-family:"Sora",sans-serif;font-weight:800;font-size:3.4rem;box-shadow:var(--shadow);}
.owner .role{color:var(--teal);font-weight:600;font-family:"Sora",sans-serif;display:inline-block;margin-bottom:8px;}
.owner h2{font-size:clamp(1.5rem,4vw,2.1rem);margin-bottom:10px;}
.owner p{color:var(--mut);margin-bottom:12px;max-width:60ch;}
.owner .sign{font-family:"Sora",sans-serif;font-weight:700;color:var(--navy);}

/* ---- FAQ ---- */
.faq{max-width:820px;margin:0 auto;display:grid;gap:12px;}
.acc{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;}
.acc summary{list-style:none;cursor:pointer;padding:18px 22px;font-family:"Sora",sans-serif;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:1rem;}
.acc summary::-webkit-details-marker{display:none;}
.acc summary .pl{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--teal);font-weight:800;transition:.2s;}
.acc[open] summary .pl{transform:rotate(45deg);background:var(--teal);color:#fff;}
.acc .a{padding:0 22px 20px;color:var(--mut);font-size:.94rem;}

/* ---- CTA-Band ---- */
.cta-band{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--teal),var(--teal-d));color:#fff;}
.cta-band .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 60%);top:-220px;left:-120px;pointer-events:none;}
.cta-inner{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:40px 0;}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,3.5vw,2rem);}
.cta-band p{color:rgba(255,255,255,.85);margin-top:4px;}
.cta-btns{display:flex;flex-wrap:wrap;gap:10px;}
.cta-band .btn-teal{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);}
.cta-band .btn-teal:hover{background:rgba(255,255,255,.22);}

/* ---- Kontaktseite ---- */
.kontakt-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;}
@media(min-width:880px){.kontakt-grid{grid-template-columns:.9fr 1.1fr;}}
.kontakt-info h2{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:8px;}
.kontakt-info .muted{margin-bottom:20px;max-width:46ch;}
.kontakt-tel{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.kontakt-tel .kt-ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.kontakt-tel .kt-ic svg{width:20px;height:20px;}
.kontakt-tel.k-g .kt-ic{background:rgba(242,169,0,.16);color:var(--gold-d);}
.kontakt-tel.k-h .kt-ic{background:rgba(22,139,125,.14);color:var(--teal);}
.kontakt-tel small{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--mut);}
.kontakt-tel b{font-family:"Sora",sans-serif;font-size:1.15rem;color:var(--navy);}
.kontakt-mail{display:inline-flex;align-items:center;gap:9px;color:var(--teal);font-weight:600;margin-top:6px;}
.kontakt-mail svg{width:18px;height:18px;}
.kontakt-form .order-card{box-shadow:var(--shadow);}

/* ---- Footer ---- */
footer{background:var(--navy-d);color:#b9c8d6;font-size:.92rem;}
.foot-grid{display:grid;grid-template-columns:1fr;gap:34px;padding:56px 0 36px;}
@media(min-width:680px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr;}}
.foot-grid h4{color:#fff;font-size:1rem;margin-bottom:16px;}
.foot-logo{background:#fff;border-radius:12px;padding:12px 16px;display:inline-block;margin-bottom:16px;}
.foot-logo img{height:46px;width:auto;max-width:none;object-fit:contain;}
.foot-grid a{display:block;color:#b9c8d6;padding:5px 0;}
.foot-grid a:hover{color:var(--gold);}
.foot-grid a.inline{display:inline;padding:0;}
.imp{font-size:.88rem;line-height:1.7;color:#9fb2c2;}
.imp strong{color:#fff;font-weight:600;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.82rem;color:#8ba0b2;}
.foot-bottom .legal{display:flex;gap:18px;}

/* ---- Mitlaufende Anruf-Leiste (alle Seiten) ---- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:linear-gradient(120deg,var(--teal),var(--teal-d));box-shadow:0 -6px 20px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;gap:16px;padding:9px 4vw;}
.callbar-txt{display:none;color:#fff;font-family:"Sora",sans-serif;font-weight:700;font-size:.95rem;}
.callbar-btns{display:flex;gap:10px;width:100%;max-width:640px;}
.cbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border-radius:10px;font-family:"Sora",sans-serif;font-weight:700;font-size:.92rem;white-space:nowrap;}
.cbtn svg{width:16px;height:16px;flex:0 0 auto;}
.cbtn-g{background:var(--gold);color:var(--navy-d);}
.cbtn-h{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.4);}
.cb-num{display:none;}
@media(min-width:480px){.cb-num{display:inline;}}
@media(min-width:900px){
  .callbar{justify-content:space-between;}
  .callbar-txt{display:block;}
  .callbar-btns{width:auto;max-width:none;}
  .cbtn{flex:0 0 auto;padding:11px 22px;font-size:.95rem;}
}
body{padding-bottom:62px;}
@media(min-width:900px){body{padding-bottom:66px;}}

/* ---- WhatsApp Float (über der Anruf-Leiste) ---- */
.wa-float{position:fixed;right:16px;bottom:74px;z-index:61;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);}
@media(min-width:900px){.wa-float{bottom:80px;}}

/* ---- Krankenfahrt-Formular ---- */
.kf-form{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.kf-grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media(min-width:640px){.kf-grid{grid-template-columns:1fr 1fr;}}
.kf-f{display:flex;flex-direction:column;gap:5px;}
.kf-f.kf-full{grid-column:1/-1;}
.kf-f.kf-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.kf-f.kf-2 > div{display:flex;flex-direction:column;gap:5px;}
.kf-f label{font-size:.78rem;font-weight:700;letter-spacing:.4px;color:var(--navy);font-family:"Sora",sans-serif;}
.kf-f input,.kf-f select,.kf-f textarea{font:inherit;font-size:.95rem;color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;background:#fff;width:100%;transition:border-color .15s;}
.kf-f input:focus,.kf-f textarea:focus{outline:0;border-color:var(--teal);}
.kf-f input[type=file]{padding:9px 12px;background:var(--bg);cursor:pointer;}
.kf-checks{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:2px;}
.kf-cb{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink);font-weight:500;cursor:pointer;}
.kf-cb input{width:17px;height:17px;accent-color:var(--teal);}
.kf-hint{font-size:.78rem;color:var(--mut);margin-top:4px;}
.kf-consent{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;color:var(--mut);margin:18px 0 16px;cursor:pointer;line-height:1.5;}
.kf-consent input{margin-top:3px;width:17px;height:17px;accent-color:var(--teal);flex:0 0 auto;}
.kf-form .btn-gold{width:100%;justify-content:center;}
.kf-req{font-size:.76rem;color:var(--mut);margin-top:10px;}

/* ---- Formular-Meldungen ---- */
.formmsg{max-width:860px;margin:0 auto 18px;border-radius:12px;padding:16px 18px;font-size:.95rem;line-height:1.5;}
.formmsg.ok{background:#EAF7F0;border:1px solid #9FD9BE;color:#0F6F4E;}
.formmsg.err{background:#FDECEC;border:1px solid #F2B6B6;color:#A12626;}

/* Sprungziele nicht unter den klebenden Header schieben */
:target{scroll-margin-top:88px;}
#anfrage{scroll-margin-top:88px;}

/* ---- Taxipreis-Rechner ---- */
.rechner{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;}
.rechner-grid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:680px){.rechner-grid{grid-template-columns:1fr 1fr;}}
.rc-field > label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--mut);font-family:"Sora",sans-serif;margin-bottom:10px;}
.rc-km{font-family:"Sora",sans-serif;font-weight:800;font-size:1.5rem;color:var(--teal);margin-bottom:8px;}
.rc-km output{font-size:1.5rem;}
input[type=range]#rcKm{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:var(--line);outline:0;}
input[type=range]#rcKm::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--teal);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.25);}
input[type=range]#rcKm::-moz-range-thumb{width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:var(--teal);cursor:pointer;}
/* Segment-Schalter */
.seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:4px;gap:4px;}
.seg-o{flex:1;position:relative;cursor:pointer;}
.seg-o input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.seg-o span{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 8px;border-radius:8px;font-family:"Sora",sans-serif;font-weight:600;font-size:.85rem;color:var(--mut);transition:.15s;line-height:1.2;}
.seg-o input:checked + span{background:var(--teal);color:#fff;box-shadow:0 2px 6px rgba(22,139,125,.35);}
/* Ergebnis */
.rc-result{margin-top:24px;background:rgba(22,139,125,.06);border:1px solid rgba(22,139,125,.18);border-radius:var(--radius);padding:26px;text-align:center;}
.rc-price{font-family:"Sora",sans-serif;font-weight:800;color:var(--teal);font-size:clamp(2.4rem,7vw,3.4rem);line-height:1;}
.rc-price .rc-from{font-size:1.1rem;font-weight:700;color:var(--mut);vertical-align:middle;}
.rc-rlbl{color:var(--mut);font-size:.95rem;margin-top:8px;}
.rc-note{font-size:.78rem;color:var(--mut);max-width:62ch;margin:14px auto 0;line-height:1.5;}
.rc-result .btn-gold{margin-top:18px;}

/* ---- Preisrechner: Von/Nach + Karte ---- */
.rc-grid2{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:880px){.rc-grid2{grid-template-columns:1fr 1fr;align-items:stretch;}}
.rc-field{margin-bottom:14px;}
.rc-field > label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--mut);font-family:"Sora",sans-serif;margin-bottom:7px;}
.rc-field input[type=text]{width:100%;font:inherit;font-size:.95rem;color:var(--ink);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;transition:border-color .15s;}
.rc-field input[type=text]:focus{outline:0;border-color:var(--teal);}
.rc-btn{width:100%;justify-content:center;}
.rc-btn[disabled]{opacity:.6;cursor:progress;}
.rc-status{font-size:.85rem;color:var(--mut);margin:10px 0 16px;min-height:1.2em;line-height:1.4;}
.rc-status.err{color:#A12626;}
.rc-segs .rc-field{margin-bottom:12px;}
.rc-map{min-height:340px;}
#rcMap{width:100%;height:100%;min-height:340px;border-radius:12px;border:1px solid var(--line);z-index:1;}
@media(max-width:879px){.rc-map{min-height:300px;}#rcMap{min-height:300px;}}
.rc-dist-line{font-family:"Sora",sans-serif;color:var(--navy);font-size:1rem;margin-bottom:6px;}
.rc-dist-line strong{color:var(--teal);}

/* Preise-Seite: H1 statt blauem Kopf + dauerhafter Rechtshinweis */
.sec-head h1{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800;margin:8px 0 10px;color:var(--navy);}
.rc-legal{max-width:860px;margin:18px auto 0;font-size:.78rem;color:var(--mut);text-align:center;line-height:1.55;}

/* Preise-Seite kompakter – Anruf-CTA schneller sichtbar */
.rc-section{padding:24px 0 34px;}
.sec-head--tight{margin-bottom:18px;}
.sec-head--tight h1{margin:0;font-size:clamp(1.5rem,3.6vw,2.05rem);}
.rc-section .rechner{padding:20px;}
.rc-section .rc-field{margin-bottom:11px;}
.rc-section .rc-map{min-height:280px;}
.rc-section #rcMap{width:100%;height:100%;min-height:280px;}
.rc-section .rc-legal{margin-top:14px;}
.cta-inner{padding:34px 0;}

/* Ergebnis volle Breite (unter Rechner+Karte) + Sternchen-Bezug */
.rc-result{max-width:760px;margin:22px auto 0;}
.rc-star{color:var(--mut);font-size:.5em;font-weight:700;vertical-align:super;margin-left:2px;}

/* Flughafen-Festpreis-Hinweis im Rechner */
.rc-warn{display:block;text-align:left;background:rgba(242,169,0,.12);border:1px solid rgba(242,169,0,.5);color:#8a5a00;border-radius:10px;padding:11px 14px;margin:14px auto 0;max-width:560px;font-size:.86rem;line-height:1.45;font-weight:600;}

/* ---- Kontaktseite: Kopf, Standort-Karten, WhatsApp, feste Karte ---- */
.kontakt-head{margin-bottom:24px;}
.kontakt-head h1,.kontakt-head h2{font-size:clamp(1.6rem,4vw,2.3rem);color:var(--navy);margin-bottom:8px;}
.kontakt-head .muted{max-width:60ch;}
.kontakt-loc{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.kontakt-loc .kl-ic{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.kontakt-loc .kl-ic svg{width:20px;height:20px;}
.kontakt-loc.k-g .kl-ic{background:rgba(242,169,0,.16);color:var(--gold-d);}
.kontakt-loc.k-h .kl-ic{background:rgba(22,139,125,.14);color:var(--teal);}
.kl-city{font-family:"Sora",sans-serif;font-weight:800;font-size:1.12rem;color:var(--navy);}
.kl-city small{font-weight:400;color:var(--mut);font-size:.78rem;}
.kl-adr{font-size:.9rem;color:var(--mut);margin:2px 0 8px;}
.kl-tel{display:inline-flex;align-items:center;gap:8px;font-family:"Sora",sans-serif;font-weight:700;color:var(--navy);}
.kl-tel svg{width:16px;height:16px;color:var(--teal);}
.kontakt-mail,.kontakt-wa{display:inline-flex;align-items:center;gap:9px;font-weight:600;margin-top:6px;}
.kontakt-mail{color:var(--teal);} .kontakt-mail svg{width:18px;height:18px;}
.kontakt-wa{color:#1f9e54;margin-left:0;} .kontakt-wa svg{width:18px;height:18px;}
.kontakt-info > a{display:flex;}
.kontakt-map{margin-top:26px;}
#kontaktMap{width:100%;height:380px;border-radius:12px;border:1px solid var(--line);z-index:1;}
@media(max-width:600px){#kontaktMap{height:300px;}}

/* ---- Rechtsseiten (Impressum/Datenschutz/AGB): lesbare Typografie ---- */
.wrap.legal{max-width:820px;}
.wrap.legal h1{font-size:clamp(1.7rem,4vw,2.4rem);color:var(--navy);margin-bottom:6px;}
.wrap.legal h2{font-size:1.22rem;color:var(--navy);margin:28px 0 8px;padding-top:4px;}
.wrap.legal h3{font-size:1.02rem;color:var(--navy);margin:18px 0 6px;}
.wrap.legal p{margin-bottom:12px;line-height:1.7;color:var(--ink);}
.wrap.legal ul{margin:0 0 14px 1.25rem;}
.wrap.legal li{margin-bottom:5px;line-height:1.6;}
.wrap.legal a{color:var(--teal);text-decoration:underline;word-break:break-word;}
.wrap.legal strong{color:var(--navy);}
.wrap.legal .muted{color:var(--mut);font-size:.92rem;}
.wrap.legal hr{border:0;border-top:1px solid var(--line);margin:24px 0;}

/* ---- Consent-Links + getrennte Gesundheitsdaten-Einwilligung ---- */
.consent a,.kf-consent a{color:var(--teal);text-decoration:underline;}
.kf-consent{margin:14px 0 0;}
.kf-consent--health{margin:12px 0 18px;background:rgba(22,139,125,.06);border:1px solid rgba(22,139,125,.28);border-radius:10px;padding:11px 13px;color:var(--ink);}

/* ---- Pflichthinweise Krankenfahrten ---- */
.kf-hinweise-sec{padding-top:6px;}
.kf-hinweise-title{font-size:clamp(1.3rem,3.4vw,1.7rem);color:var(--navy);margin-bottom:18px;}
.kf-hinweise{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.kf-hw{border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:12px;padding:16px 18px;background:#fff;}
.kf-hw h3{font-size:1.02rem;color:var(--navy);margin-bottom:6px;}
.kf-hw p{font-size:.92rem;color:var(--mut);line-height:1.6;margin:0;}

/* ---- Bild-Kopf für Innenseiten (sec-imghead) ---- */
.imghead{position:relative;min-height:300px;display:flex;align-items:center;overflow:hidden;
  background:url(../img/hintergrund_dunkler.webp) center right/cover no-repeat;}
.imghead::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,20,36,.82) 0%,rgba(8,20,36,.48) 45%,rgba(8,20,36,.12) 72%,rgba(8,20,36,0) 100%);}
.imghead .wrap{position:relative;z-index:1;}
.imghead-text{padding:48px 0;max-width:60ch;}
.imghead-text h1,.imghead-text h2{color:#fff;font-size:clamp(1.8rem,4.6vw,2.8rem);margin-bottom:10px;text-shadow:0 2px 16px rgba(0,0,0,.45);}
.imghead-text p{color:rgba(255,255,255,.93);font-size:clamp(1rem,2.4vw,1.12rem);line-height:1.55;text-shadow:0 1px 10px rgba(0,0,0,.4);}
@media(max-width:700px){.imghead{min-height:220px;background-position:center;}.imghead-text{padding:32px 0;}}

/* ---- Voll-Hintergrundbild für Innenseiten (body.has-bg) ---- */
/* WICHTIG: KEIN "fixed" als Standard – background-attachment:fixed ist auf iOS Safari
   fehlerhaft (Bild wird nicht/zerrt angezeigt). Parallax nur auf Desktop mit Maus. */
body.has-bg{background:url(../img/hintergrund_dunkler.webp) center top/cover no-repeat;}
@media (hover:hover) and (pointer:fine){ body.has-bg{background-attachment:fixed;} }
body.has-bg::before{content:"";position:fixed;inset:0;background:rgba(244,247,250,.25);z-index:-1;pointer-events:none;}

/* Auf Bild-Seiten: hellgraue Sektionen transparent, damit das Hintergrundbild durchscheint
   (weiße Karten darin bleiben sichtbar; das navy .area-bg-Band bleibt deckend) */
body.has-bg .info-bg{background:transparent;}

/* ---- KI-Assistent (Chat-Widget) – dezent rund, unten rechts über WhatsApp ---- */
.brz-chat-fab{position:fixed;right:16px;bottom:138px;z-index:61;width:54px;height:54px;border-radius:50%;
  background:var(--navy);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.25);}
.brz-chat-fab svg{width:24px;height:24px;}
.brz-chat-fab:hover{background:var(--navy-d);}
@media(min-width:900px){.brz-chat-fab{bottom:146px;}}

.brz-chat-panel{position:fixed;right:16px;bottom:138px;z-index:62;width:350px;max-width:calc(100vw - 32px);
  height:460px;max-height:calc(100vh - 200px);background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:0 28px 70px rgba(8,20,36,.40);display:none;flex-direction:column;overflow:hidden;}
.brz-chat-panel.open{display:flex;}
@media(min-width:900px){.brz-chat-panel{bottom:146px;}}

.brz-chat-head{background:var(--navy);color:#fff;padding:12px 14px;display:flex;justify-content:space-between;
  align-items:center;font-family:"Sora",sans-serif;font-weight:700;}
.brz-chat-head button{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 4px;}
.brz-chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--bg);}
.brz-msg{max-width:86%;padding:9px 12px;border-radius:13px;font-size:.92rem;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;}
.brz-bot{background:#fff;border:1px solid var(--line);color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px;}
.brz-user{background:var(--teal);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;}
.brz-typing{opacity:.6;font-style:italic;}
.brz-wa{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:#1f9e54;color:#fff;
  text-decoration:none;padding:8px 12px;border-radius:10px;font-weight:700;font-size:.86rem;}
.brz-chat-note{font-size:.72rem;color:var(--mut);padding:8px 12px;border-top:1px solid var(--line);line-height:1.4;}
.brz-chat-note a{color:var(--teal);text-decoration:underline;}
.brz-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);}
.brz-chat-form input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;}
.brz-chat-form input:focus{outline:none;border-color:var(--teal);}
.brz-chat-form button{background:var(--gold);border:none;border-radius:10px;width:46px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);}
.brz-chat-form button:disabled{opacity:.5;cursor:default;}
.brz-chat-form button svg{width:20px;height:20px;}
@media(max-width:600px){
  .brz-chat-fab{bottom:130px;}
  .brz-chat-panel{right:8px;left:8px;width:auto;bottom:130px;max-height:calc(100vh - 210px);}
}

/* ===== Kontaktseite: Lesbarkeit auf Bildhintergrund (profimäßig) ===== */
/* Überschrift + Untertitel dunkel (statt grau) */
.has-bg .kontakt-head h1{color:#12233b;}
.has-bg .kontakt-head .muted{color:#1c2c40;}

/* Linke Spalte als weißes Panel mit dunkler Schrift */
.kontakt-info{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:6px 22px;}
.kontakt-loc{border:0;border-radius:0;border-bottom:1px solid var(--line);padding:18px 0;margin:0;}
.kl-adr{color:var(--ink);}
.kl-city small{color:var(--mut);}
.kontakt-mail,.kontakt-wa{margin:0;padding:15px 0;border-bottom:1px solid var(--line);font-size:1rem;}
.kontakt-wa{border-bottom:0;}
.kontakt-info > a.kontakt-mail{border-bottom:1px solid var(--line);}

/* Formular auf der Kontaktseite 2-spaltig -> kein Überlappen bei "Art der Fahrt" */
.kontakt-form .fields{grid-template-columns:1fr 1fr;gap:10px;border:0;border-radius:0;overflow:visible;}
.kontakt-form .field{border:1px solid var(--line);border-radius:11px;}
.kontakt-form .field:last-child{grid-column:1 / -1;border-right:1px solid var(--line);}
.kontakt-form .field select{padding-right:16px;}

/* Beide Kontakt-Panels gleich hoch */
.kontakt-grid{align-items:stretch;}
.kontakt-form{display:flex;}
.kontakt-form .order-card{flex:1;}

/* ===== Kontaktleiste: Icon-Buttons E-Mail / KI / WhatsApp ===== */
.callbar button.cbtn{border:0;cursor:pointer;font:inherit;}
.cbtn-ic{flex:0 0 auto;width:46px;padding:11px 0;justify-content:center;}
.cbtn-ic svg{width:19px;height:19px;}
.cbtn-mail{background:#fff;color:var(--navy-d);}
.cbtn-ai{background:var(--navy);color:#fff;}
.cbtn-wa{background:#1f9e54;color:#fff;}
.cbtn-mail:hover,.cbtn-ai:hover,.cbtn-wa:hover{filter:brightness(1.07);}
@media(max-width:759px){
  .callbar{gap:8px;padding:8px 3vw;}
  .callbar-btns{gap:8px;}
  .cbtn{flex:1;padding:11px 0;}
  .cbtn b,.cbtn .cb-num{display:none;}
  .cbtn-ic{flex:1;width:auto;}
}
/* Chat-Panel öffnet über der Kontaktleiste (Auslöser steckt in der Leiste) */
.brz-chat-panel{bottom:78px;right:16px;}
@media(min-width:900px){.brz-chat-panel{bottom:82px;}}
@media(max-width:600px){.brz-chat-panel{left:8px;right:8px;width:auto;bottom:74px;}}

/* ===== Kontaktleiste v2: Telefon zentriert, Icons rechts, pulsierender KI-Button ===== */
.callbar-phones,.callbar-icons{display:contents;}     /* < 900px: alle Buttons als Icons in einer Reihe */
.cbtn b,.cbtn .cb-num{display:none;}
.cbtn{flex:1;padding:11px 0;}
.cbtn-ic{flex:1;width:auto;}
@media(min-width:900px){
  .callbar{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;padding:9px 4vw;}
  .callbar-txt{display:block;justify-self:start;}
  .callbar-phones{display:flex;gap:10px;justify-self:center;}
  .callbar-icons{display:flex;gap:8px;justify-self:end;}
  .cbtn{flex:0 0 auto;padding:11px 22px;}
  .cbtn b,.cbtn .cb-num{display:inline;}
  .cbtn-ic{flex:0 0 auto;width:46px;padding:11px 0;}
}
@keyframes brzPulse{0%{box-shadow:0 0 0 0 rgba(242,169,0,.55);}70%{box-shadow:0 0 0 9px rgba(242,169,0,0);}100%{box-shadow:0 0 0 0 rgba(242,169,0,0);}}
.cbtn-ai{animation:brzPulse 2.2s ease-out infinite;}
@media(prefers-reduced-motion:reduce){.cbtn-ai{animation:none;}}

/* ===== Bild-Seiten: graue Texte dunkler (bessere Lesbarkeit auf dem Bild) ===== */
.has-bg .sec-head p{color:#16263b;}
.has-bg .area-bg .sec-head p{color:#aebfce;}     /* navy Einzugsgebiet-Band: hell lassen */
.has-bg .info-grid>div>p{color:#16263b;}
.has-bg .kk-note{color:#33455a;}

/* ============================================================
   Taxiwerbung-Seite (Hero, Vorteile, Bedingungen, Rechner, Partner)
   ============================================================ */
.wb-hero{display:grid;grid-template-columns:1fr;gap:26px;align-items:center;}
@media(min-width:880px){.wb-hero{grid-template-columns:1fr 1.05fr;gap:40px;}}
.wb-hero-txt .tag{display:block;margin-bottom:8px;}
.wb-hero-txt h1{font-size:clamp(1.8rem,4.6vw,2.6rem);font-weight:800;color:var(--navy);margin:0 0 12px;line-height:1.12;}
.wb-lead{color:var(--mut);font-size:1.05rem;max-width:54ch;margin:0 0 18px;line-height:1.6;}
.wb-price-badge{display:inline-flex;align-items:baseline;gap:9px;background:rgba(22,139,125,.08);border:1px solid rgba(22,139,125,.28);border-radius:12px;padding:9px 16px;margin:0 0 20px;}
.wb-price-badge strong{font-family:"Sora",sans-serif;font-size:1.7rem;color:var(--teal);line-height:1;}
.wb-price-badge span{color:var(--ink);font-size:.9rem;}
.wb-hero-txt .btn-gold{display:inline-flex;}
.wb-hero-img{margin:0;}
.wb-hero-img img{width:100%;height:auto;border-radius:16px;box-shadow:0 24px 60px rgba(8,20,36,.28);display:block;}
.wb-hero-img figcaption{margin-top:8px;font-size:.8rem;color:var(--mut);text-align:center;}

.wb-benefits{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:28px;}
@media(min-width:620px){.wb-benefits{grid-template-columns:1fr 1fr;}}
@media(min-width:1000px){.wb-benefits{grid-template-columns:repeat(4,1fr);}}
.wb-bcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow);}
.wb-bcard h3{font-family:"Sora",sans-serif;font-size:1.02rem;color:var(--navy);margin:0 0 6px;}
.wb-bcard p{color:var(--mut);font-size:.92rem;line-height:1.55;margin:0;}

.wb-cond{max-width:880px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px;}
.wb-cond h3{font-family:"Sora",sans-serif;color:var(--navy);margin:0 0 14px;font-size:1.12rem;}
.wb-cond .checks li{font-size:.92rem;color:var(--ink);}

.wb-calc{display:grid;grid-template-columns:1fr;gap:22px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:6px;}
@media(min-width:780px){.wb-calc{grid-template-columns:1.3fr 1fr;align-items:center;}}
.wb-calc-controls{display:flex;flex-direction:column;gap:18px;}
.wb-ctl > label{display:block;font-family:"Sora",sans-serif;font-weight:700;font-size:.82rem;color:var(--navy);margin-bottom:8px;}
.wb-ctl strong{color:var(--teal);}
.wb-scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--mut);margin-top:5px;}
.wb-sides{display:flex;flex-wrap:wrap;gap:10px 18px;}
.wb-side{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--ink);cursor:pointer;font-weight:500;}
.wb-side input{width:18px;height:18px;accent-color:var(--teal);}
#wbRange{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:#d8e0e6;outline:none;margin:2px 0;}
#wbRange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--teal);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);}
#wbRange::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--teal);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);}
.wb-calc-result{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;}
.wb-pm,.wb-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.wb-pm span{color:var(--mut);font-size:.9rem;}
.wb-pm strong{font-size:1.1rem;color:var(--ink);font-family:"Sora",sans-serif;}
.wb-total{border-top:1px solid var(--line);padding-top:11px;}
.wb-total span{color:var(--navy);font-weight:600;font-size:.95rem;}
.wb-total strong{font-size:1.6rem;color:var(--teal);font-family:"Sora",sans-serif;}
.wb-calc-note{max-width:none;text-align:center;margin:8px auto 20px;}
.wb-contact{margin-top:6px;}

.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:880px;margin:0 auto;}
@media(min-width:640px){.partner-grid{grid-template-columns:repeat(4,1fr);}}
.partner-card{display:flex;align-items:center;justify-content:center;min-height:96px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);text-decoration:none;}
.partner-card img{max-width:100%;max-height:64px;object-fit:contain;}
.partner-name{font-family:"Sora",sans-serif;font-weight:700;color:var(--navy);text-align:center;font-size:1rem;}
.partner-ph{border-style:dashed;border-color:#c7d2db;background:transparent;box-shadow:none;}
.partner-ph span{color:var(--mut);font-size:.85rem;}
.partner-cta{text-align:center;margin-top:24px;}

/* Werbung-Hero auf Standard-Hintergrund: Texte dunkel/lesbar halten */
.has-bg .wb-lead{color:#16263b;}
.has-bg .wb-hero-img figcaption{color:#33455a;}


/* ===== Standort "ab September 2026" (zentral via $loc['soon'] in config.php) ===== */
.soon-badge{display:inline-flex;align-items:center;gap:5px;background:#E1F5EE;color:#0F6E56;border:1px solid #5DCAA5;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle;}
.soon-badge svg{width:13px;height:13px;flex:0 0 auto;}
.soon-badge.sm{font-size:11px;padding:2px 8px;gap:4px;}
.soon-badge.sm svg{width:11px;height:11px;}
/* auf dunklem Grund (Callbar) heller Pill */
.callbar .soon-badge{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.5);}
/* ausgegraute, nicht klickbare Heidenheim-Nummer */
.soon-num{color:#93a1ac;text-decoration:none;}
.head-tel .ht.is-soon{cursor:default;}
.head-tel .ht.is-soon b{color:#93a1ac;}
.head-tel .ht-meta .soon-badge{margin-top:3px;}
.callbar .cbtn.is-soon{cursor:default;opacity:.9;}
/* Standort-/Kontakt-Karte mit Stempel drueber */
.is-soon-card{position:relative;}
.soon-stamp{position:absolute;top:48%;left:50%;width:86%;max-width:300px;transform:translate(-50%,-50%) rotate(-11deg);pointer-events:none;z-index:3;}
.soon-note{display:flex;align-items:flex-start;gap:7px;background:#F4F7F8;border:1px solid #E1E8ED;border-radius:8px;padding:8px 11px;margin-top:10px;font-size:13px;color:#0F6E56;line-height:1.35;}
.soon-note svg{width:16px;height:16px;flex:0 0 auto;margin-top:1px;}

/* ===== Krankenfahrten: Service-Übersicht (Detailkarten) ===== */
/* Eigenes Voll-Hintergrundbild NUR auf der Krankenfahrten-Seite.
   Schleier-Staerke unten anpassbar: hoeher = Text besser lesbar, Foto blasser. */
body.page-krankenfahrten.has-bg{background-image:url(../img/krankenfahrt.webp);background-position:center center;}
body.page-krankenfahrten.has-bg::before{background:rgba(244,247,250,.42);}
/* Lose Texte auf dem Foto lesbar machen: weisses Panel hinter Sektionskoepfen
   und der linken Spalte der Preis-Sektion (weisse Karten bleiben unveraendert). */
.page-krankenfahrten .sec-head,
.page-krankenfahrten .kontakt-head{
  background:rgba(255,255,255,.95);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px 26px;
  max-width:780px;
  margin-left:auto;margin-right:auto;
  box-shadow:0 8px 24px rgba(14,39,66,.10);
}
.page-krankenfahrten .info-grid>div:first-child{
  background:rgba(255,255,255,.95);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px 28px;
}
.kf-serv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.kf-serv-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 26px;}
.kf-serv-ic{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:12px;background:#FBE8BD;color:var(--gold-d);margin-bottom:13px;}
.kf-serv-ic svg{width:24px;height:24px;}
.kf-serv-card h3{margin:0 0 8px;font-size:19px;color:var(--ink);line-height:1.25;}
.kf-serv-card>p{margin:0 0 14px;color:var(--mut);font-size:15px;line-height:1.5;}
.kf-serv-card .arrows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.kf-serv-card .arrows li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--ink);line-height:1.4;}
.kf-serv-card .arrows svg{width:17px;height:17px;color:var(--gold-d);flex:0 0 auto;margin-top:2px;}
@media(max-width:760px){.kf-serv-grid{grid-template-columns:1fr;}}

/* ===== Preise: offizielle Tariftabelle ===== */
.tarif-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin-top:24px;max-width:640px;box-shadow:0 8px 24px rgba(14,39,66,.08);}
.tarif-card h3{display:flex;align-items:center;gap:9px;margin:0;font-size:18px;color:var(--ink);line-height:1.25;}
.tarif-card h3 svg{width:20px;height:20px;color:var(--gold-d);flex:0 0 auto;}
.tarif-stand{margin:4px 0 0;font-size:12.5px;color:var(--mut);}
.tarif-rows{margin:16px 0 0;}
.tarif-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line);font-size:15px;color:var(--mut);}
.tarif-row:first-child{border-top:0;}
.tarif-row b{color:var(--ink);white-space:nowrap;font-weight:600;}
.tarif-note{margin:16px 0 0;font-size:12.5px;color:var(--mut);line-height:1.5;background:var(--bg);border-radius:8px;padding:12px 14px;}

/* ===== Leistungen: Service-Unterseiten (Hero, Überblick, CTA) ===== */
.svc-hero{position:relative;color:#fff;background-size:cover;background-position:center;overflow:hidden;}
.svc-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,36,.50),rgba(8,20,36,.80));}
.svc-hero .wrap{position:relative;z-index:1;}
.svc-hero-inner{max-width:700px;padding:90px 0 86px;}
.svc-hero-inner h1,.svc-hero-inner h2{color:#fff;font-size:clamp(28px,4.2vw,46px);line-height:1.12;margin:0 0 14px;}
.svc-hero-lead{color:rgba(255,255,255,.93);font-size:18px;line-height:1.55;margin:0 0 26px;max-width:580px;}
.svc-hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
.svc-ov-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.svc-ov-3{grid-template-columns:1fr;}}
.svc-cta{background:var(--navy);color:#fff;padding:58px 0;text-align:center;}
.svc-cta h2{color:#fff;font-size:clamp(24px,3vw,34px);margin:0 0 10px;}
.svc-cta p{color:rgba(255,255,255,.88);max-width:640px;margin:0 auto 24px;line-height:1.55;}
.svc-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
/* Button-Varianten für die CTAs */
.btn-wa{background:#25D366;color:#08351f;}
.btn-wa:hover{background:#1fbe5a;}
.btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6);}
.btn-outline-light:hover{background:rgba(255,255,255,.12);}
.svc-hero-cta .btn svg,.svc-cta-btns .btn svg{width:18px;height:18px;vertical-align:-3px;margin-right:7px;}

/* ===== Leistungen-Kacheln als klickbare Links ===== */
.svc-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;}
.svc-link:hover{border-color:var(--teal);box-shadow:0 10px 26px rgba(8,20,36,.10);transform:translateY(-3px);}
.svc-link.is-care:hover{border-color:var(--gold-d);}
.svc-link p{flex:1 1 auto;}
.svc-more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--teal);font-weight:600;font-size:.95rem;}
.svc-link.is-care .svc-more{color:var(--gold-d);}
.svc-more svg{width:16px;height:16px;transition:transform .2s;}
.svc-link:hover .svc-more svg{transform:translateX(4px);}

/* ===== Navigation: Dropdown unter "Leistungen" ===== */
.has-sub{position:relative;}
.nav-top{display:inline-flex;align-items:center;gap:4px;}
.nav-top .caret{width:14px;height:14px;transition:transform .2s;}
.subnav{list-style:none;margin:0;padding:0;}
.subnav a{white-space:nowrap;}
@media(min-width:900px){
  .subnav{position:absolute;top:100%;left:0;min-width:248px;background:#fff;border:1px solid var(--line);
          border-radius:12px;box-shadow:var(--shadow);padding:8px;display:none;z-index:60;}
  .has-sub:hover>.subnav,.has-sub:focus-within>.subnav{display:block;}
  .has-sub:hover .nav-top .caret{transform:rotate(180deg);}
  .subnav li{margin:0;}
  .subnav a{display:block;padding:9px 12px;border-radius:8px;font-size:.93rem;color:var(--mut);font-weight:500;}
  .subnav a:hover,.subnav a.active{background:rgba(22,139,125,.10);color:var(--teal);}
}
@media(max-width:899px){
  .subnav{padding-left:14px;}
  .subnav a{display:block;padding:11px 0;border-bottom:1px solid var(--line);color:var(--mut);font-size:.97rem;}
  .subnav a.active{color:var(--teal);font-weight:600;}
  .nav-top .caret{display:none;}
}

/* ===== Service-Überblick: schlankes Label statt großem Intro ===== */
.svc-ov-section{padding-top:46px;}
.svc-ov-h{text-align:center;color:var(--navy);font-size:clamp(20px,2.3vw,27px);margin:0 0 30px;}

/* ===== Service-Seiten: Vollflaechen-Hintergrundbild (wie Krankenfahrten) ===== */
body.svc-page.has-bg::before{background:rgba(244,247,250,.42);}
.svc-head-section{padding:54px 0 10px;}
.svc-head-panel{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:18px;
  padding:34px 34px 30px;max-width:760px;box-shadow:0 14px 44px rgba(8,20,36,.14);}
.svc-head-panel h1,.svc-head-panel h2{color:var(--navy);font-size:clamp(26px,3.6vw,42px);line-height:1.12;margin:0 0 12px;}
.svc-head-lead{color:#33455a;font-size:18px;line-height:1.55;margin:0 0 22px;max-width:580px;}
.svc-head-cta{display:flex;gap:12px;flex-wrap:wrap;}
.svc-head-cta .btn svg{width:18px;height:18px;vertical-align:-3px;margin-right:7px;}
/* Ueberblick-Label auf dem Hintergrund gut lesbar */
.svc-page .svc-ov-h{color:#12233b;}
@media(max-width:560px){.svc-head-panel{padding:24px 20px;}}
body.svc-page.has-bg{background-position:center center;}

/* ===== Über uns ===== */
.about-hero{padding:50px 0 6px;}
.about-hero-grid{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;}
@media(min-width:920px){.about-hero-grid{grid-template-columns:1fr 1.15fr;gap:46px;}}
.about-hero-text h1,.about-hero-text h2{color:var(--navy);font-size:clamp(28px,3.8vw,44px);line-height:1.12;margin:0 0 12px;}
.about-lead{font-size:18px;color:var(--teal);font-weight:600;margin:0 0 16px;}
.about-hero-text>p:not(.about-lead){color:var(--mut);line-height:1.6;margin:0 0 14px;}
.about-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.about-cta .btn svg{width:18px;height:18px;vertical-align:-3px;margin-right:6px;}
.about-cars{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:560px){.about-cars{grid-template-columns:1fr;}}
.about-car{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(8,20,36,.08);}
.about-car img{display:block;width:100%;height:180px;object-fit:cover;}
.about-car .cap{padding:14px 16px 16px;}
.about-car-name{font-size:1rem;font-weight:700;color:var(--navy);margin:0 0 8px;}
.about-car-desc{font-size:.9rem;color:var(--mut);line-height:1.5;margin:0;}
.about-plate{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.6px solid #1b2a3d;border-radius:5px;
  padding:2px 9px 2px 4px;font-weight:700;color:#11203a;font-size:.84rem;letter-spacing:1px;margin:0 0 10px;}
.about-plate::before{content:"D";display:inline-block;background:#0d3b9e;color:#fff;font-size:.58rem;line-height:1;border-radius:2px;padding:7px 3px 3px;letter-spacing:0;}
/* Warum Brenztaxi */
.why-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:6px;}
@media(min-width:560px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:920px){.why-grid{grid-template-columns:repeat(4,1fr);}}
.why-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-align:center;}
.why-ic{width:46px;height:46px;border-radius:12px;background:rgba(22,139,125,.10);color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.why-ic svg{width:24px;height:24px;}
.why-card h3{font-size:1rem;color:var(--navy);margin:0 0 6px;}
.why-card p{font-size:.9rem;color:var(--mut);line-height:1.45;margin:0;}

/* ===== Über uns: Text-Intro + große Fahrzeug-Showcases ===== */
.about-hero{padding:50px 0 4px;}
.about-intro{max-width:780px;}
.about-intro h1,.about-intro h2{color:var(--navy);font-size:clamp(28px,3.8vw,44px);line-height:1.12;margin:0 0 12px;}
.about-lead{font-size:18px;color:var(--teal);font-weight:600;margin:0 0 16px;}
.about-intro>p:not(.about-lead):not(.about-leist){color:var(--mut);line-height:1.6;margin:0 0 14px;}
.about-leist{margin:18px 0 0;}
.about-leist a{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-weight:600;text-decoration:none;}
.about-leist a:hover{text-decoration:underline;}
.about-leist svg{width:17px;height:17px;transition:transform .2s;}
.about-leist a:hover svg{transform:translateX(4px);}
.about-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}
.about-cta .btn svg{width:18px;height:18px;vertical-align:-3px;margin-right:6px;}
.about-flotte .sec-head{margin-bottom:30px;}
.flotte-row{display:grid;grid-template-columns:1fr;gap:26px;align-items:center;margin-bottom:40px;}
.flotte-row:last-child{margin-bottom:0;}
@media(min-width:820px){
  .flotte-row{grid-template-columns:1.3fr 1fr;}
  .flotte-row.rev .flotte-img{order:2;}
}
.flotte-img{border-radius:18px;overflow:hidden;box-shadow:0 18px 48px rgba(8,20,36,.18);}
.flotte-img img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;}
.flotte-txt h3{color:var(--navy);font-size:clamp(20px,2.4vw,28px);margin:0 0 12px;}
.flotte-txt p{color:var(--mut);line-height:1.65;font-size:1.04rem;margin:0;}

/* ===== Heidenheim-Countdown-Band ===== */
.cd-band{background:linear-gradient(135deg,#0f5b63,#0b3f4a);color:#fff;padding:34px 0;}
.cd-inner{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.cd-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:.78rem;color:#bdeae6;}
.cd-dot{width:9px;height:9px;border-radius:50%;background:#39d98a;animation:cdpulse 1.8s infinite;}
@keyframes cdpulse{0%{box-shadow:0 0 0 0 rgba(57,217,138,.6)}70%{box-shadow:0 0 0 11px rgba(57,217,138,0)}100%{box-shadow:0 0 0 0 rgba(57,217,138,0)}}
.cd-title{color:#fff;font-size:clamp(20px,2.6vw,30px);margin:0;}
.cd-clock{display:flex;align-items:flex-start;gap:10px;margin-top:4px;}
.cd-unit{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);border-radius:14px;padding:13px 12px;min-width:80px;}
.cd-num{display:block;font-size:clamp(26px,4vw,42px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;}
.cd-lbl{display:block;margin-top:7px;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#bdeae6;}
.cd-sep{font-size:clamp(22px,3vw,36px);font-weight:700;color:rgba(255,255,255,.45);line-height:1;padding-top:10px;}
.cd-note{margin:0;color:rgba(255,255,255,.85);font-size:.92rem;}
.cd-live{font-size:clamp(20px,3vw,28px);font-weight:800;color:#39d98a;}
@media(max-width:560px){.cd-unit{min-width:64px;padding:11px 7px;}.cd-sep{display:none;}.cd-clock{gap:8px;}}

/* Countdown in der Anruf-Leiste */
.cb-cd{color:var(--gold);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}

/* ============ FAQ ============ */
.faq-sec{padding:54px 0 72px;}
.faq-head{max-width:760px;margin:0 0 30px;}
.faq-head h1{font-family:"Sora",sans-serif;font-weight:800;color:var(--navy);font-size:clamp(28px,4vw,40px);line-height:1.12;margin:0 0 12px;}
.faq-lead{color:var(--mut);font-size:1.08rem;line-height:1.6;margin:0;}
.faq-cat{font-family:"Sora",sans-serif;font-weight:800;color:var(--teal-d);font-size:1.18rem;margin:34px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--line);}
.faq-cat:first-of-type{margin-top:8px;}
.faq-group{display:flex;flex-direction:column;gap:10px;}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 16px rgba(16,52,90,.05);overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.faq-item[open]{border-color:var(--gold);box-shadow:var(--shadow);}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;font-family:"Sora",sans-serif;font-weight:700;color:var(--navy);font-size:1.02rem;line-height:1.4;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{color:var(--navy-d);}
.faq-item summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;border-radius:var(--radius);}
.faq-q{flex:1;}
.faq-chev{flex:0 0 auto;width:22px;height:22px;color:var(--gold-d);transition:transform .2s ease;}
.faq-item[open] .faq-chev{transform:rotate(180deg);}
.faq-a{padding:0 20px 18px;}
.faq-a p{margin:0;color:var(--ink);font-size:1rem;line-height:1.62;}
/* Kontakt-Box */
.faq-cta{margin-top:42px;background:var(--navy);color:#fff;border-radius:18px;padding:30px 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow);}
.faq-cta-txt h2{font-family:"Sora",sans-serif;font-weight:800;font-size:1.45rem;margin:0 0 6px;color:#fff;}
.faq-cta-txt p{margin:0;color:#cdd9e6;font-size:1.02rem;line-height:1.55;max-width:46ch;}
.faq-cta-btns{display:flex;flex-wrap:wrap;gap:10px;}
.faq-cta-btns .btn{display:inline-flex;align-items:center;gap:9px;}
.faq-cta-btns .btn svg{width:19px;height:19px;}
@media(max-width:620px){
  .faq-cta{flex-direction:column;align-items:stretch;text-align:center;}
  .faq-cta-txt p{max-width:none;}
  .faq-cta-btns{flex-direction:column;}
  .faq-cta-btns .btn{width:100%;justify-content:center;}
}

/* ===== Standort-Anruf-Buttons (Konzession: Giengen aktiv, Heidenheim bis Sept. gesperrt) ===== */
.callbtn{align-items:center;gap:11px;text-align:left;line-height:1.12;}
.callbtn-t{display:flex;flex-direction:column;}
.callbtn-t b{font-size:.98rem;font-weight:800;}
.callbtn-t i{font-style:normal;font-weight:600;font-size:.8rem;opacity:.9;margin-top:1px;}
.btn-soon{background:#e7edf2;color:#5E6E7B;cursor:default;border:1px dashed #b3c2cf;box-shadow:none;}
.btn-soon:hover{background:#e7edf2;}
.btn-soon svg{opacity:.7;}
.btn-soon .callbtn-t i{color:var(--teal-d);opacity:1;}

/* ============================================================
   MOBILE-/SAFARI-OPTIMIERUNG (finaler Override, gilt < 900px)
   - Anruf-Leiste zweireihig:
       UNTEN  = große Standort-Buttons MIT Ortsname (Giengen/Heidenheim,
                Daumen-Reichweite zum Wählen, Giengen aktiv, Heidenheim ausgegraut)
       OBEN   = kompakter Icon-Cluster (E-Mail / KI / WhatsApp)
   - iPhone Safe-Area (Home-Indikator) unten berücksichtigt
   - Eingabefelder >=16px gegen iOS-Safari-Auto-Zoom
   ============================================================ */
.cb-soon-mini{display:none;}   /* nur auf Smartphone sichtbar (siehe Media-Query) */
@media (max-width: 899px){
  .callbar{flex-direction:column-reverse;gap:8px;align-items:stretch;justify-content:center;
           padding:8px 3vw calc(8px + env(safe-area-inset-bottom, 0px));}
  .callbar-txt{display:none;}
  .callbar-phones{display:flex;gap:8px;width:100%;}
  .callbar-icons{display:flex;gap:8px;width:100%;justify-content:center;}
  /* Untere Reihe: große Wähl-Buttons mit Ortsname (Heidenheim 2-zeilig mit "ab …") */
  .callbar-phones .cbtn{flex:1;flex-wrap:wrap;padding:10px 8px;font-size:.95rem;line-height:1.15;}
  .cbtn b{display:inline;}                          /* Ortsname IMMER sichtbar */
  .cbtn .cb-num,.cbtn .cb-status{display:none;}     /* Nummer/Status/Countdown auf Handy aus */
  .cb-soon-mini{display:block;flex:1 1 100%;width:100%;text-align:center;
                font-size:11px;font-weight:400;opacity:.92;margin-top:2px;line-height:1.1;}
  /* Obere Reihe: kompakter, zentrierter Icon-Cluster */
  .cbtn-ic{flex:0 0 auto;width:46px;padding:10px 0;}

  /* Platz für die zweireihige Leiste + iPhone-Home-Indikator */
  body{padding-bottom:calc(120px + env(safe-area-inset-bottom, 0px));}
  /* Chat-Fenster über der höheren Leiste öffnen */
  .brz-chat-panel{bottom:calc(124px + env(safe-area-inset-bottom, 0px));}

  /* iOS Safari: < 16px Schriftgröße im Eingabefeld löst ungewolltes Reinzoomen aus */
  input[type="text"],input[type="email"],input[type="tel"],
  input[type="number"],input[type="search"],select,textarea{font-size:16px;}
}

/* ============================================================
   WEITERE MOBILE-/SAFARI-FEINSCHLIFFE
   ============================================================ */
/* Karten-Overlay: auf Touch erst antippen, dann bewegen (kein versehentliches Scrollen) */
.rc-map{position:relative;}
.rc-map-lock{display:none;position:absolute;inset:0;z-index:1001;border:0;cursor:pointer;font:inherit;
             align-items:center;justify-content:center;background:rgba(16,52,90,.10);}
.rc-map-lock span{background:rgba(14,39,66,.82);color:#fff;font-family:"Sora",sans-serif;font-weight:600;
                  font-size:.9rem;padding:9px 16px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.28);}
@media (pointer: coarse){ .rc-map-lock{display:flex;} }

/* Burger-Menü: größere Tap-Flächen für Daumenbedienung */
@media (max-width: 899px){
  .nav-links a{padding:14px 6px;font-size:1.02rem;}
  .nav-links .subnav a{padding:12px 6px 12px 20px;font-size:.98rem;}
  .nav-links .has-sub>a{font-weight:600;}
}

/* Smartphone: schlankere Hintergrundbilder (schnellerer Aufbau bei wenig Netz) */
@media (max-width: 899px){
  body.page-taxi.has-bg{background-image:url(../img/taxi_clasic-m.webp) !important;}
  body.page-dialysefahrt.has-bg{background-image:url(../img/dialysefahrt-m.webp) !important;}
  body.page-flughafentransfer.has-bg{background-image:url(../img/flughafentransfer-m.webp) !important;}
  body.page-schuelerfahrten.has-bg{background-image:url(../img/schulweg-m.webp) !important;}
  body.page-chauffeur.has-bg{background-image:url(../img/Cauffeurdienste-m.webp) !important;}
  body.page-seniorenfahrten.has-bg{background-image:url(../img/seniorenfahrten-m.webp) !important;}
  body.page-kurierdienst.has-bg{background-image:url(../img/kurierfahrt-m.webp) !important;}
  body.page-krankenfahrten.has-bg{background-image:url(../img/krankenfahrt-m.webp) !important;}
}

/* ============================================================
   COOKIE-/DATENSCHUTZ-POPUP (zentriert, Stil weiß/schwarz/petrol)
   ============================================================ */
.cookie-overlay{position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center;
                padding:20px;background:rgba(9,20,36,.5);
                -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
                opacity:0;visibility:hidden;transition:opacity .3s ease, visibility .3s ease;}
.cookie-overlay.show{opacity:1;visibility:visible;}
.cookie-modal{position:relative;background:#fff;border-radius:12px;max-width:600px;width:100%;
              padding:26px 30px 24px;text-align:left;
              box-shadow:0 30px 70px -18px rgba(14,39,66,.45), 0 8px 22px rgba(14,39,66,.10);
              transform:translateY(16px) scale(.97);opacity:.5;
              transition:transform .3s cubic-bezier(.2,.85,.25,1), opacity .3s ease;}
.cookie-overlay.show .cookie-modal{transform:none;opacity:1;}
.cookie-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.cookie-logo{height:30px;width:auto;display:block;}
.cookie-lang{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:.84rem;font-weight:600;}
.cookie-lang svg{width:18px;height:18px;opacity:.7;flex:0 0 auto;}
.cookie-lang a{color:var(--mut);text-decoration:none;padding:2px 3px;border-radius:5px;}
.cookie-lang a:hover{color:var(--teal);}
.cookie-lang a.active{color:var(--teal);}
.cookie-lang .sep{opacity:.45;}
.cookie-title{margin:0 0 12px;font-family:"Sora",sans-serif;font-size:1.3rem;font-weight:700;
              letter-spacing:-.3px;color:var(--ink);}
.cookie-txt{margin:0 0 14px;font-size:.92rem;line-height:1.6;color:#3a4a57;}
.cookie-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 22px;}
.cookie-links a{color:var(--teal);font-weight:600;font-size:.88rem;text-decoration:none;
                border-bottom:1px solid rgba(22,139,125,.4);}
.cookie-links a:hover{border-bottom-color:var(--teal);}
.cookie-btns{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;}
.cookie-btns button{cursor:pointer;border-radius:30px;padding:12px 30px;font:inherit;font-weight:600;
                    font-size:.95rem;border:1.7px solid transparent;
                    transition:transform .15s ease, background .15s ease, border-color .15s ease;}
.cookie-accept{background:var(--teal);color:#fff;border-color:var(--teal);}
.cookie-accept:hover{background:var(--teal-d);border-color:var(--teal-d);transform:translateY(-1px);}
.cookie-decline{background:#fff;color:var(--teal);border-color:var(--teal);}
.cookie-decline:hover{background:rgba(22,139,125,.07);}
@media (max-width: 520px){
  .cookie-modal{padding:22px 20px 20px;}
  .cookie-btns{flex-direction:column-reverse;}
  .cookie-btns button{width:100%;}
}
