/* Shared by customer forms and staff dialogs; panels float without changing layout. */
.qp-select{position:relative;min-width:0;width:100%}
.qp-select>select[data-dropdown-native]{display:none!important}
.qp-select .qp-select-trigger{position:static;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid #cfc6b8;border-radius:4px;background:#fff;color:var(--ink,#302d28);font:400 16px/1.4 var(--sans,Arial,sans-serif);letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;cursor:pointer}
.qp-select-value{min-width:0;overflow-wrap:anywhere}
.qp-select-arrow{width:8px;height:8px;border-right:1.5px solid var(--wine,#793344);border-bottom:1.5px solid var(--wine,#793344);transform:rotate(45deg);flex:0 0 8px;margin-right:3px;margin-top:-4px;transition:transform 200ms cubic-bezier(.16,1,.3,1)}
.qp-select-trigger[aria-expanded=true] .qp-select-arrow{transform:rotate(225deg)}
.qp-select .qp-select-trigger:disabled{opacity:.5;cursor:not-allowed}
.qp-select .qp-select-trigger[aria-invalid=true]{border-color:#a53c38}
.qp-select .qp-select-trigger:focus-visible{outline:3px solid #b89b6a;outline-offset:2px}
/* Fit the longest option at every screen size; dropdowns.js supplies the button minimum and visible viewport cap. */
.qp-select-panel{position:fixed;inset:auto;display:block;box-sizing:border-box;margin:0;padding:0;z-index:1001;width:max-content;max-width:calc(100vw - 24px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #c5b6ac;border-radius:10px;background:#fff;color:var(--ink,#302d28);box-shadow:0 12px 32px #302d2826;scrollbar-gutter:stable}
.qp-select-panel [role=option]{position:static;display:block;box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:12px 14px;border:0;border-radius:0;border-bottom:1px solid #eee7dd;background:#fff;color:var(--ink,#302d28);font:400 15px/1.45 var(--sans,Arial,sans-serif);letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.qp-select-panel [role=option]:hover{background:#f5e8e7;color:var(--wine-dark,#51202e)}
.qp-select-panel [role=option]:disabled{opacity:.45;cursor:not-allowed}
.qp-select-panel .qp-select-group{position:sticky;top:0;z-index:1;padding:10px 14px;background:var(--wine,#793344);font:700 14px/1.4 var(--sans,Arial,sans-serif);color:#fff;border-bottom:2px solid #51202e}
.qp-select-range{display:block;margin-top:3px;font-size:12px;font-weight:400;line-height:1.4}
.qp-select-panel.is-time [role=option]{font-size:16px;font-variant-numeric:tabular-nums;border-bottom-color:#d8ccc5}
.qp-select-panel.is-time .is-hour{border-top:2px solid #d8ccc5}
.qp-select-panel.is-time .is-half-hour{background:#f4efeb}
.qp-select-panel.is-time [role=option]:hover{background:#eadbd5}
.qp-select-panel [role=option][aria-selected=true]{background:var(--wine,#793344);color:#fff;font-weight:600}
.qp-select-panel .qp-select-empty{margin:0;padding:14px;font:400 14px/1.5 var(--sans,Arial,sans-serif);color:var(--ink,#302d28)}
.dish-picker .dish-picker-panel{border-radius:10px;box-shadow:0 12px 32px #302d2826}
.dish-picker .dish-picker-count{background:var(--wine,#793344);color:#fff;font:600 14px/1.4 var(--sans,Arial,sans-serif);border-bottom:2px solid #51202e}
.dish-picker [role=option]{font:400 15px/1.45 var(--sans,Arial,sans-serif);padding:12px 14px}
.dish-picker [role=option][aria-selected=true]{background:var(--wine,#793344);color:#fff;font-weight:600}
@media(max-width:720px){.qp-select-panel [role=option]{font-size:16px}}
@media(prefers-reduced-motion:reduce){.qp-select-arrow{transition:none}}
@media(forced-colors:active){.qp-select-trigger,.qp-select-panel{border-color:ButtonText}.qp-select-panel [role=option][aria-selected=true]{outline:2px solid Highlight;outline-offset:-2px}}
@media print{.qp-select-panel{display:none!important}}
