/* Global Custom Select styles (site-wide) */
.cs-select{ position:relative; }
.cs-control{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  border:1px solid #e2e8f0; background:linear-gradient(180deg,#fff,#fbfdff);
  color:#0f172a; border-radius:12px; padding:.6rem .9rem; text-align:left;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.cs-control:focus{ border-color:#0ea5e9; box-shadow: 0 0 0 3px rgba(14,165,233,.18); outline: none; }
.cs-control::after{
  content:""; width:0;height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid #94a3b8; margin-left:8px;
}
.cs-value{ flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cs-menu{ position:absolute; left:0; right:0; top:calc(100% + 6px); background:#fff; border:1px solid #e2e8f0; border-radius:12px; box-shadow: 0 6px 18px rgba(15,23,42,.08); display:none; z-index:9999; }
.cs-menu.cs-portal{ position: fixed; left: 0; top: 0; z-index: 2147483647; } /* portal to body with highest z-index */
.cs-menu{ overflow:hidden; }
.cs-options{ padding:6px 6px 10px; }
.cs-option{ line-height:1.2; }
.cs-option + .cs-option{ margin-top:4px; }

/* Location dropdown polish */
#savedLocationsSelect + .cs-select .cs-control{ background:linear-gradient(180deg,#fff,#f7fbff); }
#savedLocationsSelect + .cs-select .cs-option{ padding:10px 12px; }
.cs-menu.open{ display:block; }
.cs-search{ padding:6px 6px 0; }
.cs-search .form-control{ border-radius:10px; }
.cs-options{ list-style:none; margin:0; padding:6px; max-height:280px; overflow:auto }
.cs-option{ padding:8px 10px; border-radius:8px; cursor:pointer; display:flex; align-items:center; }
.cs-option:hover{ background: rgba(125, 211, 252, .12) }
.cs-option.is-selected{ background: rgba(14,165,233,.06); border:1px solid rgba(14,165,233,.3) }
