/**
 * NECOX K1 — Filter Components
 *
 * Frontend CSS for the filter sidebar and inline filter controls used
 * across category, search and archive pages.
 *
 * @file       filter.css
 * @component  K1
 * @since      v4.1.0
 */

/* ── Filter Sidebar ── */
.necox-filter-sidebar {
    background: var(--necox-sr-filter-bg, var(--necox-white));
    border: 1px solid var(--necox-sr-filter-border, var(--necox-border));
    border-radius: var(--necox-sr-filter-radius, var(--necox-radius-lg));
    padding: var(--necox-sr-sidebar-padding, 16px);
}

/* ── Filter Grup ── */
.necox-filter-group {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--necox-border);
}

.necox-filter-group:last-of-type {
    border-bottom: none;
    margin-bottom: 12px;
    padding-bottom: 0;
}

.necox-filter-group__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--necox-sr-filter-label, var(--necox-text));
    margin-bottom: 8px;
}

/* ── Input & Select ── */
.necox-filter-input,
.necox-filter-select {
    width: 100%;
    padding: 9px 12px;
    font-size: 13px;
    border: 1.5px solid var(--necox-border);
    border-radius: 8px;
    background: var(--necox-sr-filter-bg, var(--necox-white));
    color: var(--necox-sr-filter-color, var(--necox-muted));
    outline: none;
    transition: border-color 0.15s;
}

.necox-filter-input:focus,
.necox-filter-select:focus {
    border-color: var(--necox-sr-accent, var(--necox-primary));
    box-shadow: 0 0 0 3px var(--necox-primary-light, rgba(0,0,0,0.08));
    outline: none;
}

.necox-filter-input--half {
    width: calc(50% - 14px);
}

/* ── Range (Min-Max) ── */
.necox-filter-range {
    display: flex;
    align-items: center;
    gap: 6px;
}

.necox-filter-range__sep {
    color: var(--necox-muted);
    font-size: 14px;
    flex-shrink: 0;
}

/* ── Checkbox Filtre ── */
.necox-filter-checkboxes {
    max-height: 200px;
    overflow-y: auto;
    padding-right: 4px;
}

.necox-filter-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    font-size: 13px;
    color: var(--necox-sr-filter-color, var(--necox-muted));
    cursor: pointer;
}

/* v7.14.10 — Filter sidebar custom checkbox (preset cascade).
   Native appearance kaldirildi, bg/border preset'e bagli kutu cizilir.
   Acik temalarda beyaz kutu + primary border, koyu temalarda transparent
   kutu + primary border (zeminle uyum). Check ikonu primary-fg. */
