/* BIV shared form fields — searchable dropdowns, phone, PIN code */
/* ===== v1.16 — modern fields, searchable dropdowns, phone & location ===== */
.bt-field label{text-transform:none}
.bt-field input,.bt-field textarea{background:#141414;border-color:rgba(255,255,255,.14)}
.bt-field input::placeholder,.bt-field textarea::placeholder{color:#5f5f5f}
.bt-field input:hover,.bt-field textarea:hover,.bs-btn:hover{border-color:rgba(255,255,255,.28)}
.bt-field .bt-hint{color:#7d7d7d;font-size:11.5px;line-height:1.45;min-height:16px;transition:color .2s}
.bt-field.has-error .bt-hint{color:#ff8a6b}
.bt-field.is-valid input[type=tel]{border-color:rgba(61,214,140,.55)}
.bt-sub{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin:8px 0 -2px;font:700 11px/1 "Manrope",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8f8f8f}
.bt-sub::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.08)}
.bt-field.is-filled input,.bt-field.is-filled .bs-btn{animation:btFill .9s ease}
@keyframes btFill{0%{box-shadow:0 0 0 0 rgba(61,214,140,0);border-color:rgba(61,214,140,.9)}35%{box-shadow:0 0 0 4px rgba(61,214,140,.18)}100%{box-shadow:0 0 0 0 rgba(61,214,140,0)}}
.bt-field.is-off{display:none}

/* searchable dropdown */
.bs{position:relative;width:100%;min-width:0}
.bs-native{position:absolute!important;inset:auto 0 0 0;width:1px!important;height:1px!important;opacity:0;pointer-events:none;border:0!important;padding:0!important}
.bs-btn{width:100%;height:48px;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#141414;color:#fff;font:500 15px "Manrope",sans-serif;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.bs-btn:focus-visible,.bs.is-open .bs-btn{outline:none;border-color:var(--orange,#ff9d00);box-shadow:0 0 0 3px rgba(255,157,0,.15)}
.bs-btn:disabled{opacity:.5;cursor:not-allowed}
.bs-val{flex:1;min-width:0;display:flex;align-items:center;gap:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-val.is-ph{color:#6a6a6a}
.bs-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bs-chev{flex:none;color:#8a8a8a;transition:transform .2s}
.bs.is-open .bs-chev{transform:rotate(180deg);color:var(--orange,#ff9d00)}
.bs-pop{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);min-width:260px;background:#191919;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 22px 50px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);overflow:hidden;animation:bsIn .16s ease-out;transform-origin:top}
.bs.bs-up .bs-pop{top:auto;bottom:calc(100% + 6px);transform-origin:bottom}
@keyframes bsIn{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.bs-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);color:#7b7b7b}
.bs-search input{flex:1;min-width:0;height:34px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#fff;font:500 14px "Manrope",sans-serif;outline:none}
.bs-list{list-style:none;margin:0;padding:6px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3a3a3a transparent}
.bs-list li{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:9px;font-size:14px;color:#dcdcdc;cursor:pointer}
.bs-list li em{margin-left:auto;font-style:normal;color:#7f7f7f;font-size:13px;font-variant-numeric:tabular-nums}
.bs-list li.is-act{background:rgba(255,157,0,.12);color:#fff}
.bs-list li.is-sel{color:var(--orange,#ff9d00);font-weight:700}
.bs-tick{flex:none;opacity:0;color:var(--orange,#ff9d00)}
.bs-list li em+.bs-tick{margin-left:6px}
.bs-list li:not(:has(em)) .bs-tick{margin-left:auto}
.bs-list li.is-sel .bs-tick{opacity:1}
.bs-list .bs-empty{justify-content:center;color:#777;cursor:default}
.bs-flag{flex:none;width:20px;height:15px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.bs-flag-txt{display:inline-flex;align-items:center;justify-content:center;width:22px;font:800 8.5px/1 "Manrope",sans-serif;background:#2a2a2a;color:#bbb}
.bt-field.has-error .bs-btn{border-color:#ff6a4d}

/* phone */
.bt-phone{display:flex;align-items:stretch;border-radius:12px;transition:box-shadow .2s}
.bt-phone .bs{width:auto;flex:none}
.bt-phone .bs-btn{width:112px;border-radius:12px 0 0 12px;border-right-color:rgba(255,255,255,.07);background:#1a1a1a;padding:0 10px 0 12px;font-variant-numeric:tabular-nums}
.bt-phone .bs-pop{width:320px;max-width:calc(100vw - 48px)}
.bt-phone input[type=tel]{flex:1;min-width:0;border-radius:0 12px 12px 0;margin-left:-1px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.bt-phone input[type=tel]:focus{position:relative;z-index:1}

/* PIN code */
.bt-input-ic{position:relative}
.bt-input-ic input{padding-right:42px;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.bt-pin-st{position:absolute;right:14px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;pointer-events:none}
[data-kind=pin].is-loading .bt-pin-st{border:2px solid rgba(255,157,0,.25);border-top-color:var(--orange,#ff9d00);animation:btSpin .7s linear infinite}
[data-kind=pin].is-valid .bt-pin-st{background:#3dd68c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-9' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
[data-kind=pin].is-valid input{border-color:rgba(61,214,140,.55)}
[data-kind=pin].is-bad .bt-hint{color:#ff8a6b}
@keyframes btSpin{to{transform:rotate(360deg)}}
.bt-pin-msg b{color:#3dd68c;font-weight:700;margin-right:6px}
.bt-pin-msg span{color:#7d7d7d}

@media (max-width:640px){
  .bs-pop{position:fixed;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;min-width:0;width:auto!important;max-width:none;border-radius:18px;animation:bsSheet .2s ease-out}
  .bs-list{max-height:min(52vh,380px)}
  .bs-list li{min-height:46px;font-size:15px}
  .bs-search input{font-size:16px}
  @keyframes bsSheet{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
  .bt-phone .bs-btn{width:104px}
}

/* Attend BIV enquiry popup */
.field .bt-phone .bs-btn,.field .bs-btn{height:54px;border-radius:13px;background:#111;border-color:rgba(255,255,255,.13);font-size:14px}
.field .bt-phone .bs-btn{border-radius:13px 0 0 13px;background:#161616}
.field .bt-phone input[type=tel]{border-radius:0 13px 13px 0}
.field .bf-hint{display:block;margin-top:7px;color:#7d7d7d;font-size:11.5px;line-height:1.45;min-height:16px}
.field.has-error input,.field.has-error textarea,.field.has-error .bs-btn{border-color:#ff6a4d}
.field.has-error label,.field.has-error .bf-hint{color:#ff8a6b}
.field.is-valid input[type=tel],.field[data-kind=pin].is-valid input{border-color:rgba(61,214,140,.55)}
.field[data-kind=pin].is-loading .bt-pin-st{border:2px solid rgba(255,157,0,.25);border-top-color:var(--orange,#ff9d00);animation:btSpin .7s linear infinite}
.field[data-kind=pin].is-valid .bt-pin-st{background:#3dd68c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-9' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.field[data-kind=pin].is-bad .bf-hint{color:#ff8a6b}
.field .bf-hint b{color:#3dd68c;font-weight:700;margin-right:6px}
.field.is-filled input,.field.is-filled .bs-btn{animation:btFill .9s ease}
.field[hidden]{display:none}
