/* =============================================================
   DEC Catering Popup — dec-popup.css
   All styles scoped to #dec-ui
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

#dec-ui {
  --dec-yellow:#f7ba17;--dec-yellow-bright:#ffc72d;--dec-yellow-deep:#c08c00;
  --dec-ink:#130d00;--dec-ink-2:#1a1510;--dec-body-1:#261a00;--dec-body-2:#635e57;
  --dec-cream:#fff7ea;--dec-cream-light:#ffefd5;
  --dec-border-light:#e9e1d8;--dec-border-mid:#cdc5bd;--dec-border-brown:#88754f;
  --dec-error:#f04438;--dec-white:#ffffff;
  --dec-radius:16px;--dec-radius-lg:24px;--dec-pill:200px;
  --dec-font-heading:'Nunito',system-ui,sans-serif;
  --dec-font-body:'Plus Jakarta Sans',system-ui,sans-serif;
  font-family:var(--dec-font-body);
}

#dec-ui .dec-cart-overlay{position:fixed;inset:0;background:rgba(19,13,0,0.5);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:2147483640;}
#dec-ui .dec-cart-overlay.open{opacity:1;pointer-events:auto;}

#dec-ui .dec-cart-drawer{position:fixed;top:0;right:0;height:100vh;width:500px;max-width:100vw;background:var(--dec-white);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease;z-index:2147483641;box-shadow:-16px 0 48px rgba(19,13,0,0.18);}
#dec-ui .dec-cart-drawer.open{transform:translateX(0);}

#dec-ui .dec-cart-header{position:relative;padding:20px 16px;border-bottom:1px solid var(--dec-border-light);display:flex;flex-direction:column;align-items:center;gap:8px;}
#dec-ui .dec-cart-header-icon{position:relative;width:32px;height:32px;background:var(--dec-ink);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;}
#dec-ui .dec-cart-header-icon img{width:16px;height:16px;filter:invert(1);}
#dec-ui .dec-cart-badge{position:absolute;top:-4px;right:-6px;min-width:16px;height:17px;padding:0 4px;background:var(--dec-error);color:#fff;font:600 12px/1 var(--dec-font-body);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;}
#dec-ui .dec-cart-title{font:600 14px/20px var(--dec-font-body);color:var(--dec-body-1);margin:0;}
#dec-ui .dec-close-btn{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;background:transparent;cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:var(--dec-ink);}
#dec-ui .dec-close-btn:hover{background:var(--dec-cream);}
#dec-ui .dec-close-btn svg{width:20px;height:20px;}

#dec-ui .dec-cart-event-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--dec-cream-light);border-bottom:1px solid var(--dec-border-light);font:500 13px/18px var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui #dec-event-text{flex:1;min-width:0;}
#dec-ui .dec-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--dec-pill);font:700 10px/14px var(--dec-font-body);letter-spacing:.06em;text-transform:uppercase;}
#dec-ui .dec-chip-pickup{background:var(--dec-cream);color:var(--dec-ink);border:1px solid var(--dec-border-brown);}
#dec-ui .dec-chip-delivery{background:var(--dec-ink);color:var(--dec-yellow);}
#dec-ui .dec-event-edit-btn{background:var(--dec-ink);color:var(--dec-white);border:0;border-radius:var(--dec-pill);padding:6px 14px;font:600 12px/16px var(--dec-font-body);cursor:pointer;}
#dec-ui .dec-event-edit-btn:hover{background:#2a1d05;}

#dec-ui .dec-cart-items{flex:1 1 auto;overflow-y:auto;padding:0 16px;background:var(--dec-cream);}
#dec-ui .dec-cart-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;text-align:center;}
#dec-ui .dec-cart-empty h3{font:800 20px/1.2 var(--dec-font-heading);color:var(--dec-ink);}
#dec-ui .dec-cart-empty p{color:var(--dec-body-2);font-size:14px;}

#dec-ui .dec-cart-item{display:grid;grid-template-columns:60px 1fr auto;gap:16px;padding:20px 0;align-items:flex-start;border-bottom:1px solid var(--dec-border-light);}
#dec-ui .dec-cart-item-thumb{width:60px;height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
#dec-ui .dec-cart-item-thumb svg{width:100%;height:100%;display:block;}
#dec-ui .dec-cart-item-cat{display:inline-block;font:700 10px/14px var(--dec-font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--dec-body-2);margin-bottom:4px;}
#dec-ui .dec-cart-item-name{font:700 15px/20px var(--dec-font-body);color:var(--dec-ink);}
#dec-ui .dec-cart-item-meta{font:400 12px/18px var(--dec-font-body);color:var(--dec-body-2);margin-top:2px;}
#dec-ui .dec-cart-item-price{font:800 16px/24px var(--dec-font-heading);color:var(--dec-body-1);}
#dec-ui .dec-cart-item-config{margin-top:6px;font-size:12px;line-height:18px;color:var(--dec-body-2);}
#dec-ui .dec-cart-item-config strong{color:var(--dec-body-1);font-weight:700;}
#dec-ui .dec-cart-item-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px;}
#dec-ui .dec-cart-item-edit-btn{background:transparent;color:var(--dec-body-1);border:1px solid var(--dec-border-mid);border-radius:var(--dec-pill);padding:6px 14px;font:600 12px/16px var(--dec-font-body);cursor:pointer;}
#dec-ui .dec-cart-item-edit-btn:hover{background:var(--dec-cream-light);}
#dec-ui .dec-cart-item-remove-btn{background:transparent;border:0;cursor:pointer;color:var(--dec-error);font:600 12px/16px var(--dec-font-body);text-decoration:underline;}
#dec-ui .dec-cart-qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--dec-border-mid);border-radius:var(--dec-pill);overflow:hidden;}
#dec-ui .dec-cart-qty-stepper button{width:28px;height:28px;background:transparent;border:0;cursor:pointer;font:700 16px/1 var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui .dec-cart-qty-stepper button:hover{background:var(--dec-cream-light);}
#dec-ui .dec-cart-qty-stepper span{padding:0 12px;min-width:28px;text-align:center;font:600 14px/20px var(--dec-font-body);}
#dec-ui .dec-add-another{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 16px;margin-top:12px;background:transparent;border:1.5px dashed var(--dec-border-brown);border-radius:var(--dec-pill);font:600 13px/18px var(--dec-font-body);color:var(--dec-ink);cursor:pointer;transition:background .15s,border-color .15s;}
#dec-ui .dec-add-another:hover{background:var(--dec-cream-light);border-color:var(--dec-ink);}

#dec-ui .dec-cart-footer{padding:32px 16px 24px;background:var(--dec-white);border-top:1px solid var(--dec-border-light);}
#dec-ui .dec-cart-line{display:flex;justify-content:space-between;align-items:center;font:500 14px/20px var(--dec-font-body);color:var(--dec-body-1);padding:6px 0;}
#dec-ui .dec-cart-total{margin-top:8px;padding-top:14px;border-top:1px solid var(--dec-border-light);font:800 18px/26px var(--dec-font-heading);color:var(--dec-ink);}
#dec-ui .dec-delivery-mute{color:var(--dec-body-2);font-size:12px;font-weight:400;}
#dec-ui .dec-free-tag{display:inline-block;margin-left:6px;background:#2e7d32;color:#fff;font:700 10px/1 var(--dec-font-body);letter-spacing:.06em;padding:3px 7px;border-radius:999px;}
#dec-ui .dec-btn-checkout{width:100%;margin-top:14px;background:var(--dec-yellow);color:var(--dec-ink);padding:14px 24px;border:0;border-radius:var(--dec-pill);font:700 16px/24px var(--dec-font-body);cursor:pointer;transition:background .15s,opacity .15s;}
#dec-ui .dec-btn-checkout:hover{background:#f0b00a;}
#dec-ui .dec-btn-checkout:disabled{background:var(--dec-border-mid);color:var(--dec-body-2);cursor:not-allowed;opacity:0.7;}
#dec-ui .dec-cart-note{text-align:center;margin-top:10px;font:500 12px/18px var(--dec-font-body);color:var(--dec-body-2);}
#dec-ui .dec-cart-note strong{color:var(--dec-ink);font-weight:700;}

#dec-ui .dec-modal-overlay{position:fixed;inset:0;background:rgba(19,13,0,0.55);display:none;align-items:center;justify-content:center;z-index:2147483645;padding:24px;}
#dec-ui .dec-modal-overlay.open{display:flex;}
#dec-ui .dec-modal{background:var(--dec-white);width:100%;max-width:720px;max-height:92vh;border-radius:var(--dec-radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(19,13,0,0.32);}
#dec-ui .dec-modal-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--dec-cream-light);border-bottom:1px solid var(--dec-border-light);gap:16px;}
#dec-ui .dec-modal-header h2{font:800 20px/28px var(--dec-font-heading);color:var(--dec-ink);flex:1;min-width:0;}
#dec-ui .dec-modal-header .dec-close-btn{position:static;width:36px;height:36px;}
#dec-ui .dec-modal-body{flex:1 1 auto;overflow-y:auto;padding:24px 32px;}
#dec-ui .dec-modal-body h3{font:800 24px/30px var(--dec-font-heading);color:var(--dec-ink);margin-bottom:6px;}
#dec-ui .dec-lead{color:var(--dec-body-2);font-size:14px;line-height:20px;margin-bottom:12px;}
#dec-ui .dec-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;gap:16px;border-top:1px solid var(--dec-border-light);background:var(--dec-cream);}
#dec-ui .dec-total-summary{display:flex;flex-direction:column;line-height:1.1;}
#dec-ui .dec-total-summary span{font:800 22px/1 var(--dec-font-heading);color:var(--dec-ink);}
#dec-ui .dec-total-summary small{font-size:11px;color:var(--dec-body-2);margin-top:2px;}
#dec-ui .dec-btn-row{display:flex;gap:8px;}
#dec-ui .dec-btn-back,#dec-ui .dec-btn-next{border:0;padding:12px 22px;border-radius:var(--dec-pill);font:600 14px/20px var(--dec-font-body);cursor:pointer;transition:background .15s,opacity .15s;}
#dec-ui .dec-btn-back{background:transparent;color:var(--dec-body-1);border:1px solid var(--dec-border-mid);}
#dec-ui .dec-btn-back:hover{background:var(--dec-cream-light);}
#dec-ui .dec-btn-next{background:var(--dec-yellow);color:var(--dec-ink);}
#dec-ui .dec-btn-next:hover{background:#f0b00a;}
#dec-ui .dec-btn-next:disabled{background:var(--dec-border-mid);color:var(--dec-body-2);cursor:not-allowed;}

#dec-ui .dec-step-dots{display:flex;gap:8px;justify-content:center;padding:16px 24px 0;}
#dec-ui .dec-step-dot{width:10px;height:10px;border-radius:999px;background:var(--dec-border-light);transition:background .15s,transform .15s;}
#dec-ui .dec-step-dot.active{background:var(--dec-yellow);transform:scale(1.2);}
#dec-ui .dec-step-dot.done{background:#2e7d32;}

#dec-ui .dec-config-modal{max-width:680px;}
#dec-ui .dec-config-headcount{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 24px;background:var(--dec-cream-light);border-radius:16px;padding:16px 20px;}
#dec-ui .dec-config-headcount-label{display:flex;flex-direction:column;font:700 14px/20px var(--dec-font-body);color:var(--dec-ink);}
#dec-ui .dec-config-headcount-label small{font:400 12px/18px var(--dec-font-body);color:var(--dec-body-2);margin-top:2px;}
#dec-ui .dec-config-fixed-qty{flex-shrink:0;padding:10px 22px;border-radius:var(--dec-pill);background:var(--dec-ink);color:var(--dec-white);font:700 14px/20px var(--dec-font-body);white-space:nowrap;}
#dec-ui .dec-assign-stepper{display:inline-flex;align-items:center;background:var(--dec-white);border:1px solid var(--dec-border-mid);border-radius:var(--dec-pill);overflow:hidden;}
#dec-ui .dec-assign-stepper button{width:36px;height:36px;background:transparent;border:0;cursor:pointer;font:700 18px/1 var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui .dec-assign-stepper button:hover{background:var(--dec-cream-light);}
#dec-ui .dec-assign-stepper button:disabled{opacity:.35;cursor:not-allowed;}
#dec-ui .dec-assign-stepper span{padding:0 14px;min-width:32px;text-align:center;font:700 16px/1 var(--dec-font-body);color:var(--dec-ink);}

#dec-ui .dec-config-section{margin-bottom:28px;}
#dec-ui .dec-config-section-header{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;}
#dec-ui .dec-config-section-title{font:800 16px/1 var(--dec-font-heading);color:var(--dec-ink);}
#dec-ui .dec-config-section-meta{font:400 12px/18px var(--dec-font-body);color:var(--dec-body-2);}
#dec-ui .dec-config-progress{margin-left:auto;font:600 11px/16px var(--dec-font-body);color:var(--dec-body-2);letter-spacing:.04em;text-transform:uppercase;}
#dec-ui .dec-config-progress.complete{color:#2e7d32;}
#dec-ui .dec-config-section-help{font:400 13px/18px var(--dec-font-body);color:var(--dec-body-2);margin-bottom:10px;}
#dec-ui .dec-config-empty-state{padding:24px;text-align:center;border:1px dashed var(--dec-border-mid);border-radius:16px;color:var(--dec-body-2);font:500 13px/18px var(--dec-font-body);}
#dec-ui .dec-config-summary{background:var(--dec-cream-light);border-radius:16px;padding:16px 20px;margin-top:16px;font:500 13px/20px var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui .dec-config-summary strong{display:block;font:800 14px/1 var(--dec-font-heading);color:var(--dec-ink);margin-bottom:4px;}

#dec-ui .dec-fulfilment-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
#dec-ui .dec-fulfilment-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px 18px;cursor:pointer;background:var(--dec-white);border:2px solid var(--dec-border-light);border-radius:16px;transition:border-color .15s,background .15s,box-shadow .15s;}
#dec-ui .dec-fulfilment-btn:hover{border-color:var(--dec-border-brown);}
#dec-ui .dec-fulfilment-btn.active{border-color:var(--dec-yellow);background:var(--dec-cream-light);box-shadow:0 0 0 3px rgba(247,186,23,0.18);}
#dec-ui .dec-fulfilment-btn strong{font:700 14px/20px var(--dec-font-body);color:var(--dec-ink);}
#dec-ui .dec-fulfilment-btn small{font:400 12px/18px var(--dec-font-body);color:var(--dec-body-2);}
#dec-ui .dec-fulfilment-btn:disabled{opacity:.45;cursor:not-allowed;border-color:var(--dec-border-light) !important;background:var(--dec-white) !important;box-shadow:none !important;}
#dec-ui .dec-fulfilment-btn:disabled strong{color:var(--dec-body-2);}
#dec-ui .dec-fulfilment-btn:disabled small{color:var(--dec-error);font-weight:600;}

#dec-ui .dec-flavor-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
#dec-ui .dec-flavor-pick{display:flex;flex-direction:column;gap:8px;padding:14px;cursor:pointer;background:var(--dec-white);border:2px solid var(--dec-border-light);border-radius:12px;position:relative;transition:all .15s;text-align:left;}
#dec-ui .dec-flavor-pick:hover{border-color:var(--dec-border-brown);}
#dec-ui .dec-flavor-pick.selected{border-color:var(--dec-ink);background:var(--dec-cream-light);}
#dec-ui .dec-flavor-pick.selected::after{content:'';position:absolute;top:8px;right:8px;width:10px;height:10px;border-radius:999px;background:var(--dec-yellow);}
#dec-ui .dec-flavor-pick.disabled{opacity:.4;cursor:not-allowed;}
#dec-ui .dec-flavor-pick-header{display:flex;align-items:center;gap:10px;}
#dec-ui .dec-flavor-pick-thumb{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#dec-ui .dec-flavor-pick-thumb svg{width:100%;height:100%;display:block;}
#dec-ui .dec-flavor-pick-thumb--img{width:52px;height:52px;border-radius:8px;overflow:hidden;}
#dec-ui .dec-flavor-pick-img{width:100%;height:100%;object-fit:cover;display:block;}
#dec-ui .dec-flavor-pick-name{font:700 13px/18px var(--dec-font-body);color:var(--dec-body-1);text-align:left;}
#dec-ui .dec-flavor-pick-desc{font:400 12px/17px var(--dec-font-body);color:var(--dec-ink);opacity:.8;}
#dec-ui .dec-flavor-pick.selected .dec-flavor-pick-desc{opacity:1;}
#dec-ui .dec-flavor-pick-badge{display:inline-block;align-self:flex-start;background:var(--dec-yellow);color:var(--dec-ink);font:700 10px/14px var(--dec-font-body);letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-top:2px;}
#dec-ui .dec-flavor-pick.selected .dec-flavor-pick-badge{color:var(--dec-ink);}

#dec-ui .dec-side-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#dec-ui .dec-side-option{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:var(--dec-white);border:2px solid var(--dec-border-light);border-radius:14px;transition:all .15s;text-align:left;}
#dec-ui .dec-side-option:hover{border-color:var(--dec-border-brown);}
#dec-ui .dec-side-option.selected{border-color:var(--dec-ink);background:var(--dec-cream-light);}
#dec-ui .dec-side-option-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
#dec-ui .dec-side-option-icon svg{width:100%;height:100%;display:block;}
#dec-ui .dec-side-option-name{flex:1;font:600 13px/18px var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui .dec-side-option-price{flex-shrink:0;font:700 12px/18px var(--dec-font-body);color:var(--dec-body-2);}
#dec-ui .dec-side-option.selected .dec-side-option-price{color:var(--dec-ink);}
#dec-ui .dec-side-flavor{padding:0 14px 12px;}
#dec-ui .dec-side-included{cursor:default;background:var(--dec-cream-light);border-color:var(--dec-ink);}
#dec-ui .dec-side-included:hover{border-color:var(--dec-ink);}

#dec-ui .dec-optional-sides{display:flex;flex-direction:column;gap:10px;}
#dec-ui .dec-optional-side{border:2px solid var(--dec-border-light);border-radius:14px;overflow:hidden;transition:border-color .15s,background .15s;}
#dec-ui .dec-optional-side.selected{border-color:var(--dec-ink);background:var(--dec-cream-light);}
#dec-ui .dec-optional-side-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:transparent;border:0;cursor:pointer;text-align:left;}
#dec-ui .dec-optional-side-check{flex-shrink:0;width:24px;height:24px;border-radius:999px;border:2px solid var(--dec-border-mid);background:var(--dec-white);display:flex;justify-content:center;font:700 14px/18px var(--dec-font-body);color:var(--dec-body-2);transition:all .15s;}
#dec-ui .dec-optional-side.selected .dec-optional-side-check{background:var(--dec-ink);border-color:var(--dec-ink);color:var(--dec-yellow);}
#dec-ui .dec-optional-side-name{flex:1;font:600 13px/18px var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui .dec-optional-side-price{flex-shrink:0;font:700 12px/18px var(--dec-font-body);color:var(--dec-body-2);}
#dec-ui .dec-optional-side.selected .dec-optional-side-price{color:var(--dec-ink);}
#dec-ui .dec-optional-side-flavor{padding:0 14px 12px;}
#dec-ui .dec-optional-flavor-select{width:100%;font:400 14px/20px var(--dec-font-body);color:var(--dec-ink);padding:10px 12px;background:var(--dec-white);border:1px solid var(--dec-border-mid);border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s;cursor:pointer;}
#dec-ui .dec-optional-flavor-select:focus{border-color:var(--dec-yellow);box-shadow:0 0 0 3px rgba(247,186,23,0.18);}

#dec-ui .dec-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
#dec-ui .dec-field{display:flex;flex-direction:column;gap:6px;}
#dec-ui .dec-field-full{grid-column:1/-1;}
#dec-ui .dec-field label,#dec-ui .dec-field-label-upper{font:700 11px/16px var(--dec-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--dec-body-2);display:block;margin-bottom:8px;}
#dec-ui .dec-field input,#dec-ui .dec-field textarea{font:400 14px/20px var(--dec-font-body);color:var(--dec-ink);padding:12px 14px;background:var(--dec-cream-light);border:1px solid var(--dec-border-light);border-radius:12px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%;}
#dec-ui .dec-field input:focus,#dec-ui .dec-field textarea:focus{border-color:var(--dec-yellow);box-shadow:0 0 0 3px rgba(247,186,23,0.18);}
#dec-ui .dec-field textarea{min-height:100px;resize:vertical;}
#dec-ui .dec-field input::placeholder,#dec-ui .dec-field textarea::placeholder{color:var(--dec-body-2);}
#dec-ui .dec-field-help{font:400 12px/16px var(--dec-font-body);color:var(--dec-body-2);margin-top:6px;}

#dec-ui .dec-location-help{font:500 13px/18px var(--dec-font-body);color:var(--dec-body-2);margin:14px 0 10px;}
#dec-ui .dec-location-cards{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
#dec-ui .dec-location-card{display:flex;gap:12px;align-items:flex-start;padding:14px;cursor:pointer;background:var(--dec-white);border:2px solid var(--dec-border-light);border-radius:16px;transition:all .15s;text-align:left;width:100%;}
#dec-ui .dec-location-card:hover{border-color:var(--dec-border-brown);}
#dec-ui .dec-location-card.selected{border-color:var(--dec-ink);background:var(--dec-cream-light);}
#dec-ui .dec-location-card-info{flex:1;min-width:0;}
#dec-ui .dec-location-card-name{font:700 14px/20px var(--dec-font-body);color:var(--dec-ink);display:flex;align-items:center;gap:8px;}
#dec-ui .dec-location-card-badge{font:700 10px/14px var(--dec-font-body);color:#fff;background:#2e7d32;padding:2px 8px;border-radius:999px;}
#dec-ui .dec-location-card-address{font:500 12px/18px var(--dec-font-body);color:var(--dec-body-1);margin-top:2px;}
#dec-ui .dec-location-card-desc{font:400 12px/18px var(--dec-font-body);color:var(--dec-body-2);margin-top:2px;}

#dec-ui .dec-review-section{margin-bottom:20px;}
#dec-ui .dec-review-section h4{font:800 14px/1 var(--dec-font-heading);color:var(--dec-ink);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
#dec-ui .dec-review-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid var(--dec-border-light);font:500 13px/20px var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui .dec-review-line:last-child{border-bottom:0;}

#dec-ui .dec-dietary-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
#dec-ui .dec-dietary-chip{border:1px solid var(--dec-border-mid);background:var(--dec-white);padding:8px 14px;border-radius:999px;cursor:pointer;font:600 12px/18px var(--dec-font-body);color:var(--dec-body-1);transition:all .15s;}
#dec-ui .dec-dietary-chip:hover{background:var(--dec-cream-light);}
#dec-ui .dec-dietary-chip.active{background:var(--dec-ink);color:var(--dec-white);border-color:var(--dec-ink);}

#dec-ui .dec-confirm-summary{background:var(--dec-cream-light);border-radius:16px;padding:16px 20px;margin:20px 0;}
#dec-ui .dec-confirm-summary-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--dec-border-light);font:500 13px/20px var(--dec-font-body);color:var(--dec-body-1);}
#dec-ui .dec-confirm-summary-row:last-child{border-bottom:0;}
#dec-ui .dec-confirm-total{margin-top:8px;font:800 16px/24px var(--dec-font-heading);}
#dec-ui .dec-confirm-note{font:400 12px/18px var(--dec-font-body);color:var(--dec-body-2);padding:12px 16px;background:var(--dec-cream-light);border-radius:12px;margin-top:16px;}

#dec-ui .dec-confirm-screen{text-align:center;padding:12px 0 40px;}
#dec-ui .dec-confirm-icon{font-size:56px;margin-bottom:12px;}
#dec-ui .dec-confirm-screen h3{font:800 28px/1.1 var(--dec-font-heading);color:var(--dec-ink);margin-bottom:8px;}
#dec-ui .dec-confirm-screen p{color:var(--dec-body-2);font-size:14px;line-height:22px;margin-bottom:6px;}
#dec-ui .dec-order-id{display:inline-block;margin-top:24px;background:var(--dec-cream-light);color:var(--dec-ink);font:800 18px/1 var(--dec-font-heading);letter-spacing:.08em;padding:12px 24px;border-radius:14px;border:1px dashed var(--dec-border-brown);}
#dec-ui .dec-confirm-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px;}
#dec-ui .dec-btn-pay{display:inline-flex;align-items:center;background:var(--dec-yellow);color:var(--dec-ink);padding:14px 28px;border-radius:var(--dec-pill);font:700 14px/20px var(--dec-font-body);text-decoration:none;cursor:pointer;transition:background .15s;}
#dec-ui .dec-btn-pay:hover{background:#f0b00a;}
#dec-ui .dec-btn-done{background:transparent;color:var(--dec-body-2);border:1px solid var(--dec-border-mid);border-radius:var(--dec-pill);padding:14px 28px;cursor:pointer;font:600 14px/20px var(--dec-font-body);transition:background .15s;}
#dec-ui .dec-btn-done:hover{background:var(--dec-cream-light);}

#dec-ui .dec-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(40px);background:var(--dec-ink);color:var(--dec-yellow);padding:12px 24px;border-radius:var(--dec-pill);font:600 14px/20px var(--dec-font-body);box-shadow:0 12px 32px rgba(19,13,0,0.32);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s;z-index:2147483647;}
#dec-ui .dec-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.dec-order-btn.dec-added{background:#2e7d32 !important;color:#fff !important;}

/* ── Date Picker ─────────────────────────────────────────── */
#dec-ui .dec-datepicker{position:relative;}
#dec-ui .dec-dp-input{display:flex;align-items:center;gap:10px;background:var(--dec-cream);border:1.5px solid var(--dec-border-mid);border-radius:12px;padding:13px 16px;cursor:pointer;font:500 15px/20px var(--dec-font-body);color:var(--dec-body-1);transition:border-color .15s;}
#dec-ui .dec-dp-input:hover,#dec-ui .dec-dp-input:focus-within{border-color:var(--dec-yellow);}
#dec-ui .dec-dp-input svg{flex-shrink:0;stroke:var(--dec-body-2);}
#dec-ui #dec-date-disp{letter-spacing:0.04em;}
#dec-ui #dec-date-disp.dec-date-filled{color:var(--dec-ink);font:600 15px/20px var(--dec-font-body);}
#dec-ui #dec-date-disp.dec-date-ph{color:var(--dec-body-2);font:400 14px/20px var(--dec-font-body);opacity:0.54;}

