/* city combobox rows */
.ui-city{justify-content:space-between;align-items:center}
.ui-city .nm{display:flex;flex-direction:column;min-width:0}
.ui-city b{font:600 14px/20px var(--sans);color:var(--ivory)}
.ui-city small{font:400 12px/16px var(--sans);color:var(--cash)}
.ui-city mark{background:none;color:var(--gold2,#e5c483)}
.ui-city em{font:700 10px/16px var(--sans);font-style:normal;letter-spacing:.16em;color:var(--gold);border:1px solid rgba(200,169,106,.4);padding:1px 8px;flex:none;transition:background .2s}
.ui-opt.hl em,.ui-opt:hover em{background:rgba(200,169,106,.14)}

/* validation */
.ui-err{display:flex;align-items:center;gap:8px;margin-top:8px;font:600 11px/16px var(--sans);letter-spacing:.06em;text-transform:none;color:var(--err,#ff9b8f);opacity:0;transform:translateY(-4px);transition:opacity .22s,transform .25s}
.ui-err.in{opacity:1;transform:none}
.ui-err svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round}
input.invalid,select.invalid,textarea.invalid,.ui-sel.invalid .ui-btn,.ui-dt.invalid input{border-color:var(--err,#ff9b8f)!important}
.shake{animation:ui-shake .38s cubic-bezier(.36,.07,.19,.97)}
@keyframes ui-shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}

/* remaining native bits */
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=file]{font:500 13px/20px var(--sans);color:var(--ink2);padding:6px!important;cursor:pointer}
input[type=file]::file-selector-button{margin-right:14px;padding:9px 16px;border:1px solid var(--line2);background:transparent;color:var(--ivory);font:700 11px/16px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s}
input[type=file]::file-selector-button:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,169,106,.08)}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill{-webkit-text-fill-color:var(--ivory);-webkit-box-shadow:0 0 0 1000px #161617 inset;caret-color:var(--ivory);transition:background-color 9999s}
textarea,.ui-list,.ui-pop{scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line2)}::-webkit-scrollbar-track{background:transparent}
.ui-pop .ui-list::-webkit-scrollbar{width:6px}

/* caret for city inputs */
.ui-cb{position:relative;width:100%}
.ui-cb input{padding-right:26px!important}
.ui-caret{position:absolute;right:2px;top:50%;margin-top:-8px;width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.6;pointer-events:none;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ui-cb.open .ui-caret{transform:rotate(180deg)}
.ui-cb.open input,.ui-cb.invalid input{border-color:var(--gold)}
.ui-cb.invalid input{border-color:var(--err,#ff9b8f)!important}

/* confirmation dialog */
.ui-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(6,6,7,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .22s}
.ui-modal.show{opacity:1}
.ui-dialog{position:relative;width:100%;max-width:440px;padding:34px 34px 28px;background:rgba(24,24,27,.97);border:1px solid rgba(244,240,232,.1);box-shadow:0 40px 90px -20px rgba(0,0,0,.95);text-align:center;transform:translateY(14px) scale(.97);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ui-modal.show .ui-dialog{transform:none}
.ui-dialog::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.ui-dialog.danger::before{background:linear-gradient(90deg,transparent,var(--err,#ff9b8f),transparent)}
.ui-dialog-ic{width:54px;height:54px;margin:0 auto 18px;display:grid;place-items:center;border:1px solid rgba(200,169,106,.45);border-radius:50%;color:var(--gold)}
.ui-dialog.danger .ui-dialog-ic{border-color:rgba(255,155,143,.5);color:var(--err,#ff9b8f)}
.ui-dialog-ic svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ui-dialog h3{font:400 24px/32px var(--serif);color:var(--ivory);letter-spacing:0;margin:0 0 10px}
.ui-dialog p{font:400 14px/22px var(--sans);color:var(--ink2,#b9b0a1);margin:0 0 26px}
.ui-dialog-act{display:flex;gap:12px;justify-content:center}
.ui-b{flex:1;max-width:190px;padding:13px 18px;font:700 11px/16px var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;transition:all .2s}
.ui-b.ghost{background:transparent;border-color:var(--line2);color:var(--ivory)}
.ui-b.ghost:hover{border-color:rgba(244,240,232,.45);background:rgba(244,240,232,.05)}
.ui-b.gold{background:var(--gold);color:#261a00}.ui-b.gold:hover{background:var(--gold2,#e5c483)}
.ui-b.red{background:rgba(255,155,143,.12);border-color:rgba(255,155,143,.55);color:var(--err,#ff9b8f)}.ui-b.red:hover{background:rgba(255,155,143,.22);border-color:var(--err,#ff9b8f)}
.ui-b:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
@media (max-width:480px){.ui-dialog{padding:28px 22px 22px}.ui-dialog-act{flex-direction:column-reverse}.ui-b{max-width:none}}
