/*
 * Aşamalı form.
 *
 * Tema değişkenlerini kullanır; kurumsal renk değişirse burası elle
 * güncellenmez.
 */

.form-wizard {
    --wz-line: #e3ebeb;
}

/* ---------- İlerleme şeridi ---------- */

.wizard-progress {
    margin-bottom: 34px;
}

.wizard-progress__bar {
    height: 6px;
    border-radius: 40px;
    background: var(--tp-grey-1);
    overflow: hidden;
    margin-bottom: 18px;
}

.wizard-progress__bar span {
    display: block;
    height: 100%;
    border-radius: 40px;
    background: linear-gradient(90deg, var(--tp-theme-2), var(--tp-theme-3));
    transition: width .35s ease;
}

.wizard-progress__steps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.wizard-progress__step {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--tp-grey-2);
    cursor: default;
}

.wizard-progress__num {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1.5px solid var(--wz-line);
    background: #fff;
    font-size: 12.5px;
    font-weight: 700;
    transition: background .2s, border-color .2s, color .2s;
}

/* Tamamlanan adımlara geri dönülebilir */
.wizard-progress__step.is-done {
    color: var(--tp-text-body);
    cursor: pointer;
}

.wizard-progress__step.is-done .wizard-progress__num {
    background: var(--tp-theme-3);
    border-color: var(--tp-theme-3);
    color: var(--tp-theme-1);
}

.wizard-progress__step.is-current {
    color: var(--tp-heading-primary);
    font-weight: 600;
}

.wizard-progress__step.is-current .wizard-progress__num {
    background: var(--tp-theme-2);
    border-color: var(--tp-theme-2);
    color: #fff;
}

/* ---------- Adım ---------- */

.wizard-step {
    display: none;
}

.wizard-step.is-active {
    display: block;
    animation: wizard-in .25s ease;
}

@keyframes wizard-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .wizard-step.is-active { animation: none; }
    .wizard-progress__bar span { transition: none; }
}

.wizard-step__head {
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--wz-line);
}

.wizard-step__count {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--tp-theme-2);
    margin-bottom: 6px;
}

.wizard-step__title {
    color: var(--tp-heading-primary);
    margin: 0 0 4px;
}

.wizard-step__hint {
    color: var(--tp-text-body);
    font-size: 14.5px;
    margin: 0;
}

/* Adım içinde ara başlık tekrar edilmez; başlık zaten üstte */
.wizard-step .tp-form__heading {
    font-size: 17px;
    margin-top: 8px;
}

/* ---------- Gezinme ---------- */

.wizard-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid var(--wz-line);
}

.wizard-nav [data-wizard-next],
.wizard-nav [data-wizard-submit] {
    margin-left: auto;
}

.wizard-nav__draft {
    font-size: 13px;
    color: var(--tp-theme-2);
}

.wizard-status {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.wizard-note {
    margin-top: 14px;
    font-size: 13px;
    color: var(--tp-grey-2);
}

/* Adım kontrolünde takılan alan göze batsın */
.tp-form .is-step-invalid input,
.tp-form .is-step-invalid select,
.tp-form .is-step-invalid textarea {
    border-color: #dc3545;
}

.tp-form .is-step-invalid > .tp-form__group-label,
.tp-form .is-step-invalid > label {
    color: #b02a24;
}

/* Hatalı adım ilerleme çubuğunda da görünür */
.wizard-progress__step.has-error .wizard-progress__num {
    background: #d9453f;
    border-color: #d9453f;
    color: #fff;
}

.wizard-progress__step.has-error .wizard-progress__label {
    color: #b02a24;
}

.wizard-step__error {
    margin: 10px 0 0;
    padding: 10px 14px;
    border-radius: 8px;
    background: #fdeceb;
    color: #b02a24;
    font-size: 14px;
}

/* ---------------------------------------------------------------- */
/* Hata özeti — hangi adım, hangi alan, ne yapılmalı                 */
/* ---------------------------------------------------------------- */

.tp-form__errors {
    border-radius: 10px;
}

.tp-form__errors-lead {
    margin-bottom: 10px;
}

.tp-form__errors-list {
    margin: 0;
    padding-left: 20px;
}

.tp-form__errors-list li {
    margin-bottom: 10px;
}

.tp-form__errors-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.tp-form__errors-link:hover strong {
    text-decoration: underline;
}

.tp-form__errors-step {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .4px;
    opacity: .8;
}

.tp-form__errors-msg {
    display: block;
    font-size: 14px;
}

/* Çapaya atlarken alan sabit başlığın altında kalmasın */
.tp-contact-2__input-box[id^="alan-"] {
    scroll-margin-top: 120px;
}

@media (max-width: 575px) {
    .wizard-progress__label { display: none; }
    .wizard-nav { flex-wrap: wrap; }
    .wizard-nav [data-wizard-next],
    .wizard-nav [data-wizard-submit] { margin-left: auto; }
}

/* ====================================================================== */
/* Kilitli başvuru ekranı ve kimlik alanları                              */
/* ====================================================================== */

/* Üye girişi isteyen forma kayıtsız gelen ziyaretçinin gördüğü kart */
.tp-form__locked {
    background: #fff;
    border: 1px solid var(--wz-line, #e3ebeb);
    border-radius: 16px;
    padding: 48px 32px;
}

.tp-form__locked-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: var(--tp-grey-1, #f4f7f7);
    color: var(--tp-theme-2, #07847f);
    font-size: 24px;
}

.tp-form__locked h3 {
    margin-bottom: 14px;
}

.tp-form__locked-lead {
    max-width: 560px;
    margin: 0 auto 18px;
    color: var(--tp-text-body, #5a6a6a);
}

/* İki adım: kayıt → form */
.tp-form__steps {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    margin: 28px 0 32px;
}

.tp-form__step {
    flex: 1 1 220px;
    max-width: 300px;
    padding: 20px 18px;
    border: 1px solid var(--wz-line, #e3ebeb);
    border-radius: 12px;
    text-align: left;
}

.tp-form__step strong {
    display: block;
    margin: 10px 0 4px;
}

.tp-form__step span:not(.tp-form__step-no) {
    display: block;
    font-size: 14px;
    color: var(--tp-grey-2, #7b8a8a);
}

.tp-form__step-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--tp-theme-2, #07847f);
    color: #fff;
    font-weight: 600;
}

.tp-form__locked-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.tp-form__locked-link {
    font-size: 15px;
    text-decoration: underline;
    color: var(--tp-grey-2, #7b8a8a);
}

/*
 * Hesaptan gelen, düzenlenemeyen kimlik alanı.
 * Devre dışı değil salt okunur: değer gönderilir, kullanıcı seçip
 * kopyalayabilir, ekran okuyucu atlamaz.
 */
.tp-form__area input.is-locked,
input.is-locked {
    background-color: var(--tp-grey-1, #f4f7f7);
    cursor: default;
}

input.is-locked:focus {
    box-shadow: none;
}