/* Calendar dropdown */
#dec-ui .dec-cal{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1.5px solid var(--dec-border-light);border-radius:16px;box-shadow:0 12px 40px rgba(19,13,0,0.14);z-index:10;padding:16px;user-select:none;}
#dec-ui .dec-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
#dec-ui .dec-cal-head strong{font:700 15px/20px var(--dec-font-heading);color:var(--dec-ink);}
#dec-ui .dec-cal-nav{background:none;border:1.5px solid var(--dec-border-mid);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:14px;color:var(--dec-ink);display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s;}
#dec-ui .dec-cal-nav:hover{background:var(--dec-cream);border-color:var(--dec-yellow);}
#dec-ui .dec-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px;}
#dec-ui .dec-cal-weekdays span{text-align:center;font:700 11px/24px var(--dec-font-body);color:var(--dec-body-2);text-transform:uppercase;letter-spacing:0.04em;}
#dec-ui .dec-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
#dec-ui .dc-empty{height:36px;}
#dec-ui .dc-day{height:36px;border-radius:8px;border:none;background:none;cursor:pointer;font:500 13px/1 var(--dec-font-body);color:var(--dec-ink);transition:background .12s,color .12s;}
#dec-ui .dc-day:hover:not(.dc-dis):not(.dc-sel){background:var(--dec-cream-light);}
#dec-ui .dc-today{font-weight:800;box-shadow:inset 0 0 0 1.5px var(--dec-yellow);}
#dec-ui .dc-sel{background:var(--dec-yellow) !important;color:var(--dec-ink) !important;font-weight:800;}
#dec-ui .dc-dis{color:var(--dec-border-mid);cursor:default;text-decoration:line-through;}

