/* ========= Farb- & Typo-Basis ========= */
:root{
  --petrol:#0f2d33;        /* Primär */
  --ball:#34AFD9;          /* Akzent */
  --ink:#1b1f23;           /* Text dunkel */
  --muted:#6b7785;         /* Sekundärtext */
  --bg:#f7f9fb;            /* helles Sektion-Back */
  --card:#ffffff;          /* Karten */
  --border:#e9eef3;        /* Kanten */
  --focus:#2a79ff;         /* Focus Outline */
}

html { scroll-behavior:smooth; }
body { color:var(--ink); line-height:1.6; }

/* ========= Navbar ========= */
.navbar-default {
  border:0; box-shadow:0 2px 18px rgba(0,0,0,.06);
}
.navbar-default .navbar-brand img { height:44px; }
.navbar-default .navbar-nav>li>a { font-weight:600; }

/* ========= Sektionen ========= */
.section {
  padding:60px 0;
}
.section--alt {
  background:var(--bg);
}

/* ========= Buttons ========= */
.btn-primary {
  background:var(--petrol);
  border-color:var(--petrol);
}
.btn-primary:hover,
.btn-primary:focus {
  background:#103741;
  border-color:#103741;
}
.btn-accent {
  background:var(--ball);
  border-color:var(--ball);
  color:#fff;
}
.btn-accent:hover,
.btn-accent:focus {
  background:#2ca3cc;
  border-color:#2ca3cc;
  color:#fff;
}

/* ========= Job-Karten ========= */
.job-grid { margin-top:10px; }
.job-card {
  display:block;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:18px 18px 14px;
  margin-bottom:20px;
  transition:box-shadow .2s, transform .05s;
  min-height:210px;
}
.job-card:hover { box-shadow:0 10px 26px rgba(0,0,0,.08); }
.job-card h3 { margin:0 0 6px; font-size:20px; font-weight:700; color:var(--petrol); }
.job-card h4 { margin:0 0 4px; font-size:14px; color:var(--muted); }
.job-card h5 { margin:0; font-size:13px; color:#7f8a98; font-weight:600; }
.job-card .cta-bar { margin-top:12px; display:flex; justify-content:flex-end; }

/* Badge (z. B. “NEU”) */
.badge-pill {
  display:inline-block;
  background:rgba(52,175,217,.14);
  color:#0e6e86;
  border:1px solid rgba(52,175,217,.3);
  border-radius:999px;
  padding:2px 8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  margin-left:8px;
}

/* ========= Companies: Pakete ========= */
.pkg-grid { margin-top:10px; }
.pkg {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:22px 18px;
  margin-bottom:24px;
  transition:box-shadow .2s, transform .05s;
}
.pkg:hover { box-shadow:0 10px 26px rgba(0,0,0,.08); }
.pkg__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.pkg__title { font-size:18px; font-weight:800; color:var(--petrol); margin:0; }
.pkg__badge { font-size:11px; font-weight:800; color:#0e6e86; background:rgba(52,175,217,.14); border:1px solid rgba(52,175,217,.3); border-radius:999px; padding:3px 8px; }
.pkg__price { font-size:22px; font-weight:800; color:var(--petrol); margin:10px 0 14px; }
.pkg ul { margin:0 0 12px 18px; color:#38424f; }
.pkg li { margin-bottom:6px; }
.pkg .btn { width:100%; }

/* ========= Formulare ========= */
.form-control {
  height:44px; border-radius:10px; border:1px solid var(--border);
  box-shadow:none; transition:border-color .15s;
}
textarea.form-control { min-height:120px; }
.form-control:focus { border-color:var(--focus); outline:0; box-shadow:0 0 0 3px rgba(42,121,255,.12); }
.help { color:var(--muted); font-size:12px; }

/* ========= Footer ========= */
#footer { background:#0f2d33; color:#cfe5ea; }
#footer a { color:#cfe5ea; }
#copyright { background:#0b2226; color:#9fb3b9; }

/* ========= Admin-Türchen (optional) ========= */
.admin-door {
  position:fixed; right:14px; bottom:14px; z-index:9999;
  background:rgba(15,45,51,.94); color:#fff; border-radius:999px;
  padding:8px 14px; font-size:12px; font-weight:700; text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.admin-door:hover { color:#fff; background:#103741; }
