/* NovAsia custom select (progressive enhancement).
   The native <select> stays in the DOM and keeps the form value; this only
   replaces its *appearance* on pointer devices, because the native option
   popup is drawn by the OS and ignores CSS on macOS/iOS Safari.
   On touch devices we deliberately keep the native control — the iOS wheel
   picker is better UX than any custom list. */
.ns-select{position:relative;width:100%;}
.ns-select select.ns-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0;}
.ns-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;
  font-family:inherit;font-size:16px;line-height:1.25;text-align:left;cursor:pointer;
  padding:11px 13px;border:1px solid rgba(255,255,255,.18);border-radius:9px;
  background:rgba(0,0,0,.28);color:#eef3f6;}
.ns-btn::after{content:"";flex:0 0 auto;width:11px;height:7px;
  background:currentColor;color:#c9a24b;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
  transition:transform .18s;}
.ns-select.is-open .ns-btn::after{transform:rotate(180deg);}
.ns-btn:hover{border-color:rgba(201,162,75,.5);}
.ns-btn:focus-visible{outline:none;border-color:#c9a24b;box-shadow:0 0 0 3px rgba(201,162,75,.16);}
.ns-select.is-open .ns-btn{border-color:#c9a24b;}
.ns-list{position:absolute;z-index:60;top:calc(100% + 6px);left:0;right:0;margin:0;padding:5px;list-style:none;
  max-height:260px;overflow-y:auto;border:1px solid rgba(201,162,75,.35);border-radius:10px;
  background:#0b1219;box-shadow:0 14px 34px rgba(0,0,0,.5);}
.ns-list[hidden]{display:none;}
.ns-opt{padding:10px 12px;border-radius:7px;font-size:15px;line-height:1.3;color:#dbe3e8;cursor:pointer;}
.ns-opt[aria-selected="true"]{color:#e8c98a;font-weight:600;}
.ns-opt.is-active,.ns-opt:hover{background:rgba(201,162,75,.14);color:#fff;}
