/* Formularz kontaktowy K-Team (wariant A, 01.10.2026): linia + pływająca etykieta.
   Wspólny dla index.html (#kontakt) i diagnoza.html (sekcja 03). Tło zawsze ciemne.
   Zgoda marketingowa: treść i pola z marketing-consent.js, tu wyłącznie wygląd. */

.kf { display:grid; grid-template-columns:1fr 1fr; column-gap:3.5rem; row-gap:2.6rem; }
.kf .kf-full { grid-column:1 / -1; }

.kf-field { position:relative; padding-top:1.1rem; }
.kf-field input, .kf-field textarea {
  width:100%; background:transparent; border:0; border-bottom:1px solid rgba(250,243,239,.28); border-radius:0;
  color:#faf3ef; font:500 1rem/1.5 Manrope, system-ui, sans-serif; padding:.55rem 0 .7rem; outline:none; resize:none;
  -webkit-appearance:none; appearance:none;
}
.kf-field input:-webkit-autofill { -webkit-text-fill-color:#faf3ef; transition:background-color 9999s ease-out; }
.kf-field textarea { display:block; min-height:3.2rem; overflow:hidden; }
.kf-field input::placeholder, .kf-field textarea::placeholder { color:transparent; }
.kf-field textarea:focus::placeholder { color:rgba(250,243,239,.35); }
.kf-field label {
  position:absolute; left:0; top:1.65rem; color:rgba(250,243,239,.55); font-size:1rem; font-weight:500;
  pointer-events:none; transform-origin:left top; transition:transform .35s cubic-bezier(.5,0,0,1), color .35s;
}
.kf-field label em { font-style:normal; color:rgba(250,243,239,.35); font-size:.85em; }
.kf-field::after {
  content:""; position:absolute; left:0; bottom:0; height:2px; width:100%; background:#D19862;
  transform:scaleX(0); transform-origin:left; transition:transform .5s cubic-bezier(.5,0,0,1);
}
.kf-field:focus-within::after { transform:scaleX(1); }
.kf-field input:focus + label, .kf-field input:not(:placeholder-shown) + label,
.kf-field textarea:focus + label, .kf-field textarea:not(:placeholder-shown) + label {
  transform:translateY(-1.45rem) scale(.78); color:#D19862;
}
.kf-ok { position:absolute; right:0; top:1.75rem; width:16px; height:16px; color:#D19862; opacity:0; transition:opacity .3s; }
.kf-field input:not(:focus):not(:placeholder-shown):valid ~ .kf-ok { opacity:1; }
/* globalny focus-visible stron rysuje obrys wokół pola; tu fokus pokazuje złota linia */
.kf-field input:focus-visible, .kf-field textarea:focus-visible { outline:none !important; }

.kf-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; }
.kf-actions.kf-center { justify-content:center; }
.kf-error { grid-column:1 / -1; margin:0; }

.kf .kteam-marketing-consent { grid-column:1 / -1; margin:0; color:rgba(250,243,239,.72); opacity:1; font-size:13px; line-height:1.6; }
.kf .kteam-marketing-consent label { gap:14px; }
.kf .kteam-marketing-consent input[type="checkbox"] {
  -webkit-appearance:none; appearance:none; width:20px; height:20px; min-width:20px; margin-top:1px;
  border:1.5px solid rgba(209,152,98,.55); border-radius:5px; background:transparent; cursor:pointer;
  display:grid; place-content:center; transition:background .25s, border-color .25s;
}
.kf .kteam-marketing-consent input[type="checkbox"]::after {
  content:""; width:10px; height:6px; border-left:2px solid #2E112D; border-bottom:2px solid #2E112D;
  transform:rotate(-45deg) scale(0); margin-top:-2px; transition:transform .2s cubic-bezier(.5,0,0,1);
}
.kf .kteam-marketing-consent input[type="checkbox"]:checked { background:#D19862; border-color:#D19862; }
.kf .kteam-marketing-consent input[type="checkbox"]:checked::after { transform:rotate(-45deg) scale(1); }
.kf .kteam-marketing-consent input[type="checkbox"]:focus-visible { outline:2px solid #D19862 !important; outline-offset:3px; }
.kf .kteam-marketing-consent a { color:#d9ab7f; }

@media (max-width:640px) {
  .kf { grid-template-columns:1fr; row-gap:2.2rem; }
  .kf-actions { justify-content:stretch; }
  .kf-actions .btn-pill-filled { width:100%; justify-content:center; }
  .kf-field label em.kf-hint { display:none; }
}

/* zgoda: równe łamanie wierszy bez pojedynczych słów na końcu (treść bez zmian) */
.kf .kteam-marketing-consent > label > span { text-wrap-style:pretty; }
