/* ==========================================================================
   KONTAKT – Manger Transporte GmbH & Co. KG
   ========================================================================== */

.kontakt-container {
  max-width: 1050px;
  margin: 0 auto 70px;
  padding-top: 40px;
  color: var(--clr-text);
  line-height: 1.6;
}

.kontakt-box,
.zeiten-box,
.map-placeholder {
  margin-bottom: 30px;
  padding: 34px 40px;
  background: var(--clr-bg-light);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}

.kontakt-box:hover,
.zeiten-box:hover {
  transform: translateY(-2px);
  border-color: #c8d4e1;
  box-shadow: var(--shadow-md);
}

.kontakt-box .section-heading {
  margin-bottom: 30px;
}

.kontakt-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 50px;
}

.kontakt-col {
  flex: 1;
  min-width: 280px;
}

.kontakt-col h2,
.zeiten-box h2 {
  color: var(--clr-accent-dark);
  font-weight: 700;
}

.kontakt-col h2 {
  margin: 20px 0 6px;
  color: var(--clr-accent-dark);
  font-size: 1.15rem;
  font-weight: 700;
}

.kontakt-col h2:first-child {
  margin-top: 0;
}

.kontakt-col p,
.zeiten-box p {
  margin: 4px 0 10px;
  font-size: 0.96rem;
}

.kontakt-col a {
  color: var(--clr-accent-dark);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease;
}

.kontakt-col a:hover {
  color: var(--clr-accent-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.kontakt-col:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.kontakt-col:last-child img {
  width: 170px;
  margin: 6px auto 12px;
  border-radius: 10px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.kontakt-col:last-child img:hover {
  transform: scale(1.025);
  box-shadow: var(--shadow-md);
}

.zeiten-box .section-heading {
  margin-bottom: 18px;
}

.map-placeholder {
  height: 400px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #f3f6fa;
  color: var(--clr-muted);
}

@media (max-width: 750px) {
  .kontakt-container {
    width: calc(100% - 28px);
    padding-top: 28px;
    margin-bottom: 48px;
  }

  .kontakt-flex {
    flex-direction: column;
    align-items: stretch;
    gap: 26px;
  }

  .kontakt-col {
    min-width: 0;
  }

  .kontakt-box,
  .zeiten-box {
    padding: 25px 22px;
    margin-bottom: 24px;
  }

  .map-placeholder {
    height: 340px;
    margin-bottom: 24px;
  }
}

/* ===== KONTAKTFORMULAR ===== */
#anfrage { scroll-margin-top: 115px; }
.contact-form-box { margin-bottom:30px; padding:34px 40px; background:var(--clr-bg-light); border:1px solid var(--clr-border); border-radius:var(--radius); box-shadow:var(--shadow-sm); }
.form-heading h2 { color:var(--clr-accent-dark); margin:0 0 5px; }
.form-heading p { margin:0 0 24px; color:var(--clr-muted); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 20px; }
.form-field { display:flex; flex-direction:column; gap:7px; margin-bottom:17px; }
.form-field label { font-weight:600; font-size:.91rem; }
.form-field input, .form-field select, .form-field textarea { display:block; width:100%; padding:12px 14px; font:inherit; font-size:.95rem; line-height:1.5; color:var(--clr-text); background:var(--clr-bg-light); border:1px solid #aab8c5; border-radius:5px; }
.form-field textarea { resize:vertical; min-height:140px; }
.form-field input:focus-visible, .form-field select:focus-visible, .form-field textarea:focus-visible { outline:3px solid rgba(40,116,178,.20); outline-offset:1px; border-color:var(--clr-accent); }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-privacy { display:flex; align-items:flex-start; gap:10px; font-size:.9rem; cursor:pointer; margin:0 0 20px; }
.form-privacy input { margin:5px 0 0; flex:0 0 17px; width:17px; height:17px; accent-color:#2874b2; }
.form-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px; }
.form-note { color:var(--clr-muted); font-size:.82rem; }
.form-submit { min-height:50px; padding:0 25px; border:1px solid #2874b2; background:#2874b2; color:#fff; border-radius:5px; font:inherit; font-size:.9rem; font-weight:700; cursor:pointer; }
.form-submit:disabled { opacity:.65; cursor:wait; }
.form-result { min-height:1em; margin:15px 0 0; font-size:.92rem; font-weight:600; }
.form-result.is-success { color:#247449; }
.form-result.is-error { color:#a12b27; }
@media(max-width:750px) { .contact-form-box { padding:24px 20px; } .form-grid { grid-template-columns:1fr; gap:0; } .form-submit { width:100%; } }

.contact-hours-live { display:flex; gap:8px; align-items:center; font-weight:700; color:var(--clr-text); }
.contact-hours-live::before { content:""; width:9px; height:9px; border-radius:50%; background:#8795a4; }
.contact-hours-live.is-open::before { background:#268852; }
.contact-hours-live.is-closed::before { background:#b84b4b; }
.contact-hours-note { color:var(--clr-muted); font-size:.83rem !important; }
