:root{
  --bg:#ffffff;
  --ink:#0f172a;
  --muted:#6b7280;
  --brand:#0f5a38;           
  --brand-2:#0a7a4d;         
  --border:#e5e7eb;
  --soft:#f5f7f9;
}
*{box-sizing:border-box}
body{
  margin:0; padding:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--ink);
}


.site-header{border-bottom:2px solid #c8c9cc}
.site-header .container{
  max-width:1180px; margin:0 auto;
  padding:10px 20px;
  display:flex; align-items:center; justify-content:center;
}
.brand img{height:80px; width:auto}


.wrap{
  max-width:1080px; 
  margin:0 auto;
  padding:24px 20px 64px}

.title {
  font-size:28px; 
  font-weight:700; 
  margin:36px auto 36px;  
  color:#717379; 
  text-align:center;
}

.subtitle {
  color:var(--muted); 
  margin:0 auto 40px; 
  text-align:center;
}


@media (max-width: 600px) {
  .title {
    margin:30px auto 20px;   
    font-size:25px;         
  }

  .subtitle {
    margin-bottom:20px;     
    font-size:14px;          
  }
}



.form{display:block}
.grid{display:grid; gap:24px}
.grid-2{grid-template-columns:1fr}
@media (min-width: 920px){ .grid-2{grid-template-columns:1fr 1fr} }
.col{display:flex; flex-direction:column; gap:12px}

label{display:block; font-size:14px}
.req::after{content:" *"; color:#e02424}

input,select{
  width:100%; padding:12px 14px;
  border:1px solid var(--border); border-radius:10px; background:#fff;
}
input::placeholder{color:#9ca3af}
/* Enhanced field states */
input:hover, select:hover{ border-color:#c7d2fe; box-shadow: 0 0 0 3px #eef2ff inset }
input:focus, select:focus{outline:3px solid #e6f3ec; border-color:#b6e3c9; box-shadow:none}
input.filled, select.filled{ border-color:#b6e3c9; box-shadow: 0 0 0 3px #eefaf3 inset }
/* Error states */
.has-error input, .has-error select{ border-color:#ef4444 !important; box-shadow: 0 0 0 3px #fee2e2 inset !important }
.help-error{ margin-top:6px; font-size:12px; color:#b91c1c; background:#fee2e2; border:1px solid #fecaca; padding:6px 8px; border-radius:8px; display:none }
.help-error.is-visible{ display:block }


.date-wrap{position:relative}


.checks{display:flex; 
  flex-direction:column; 
  gap:10px}

.check-row{
  display:flex;
  align-items:center;   
  gap:8px;
  cursor:pointer;
  user-select:none;
}

.check-row input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  margin:0;               
  vertical-align:middle;
  accent-color:#0f5a38;  
}

.check-row span{
  line-height:1.3;
}


.upload-box{
  display:block; background:linear-gradient(180deg, #ffffff, #fafafa); border:1px dashed #cfd6dc; border-radius:14px;
  min-height:160px; cursor:pointer; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.upload-box:hover{ box-shadow:0 8px 24px rgba(0,0,0,.08); transform: translateY(-1px); border-color:#b6e3c9 }
.upload-box.drag-over{ border-color:#0f5a38; box-shadow:0 8px 24px rgba(15,90,56,.2) }
.upload-box.error{ border-color:#ef4444 }
.upload-inner{height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:16px}
.upload-icon{font-size:28px; line-height:1; animation: floatY 2.4s ease-in-out infinite}
.upload-text strong{display:block}
.upload-text small{display:block; color:var(--muted)}
.hidden{position:absolute; left:-9999px}
.upload-preview{margin-top:8px; font-size:12px; color:#374151}
.upload-preview code{background:#f3f4f6; padding:2px 6px; border-radius:6px}
.cv-remove-btn{
  margin-left:8px;
  border:0; background:#fee2e2; color:#b91c1c;
  width:22px; height:22px; border-radius:50%;
  cursor:pointer; line-height:1; font-weight:700;
}
.cv-remove-btn:hover{ background:#fecaca }
.upload-progress{display:none; align-items:center; gap:8px; margin-top:8px; color:#0f5a38; font-weight:600}
.upload-progress[aria-hidden="false"]{display:inline-flex}
.spinner{width:16px; height:16px; border:2px solid #cfe6da; border-top-color:#0f5a38; border-radius:50%; animation: spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Confetti */
.confetti-piece{
  position: fixed; top:-10px; z-index: 2000;
  display:inline-block;
  border-radius:2px;
  animation: confettiFall linear forwards;
}
@keyframes confettiFall{
  to { transform: translateY(110vh) rotate(720deg); opacity: .9; }
}
.progress-track{display:inline-block; width:140px; height:6px; background:#e5e7eb; border-radius:999px; overflow:hidden}
.progress-fill{display:block; width:40%; height:100%; background:#0f5a38; animation: indet 1.2s ease-in-out infinite}
@keyframes indet { 0%{transform:translateX(-60%)} 50%{transform:translateX(60%)} 100%{transform:translateX(160%)} }
@keyframes floatY { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-4px) } }

.mt-16{margin-top:16px}


.actions-centered{display:flex; justify-content:center; margin:32px 0 16px}
.btn-primary-lg{
  background:var(--brand); color:#fff; border:none; cursor:pointer; font-weight:700;
  padding:18px 40px; border-radius:999px; font-size:28px; line-height:1;
  min-width:320px;
}
.btn-primary-lg:hover{background:var(--brand-2)}
.btn-primary-lg[disabled]{ opacity:.45; cursor:not-allowed; filter:grayscale(.15) }


.consent {
  display:flex;             /* block yerine flex */
  align-items:center;       /* kutu ve yazıyı aynı hizaya getir */
  justify-content:center; /* sola yasla */
  gap:6px;                  /* kutu ile yazı arasındaki boşluk */
  max-width:980px;
  margin:12px auto 0;
  font-size:10px;
  color:#4b5563;
  text-align:center;          /* yazıyı da sola hizala */
}

.consent.invalid { outline:3px solid #fee2e2; outline-offset:4px }
.consent.invalid span { color:#b91c1c }
/* Orange star for required consent */
.consent.req::after{ content:" *"; color:#f97316; font-weight:700 }

.consent input {
  margin:0;                 /* üstten kaymayı engelle */
  width:14px;               /* kutu boyutunu istersen sabitle */
  height:14px;
  vertical-align:middle;
}




input:focus, select:focus{outline:3px solid #e6f3ec; border-color:#b6e3c9}


.subtitle, .help{color:var(--muted)}
/* ===== Modal (Popup) ===== */
.modal{
  position: fixed; inset: 0;
  display: none;                 /* başlangıçta kapalı */
  align-items: center; justify-content: center;
  z-index: 1000;
}
.modal.is-open{ display:flex; }

.modal__overlay{
  position:absolute; inset:0;
  background: rgba(20,24,28,.6); /* arka plan karartma */
  backdrop-filter: blur(1px);
}

.modal__dialog{
  position: relative;
  background:#fff;
  border-radius:18px;
  padding:32px 28px 36px;
  width:min(640px, 92vw);
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  animation: popIn .18s ease-out;
  text-align:center;
}
@keyframes popIn {from{transform:scale(.96); opacity:.0} to{transform:scale(1); opacity:1}}

.modal__close{
  position:absolute; left:14px; top:14px;
  border:0; background:transparent; font-size:24px; line-height:1;
  color:#e11d48; cursor:pointer;
}

.modal__icon{ margin-top:8px; }
.modal__title{
  margin:14px 0 6px;
  font-size:32px; font-weight:800; color:#0f5a38;
}
.modal__lead{ margin:0 0 8px; font-size:18px; font-weight:700; color:#111827; }
.modal__desc{ margin:0; color:#374151; }
/* Uploaded info */
#uploadedInfo{ margin-top:8px; font-size:14px; color:#065f46; }
/* İstek: başarı popup'ında yüklenen dosya infoyu gizle */
#uploadedInfo{ display:none }

/* Küçük ekran ayarı */
@media (max-width:600px){
  .modal__title{ font-size:26px }
  .modal__lead{ font-size:16px }
  .title{ margin:24px auto 24px }
}
.hp{
  position:absolute;
  left:-9999px;
  width:1px; height:1px;
  overflow:hidden;
}
/*.hp{ position:static; left:auto; width:auto; height:auto; }test için*/

/* KVKK page styles */
.kvkk-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.6;
}

.kvkk-content h3 {
  color: var(--brand);
  font-size: 18px;
  font-weight: 600;
  margin: 24px 0 12px 0;
}

.kvkk-content p {
  margin: 0 0 16px 0;
  color: var(--ink);
}

.kvkk-actions {
  text-align: center;
  margin: 40px 0 20px 0;
}

.kvkk-link {
  color: var(--brand);
  text-decoration: underline;
  cursor: pointer;
}

.kvkk-link:hover {
  color: var(--brand-2);
}

