/* Einsatzgebiete (Leistung x Ort) – eigenständige Styles, Präfix geo- */
:root { --geo-red:#d32f2f; --geo-red-dark:#b71c1c; --geo-ink:#1f2933; --geo-muted:#5f6b76; --geo-line:#e6e9ed; --geo-soft:#f6f8fa; }
.geo-hero { background: linear-gradient(120deg,#1b2733 0%,#243646 55%,#33202a 100%); color:#fff; padding:46px 0 38px; position:relative; overflow:hidden; }
.geo-hero:after { content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(211,47,47,.35),rgba(211,47,47,0) 70%); }
.geo-hero .container { position:relative; z-index:2; }
.geo-hero h1 { font-size:clamp(1.7rem,3.4vw,2.6rem); line-height:1.2; font-weight:800; margin:10px 0 14px; color:#fff; }
.geo-hero .geo-sub { max-width:760px; color:#dbe3ea; font-size:1.05rem; margin-bottom:18px; }
.geo-crumbs { font-size:.85rem; margin:0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:4px 8px; }
.geo-crumbs li { color:#b8c4cf; }
.geo-crumbs li+li:before { content:"›"; margin-right:8px; color:#7f8e9b; }
.geo-crumbs a { color:#dbe3ea; text-decoration:none; }
.geo-crumbs a:hover { color:#fff; text-decoration:underline; }
.geo-trust { display:flex; flex-wrap:wrap; gap:8px 18px; margin:0 0 20px; padding:0; list-style:none; font-size:.92rem; color:#e9eef3; }
.geo-trust li:before { content:"✓"; color:#7bd88f; font-weight:700; margin-right:6px; }
.geo-btns { display:flex; flex-wrap:wrap; gap:10px; }
.geo-btn { display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:999px; font-weight:700; text-decoration:none !important; border:2px solid transparent; transition:.2s; line-height:1.2; cursor:pointer; }
.geo-btn-red { background:var(--geo-red); color:#fff !important; }
.geo-btn-red:hover { background:var(--geo-red-dark); }
.geo-btn-ghost { background:transparent; color:#fff !important; border-color:rgba(255,255,255,.55); }
.geo-btn-ghost:hover { background:rgba(255,255,255,.12); }
.geo-btn-wa { background:#1faa59; color:#fff !important; }
.geo-btn-wa:hover { background:#188a48; }
.geo-btn-line { background:#fff; color:var(--geo-red) !important; border-color:var(--geo-red); }
.geo-btn-line:hover { background:var(--geo-red); color:#fff !important; }

.geo-main { padding:44px 0 30px; color:var(--geo-ink); }
.geo-main h2 { font-size:1.55rem; font-weight:800; margin:38px 0 14px; padding-bottom:8px; border-bottom:2px solid var(--geo-line); position:relative; }
.geo-main h2:after { content:""; position:absolute; left:0; bottom:-2px; width:64px; height:2px; background:var(--geo-red); }
.geo-main h2:first-child { margin-top:0; }
.geo-main p { line-height:1.75; margin-bottom:14px; }
.geo-main a { color:var(--geo-red); }
.geo-lead { font-size:1.12rem; color:#33414d; }
.geo-points { list-style:none; padding:0; margin:0 0 6px; display:grid; gap:10px; }
.geo-points li { position:relative; padding:12px 14px 12px 44px; background:var(--geo-soft); border-radius:10px; border:1px solid var(--geo-line); line-height:1.5; }
.geo-points li:before { content:"✓"; position:absolute; left:14px; top:11px; width:22px; height:22px; border-radius:50%; background:var(--geo-red); color:#fff; font-size:.8rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.geo-steps { counter-reset:step; list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.geo-steps li { counter-increment:step; position:relative; padding:14px 16px 14px 62px; border:1px solid var(--geo-line); border-radius:12px; background:#fff; }
.geo-steps li:before { content:counter(step); position:absolute; left:16px; top:14px; width:34px; height:34px; border-radius:50%; background:var(--geo-ink); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; }
.geo-steps strong { display:block; margin-bottom:2px; }
.geo-costs { background:linear-gradient(135deg,#fff4f4,#fff); border:1px solid #f2c9c9; border-radius:14px; padding:18px 20px; }
.geo-costs p:last-child { margin-bottom:0; }
.geo-faq details { border:1px solid var(--geo-line); border-radius:10px; margin-bottom:10px; background:#fff; }
.geo-faq summary { cursor:pointer; padding:14px 44px 14px 16px; font-weight:700; list-style:none; position:relative; }
.geo-faq summary::-webkit-details-marker { display:none; }
.geo-faq summary:after { content:"+"; position:absolute; right:16px; top:10px; font-size:1.4rem; color:var(--geo-red); }
.geo-faq details[open] summary:after { content:"–"; }
.geo-faq details[open] summary { border-bottom:1px solid var(--geo-line); }
.geo-faq .geo-ans { padding:14px 16px 4px; }
.geo-chips { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
.geo-chips a { display:inline-block; padding:7px 14px; border:1px solid var(--geo-line); border-radius:999px; background:#fff; text-decoration:none; color:var(--geo-ink) !important; font-size:.92rem; transition:.15s; }
.geo-chips a:hover { border-color:var(--geo-red); color:var(--geo-red) !important; background:#fff5f5; }
.geo-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; padding:0; margin:0; list-style:none; }
.geo-card { display:block; height:100%; padding:16px 16px 14px; border:1px solid var(--geo-line); border-radius:12px; background:#fff; text-decoration:none !important; color:var(--geo-ink) !important; transition:.18s; }
.geo-card:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.08); border-color:#efb8b8; }
.geo-card i { color:var(--geo-red); font-size:1.3rem; margin-bottom:8px; display:block; }
.geo-card strong { display:block; font-size:1.02rem; margin-bottom:4px; }
.geo-card span { font-size:.88rem; color:var(--geo-muted); }
.geo-facts { width:100%; border-collapse:collapse; font-size:.93rem; }
.geo-facts th { text-align:left; width:42%; padding:9px 10px; background:var(--geo-soft); border-bottom:1px solid var(--geo-line); color:var(--geo-muted); font-weight:600; vertical-align:top; }
.geo-facts td { padding:9px 10px; border-bottom:1px solid var(--geo-line); }
.geo-side { position:sticky; top:14px; display:grid; gap:16px; }
.geo-box { border:1px solid var(--geo-line); border-radius:14px; padding:18px; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.04); }
.geo-box h3 { font-size:1.1rem; font-weight:800; margin:0 0 12px; }
.geo-box .geo-btn { width:100%; justify-content:center; margin-bottom:8px; }
.geo-form input, .geo-form textarea { width:100%; border:1px solid #cfd6dd; border-radius:8px; padding:10px 12px; margin-bottom:9px; font-size:.95rem; }
.geo-form textarea { min-height:86px; resize:vertical; }
.geo-form small { color:var(--geo-muted); display:block; margin-top:6px; }
.geo-legal { font-size:.8rem; color:var(--geo-muted); margin-top:26px; }
.geo-langs { font-size:.85rem; margin:0 0 6px; }
.geo-langs a { color:#dbe3ea; margin-right:10px; text-decoration:none; border:1px solid rgba(255,255,255,.3); padding:2px 9px; border-radius:999px; }
.geo-langs a.on { background:#fff; color:#1b2733; }
.geo-group { margin:0 0 22px; }
.geo-group h3 { font-size:1.08rem; font-weight:800; margin:0 0 10px; }
.geo-details { border:1px solid var(--geo-line); border-radius:10px; margin-bottom:8px; background:#fff; }
.geo-details summary { cursor:pointer; padding:11px 14px; font-weight:700; }
.geo-details .geo-chips { padding:4px 14px 14px; }
.geo-mobile-bar { display:none; }
@media (max-width:991px) {
  .geo-side { position:static; margin-top:30px; }
  .geo-hero { padding:34px 0 28px; }
  .geo-mobile-bar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:999; background:#fff; border-top:1px solid var(--geo-line); box-shadow:0 -6px 18px rgba(0,0,0,.08); padding:8px 10px; gap:8px; }
  .geo-mobile-bar a { flex:1; text-align:center; padding:11px 6px; border-radius:10px; font-weight:700; text-decoration:none; color:#fff; font-size:.95rem; }
  .geo-mobile-bar .mb-call { background:var(--geo-red); }
  .geo-mobile-bar .mb-wa { background:#1faa59; }
  .geo-mobile-bar .mb-q { background:var(--geo-ink); }
  body { padding-bottom:64px; }
}

.geo-dl { margin:0 0 16px; border:1px solid var(--geo-line); border-radius:12px; overflow:hidden; }
.geo-dl > div { display:grid; grid-template-columns:200px 1fr; border-bottom:1px solid var(--geo-line); }
.geo-dl > div:last-child { border-bottom:0; }
.geo-dl dt { background:var(--geo-soft); padding:10px 14px; font-weight:700; font-size:.92rem; color:var(--geo-muted); }
.geo-dl dd { margin:0; padding:10px 14px; line-height:1.5; }
@media (max-width:575px) { .geo-dl > div { grid-template-columns:1fr; } .geo-dl dt { padding-bottom:2px; background:#fff; } .geo-dl dd { padding-top:0; } }

.geo-steps-compact { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.geo-steps-compact li { padding:12px 12px 12px 54px; min-height:58px; display:flex; align-items:center; }
.geo-steps-compact li:before { top:50%; transform:translateY(-50%); left:12px; }
