/*
Theme Name: Swoboda Beta Onepager
Description: Swoboda Beta Onepager
Version: 4.0
Author: Swoboda Messdienst GmbH & Co. KG
Text Domain: swoboda-onepager
License: GPL-2.0-or-later

(c) Swoboda Messdienst GmbH & Co. KG

Ein schlankes Onepager-Theme basierend auf den CI-Vorgaben.
Umsetzung: Lars Weber GmbH / enovatiX
*/
:root{
  --brand-ink:#0F172A; --brand-bg:#ffffff;
  --brand-accent:#146C94; --brand-accent-2:#D9682D;
  --brand-muted:#64748b; --brand-surface:#f8fafc;
  --radius-xl:20px; --shadow:0 8px 24px rgba(2,6,23,.06);
  --maxw:1120px;
}
html,body{margin:0;padding:0;background:var(--brand-bg);color:var(--brand-ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.grid{display:grid;gap:24px}
.header{display:flex;align-items:center;gap:18px;justify-content:space-between;padding:16px 0; position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #e5e7eb}
.brand{display:flex;align-items:center;gap:10px; text-decoration:none; color:var(--brand-ink)}
.brand strong{font-weight:700;letter-spacing:.2px;margin-left:8px}
.brand-logo{height:44px;width:auto;display:block;object-fit:contain}
.nav{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.nav a{display:inline-block;padding:0;margin:0;background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--brand-ink);text-decoration:none;font-weight:600;letter-spacing:.2px}
.nav a:hover{color:var(--brand-accent-2)}
.nav .current-menu-item > a,.nav .current_page_item > a,.nav a[aria-current="page"]{color:var(--brand-accent)}
.hero{padding:72px 0 40px;background:linear-gradient(180deg,#e6f6fb 0%,#ffffff 48%,#ffffff 100%)}
.hero h1{margin:0 0 12px;font-size:clamp(28px,5vw,46px)}
.hero p.lead{margin:0 0 24px;color:var(--brand-muted);font-size:clamp(18px,2.2vw,22px)}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 18px;border-radius:999px;text-decoration:none;border:1px solid transparent;box-shadow:var(--shadow)}
.btn.primary{background:var(--brand-accent);color:#fff}
.btn.secondary{background:#fff;color:var(--brand-ink);border-color:#e2e8f0}
.btn.alt{background:var(--brand-accent-2);color:#fff}
section{padding:48px 0}
h2{font-size:clamp(22px,3.2vw,30px);margin:0 0 8px}
h2 .underline{display:inline-block;border-bottom:6px solid var(--brand-accent-2);padding-bottom:6px}
.sub{color:var(--brand-muted);margin:0 0 24px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--brand-surface);border:1px solid #e5e7eb;border-radius:var(--radius-xl);padding:18px;box-shadow:var(--shadow)}
.card h3{margin:8px 0 6px;font-size:20px}
.card p{margin:0;color:var(--brand-ink)}
.card .thumb{width:100%;height:auto;display:block;border-radius:12px;margin:0 0 8px 0}
.check{list-style:none;padding:0;margin:10px 0 0}
.check li{padding-left:26px;position:relative;margin:8px 0}
.check li:before{content:"✔";position:absolute;left:0;top:0;color:var(--brand-accent)}
.process{counter-reset:step}
.step{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px 16px 16px 56px;position:relative}
.step:before{counter-increment:step;content:counter(step);position:absolute;left:12px;top:12px;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;color:#fff;font-weight:700}
.process .step:nth-child(odd):before{background:var(--brand-accent)}
.process .step:nth-child(even):before{background:var(--brand-accent-2)}
.about .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px}
.fact{background:var(--brand-surface);border:1px solid #e5e7eb;border-radius:12px;padding:12px;text-align:center}
.fact b{display:block;font-size:22px}
.contact{background:linear-gradient(180deg,#0a0f1d 0%, #0f172a 100%);color:#f8fafc}
.contact a{color:#f1f5f9}
.contact .card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.contact .card p{color:#ffffff}
.contact .btn.primary{background:var(--brand-accent-2);color:#ffffff;border:1px solid rgba(255,255,255,.22)}
.contact .btn.alt{background:var(--brand-accent);color:#ffffff;border:1px solid rgba(255,255,255,.22)}
footer{padding:24px 0;background:#0F172A;color:#eef2f6;font-size:15px;border-top:6px solid var(--brand-accent-2)}
footer a{color:#ffffff;text-decoration:none}
footer .nav{display:flex;gap:12px}
.timeline-svg{display:block;width:100%;height:auto;margin:0}
@media (max-width: 860px){
  .hero .grid{grid-template-columns:1fr !important; align-items:start}
  .about .grid{grid-template-columns:1fr !important}
  .header{flex-wrap:wrap}
  .btns{gap:10px}
}
@media (max-width: 520px){
  h1{font-size:clamp(26px,8vw,36px)}
  .hero p.lead{font-size:clamp(16px,4.5vw,20px)}
  .cards{grid-template-columns:1fr}
}
