/* Pickup ordering shares the café's warm surfaces and keeps every control explicit. */
.drink-dialog>.dialog-close{position:sticky;top:15px;right:auto;display:flex;align-items:center;justify-content:center;margin:15px 15px -55px auto;min-width:40px;min-height:40px;z-index:5}
.drink-dialog h2,.cart-dialog h2,.cart-dialog h3{font-family:var(--sans);font-weight:600}
.product-order-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:23px 0}
.product-order-options:empty{display:none}
.product-order-options label,.cart-item-options label{font-size:10px;line-height:1.6;color:var(--muted)}
.product-order-options select,.cart-item-options select,.pickup-form select{appearance:auto;display:block;width:100%;min-height:43px;background:#221c17;color:#f0e5d5;border:1px solid #d7b88d42;border-radius:9px;padding:10px 12px;font:12px var(--sans);margin-top:6px}
.product-order-options select:focus-visible,.cart-item-options select:focus-visible,.pickup-form select:focus-visible{outline:2px solid #d7b88d;outline-offset:3px}
.product-order-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.product-order-actions>.button{flex:1;min-width:180px;font-size:11px;gap:12px;min-height:47px;padding:14px}
.quantity-control{display:inline-flex;align-items:center;height:43px;border:1px solid #d7b88d45;border-radius:10px;overflow:hidden;background:#211a15}
.quantity-control button{background:none;color:var(--text);border:0;min-width:39px;height:43px;font-size:20px;cursor:pointer}
.quantity-control button:hover{background:#cfac7621}.quantity-control button:disabled{opacity:.3;cursor:default}
.quantity-control output{min-width:25px;text-align:center;font:12px var(--mono)}
.product-order-note{color:var(--muted);font-size:10px!important;line-height:1.7!important;margin:12px 0 23px}
.menu-add-order{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;padding:11px 14px;margin-top:10px;border:1px solid #d7b88d40;border-radius:9px;color:#e9d8bf;background:linear-gradient(130deg,#d7b88d18,#d7b88d05);font:12px var(--sans);transition:background .2s,border-color .2s}
.menu-add-order:hover{background:#d7b88d28;border-color:#d7b88d7a}.menu-add-order>span{font-size:20px}
.visit-add-order{margin-top:24px;width:100%;justify-content:space-between;font-size:12px}
.cart-dialog{width:min(1080px,calc(100vw - 40px));max-width:none;max-height:calc(100svh - 48px);margin:auto;padding:0;border:1px solid #dbbd9345;border-radius:22px;overflow:auto;background:#251e18;color:#eee5d8;box-shadow:0 30px 100px #0007}
.cart-dialog::backdrop{background:#0b0806b8;backdrop-filter:blur(9px)}
.cart-dialog [hidden]{display:none!important}
.cart-limit-note{font-size:12px;line-height:1.8;color:#edcba5;padding:16px 25px;margin:20px 30px 0;border:1px solid #cead7950;border-radius:10px;background:#cfab7210}
.cart-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 34px 25px;border-bottom:1px solid #dbc3a324;position:sticky;top:0;background:#251e18f7;z-index:3}
.cart-heading .eyebrow{font-size:8px;color:var(--accent);margin-bottom:12px}
.cart-heading h2{font-size:33px;line-height:1.15;letter-spacing:-.045em}
.cart-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;border-radius:50%;border:1px solid #dfc3a14a;background:#d7b88d0d;color:var(--text);font-size:27px;line-height:1}
.cart-close:hover{background:#d7b88d28}
.cart-layout{display:grid;grid-template-columns:1.12fr 1fr;min-height:370px}
.cart-items-column{padding:5px 30px 25px}
.cart-item{display:grid;grid-template-columns:85px minmax(0,1fr);gap:19px;padding:24px 0;border-bottom:1px solid #dbc3a31f}
.cart-item:last-child{border-bottom:0}
.cart-item>img{width:85px;height:105px;border-radius:9px;object-fit:cover;object-position:var(--photo-focus,50% 50%);padding:0}
.cart-item-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cart-item-title h3{font-size:17px;line-height:1.35;letter-spacing:-.025em}
.cart-item-title strong{font:11px var(--mono);color:#d7b88d;white-space:nowrap}
.cart-item-options{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.cart-item-options label{flex:1;min-width:100px;font-size:9px}
.cart-item-options select{min-height:36px;font-size:10px;padding:6px 8px}
.cart-item-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}
.cart-item-controls .quantity-control{height:35px;border-radius:8px}
.cart-item-controls .quantity-control button{height:35px;min-width:32px;font-size:18px}
.cart-remove{border:0;border-bottom:1px solid #bea58650;background:none;padding:4px 0;color:var(--muted);font:10px var(--sans)}
.cart-remove:hover{color:var(--text)}
.pickup-form{background:#30271f;border-left:1px solid #d8bb9424;padding:30px}
.pickup-form>.eyebrow{font-size:8px;color:var(--accent);margin-bottom:24px}
.pickup-place{margin-bottom:27px}.pickup-place strong{font-size:16px;font-weight:500}
.pickup-place p{font-size:12px;line-height:1.85;color:var(--muted);margin-top:8px}
.pickup-slot-label{font-size:12px;line-height:1.6}
.pickup-form select{min-height:47px;font-size:12px;margin-top:10px}
.pickup-form select:disabled{opacity:.5}
.pickup-service-message{font-size:11px;line-height:1.8;color:var(--muted);margin-top:13px}
.pickup-service-message.is-unavailable{padding:13px 15px;border:1px solid #cfaa7733;border-radius:9px;color:#e4cba9;background:#c9a4780c}
.cart-total{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ddc7a930;padding-top:24px;margin-top:28px}
.cart-total>span{font-size:13px}.cart-total>strong{font-size:27px;font-weight:500;letter-spacing:-.04em}
.checkout-description,.cart-terms{font-size:11px;color:var(--muted);line-height:1.85;margin-top:15px}
.checkout-button{width:100%;min-height:51px;justify-content:space-between;font-size:12px;margin-top:22px}
.checkout-button:disabled{opacity:.4;cursor:not-allowed;translate:none;box-shadow:none}
.checkout-button:disabled:before{display:none}
.checkout-error{font-size:12px;line-height:1.8;color:#f0bba3;margin-top:12px}
.checkout-error:empty{display:none}
.cart-terms{font-size:10px;margin-top:19px}
.cart-empty{text-align:center;padding:55px 20px;max-width:480px;margin:auto}
.cart-empty>span{font-size:36px;display:block;margin-bottom:22px}
.cart-empty h3{font-size:27px;letter-spacing:-.04em;line-height:1.25}
.cart-empty p{font-size:13px;line-height:1.85;color:var(--muted);margin:17px 0 27px}
.cart-empty .button{font-size:12px}
.cart-dialog.is-empty .cart-layout{grid-template-columns:1fr}
.cart-toast{position:fixed;left:50%;bottom:28px;z-index:1200;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#dbc09b;color:#251b11;border:1px solid #f3ddbb;border-radius:12px;padding:14px 22px;font:12px/1.6 var(--sans);box-shadow:0 10px 35px #0004;transition:opacity .2s,transform .2s;max-width:calc(100vw - 40px);text-align:center}
.cart-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.floating-cart{position:fixed;right:25px;bottom:25px;z-index:90;display:flex;align-items:center;gap:16px;padding:15px 20px;border:1px solid #f0d5ae66;border-radius:40px;background:#d1ae7e;color:#251b12;font:12px var(--sans);box-shadow:0 9px 28px #0004}
.floating-cart>span{border-radius:50%;background:#302217;color:#f4e4c9;min-width:24px;height:24px;display:grid;place-items:center}
.order-status{margin:25px 30px 0;padding:23px;border:1px solid #d7b88d44;border-radius:13px;background:#d7b88d0c}
.order-status h3{font-size:23px;line-height:1.3;letter-spacing:-.03em}
.order-status p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:12px}
.order-status .order-status-meta{font:10px/1.8 var(--mono);color:#debf96;overflow-wrap:anywhere}
.order-status.is-confirmed{border-color:#a8bf8c60;background:#a8bf8c0c}
.order-recheck{min-height:42px;font-size:11px;margin-top:19px}
@media(max-width:780px){.cart-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px);border-radius:17px}.cart-heading{padding:23px}.cart-heading h2{font-size:27px}.cart-layout{grid-template-columns:1fr}.cart-items-column{padding:0 23px 12px}.pickup-form{border-left:0;border-top:1px solid #d8bb9424;padding:26px 23px}.cart-item{padding:21px 0}.cart-item>img{width:76px;height:100px}.cart-item{grid-template-columns:76px minmax(0,1fr);gap:15px}.cart-item-title h3{font-size:16px}.order-status{margin:20px 22px 0;padding:19px}.cart-toast{bottom:20px}.product-order-options{gap:10px}}
@media(max-width:400px){.cart-heading{padding:21px 18px}.cart-heading h2{font-size:24px}.cart-item-title{align-items:flex-start}.cart-item-title h3{font-size:15px}.cart-item{grid-template-columns:63px minmax(0,1fr);gap:13px}.cart-item>img{width:63px;height:89px}.cart-items-column{padding-inline:18px}.pickup-form{padding:25px 19px}.product-order-actions{gap:10px}.product-order-actions>.button{font-size:10px;min-width:170px}.quantity-control button{min-width:32px}}
@media(max-width:640px){.product-order-options select,.cart-item-options select,.pickup-form select{font-size:16px;min-height:44px}.cart-item-options label{min-width:120px}}
/* Staff tools are separate from the customer navigation. */
.staff-page{padding:0;min-height:100svh;background:#1c1713;color:#eee5d8}
.staff-header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 5vw;border-bottom:1px solid #cbb18e30}
.staff-header>a{font-size:28px;letter-spacing:-.07em}.staff-header>span{font:9px var(--mono);letter-spacing:.14em;color:var(--accent)}
.staff-main{max-width:1400px;margin:auto;padding:55px 5vw}
.staff-intro{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;margin-bottom:35px}
.staff-intro h1{font-size:clamp(36px,5vw,63px);letter-spacing:-.06em;line-height:1.1}
.staff-intro p{color:var(--muted);font-size:13px;line-height:1.8;margin-top:14px}
.staff-login{max-width:470px;margin:45px auto;padding:35px;border:1px solid #d2b48b36;border-radius:18px;background:#d2b48b09}
.staff-login h2{font-size:28px;letter-spacing:-.04em;margin-bottom:18px}
.staff-login p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:25px}
.staff-login label{font-size:12px}
.staff-login input{display:block;width:100%;margin-top:10px;padding:14px;background:#221b16;border:1px solid #d2b48b50;border-radius:9px;color:var(--text);font:13px var(--sans)}
.staff-login .button{width:100%;justify-content:space-between;margin-top:20px;font-size:12px}
.staff-controls{display:flex;gap:10px;flex-wrap:wrap}.staff-controls button{font-size:11px;min-height:42px}
.staff-status{font-size:12px;color:var(--muted);min-height:22px;margin-bottom:23px;line-height:1.8}
.staff-queue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.staff-order{border:1px solid #d2b48b38;border-radius:15px;background:#30261d;padding:25px}
.staff-order-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.staff-order h2{font-size:18px;line-height:1.4;overflow-wrap:anywhere;min-width:0}
.staff-order-badge{font:9px var(--mono);padding:6px 9px;border-radius:30px;background:#d2b48b20;color:#e4c69e}
.staff-order-meta{color:var(--muted);font-size:11px;line-height:1.8;margin:15px 0}
.staff-order ul{list-style:none;padding:16px 0;margin:0;border-block:1px solid #d2b48b24}
.staff-order li{font-size:13px;line-height:1.8;margin-bottom:12px}.staff-order li:last-child{margin-bottom:0}
.staff-order li small{display:block;font-size:10px;color:var(--muted)}
.staff-order .button{width:100%;justify-content:space-between;margin-top:20px;font-size:11px}
.staff-order.attention{border-color:#e9af725e}.staff-attention{font-size:11px;color:#efbc90;line-height:1.8;margin-top:13px}
.staff-empty{padding:60px 20px;text-align:center;border:1px dashed #d2b48b45;border-radius:15px;font-size:15px;color:var(--muted);grid-column:1/-1}
.staff-page [hidden]{display:none!important}
@media(max-width:1050px){.staff-queue{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.staff-queue{grid-template-columns:1fr}.staff-intro{align-items:flex-start;flex-direction:column}.staff-main{padding:35px 22px}.staff-header{padding:23px}.staff-login{padding:26px}.staff-order{padding:23px}}
@media(max-width:650px){.staff-login input{font-size:16px}}

