/* =========================
   FEDV KONTAKT (Gefährdungsbeurteilung)
   - relies on fedv-core / fedv-pages tokens
   - layout: form + info sidebar
========================= */

.fedv-kontakt-gbu{
  padding: clamp(22px, 3vw, 44px) 0;
}

.fedv-kontakt-gbu .wrap{
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 var(--page-px, 16px);
}

.fedv-kontakt-gbu h1{
  margin: 0 0 10px;
  font-size: clamp(24px, 2.6vw, 36px);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.fedv-kontakt-gbu .lead{
  margin: 0 0 16px;
  color: var(--fedv-muted, #4c5b66);
  max-width: 90ch;
}

.fedv-kontakt-gbu .grid{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 16px;
  align-items: start;
}

@media (max-width: 980px){
  .fedv-kontakt-gbu .grid{ grid-template-columns: 1fr; }
}

.fedv-kontakt-gbu .card{
  position: relativ;
  background: linear-gradient(
      145deg,
      rgba(255,255,255,.96) 0%,
      rgba(238,243,255,.96) 100%
    );
  border: 1px solid rgba(27,71,218,.18);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(15,23,42,.08);
  padding: 18px;
  overflow: hidden;
}

.fedv-kontakt-gbu .card h2{
  margin: 0 0 10px;
  font-size: clamp(16px, 1.6vw, 20px);
  letter-spacing: -0.01em;
}

.fedv-kontakt-gbu .muted{
  color: var(--fedv-muted, #4c5b66);
}

.fedv-kontakt-gbu .note{
  background: var(--fedv-surface, #fafbfd);
  border: 1px solid var(--fedv-border1, #dde4ea);
  border-radius: 14px;
  padding: 12px 14px;
  color: var(--fedv-muted, #4c5b66);
}

.fedv-kontakt-gbu .sep{
  height: 1px;
  background: var(--fedv-border1, #dde4ea);
  margin: 14px 0;
}

/* Pills / Topics */
.fedv-kontakt-gbu .split{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 560px){
  .fedv-kontakt-gbu .split{ grid-template-columns: 1fr; }
}

.fedv-kontakt-gbu .pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--fedv-border2, #ccd8e3);
  background: rgba(27,71,218,.06);
  color: var(--fedv-brand2, #003d8f);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .04em;
  white-space: nowrap;
}

/* KPI steps */
.fedv-kontakt-gbu .kpi{
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.fedv-kontakt-gbu .kpi .row{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--fedv-border1, #dde4ea);
  background: #fff;
}
.fedv-kontakt-gbu .kpi .t{
  font-weight: 900;
}
.fedv-kontakt-gbu .kpi .v{
  color: var(--fedv-muted, #4c5b66);
  font-weight: 700;
  text-align: right;
}

/* Contact lines */
.fedv-kontakt-gbu .contact{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}
.fedv-kontakt-gbu .contact a{
  text-decoration: none;
  color: inherit;
}
.fedv-kontakt-gbu .contact .line{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid var(--fedv-border1, #dde4ea);
  background: #fff;
}
.fedv-kontakt-gbu .contact .ico{
  width: 22px;
  height: 22px;
  border-radius: 8px;
  border: 1px solid var(--fedv-border2, #ccd8e3);
  display: grid;
  place-items: center;
  color: var(--fedv-brand2, #003d8f);
  background: rgba(27,71,218,.06);
  flex: 0 0 22px;
  margin-top: 1px;
}
.fedv-kontakt-gbu .contact .txt b{ display:block; }
.fedv-kontakt-gbu .contact .txt span{ color: var(--fedv-muted, #4c5b66); }

/* CF7 Form styling */
.fedv-kontakt-gbu .wpcf7 form{
  margin-top: 10px;
}

.fedv-kontakt-gbu .wpcf7 label{
  display:block;
  font-weight: 800;
  color: var(--fedv-text, #1a1a1a);
  margin: 12px 0 6px;
}

.fedv-kontakt-gbu .wpcf7 input[type="text"],
.fedv-kontakt-gbu .wpcf7 input[type="email"],
.fedv-kontakt-gbu .wpcf7 input[type="tel"],
.fedv-kontakt-gbu .wpcf7 select,
.fedv-kontakt-gbu .wpcf7 textarea{
  width:100%;
  border: 1px solid var(--fedv-border2, #ccd8e3);
  border-radius: 14px;
  padding: 12px 12px;
  background: #fff;
  color: var(--fedv-text, #1a1a1a);
  outline: none;
}

.fedv-kontakt-gbu .wpcf7 textarea{
  min-height: 140px;
  resize: vertical;
}

.fedv-kontakt-gbu .wpcf7 input:focus,
.fedv-kontakt-gbu .wpcf7 select:focus,
.fedv-kontakt-gbu .wpcf7 textarea:focus{
  box-shadow: var(--fedv-btn-focus, 0 0 0 4px rgba(27,71,218,.18));
  border-color: rgba(27,71,218,.40);
}

.fedv-kontakt-gbu .wpcf7 .wpcf7-list-item{
  margin: 6px 12px 0 0;
}

.fedv-kontakt-gbu .wpcf7 input[type="checkbox"]{
  transform: translateY(1px);
}

.fedv-kontakt-gbu .wpcf7 input[type="submit"]{
  margin-top: 14px;
  width: 100%;
  border: 1px solid transparent;
  border-radius: var(--fedv-btn-radius, 14px);
  padding: 12px 16px;
  font-weight: 900;
  letter-spacing: .01em;
  background: var(--fedv-brand, #1B47DA);
  color: #fff;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  box-shadow: 0 14px 34px rgba(15,23,42,.14);
}

.fedv-kontakt-gbu .wpcf7 input[type="submit"]:hover{
  transform: translateY(-1px);
  background: var(--fedv-brand2, #003d8f);
}

/* Print */
@media print{
  .fedv-kontakt-gbu{ padding: 0; }
  .fedv-kontakt-gbu .card{ box-shadow:none; }
}