.necox-filter-check input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--necox-primary, #2A3254);
    border-radius: 4px;
    background: var(--necox-card-bg, transparent);
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.necox-filter-check input[type="checkbox"]:hover {
    border-color: var(--necox-primary-hover, var(--necox-primary, #2A3254));
}
.necox-filter-check input[type="checkbox"]:checked {
    background: var(--necox-primary, #2A3254);
    border-color: var(--necox-primary, #2A3254);
}
.necox-filter-check input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 0px;
    width: 5px;
    height: 10px;
    border: solid var(--necox-primary-fg, #fff);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.necox-filter-check input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--necox-primary-hover, var(--necox-primary, #2A3254));
    outline-offset: 2px;
}

.necox-filter-check--all {
    font-weight: 600;
    color: var(--necox-sr-accent, var(--necox-primary));
    padding-bottom: 6px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--necox-border);
}

/* ── Butonlar ── */
.necox-filter-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}

/* ── Sayfalama ── */
.necox-filter-pagination {
    display: flex;
    gap: 4px;
    justify-content: center;
    padding: 20px 0;
}

/* v7.3.1: .necox-filter-pagination__btn KULLANILMIYOR (gercek sayfalama
   .necox-pagination__link, pagination.css'te yonetiliyor). v7.3.0'da yazdigim
   bu blok bos kaldi, silindi. Sayfalama hover animasyonu pagination.css'e tasindi. */

/* ── Sonuc Sayisi ── */
.necox-filter-count {
    font-size: 13px;
    color: var(--necox-muted);
    margin-bottom: 16px;
}

.necox-filter-count strong {
    color: var(--necox-sr-filter-label, var(--necox-text));
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FILTRE BUTONLARI — TUM PRESETLERDE INVERT DAVRANIS (v7.2.6, 23 May 2026)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   Kullanici karari: 4 preset (ocean-deep, midnight-blue, editorial-light, super-light)
   ayni invert davranisi paylasir. Renkler her presetin kendi sr_filter_btn_color /
   sr_filter_btn_bg cascade'inden gelir.

   Filtrele Normal: border=accent (sr_filter_btn_color), bg=accent,                  metin=koyu (sr_filter_btn_bg)
   Filtrele Hover:  border=accent,                       bg=koyu (sr_filter_btn_bg), metin=accent
   Temizle  Normal: border=accent,                       bg=koyu,                    metin=accent (Filtrele hover)
   Temizle  Hover:  border=accent,                       bg=accent,                  metin=koyu   (Filtrele normal)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* v7.3.6: .necox-search__preview-link (Preset 2 "Ilana Git" butonu) Filtrele ile
   birebir ayni davranis. Tek-kaynak: ayni selector listesi, ayni cascade. */
.necox-filter-actions .necox-btn--primary,
.necox-btn.necox-search__preview-link {
    background: var(--necox-sr-filter-btn-color, var(--necox-btn-text, var(--necox-primary)));
    color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, #ffffff));
    border-color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, var(--necox-primary)));
}
.necox-filter-actions .necox-btn--primary:hover,
.necox-btn.necox-search__preview-link:hover {
    background: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
    color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, #ffffff));
    border-color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, var(--necox-primary)));
}
.necox-filter-actions .necox-btn--outline {
    background: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
    color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, var(--necox-primary)));
    border-color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, var(--necox-primary)));
}
.necox-filter-actions .necox-btn--outline:hover {
    background: var(--necox-sr-filter-btn-color, var(--necox-btn-text, var(--necox-primary)));
    color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, #ffffff));
    border-color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, var(--necox-primary)));
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ACIK TEMA OZEL DAVRANIS — Super Light + Editorial Light (v7.2.8, 23 May 2026)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   Kullanici karari: Acik tema presetlerinde filtrele/temizle butonlari farkli mantik.
   Filtrele Normal: border=koyu (sr_filter_btn_bg), bg=acik (sr_filter_btn_color), metin=koyu
   Filtrele Hover:  border=koyu,                    bg=koyu,                       metin=acik
   Temizle  Normal: border=koyu,                    bg=koyu,                       metin=acik (Filtrele hover)
   Temizle  Hover:  border=koyu,                    bg=acik,                       metin=koyu (Filtrele normal)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
