/* Custom select + calendar (shared by site and admin). Colours come from each page's CSS variables. */
.ui-sel{position:relative;width:100%}
.ui-sel select{display:none}
.ui-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;cursor:pointer;transition:border-color .25s,background .25s;appearance:none;-webkit-appearance:none}
.ui-btn span.v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.ui-btn span.ph{color:var(--cash)}
.ui-btn svg{flex:none;width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.6;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ui-sel.open .ui-btn,.ui-dt.open .ui-btn{border-color:var(--gold)!important}
.ui-sel.open .ui-btn svg{transform:rotate(180deg)}
.ui-dt{position:relative;width:100%}
.ui-dt input{cursor:pointer;caret-color:transparent}
.ui-dt .ico{position:absolute;right:2px;top:50%;margin-top:-9px;width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.5;pointer-events:none;transition:transform .3s}
.ui-dt.open .ico{transform:scale(1.12)}

.ui-pop{position:absolute;z-index:200;min-width:220px;background:rgba(24,24,27,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(244,240,232,.1);box-shadow:0 28px 60px -12px rgba(0,0,0,.9),0 0 0 1px rgba(200,169,106,.06);color:var(--ivory);font:400 14px/20px var(--sans);letter-spacing:0;text-transform:none;opacity:0;transform:translateY(-8px) scale(.98);transform-origin:top center;pointer-events:none;transition:opacity .2s ease,transform .26s cubic-bezier(.2,.8,.2,1)}
.ui-pop.up{transform-origin:bottom center;transform:translateY(8px) scale(.98)}
.ui-pop.show{opacity:1;transform:none;pointer-events:auto}
.ui-pop::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}

/* list */
.ui-list{max-height:min(520px,60vh);overflow:auto;padding:6px 0;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.ui-opt{display:flex;align-items:center;gap:12px;padding:11px 18px;cursor:pointer;color:var(--ink2);position:relative;transition:background .15s,color .15s,padding .2s}
.ui-opt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .2s}
.ui-opt:hover,.ui-opt.hl{background:rgba(200,169,106,.09);color:var(--ivory);padding-left:22px}
.ui-opt.sel{color:var(--gold2,#e5c483)}
.ui-opt.sel::before{transform:scaleY(1)}
.ui-opt .ck{margin-left:auto;width:14px;height:14px;stroke:var(--gold);fill:none;stroke-width:2;opacity:0}
.ui-opt.sel .ck{opacity:1}
.ui-opt[aria-disabled=true]{opacity:.4;pointer-events:none}

/* calendar */
.cal{width:304px;padding:18px 18px 14px}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-h b{font:400 20px/26px var(--serif);color:var(--ivory);letter-spacing:0;text-transform:capitalize;display:block;transition:opacity .2s,transform .25s}
.cal-nav{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line2);color:var(--ivory);transition:all .2s;background:transparent;cursor:pointer}
.cal-nav:hover{border-color:var(--gold);color:var(--gold);background:rgba(200,169,106,.08)}
.cal-nav svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.cal-nav[disabled]{opacity:.3;pointer-events:none}
.cal-wd,.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-wd span{font:700 9px/22px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cash);text-align:center}
.cal-g{transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.2,1)}
.cal-g.out-l{opacity:0;transform:translateX(-14px)}.cal-g.out-r{opacity:0;transform:translateX(14px)}
.cal-d{aspect-ratio:1;display:grid;place-items:center;font:500 13px/1 var(--sans);color:var(--ink2);cursor:pointer;position:relative;transition:background .18s,color .18s,transform .18s;border:0;background:transparent}
.cal-d:hover{background:rgba(200,169,106,.14);color:var(--ivory);transform:scale(1.08)}
.cal-d.mut{color:var(--cash);opacity:.45}
.cal-d.today::after{content:"";position:absolute;inset:3px;border:1px solid rgba(200,169,106,.55);pointer-events:none}
.cal-d.sel{background:var(--gold);color:#261a00;font-weight:700}
.cal-d.sel::after{display:none}
.cal-d[disabled]{opacity:.22;pointer-events:none}
.cal-f{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.cal-f button{font:700 10px/16px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--cash);cursor:pointer;transition:color .2s;background:none;border:0}
.cal-f button:hover{color:var(--gold)}
.cal-t{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}
.cal-t .tt{display:flex;flex-direction:column;align-items:center}
.cal-t button{width:28px;height:18px;display:grid;place-items:center;color:var(--cash);cursor:pointer;background:none;border:0;transition:color .2s}
.cal-t button:hover{color:var(--gold)}
.cal-t button svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}
.cal-t b{font:400 26px/30px var(--serif);color:var(--ivory);min-width:42px;text-align:center}
.cal-t i{font:400 24px/30px var(--serif);color:var(--gold);font-style:normal}
@media (max-width:520px){.cal{width:min(304px,calc(100vw - 32px))}}
@media (prefers-reduced-motion:reduce){.ui-pop,.cal-g,.ui-opt{transition:none}}
