/* ============================================
   YATIRIMCI ÖN BAŞVURU FORMU — sayfa-özel stiller
   css/style.css'teki değişkenleri (renk, font) kullanır.
   ============================================ */

.form-hero{
  padding:290px 24px 60px;
  text-align:center;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(197,22,29,0.16), transparent 70%),
    var(--black);
  border-bottom:1px solid rgba(8,8,8,0.08);
}
.form-hero h1{font-size:clamp(32px,5vw,52px); color:var(--white); max-width:18ch; margin:16px auto 0;}
.form-hero p{color:var(--metal); max-width:560px; margin:20px auto 0; font-size:16px;}

.form-shell{max-width:760px; margin:0 auto; padding:64px 24px 140px;}

/* stepper */
.stepper{display:flex; justify-content:space-between; margin-bottom:56px; position:relative;}
.stepper::before{
  content:""; position:absolute; top:17px; left:0; right:0; height:1px;
  background:rgba(8,8,8,0.12); z-index:0;
}
.stepper .step{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  position:relative; z-index:1; flex:1;
}
.stepper .step .dot{
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:13px; color:var(--metal);
  background:var(--black); border:1px solid rgba(8,8,8,0.2);
  transition:border-color .25s, color .25s, background .25s;
}
.stepper .step .label{
  font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--metal); text-align:center; max-width:90px;
}
.stepper .step.is-active .dot{border-color:var(--gold); color:var(--white); background:var(--gold);}
.stepper .step.is-active .label{color:var(--gold);}
.stepper .step.is-done .dot{border-color:var(--gold); color:var(--gold); background:transparent;}
.stepper .step.is-done .label{color:var(--gold);}
@media(max-width:640px){ .stepper .label{display:none;} }

/* panels */
.f-panel{display:none;}
.f-panel.is-active{display:block; animation:fpanel .35s ease;}
@keyframes fpanel{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}

.f-panel-head{margin-bottom:32px;}
.f-panel-head .eyebrow{margin-bottom:10px;}
.f-panel-head h2{font-size:clamp(24px,3vw,32px); color:var(--white);}

.f-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.f-field{display:flex; flex-direction:column; gap:8px;}
.f-field.full{grid-column:1/-1;}
.f-field label{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--metal);}
.f-field .req{color:var(--red);}
.f-field .hint{font-size:12px; color:var(--metal); opacity:0.75; margin-top:-2px;}

.f-field input[type=text],
.f-field input[type=tel],
.f-field input[type=email],
.f-field input[type=number],
.f-field select,
.f-field textarea{
  background:var(--charcoal);
  border:1px solid rgba(8,8,8,0.14);
  color:var(--off-white);
  font-family:var(--sans);
  font-size:14.5px;
  padding:13px 14px;
  border-radius:2px;
  transition:border-color .2s, background .2s;
  width:100%;
}
.f-field textarea{resize:vertical; min-height:96px;}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus{
  outline:none; border-color:var(--gold); background:var(--charcoal);
}
.f-field select{appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--metal) 50%), linear-gradient(135deg, var(--metal) 50%, transparent 50%); background-position:calc(100% - 20px) center, calc(100% - 15px) center; background-size:5px 5px, 5px 5px; background-repeat:no-repeat;}

/* choice cards (radio/checkbox styled) */
.f-choices{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px;}
.f-choices.cols-2{grid-template-columns:1fr 1fr;}
.f-choice{position:relative;}
.f-choice input{position:absolute; opacity:0; inset:0; cursor:pointer; margin:0;}
.f-choice span{
  display:block; text-align:center;
  border:1px solid rgba(8,8,8,0.14); border-radius:2px;
  padding:14px 12px; font-size:13.5px; color:var(--metal);
  transition:border-color .2s, color .2s, background .2s;
}
.f-choice input:checked + span{border-color:var(--red); color:var(--white); background:rgba(197,22,29,0.08);}
.f-choice input:focus-visible + span{outline:2px solid var(--gold); outline-offset:2px;}

/* file upload */
.f-file{
  border:1px dashed rgba(8,8,8,0.22); border-radius:2px;
  padding:18px 16px; display:flex; align-items:center; justify-content:space-between;
  gap:12px; cursor:pointer; transition:border-color .2s;
}
.f-file:hover{border-color:var(--gold);}
.f-file input{display:none;}
.f-file .fname{font-size:12.5px; color:var(--metal); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.f-file .fbtn{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); flex-shrink:0;}

/* consent rows */
.f-consent{display:flex; gap:12px; align-items:flex-start; padding:16px 0; border-top:1px solid rgba(8,8,8,0.08);}
.f-consent:first-child{border-top:none;}
.f-consent input{margin-top:4px; accent-color:var(--red); width:16px; height:16px; flex-shrink:0;}
.f-consent p{font-size:13.5px; color:var(--metal); line-height:1.55;}
.f-consent a{color:var(--gold); border-bottom:1px solid rgba(182,154,98,0.4);}

/* summary (step 5 review) */
.f-summary{background:var(--charcoal); border:1px solid rgba(8,8,8,0.1); padding:20px 22px; margin-bottom:28px; font-size:13.5px; color:var(--metal);}
.f-summary b{color:var(--off-white);}

/* nav buttons */
.f-nav{display:flex; justify-content:space-between; align-items:center; margin-top:44px; gap:16px;}
.f-nav .spacer{flex:1;}
.btn-back{background:transparent; border:1px solid rgba(8,8,8,0.2); color:var(--metal); font-size:14px; font-weight:600; padding:15px 26px; border-radius:2px; transition:border-color .2s, color .2s;}
.btn-back:hover{border-color:var(--off-white); color:var(--off-white);}
button.btn-primary{border:none; cursor:pointer; font-family:var(--sans);}
button.btn-primary:disabled{opacity:0.5; cursor:not-allowed;}

.f-error{color:var(--red); font-size:12.5px; margin-top:6px; display:none;}
.f-field.has-error input,
.f-field.has-error select,
.f-field.has-error textarea{border-color:var(--red);}
.f-field.has-error .f-error{display:block;}

/* success state */
.f-success{display:none; text-align:center; padding:40px 0 20px;}
.f-success.is-active{display:block;}
.f-success .ref{
  display:inline-block; margin:26px 0; padding:14px 26px; border:1px solid var(--gold);
  font-family:var(--mono); font-size:18px; letter-spacing:0.08em; color:var(--gold);
}
.f-success h2{font-size:clamp(26px,4vw,38px); color:var(--white);}
.f-success p{color:var(--metal); max-width:460px; margin:16px auto 0; font-size:15px;}

@media(max-width:640px){
  .f-grid, .f-choices.cols-2{grid-template-columns:1fr;}
}
