/* ---------- Kontakt ---------- */
.kontakt{background:var(--white)}
.kontakt-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}
.kontakt-info h2{margin-bottom:16px}
.kontakt-info .lead{margin-bottom:30px}
.kontakt-cards{list-style:none;display:flex;flex-direction:column;gap:14px}
.kontakt-card{display:flex;align-items:center;gap:16px;background:var(--ivory);border:1px solid var(--stone);border-radius:var(--radius-md);padding:18px 20px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
a.kontakt-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--green)}
.kc-icon{width:46px;height:46px;flex:none;border-radius:12px;background:var(--green);color:var(--ivory);display:flex;align-items:center;justify-content:center}
.kc-icon svg{width:22px;height:22px}
.kc-body{display:flex;flex-direction:column;line-height:1.4;min-width:0}
.kc-body strong{font-family:var(--font-display);font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--forest)}
.kc-body span{font-size:14.5px;color:#4a544c;overflow-wrap:anywhere}
.kontakt-hours{margin-top:22px;font-size:14px;color:var(--workwear)}

.kontakt-form{background:var(--forest);border-radius:var(--radius-lg);padding:40px 38px;color:var(--ivory)}
.kontakt-form h3{color:var(--ivory);font-size:24px;margin-bottom:10px}
.kontakt-form > p{font-size:14.5px;color:#cdd5cd;margin-bottom:26px}

/* CF7 */
.kontakt-form .wpcf7 p{margin-bottom:16px;max-width:none}
.kontakt-form label{display:block;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#cdd5cd;margin-bottom:7px}
.kontakt-form input[type="text"],
.kontakt-form input[type="email"],
.kontakt-form input[type="tel"],
.kontakt-form textarea{
  width:100%;background:rgba(245,243,236,.07);border:1px solid rgba(245,243,236,.22);
  border-radius:var(--radius-sm);padding:14px 16px;color:var(--ivory);
  font-family:var(--font-body);font-size:15px;transition:border-color .2s ease,background-color .2s ease;
}
.kontakt-form input:focus,.kontakt-form textarea:focus{outline:none;border-color:var(--green);background:rgba(245,243,236,.1)}
.kontakt-form input::placeholder,.kontakt-form textarea::placeholder{color:#8a978a}
.kontakt-form textarea{min-height:130px;resize:vertical}
.kontakt-form .wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:600;text-transform:uppercase;
  letter-spacing:.04em;font-size:15px;line-height:1;min-height:54px;
  padding:18px 30px;border-radius:var(--radius-sm);border:2px solid var(--green);
  background:var(--green);color:var(--ivory);cursor:pointer;width:100%;
  transition:background-color .2s ease,border-color .2s ease;
}
.kontakt-form .wpcf7-submit:hover{background:var(--green-hover);border-color:var(--green-hover)}
.kontakt-form .wpcf7-spinner{display:block;margin:10px auto 0}
.kontakt-form .wpcf7-not-valid-tip{color:#f0b6a8;font-size:13px;margin-top:6px}
.kontakt-form .wpcf7 form .wpcf7-response-output{
  margin:18px 0 0;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid rgba(245,243,236,.3);
  font-size:14px;color:var(--ivory);
}
.kontakt-form .wpcf7 form.sent .wpcf7-response-output{border-color:#9fd07f;color:#cfe8bd}
.kontakt-form .wpcf7-acceptance .wpcf7-list-item{margin:0}
.kontakt-form .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-weight:400;font-size:13.5px;color:#cdd5cd}
.kontakt-form .wpcf7-acceptance input{width:auto;margin-top:2px}
.kontakt-form .wpcf7-acceptance a{color:#9fd07f;text-decoration:underline}

@media (max-width:900px){
  .kontakt-grid{grid-template-columns:1fr;gap:44px}
  .kontakt-form{padding:32px 24px}
}
