/* ============================================================
   Webreta Forms — Frontend
   Renk, ölçü, tipografi ve gölge değerlerinin tamamı form
   bazında panelden ayarlanır ve karta inline CSS değişkeni
   olarak gelir. Buradaki değerler yalnızca yedektir.
   ============================================================ */

.wrf-form-card{
  background:var(--wrf-card-bg,#fff);
  border:var(--wrf-card-border,0);
  border-radius:var(--wrf-r-card,18px);
  padding:var(--wrf-pad-y,30px) var(--wrf-pad-x,28px);
  box-shadow:var(--wrf-card-shadow,0 18px 40px -18px rgba(16,26,58,.28));
  max-width:var(--wrf-max-w,none);
  margin-left:var(--wrf-card-mx,auto);
  margin-right:var(--wrf-card-mx,auto);
  width:100%;
  box-sizing:border-box;
  font-family:inherit;
}
.wrf-form-card *{ box-sizing:border-box; }

.wrf-title{
  font-size:var(--wrf-title-size,21px);
  font-weight:var(--wrf-title-w,700);
  color:var(--wrf-ink,#101a3a);
  margin:0 0 4px;
  line-height:1.2;
}
.wrf-sub{
  font-size:var(--wrf-sub-size,14px);
  color:var(--wrf-muted,#5a6577);
  margin:0 0 20px;
  line-height:1.5;
}

.wrf-field{ margin-bottom:var(--wrf-field-gap,14px); }

/* ── Grid dizilim ── */
.wrf-body.wrf-cols-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 var(--wrf-col-gap,16px);
}
.wrf-body.wrf-cols-2 .wrf-full{ grid-column:1 / -1; }
.wrf-body.wrf-cols-2 .wrf-submit{ grid-column:1 / -1; }
@media(max-width:560px){
  .wrf-body.wrf-cols-2{ grid-template-columns:1fr; }
}

.wrf-field > label{
  display:block;
  font-size:var(--wrf-label-size,13px);
  font-weight:var(--wrf-label-w,600);
  color:var(--wrf-ink,#101a3a);
  margin-bottom:6px;
}
.wrf-opt{ color:var(--wrf-muted,#5a6577); font-weight:400; }

/* inputlar — Flatsome input stillerini ezer */
.wrf-form-card input[type="text"],
.wrf-form-card input[type="email"],
.wrf-form-card input[type="tel"],
.wrf-form-card textarea,
.wrf-form-card select{
  display:block !important;
  width:100% !important;
  padding:var(--wrf-input-pad-y,13px) var(--wrf-input-pad-x,14px) !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
  line-height:1.4 !important;
  border:var(--wrf-bw,1.5px) solid var(--wrf-line,#d8e1f2) !important;
  border-radius:var(--wrf-r-input,10px) !important;
  font-family:inherit !important;
  font-size:var(--wrf-input-size,15px) !important;
  color:var(--wrf-ink,#101a3a) !important;
  background:var(--wrf-input-bg,#fff) !important;
  box-shadow:none !important;
  transition:border-color .15s,box-shadow .15s !important;
}
.wrf-form-card textarea{
  resize:vertical !important;
  min-height:var(--wrf-textarea-h,96px) !important;
}
.wrf-form-card input:focus,
.wrf-form-card textarea:focus,
.wrf-form-card select:focus{
  outline:0 !important;
  border-color:var(--wrf-focus-border,#12294a) !important;
  box-shadow:var(--wrf-focus-ring,0 0 0 3px rgba(18,41,74,.14)) !important;
}
.wrf-form-card input::placeholder,
.wrf-form-card textarea::placeholder{ color:var(--wrf-placeholder,#9aa3b5) !important; }

/* hatalı alan */
.wrf-form-card .wrf-invalid{ border-color:var(--wrf-error,#e0533d) !important; }
.wrf-field-error{
  color:var(--wrf-error,#e0533d);
  font-size:var(--wrf-note-size,12px);
  margin-top:5px;
}

/* KVKK checkbox */
.wrf-check{
  display:flex !important;
  align-items:flex-start;
  gap:9px;
  font-size:var(--wrf-label-size,13px) !important;
  font-weight:400 !important;
  color:var(--wrf-muted,#5a6577) !important;
  cursor:pointer;
}
.wrf-check input{ width:auto !important; margin-top:2px; }
.wrf-check input[type="checkbox"]{ accent-color:var(--wrf-accent,#12294a); }

/* submit — Flatsome .button stillerini ezer */
.wrf-form-card .wrf-submit,
.wrf-form-card button.wrf-submit{
  display:block !important;
  width:var(--wrf-btn-width,100%) !important;
  background:var(--wrf-accent,#12294a) !important;
  background-image:none !important;
  color:var(--wrf-btn-text,#fff) !important;
  font-family:inherit !important;
  font-weight:var(--wrf-btn-w,600) !important;
  font-size:var(--wrf-btn-size,16px) !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-shadow:none !important;
  padding:var(--wrf-btn-pad-y,16px) var(--wrf-btn-pad-x,20px) !important;
  margin:4px 0 0 !important;
  min-height:0 !important;
  height:auto !important;
  border:0 !important;
  border-radius:var(--wrf-r-btn,14px) !important;
  cursor:pointer !important;
  box-shadow:var(--wrf-btn-shadow,0 10px 24px -10px rgba(18,41,74,.6)) !important;
  transition:background .15s,transform .15s,opacity .15s !important;
}
.wrf-form-card .wrf-submit:hover,
.wrf-form-card button.wrf-submit:hover{
  background:var(--wrf-accent-d,#1c3d6b) !important;
  transform:translateY(var(--wrf-lift,-2px)) !important;
  color:var(--wrf-btn-text,#fff) !important;
}
.wrf-form-card .wrf-submit:disabled{
  opacity:.6 !important;
  cursor:default !important;
  transform:none !important;
}

.wrf-note{
  font-size:var(--wrf-note-size,12px);
  color:var(--wrf-muted,#5a6577);
  text-align:center;
  margin:11px 0 0;
}

/* mesaj kutuları */
.wrf-message{
  font-size:var(--wrf-sub-size,14px);
  padding:12px 14px;
  border-radius:var(--wrf-r-input,10px);
  margin-bottom:14px;
}
.wrf-message.wrf-ok{
  background:#e7f6ee;
  color:#157c43;
  border:1px solid #bfe6cf;
}
.wrf-message.wrf-err{
  background:#fdecec;
  color:#c0392b;
  border:1px solid #f5c6c6;
}

@media(max-width:480px){
  .wrf-form-card{
    padding:var(--wrf-pad-mobile,22px) var(--wrf-pad-mobile,22px);
  }
}

/* Güvenlik sorusu (captcha) */
.wrf-captcha label{ font-weight:var(--wrf-label-w,600); }
.wrf-captcha strong{ font-weight:700; }
.wrf-captcha input{ max-width:160px; }

/* Onay kutusu içi link */
.wrf-check-link{
  color:var(--wrf-accent,#12294a);
  text-decoration:underline;
  font-weight:600;
}
.wrf-check-link:hover{ color:var(--wrf-accent-d,#1c3d6b); }

/* Hareket azaltma */
@media(prefers-reduced-motion:reduce){
  .wrf-form-card input,
  .wrf-form-card textarea,
  .wrf-form-card select,
  .wrf-form-card .wrf-submit{ transition:none !important; }
  .wrf-form-card .wrf-submit:hover{ transform:none !important; }
}
