/* =====================================================================
   ORTAK AÇILIR MENÜ (assets/js/select.js, select[data-ip-select]) — "ips-" önekli.
   Native select yerinde ve görünmez kalır; düğme + liste kutusu kategori sıralama menüsünün dilini izler.
   Sayfa bağlamı yalnız değişkenlerle ayarlanır: --ips-h, --ips-fs, --ips-bg, --ips-fg, --ips-border, --ips-hover, --ips-ph, --ips-chev.
   .ips-pop / .ips-search / .ips-q / .ips-empty yalnız data-ip-search menülerinde oluşur (diğer menüler değişmez).
   Seçiciler sayfa CSS'indeki "form select / span / button" kurallarından etkilenmeyecek özgüllükte (.ips .ips-*).
   ===================================================================== */
.ips{position:relative;min-width:0;width:100%}
.ips>.ips-native{position:absolute;left:0;top:0;width:1px;height:1px;padding:0;margin:0;border:0;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0 0 0 0)}
.ips .ips-btn{width:100%;height:var(--ips-h,46px);display:flex;align-items:center;gap:8px;padding:0 12px;margin:0;border:1px solid var(--ips-border,var(--line));border-radius:4px;background:var(--ips-bg,#fff);color:var(--ips-fg,var(--ink));font:inherit;font-size:var(--ips-fs,14px);font-weight:500;line-height:1.2;text-align:left;letter-spacing:normal;text-transform:none;cursor:pointer;transition:border-color .15s}
.ips .ips-btn:hover,.ips .ips-btn[aria-expanded="true"]{border-color:var(--ips-hover,var(--ink))}
.ips .ips-btn:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.ips .ips-btn:disabled{opacity:.5;cursor:not-allowed}
.ips .ips-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ips .ips-pre{flex:none;margin:0;font-family:'Azeret Mono',monospace;font-size:10px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ips .ips-val{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.ips .ips-btn.ph .ips-val{color:var(--ips-ph,var(--muted))}
.ips .ips-btn svg{position:static;flex:none;margin-left:auto;color:var(--ips-chev,var(--muted));transition:transform .2s}
.ips .ips-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
/* liste: beyaz menü, ince kenarlık, hafif gölge; gerekirse kendi içinde kayar (yükseklik/yön JS ile ekranda tutulur) */
.ips .ips-list{position:absolute;left:0;top:calc(100% + 4px);z-index:25;min-width:100%;width:max-content;max-width:min(360px,calc(100vw - 16px));max-height:320px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 28px rgba(11,12,14,.12);color:var(--ink);text-align:left}
.ips .ips-list.up{top:auto;bottom:calc(100% + 4px)}
.ips .ips-list[hidden]{display:none}
.ips .ips-list:focus{outline:none}
.ips .ips-list:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.ips .ips-opt{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:3px;font-size:14px;font-weight:400;line-height:1.3;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}
.ips .ips-opt:hover,.ips .ips-opt.act{background:var(--paper)}
.ips .ips-opt.act{outline:1px solid var(--steel);outline-offset:-1px}
.ips .ips-opt[aria-selected="true"]{background:var(--paper2);color:var(--graphite);font-weight:600;box-shadow:inset 2px 0 0 var(--red)}
.ips .ips-opt[aria-disabled="true"]{color:var(--faint);cursor:default;background:none;outline:0}
.ips .ips-opt[hidden]{display:none}
/* arama kutulu panel (select[data-ip-search]): aynı beyaz menü, alan genişliğinde; arama kutusu üstte sabit, liste kendi içinde kayar */
.ips .ips-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:25;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 28px rgba(11,12,14,.12);color:var(--ink);text-align:left;overflow:hidden}
.ips .ips-pop.up{top:auto;bottom:calc(100% + 4px)}
.ips .ips-pop[hidden]{display:none}
.ips .ips-pop .ips-list{position:static;width:auto;min-width:0;max-width:none;border:0;border-radius:0;box-shadow:none}
.ips .ips-search{position:relative;flex:none;padding:6px;border-bottom:1px solid var(--line)}
.ips .ips-search svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.ips .ips-q{width:100%;height:40px;margin:0;padding:0 10px 0 36px;border:1px solid transparent;border-radius:3px;background:var(--paper);color:var(--ink);font:inherit;font-size:var(--ips-fs,14px);-webkit-appearance:none;appearance:none}
.ips .ips-q:focus{outline:none;border-color:var(--ink);background:#fff}
.ips .ips-q::-webkit-search-cancel-button{cursor:pointer}
.ips .ips-empty{margin:0;padding:14px 12px;font-size:14px;color:var(--muted)}
.ips .ips-empty[hidden]{display:none}