body.necox-preset-super-light     .necox-filter-actions .necox-btn--primary,
body.necox-preset-editorial-light .necox-filter-actions .necox-btn--primary,
body.necox-preset-super-light     .necox-btn.necox-search__preview-link,
body.necox-preset-editorial-light .necox-btn.necox-search__preview-link {
    background: var(--necox-sr-filter-btn-color, var(--necox-btn-text, #ffffff));
    color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
    border-color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
}
body.necox-preset-super-light     .necox-filter-actions .necox-btn--primary:hover,
body.necox-preset-editorial-light .necox-filter-actions .necox-btn--primary:hover,
body.necox-preset-super-light     .necox-btn.necox-search__preview-link:hover,
body.necox-preset-editorial-light .necox-btn.necox-search__preview-link:hover {
    background: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
    color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, #ffffff));
    border-color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
}
body.necox-preset-super-light     .necox-filter-actions .necox-btn--outline,
body.necox-preset-editorial-light .necox-filter-actions .necox-btn--outline {
    background: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
    color: var(--necox-sr-filter-btn-color, var(--necox-btn-text, #ffffff));
    border-color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
}
body.necox-preset-super-light     .necox-filter-actions .necox-btn--outline:hover,
body.necox-preset-editorial-light .necox-filter-actions .necox-btn--outline:hover {
    background: var(--necox-sr-filter-btn-color, var(--necox-btn-text, #ffffff));
    color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
    border-color: var(--necox-sr-filter-btn-bg, var(--necox-btn-bg, var(--necox-primary)));
}

/* ── Arsiv 2 Kolon Layout (filtre + ilanlar) ── */
.necox-archive__content,
.necox-taxonomy__content {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
}

/* ── Loading ── */
.necox-filter-loading {
    text-align: center;
    padding: 40px;
    color: var(--necox-sr-filter-color, var(--necox-muted));
    font-size: 14px;
}

/* ── Mobil ── */
/* v6.3.0 — Eski .necox-filter-sidebar mobil drawer kodu kaldirildi.
   Mobil filtre paneli artik bagimsiz #necox-mfp-drawer sistemine devredildi
   (search-results.css icindeki MFP bloku). Sidebar JS ile drawer body'sine
   tasinir, position:static olarak cizilir. */
@media (max-width: 768px) {
    .necox-archive__content,
    .necox-taxonomy__content {
        grid-template-columns: 1fr;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* v5.13.0 — CF FILTER ALANLARI (Kategoriye gore)  */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Multiselect (Tip 1) */
.necox-filter-cf-multiselect {
    min-height: 80px;
    padding: 6px;
}

/* Checkbox / Radio listesi (Tip 9, 10, 21) */
.necox-filter-cf-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 200px;
    overflow-y: auto;
}

.necox-filter-cf-list__item {
    padding: 4px 0;
}

.necox-filter-cf-list__item.depth-1 { padding-left: 16px; }
.necox-filter-cf-list__item.depth-2 { padding-left: 32px; }
.necox-filter-cf-list__item.depth-3 { padding-left: 48px; }

.necox-filter-cf-list .necox-filter-check {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    color: var(--necox-sr-filter-color, var(--necox-text));
}

.necox-filter-cf-list .necox-filter-check input {
    margin: 0;
    flex-shrink: 0;
}

/* Renk swatches (Tip 6, 7) */
.necox-filter-cf-colors {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.necox-filter-cf-colors li {
    position: relative;
}

.necox-filter-cf-colors input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.necox-filter-cf-colors label {
    display: block;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    box-shadow: 0 0 0 1px var(--necox-border);
    transition: border-color 0.15s, transform 0.15s;
}

.necox-filter-cf-colors input:checked + label {
    border-color: var(--necox-sr-accent, var(--necox-primary));
    transform: scale(1.1);
}

.necox-filter-cf-colors label:hover {
    transform: scale(1.05);
}

/* Range alanlari (Tip 3 tarih, 4/8 numeric) — mevcut .necox-filter-range stilini kullanir */

/* CF group baslik bosluklari (form siklasmasi onu) */
.necox-filter-cf {
    margin-top: 12px;
}
.necox-filter-cf:first-child {
    margin-top: 0;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* v6.0.0 — ADIFIER BIREBIR CF FILTER STILLERI    */
/*                                                 */
/* Yeni HTML class'lari (Necox_Custom_Fields_Search) */
/* Adifier biribir uretiyor:                        */
/*   .filter-group .cf-field .type_X .cf_<slug>    */
/*   .styled-checkbox .styled-radio                 */
/*   .color-search                                  */
/*   .nested-select .cf-nested.depth_X              */
/*   .toggle-more-less .term-hidden .visible        */
/*   .cf-reset-filter                               */
/*   .list-unstyled                                 */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* CF group — Adifier .filter-group + .cf-field */
.necox-filter-form .filter-group {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--necox-border);
}

.necox-filter-form .filter-group:last-of-type {
    border-bottom: none;
    margin-bottom: 12px;
    padding-bottom: 0;
}

.necox-filter-form .filter-group > label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--necox-sr-filter-label, var(--necox-text));
    margin-bottom: 8px;
}

.necox-filter-form .filter-group > label.flex-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.necox-filter-form .filter-group .cf-reset-filter {
    color: var(--necox-muted);
    font-size: 16px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    font-weight: 400;
}

.necox-filter-form .filter-group .cf-reset-filter:hover {
    color: var(--necox-sr-accent, var(--necox-primary));
}

/* Select / multi-select — Adifier .select2-* class kullaniyor; biz native style veriyoruz */
.necox-filter-form .filter-group select.select2-multiple,
.necox-filter-form .filter-group select.select2-single,
.necox-filter-form .filter-group select.nested-select {
    width: 100%;
    padding: 9px 12px;
    font-size: 13px;
    border: 1.5px solid var(--necox-border);
    border-radius: 8px;
    background: var(--necox-sr-filter-bg, var(--necox-white));
    color: var(--necox-sr-filter-color, var(--necox-muted));
    outline: none;
}

.necox-filter-form .filter-group select.select2-multiple {
    min-height: 100px;
    padding: 6px;
}

/* Tip 5 nested - her seviye arasi gap */
.necox-filter-form .filter-group .cf-nested {
    margin-top: 10px;
}

.necox-filter-form .filter-group .cf-nested label {
    margin-bottom: 4px;
}

/* Range (Tip 3, 4, 8) — Adifier .date-range */
.necox-filter-form .filter-group .date-range {
    display: flex;
    align-items: center;
    gap: 8px;
}

.necox-filter-form .filter-group .date-range input {
    flex: 1;
    min-width: 0;
    padding: 9px 12px;
    font-size: 13px;
    border: 1.5px solid var(--necox-border);
    border-radius: 8px;
    background: var(--necox-sr-filter-bg, var(--necox-white));
    color: var(--necox-sr-filter-color, var(--necox-muted));
    outline: none;
}

/* Liste (Tip 9, 10, 21) — Adifier .list-unstyled */
.necox-filter-form .filter-group ul.list-unstyled {
    list-style: none;
    margin: 0;
    padding: 0;
}

.necox-filter-form .filter-group ul.list-unstyled li {
    padding: 4px 0;
}

/* Show More / Show Less — Adifier .term-hidden / .visible */
.necox-filter-form .filter-group ul.list-unstyled li.term-hidden {
    display: none;
}

.necox-filter-form .filter-group ul.list-unstyled li.term-hidden.visible {
    display: list-item;
}

.necox-filter-form .filter-group .toggle-more-less {
    display: inline-block;
    margin-top: 6px;
    font-size: 12px;
    color: var(--necox-sr-accent, var(--necox-primary));
    text-decoration: none;
    cursor: pointer;
}

.necox-filter-form .filter-group .toggle-more-less:hover {
    text-decoration: underline;
}

.necox-filter-form .filter-group .toggle-more-less.opened {
    /* yon ikonu CSS transform yerine PHP'de yon karakteriyle gosteriliyor */
}

/* Styled checkbox / radio — Adifier .styled-checkbox / .styled-radio */
.necox-filter-form .filter-group .styled-checkbox,
.necox-filter-form .filter-group .styled-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--necox-sr-filter-color, var(--necox-text));
    cursor: pointer;
}

.necox-filter-form .filter-group .styled-checkbox input,
.necox-filter-form .filter-group .styled-radio input {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--necox-sr-accent, var(--necox-primary));
    cursor: pointer;
    flex-shrink: 0;
}

.necox-filter-form .filter-group .styled-checkbox label,
.necox-filter-form .filter-group .styled-radio label {
    flex: 1;
    margin: 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: inherit;
}

/* Renk swatches — Adifier .color-search */
.necox-filter-form .filter-group ul.color-search {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.necox-filter-form .filter-group ul.color-search li {
    position: relative;
    padding: 0;
}

.necox-filter-form .filter-group ul.color-search input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.necox-filter-form .filter-group ul.color-search label {
    display: block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    box-shadow: 0 0 0 1px var(--necox-border);
    transition: border-color 0.15s, transform 0.15s;
    margin: 0;
}

.necox-filter-form .filter-group ul.color-search input:checked + label {
    border-color: var(--necox-sr-accent, var(--necox-primary));
    transform: scale(1.1);
}

.necox-filter-form .filter-group ul.color-search label:hover {
    transform: scale(1.05);
}

.necox-filter-form .filter-group ul.color-search li.colored-default label {
    background: #ffffff !important;
    box-shadow: 0 0 0 1px var(--necox-border);
}

/* ─────────────────────────────────────────────────────────────
 * Select2 v4.1.0 — Necox tema uyum override (v6.1.0)
 * Adifier birebir mantiginda Select2 widget'i .filter-group icinde
 * sidebar'in kendi tipografisi/renkleriyle uyumlu olmali.
 * Sade override — sadece kose, renk ve focus ring; geri kalan Select2'nin
 * varsayilanlari korunur. (K-137 — Adifier birebir uyarlama)
 * ───────────────────────────────────────────────────────────── */

.necox-filter-form .select2-container {
    width: 100% !important;
}

.necox-filter-form .select2-container--default .select2-selection--single,
.necox-filter-form .select2-container--default .select2-selection--multiple {
    background: var(--necox-input-bg, #fff);
    border: 1px solid var(--necox-border, #d1d5db);
    border-radius: var(--necox-input-radius, 6px);
    min-height: 38px;
}

.necox-filter-form .select2-container--default .select2-selection--single {
    height: 38px;
}

.necox-filter-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
    padding-left: 12px;
    color: var(--necox-text, inherit);
}

.necox-filter-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.necox-filter-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--necox-sr-accent-soft, rgba(99,102,241,0.1));
    border: 1px solid var(--necox-sr-accent, var(--necox-primary, #6366f1));
    color: var(--necox-sr-accent, var(--necox-primary, #6366f1));
    border-radius: 4px;
    padding: 2px 8px;
    margin-top: 5px;
}

.necox-filter-form .select2-container--default.select2-container--focus .select2-selection,
.necox-filter-form .select2-container--default .select2-selection:focus {
    border-color: var(--necox-sr-accent, var(--necox-primary, #6366f1));
    outline: none;
}

/* Dropdown panel */
.select2-dropdown {
    border: 1px solid var(--necox-border, #d1d5db);
    border-radius: var(--necox-input-radius, 6px);
    background: var(--necox-input-bg, #fff);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: var(--necox-sr-accent, var(--necox-primary, #6366f1));
    color: #fff;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--necox-border, #d1d5db);
    border-radius: 4px;
    padding: 6px 8px;
}
