/* PsikoKutu Formlar — sitenin krem / bordo / altın paletiyle.
   Renkler değişken: bir sayfada farklı ton istenirse kapsayıcıda --pkf-* ezilebilir. */

.pkf{
  --pkf-ink:#2B2440;
  --pkf-ink-soft:#5B5470;
  --pkf-muted:#8a839a;
  --pkf-line:rgba(43,36,64,.16);
  --pkf-line-hover:rgba(43,36,64,.3);
  --pkf-accent:#7a3b5e;
  --pkf-accent-dark:#4f2438;
  --pkf-gold:#b8894f;
  --pkf-error:#b3261e;
  --pkf-error-soft:#fbeceb;
  --pkf-success:#2f7d57;
  position:relative;
  z-index:2;
  color:var(--pkf-ink);
  font-family:inherit;
}
.pkf *,.pkf *::before,.pkf *::after{ box-sizing:border-box; }
.pkf [hidden]{ display:none !important; }

/* Bal tuzağı: ekran dışında, ekran okuyuculardan da gizli */
.pkf .pkf-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }

.pkf .pkf-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 16px;
  margin-top:6px;
}
.pkf .pkf-field{ grid-column:1 / -1; min-width:0; }
.pkf .pkf-field.pkf-half{ grid-column:auto; }
/* Yan yana alanlar, formun KENDİ genişliği daralınca alt alta geçer
   (İletişim sayfasında form dar bir sütunda, ekran geniş olsa bile). */
.pkf{ container-type:inline-size; }
@container (max-width:440px){
  .pkf .pkf-grid{ grid-template-columns:1fr; gap:16px; }
}
@media (max-width:560px){
  .pkf .pkf-grid{ grid-template-columns:1fr; gap:16px; }
}

.pkf .pkf-label{
  display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
  margin:0 0 7px;
  font-size:13.5px; font-weight:600; line-height:1.3;
  color:var(--pkf-ink);
}
.pkf .pkf-req{ color:var(--pkf-accent); font-weight:600; }
.pkf .pkf-opt{ font-size:12px; font-weight:400; color:var(--pkf-muted); }

.pkf .pkf-input{
  display:block;
  width:100%;
  margin:0;
  padding:12px 14px;
  font:inherit;
  font-size:15px;
  line-height:1.45;
  color:var(--pkf-ink);
  background:#fff;
  border:1px solid var(--pkf-line);
  border-radius:12px;
  box-shadow:0 1px 2px rgba(43,36,64,.04);
  -webkit-appearance:none;
  appearance:none;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.pkf .pkf-input::placeholder{ color:#aaa4b6; opacity:1; }
.pkf .pkf-input:hover{ border-color:var(--pkf-line-hover); }
.pkf .pkf-input:focus{
  outline:none;
  border-color:var(--pkf-gold);
  box-shadow:0 0 0 4px rgba(184,137,79,.18);
}
.pkf textarea.pkf-input{ min-height:120px; resize:vertical; }

.pkf .pkf-help{
  margin:6px 0 0;
  font-size:12.5px; line-height:1.5;
  color:var(--pkf-muted);
}
.pkf .pkf-error{
  margin:0;
  font-size:12.5px; line-height:1.45; font-weight:500;
  color:var(--pkf-error);
}
.pkf .pkf-error:not(:empty){ margin-top:6px; }
.pkf .pkf-invalid .pkf-input{
  border-color:var(--pkf-error);
  background:#fffafa;
}
.pkf .pkf-invalid .pkf-input:focus{ box-shadow:0 0 0 4px rgba(179,38,30,.12); }

.pkf .pkf-alert{
  margin:0 0 16px;
  padding:11px 14px;
  font-size:14px; line-height:1.5;
  color:var(--pkf-error);
  background:var(--pkf-error-soft);
  border-radius:10px;
}

.pkf .pkf-actions{
  display:flex; align-items:center; gap:14px 20px; flex-wrap:wrap;
  margin-top:24px;
}
.pkf .pkf-submit{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-width:150px;
  margin:0;
  padding:14px 34px;
  font:inherit; font-size:15px; font-weight:600; letter-spacing:.01em; line-height:1.2;
  color:#fff;
  background:var(--pkf-accent);
  border:0;
  border-radius:999px;
  box-shadow:0 6px 18px -8px rgba(122,59,94,.6);
  cursor:pointer;
  transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pkf .pkf-submit:focus{ background:var(--pkf-accent); color:#fff; } /* Astra'nın button:focus rengini ez */
.pkf .pkf-submit:hover{ background:var(--pkf-accent-dark); color:#fff; transform:translateY(-1px); }
.pkf .pkf-submit:focus-visible{ outline:none; box-shadow:0 0 0 4px rgba(184,137,79,.35); }
.pkf .pkf-submit:disabled{ cursor:default; transform:none; opacity:.85; }

.pkf .pkf-spinner{
  display:none;
  width:16px; height:16px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:pkf-spin .7s linear infinite;
}
.pkf .pkf-loading .pkf-spinner{ display:inline-block; }
@keyframes pkf-spin{ to{ transform:rotate(360deg); } }

.pkf .pkf-privacy{
  flex:1 1 200px;
  margin:0;
  font-size:12.5px; line-height:1.5;
  color:var(--pkf-muted);
}
.pkf .pkf-privacy a{ color:var(--pkf-ink-soft); text-decoration:underline; text-underline-offset:2px; }
.pkf .pkf-privacy a:hover{ color:var(--pkf-accent); }

/* BAŞARI */
.pkf .pkf-success{
  padding:26px 8px 10px;
  text-align:center;
  outline:none;
  animation:pkf-in .45s ease both;
}
.pkf .pkf-success-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:58px; height:58px;
  margin-bottom:16px;
  color:var(--pkf-success);
  background:#e6f2ec;
  border-radius:50%;
}
.pkf .pkf-success-title{
  margin:0 0 8px;
  font-family:'Fraunces',Georgia,serif;
  font-size:22px; font-weight:500; line-height:1.3;
  color:var(--pkf-ink);
}
.pkf .pkf-success-text{
  max-width:380px;
  margin:0 auto;
  font-size:15px; line-height:1.65;
  color:var(--pkf-ink-soft);
}
@keyframes pkf-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

@media (prefers-reduced-motion:reduce){
  .pkf .pkf-success{ animation:none; }
  .pkf .pkf-submit:hover{ transform:none; }
}
