/* =========================================================
   Gölbaşı Belediyesi · İşyeri Açma ve Çalışma Ruhsatı
   Başvuru Formu — style.css
   ========================================================= */

:root{
  --green:#375c4f;
  --green-600:#2e4d42;
  --green-700:#243d34;
  --green-100:#e8f0ed;
  --green-050:#f3f8f6;

  --navy:#33495C;
  --navy-600:#2a3c4c;
  --navy-100:#e9eef2;

  --accent:#E5811E;
  --accent-100:#fdf1e4;

  --ink:#1c2b25;
  --body:#5a6b73;
  --muted:#8695a0;
  --line:#e3e9ec;
  --bg:#f4f7f8;

  --ok:#2f9e6d;
  --err:#d0453b;

  --radius:16px;
  --radius-sm:11px;
  --shadow-sm:0 2px 8px rgba(51,73,92,.06);
  --shadow:0 10px 30px rgba(51,73,92,.09);
  --shadow-lg:0 22px 50px rgba(51,73,92,.16);
}

*{ -webkit-tap-highlight-color:transparent }

body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  background:var(--bg);
  color:var(--body);
  font-size:15px;
  line-height:1.6;
}

::selection{ background:var(--green); color:#fff }

a{ text-decoration:none }
.link-brand{ color:var(--green); font-weight:600; border-bottom:1px dashed rgba(55,92,79,.5) }
.link-brand:hover{ color:var(--green-700) }

/* ================= ÜST ŞERİT ================= */
.topbar{
  background:var(--navy);
  color:#c6d3dc;
  font-size:12.5px;
  padding:8px 0;
  letter-spacing:.2px;
}
.topbar a{ color:#c6d3dc; transition:color .2s }
.topbar a:hover{ color:#fff }
.topbar i{ color:var(--accent); margin-right:4px }
.topbar .divider{ width:1px; height:12px; background:rgba(255,255,255,.18); display:inline-block }

/* ================= HEADER ================= */
.site-header{
  background:#fff;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:20;
}
.brand-logo{ width:58px; height:58px; object-fit:contain }
.brand-text{ display:flex; flex-direction:column; line-height:1.25 }
.brand-title{
  font-weight:800; font-size:18px; color:var(--green);
  letter-spacing:.6px;
}
.brand-sub{ font-size:12.5px; color:var(--muted); font-weight:500 }

.btn-brand{
  background:linear-gradient(135deg,var(--green) 0%,var(--green-600) 100%);
  border:none; color:#fff; font-weight:600;
  border-radius:10px; padding:10px 20px;
  box-shadow:0 4px 14px rgba(55,92,79,.28);
  transition:transform .18s, box-shadow .18s, filter .18s;
}
.btn-brand:hover{ color:#fff; transform:translateY(-1px); box-shadow:0 8px 22px rgba(55,92,79,.34); filter:brightness(1.06) }
.btn-brand:active{ transform:translateY(0) }
.btn-brand i{ margin:0 2px }

.btn-outline-brand{
  background:#fff; border:1.5px solid var(--line); color:var(--navy);
  font-weight:600; border-radius:10px; padding:9px 18px;
  transition:.18s;
}
.btn-outline-brand:hover{ border-color:var(--green); color:var(--green); background:var(--green-050) }

.btn-ghost{
  background:transparent; border:1.5px solid var(--line);
  color:var(--navy); font-weight:600; border-radius:10px; padding:9px 16px;
}
.btn-ghost:hover{ border-color:var(--green); color:var(--green) }

/* ================= HERO ================= */
.hero{
  position:relative;
  background:
    radial-gradient(1000px 380px at 82% -10%, rgba(229,129,30,.24), transparent 62%),
    linear-gradient(118deg, var(--green) 0%, #34544c 45%, var(--navy) 100%);
  color:#fff;
  padding:34px 0 84px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 14px);
  opacity:.9;
}
.hero::after{
  content:"";
  position:absolute; right:-120px; top:-150px;
  width:520px; height:520px; border-radius:50%;
  border:60px solid rgba(255,255,255,.045);
}
.hero .container{ position:relative; z-index:2 }

.hero-breadcrumb{ font-size:13px; margin-bottom:22px; color:rgba(255,255,255,.65) }
.hero-breadcrumb a{ color:rgba(255,255,255,.75) }
.hero-breadcrumb a:hover{ color:#fff }
.hero-breadcrumb .sep{ font-size:9px; margin:0 8px; opacity:.5 }
.hero-breadcrumb span{ color:#fff; font-weight:600 }

.hero-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  padding:6px 14px; border-radius:100px;
  font-size:12.5px; font-weight:600; letter-spacing:.3px;
  backdrop-filter:blur(6px);
}
.hero-badge i{ color:var(--accent) }

.hero-title{
  font-size:clamp(28px,4vw,42px);
  font-weight:800; line-height:1.18;
  margin:16px 0 12px; color:#fff;
  letter-spacing:-.5px;
}
.hero-desc{
  color:rgba(255,255,255,.78);
  max-width:640px; font-size:15px; margin-bottom:24px;
}

.hero-stats{ display:flex; flex-wrap:wrap; gap:12px }
.hero-stat{
  display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px; padding:10px 16px;
  backdrop-filter:blur(6px);
}
.hero-stat i{ font-size:18px; color:var(--accent) }
.hero-stat strong{ display:block; font-size:15px; color:#fff; line-height:1.2 }
.hero-stat span{ font-size:11.5px; color:rgba(255,255,255,.65) }

.hero-note{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  padding:20px 22px;
  backdrop-filter:blur(8px);
}
.hero-note-head{ font-weight:700; color:#fff; margin-bottom:10px; font-size:14.5px }
.hero-note-head i{ color:var(--accent); margin-right:6px }
.hero-note ul{ list-style:none; padding:0; margin:0; font-size:13.5px; color:rgba(255,255,255,.8) }
.hero-note li{ position:relative; padding-left:20px; margin-bottom:8px }
.hero-note li:last-child{ margin-bottom:0 }
.hero-note li::before{
  content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; left:0; top:1px; font-size:10px; color:var(--accent);
}
.hero-note b{ color:#fff }

.hero-wave{
  position:absolute; left:0; right:0; bottom:-1px; height:60px;
  background:var(--bg);
  clip-path:ellipse(75% 100% at 50% 100%);
}

/* ================= SAYFA ================= */
.page{ padding:0 0 60px; margin-top:-34px; position:relative; z-index:5 }

/* ================= STEPPER ================= */
.stepper-wrap{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:24px 30px;
  margin-bottom:24px;
  border:1px solid rgba(227,233,236,.8);
}
.stepper{ display:flex; justify-content:space-between; position:relative }
.stepper-line{
  position:absolute; top:23px; left:8%; right:8%; height:3px;
  background:var(--line); border-radius:3px; z-index:0;
}
.stepper-line-fill{
  display:block; height:100%; width:0;
  background:linear-gradient(90deg,var(--green),var(--navy));
  border-radius:3px; transition:width .45s cubic-bezier(.4,0,.2,1);
}
.step{
  position:relative; z-index:1; text-align:center;
  flex:1; cursor:default;
}
.step-dot{
  width:46px; height:46px; margin:0 auto 10px;
  border-radius:50%;
  background:#fff; border:2.5px solid var(--line);
  color:var(--muted);
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  transition:.3s;
}
.step-dot .step-num{ display:none }
.step-label small{
  display:block; font-size:11px; color:var(--muted);
  text-transform:uppercase; letter-spacing:.6px; font-weight:600;
}
.step-label strong{ font-size:13.5px; color:var(--muted); font-weight:600 }

.step.is-active .step-dot{
  border-color:var(--green); color:#fff;
  background:linear-gradient(135deg,var(--green),var(--green-600));
  box-shadow:0 0 0 6px rgba(55,92,79,.12);
  transform:scale(1.06);
}
.step.is-active .step-label strong{ color:var(--green) }
.step.is-done .step-dot{
  border-color:var(--green); background:var(--green-100); color:var(--green);
}
.step.is-done .step-label strong{ color:var(--navy) }
.step.is-done .step-dot i::before{ content:"\f00c" }

/* ================= PANEL ================= */
.panel{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:1px solid rgba(227,233,236,.8);
  /*overflow:hidden;*/
  display:none;
}
.panel.is-active{ display:block; animation:paneIn .45s cubic-bezier(.22,1,.36,1) }
@keyframes paneIn{
  from{ opacity:0; transform:translateY(14px) }
  to{ opacity:1; transform:none }
}

.panel-head{
  display:flex; gap:16px; align-items:flex-start;
  padding:24px 28px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fbfdfc,#fff);
  position:relative;
}
.panel-head::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg,var(--green),var(--navy));
}
.panel-icon{
  width:46px; height:46px; flex:0 0 46px; border-radius:13px;
  background:linear-gradient(135deg,var(--green-100),#dbe6e2);
  color:var(--green);
  display:flex; align-items:center; justify-content:center; font-size:18px;
}
.panel-head h2{ font-size:19px; font-weight:700; color:var(--ink); margin:0 0 3px }
.panel-head p{ margin:0; font-size:13.5px; color:var(--muted) }

.panel-body{ padding:28px }
.panel-foot{
  padding:18px 28px;
  background:#fafcfb;
  border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.panel-foot .btn-next{ margin-left:auto }
.foot-hint{ font-size:13px; color:var(--muted) }
.foot-hint i{ margin-right:5px; color:var(--green) }

/* ================= BAŞVURU TÜRÜ KARTLARI ================= */
.type-card{
  position:relative; display:flex; gap:14px; height:100%;
  padding:20px; cursor:pointer;
  background:#fff;
  border:2px solid var(--line);
  border-radius:var(--radius);
  transition:.24s cubic-bezier(.4,0,.2,1);
  overflow:hidden;
}
.type-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(55,92,79,.05),rgba(51,73,92,.03));
  opacity:0; transition:.24s;
}
.type-card:hover{ border-color:#c9d6d1; transform:translateY(-3px); box-shadow:var(--shadow) }
.type-card > *{ position:relative; z-index:1 }

.type-icon{
  width:52px; height:52px; flex:0 0 52px; border-radius:14px;
  background:linear-gradient(135deg,var(--navy-100),#dde5ea);
  color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:21px;
  transition:.24s;
}
.type-title{ display:block; font-weight:700; color:var(--ink); font-size:15.5px; margin-bottom:5px }
.type-desc{ display:block; font-size:13px; color:var(--muted); line-height:1.5; margin-bottom:10px }
.type-tags{ display:flex; flex-wrap:wrap; gap:6px }
.type-tags span{
  font-size:11px; font-weight:600; color:var(--body);
  background:#f2f5f6; border:1px solid var(--line);
  padding:2px 9px; border-radius:100px;
}
.type-check{
  position:absolute; top:14px; right:14px;
  width:24px; height:24px; border-radius:50%;
  background:var(--green); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:11px;
  opacity:0; transform:scale(.4); transition:.24s cubic-bezier(.34,1.56,.64,1);
}

.type-card.is-selected{
  border-color:var(--green);
  background:var(--green-050);
  box-shadow:0 10px 26px rgba(55,92,79,.16);
}
.type-card.is-selected::after{ opacity:1 }
.type-card.is-selected .type-check{ opacity:1; transform:scale(1) }
.type-card.is-selected .type-icon{
  background:linear-gradient(135deg,var(--green),var(--green-600));
  color:#fff;
}
.type-card.is-selected .type-title{ color:var(--green-700) }

/* ================= FORM ================= */
.form-section{ margin-bottom:30px }
.form-section:last-child{ margin-bottom:0 }
.form-section-title{
  font-size:13px; font-weight:700; color:var(--navy);
  text-transform:uppercase; letter-spacing:.8px;
  padding-bottom:10px; margin-bottom:18px;
  border-bottom:1px solid var(--line);
  display:flex; align-items:center; gap:9px;
}
.form-section-title i{ color:var(--green); font-size:14px }

.form-label{
  font-size:13px; font-weight:600; color:var(--ink); margin-bottom:6px;
}
.lbl-hint{ font-weight:400; color:var(--muted); font-size:12px }
.req{ color:var(--err); font-weight:700 }

.form-control{
  border:1.5px solid var(--line);
  border-radius:var(--radius-sm);
  padding:11px 14px;
  font-size:14.5px; color:var(--ink);
  background:#fcfdfd;
  transition:.2s;
}
.form-control::placeholder{ color:#b4bfc6 }
.form-control:focus{
  border-color:var(--green);
  background:#fff;
  box-shadow:0 0 0 4px rgba(55,92,79,.1);
}
textarea.form-control{ resize:vertical; min-height:92px }

/* Otomatik büyük harf alanları (JS ile birlikte görsel güvence) */
.form-control[data-upper]{ text-transform:uppercase }
.form-control[data-upper]::placeholder{ text-transform:none }

.input-icon{ position:relative }
.input-icon > i{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:#b4bfc6; font-size:14px; pointer-events:none; transition:.2s; z-index:3;
}
.input-icon .form-control{ padding-left:40px }
.input-icon .form-control:focus + i,
.input-icon:focus-within > i{ color:var(--green) }

.input-suffix .form-control{ border-right:none }
.input-suffix .input-group-text{
  background:#f2f5f6; border:1.5px solid var(--line); border-left:none;
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  color:var(--body); font-size:13px; font-weight:600;
}
.input-suffix .form-control{ border-radius:var(--radius-sm) 0 0 var(--radius-sm) }
.input-suffix:focus-within .input-group-text{ border-color:var(--green) }

/* ---- Aranabilir seçim listesi (combobox) ---- */
.combo{ position:relative }
.combo .form-control{ padding-right:46px; cursor:pointer }
.combo .form-control:focus{ cursor:text }

.combo-toggle{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  width:32px; height:32px; border:none; border-radius:9px;
  background:#eef2f3; color:var(--navy);
  display:flex; align-items:center; justify-content:center;
  font-size:12px; transition:.22s; z-index:4;
}
.combo-toggle:hover{ background:var(--green-100); color:var(--green) }
.combo.is-open .combo-toggle{ background:var(--green); color:#fff }
.combo.is-open .combo-toggle i{ transform:rotate(180deg) }
.combo-toggle i{ transition:transform .25s }

.combo-panel{
  display:none; position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:30;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm);
  box-shadow:0 18px 40px rgba(51,73,92,.16);
  overflow:hidden;
}
.combo.is-open .combo-panel{ display:block; animation:comboIn .2s ease-out }
@keyframes comboIn{ from{ opacity:0; transform:translateY(-6px) } to{ opacity:1; transform:none } }

.combo-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 14px; background:#fafcfb; border-bottom:1px solid var(--line);
  font-size:11.5px; font-weight:700; letter-spacing:.5px;
  text-transform:uppercase; color:var(--navy);
}
.combo-head i{ color:var(--green); margin-right:5px }
.combo-head span{ font-weight:600; color:var(--muted); letter-spacing:0; text-transform:none }
.combo-head .ttl{ font-weight:700; color:var(--navy); letter-spacing:.5px; text-transform:uppercase }

.combo-list{ max-height:290px; overflow-y:auto; padding:6px }
.combo-list::-webkit-scrollbar{ width:8px }
.combo-list::-webkit-scrollbar-thumb{ background:#d4dde1; border-radius:8px }
.combo-list::-webkit-scrollbar-thumb:hover{ background:#bcc9cf }

.combo-group{
  position:sticky; top:-6px; z-index:1;
  background:#fff; padding:9px 10px 5px;
  font-size:10.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  color:var(--green); display:flex; align-items:center; gap:7px;
}
.combo-group::after{ content:""; flex:1; height:1px; background:var(--line) }

.combo-item{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left;
  border:none; background:transparent; border-radius:9px;
  padding:9px 11px; font-size:13.5px; color:var(--ink); line-height:1.4;
  transition:background .15s, color .15s;
}
.combo-item::before{
  content:"\f111"; font-family:"Font Awesome 6 Free"; font-weight:400;
  font-size:7px; color:#c6d0d4; flex:0 0 auto; transition:.15s;
}
.combo-item:hover,
.combo-item.is-active{ background:var(--green-050); color:var(--green-700) }
.combo-item:hover::before,
.combo-item.is-active::before{ content:"\f00c"; font-weight:900; font-size:10px; color:var(--green) }
.combo-item mark{
  background:var(--accent-100); color:#a5641b; padding:0 1px;
  border-radius:3px; font-weight:700;
}

.combo-empty{ padding:18px 16px; text-align:center; font-size:13px; color:var(--muted) }
.combo-empty i{ display:block; font-size:20px; color:#c6d0d4; margin-bottom:8px }
.combo-empty b{ color:var(--ink) }

.combo-foot{
  padding:9px 14px; background:#fafcfb; border-top:1px solid var(--line);
  font-size:11.5px; color:var(--muted); display:flex; align-items:center; gap:6px;
}
.combo-foot i{ color:var(--accent) }
.combo-foot kbd{
  background:#fff; border:1px solid var(--line); border-bottom-width:2px;
  border-radius:4px; padding:1px 5px; font-size:10px; color:var(--body); font-family:inherit;
}

.form-text{ font-size:12.5px; color:var(--muted); margin-top:6px }
.form-text i{ color:var(--green); margin-right:4px }

.form-control.is-invalid{
  border-color:var(--err) !important;
  background:#fef7f6;
  box-shadow:0 0 0 4px rgba(208,69,59,.08);
}
.invalid-feedback{ font-size:12.5px; font-weight:500 }

.mini-tip{
  background:var(--accent-100);
  border:1px solid #f5dfc4;
  border-radius:var(--radius-sm);
  padding:10px 12px; font-size:12.5px; color:#8a5a1c; line-height:1.45;
}
.mini-tip i{ color:var(--accent); margin-right:5px }

/* Mülkiyet seçimi */
.choice-card{
  display:flex; align-items:center; gap:13px;
  padding:15px 17px; cursor:pointer;
  border:2px solid var(--line); border-radius:var(--radius-sm);
  background:#fff; transition:.22s; width:100%;
}
.choice-card:hover{ border-color:#c9d6d1; background:#fbfdfc }
.choice-radio{
  width:20px; height:20px; flex:0 0 20px; border-radius:50%;
  border:2px solid #ccd6da; position:relative; transition:.22s;
}
.choice-radio::after{
  content:""; position:absolute; inset:3px; border-radius:50%;
  background:var(--green); transform:scale(0); transition:.22s cubic-bezier(.34,1.56,.64,1);
}
.choice-ico{
  width:38px; height:38px; flex:0 0 38px; border-radius:11px;
  background:var(--navy-100); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:15px; transition:.22s;
}
.choice-txt strong{ display:block; font-size:14.5px; color:var(--ink); line-height:1.3 }
.choice-txt small{ font-size:12px; color:var(--muted) }

.choice-card.is-selected{
  border-color:var(--green); background:var(--green-050);
  box-shadow:0 6px 18px rgba(55,92,79,.12);
}
.choice-card.is-selected .choice-radio{ border-color:var(--green) }
.choice-card.is-selected .choice-radio::after{ transform:scale(1) }
.choice-card.is-selected .choice-ico{ background:var(--green); color:#fff }

/* ================= KİMLİK DOĞRULAMA / SMS ================= */
.form-select{
  border:1.5px solid var(--line);
  border-radius:var(--radius-sm);
  padding:11px 14px; font-size:14.5px; color:var(--ink);
  background-color:#fcfdfd; transition:.2s;
}
.form-select:focus{
  border-color:var(--green); background-color:#fff;
  box-shadow:0 0 0 4px rgba(55,92,79,.1);
}
.form-select.is-invalid{ border-color:var(--err) !important; background-color:#fef7f6 }

/* Doğum tarihi üçlüsü tek bir input genişliğine sığar */
#dogumGrid .form-select{
  padding-left:11px; padding-right:26px;
  background-position:right 8px center;
  text-overflow:ellipsis;
}

#kimlikFields.is-locked .form-control,
#kimlikFields.is-locked .form-select{
  background:#f4f7f8; color:var(--body); border-style:dashed; pointer-events:none;
}
#kimlikFields.is-locked .input-icon > i{ color:#b4bfc6 }

.sms-box{
  margin-top:22px; padding:22px;
  border:1.5px solid #d8e5e0; border-radius:var(--radius);
  background:linear-gradient(180deg,var(--green-050),#fff);
  animation:paneIn .4s cubic-bezier(.22,1,.36,1);
}

.demo-banner{
  display:flex; gap:12px; align-items:flex-start;
  background:var(--accent-100); border:1px dashed #eab97a;
  border-radius:var(--radius-sm); padding:13px 16px; margin-bottom:20px;
  font-size:13px; color:#8a5a1c; line-height:1.55;
}
.demo-banner > i{ color:var(--accent); font-size:16px; margin-top:2px }
.demo-banner b{ color:#7a4d12; letter-spacing:.4px }
.demo-code{
  display:inline-block; margin-left:6px; padding:3px 12px;
  background:#fff; border:1.5px solid var(--accent); border-radius:8px;
  font-size:17px; font-weight:800; letter-spacing:4px; color:var(--accent);
  font-variant-numeric:tabular-nums; vertical-align:middle;
}

.sms-head{ display:flex; gap:13px; align-items:center; margin-bottom:18px }
.sms-head > i{
  width:42px; height:42px; flex:0 0 42px; border-radius:12px;
  background:linear-gradient(135deg,var(--green),var(--green-600)); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.sms-head strong{ display:block; font-size:15px; color:var(--ink) }
.sms-head small{ font-size:12.5px; color:var(--muted) }
.sms-head small b{ color:var(--green); font-weight:700 }

.otp-row{ display:flex; gap:10px; justify-content:center; margin-bottom:16px }
.otp-input{
  width:54px; height:62px; text-align:center;
  font-size:24px; font-weight:800; color:var(--ink);
  border:2px solid var(--line); border-radius:12px; background:#fff;
  transition:.2s; font-variant-numeric:tabular-nums;
}
.otp-input:focus{
  outline:none; border-color:var(--green);
  box-shadow:0 0 0 4px rgba(55,92,79,.12); transform:translateY(-2px);
}
.otp-input.is-filled{ border-color:#bcded0; background:#f4faf7; color:var(--green-700) }
.otp-row.is-error .otp-input{ border-color:var(--err); background:#fef7f6; animation:shake .4s }
.otp-row.is-ok .otp-input{ border-color:var(--ok); background:#f0faf5; color:var(--ok) }
.otp-row.is-ok .otp-input,
.otp-row.is-locked .otp-input{ pointer-events:none }

.sms-foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap; font-size:13px; color:var(--muted);
}
.sms-foot b{ color:var(--navy); font-variant-numeric:tabular-nums }
.sms-foot i{ margin-right:5px }
.btn-resend{
  border:1.5px solid var(--line); background:#fff; color:var(--navy);
  font-size:12.5px; font-weight:600; padding:7px 14px; border-radius:9px; transition:.2s;
}
.btn-resend:hover:not(:disabled){ border-color:var(--green); color:var(--green); background:var(--green-050) }
.btn-resend:disabled{ opacity:.45; cursor:not-allowed }

.verified-note{
  display:flex; align-items:center; gap:10px; margin-top:16px;
  background:#f0faf5; border:1px solid #bfe6d3; border-left:4px solid var(--ok);
  color:#1f7a54; font-size:13.5px; font-weight:600;
  padding:13px 16px; border-radius:var(--radius-sm);
  animation:paneIn .4s cubic-bezier(.22,1,.36,1);
}
.verified-note i{ font-size:16px }

/* Doğrulanmış kimlik şeridi (Adım 3 üstü) */
.identity-strip{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  background:var(--green-050); border:1px solid #d8e5e0;
  border-left:4px solid var(--ok);
  border-radius:var(--radius-sm); padding:13px 16px; margin-bottom:26px;
}
.id-badge{
  display:inline-flex; align-items:center; gap:6px;
  background:#fff; border:1px solid #bfe6d3; color:var(--ok);
  font-size:11.5px; font-weight:700; padding:4px 11px; border-radius:100px;
  white-space:nowrap;
}
.id-info{ flex:1; min-width:150px; line-height:1.35 }
.id-info b{ display:block; font-size:14.5px; color:var(--ink) }
.id-info small{ font-size:12.5px; color:var(--muted); font-variant-numeric:tabular-nums }

.rv-verified{
  font-size:11px; font-weight:700; color:var(--ok);
  text-transform:none; letter-spacing:0;
}

@media (max-width: 575.98px){
  .otp-row{ gap:6px }
  .otp-input{ width:100%; height:54px; font-size:20px }
  .demo-code{ display:block; margin:6px 0 0; text-align:center }
}

/* ================= UYARI KUTULARI ================= */
.alert-soft{
  display:flex; gap:12px; align-items:flex-start;
  background:var(--green-050);
  border:1px solid #d8e5e0;
  border-left:4px solid var(--green);
  border-radius:var(--radius-sm);
  padding:14px 16px; font-size:13.5px; color:#3c5a50;
}
.alert-soft > i{ color:var(--green); font-size:15px; margin-top:2px }

.invalid-note{
  display:flex; align-items:center; gap:9px;
  background:#fdf3f2; border:1px solid #f5d5d2;
  border-left:4px solid var(--err);
  color:#a3352d; font-size:13.5px; font-weight:500;
  padding:12px 16px; border-radius:var(--radius-sm);
  margin-top:18px;
  animation:shake .4s;
}
@keyframes shake{
  0%,100%{ transform:translateX(0) }
  20%{ transform:translateX(-6px) }
  40%{ transform:translateX(6px) }
  60%{ transform:translateX(-3px) }
  80%{ transform:translateX(3px) }
}

/* ================= EVRAK YÜKLEME ================= */
.upload-progress{
  background:#fafcfb; border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:14px 18px; margin-bottom:20px;
}
.up-label{ font-size:13px; font-weight:700; color:var(--navy) }
.up-label i{ color:var(--green); margin-right:6px }
.up-count{ font-size:13px; color:var(--muted) }
.up-count b{ color:var(--green); font-size:15px }

.progress{ height:7px; background:var(--line); border-radius:100px; overflow:hidden }
.progress-bar{
  background:linear-gradient(90deg,var(--green),#4a7a68);
  transition:width .5s cubic-bezier(.4,0,.2,1);
}

.dropzones{ display:flex; flex-direction:column; gap:12px }
.dz{
  position:relative; display:flex; align-items:center; gap:15px;
  padding:16px 18px;
  border:2px dashed #d5dfe2; border-radius:var(--radius-sm);
  background:#fcfdfd; transition:.22s; cursor:pointer;
}
.dz:hover{ border-color:var(--green); background:var(--green-050) }
.dz.is-drag{
  border-color:var(--green); background:var(--green-100);
  box-shadow:0 0 0 4px rgba(55,92,79,.1); transform:scale(1.005);
}
.dz-input{ display:none }

.dz-ico{
  width:44px; height:44px; flex:0 0 44px; border-radius:12px;
  background:var(--navy-100); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:17px; transition:.22s;
}
.dz-info{ flex:1; min-width:0 }
.dz-title{ display:block; font-size:14.5px; font-weight:600; color:var(--ink) }
.dz-hint{ display:block; font-size:12.5px; color:var(--muted) }
.dz-file{ display:none; align-items:center; gap:8px; font-size:12.5px; color:var(--green); font-weight:600; margin-top:3px }
.dz-file em{ font-style:normal; max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.dz-remove{
  cursor:pointer; color:var(--muted); background:#eef2f3;
  width:18px; height:18px; border-radius:50%; font-size:10px;
  display:inline-flex; align-items:center; justify-content:center; transition:.2s;
}
.dz-remove:hover{ background:#fbe4e2; color:var(--err) }

.dz-btn{
  border:1.5px solid var(--line); background:#fff; color:var(--navy);
  font-size:12.5px; font-weight:600; padding:8px 14px; border-radius:9px;
  white-space:nowrap; transition:.2s;
}
.dz:hover .dz-btn{ border-color:var(--green); color:var(--green) }

.dz.is-filled{
  border-style:solid; border-color:#bcded0; background:#f4faf7;
}
.dz.is-filled .dz-ico{ background:linear-gradient(135deg,var(--ok),#3fae7c); color:#fff }
.dz.is-filled .dz-hint{ display:none }
.dz.is-filled .dz-file{ display:flex }
.dz.is-filled .dz-btn{ border-color:#bcded0; color:var(--ok) }
.dz.is-filled .dz-btn:not(.dz-cam) i::before{ content:"\f067" }  /* + işareti: dosya ekle */

.dz.is-error{ border-color:var(--err); background:#fef7f6 }
.dz.is-error .dz-ico{ background:#fbe4e2; color:var(--err) }

.badge-cond{
  font-size:10.5px; font-weight:700; letter-spacing:.4px;
  background:var(--accent-100); color:#a5641b;
  border:1px solid #f2ddc2; padding:2px 8px; border-radius:100px;
  margin-left:5px; vertical-align:middle;
}

/* ================= ÖNİZLEME ================= */
.review-block{
  border:1px solid var(--line); border-radius:var(--radius-sm);
  margin-bottom:16px; overflow:hidden;
}
.review-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 18px; background:#fafcfb; border-bottom:1px solid var(--line);
  font-size:13px; font-weight:700; color:var(--navy);
  text-transform:uppercase; letter-spacing:.5px;
}
.review-head i{ color:var(--green); margin-right:7px }
.btn-edit{
  border:1px solid var(--line); background:#fff; color:var(--green);
  font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:8px;
  text-transform:none; letter-spacing:0; transition:.2s;
}
.btn-edit:hover{ background:var(--green-050); border-color:var(--green) }

.review-type{
  padding:16px 18px; font-size:16px; font-weight:700; color:var(--green-700);
  display:flex; align-items:center; gap:10px;
}
.review-type::before{
  content:"\f0c8"; font-family:"Font Awesome 6 Free"; font-weight:900;
  color:var(--green); font-size:12px;
}

.review-list{ margin:0; padding:8px 18px 14px }
.review-list .rv-row{
  display:flex; justify-content:space-between; gap:16px;
  padding:9px 0; border-bottom:1px dashed var(--line);
  font-size:14px;
}
.review-list .rv-row:last-child{ border-bottom:none }
.review-list dt{ color:var(--muted); font-weight:500; flex:0 0 auto }
.review-list dd{ margin:0; color:var(--ink); font-weight:600; text-align:right; word-break:break-word }

.review-docs{ list-style:none; margin:0; padding:12px 18px }
.review-docs li{
  display:flex; align-items:center; gap:10px;
  padding:8px 0; font-size:13.5px; color:var(--ink); border-bottom:1px dashed var(--line);
}
.review-docs li:last-child{ border-bottom:none }
.review-docs li i{ color:var(--ok) }
.review-docs li span{ margin-left:auto; font-size:12px; color:var(--muted) }

.consent{
  background:#fafcfb; border:1px solid var(--line);
  border-radius:var(--radius-sm); padding:18px 20px; margin-top:22px;
}
.consent .form-check{ margin-bottom:12px; padding-left:30px }
.consent .form-check:last-of-type{ margin-bottom:0 }
.consent .form-check-input{
  width:19px; height:19px; margin-left:-30px; margin-top:2px;
  border:1.5px solid #ccd6da; cursor:pointer;
}
.consent .form-check-input:checked{ background-color:var(--green); border-color:var(--green) }
.consent .form-check-input:focus{ box-shadow:0 0 0 4px rgba(55,92,79,.12); border-color:var(--green) }
.consent .form-check-input.is-invalid{ border-color:var(--err) }
.consent .form-check-label{ font-size:13.5px; color:var(--body); cursor:pointer; line-height:1.55 }
.consent b{ color:var(--ink) }

.btn-submit{
  background:linear-gradient(135deg,var(--accent) 0%,#d0700f 100%);
  border:none; color:#fff; font-weight:700; font-size:15px;
  border-radius:11px; padding:12px 28px; margin-left:auto;
  box-shadow:0 6px 20px rgba(229,129,30,.32);
  transition:.2s;
}
.btn-submit:hover{ color:#fff; transform:translateY(-1px); box-shadow:0 10px 26px rgba(229,129,30,.4) }
.btn-submit:disabled{ opacity:.75; transform:none }
.btn-submit i{ margin-right:6px }

/* ================= SAĞ SÜTUN ================= */
.side-sticky{ position:sticky; top:20px }
.side-card{
  background:#fff; border:1px solid rgba(227,233,236,.9);
  border-radius:var(--radius); box-shadow:var(--shadow-sm);
  padding:20px; margin-bottom:18px;
}
.side-head{
  display:flex; align-items:center; gap:12px;
  padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--line);
}
.side-head > i{
  width:38px; height:38px; flex:0 0 38px; border-radius:11px;
  background:var(--green-100); color:var(--green);
  display:flex; align-items:center; justify-content:center; font-size:15px;
}
.side-head strong{ display:block; font-size:14.5px; color:var(--ink); line-height:1.3 }
.side-head small{ font-size:12px; color:var(--muted) }

.summary-card{
  border-top:3px solid var(--green);
}
.summary-type{
  background:var(--green-050); border:1px dashed #c9ded6;
  border-radius:var(--radius-sm); padding:11px 14px;
  font-size:13.5px; font-weight:600; color:var(--green-700);
  margin-bottom:14px; display:flex; align-items:center; gap:9px;
  transition:.25s;
}
.summary-type i{ color:var(--green) }
.summary-type.is-empty{ background:#f7f9fa; border-color:var(--line); color:var(--muted) }
.summary-type.is-empty i{ color:var(--muted) }

.summary-list{ list-style:none; padding:0; margin:0 0 16px }
.summary-list li{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:8px 0; border-bottom:1px dashed var(--line); font-size:13px;
}
.summary-list li:last-child{ border-bottom:none }
.summary-list span{ color:var(--muted); white-space:nowrap }
.summary-list span i{ width:15px; color:#b4bfc6; margin-right:4px }
.summary-list b{
  color:var(--ink); font-weight:600; text-align:right;
  max-width:60%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.summary-list b.filled{ color:var(--green) }
.summary-foot small{ font-size:11.5px; color:var(--muted) }
.summary-foot b{ color:var(--green) }

/* Otomatik kayıt göstergesi */
.autosave{
  display:flex; align-items:center; gap:9px;
  margin-top:14px; padding-top:13px; border-top:1px dashed var(--line);
  font-size:12px; color:var(--muted);
}
.autosave > i{ font-size:13px; color:var(--ok); transition:.25s }
.autosave #autosaveText{ flex:1; line-height:1.35 }
.autosave.is-saving > i{ color:var(--accent) }
.autosave.is-saving > i::before{ content:"\f110" }
.autosave.is-saving > i{ animation:spin 1s linear infinite }
@keyframes spin{ to{ transform:rotate(360deg) } }
.autosave button{
  border:1px solid var(--line); background:#fff; color:var(--muted);
  width:28px; height:28px; flex:0 0 28px; border-radius:8px;
  font-size:11px; transition:.2s;
}
.autosave button:hover{ border-color:var(--err); color:var(--err); background:#fdf3f2 }

.check-list{ list-style:none; padding:0; margin:0 }
.check-list li{
  display:flex; align-items:center; gap:10px;
  padding:8px 0; font-size:13px; color:var(--body);
  border-bottom:1px dashed var(--line);
}
.check-list li:last-child{ border-bottom:none }
.check-list li i{ color:#c6d0d4; font-size:14px; transition:.25s }
.check-list li em{ font-style:normal; font-size:11.5px; color:var(--muted) }
.check-list li.is-muted{ opacity:.5 }
.check-list li.is-done{ color:var(--green-700); font-weight:600; opacity:1 }
.check-list li.is-done i{ color:var(--ok) }
.check-list li.is-done i::before{ content:"\f058" }

.contact-list{ list-style:none; padding:0; margin:0 0 16px }
.contact-list li{ font-size:13px; padding:6px 0; color:var(--body); display:flex; gap:10px; align-items:flex-start }
.contact-list li i{ color:var(--green); width:16px; margin-top:3px }
.contact-list li span{ color:var(--muted); font-size:12px }

/* ================= FOOTER ================= */
.site-footer{
  background:var(--navy);
  color:#a9b8c3; padding:46px 0 0; font-size:13.5px;
}
.footer-logo{ width:48px; height:48px; object-fit:contain; background:#fff; border-radius:50%; padding:3px }
.site-footer strong{ color:#fff; font-size:14px; letter-spacing:.5px }
.site-footer small{ font-size:12px; color:#8ea0ad }
.footer-text{ color:#8ea0ad; font-size:12.5px; line-height:1.7 }
.site-footer h6{
  color:#fff; font-size:13px; font-weight:700; text-transform:uppercase;
  letter-spacing:.7px; margin-bottom:14px; position:relative; padding-bottom:9px;
}
.site-footer h6::after{
  content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; background:var(--accent);
}
.site-footer ul{ list-style:none; padding:0; margin:0 }
.site-footer ul li{ margin-bottom:8px }
.site-footer ul a{ color:#a9b8c3; transition:.2s }
.site-footer ul a:hover{ color:#fff; padding-left:4px }
.footer-contact li{ display:flex; gap:10px; align-items:flex-start }
.footer-contact i{ color:var(--accent); margin-top:4px; width:15px }
.footer-bottom{
  margin-top:36px; padding:16px 0; border-top:1px solid rgba(255,255,255,.09);
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  font-size:12.5px; color:#8ea0ad;
}
.footer-bottom a{ color:#8ea0ad }
.footer-bottom a:hover{ color:#fff }

/* ================= MODAL ================= */
.success-modal{ border:none; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg) }
.success-top{
  background:linear-gradient(135deg,var(--green),var(--navy));
  color:#fff; text-align:center; padding:34px 28px 28px; position:relative; overflow:hidden;
}
.success-top::before{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 14px);
}
.success-top > *{ position:relative }
.success-icon{
  width:68px; height:68px; margin:0 auto 16px; border-radius:50%;
  background:rgba(255,255,255,.16); border:2px solid rgba(255,255,255,.35);
  display:flex; align-items:center; justify-content:center; font-size:28px;
  animation:pop .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes pop{ from{ transform:scale(.3); opacity:0 } to{ transform:scale(1); opacity:1 } }
.success-top h3{ font-size:22px; font-weight:800; margin:0 0 6px }
.success-top p{ margin:0; font-size:13.5px; color:rgba(255,255,255,.8) }

.success-body{ padding:24px 26px 6px }
.ticket{
  border:2px dashed #cddad4; border-radius:14px; background:var(--green-050);
  text-align:center; padding:18px; margin-bottom:20px;
}
.ticket small{ font-size:11px; font-weight:700; letter-spacing:1.2px; color:var(--muted) }
.ticket-no{
  font-size:26px; font-weight:800; color:var(--green-700);
  letter-spacing:1.5px; margin:6px 0 8px; font-variant-numeric:tabular-nums;
}
.ticket-note{ font-size:12px; color:var(--body) }
.ticket-note i{ color:var(--accent); margin-right:4px }

.success-steps{ list-style:none; padding:0; margin:0 }
.success-steps li{
  display:flex; align-items:center; gap:10px;
  padding:9px 0; border-bottom:1px dashed var(--line); font-size:13.5px; color:var(--body);
}
.success-steps li:last-child{ border-bottom:none }
.success-steps li i{ color:var(--ok); width:16px }
.success-steps li .fa-clock{ color:var(--muted) }
.success-steps b{ margin-left:auto; color:var(--ink); font-size:12.5px }

/* ================= TASLAK MODALI ================= */
.draft-modal{ border:none; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-lg) }
.draft-top{
  background:linear-gradient(135deg,var(--navy),var(--green));
  color:#fff; text-align:center; padding:30px 28px 24px; position:relative; overflow:hidden;
}
.draft-top::before{
  content:""; position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 1px,transparent 1px 14px);
}
.draft-top > *{ position:relative }
.draft-icon{
  width:60px; height:60px; margin:0 auto 14px; border-radius:50%;
  background:rgba(255,255,255,.16); border:2px solid rgba(255,255,255,.32);
  display:flex; align-items:center; justify-content:center; font-size:24px;
}
.draft-top h3{ font-size:21px; font-weight:800; margin:0 0 5px }
.draft-top p{ margin:0; font-size:13.5px; color:rgba(255,255,255,.8) }
.draft-owner{
  display:inline-block; margin-top:12px; padding:5px 14px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25);
  border-radius:100px; font-size:12.5px; font-weight:600; color:#fff;
}

.draft-body{ padding:24px 26px 26px }
.draft-meta{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  border-radius:var(--radius-sm); overflow:hidden;
}
.draft-meta > div{ background:#fafcfb; padding:12px 14px; text-align:center }
.draft-meta small{ display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); margin-bottom:3px }
.draft-meta b{ font-size:13.5px; color:var(--ink); font-weight:700 }

.draft-choice{
  display:flex; gap:13px; align-items:flex-start; text-align:left; width:100%; height:100%;
  padding:18px; border:2px solid var(--line); border-radius:var(--radius);
  background:#fff; transition:.22s;
}
.draft-choice:hover{ border-color:var(--navy); transform:translateY(-2px); box-shadow:var(--shadow) }
.dc-ico{
  width:42px; height:42px; flex:0 0 42px; border-radius:12px;
  background:var(--navy-100); color:var(--navy);
  display:flex; align-items:center; justify-content:center; font-size:16px; transition:.22s;
}
.dc-txt strong{ display:block; font-size:15px; color:var(--ink); margin-bottom:4px }
.dc-txt small{ font-size:12.5px; color:var(--muted); line-height:1.5 }
.draft-choice.is-primary{ border-color:var(--green); background:var(--green-050) }
.draft-choice.is-primary .dc-ico{ background:linear-gradient(135deg,var(--green),var(--green-600)); color:#fff }
.draft-choice.is-primary:hover{ border-color:var(--green-700); box-shadow:0 12px 28px rgba(55,92,79,.2) }

@media (max-width: 575.98px){
  .draft-meta{ grid-template-columns:repeat(2,1fr) }
}

/* ================= TOAST ================= */
.toast-wrap{
  position:fixed; right:20px; bottom:20px; z-index:1080;
  display:flex; flex-direction:column; gap:10px;
}
.toast-item{
  display:flex; align-items:center; gap:12px;
  background:#fff; border:1px solid var(--line); border-left:4px solid var(--green);
  border-radius:12px; box-shadow:var(--shadow);
  padding:13px 18px; font-size:13.5px; color:var(--ink); font-weight:500;
  min-width:270px;
  animation:toastIn .35s cubic-bezier(.22,1,.36,1);
}
.toast-item.err{ border-left-color:var(--err) }
.toast-item i{ color:var(--green); font-size:16px }
.toast-item.err i{ color:var(--err) }
.toast-item.out{ animation:toastOut .3s forwards }
@keyframes toastIn{ from{ opacity:0; transform:translateX(40px) } to{ opacity:1; transform:none } }
@keyframes toastOut{ to{ opacity:0; transform:translateX(40px) } }

/* ================= RESPONSIVE ================= */
@media (max-width: 991.98px){
  .side-sticky{ position:static; margin-top:8px }
  .hero{ padding-bottom:70px }
  .page{ margin-top:-24px }
}
@media (max-width: 767.98px){
  body{ font-size:14.5px }
  .stepper-wrap{ padding:18px 14px }
  .stepper-line{ left:12%; right:12%; top:19px }
  .step-dot{ width:38px; height:38px; font-size:0; margin-bottom:8px }
  .step-dot i{ display:none }
  .step-dot .step-num{ display:block; font-size:14px; font-weight:700 }
  .step.is-done .step-dot .step-num{ font-size:0 }
  .step.is-done .step-dot .step-num::before{
    content:"\f00c"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:13px;
  }
  .step-label small{ display:none }
  .step-label strong{ font-size:11.5px }
  .panel-head{ padding:18px 16px }
  .panel-body{ padding:20px 16px }
  .panel-foot{ padding:14px 16px; flex-wrap:wrap }
  .panel-foot .btn{ flex:1 1 auto }
  .foot-hint{ display:none }
  .dz{ flex-wrap:wrap; gap:12px }
  .dz-btn{ width:100% }
  .hero-stat{ flex:1 1 100% }
  .review-list .rv-row{ flex-direction:column; gap:2px }
  .review-list dd{ text-align:left }
  .toast-wrap{ left:14px; right:14px; bottom:14px }
}

/* ================= ERİŞİLEBİLİRLİK ================= */

/* Üst şerit araç çubuğu (A- / A+ / kontrast) */
.a11y-bar{ display:inline-flex; gap:4px }
.a11y-bar button{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22);
  color:#c6d3dc; font-size:11px; font-weight:700;
  min-width:26px; height:24px; border-radius:6px; padding:0 6px;
  transition:.18s; line-height:1;
}
.a11y-bar button:hover{ background:rgba(255,255,255,.22); color:#fff }
.a11y-bar button.is-on{ background:var(--accent); border-color:var(--accent); color:#fff }
.a11y-bar button i{ color:inherit; margin:0 }

/* Yazı boyutu kademeleri (JS body'e sınıf ekler) */
body.fs-1{ zoom:1.08 }
body.fs-2{ zoom:1.16 }
body.fs--1{ zoom:.94 }

/* Yüksek kontrast modu */
body.hc{
  --body:#2b3940; --muted:#4a5a63; --line:#9fb0b9; --bg:#ffffff;
}
body.hc .form-control, body.hc .form-select{ border-color:#7c8f99 }
body.hc .type-desc, body.hc .dz-hint, body.hc .form-text{ color:#3d4d55 }
body.hc .panel, body.hc .side-card{ border-color:#9fb0b9 }

/* Klavye odak halkası — kart bileşenleri (C1) */
.type-card:has(input:focus-visible),
.choice-card:has(input:focus-visible){
  outline:3px solid var(--accent);
  outline-offset:2px;
}
.type-card:focus-within,
.choice-card:focus-within{ border-color:var(--green) }

/* Hareket azaltma tercihi (C4) */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

/* ================= ÇOKLU DOSYA LİSTESİ ================= */
.dz-files{ list-style:none; margin:6px 0 0; padding:0; display:none; flex-direction:column; gap:4px }
.dz.is-filled .dz-files{ display:flex }
.dz-files li{
  display:flex; align-items:center; gap:8px;
  background:#fff; border:1px solid #d5e6dc; border-radius:8px;
  padding:5px 9px; font-size:12.5px; color:var(--green-700); font-weight:600;
}
.dz-files li > i:first-child{ color:var(--ok); font-size:12px }
.dz-files li em{
  font-style:normal; flex:1; min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.dz-files li small{ color:var(--muted); font-weight:500; white-space:nowrap }
.dz-file-preview, .dz-file-remove{
  cursor:pointer; border:none; background:#eef2f3;
  width:22px; height:22px; flex:0 0 22px; border-radius:6px; font-size:10.5px;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--navy); transition:.18s; padding:0;
}
.dz-file-preview:hover{ background:var(--green-100); color:var(--green) }
.dz-file-remove:hover{ background:#fbe4e2; color:var(--err) }

.dz-actions{ display:flex; flex-direction:column; gap:6px; align-items:stretch }
.dz-cam{ display:none }
@media (pointer:coarse){
  .dz-cam{ display:inline-flex; align-items:center; justify-content:center }
}
.dz.is-filled .dz-hint{ display:block }   /* çoklu dosyada ipucu görünür kalsın */

/* ================= BİLGİ MODALLARI (KVKK / SSS) ================= */
.info-modal{ border:none; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg) }
.info-modal-head{
  display:flex; align-items:center; gap:14px;
  padding:20px 24px; background:linear-gradient(135deg,var(--green),var(--navy)); color:#fff;
}
.info-modal-head > i{
  width:42px; height:42px; flex:0 0 42px; border-radius:12px;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.info-modal-head h4{ font-size:16.5px; font-weight:800; margin:0 }
.info-modal-head small{ font-size:12px; color:rgba(255,255,255,.75) }
.info-modal-head .btn-close{ margin-left:auto; filter:invert(1); opacity:.8 }
.info-modal-body{ font-size:13.5px; color:var(--body); line-height:1.7 }
.info-modal-body h6{
  font-size:13px; font-weight:700; color:var(--navy);
  margin:16px 0 6px; text-transform:uppercase; letter-spacing:.4px;
}
.info-modal-body h6:first-child{ margin-top:0 }
.info-modal-body b{ color:var(--ink) }
.accordion-button{ font-size:14px; font-weight:600; color:var(--ink); padding:15px 20px }
.accordion-button:not(.collapsed){ background:var(--green-050); color:var(--green-700); box-shadow:none }
.accordion-button:focus{ box-shadow:0 0 0 3px rgba(55,92,79,.15); border-color:var(--green) }
.accordion-body{ font-size:13.5px; color:var(--body); line-height:1.65 }

/* ================= EVRAK ÖNİZLEME ================= */
.preview-modal{ border:none; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-lg) }
.preview-body{
  background:#2a3540; min-height:320px; max-height:78vh;
  display:flex; align-items:center; justify-content:center; overflow:auto;
}
.preview-body img{ max-width:100%; max-height:76vh; object-fit:contain }
.preview-body embed, .preview-body iframe{ width:100%; height:76vh; border:none; background:#fff }
.preview-unsupported{ color:#aebecb; text-align:center; padding:60px 20px; font-size:14px }
.preview-unsupported i{ display:block; font-size:34px; margin-bottom:12px; color:#7f93a3 }

/* ================= BAŞVURU NO KOPYALAMA ================= */
.ticket-no-row{ display:flex; align-items:center; justify-content:center; gap:10px }
.btn-copy{
  border:1.5px solid #cddad4; background:#fff; color:var(--green);
  width:34px; height:34px; border-radius:9px; font-size:13px;
  display:inline-flex; align-items:center; justify-content:center; transition:.2s;
}
.btn-copy:hover{ background:var(--green-050); border-color:var(--green) }
.btn-copy.is-copied{ background:var(--ok); border-color:var(--ok); color:#fff }

/* ================= TAKİP SAYFASI ================= */
.hero-sm{ padding:28px 0 70px }
.track-summary{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
  border-radius:var(--radius-sm); overflow:hidden; margin-bottom:26px;
}
.track-summary > div{ background:#fafcfb; padding:13px 16px; text-align:center }
.track-summary small{ display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); margin-bottom:3px }
.track-summary b{ font-size:14px; color:var(--ink) }

.timeline{ list-style:none; margin:0; padding:0 }
.timeline li{
  position:relative; display:flex; gap:16px;
  padding:0 0 26px 0;
}
.timeline li::before{
  content:""; position:absolute; left:21px; top:44px; bottom:2px;
  width:2.5px; background:var(--line); border-radius:2px;
}
.timeline li:last-child::before{ display:none }
.timeline li.is-done::before{ background:var(--green) }
.tl-dot{
  width:44px; height:44px; flex:0 0 44px; border-radius:50%;
  background:#f0f4f5; border:2px solid var(--line); color:var(--muted);
  display:flex; align-items:center; justify-content:center; font-size:15px;
  position:relative; z-index:1;
}
.timeline li.is-done .tl-dot{ background:var(--green); border-color:var(--green); color:#fff }
.timeline li.is-current .tl-dot{
  background:#fff; border-color:var(--accent); color:var(--accent);
  box-shadow:0 0 0 5px rgba(229,129,30,.15);
}
.tl-body b{ display:block; font-size:14.5px; color:var(--ink); margin-bottom:2px }
.timeline li.is-current .tl-body b{ color:var(--accent) }
.tl-body small{ font-size:12.5px; color:var(--muted); line-height:1.5 }
.timeline li.is-done .tl-body b{ color:var(--green-700) }
@media (max-width:575.98px){ .track-summary{ grid-template-columns:1fr } }

/* ================= A4 BAŞVURU FORMU (yalnızca yazdırma) ================= */
#printSheet{ display:none }

@media print{
  /* Normal sayfa yazdırması: form ekranını gizle, A4 şablonu bas */
  body.print-form > *:not(#printSheet){ display:none !important }
  body.print-form #printSheet{ display:block !important }

  #printSheet{
    font-family:'Inter', Arial, sans-serif; color:#000;
    font-size:11pt; padding:0; line-height:1.45;
  }
  .ps-head{
    display:flex; align-items:center; gap:14pt;
    border-bottom:2.5pt solid #1c3a30; padding-bottom:8pt; margin-bottom:10pt;
  }
  .ps-head img{ width:58pt; height:58pt }
  .ps-head-mid{ flex:1; text-align:center }
  .ps-head-mid b{ display:block; font-size:13pt; letter-spacing:1pt }
  .ps-head-mid span{ font-size:10pt }
  .ps-head-right{ text-align:right; font-size:9pt }
  .ps-head-right span{ display:block; color:#333 }
  .ps-head-right b{ display:block; font-size:11pt; margin:2pt 0 }

  .ps-title{
    text-align:center; font-weight:800; font-size:12pt;
    letter-spacing:.5pt; margin:12pt 0; text-decoration:underline;
  }
  .ps-table{ width:100%; border-collapse:collapse; margin-bottom:12pt }
  .ps-table td{
    border:.75pt solid #444; padding:5pt 8pt; font-size:10pt; vertical-align:top;
  }
  .ps-table td:first-child{
    width:34%; font-weight:700; background:#eef2ef;
  }
  .ps-docs{ margin-bottom:12pt; font-size:10pt }
  .ps-docs ol{ margin:4pt 0 0 18pt; padding:0 }
  .ps-docs li{ margin-bottom:2pt }
  .ps-consent{
    border:.75pt solid #444; padding:8pt; font-size:9.5pt;
    font-style:italic; margin-bottom:16pt;
  }
  .ps-sign{ display:flex; justify-content:space-between; gap:16pt; margin-bottom:16pt }
  .ps-sign > div{ flex:1; text-align:center }
  .ps-sign span{ display:block; font-size:9pt; color:#333; margin-bottom:14pt }
  .ps-sign b{ display:block; border-top:.75pt solid #444; padding-top:4pt; font-size:10.5pt }
  .ps-foot{
    border-top:.5pt solid #999; padding-top:5pt;
    font-size:8pt; color:#555; text-align:center;
  }

  /* A4 şablonu kullanılmayan yazdırmalar (takip sayfası vb.) */
  .topbar,.site-header,.hero,.stepper-wrap,.panel-foot,aside,.site-footer,.toast-wrap,.a11y-bar{ display:none !important }
  body:not(.print-form){ background:#fff }
  body:not(.print-form) .panel{ box-shadow:none; border:1px solid #ccc }
}
