/* Stepfox Food Delivery · sfd-cart.css (P-CART) · ceiling 30 lines (SPEC §3.1, §4.1): drawer body scroll, cart lines (+ the line-name edit button reset), totals dl, fee progress bar, cart button/bar mechanics (bar fixed at var(--sfd-bottom-offset), hidden above 1024 px unless desktop:"show"; its in-flow space twin keeps the page end clear of it), checkout gate, order-time picker, conflict dialog. Mechanics and token reads only; state rules reassign custom properties; no priority flags. */
.sfd-cart-drawer[open]{display:flex;flex-direction:column;overflow:hidden}.sfd-cart-drawer__body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.sfd-cart-drawer__offline{display:grid;justify-items:center;gap:.25rem;padding:1rem;text-align:center;background:var(--sfd-surface-2)}.sfd-cart-drawer__offline p{margin:0}.sfd-cart-drawer__offline-title{font-weight:var(--wp--custom--sfd--strong,700)}
.sfd-cart-lines{margin:0;padding:0;list-style:none}.sfd-cart-lines .sfd-field__edit{appearance:none;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.sfd-totals{margin:0}.sfd-totals dd{margin:0;text-align:end;font-variant-numeric:var(--sfd-nums,tabular-nums)}
.sfd-totals__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sfd-totals dt{position:relative;display:inline-flex;align-items:center}
.sfd-totals__row--total{font-weight:var(--wp--custom--sfd--strong,700);font-size:var(--wp--preset--font-size--medium,1.125rem)}
.sfd-info,.sfd-checkout-button__action,.sfd-slot-picker__toggle{appearance:none;display:inline-flex;align-items:center;gap:.5rem;min-width:44px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.sfd-info{justify-content:center;margin-block:-.5rem;color:var(--sfd-muted)}.sfd-info__pop{position:absolute;inset:auto auto calc(100% + .25rem) 0;z-index:2;width:max-content;max-width:var(--sfd-info-w,16rem);padding:.5rem .75rem;border-radius:var(--sfd-radius-sm);background:var(--sfd-night);color:var(--sfd-on-night);box-shadow:var(--sfd-shadow-pop);font-size:var(--wp--preset--font-size--small,.875rem)}
.sfd-fee-progress__text{margin:0 0 .5rem}.sfd-fee-progress__bar{height:var(--sfd-progress-h,.375rem);overflow:hidden;border-radius:var(--sfd-radius-pill);background:var(--sfd-surface-3)}
.sfd-fee-progress__bar>span{display:block;height:100%;border-radius:inherit;background:var(--sfd-progress-fill,var(--sfd-accent));transition:width var(--sfd-dur-3) var(--sfd-ease)}.sfd-fee-progress.is-done{--sfd-progress-fill:var(--sfd-success)}
.sfd-cart-button{display:inline-flex;align-items:center;gap:.5rem;min-width:44px;min-height:44px;color:inherit;text-decoration:none;font-variant-numeric:var(--sfd-nums,tabular-nums)}
.sfd-cart-button__count,.sfd-cart-bar__count{display:inline-grid;place-items:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;border-radius:var(--sfd-radius-pill);background:var(--sfd-badge-bg,var(--sfd-accent));color:var(--sfd-badge-fg,var(--sfd-on-accent));font-size:var(--wp--preset--font-size--x-small,.75rem);font-weight:var(--wp--custom--sfd--strong,700)}
.sfd-cart-button.is-empty .sfd-cart-button__count,.sfd-cart-button.is-empty .sfd-cart-button__total{display:none}.sfd-cart-button__count.is-bumped,.sfd-cart-bar__count.is-bumped{animation:sfd-bump var(--sfd-dur-3) var(--sfd-spring)}@keyframes sfd-bump{40%{transform:scale(1.3)}}
@media (max-width:768px){.sfd-cart-button--total-desktop .sfd-cart-button__total{display:none}}
.sfd-cart-bar{position:fixed;inset:auto 0 var(--sfd-bottom-offset);z-index:90;padding:.75rem 1rem;pointer-events:none;transition:transform var(--sfd-dur-4) var(--sfd-spring),visibility 0s}
.sfd-cart-bar.is-empty{transform:translateY(calc(100% + var(--sfd-bottom-offset)));visibility:hidden;transition:transform var(--sfd-dur-3) var(--sfd-ease),visibility 0s var(--sfd-dur-3)}.sfd-cart-bar.is-editor-preview{position:static;transform:none;visibility:visible}.sfd-cart-bar-space{height:var(--sfd-cart-bar-space,calc(44px + 3rem))}.sfd-cart-bar.is-empty+.sfd-cart-bar-space{display:none}
.sfd-cart-bar__button{display:flex;align-items:center;gap:.75rem;max-width:var(--sfd-cart-bar-w,40rem);min-height:44px;margin:0 auto;padding:.75rem 1rem;border-radius:var(--sfd-radius-pill);background:var(--sfd-accent);color:var(--sfd-on-accent);box-shadow:var(--sfd-shadow-float);text-decoration:none;font-weight:var(--wp--custom--sfd--strong,700);font-variant-numeric:var(--sfd-nums,tabular-nums);pointer-events:auto}
.sfd-cart-bar__count{--sfd-badge-bg:var(--sfd-accent-deep)}.sfd-cart-bar .sfd-cart-bar__button,.sfd-checkout-button .sfd-checkout-button__link,.sfd-cart-button:is(:link,:visited,:hover,:focus){text-decoration:none}.sfd-cart-bar__label{flex:1}@media (min-width:1025px){.sfd-cart-bar:not(.sfd-cart-bar--desktop):not(.is-editor-preview),.sfd-cart-bar:not(.sfd-cart-bar--desktop)+.sfd-cart-bar-space{display:none}}
.sfd-checkout-button__link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.5rem;border-radius:var(--sfd-radius-pill);background:var(--sfd-cta-bg,var(--sfd-accent));color:var(--sfd-cta-fg,var(--sfd-on-accent));text-decoration:none;font-weight:var(--wp--custom--sfd--strong,700);font-variant-numeric:var(--sfd-nums,tabular-nums)}
.sfd-checkout-button__link.is-blocked{--sfd-cta-bg:var(--sfd-surface-3);--sfd-cta-fg:var(--sfd-muted);cursor:not-allowed}.sfd-checkout-button__reason{margin:.5rem 0 0;color:var(--sfd-danger-ink)}.sfd-checkout-button__fix{display:flex;flex-wrap:wrap;gap:0 1rem;margin:0}
.sfd-checkout-button__action{color:var(--sfd-accent-ink);text-decoration:underline}.sfd-slot-picker__toggle{width:100%;text-align:start}.sfd-slot-picker__change{margin-inline-start:auto;color:var(--sfd-accent-ink);font-weight:var(--wp--custom--sfd--strong,700)}
.sfd-slot-picker__form,.sfd-slot-picker__when,.sfd-slot-picker--inline{display:grid;gap:.75rem}.sfd-slot-picker__kinds{display:flex;flex-wrap:wrap;gap:0 1.5rem;margin:0;padding:0;border:0}.sfd-slot-picker__kind{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}
.sfd-slot-picker__field{display:grid;gap:.25rem}.sfd-slot-picker__select{min-height:44px;width:100%;padding:0 .75rem;border:1px solid var(--sfd-line);border-radius:var(--sfd-radius-sm);background:var(--sfd-surface);color:inherit;font:inherit}
.sfd-conflict{max-width:var(--sfd-conflict-w,26rem)}.sfd-conflict__body{display:grid;gap:1rem;padding:1.5rem;text-align:center}.sfd-conflict__logos{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--sfd-muted)}
.sfd-conflict__logo img{display:block;width:3.5rem;height:3.5rem;border-radius:var(--sfd-radius-md);object-fit:cover}.sfd-conflict__title,.sfd-conflict__text{margin:0}.sfd-conflict__title{font-family:var(--sfd-font-display);font-size:var(--wp--preset--font-size--large,1.375rem)}
.sfd-conflict__actions{display:grid;gap:.5rem}.sfd-conflict__actions button{min-height:44px;border:1px solid var(--sfd-line);border-radius:var(--sfd-radius-pill);background:var(--sfd-surface);color:var(--sfd-ink);font:inherit;font-weight:var(--wp--custom--sfd--strong,700);cursor:pointer}
.sfd-conflict__actions .sfd-conflict__new{border-color:transparent;background:var(--sfd-accent);color:var(--sfd-on-accent)}.sfd-conflict__actions button:disabled{opacity:.6;cursor:progress}
.sfd-cart-button:focus-visible,.sfd-cart-bar__button:focus-visible,.sfd-checkout-button__link:focus-visible,.sfd-info:focus-visible,.sfd-checkout-button__action:focus-visible,.sfd-slot-picker__toggle:focus-visible,.sfd-slot-picker__select:focus-visible,.sfd-conflict__actions button:focus-visible,.sfd-cart-lines .sfd-field__edit:focus-visible{outline:2px solid transparent;box-shadow:var(--sfd-shadow-focus)}
@media (prefers-reduced-motion:reduce){.sfd-cart-bar,.sfd-cart-bar.is-empty{transition:opacity var(--sfd-dur-1) linear}.sfd-cart-bar.is-empty{transform:none;opacity:0}.sfd-cart-button__count.is-bumped,.sfd-cart-bar__count.is-bumped{animation:none}.sfd-fee-progress__bar>span{transition:none}}