/* Floating catering cart trigger */
#dec-ui .dec-float-trigger{position:fixed;bottom:28px;right:28px;display:flex;align-items:center;gap:8px;background:var(--dec-ink);color:var(--dec-yellow);border:none;border-radius:var(--dec-pill);padding:12px 18px;cursor:pointer;font:700 13px/1 var(--dec-font-body);box-shadow:0 6px 24px rgba(19,13,0,0.28);z-index:2147483638;transition:transform .15s,box-shadow .15s;opacity:0.85;}
#dec-ui .dec-float-trigger:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(19,13,0,0.36);opacity:1;}
#dec-ui .dec-float-trigger svg{width:18px;height:18px;stroke:var(--dec-yellow);}
#dec-ui .dec-float-count{background:var(--dec-yellow);color:var(--dec-ink);border-radius:999px;min-width:18px;height:18px;padding:0 4px;font:700 11px/18px var(--dec-font-body);text-align:center;display:none;}
#dec-ui .dec-float-trigger.dec-float-has-items .dec-float-count{display:inline-flex;align-items:center;justify-content:center;}
#dec-ui .dec-float-label{font:700 12px/1 var(--dec-font-body);letter-spacing:0.02em;}

/* Store cart link inside DEC drawer */
#dec-ui .dec-store-cart-link{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:8px;color:var(--dec-body-2);font:500 12px/16px var(--dec-font-body);text-decoration:none;border-radius:8px;transition:background .15s,color .15s;}
#dec-ui .dec-store-cart-link:hover{background:var(--dec-cream-light);color:var(--dec-ink);}
#dec-ui .dec-store-cart-link svg{opacity:0.6;flex-shrink:0;}

/* Header cart icon shortcode */
.dec-header-cart-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px 8px;color:inherit;font:inherit;}
.dec-header-cart-btn:hover{opacity:0.8;}
.dec-header-cart-icon{position:relative;display:inline-flex;}
.dec-header-cart-count{position:absolute;top:-6px;right:-8px;background:#f7ba17;color:#130d00;border-radius:999px;min-width:16px;height:16px;padding:0 3px;font:700 10px/16px sans-serif;text-align:center;display:none;}
.dec-header-cart-label{font-size:13px;font-weight:600;}


@media(max-width:640px){
  #dec-ui .dec-flavor-picker{grid-template-columns:repeat(2,1fr);}
  #dec-ui .dec-field-grid{grid-template-columns:1fr;}
  #dec-ui .dec-fulfilment-toggle{grid-template-columns:1fr;}
  #dec-ui .dec-modal-body{padding:20px;}
  #dec-ui .dec-modal-header{padding:16px 20px;}
  #dec-ui .dec-modal-footer{padding:14px 16px;flex-wrap:wrap;}
}
@media(max-width:540px){
  #dec-ui .dec-cart-drawer{width:100vw;}
}
