/* ==========================================================================
   Contact Form 7 – Manufaktur-Design (Kontakt- & Widerrufsformular)
   Nutzt die Tokens aus kss-hpm-design-tokens.css
   ========================================================================== */
.wpcf7 form{max-width:760px}
.wpcf7 form p{margin:0 0 1.2em}

.wpcf7 form label{
  display:block;margin:0 0 20px;
  font-family:var(--body,inherit);font-size:14px;font-weight:600;
  letter-spacing:.02em;color:var(--gruen,#3E4E3A);
}
.wpcf7 form label .wpcf7-form-control-wrap{display:block;margin-top:8px}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 textarea{
  display:block;width:100%;box-sizing:border-box;
  padding:13px 16px;
  font-family:var(--body,inherit);font-size:16px;font-weight:400;line-height:1.4;
  color:var(--tinte,#232220);
  background:var(--papier,#fff);
  border:1.5px solid var(--linie,#DFD3C1);
  border-radius:10px;
  box-shadow:0 1px 0 rgba(35,34,32,.03);
  outline:none;-webkit-appearance:none;appearance:none;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.wpcf7 textarea{min-height:160px;resize:vertical}
.wpcf7 input[type="date"]{max-width:260px;min-height:50px}

.wpcf7 input:hover,
.wpcf7 textarea:hover{border-color:var(--rose-hell,#E7CDC0)}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 textarea:focus{
  border-color:var(--rose,#C1846C);
  box-shadow:0 0 0 4px rgba(193,132,108,.18);
}

/* Datenschutz-Checkbox */
.wpcf7 .wpcf7-acceptance{display:block;margin:0 0 22px}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-acceptance label{
  display:flex;gap:12px;align-items:flex-start;margin:0;
  font-weight:400;font-size:14px;line-height:1.55;color:var(--tinte-weich,#5A5750);
}
.wpcf7 .wpcf7-acceptance input{
  flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--rose,#C1846C);
}
.wpcf7 .wpcf7-acceptance a{color:var(--rose-tief,#A96C55);text-decoration:underline}

/* Absenden-Button */
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 30px;border:1.5px solid transparent;border-radius:8px;
  font-family:var(--body,inherit);font-size:15px;font-weight:600;
  color:#fff;background:var(--rose,#C1846C);cursor:pointer;
  box-shadow:0 6px 18px -8px rgba(169,108,85,.6);
  -webkit-appearance:none;appearance:none;
  transition:background .25s,transform .25s,box-shadow .25s;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover{
  background:var(--rose-tief,#A96C55);transform:translateY(-2px);
  box-shadow:0 12px 26px -10px rgba(169,108,85,.65);
}
.wpcf7 input[type="submit"]:focus-visible{outline:3px solid rgba(193,132,108,.4);outline-offset:2px}

/* Hinweise & Fehler */
.wpcf7 .wpcf7-not-valid{border-color:#b4533f}
.wpcf7 .wpcf7-not-valid-tip{margin-top:6px;font-size:13px;font-weight:400;color:#b4533f}
.wpcf7 form .wpcf7-response-output{
  margin:22px 0 0;padding:14px 18px;border:1.5px solid var(--linie,#DFD3C1);
  border-radius:10px;background:var(--sand,#EFE6D8);color:var(--tinte,#232220);font-size:15px;
}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--gruen-hell,#5C6E56);background:#eef2ea}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{border-color:#b4533f}
.wpcf7 .wpcf7-spinner{margin-left:12px}
