.fulfillment-dialog { width:min(480px,calc(100% - 28px)); max-height:calc(100dvh - 28px); border:1px solid var(--line); border-radius:24px; padding:28px; background:var(--paper); color:var(--ink); box-shadow:var(--shadow); }
.fulfillment-dialog::backdrop { background:rgba(20,14,11,.56); backdrop-filter:blur(3px); }
.fulfillment-dialog h2 { margin:0 0 14px; font-size:clamp(1.3rem,5vw,1.9rem); line-height:1.15; overflow-wrap:anywhere; }
.fulfillment-dialog p { color:var(--muted); }
.fulfillment-dialog [role="status"] { min-height:1.5em; font-size:.9rem; }
.fulfillment-actions { display:flex; flex-wrap:wrap; gap:10px; }
.fulfillment-actions button,.fulfillment-open { min-height:44px; padding:12px 18px; border:1px solid var(--line); border-radius:15px; background:var(--cream); color:var(--ink); cursor:pointer; font-weight:750; }
.fulfillment-actions button { flex:1 1 140px; overflow-wrap:anywhere; }
.fulfillment-actions button:not(.fulfillment-secondary) { background:var(--red); border-color:var(--red); color:white; }
.fulfillment-actions button:disabled { opacity:.6; cursor:wait; }
.fulfillment-actions button:focus-visible,.fulfillment-open:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.fulfillment-open { margin:0 0 22px; font-size:.9rem; }
#menu-content.is-pricing-pending { visibility:hidden; }
#cart-items.is-pricing-pending .cart-line>b,#cart-items.is-pricing-pending .cart-promotion-prices { visibility:hidden; }
@media(max-width:300px) { .fulfillment-dialog { padding:18px; border-radius:18px; }.fulfillment-actions button { padding:10px; font-size:.85rem; } }
