body .filter-select { position:relative; margin-top:6px; }
body .filter-select-trigger { width:100%; min-height:44px; text-align:left; padding:11px 34px 11px 12px; border:1px solid #dce5ec; border-radius:10px; background:#fff; color:#344552; font-size:14px; font-weight:500; position:relative; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body .filter-select-trigger::after { content:''; position:absolute; right:14px; top:17px; width:6px; height:6px; border-right:1.5px solid #758794; border-bottom:1.5px solid #758794; transform:rotate(45deg); }
body .filter-select-trigger[aria-expanded=true] { border-color:#77adbc; box-shadow:0 0 0 3px #166d8310; }
body .filter-select-menu { position:absolute; z-index:30; left:0; top:calc(100% + 8px); width:100%; min-width:0; background:white; border:1px solid #dce5ec; border-radius:12px; padding:8px; box-shadow:0 10px 30px #203b5026; }
body .filter-select-menu input { width:100%; margin:0 0 6px; min-height:40px; font-size:14px; }
body .filter-select-menu [role=listbox] { max-height:230px; overflow-y:auto; }
body .filter-select-menu [role=option] { display:block; width:100%; text-align:left; padding:10px 12px; background:white; color:#344552; border-radius:7px; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
body .filter-select-menu [role=option]:hover,body .filter-select-menu [role=option]:focus { background:#f0f6f8; }
body .filter-select-menu [aria-selected=true] { background:#e5f2f5; color:#166d83; font-weight:700; }
body .filter-select-menu p { font-size:12px; color:var(--muted); padding:8px; }
body .filter-select-menu[hidden],body select[hidden] { display:none !important; }
@media(max-width:768px) { body .filter-select-trigger,body .filter-select-menu input { font-size:16px; } }

body .filter-select { min-width:0; max-width:100%; }
body .filter-select-trigger { display:flex; justify-content:flex-start; min-width:0; max-width:100%; }
body .filter-select-value { display:block; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }

/* Reserve the arrow area and truncate the label independently of button layout. */
body .filter-select button.filter-select-trigger { display:block; text-align:left; padding-right:36px; }
body .filter-select .filter-select-trigger .filter-select-value { width:100%; max-width:100%; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }
body .filter-select button.filter-select-trigger .filter-select-value { display:block !important; width:100% !important; min-width:0 !important; max-width:100% !important; overflow:hidden !important; white-space:nowrap !important; text-overflow:ellipsis !important; text-align:left !important; }
body form[method="get" i] label { min-width:0; max-width:100%; }
body .filter-select { width:100%; }
