/*
 * WCAG 2.1/2.2 AA Erişilebilirlik Stilleri
 * Faz 2 (v1.13.0): Skip link
 * Faz 3 (v1.14.0): Focus visible, focus not obscured
 * Faz 5 (v1.16.0): Target size, text spacing dayanıklılık
 */

/* Skip-to-main-content: ekran okuyucu ve klavye kullanıcıları için */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    z-index: 10000;
    padding: 0.75rem 1.25rem;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 0 0 4px 0;
    transition: top 0.2s ease-in-out;
}

.skip-link:focus,
.skip-link:focus-visible {
    top: 0;
    outline: 3px solid #ffbf00;
    outline-offset: 2px;
    color: #fff;
}

/* Focus Visible: klavye kullanıcıları için belirgin odak halkası (WCAG 2.4.7 AA).
 * :focus-visible kullanılarak fare tıklamasında halka görünmez. */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #1d4ed8;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(29, 78, 216, 0.25);
}

/* Mouse tıklamasında outline gizleyen siteler için: yalnızca klavyede göster. */
*:focus:not(:focus-visible) {
    outline: none;
}

/* Focus Not Obscured (WCAG 2.4.11 AA — WCAG 2.2): sticky header altında
 * odaklanan eleman gizlenmesin diye görüş alanına ek boşluk. */
:target,
*:focus-visible {
    scroll-margin-top: 100px;
}

/* Custom interactive role="button" elemanları için pointer cursor */
[role="button"]:not(:disabled) {
    cursor: pointer;
}

/* Target Size Minimum 24×24 (WCAG 2.5.8 AA — WCAG 2.2)
 * İkon-only butonlar, kapatma X'leri, küçük interaktif öğeler için.
 * Bootstrap'in btn-sm sınıfı 24px'in altında kalabilir. */
.btn-close,
.btn-sm.btn-outline-danger,
.btn-sm.btn-outline-primary,
.btn-sm.btn-outline-secondary,
button.icon-btn,
.upload-close,
.skip-link,
[role="button"]:not(.btn) {
    min-width: 24px;
    min-height: 24px;
}

/* Bootstrap btn-close için ekstra hit area sağlamak (görsel boyutu değişmiyor). */
.btn-close {
    padding: 0.375rem;
    background-clip: content-box;
}

/* Text Spacing dayanıklılığı (WCAG 1.4.12 AA)
 * Kullanıcı line-height/letter-spacing artırınca container'da metin kesilmesin. */
.card-body,
.profile-details,
.modal-body,
.alert,
.list-group-item,
.user-info,
.tab-link,
.dropdown-item {
    /* Sabit yükseklik yerine min-height kullanılması text-spacing dayanıklılığı için. */
    overflow: visible;
}

/* Content on Hover/Focus (WCAG 1.4.13 AA): Bootstrap tooltip zaten standartla
 * uyumlu (dismissable: ESC, hoverable: tooltip üzerine gidip okunabilir,
 * persistent: focus/hover sürerken kaybolmuyor). Tooltip'ler için ek garanti: */
.tooltip {
    pointer-events: auto;
}

/* Reflow desteği (WCAG 1.4.10 AA): 320px CSS px viewport'ta yatay scroll
 * önlenmeye çalışılır. */
@media (max-width: 320px) {
    body {
        overflow-x: hidden;
    }
    .container,
    .container-fluid {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}
