/* ============================================================
   Kontakt page — bespoke layout, matches site visual identity
   Scoped under .kontakt-page. All shared tokens from style.css.
   ============================================================ */

.kontakt-page{
  background:#f7faf2;
}

/* Intro block */
.kontakt-page .kontakt-intro-title{
  font-size:clamp(1.55rem,2.8vw,2.1rem);
  letter-spacing:-.05em;
  font-weight:800;
  line-height:1.1;
  color:var(--ink);
}
.kontakt-page .kontakt-intro p{
  max-width:60ch;
}

/* Column eyebrow spacing */
.kontakt-page .col-lg-5 > .eyebrow{
  margin-bottom:1rem;
}

/* ------------------------------------------------------------
   Contact-method cards — signature green left-border accent
   ------------------------------------------------------------ */
.kontakt-methods{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  margin-bottom:1.75rem;
}
.kontakt-method{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  background:#fff;
  border-left:3px solid var(--brand);
  border-top:1px solid var(--border-soft);
  border-right:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:1.05rem 1.2rem 1.05rem 1.25rem;
  box-shadow:0 2px 10px rgba(26,36,16,.05);
  transition:border-left-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.kontakt-method:hover{
  border-left-color:var(--brand-dark);
  box-shadow:0 2px 10px rgba(26,36,16,.05);
  transform:translateY(-1px);
}
.kontakt-method__icon{
  flex:none;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:12px;
  background:rgba(174,201,12,.16);
  color:var(--brand-dark);
  font-size:1.15rem;
}
.kontakt-method__body{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  min-width:0;
  padding-top:.1rem;
}
.kontakt-method__label{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--muted);
}
.kontakt-method__value{
  font-size:1.08rem;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ink);
  line-height:1.3;
  text-decoration:none;
  word-break:break-word;
}
a.kontakt-method__value:hover{
  color:var(--brand-text);
}

/* ------------------------------------------------------------
   Quick-access links
   ------------------------------------------------------------ */
.kontakt-quick{
  margin-bottom:1.5rem;
}
.kontakt-quick__title{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:.75rem;
}
.kontakt-quick__links{
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.kontakt-quick__links .btn{
  justify-content:flex-start;
  text-align:left;
}

/* ------------------------------------------------------------
   "Ihre Anfrage" note
   ------------------------------------------------------------ */
.kontakt-note{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  background:var(--surface);
  border:1px solid var(--border-soft);
  border-radius:var(--radius-sm);
  padding:1.05rem 1.2rem;
}
.kontakt-note > i{
  flex:none;
  color:var(--brand-dark);
  font-size:1.1rem;
  margin-top:.15rem;
}
.kontakt-note strong{
  display:block;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:.2rem;
}
.kontakt-note p{
  color:var(--ink-soft);
  font-size:.92rem;
  line-height:1.5;
}

/* ------------------------------------------------------------
   Form card — clean white surface
   ------------------------------------------------------------ */
.kontakt-form-card{
  background:#fff;
  border:1px solid var(--border-soft);
  border-left:3px solid var(--brand);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:2rem 2rem 2.15rem;
  box-shadow:0 2px 10px rgba(26,36,16,.05);
}
.kontakt-form-card__title{
  font-size:clamp(1.4rem,2.4vw,1.8rem);
  letter-spacing:-.045em;
  font-weight:800;
  color:var(--ink);
  margin-bottom:.35rem;
}
.kontakt-form-card__sub{
  color:var(--muted);
  font-size:.95rem;
  margin-bottom:1.5rem;
}
.kontakt-form-card .btn-brand{
  font-weight:700;
}

/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */
@media (max-width:575.98px){
  .kontakt-form-card{
    padding:1.35rem 1.2rem 1.5rem;
  }
  .kontakt-method{
    padding:.95rem 1rem .95rem 1.05rem;
    gap:.85rem;
  }
  .kontakt-method__icon{
    width:42px;
    height:42px;
    font-size:1.05rem;
  }
  .kontakt-method__value{
    font-size:1rem;
  }
}
