/* Basvuru formu — Firma Sorulari (kartlar, secim kutulari, Universite/Bolum adimlari).
   Renkler ilan sayfasinin marka degiskenlerinden gelir (--primary-color, --primary-rgb). */
.aq {
    --aq-brand: var(--primary-color, #4f46e5);
    --aq-rgb: var(--primary-rgb, 79, 70, 229);
    --aq-ink: #0f172a;
    --aq-muted: #64748b;
    --aq-line: #e2e8f0;
    --aq-soft: rgba(var(--aq-rgb), .08);
    --aq-ring: 0 0 0 4px rgba(var(--aq-rgb), .16);
    --aq-ease: cubic-bezier(.2, .8, .2, 1);
    margin: 4px 0 28px;
}
.aq-head {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
    flex-wrap: wrap; margin-bottom: 14px;
}
.aq-title { font-family: var(--font-heading, inherit); font-weight: 700; margin: 0; color: var(--aq-ink); }
.aq-sub { margin: 2px 0 0; font-size: .86rem; color: var(--aq-muted); }
.aq-progress { display: flex; align-items: center; gap: 10px; font-size: .82rem; color: var(--aq-muted); }
.aq-progress b { color: var(--aq-ink); font-variant-numeric: tabular-nums; }
.aq-progress-bar { width: 120px; height: 8px; border-radius: 99px; background: var(--aq-line); overflow: hidden; }
.aq-progress-bar i {
    display: block; height: 100%; width: 0; border-radius: inherit;
    background: linear-gradient(90deg, rgba(var(--aq-rgb), .65), var(--aq-brand));
    transition: width .55s var(--aq-ease);
}
.aq.is-complete .aq-progress-bar i { box-shadow: 0 0 12px rgba(var(--aq-rgb), .45); }

/* Kart */
.aq-card {
    position: relative; background: #fff; border: 1.5px solid var(--aq-line); border-radius: 18px;
    padding: 18px 18px 16px; margin-bottom: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: border-color .25s, box-shadow .25s, transform .25s var(--aq-ease);
    animation: aq-rise .5s var(--aq-ease) both; animation-delay: calc(var(--aq-i, 0) * 60ms);
}
.aq-card:focus-within, .aq-card:has(.eq-step.is-open) { z-index: 20; }
.aq-card:focus-within { border-color: rgba(var(--aq-rgb), .55); box-shadow: 0 10px 30px -12px rgba(var(--aq-rgb), .35); }
.aq-card.is-answered { border-color: rgba(var(--aq-rgb), .35); }
.aq-card.is-invalid { border-color: #ef4444; animation: aq-shake .45s; }
.aq-card-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.aq-num {
    flex: none; width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center;
    font-size: .8rem; font-weight: 700; color: var(--aq-brand); background: var(--aq-soft);
    transition: background .3s, color .3s;
}
.aq-card.is-answered .aq-num { background: var(--aq-brand); color: #fff; }
.aq-label { flex: 1; font-weight: 600; color: var(--aq-ink); line-height: 1.4; margin: 3px 0 0; cursor: default; }
label.aq-label { cursor: pointer; }
.aq-done {
    flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center;
    background: #10b981; color: #fff; font-size: .85rem; transform: scale(0); opacity: 0;
    transition: transform .35s var(--aq-ease), opacity .2s;
}
.aq-card.is-answered .aq-done { transform: scale(1); opacity: 1; }
.aq-hint { display: block; margin-top: 8px; font-size: .8rem; color: var(--aq-muted); }

/* Metin / sayi / select */
.aq-input.form-control, .aq-input.form-select {
    border-radius: 12px; border: 1.5px solid var(--aq-line); padding: .7rem .9rem; font-size: .95rem;
    transition: border-color .2s, box-shadow .2s;
}
.aq-input.form-control:focus, .aq-input.form-select:focus { border-color: var(--aq-brand); box-shadow: var(--aq-ring); }
.aq-number { position: relative; max-width: 260px; }
.aq-number.is-gpa .aq-input { font-size: 1.25rem; font-weight: 700; padding-right: 76px; letter-spacing: .02em; }
/* Bootstrap'in gecerli/gecersiz ikonu "/ 4,00" ekinin ustune biniyordu; cevap durumu kart basligindaki
   yesil isaretle zaten gorunuyor. Ornek deger (placeholder) girilmis bir sayi gibi durmasin. */
.aq-number .aq-input.form-control { background-image: none; }
.aq-number.is-gpa .aq-input::placeholder { color: #c3ccd8; font-weight: 500; font-size: 1.05rem; letter-spacing: 0; }
.aq-number.is-gpa.is-hundred .aq-number-suffix { color: var(--aq-brand); }
.aq-number-suffix {
    position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
    color: var(--aq-muted); font-weight: 600; pointer-events: none;
}

/* Secim kartlari */
.aq-choices { display: flex; flex-wrap: wrap; gap: 10px; }
.aq-choices.is-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.aq-choice { position: relative; margin: 0; cursor: pointer; min-width: 0; }
.aq-choice input { position: absolute; opacity: 0; pointer-events: none; }
.aq-choice-box {
    display: flex; align-items: center; gap: 10px; height: 100%; min-height: 48px;
    padding: 10px 14px; border-radius: 14px; border: 1.5px solid var(--aq-line); background: #fff;
    color: var(--aq-ink); font-weight: 500; font-size: .93rem; user-select: none;
    min-width: 0; overflow-wrap: break-word; hyphens: auto;
    transition: border-color .2s, background .2s, transform .15s, box-shadow .2s;
}
.aq-choice:hover .aq-choice-box { border-color: rgba(var(--aq-rgb), .45); transform: translateY(-1px); }
.aq-choice:active .aq-choice-box { transform: scale(.98); }
.aq-choice input:focus-visible + .aq-choice-box { box-shadow: var(--aq-ring); border-color: var(--aq-brand); }
.aq-choice-mark {
    flex: none; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #cbd5e1;
    display: grid; place-items: center; color: #fff; font-size: .7rem; transition: all .2s var(--aq-ease);
}
.aq-choice-mark i { transform: scale(0); transition: transform .25s var(--aq-ease); }
.aq-choice input[type="checkbox"] + .aq-choice-box .aq-choice-mark { border-radius: 6px; }
.aq-choice input:checked + .aq-choice-box {
    border-color: var(--aq-brand); background: var(--aq-soft); font-weight: 600;
    box-shadow: 0 6px 18px -10px rgba(var(--aq-rgb), .6);
}
.aq-choice input:checked + .aq-choice-box .aq-choice-mark { background: var(--aq-brand); border-color: var(--aq-brand); }
.aq-choice input:checked + .aq-choice-box .aq-choice-mark i { transform: scale(1); }

/* Universite / Bolum adimlari */
.eq { position: relative; display: grid; gap: 12px; }
.eq-step { position: relative; transition: opacity .35s, transform .35s var(--aq-ease), filter .35s; }
.eq-step.is-locked { opacity: .45; filter: grayscale(.4); pointer-events: none; transform: translateY(4px); }
.eq-step-label { display: flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 600; color: var(--aq-muted); margin-bottom: 6px; text-transform: uppercase; letter-spacing: .04em; }
.eq-step-dot { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; background: var(--aq-soft); color: var(--aq-brand); font-size: .75rem; }
.eq-step.is-done .eq-step-dot { background: #10b981; color: #fff; }
.eq-combo { position: relative; }
.eq-field {
    display: flex; align-items: center; gap: 10px; padding: 0 14px; border-radius: 14px;
    border: 1.5px solid var(--aq-line); background: #fff; transition: border-color .2s, box-shadow .2s;
}
.eq-field .bi-search { color: var(--aq-muted); }
.eq-step.is-open .eq-field, .eq-field:focus-within { border-color: var(--aq-brand); box-shadow: var(--aq-ring); }
.eq-input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 13px 0; font-size: .97rem; color: var(--aq-ink); }
.eq-input::placeholder { color: #94a3b8; }
.eq-list {
    position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 8px); margin: 0; padding: 6px;
    list-style: none; max-height: 320px; overflow-y: auto; background: #fff; border-radius: 16px;
    border: 1px solid var(--aq-line); box-shadow: 0 24px 48px -16px rgba(15, 23, 42, .28);
    animation: aq-pop .18s var(--aq-ease);
}
.eq-group { position: sticky; top: -6px; background: #fff; padding: 8px 10px 4px; font-size: .72rem; font-weight: 700; color: var(--aq-muted); text-transform: uppercase; letter-spacing: .06em; }
.eq-option { padding: 9px 10px; border-radius: 11px; cursor: pointer; transition: background .12s; }
.eq-option:hover, .eq-option.is-active { background: var(--aq-soft); }
.eq-opt { display: flex; align-items: center; gap: 10px; }
.eq-opt-icon { color: var(--aq-brand); opacity: .75; }
.eq-opt-title { font-weight: 600; color: var(--aq-ink); font-size: .92rem; }
.eq-opt-title mark { padding: 0; background: rgba(var(--aq-rgb), .18); color: inherit; border-radius: 3px; }
.eq-opt-meta { font-size: .76rem; color: var(--aq-muted); }
.eq-custom { display: flex; align-items: center; gap: 8px; color: var(--aq-brand); font-weight: 600; border-top: 1px dashed var(--aq-line); margin-top: 4px; }
.eq-empty { padding: 14px; text-align: center; color: var(--aq-muted); font-size: .88rem; }
.eq-chosen {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 12px; row-gap: 6px;
    align-items: center; padding: 12px 14px; border-radius: 14px;
    border: 1.5px solid rgba(16, 185, 129, .45); background: linear-gradient(135deg, rgba(16, 185, 129, .08), rgba(var(--aq-rgb), .05));
    animation: aq-pop .35s var(--aq-ease);
}
.eq-chosen-check { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #10b981; color: #fff; animation: aq-check .45s var(--aq-ease); }
.eq-chosen[hidden] { display: none; }
.eq-chosen-check { grid-row: 1 / span 2; }
.eq-chosen-text { grid-column: 2; min-width: 0; }
.eq-chosen .eq-badge { grid-column: 2; justify-self: start; }
.eq-chosen .eq-change { grid-column: 3; grid-row: 1 / span 2; }
.eq-chosen-title { font-weight: 700; color: var(--aq-ink); }
.eq-chosen-meta { font-size: .78rem; color: var(--aq-muted); }
.eq-badge { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; font-size: .74rem; font-weight: 600; padding: 4px 9px; border-radius: 99px; }
.eq-badge-cv { color: #7c3aed; background: rgba(124, 58, 237, .1); animation: aq-glow 2.4s ease-in-out 2; }
.eq-badge-custom { color: #b45309; background: rgba(245, 158, 11, .14); }
.eq-change { border: 0; background: transparent; color: var(--aq-brand); font-weight: 600; font-size: .85rem; padding: 6px 8px; border-radius: 9px; }
.eq-change:hover { background: var(--aq-soft); }
.eq-error { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: #fef2f2; color: #b91c1c; font-size: .85rem; }
.eq-error[hidden] { display: none; }
.eq-link { border: 0; background: none; color: inherit; font-weight: 700; text-decoration: underline; margin-left: auto; }
.eq-invalid-msg { display: none; color: #dc2626; font-size: .83rem; }
.eq.is-invalid .eq-invalid-msg { display: block; }
.eq.is-invalid .eq-step:not(.is-done):not(.is-locked) .eq-field { border-color: #ef4444; }

/* CV olmadan form ile basvuru girisi */
.no-cv-option {
    width: 100%; display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 14px 16px;
    border-radius: 16px; border: 1.5px dashed rgba(var(--primary-rgb, 79, 70, 229), .45);
    background: rgba(var(--primary-rgb, 79, 70, 229), .04); color: #0f172a; text-align: left;
    transition: border-color .2s, background .2s, transform .15s;
}
.no-cv-option:hover { border-style: solid; background: rgba(var(--primary-rgb, 79, 70, 229), .08); transform: translateY(-1px); }
.no-cv-option .bi-arrow-right { margin-left: auto; color: var(--primary-color, #4f46e5); transition: transform .2s; }
.no-cv-option:hover .bi-arrow-right { transform: translateX(3px); }
.no-cv-icon { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: rgba(var(--primary-rgb, 79, 70, 229), .12); color: var(--primary-color, #4f46e5); }
.no-cv-text { font-size: .92rem; color: #334155; }
/* CV yuklendiyse "CV'n yok mu?" secenegi gereksiz */
#cvUploadSection:has(.file-upload-label.has-file) .no-cv-option { display: none; }

@keyframes aq-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes aq-pop { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes aq-check { 0% { transform: scale(0) rotate(-30deg); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
@keyframes aq-glow { 50% { box-shadow: 0 0 0 6px rgba(124, 58, 237, .12); } }
@keyframes aq-shake { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }

/* Telefon ve kucuk tablet (Android + iPhone): */
@media (max-width: 576px) {
    .aq-card { padding: 14px 12px; border-radius: 16px; }
    .aq-card-head { gap: 10px; }
    .aq-num { width: 24px; height: 24px; border-radius: 8px; font-size: .75rem; }
    .aq-label { margin-top: 1px; }
    .aq-progress-bar { width: 80px; }
    /* minmax(0, 1fr): uzun kelime ("Upper-Intermediate") sutunu genisletip karti ve ekrani tasirmasin. */
    .aq-choices.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    /* Uzun etiketli secenekler: tek sutun, tam genislik satirlar — okumasi ve dokunmasi kolay. */
    .aq-choices.is-wide, .aq-choices.is-grid.is-wide { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
    /* Az secenekli (Evet/Hayir) satirlar ekrani esit paylassin. */
    .aq-choices:not(.is-grid):not(.is-wide) .aq-choice { flex: 1 1 120px; }
    .aq-choice-box { min-height: 50px; padding: 10px 12px; font-size: .95rem; }
    .aq-number { max-width: none; }
    .eq-list { max-height: min(320px, 42vh); }
    .eq-step { scroll-margin-top: 14px; }
}
@media (max-width: 340px) {
    .aq-card { padding: 12px 10px; }
    .aq-choices.is-grid:not(.is-wide) { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .aq *, .aq { animation: none !important; transition: none !important; }
}

/* ======================================================================
   Basvuru formunun tamami (CV, bilgiler, on yazi, onay, gonder) — ayni dil
   ====================================================================== */
.af {
    --af-brand: var(--primary-color, #4f46e5);
    --af-rgb: var(--primary-rgb, 79, 70, 229);
    --af-line: #e2e8f0;
    --af-ink: #0f172a;
    --af-muted: #64748b;
    --af-ease: cubic-bezier(.2, .8, .2, 1);
}
/* Adim gostergesi */
.af-steps { display: flex; gap: 6px; list-style: none; padding: 0; margin: 0 0 18px; counter-reset: af; }
.af-step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; position: relative; font-size: .76rem; color: var(--af-muted); font-weight: 600; }
.af-step::after {
    content: ""; position: absolute; top: 17px; left: calc(50% + 22px); right: calc(-50% + 22px); height: 3px;
    border-radius: 3px; background: var(--af-line); transition: background .4s var(--af-ease);
}
.af-step:last-child::after { display: none; }
.af-step-dot {
    width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; font-size: 1rem;
    background: #fff; border: 1.5px solid var(--af-line); color: var(--af-muted);
    transition: all .35s var(--af-ease);
}
.af-step.is-current .af-step-dot { border-color: var(--af-brand); color: var(--af-brand); box-shadow: 0 0 0 4px rgba(var(--af-rgb), .14); }
.af-step.is-current { color: var(--af-ink); }
.af-step.is-done .af-step-dot { background: var(--af-brand); border-color: var(--af-brand); color: #fff; animation: aq-check .45s var(--af-ease); }
.af-step-check { display: none; }
.af-step.is-done .af-step-icon { display: none; }
.af-step.is-done .af-step-check { display: inline-block; }
.af-step.is-done::after { background: linear-gradient(90deg, var(--af-brand), rgba(var(--af-rgb), .35)); }

/* Bolum kartlari */
.af .af-card {
    background: #fff; border: 1.5px solid var(--af-line); border-radius: 20px; padding: 20px;
    margin-bottom: 16px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: border-color .25s, box-shadow .25s; animation: aq-rise .5s var(--af-ease) both;
}
.af .af-card:focus-within { border-color: rgba(var(--af-rgb), .5); box-shadow: 0 12px 32px -16px rgba(var(--af-rgb), .4); }
.af-card-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.af-card-icon {
    flex: none; width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center; font-size: 1.15rem;
    color: var(--af-brand); background: rgba(var(--af-rgb), .1);
}
.af-card-title { font-family: var(--font-heading, inherit); font-weight: 700; font-size: 1.05rem; margin: 2px 0 0; color: var(--af-ink); }
.af-card-sub { margin: 2px 0 0; font-size: .84rem; color: var(--af-muted); }
.af h5:not(.af-card-title):not(.aq-title) { font-size: 1rem; margin-top: 8px; }

/* Girdiler */
.af .form-control, .af .form-select {
    border-radius: 12px; border: 1.5px solid var(--af-line); padding: .7rem .9rem; font-size: .95rem;
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.af .form-control:hover, .af .form-select:hover { border-color: #cbd5e1; }
.af .form-control:focus, .af .form-select:focus { border-color: var(--af-brand); box-shadow: 0 0 0 4px rgba(var(--af-rgb), .14); }
.af .form-label { font-weight: 600; font-size: .86rem; color: #334155; margin-bottom: 6px; }
.af.was-validated .form-control:invalid, .af.was-validated .form-select:invalid { border-color: #ef4444; }
.af.was-validated .form-control:valid:not(:placeholder-shown) { border-color: rgba(16, 185, 129, .6); }

/* CV birakma alani */
.af .file-upload-label {
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
    min-height: 168px; border-radius: 18px; border: 2px dashed rgba(var(--af-rgb), .35);
    background: radial-gradient(circle at 50% 0%, rgba(var(--af-rgb), .07), transparent 70%), #fff;
    transition: border-color .25s, background .25s, transform .2s var(--af-ease);
}
.af .file-upload-label:hover { border-color: var(--af-brand); transform: translateY(-1px); }
.af .file-upload-label.is-dragover { border-style: solid; border-color: var(--af-brand); background: rgba(var(--af-rgb), .08); transform: scale(1.01); }
.af-drop-icon {
    width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; font-size: 1.6rem;
    color: #fff; background: linear-gradient(135deg, var(--af-brand), rgba(var(--af-rgb), .7));
    box-shadow: 0 10px 24px -10px rgba(var(--af-rgb), .7); animation: af-float 3s ease-in-out infinite;
}
.af-drop-title { font-weight: 600; color: var(--af-ink); }
.af .file-upload-label.has-file { border-style: solid; border-color: rgba(16, 185, 129, .55); background: rgba(16, 185, 129, .05); }

/* Yontem degistirme cubugu */
.af #methodChangeBar { border: 0 !important; padding: 0 !important; }
.af #methodChangeBar .btn { border-radius: 12px; }

/* On yazi sayaci */
.af-counter { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.af-counter-bar { flex: 1; height: 5px; border-radius: 99px; background: var(--af-line); overflow: hidden; }
.af-counter-bar i { display: block; height: 100%; width: 0; background: var(--af-brand); border-radius: inherit; transition: width .25s; }

/* KVKK onay karti */
.af-consent { padding: 0; margin: 4px 0 18px; }
.af-consent .form-check-input { position: absolute; opacity: 0; pointer-events: none; }
.af-consent-box {
    display: flex; align-items: flex-start; gap: 12px; width: 100%; padding: 14px 16px; border-radius: 16px;
    border: 1.5px solid var(--af-line); background: #fff; cursor: pointer; font-size: .88rem; color: #334155;
    transition: border-color .2s, background .2s;
}
.af-consent-box:hover { border-color: rgba(var(--af-rgb), .45); }
.af-consent-mark {
    flex: none; width: 22px; height: 22px; border-radius: 7px; border: 2px solid #cbd5e1; display: grid; place-items: center;
    color: #fff; font-size: .8rem; margin-top: 1px; transition: all .2s var(--af-ease);
}
.af-consent-mark i { transform: scale(0); transition: transform .25s var(--af-ease); }
.af-consent .form-check-input:checked + .af-consent-box { border-color: var(--af-brand); background: rgba(var(--af-rgb), .05); }
.af-consent .form-check-input:checked + .af-consent-box .af-consent-mark { background: var(--af-brand); border-color: var(--af-brand); }
.af-consent .form-check-input:checked + .af-consent-box .af-consent-mark i { transform: scale(1); }
.af-consent .form-check-input:focus-visible + .af-consent-box { box-shadow: 0 0 0 4px rgba(var(--af-rgb), .16); }
.af.was-validated .af-consent .form-check-input:invalid + .af-consent-box { border-color: #ef4444; animation: aq-shake .45s; }

/* Gonder */
.af .af-submit {
    display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px; border-radius: 16px;
    font-weight: 700; font-size: 1.05rem; position: relative; overflow: hidden;
    box-shadow: 0 14px 30px -14px rgba(var(--af-rgb), .75); transition: transform .15s, box-shadow .2s;
}
.af .af-submit:hover { transform: translateY(-1px); box-shadow: 0 18px 36px -14px rgba(var(--af-rgb), .85); }
.af .af-submit:active { transform: translateY(1px) scale(.99); }
.af .af-submit i { transition: transform .25s var(--af-ease); }
.af .af-submit:hover i { transform: translate(3px, -2px) rotate(-8deg); }
.af .af-submit::after {
    content: ""; position: absolute; inset: 0; transform: translateX(-120%);
    background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .28) 50%, transparent 70%);
}
.af.is-ready .af-submit::after { animation: af-shine 2.4s ease-in-out infinite; }
.af-submit-note { text-align: center; font-size: .78rem; color: var(--af-muted); margin: 10px 0 0; }

@keyframes af-float { 50% { transform: translateY(-4px); } }
@keyframes af-shine { 60%, 100% { transform: translateX(120%); } }

@media (max-width: 576px) {
    .af .af-card { padding: 16px 14px; border-radius: 18px; }
    .af-step-text { font-size: .7rem; }
    .af-step::after { left: calc(50% + 20px); right: calc(-50% + 20px); }
}
@media (prefers-reduced-motion: reduce) {
    .af *, .af { animation: none !important; transition: none !important; }
}

/* Dokunmatik cihazlarda (telefon/tablet, Android + iOS) 16px altindaki yazi alana dokununca
   sayfayi yakinlastiriyor (iOS Safari) — form alanlari mobilde 16px. Masaustu degismez. */
@media (max-width: 991.98px), (pointer: coarse) {
    .aq-input.form-control, .aq-input.form-select, .eq-input, .af .form-control, .af .form-select { font-size: 16px; }
    .aq-number.is-gpa .aq-input { font-size: 1.25rem; }
}
